PDA

Просмотр полной версии : плк154 значения переменных



o_nik
30.04.2009, 11:16
Вопрос такой.
В основной программе объявлена переменная типа BOOL, при объявлении устанавливается в TRUE.


myvar : BOOL := TRUE;

В коде имеется конструкция типа:


IF myvar THEN
myvar := FALSE;
END_IF

Т.е. только на первом цикле эта переменная TRUE.
После некоторого времени работы ПЛК нажимаем reset, и после перезагрузки переменная равна FALSE (судя по по всему, на первом цикле, т.к. не отрабатывает блок программы привязанный к ней, как к флагу "первого цикла при запуске ПЛК"). Так и должно быть?

Как можно отловить первый цикл после reset (аппаратно с ПЛК), посмотреть состояние переменных на первом цикле?

Филоненко Владислав
30.04.2009, 16:31
Всё правильно. При старте переменная=1, при первом же проходе
IF myvar THEN
myvar := FALSE;
END_IF
она обнуляется.
Соответственно вызов кода инициализации надо помещать внутрь этого IF-а
И ещё есть системное событие START

o_nik
04.05.2009, 17:23
Так и было сделано, проблема была в том, что в программе по какой-то причине не успевал провериться этот флаг и вперед него совершалось событие, которого надо было избежать.
А суть в том, что программа управляет пятью ПКП1 и при включении ПЛК надо проверить, если есть открытые задвижки, то их не закрывать, а закрытые помечаются в программе как "выведенные из эксплуатации".
Так вот задвижки почему-то закрывались игнорируя этот флаг. Поставил при старте ожидание пару секунд - заработало нормально.
Не знаю с чем это может быть связано (возможно конечно ошибка в программе, но вроде все проверял), может это как-то связано с протоколом ОВЕН при опросе ПКП (например ПКП еще не успели опроситься при старте и показывают по 0)?

И еще сразу пара вопросов по теме:

Можно как-то настроить опрос приборов только в нужные моменты времени, например, в начале цикла программы или еще как-то?

Несколько месяцев назад я писал про ошибку при работе ПЛК с ПКП http://www.owen.ru/forum/showthread.php?t=2929, какие есть продвижения в данном направлении?

Филоненко Владислав
04.05.2009, 19:43
естественно, что пкп могут ещё не успеть опроситься, это процесс не мгновенный. задержка до опроса всех пкп (а не на 2 сек) поможет.
проконтролировать можно анализируя коды мастера овен.

что с большими буквами? у вас тоже исчезают?

magirus
04.05.2009, 19:46
по моему да...
проверил, пропадают,,,

o_nik
05.05.2009, 04:39
Сейчас исчезают (после предпросмотра), видимо strtolower() кто-то включил :)