Добавить в корзинуПозвонить
Найти в Дзене

Памятка по овенлоджику и прочее.

Буду сюда скидывать разные заметки по овенлоджику типа такой "Про сброс" или про "сетевые переменные". Когда редко программируешь, некоторые вещи забываются, чтоб было где подсмотреть, сделаю напоминаловку здесь. Иногда имеет смысл знать, подчиненное устройство видит контроллер, или нет (особенно когда на него повесили например термостат угрозы заморозки). В справке овенлоджика нет информации о том, какое значение будет иметь переменная A5_state, при наличии связи и при отсутствии. Выяснено: A5_state = TRUE - связь есть, A5_state = FALSE -связи нет. Открылось еще интересное свойство при работе с MУ (модуль аналоговых выходов). Например у вас в программе все выхода в значении 0 (или долго не было изменений значений выходов, и до этого хоть один коннект был. По всей видимости ПР200 не считает нужным ничего писать в регистры, и соответственно не видит потерю связи со слейвом (A5-state в нашем случае). Флаг состояния RS485 не поменяется при потере (при этом можно выдернуть коннектор, и
Оглавление

Буду сюда скидывать разные заметки по овенлоджику типа такой "Про сброс" или про "сетевые переменные".

Про статус сетевого устройства.

Когда редко программируешь, некоторые вещи забываются, чтоб было где подсмотреть, сделаю напоминаловку здесь.

Иногда имеет смысл знать, подчиненное устройство видит контроллер, или нет (особенно когда на него повесили например термостат угрозы заморозки).

В справке овенлоджика нет информации о том, какое значение будет иметь переменная A5_state, при наличии связи и при отсутствии. Выяснено:

A5_state = TRUE - связь есть, A5_state = FALSE -связи нет.

Открылось еще интересное свойство при работе с MУ (модуль аналоговых выходов). Например у вас в программе все выхода в значении 0 (или долго не было изменений значений выходов, и до этого хоть один коннект был. По всей видимости ПР200 не считает нужным ничего писать в регистры, и соответственно не видит потерю связи со слейвом (A5-state в нашем случае). Флаг состояния RS485 не поменяется при потере (при этом можно выдернуть коннектор, и все будет по прежнему). ПР200 увидит потерю в момент записи, если хоть один из регистров поменяется. У меня был неиспользуемый выход, и я просто повесил на него значения секунд, контроль связи заработал. Возможно это можно еще победить, если ввести переменную для опроса и ей дергать периодически - не пробовал. Еще можно попробовать читать что-нибудь из него.

Интересный нюанс. (если ПР200 слэйв)

Очень давно делал проект. для ИПП120(мастер) и ПР200(слэйв).

Старые контроллеры нормально работают. Решили расширить производство, купили и прошили новый комплект. Связь нормально не работает. Обратились в тех поддержку. Вот их ответ.

-2

Определение наличия связи со слейвом в CODESYS ПЛК200-МВ210.

modbus tcpip

Среди файлов на сайте овен есть описание, как это осуществить. Пришлось на месте разбираться для TCP. Овен вроде как предлагает использовать флаг xERROR сетевого компонента. (Это похоже вариант для последовательного порта).

Отсутствие связи.
Отсутствие связи.

На картинке как раз представлен случай, когда нет связи с устройством слэйв. xERROR по прежнему false. Но есть другой компонент ComState. Имя не отобразилось полностью - синий прямоугольник. Судя по названию статус связи. Выяснил, что когда связь есть, он принимает значение 2.

Наличие связи.
Наличие связи.

Такая конструкция заработала.

-5

Для последовательного порта я использовал флаг "xInitDone".

В отличие от "xError", он не моргает. Если связь пропала, исчезает стабильно.