PDA

Просмотр полной версии : Переменная



jus
05.03.2015, 16:02
Доброго времени суток. Подскажите, пожалуйста, возможно ли в переменной отображать кой-либо текст вместо числа? Спасибо.

_Mikhail
05.03.2015, 16:30
Доброго времени суток. Подскажите, пожалуйста, возможно ли в переменной отображать кой-либо текст вместо числа? Спасибо.

Какая переменная интересует?
Текстовые переменные имеют тип STRING

jus
05.03.2015, 16:41
В переменной при значении=1, Вместо 1 нужен текст. Переменная имеет тип INT.

_Mikhail
05.03.2015, 16:42
В переменной при значении=1, Вместо 1 нужен текст. Переменная имеет тип INT.

Выбирайте динамический текст и описывайте какой текст Вам нужен при каждом значении переменной

jus
05.03.2015, 16:44
Спасибо. Буду пробовать.

jus
05.03.2015, 18:06
Не разобрался. Можно пример посмотреть ?

petera
05.03.2015, 18:45
Не разобрался. Можно пример посмотреть ?
Какие вопросы, такие и ответы:rolleyes:
Что за переменная, и зачем и для чего нужен текст?

В переменной при значении=1, Вместо 1 нужен текст. Переменная имеет тип INT
А при значении =0, текст не нужен? А при значении 100 или 32768?

jus
05.03.2015, 18:56
Сканер считывает штрих код для определения какая продукция на конвейере. На выходе a1 вместо числа нужно название.

Smith2007
05.03.2015, 19:03
Можно использовать двухмерный массив. В одном поле шитрихкод, во втором текст.

petera
05.03.2015, 19:04
Скорей всего значения для а1 не будут из ряда простых числел (1,2,3,4, и т.д), а то можно было объявить массив типа STRING из названий и выбирать элемент из массива по значению(индексу) а1.
В Вашем случае придется делать через CASE.
А типов штрих кодов много или в разумных пределах?

jus
05.03.2015, 19:08
Типов 24 штуки.

petera
05.03.2015, 19:14
А зачем поиск подстроки в штрих коде делаете?

jus
05.03.2015, 19:18
Эти четыре четыре знака означают название продукта, остальные меня не интересуют.

petera
05.03.2015, 19:25
Эти четыре четыре знака означают название продукта, остальные меня не интересуют.
Так ведь функция FIND возвращает позицию в исходной строке, с которой начинается подстрока. Что-то я не понимаю смысла в такой обработке штрихкода

jus
05.03.2015, 19:33
А как ещё узнать что в настоящий момент выпускают на конвейере?

Smith2007
05.03.2015, 19:34
Эти четыре четыре знака означают название продукта, остальные меня не интересуют.
Так зачем тогда не нужные цифры сохранять в массиве?
Сканером считали штрих-код, обрезали сразу все лишнее и ищем в массиве.

jus
05.03.2015, 19:38
Всё равно каким образом определится штрих код(у меня сейчас так работает), только визуализация в скаде громозкая, вот и хочется чтобы название появлялось.

Smith2007
05.03.2015, 20:13
Не проще в самой складе массив соответствия создать вместо того, чтобы контроллер грузить не нужной работой?

petera
05.03.2015, 20:26
Всё равно каким образом определится штрих код(у меня сейчас так работает), только визуализация в скаде громозкая, вот и хочется чтобы название появлялось.
Ну как же все равно, каким способом? Вот у Вас
16990
Получается, что Вы завели себе 24 переменные а1, а2,..а24. Все они могут быть или 0 или 1, потому, как я полагаю, код продукта находится в самом начале штрих кода.
Затем Вы еще и 24 битовые переменные b1, b2,..b24 завели, которые получаются из а1, а2,..а24 (INT_TO_BOOL, тоже 24 шт).
Когда можно было взять только первые четыре символа и обойтись вообще без промежуточных переменных а и b
16991

ЗЫ. Ну а если совсем не хотите переделывать, то так
16993

jus
05.03.2015, 22:00
Спасибо, завтра попробую и отпишусь. У нас разница во времени 3 часа.

