Передача команд#
ПО IngortechSCADA получает данные из внешних источников двумя способами:
Получение данных от ПО связи собственной разработки.
В этом случае используется специальное ПО, реализующее весь цикл передачи значений от оборудования и управления оборудованием на основании данных, передаваемых от ПО IngortechSCADA.
Примером такого ПО связи является программа
ValSrv
, занимающаяся обслуживанием оборудования КУШ.Получение данных от сторонних ОРС серверов.
В этом случае получением данных от оборудования и передачей ему данных занимается сторонний ОРС сервер.
Со стороны IngortechSCADA работой с ОРС серверами занимается утилита ОРС Клиент. Эта утилита позволяет устанавливать связь с неограниченным количеством разных ОРС серверов, принимать значения новых измерений и передавать команды управления.
Передача данных ОРС серверу#
Передача команды ОРС серверу заключается в записи специального, определяемого ОРС сервером значения, в определенный ОРС тег. Назначения передаваемых значений и названия управляющих тегов определяются ОРС сервером и настраиваются в Конфигураторе системы IngortechSCADA.
Для того чтобы передать значение ОРС серверу в конфигурации РТС должны быть описана перемена с типом Команда или Аналоговая команда и привязана к определенному тегу ОРС сервера. Команды являются дискретными, т.е. могут использовать в качестве значений только целые числа, аналоговые команды могут работать со значениями с плавающей точкой.
Порядок передачи данных#
Порядок действий при передаче значения команды следующий:
Инициатор (обычно это Оболочка оператора, использующая компонент Кнопка управления) передает серверу заранее заданное значение для определенной переменной.
РТС Сервер, получив значение команды, устанавливает для нее полученное значение и присваивает ей статус «Передача ПО связи» (4, VARS_C_ACC_N_BEING).
Команда будет находиться в этом состоянии до тех пор, пока обслуживающее эту переменную ПО связи ее не обработает, т.е. не начнет операцию по передаче значения оборудованию.
Информация
В случае, если команда не обслуживается никаким ПО связи, она никогда не будет передана оборудованию и состояние «Передача ПО связи» не изменится.
ПО связи (собственное ПО или ОРС клиент), периодически получают значения изменившихся переменных с РТС сервера. В случае, если они обнаружат в списке новых переменных команду в состоянии «Передача ПО связи» и эта команда относится к тем, которыми это ПО связи управляет, оно начнет операцию по передаче нового значения оборудованию. Собственное ПО связи начнет передачу нового значения непосредственно оборудованию, ОРС клиент запишет новое значение в тег ОРС сервера, связанный с этой переменной.
После успешного начала передачи значения оборудованию любое ПО связи сгенерирует для этой переменной новое изменение, значение которого будет равно переданному для установки на оборудовании, а статус будет установлен в значение «Выполнение» (6, VARS_C_EXECUTE).
Если в процессе выполнения команды (передачи значения оборудованию или записи его в тер ОРС сервера) произошла ошибка, то для этой переменной будет создано новое изменения с состоянием «Ошибка выполнения» (1, VARS_C_UNABLE).
Если значение команды было успешно передано, то будет создано новое изменения со статусом «Выполнено» (0, VARS_C_COMPLETE).
Таким образом, последовательность передачи значения оборудованию проходит следующие стадии:
ОПЕРАЦИЯ |
ЗНАЧЕНИЕ |
СТАТУС |
Передано серверу |
Значение |
VARS_C_ACC_N_BEING |
Получено ПО связи |
Значение |
VARS_C_EXECUTE |
Успешная передача |
Значение |
VARS_C_COMPLETE |
Ошибка передачи |
0 |
VARS_C_UNABLE |
Пример передачи данных#
Для передачи значений ОРС северу необходимо осуществить следующую настройку:
В конфигурации РТС создать переменную типа Команда, если необходимо передавать целые числа или Аналоговая команда, если необходимо передавать дробные числа.
В параметрах команды указать название тега ОРС сервера, в который необходимо записать значение.
Команда должна быть привязана к контроллеру, который будет заниматься ее обработкой.
Для использования ОРС клиента в у протокола контроллера должен быть указан тот же номер, что и в настройках ОРС клиента.
Создать элемент управления, который будет передавать значение.
В случае использования для передачи мнемосхемы необходимо установить на схеме компонент «Активная кнопка» и в ее настройках указать передаваемое значение.
Запустить РТС сервер и ОРС клиент. После установки связи, если переменная настроена правильно, то она появится в списке контролируемых ОРС клиентом и будет подключена к указанному в ее настройках ОРС тегу.
Передать значение команды используя созданную мнемосхему.
Если все настроено правильно, и при выполнении команды (передаче значения оборудованию) не возникло ошибок, после выполнения команды можно открыть просмотр архива значений для этой переменной и проследить процесс ее передачи.
На рисунке показаны возможные состояния команды и последовательность ее обработки ПО связи:
- 18:40:00:
при включении ПО связи команда находится в состояние «Нет связи» (5, VARS_C_NOTCONNECT).
- 18:44:02:
ОБОЛОЧКОЙ была сформирована команда со значением 1, которая была передана серверу РТС, установившему для нее состояние «Передача ПО связи» (4, VARS_C_ACC_N_BEING, темно-зеленый цвет).
- 18:44:04:
после получения команды, ПО связи провело анализ на возможность ее отправки и выполнения, отправило команду оборудованию и установило значение статуса в «Выполнено» (0, VARS_C_COMPLETE, светло-зеленый цвет).
- 18:44:37:
была повторно сформирована и успешно отправлена команда.
- 18:45:15:
произошел обрыв связи с оборудованием, это вызвало установку всех переменных, связанных с этим контроллером, в состояние «Нет связи» (5, VARS_C_NOTCONNECT, темно-красный цвет).
- 18:45:49:
ОБОЛОЧКОЙ была сформирована команда со значением 1 и передана серверу РТС, который установил для нее статус «Передача ПО связи» (4, VARS_C_ACC_N_BEING, темно-зеленый цвет).
- 18:45:53:
после получения команды, ПО установило невозможность ее отправки и выполнения, отправило команду на ПВУ, установило значение команды 0 и статус в «Ошибка выполнения» (1, VARS_C_UNABLE, темно-красный цвет).
- 18:46:34:
связь с оборудованием была восстановлена, это вызвало установку команды в состояние «Нет связи» (5, VARS_C_NOTCONNECT, серый цвет).
Таким образом, факт передачи команды и результат этой операции можно отследить по записям в базе данных и отображением на графиках.