Добрый день, уважаемые форумчане.
Я так понимаю, что никто из прочитавших вопрос не сталкивался с подобной задачей.
Поясню еще раз на примере.
Прикрепляю следующие файлы:
1. TestReadWrite.projectarchive - архив проекта панели СПК207.
2. TestReadWrite.pro - проект CoDeSys для контроллера ПЛК110-30 М02.
3. 2 рисунка.
Проекты для СПК 207 и ПЛК110 соответсвуют друг другу. В проекте контроллера настроена область Modbus(slave) с одним 0-м регистром.
В проекте СПК207 создан ФБ fbValue, код которого очень прост:
Данный код позволяет отследить изменение входной переменной и записать ее в поле Value, если же измениться поле Value, то мы его передаем на выход для записи в ПЛК.Код:FUNCTION_BLOCK PUBLIC fbValue VAR_INPUT InValue : INT; END_VAR VAR_OUTPUT OutValue : INT; END_VAR VAR Value : INT; InValueOld : INT; ValueOld : INT; END_VAR IF InValue <> InValueOld THEN Value := InValue; END_IF IF Value <> ValueOld THEN OutValue := Value; END_IF InValueOld := InValue; ValueOld := Value;
Использовать данный механизм необходимо следующим образом (см. проект СПК):
1. Создаем в области Modbus(Master) переменную чтения. Например, rdValue.
2. Создаем в области Modbus(Master) переменную записи. Например, wrValue.
3. Создаем экземпляр ФБ fbValue. Например, если у нас имеется настройка максимальной температуры, то мы можем дать имя dbMaxTemperature.
4. Вызываем в PLC_PRG блок dbMaxTemperature, передавая на вход и выход переменные rdValue и wrValue.
5. Теперь поле dbMaxTemperature.Value содержит актуальное значение температуры. К данному полу привязываем текстовое поле на экране СПК207.
Теперь при изменении значения в контроллере с АРМа оператора (в нашем случае мы моделируем такое изменение с помощью CoDeSys), на экране СПК207 мы увидим изменение нашей переменной (см. прикрепленные рисунки). Если мы введем новое значение с СПК207, оно также будет передано в ПЛК, а затем и в АРМ.
Данный механизм работает. Вопрос в том, что для описания всего одной переменной нужно проделать много действий. Нет ли какого-либо стандартного механизма?




Ответить с цитированием