petera
05.03.2015, 23:10
Спасибо, завтра попробую и отпишусь. У нас разница во времени 3 часа.
Только для исключения ситуации когда штрих код содержит код продукта не определенный в программе, нужно в начало этого кода добавить маленький фрагмент
16994
Обратите внимание на то, что номер у добавленных блоков должен быть обязательно меньше, чем у остальных.

jus
06.03.2015, 08:51
Только для исключения ситуации когда штрих код содержит код продукта не определенный в программе, нужно в начало этого кода добавить маленький фрагмент
16994
Обратите внимание на то, что номер у добавленных блоков должен быть обязательно меньше, чем у остальных.

Спасибо. Переделал по Вашему примеру, это -то, что нужно.

jus
29.03.2015, 07:58
Ну как же все равно, каким способом? Вот у Вас
16990
Получается, что Вы завели себе 24 переменные а1, а2,..а24. Все они могут быть или 0 или 1, потому, как я полагаю, код продукта находится в самом начале штрих кода.
Затем Вы еще и 24 битовые переменные b1, b2,..b24 завели, которые получаются из а1, а2,..а24 (INT_TO_BOOL, тоже 24 шт).
Когда можно было взять только первые четыре символа и обойтись вообще без промежуточных переменных а и b
16991

ЗЫ. Ну а если совсем не хотите переделывать, то так
16993

Возникла проблема. Когда b1-TRUE появляется название, но когда b1-FALSE, а b2-TRUE название 1остаётся и получается два названия и т.д.

petera
29.03.2015, 09:04
Возникла проблема. Когда b1-TRUE появляется название, но когда b1-FALSE, а b2-TRUE название 1остаётся и получается два названия и т.д.
А где Ваш код? b1 и b2 как получаются и что они делают.

jus
29.03.2015, 09:18
А где Ваш код? b1 и b2 как получаются и что они делают.

Во вложении

petera
29.03.2015, 09:56
Возникла проблема. Когда b1-TRUE появляется название, но когда b1-FALSE, а b2-TRUE название 1остаётся и получается два названия и т.д.
17410
Все работает так как и должно, ведь Вы зачем-то используете семь отдельных переменных N..N6, а нужно везде на выходах MOVE использовать одну и ту же, например N

petera
29.03.2015, 10:03
Куча не нужных триггеров (k1..k7), OR (q1..q7) и переменные b1..b7 в принципе не нужны.

jus
29.03.2015, 10:09
17410
Все работает так как и должно, ведь Вы зачем-то используете семь отдельных переменных N..N6, а нужно везде на выходах MOVE использовать одну и ту же, например N

Спасибо, исправлю.

petera
29.03.2015, 10:19
Спасибо, исправлю.
А остальное "Куча не нужных триггеров (k1..k7), OR (q1..q7) и переменные b1..b7 в принципе не нужны.":confused:
Триггеры не нужны, потому, что несколько MOVE с EN и одной и той же переменной на выходе, сами будут выполнять Ваш фрагмент OR+триггеры.

ЗЫ.
Было
17411
Стало
17412

jus
29.03.2015, 11:04
А остальное "Куча не нужных триггеров (k1..k7), OR (q1..q7) и переменные b1..b7 в принципе не нужны.":confused:
Триггеры не нужны, потому, что несколько MOVE с EN и одной и той же переменной на выходе, сами будут выполнять Ваш фрагмент OR+триггеры.

ЗЫ.
Было
17411
Стало
17412

Триггеры вставил потому, что в строке сканера иногда переставляются цифры.

petera
29.03.2015, 19:21
Триггеры вставил потому, что в строке сканера иногда переставляются цифры.
И чем могут помочь "Куча не нужных триггеров (k1..k7), OR (q1..q7) и переменные b1..b7" в этом случае?
Фрагменты на картинке "Было" работают один в один как и на картинке "Стало".

jus
30.03.2015, 16:54
И чем могут помочь "Куча не нужных триггеров (k1..k7), OR (q1..q7) и переменные b1..b7" в этом случае?
Фрагменты на картинке "Было" работают один в один как и на картинке "Стало".

"Куча не нужных триггеров" фиксируют название до появления другого штрих кода, т.к. лента с этикетками движется довольно быстро и цифры со сканера переставляются и название периодически пропадает, что и отражается в отчёте.