Добрый вечер. Первый проект на ОВЕНЕ за 10 лет. Не могу понять в режиме эмуляции фильтр DIG_FLTR работает? Просто, как бы не играл с настройками, он выдает всегда на выходе 0.
Программа пишется под плк110[m2], таргет последний.
Добрый вечер. Первый проект на ОВЕНЕ за 10 лет. Не могу понять в режиме эмуляции фильтр DIG_FLTR работает? Просто, как бы не играл с настройками, он выдает всегда на выходе 0.
Программа пишется под плк110[m2], таргет последний.
Последний раз редактировалось W1nn1ep00h; 20.10.2021 в 23:43.
Добрый день, прошу помощи простой код на CFC но не могу понять почему не отрабатывает так как нужно:Снимок.PNG
ОК-bool
ID-word
Id1-word
логика такая: Если ОК- TRUE сравниваем значение ID и ID1 если они равны. то сбрасываем ОК и присваиваем ID1=0, и все второй блок уже не должен обрабатываться т.к. OK-false. Но у меня выходит по другому, всегда значение ID присваивается ID1, почему если OK уходит в false ? Пробовал в режиме отладки проходить по точкам все идет ок, но после 10 шага ID1 присваивается значение ID, всю голову уже сломал почему так.
Наверное все дело, в шестом элементе, если уж сравнивать то через EQ
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
6 элемент нужен чтобы сравнить совпадают значения или нет, если нет то выдать true, но он вроде как и не отрабатывает так как сброшеный ОК в первом блоке, во втором уже не взводится, но значение в 9 блоке все равно присваивается, хотя EN не активно.
Тут как раз и ошибка, Элемент NE с EN работает не так как вам надо, выход его не сбрасывается после сброса ОК. Также и выход EQ не сбрасывается. Поэтому из этих элементов EN/ENO, можно смело выкинуть, и просто менять значение ID.
Переходите на ST, там всё проще))Код:IF OK AND ID1=ID THEN OK:=FALSE; ID1:=0; ELSIF OK AND ID1<>ID THEN OK:=FALSE; ID1:=ID; END_IF
Последний раз редактировалось kondor3000; 21.10.2021 в 10:39.
В вашем случае EN/ENO надо выкинуть, а вставить блок AND, и тогда всё ОК Блок AND.jpg
Для работы блока сравнения с EN, надо их использовать парами, тогда работает. Два GT или два GE например. И то не совсем правильно)
Последний раз редактировалось kondor3000; 21.10.2021 в 11:38.
до такого варианта я не до думался) еще раз спасибо.
W1nn1ep00h насколько помню, данная библиотека всего лишь оболочка встроенной в ПЛК, должна работать только при связи с ПЛК и в эмуляции не работает.
Это вы ведь про ту, которая должна выдавать коды ошибок аналоговых датчиков ?