Есть какие-то трудности сделать булевый массив?n1,n2,n3,n4,: BOOOL;
Это так задумано?FOR i := 1 TO 4 DO
IF DAT[it] <>0 THEN
Есть какие-то трудности сделать булевый массив?n1,n2,n3,n4,: BOOOL;
Это так задумано?FOR i := 1 TO 4 DO
IF DAT[it] <>0 THEN
Извините опечатка.
Вопрос то в том можно переменные n1, n2, n3, n4 выводить в зависимости от значения счетчика i ? Чтоб после перебора массива присвоить значение нужной переменной, если они например другого типа.
В php например такое возможно. вот мне интересно а в codesys так можно?
Про булевый массив я имел ввиду следующее:
DAT: ARRAY [1..8] OF INT;
N: ARRAY [1..4] OF BOOL;
i:INT;
----------------
FOR i := 1 TO 4 DO
IF DAT[i] <>0 THEN
N[i]:=TRUE;
ELSE N[i]:=false; (*Обнуление делать либо здесь, либо в другом месте программы, но делать обязательно. Иначе N будет в TRUE всегда после первого срабатывания условия до перезагрузки ПЛК*)
END_IF;
Мож человеку и нужен триггер ?Хотя может и нужен несбрасываемый. У меня только в одном проекте была необходимость в несбрасываемом триггере.делать либо здесь, либо в другом месте программы, но делать обязательно.
Здравствуйте!
Проблема как у ZETs я опрашиваю модуль и заношу все данные в строку. Из строки данные выбираю структурой. Один тип данных REAL показывает погоду (ерунду).
Пробовал описанными способами выше и на форуме ранее найденными способами.
https://owen.ru/forum/archive/index.php/t-17912.html
https://owen.ru/forum/showthread.php...028#post138028
При этом температура целых чисел показывает нормально.
Если опрашивать модуль "Real input module" то показания тоже нормальные.
Короче я врезал дубаря. Прошу помощи. Если не сложно разъясните, может я что то не так делаю.
Тута (String input/output) есть проблема
Вложение 49379
Дело в том, что при использовании String input модулей для группового чтения регистров есть магическая цифра 80!
К сожалению, тема форума, где подробно обсуждалось использование String для группового чтения регистров, по непонятной причине была "прибита" модераторами.
Так вот, оказывается, если в конфигурации всего ОДИН модуль String input, то количество байт в нем можно использовать до 249.
Но если в конфигурации есть еще модули String input, как у Вас, то в действие вступает правило - не более 80 байт(40 регистров) в не последнем String
На практике оказалось, что не зависимо от того, сколько указано в Amounth byte первого стринг с физическим адресом %QB6.1.0, физический адрес начала следующего стринга %QB6.2.0 отстоит от начала первого РОВНО на 80 байт.
В следствие этого последние, в вашем случае 14 байт, первого стринга перекрываются первыми 14 байтами второго стринга
Т.е. первые 14 байт второго стринга ПОСТОЯННО перезаписывают последние 14 байт первого стринга! А там для восьмого канала тип данных REAL показывает погоду
Ну и "хвост" второго стринга с адресом %QB6.2.0 переписывается последующим стрингом с адресом %QB6.3.0
и т.д.
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
to Shade876
Вопрос - почему у Вас в стрингах 94 байт?
Если
TYPE STRUCT_MVA :
STRUCT
pol_tocka :INT; (* регистр 0 *)
ZAMERs :WORD; (* регистр 1 *)
ERR :INT; (* регистр 2 *)
chicl :INT; (* регистр 3 *)
ZAMER :REAL; (* регистр 4-5 *)
END_STRUCT
END_TYPE
т.е. один канал 6 регистров или 12 байт
значит 8 каналов = 12*8= 96 байт
А у Вас - 94?
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
Всем спасибо.
Про string input я чесно сказать не знал.
Сделаю отдельными запросами.
А то пришлось 10 раз код писать / удалять. ((((
Проблема 80 для String обсуждалась где-то в 15 году.
Вот ссылки на прибитые темы, где подробно обсуждался эти вопросы https://owen.ru/forum/showthread.php...l=1#post278924
Вот что осталось по использованию String
https://owen.ru/forum/showthread.php...l=1#post185176
https://owen.ru/forum/showthread.php...l=1#post244022
https://owen.ru/forum/showthread.php...l=1#post333593
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg