Добрый день.
Возникла проблема при записи уставки температуры в прибор ТРМ138 от ОВЕН из MasterSCADA.
Запись производится с двух мест - MasterSCADA и сенсорная панель Weintek по Modbus TCP. Соединены через шлюз Modbus RTU - Modbus TCP.
Согласно документации к данному прибору ТРМ138, уставка пишется в один регистр, считывается с другого.
Настроил Modbus Universal OPC Server, в разделе "Дополнительно", в свойстве "Адрес отдельного регистра записи" указал нужный адрес.
Поочередная запись из OPC сервера и панели Weintek происходит корректно. Никто не переписывает друг друга, обновление переменной происходит правильно.
Когда происходит запись из MasterSCADA, панель считывает изменения переменной, но записать уже не может.
Ввод значения в MasterSCADA настроил следующим образом: Поместил в дерево объектов "Команду", перетащил на нее связь от переменной в OPC сервере, вытащил команду на мнемосхему правой кнопкой и выбрал "Редактируемое значение". В дереве объектов у команды включил обратную связь с той же переменной в OPC сервере.
Как правильно делать ввод значений, когда в OPC сервере настроено считывание с одного регистра, запись в другой?
OPC Setpoint 1 для ТРМ138.PNG
Что значит "записать уже не может"? Запись не проходит? Или же запись проходит, но вы этого в скаде не видите?
Если хотите чтобы команда не только позволяла вводить данные, но и отображать их, то перетащите в поле "Обратная связь" ОРС переменную или выход ФБ "Повторитель".
Спасибо.
Панелька пишет данные, отображает у себя. При просмотре в OPC сервере на АРМ или в скаде данные старые.
Когда скада выключена все нормально работает. Запись происходит и с панели и с OPC сервера, в любом порядке, все отображается и обновляется и на панели и в OPC сервере.
Обратную связь я включал:
Если в ОРС сервере данные отображаются старые, значит панель их не записала. Посмотрите по логу запросов - что отвечает контроллер, если данные старые, значит дело в нем или в панели.
Спасибо.
не могу найти в палитре ВФБ Список строк - как его вставить в дерево проекта?
Есть одна проблема, представим что в проекте есть ST код (20 входов, 30 выходов, 15 локальных переменных), в своей работе он обращается к библиотечным ФБ блокам, или функциям... Все скомпилировано, связи настроены. Вдруг потребовалось изменить в ФБ какую-нибудь переменную, ну или хотя бы ее тип. Теперь что происходит: Я меняю переменной тип в Библиотечном ФБ, получаю нерабочий код в дереве объектов, но у меня даже нет возможности его исправить, так как при выборе ST программы, сразу же вылезает ошибка, тем самым исчезают все входы, выходы до того момента пока я не исправлю и скомпилирую код.
Вопрос- Как быть? ведь во время разработки проекта я не могу быть на 100% уверен в работоспособности ФБ, и если есть недоработка, которую надо изменить, я понимаю что попадаю каждый раз на расстановку связей, которых штук под 100. Почему сброс происходит при переходе в код, пусть сбрасывает при переходе в режим исполнения... Мастерскада вещь очень хорошая, но... этот сброс. Может есть что-то что мгновенно восстанавливает связи?
Какая у вас версия MasterSCADA?
Мы проверили - у нас при смене типа в библиотечном ФБ, можно войти в скрипт ST компилироваться он не будет, но входы и выходы не пропадают.
Пришлите небольшой пример который бы описывал данную ситуацию и последовательность действий приводящих к ошибке.
Спасибо.