ОРС Клиент (rtOPCClient)#
Утилита ОРС Клиент предназначена для получения и передачи данных с использованием технологии OPC-DA
(OLE for Process Control - Data Access).
Назначение#
Утилита ОРС Клиент предназначена для получения и передачи данных с использованием технологии OPC-DA
(OLE for Process Control - Data Access).
Утилита позволяет:
Связать переменные конфигурации IngortechSCADA с тегами, публикуемыми серверами ОРС.
Получать данные реального времени для связанных переменных.
Передавать управляющие воздействия оборудования путем записи значений в связанные переменные.
Интерфейс#
Интерфейс утилиты представляет собой основное окно программы из которого осуществляется доступ к таким функциям как:
Запуск и остановка работы.
Настройка утилиты.
Завершение утилиты.
Просмотр данных об установленных связях с ОРС серверами.
В заголовки утилиты, после запуска, отображается следующая информация:
«RTS: Клиент ИМЯ»
Название утилиты, где текст «ИМЯ» может быть задан с помощью ключей командной строки.
«очередь: ЧИСЛО»
Число значений полученных ОРС клиентом от ОРС серверов и еще не прошедших обработку.
В нормальном режиме работы утилиты это значение должно быть минимальным, стремящимся к нулю.
Если это значение постоянно установлено в значащую величину или постоянно увеличивается - это говорит о перегрузке утилиты и необходимо предпринять действия по настройке утилиты или ее окружения для того чтобы исправить ситуацию.
«пол: ЧИСЛО, обр: ЧИСЛО»
Общее число значений полученных и обработанных утилитой.
В нормальном режиме работы утилиты эти значения должны полностью совпадать, что говорит о том, что все полученные значения были успешно обработаны.
«отбр: ЧИСЛО из ЧИСЛО»
Количество значений от общего числа, которые были отброшены ОРС клиентом из-за того, что он не успел их обработать из-за высокой загрузки.
В нормальном режиме работы утилиты все полученные значения должны быть обработаны, поэтому число отброшенных значений должно быть равно нулю.
Основное окно#
Основное окно утилиты rtOPCClient.exe
состоит из следующих блоков:
Меню управления и настроек Программа.
Информация о текущем состоянии связи с сервером.
Утилита может находиться в следующих состояниях связи с сервером:
Остановлен: Связь с сервером не установлена. Утилита находится в этом состоянии с момента начала запуска работы до момента установки соединения с сервером ОРС.
Соединение установлено: Связь с сервером установлена. Утилита находится в этом состоянии с момента начала работы до момента остановки.
Данные РТС сервера.
Адрес - IP-адрес и порт связи с сервером РТС.
Конфигурация - Идентификатор активной конфигурации.
Время - Время и версия ПО на сервере РТС.
Данные ОРС сервера.
Сервера - количество используемых для получения данных ОРС серверов.
Кэш - количество новых значений полученных от ОРС серверов еще не переданных РТС серверу.
Переменные - число переменных из конфигурации РТС связанных с ОРС тегами.
Кнопка
Просмотр
открывает окно со списком используемых ОРС серверов.
Операция. При выполнении любой длительной операции, такой как, например, получение конфигурации, в поле Операция отображается наименование выполняемого действия, а в поле Прогресс процесс его выполнения.
Дневник состояния - выпадающий список сообщений генерируемые утилитой во время выполнения различных операций.
Программа
Пункт меню программа содержит основные данные пункты управления и настройки утилиты.
Запустить / Остановить |
Запускает/Останавливает процесс соединения с сервером. |
ОРС… |
Открывает окно Используемые ОРС сервера. |
Настройка… |
Открывает окно Параметры для настройки утилиты. |
Сохранить настройки |
Сохранение всех настроек осуществленных в окне Параметры. |
Окно сообщений |
Окно отображает стандартное окно сообщений, создаваемых при работе программы. |
О программе |
Раздел с общими данными о программе. |
Версия ПО |
Открывает окно Версия ПО с указанием данных о версиях локально ПО и ПО на сервере. |
Выход |
Завершение работы программы. |
Диалог настроек#
Настройки утилиты осуществляются в окне Параметры через меню .
Окно параметры состоит из четырех закладок .
Программа
На закладке Программа приведены общие настройки управления утилитой.
Авто-сохранение настроек
Если , то при завершении программы текущие настройки будут автоматически сохранены.
Запускать свернутым
Если , то при запуске программы она автоматически будет свернута.
Разрешить запуск нескольких копий программы
Если , то можно будет запустить несколько копий программы.
Если , и утилита уже запущена, то новая копия программы активирует окно предыдущей копии программы и автоматически завершится.
Автоматическая установка связи при запуске программы
Если , то при запуске утилиты сервер будет запущен автоматически и программа перейдет с состояние «Запущена», как если бы осуществлялось подключение к серверу через меню
.Сервер RTS
На данной закладке собраны настройки сервера RTS.
Сервер / Порт
IP-адрес и порт связи с сервером RTS.
Список серверов
Список серверов в стандартном для ПО IngortechSCADA виде поддерживаемых утилитой.
Имя / Пароль
Имя и пароль учетной записи, используемой для установки связи с сервером.
Пауза между попытками соединения
При выполнении команды на установку соединения, если соединение не удалось установить, попытка соединения будет повторятся с указанной периодичностью.
Ограничивать время установки соединения / Ожидать установки соединения
Если , устанавливает максимальное время ожидания ответа от сервера при установке связи.
Кэшировать загружаемую конфигурацию
Если , то при получении новой конфигурации с сервера RTS ее данные будут сохранены в виде файла на локальном диске рабочего места.
Если , и сервер использует уже имеющуюся конфигурацию, то не будет производиться автоматическая загрузка данных для этой конфигурации, даже если соответствующие настройки включены. Подразумевается, что данные, так же как и конфигурация, уже были загружены ранее.
Отключение этой настройки необходимо в очень редких ситуациях. На всех рабочих местах эта настройка должна быть включена, так как ее использование приводит к экономии времени при установке связи с сервером RTS.
Запрашивать новые переменные с сервера RTS
Если , отправляется автоматический запрос на получение новых данных на сервер RTS с периодичностью установленной в настройке Период получения новых переменных с сервера.
Использовать контроллеры с протоколом
Выпадающий список с типами контроллеров, данные с которых будут подгружаться с сервера.
ОРС
На данной закладке собраны настройки сервера ОРС.
Идентификатор клиента
Текстовое название, идентифицирующее утилиту ОРС клиент на каждом ОРС сервере к которому она подключена.
Разрешить просмотр ОРС соединений
Если , на основном окне программы будет доступна кнопка «Просмотр», при нажатии на которую будет отображено окно связей с ОРС со списком используемых ОРС серверов и используемых на них тегах.
Разрешить ручное управление ОРС соединениями
Если , на окне связей с ОРС пользователь может изменять значения отдельных тегов, отправляя ОРС серверам новые значения для них.
Период обновления переменных ОРС
Если , рекомендуемый период обновления данных для тегов. Этот параметр передается ОРС серверам при установке связи с ними. Использование и интерпретация этого параметра зависит от реализации конкретного сервера.
Разница значений для обновлений
Если , рекомендуемое изменение величины, при превышении которого ОРС сервер должен сгенерировать новое измерение. Этот параметр передается ОРС серверам при установке связи с ними. Использование и интерпретация этого параметра зависит от реализации конкретного сервера.
Периодический опрос ОРС / Период опроса
Если , ОРС клиент будет периодически запрашивать значения для всех используемых тегов и, в случае обнаружения различий с текущим полученным значением, эмулировать получение нового измерения. Этот параметр используется в случае, если ОРС сервер передает значения измерений с большими задержками или наблюдаются перебои с получением новых значений.
Корректировать время из будущего
Этот параметр предназначен для интерпретации значений, полученных от ОРС сервером, метка времени у которых находится в будущем по сравнению с текущим временем.
Если , значение с меткой времени из будущего будет обработано, при этом значение времени установлено в текущее время ОРС клиента. Если этот параметр отключен, такие значения будут переданы серверу РТС без изменений.
Предупреждение
При получении новых значений сервер РТС подразумевает, что все значения для каждой переменной передаются последовательно и каждое следующее полученное значение измерялось позже предыдущего.
Если ОРС сервер генерирует новые измерения со временем из будущего относительно текущего времени это может говорить как о неполадках в формировании новых значений на ОРС сервере или на де синхронизации времени между ОРС сервером и ОРС клиентом.
В случае выявления таких проблем необходимо разобраться в причинах их возникновения и найти решение. При нормальной работе ПО значений генерируемых с метками из будущего быть не должно.
Установить состояние «нет связи» для не изменяющихся значений
Если , и значение для переменной не меняется более установленного периода времени, для этого значения будет сгенерировано новое измерение с состоянием «нет связи».
При задержке значений более чем на …
Определяет задержку получения новых измерений для работы настройки «Установить состояние «нет связи» для не изменяющихся значений».
Эмулировать новое измерение при первоначальном подключении к ОРС
Если , при первоначальном подключении к каждому ОРС серверу, для всех используемых на нем тегов ОРС клиент запросит текущие значения и отправит их серверу РТС как новые изменения.
Эта настройка используется в том случае, когда ОРС сервер содержит редко изменяющиеся теги.
Выводить информацию по каждой полученной от ОРС переменной
Если , информация о каждом новом измерении полученном с какого-либо ОРС сервера будет выводится в основной лог файл и журнал программы.
Предупреждение
При большом количестве изменений получаемых ОРС клиентом, установка этой настройки может приводить к значительному замедлению времени обработки значений и должна использоваться только для отладки связи или расследований определенных инцидентов совместно с уменьшенным количеством получаемых значений.
Период авто-подключения
Устанавливает период с которым будут производиться попытки установить связь с ОРС серверами и отдельными тегами на них.
Если это значение установлено в значение 0 (ноль) механизм автоматического подключения использоваться не будет. В этом случае будет предпринята одна попытка установить связь и, в случае возникновения ошибок, более попытки предприниматься не будут и состояние ошибки сохранится до изменения конфигурации.
Если механизм автоматического подключения включен, то будут предприниматься периодические попытки установить связь со всеми ОРС серверами текущей конфигурации и со всеми тегами на них.
Время повтора таких попыток, в минутах, определяется настройкой. Количество повторов определяется отдельными настройками для ОРС серверов и тегов.
Попыток авто-подключения контроллера
Устанавливает ограничение на количество повторов попыток установки связи с ОРС серверами.
Если установлено нулевое значение, то количество попыток не ограничено.
Попыток авто-подключения тегов
Устанавливает ограничение на количество повторов попыток установки связи с тегами ОРС серверов.
Если установлено нулевое значение, то количество попыток не ограничено.
Предупреждение
В случае если используется неправильная конфигурация, которая содержит ссылки на не существующие ОРС сервера или не существующие на них теги попытки установки связи с такими серверами или тегами могут привести к существенной деградации производительности ОРС клиента.
В случае возникновения ошибок установки связи необходимо разбираться в причинах возникновения такой ситуации. В нормальном режиме работы ПО таких ситуаций возникать не должно.
Переменные
На данной закладке собраны настройки работы с массивом переменных при передаче их между серверами.
Отсылать новые переменные серверу RTS
Если , то при получении новых переменных сервером ОРС, они автоматически будут передаваться на сервер RTS.
Предупреждение
Если отключить эту настройку, то новые значения, генерируемые ОРС серверами не будут переданы РТС серверу!
Эта настройка может быть отключена только в редких режимах эксплуатации, когда ОРС клиент используется только как средство передачи управляющих воздействий, т.е. для выполнения команд. В этом случае ОРС клиент будет подключаться к РТС серверу, получать от него новые переменные, выделять из них те, которые требуется передать используемым ОРС серверам и передавать им новые значения. В этом режиме получение новых значений от ОРС не нужно.
Использовать кэширование отсылаемых переменных
Если , то перед отправкой полученных значений РТС серверу они будут накапливаться в промежуточном кеше и передаваться одновременно при выполнении определенных условий.
Использование кеша незначительно увеличивает время проходящее от момента измерения значения до его обработки РТС сервером, однако, при большом количестве обрабатываемых РТС сервером данных, может значительно уменьшить нагрузку на него.
Помещать информацию об успешной отсылке в лог
Если , все получаемые значения будут сохраняться в лог файл ОРС клиента.
Выводить информацию о каждой полученной от сервера переменной
Если , то при получении новых значений от сервера РТС все полученные значения будут сохранены в лог файл утилиты.
Предупреждение
При большом количестве получаемых ОРС клиентом значений, установка настроек связанных с сохранением данных измерений в лог файл может приводить к заметному замедлению обработки данных и значительному росту объема лог файла утилиты.
При нормальном режиме работы системы эти настройки должны быть отключены для уменьшения накладных расходов при обработке данных.
Эти настройки должны быть включены во время отладки связи и расследования ошибок связанных с неправильной интерпретацией или потерей значений ОРС клиентом.
Окно связей с ОРС#
При нажатии на кнопку Просмотр
в блоке с данными ОРС сервера открывается окно Используемые ОРС сервера.
Окно состоит из следующих блоков:
Список подключенных ОРС серверов.
cfgN - Номер контроллера в конфигурации.
Связь - Текущее состояние связи сервера.
Имя машины - Имя машины, на которой расположен ОРС сервер.
Имя сервера - Внутреннее имя ОРС сервера.
Переменных - Количество используемых тегов связанных с переменными.
Список переменных
При выделении одного из серверов в блоке списка серверов, в списке будут отражены только те переменные, которые загружены на выбранный сервер.
cfgN - номер переменной в конфигурации.
Имя - Имя переменной в конфигурации.
Обозначение - Имя переменной на ОРС сервере.
Тип - Тип переменной РТС.
Статус - Статус переменной РТС на момент загрузки на сервер.
Значение - Значение переменной в момент загрузки на сервер.
Время - Дата и время последнего обновления данных.
ОРС параметры
При выделении переменной в блоке ОРС параметры будут отражены параметры выбранного тега.
Технология ОРС позволяет к каждому тегу, дополнительно, приписать набор свойств связанных с его состоянием и значением. Содержимое этого набора определяется конкретным ОРС сервером публикующим информацию и может отличаться у разных ОРС серверов. ОРС клиент отображает список свойств в качестве справочной информации, в виде таблицы в следующей форме:
N - Порядковый номер свойства.
ID - Идентификатор свойства, как он описан на ОРС сервере.
Тип - Стандартный тип свойства.
Имя - Название свойства заданное в ОРС сервере.
Значение - значение свойства.
Рекомендации#
В этом разделе описаны основные рекомендации по настройке и эксплуатации утилиты, а так же приведены примеры решения основных проблем, возникающих при эксплуатации.
Проблемы и инструменты#
Перед запуском утилиты в эксплуатацию, на этапе настройки или в процессе выявления проблем, должна быть установлена настройка Выводить информацию по каждой полученной от ОРС переменной.
При установке этой настройки при получении значений от ОРС сервера данные будут сохранены в лог файл программы, что позволит контролировать правильность настройки связей переменных с тегами ОРС и выявлять источник проблем с отсутствием или несвоевременным получением данных.
В случае обнаружения каких либо проблем с данными от ОРС, такими как:
Отсутствие данных.
Ситуация, когда данные обновляются на ОРС сервере, но не доходят до ОРС клиента или РТС сервера.
Задержка данных.
Ситуация, когда не все данные полученные от ОРС сервера доходят до ОРС клиента, РТС сервера или других клиентов IngortechSCADA.
Неверные форматы или значения данных.
Ситуация, когда данные полученные от ОРС сервера неправильно интерпретируются или декодируются ОРС клиентом или РТС сервером.
можно использовать следующие инструменты:
Утилиту Отладчик ОРС, которая входит в основной комплект поставки IngortechSCADA.
С помощью этой утилиты можно сравнивать процесс обновления данных в ОРС Клиенте и другом независимом клиенте данных ОРС (Отладчике ОРС), что позволяет выявить источник проблем связанных с задержками значений, неправильной интерпретацией значений и ошибками связи тегов с переменными.
Утилиту Просмотр логов, с помощью которой можно просматривать лог файлы создаваемые любой утилитой комплекта IngortechSCADA, в том числе ОРС Клиентом, Отладчиком ОРС или РТС сервером.
Эта утилита используется в процессе расследования путей движения значений от ОРС сервера по всем цепочкам передаваемых данных.
Любой сторонний ОРС клиент. Некоторые свободно распространяемые клиенты можно скачать с сайта разработки ПО IngortechSCADA по адресу:
Проблемы с получением данных#
В случае возникновения проблем с получение данных таких как:
Полное отсутствие данных.
Задержки при получении данных.
Пропадание некоторых, ключевых значений.
необходимо использовать методики поиска источника проблемы описанные ниже.
Проверка передачи данных
Необходимо убедиться, что данные измеряемые оборудованием корректно измеряются и могут быть получены ОРС сервером.
В случае, если используемый ОРС сервер имеет собственный интерфейс для отображения публикуемых тегов необходимо убедиться, что значение для нужного тега корректно отображается в самом ОРС сервере. Значение соответствует измеряемому сигналу, имеет нормальное качество и обновляется с необходимой частотой.
В случае, если ОРС сервер не имеет собственного интерфейса, осуществить проверку получения данных ОРС сервером будет невозможно и необходимо использовать проверку публикации данных.
Проверка публикации данных
На этом этапе необходимо убедиться, что ОРС сервер корректно публикует данные измерений в тегах, соответствующих измеряемой величине.
Необходимо убедиться, что:
Необходимый тег (или их набор) содержит значение соответствующее подключенному к ОРС серверу оборудованию.
Качество тега соответствует качеству линии связи, т.е. в случае как отсутствия связи с датчиком, так и при наличии этой связи качество тега должно отражать реальное состояние.
В случае наличия связи с оборудованием значение тега должно соответствовать значению, передаваемому оборудованием и задержка в передаче значения должна соответствовать проектной.
Для проверки необходимо установить какой-либо сторонний ОРС клиент и использовать утилиту Отладчик ОРС. С помощью этих утилит необходимо осуществить следующие действия:
Запустить сторонний ОРС клиент. Выбрать в нем необходимый для проверки тег и настроить его для отображения данных реального времени.
Запустить утилиту Отладчик ОРС и добавить необходимый для проверки тег в группу контроля.
Проконтролировать значение и качество необходимого тега с использованием двух независимых клиентов и убедиться в идентичности их поведения.
Проконтролировать качество и значение передаваемых данных.
Возможные проблемы:
В случае, если ОРС клиенты невозможно настроить для отображения контролируемого тега необходимо проверить правильность доступности и правильности его настройки на сервере ОРС.
В случае, если обнаружено принципиальное расхождение в значениях и качестве данных тега между различными ОРС клиентами, необходимо проверить настройки клиентов и, в случае если данные утилиты Отладчик ОРС IngortechSCADA выходят за пределы допустимых различий, необходимо собрать данные о ситуации и создать сообщение об ошибке для разработчика.
В случае, если при изменении качества или значения измеряемой величины это изменение не отображается в ОРС клиентах, необходимо проверить настройку ОРС сервера и правильность описания и настройки соответствующего тега.
В случае, если при использовании двух различных клиентов они отображают идентичную (с учетом допустимых расхождений) информацию, в дальнейшем для контроля можно использовать какой-либо один из них. Рекомендуется использование утилиты Отладчик ОРС из комплекта ПО IngortechSCADA.
Проверка потери данных и их последовательности
На этом этапе необходимо проконтролировать получение всех данных и их последовательность.
Эта проверка очень важна для правильного отображения значений и, в особенности для дискретных переменных, корректности работы различных критических алгоритмов, таких как управление вентиляцией и аварийным отключением электро-энергии.
Для проверки необходимо осуществить следующие действия:
Выбрать дискретные переменные, для контроля.
Изменяя их состояние на оборудовании (или в интерфейсе ОРС сервера, если он позволяет ручное управление значениями) контролировать получение всех измененных значений ОРС клиентами в строгом соответствии с порядком их изменения.
Значения могут поступать с задержками (см. Допустимые расхождения), но обязаны быть получены все изменения значения строго в том порядке, в котором они происходили.
Предупреждение
В случае обнаружения ситуаций, когда какие-то значение не доходят до ОРС клиентов или нарушается порядок их прохождения необходимо решать эту проблему перед осуществлением всех прочих действий по настройке системы т.к. подобные нарушения могут приводить к полной неработоспособности всей системы и к аварийным ситуациям на объекте.
В случае невозможности решения проблемы необходимо собрать данные о ситуации и создать сообщение об ошибке для разработчика в случае, если проблема локализована в программной части ПО IngortechSCADA.
Проверка интерпретации данных
На этом этапе необходимо проверить корректность интерпретации получаемых данных утилитой ОРС Клиент.
Необходимо проконтролировать следующие параметры:
Значение измерения соответствует измеренной (или заданной) величине.
В случае неправильной конфигурации переменных IngortechSCADA или ошибках в привязке к тегам ОРС отображаемая величина может отображаться некорректно. Возможные причины и способы их решения описаны в разделе Типовые ошибки значений.
Значение соответствует установленному типу сигнала
В случае неправильной конфигурации переменных IngortechSCADA или ошибках в привязке к тегам ОРС отображаемая величина может отображаться некорректно. Возможные причины и способы их решения описаны в разделе Типовые ошибки значений.
Проверка передачи данных
На этом этапе необходимо проверить правильность и скорость передачи данных ОРС клиентом серверу РТС.
Необходимо проконтролировать
Типовые ошибки значений#
В случае неправильной конфигурации переменных IngortechSCADA или ошибках в привязке к тегам ОРС отображаемая величина может отображаться некорректно.
Возможны следующие ошибки отображения:
Значение неправильно масштабируется, сдвигаясь в некорректный диапазон.
Получаемое от Орс сервера значение интерпретируется в ПО IngortechSCADA как электрическая величина и в случае, если для переменной связанной с ОРС тегом выбран тип сигнала не соответствующий используемому оборудованию преобразование электрических единиц в инженерные и наоборот может производиться некорректно.
К примеру, если какое-то оборудование передает измерения в диапазоне 0..100, а в настройках связанной с ним переменной указан диапазон 0..500, то при преобразовании значения в инженерные единицы значение будет уменьшено в 5 раз от фактического.
Значение обрезается, не отображая весь диапазон. Значение принимает статусы ВЫШЕ или НИЖЕ предела измерения при нормальной эксплуатации.
Если какое-то оборудование передает измерения в диапазоне 0..100, но в настройках связанной с ним переменной указан диапазон 0..10, то при получении значения более 10 оно будет интерпретировано как выходящее за пределы диапазона. В этом случае значение будет обрезано до границы диапазона и переменная примет состояние «выход за пределы диапазона»
Значение дискретной переменной «инвертировано».
В ПО IngortechSCADA существует возможность использования как нормально замкнутых, так и нормально разомкнутых дискретных входов. Состояние включено или выключено для этих переменных формируется в соответствии с разными значениями измерения. Указание типа нормального состояния для дискретной переменной указывается в полях «электрических диапазон» ее типа сигнала. В случае, если минимум электрического диапазона указан величиной отличной от нуля и его модуль более максимума электрического диапазона используется механизм автоматической инверсии значения. В случае использования инверсии, значение
0
будет заменено значением1
и наоборот.Значение аналоговой переменной является неадекватным числом или нулем вне зависимости от измеряемой величины
В случаях использования метрологически значимых средств измерения их значения передаются в закодированной форме и могут представлять из себя произвольные, в том числе очень большие по величине числа.
Правила декодирования таких значений определяются типом сигнала и, в случае некорректной конфигурации такой переменной декодирование будет происходить с ошибкой или не будет выполняться вовсе. В этих случаях значение может быть всегда установлено в величину
0
(произошла ошибка декодирования) или в произвольную величину (декодирование не производилось).
Рекомендации по конфигурации РТС#
При создании конфигурации РТС необходимо учесть следующие рекомендации:
Полностью исключить возможность использования в конфигурации контроллеров, связь с которыми невозможно установить.
Минимизировать (исключить?) все переменные, связать с которыми теги невозможно.
Индивидуально для объекта подбирать число контроллеров, подключенных к одному ОРС серверу и число переменных на них.
Информация
Операции выполняемые в фоновой задаче имеют меньший приоритет, чем операции выполняемые в основном потоке (вручную, в интерфейсе).
В результате, может казаться, что вручную теги подключаются быстро и без проблем, а автоматически долго.
Однако «медленность» автоматики объясняется в том числе длительными задержками между попытками и, что самое главное, из-за большего приоритета основного потока, каждый раз, когда в нем выполняется какая-то монопольная операция (а изменение состояния контроллеров и тегов такая операция) фоновая задача прерывает работу и ждет окончания такой операции, после чего возвращается к продолжению работы цикла.
Итого: ручное управление соединениями не имеет никакого смысла и приводит к фактическому замедлению выполнения операций фоновой задачи.
Допустимые расхождения данных#
При сравнении с данными, отображаемыми различными ОРС клиентами для одного и того же тега необходимо учитывать следующие различия, которые являются допустимыми и не являются ошибкой работы ПО:
Расхождение во времени (штампе времени).
В случае, если ни значение ни качество тега не меняется, то допустимо, чтобы различные ОРС клиенты отображали этот тег с расхождением в штампе времени.
Различие только штампа времени не гарантирует наличие нового измерения и может игнорироваться.
Задержка получения значений.
Различные ОРС клиенты могут получать данные в разное время. Различия во времени получения определяется структурой и загруженностью ОРС сервера, структурой и загруженностью ОРС клиента и общей загруженностью операционной системы.
Допустимо получение данных одного и того же измерения (качество, значение и штамп времени совпадают) различными клиентами в разное время и задержки в получении ошибками не являются.
Однако, вне зависимости от того с какими задержками получены значения должно обеспечиваться их синхронность. и последовательность Т.е. в случае, если было произведено два измерения, которые отличаются друг от друга качеством иили значением, то оба эти измерения должны быть получены ОРС клиентами строго в порядке их измерения.
Различие в значениях.
Для аналоговых сигналов допускается различие в модуле отображаемого значения.
Как на стороне ОРС сервера, так и на стороне ОРС клиентов могут использоваться различные механизмы для предотвращения дребезга сигнала, которые могут приводить к различию в модуле отображаемой величины.
В случае, если различие не превышает предельно допустимого для используемого оборудования и соответствует требованиям технического проекта, такие различия являются допустимыми.
Нулевое значение при плохом качестве
В случае, если ОРС тег имеет качество отличное от OPCST_ST_OK, допускается отображение значения измерения как величины
0
.В случае, если качество значения не гарантирует того, что значение было корректно измерено его (значения) величина может быть установлена в любое значение. В ПО IngortechSCADA такие значения устанавливаются в величину
0
.Не соответствие ненулевых значений для дискретных переменных
В случае, если тег привязан к дискретной переменной и ОРС сервер передает для него ненулевое значение отличное от единицы, допускается установка его значения в величину
1
.К примеру, ОРС тег привязан к дискретной переменной и значение этого тега установлено на ОРС сервере в величину
15
. Допустимо, если это значение отображается в Орс клиента как величина1
.При этом величина
0
всегда должна отображаться именно как значение0
.Не соответствие значений несовместимых типов
В случае, если ОРС тег описан как тип не соответствующий целому числу (тип с плавающей точкой, строка, массив и т.д.) связан с дискретной переменной конфигурации IngortechSCADA допустимо: отображение значения
0
для значений тегов, которые не могут быть преобразованы в число и математическое округление значений с плавающей точкой.К примеру, значение переменой привязанной к строковому тегу всегда будет иметь значение
0
вне зависимости от значения строки. Значение значение переменой привязанной к тегу со значением0.4
будет отображаться как0
, а со значением0.6
будет отображаться как1
по правилам математического округления.
Статусы ОРС#
При получении данных от OPC серверов измерение, помимо значения характеризуется таким параметром как «качество».
Качество - это числовое значение, которое состоит из набора битов описанных в стандарте ОРС. Качество определяет то, насколько полученному значения можно доверять, т.е. было ли оно получено в результате успешного измерения или при его получении возникали какие-либо ошибки.
При получении значений от ОРС сервера ОРС Клиент производит следующие действия:
Транслирует значения качества протокола ОРС в статусы системы IngortechSCADA.
Если полученное значение характеризуется «Хорошим качеством», ОРС клиент анализирует пришедшие значения в зависимости от текущей конфигурации IngortechSCADA и определяет значимость значения.
Производит дополнительную проверку значений на соответствие ограничениям, заданным в текущей конфигурации.
Передает значение переменной РТС Серверу.
Качество ОРС#
Качество значения передается сервером ОРС и представляет из себя число, содержащее набор битов для описания качество полученного значения и его состояние.
Интерпретация качества
При получении значения от OPC сервера, для интерпретации качество измерения необходимо перевести полученной значение в двоичную систему счисления, выделить необходимые биты и, в соответствии с таблицами выше, вычислить расшифровку состояния измерения.
Как правило, качество измерения передается типовым набором значений, поэтому на практике, для определения качества, можно использовать следующую таблицу с диапазонами значений качества:
Десятичное |
16-ричное |
Качество |
64 и менее |
0x40 |
Качество плохое, значение измерено с ошибкой |
65..191 |
0x41..0xBF |
Качество неуверенное, значению нельзя доверять |
192 и более |
0xC0 |
Качество хорошее |
Стандартные значения качества
Качество значения интерпретируется утилитой и переводится в стандартные статусы системы IngortechSCADA.
Общее ОРС качество измерения определяется набором из трех компонентов:
OPC_QUALITY_MASK |
0xC0 |
11000000 |
Тип качества |
OPC_STATE_MASK |
0x3C |
00111100 |
Тип состояния |
OPC_LIMIT_MASK |
0x03 |
00000011 |
Тип превышения |
Тип качества#
Значения в диапазоне «11000000» обозначают тип качества измерения.
Тип качества определяет общее качество измерения и может принимать следующие значения:
OPCST_ST_OK |
0xC0 |
11000000 |
Хорошее Этот типа качества обозначает, что значение было корректно измерено в нормальных условиях и без ошибок. |
OPCST_ST_BAD |
0x00 |
00000000 |
Плохое Этот типа качества обозначает, что при измерении возникли ошибки и значение не было измерено. |
OPCST_ST_UNC |
0x40 |
01000000 |
Неуверенное Этот типа качества обозначает, что значение было измерено, но его величина может не точно соответствовать измеряемой величине. |
OPCST_ST_UNK |
0x80 |
10000000 |
Неизвестное Этот типа качества обозначает, что значение находится в неизвестном состоянии по каким-либо причинам. |
Информация
Из набора выше только тип состояния OPCST_ST_OK обозначает что измерение произведено полностью успешно.
Значение этого состояния в десятичной системе: 192, таким образом, если ОРС передал измерение с качеством 192 - это обозначает, что измерение полностью успешное и при этом не содержит никакой дополнительной информации.
Предупреждение
В случае, если ОРС качество отличается от значения OPCST_ST_OK, утилита устанавливает значение переменной в величину 0
вне зависимости от фактического значения переданного ОРС сервером.
Тип состояния#
Значения в диапазоне «00111100» обозначают тип состояния.
Тип состояния - это код, определяемый разработчиком оборудования, которые используется для обозначения состояния измерения или его ошибки.
Стандарт ОРС подразумевает, что для каждого типа качества определен свой набор значений типов состояний.
OPCST_ST_OK, Хорошее качество
Типы состояний стандартом не определяются, однако производители могут использовать свои значения.
OPCST_ST_BAD, Плохое качество
Для этого состояния стандарт описывает следующий набор состояний:
OPC_QUALITY_CONFIG_ERROR |
0x04 |
Ошибка конфигурации |
OPC_QUALITY_NOT_CONNECTED |
0x08 |
Датчик не подключен |
OPC_QUALITY_DEVICE_FAILURE |
0x0c |
Ошибка датчика/Измерителя |
OPC_QUALITY_SENSOR_FAILURE |
0x10 |
Ошибка чувствительного элемента |
OPC_QUALITY_LAST_KNOWN |
0x14 |
Последнее известное значение |
OPC_QUALITY_COMM_FAILURE |
0x18 |
Ошибка связи |
OPC_QUALITY_OUT_OF_SERVICE |
0x1C |
Датчик отключен |
Так же, производители могут использовать дополнительные значения для обозначения собственных состояний.
OPCST_ST_UNC, Неуверенное качество
Для этого состояния стандарт описывает следующий набор состояний:
OPC_QUALITY_LAST_USABLE |
0x44 |
Последнее известное |
OPC_QUALITY_SENSOR_CAL |
0x50 |
Датчик калибруется |
OPC_QUALITY_EGU_EXCEEDED |
0x54 |
Превышение |
OPC_QUALITY_SUB_NORMAL |
0x58 |
Так же, производители могут использовать дополнительные значения для обозначения собственных состояний.
OPCST_ST_UNK, Неизвестное качество
Для этого состояния стандарт описывает следующий набор состояний:
OPC_QUALITY_LOCAL_OVERRIDE |
0xD8 |
Так же, производители могут использовать дополнительные значения для обозначения собственных состояний.
Тип превышения#
Значения в диапазоне «00000011» обозначают тип превышения измерением установленных порогов.
Стандарт определяет следующие значения для этой величины:
OPC_LIMIT_OK |
0 |
Значение находится в нормальной зоне |
OPC_LIMIT_LOW |
1 |
Значение ниже нижнего порога |
OPC_LIMIT_HIGH |
2 |
Значение выше верхнего порога |
OPC_LIMIT_CONST |
3 |
Пороги не определены |
Статусы из качества ОРС#
При получении значения от OPC сервера, в зависимости от полученного качества устанавливаются различные статусы РТС.
OPCST_ST_OK, Хорошее качество
Если эти биты установлены, то устанавливается статус «ОК» для всех типов переменных.
Аналоговые |
0 |
VARS_A_OK |
Дискретные |
0 или 1 |
Статус устанавливается в значение VARS_D_ON (1) или VARS_D_OFF (0) в зависимости от значения измерения. |
Команды |
0 |
VARS_C_COMPLETE |
Ответ |
7 |
VARS_R_COMPLETE |
Уведомление |
10 |
VARS_N_COMPLETE |
Другое качество
В случае, если значение типа качества не соответствует величине «хорошее» (OPCST_ST_OK), значение статуса РТС устанавливается в зависимости от типа переменной РТС и полученного в качестве типа состояния.
Аналоговые переменные
OPC_QUALITY_BAD |
2 |
VARS_A_NOTWORK |
OPC_QUALITY_CONFIG_ERROR |
5 |
VARS_A_CONFIG |
OPC_QUALITY_NOT_CONNECTED |
1 |
VARS_A_NOTCONNECT |
OPC_QUALITY_DEVICE_FAILURE |
2 |
VARS_A_NOTWORK |
OPC_QUALITY_SENSOR_FAILURE |
2 |
VARS_A_NOTWORK |
OPC_QUALITY_COMM_FAILURE |
11 |
VARS_A_NOCARIER |
OPC_QUALITY_OUT_OF_SERVICE |
1 |
VARS_A_NOTCONNECT |
OPC_QUALITY_WAITING_FOR_INITIAL_DATA |
11 |
VARS_A_NOCARIER |
Для всех остальных значений используется статус VARS_A_UNKNOWN (15).
Дискретные переменные
OPC_QUALITY_BAD |
3 |
VARS_D_ERROR |
OPC_QUALITY_CONFIG_ERROR |
7 |
VARS_D_CONFIG |
OPC_QUALITY_NOT_CONNECTED |
2 |
VARS_D_NOTCONFIG |
OPC_QUALITY_DEVICE_FAILURE |
3 |
VARS_D_ERROR |
OPC_QUALITY_SENSOR_FAILURE |
3 |
VARS_D_ERROR |
OPC_QUALITY_COMM_FAILURE |
4 |
VARS_D_NOCARIER |
OPC_QUALITY_OUT_OF_SERVICE |
2 |
VARS_D_NOTCONFIG |
OPC_QUALITY_WAITING_FOR_INITIAL_DATA |
2 |
VARS_D_NOCARIER |
Для всех остальных значений используется статус VARS_D_UNKNOWN (15).
Команды
OPC_QUALITY_BAD |
7 |
VARS_C_NOTWORK |
OPC_QUALITY_CONFIG_ERROR |
5 |
VARS_C_NOTCONNECT |
OPC_QUALITY_NOT_CONNECTED |
7 |
VARS_C_NOTWORK |
OPC_QUALITY_DEVICE_FAILURE |
7 |
VARS_C_NOTWORK |
OPC_QUALITY_SENSOR_FAILURE |
7 |
VARS_C_NOTWORK |
OPC_QUALITY_COMM_FAILURE |
5 |
VARS_C_NOTCONNECT |
OPC_QUALITY_OUT_OF_SERVICE |
7 |
VARS_D_NOTCONFIG |
OPC_QUALITY_WAITING_FOR_INITIAL_DATA |
5 |
VARS_C_NOTCONNECT |
Для всех остальных значений используется статус VARS_C_INVALID (3).
Ответы
Все значения качества для переменных этого типа транслируются в статус VARS_R_INVALID (10).
Уведомления
Все значения качества для переменных этого типа транслируются в статус VARS_N_INVALID (12).
Значимость значений#
В случае, если полученное значение характеризуется «Хорошим качеством», ОРС клиент анализирует полученное от ОРС значение в зависимости от того, как это значение было сконфигурировано в текущей конфигурации IngortechSCADA.
В этом разделе приведено описание условий которым должно соответствовать получаемое значение для того, чтобы это значение было интерпретировано как «значимое», т.е. полученное без искажений от источника измерения.
Предупреждение
Значимыми могут быть только аналоговые переменные. Все остальные типы переменных будут не значимы вне зависимости от того, как они сконфигурированы в конфигурации IngortechSCADA.
Значения КРУГ
Если значение генерируется ОРС сервером оборудования «КРУГ», значение передается в закодированной форме, в которой указывается само значение и его статус в системе IngortechSCADA.
Если ОРС клиент обнаружит, что полученное от ОРС сервера значение закодировано в форме оборудования «КРУГ», то значение будет декодировано и, при успешном декодировании:
будет установлено значение и статус, переданные в значении
значение будет интерпретировано как «значимое» в случае, если для этого типа сигнала установлен значимый тип сигнала
Дискретные значения КУШ
При получении дискретных значений, если они привязаны к контроллеру со следующими протоколами:
CoDeSys/01
OPCCoDeSys/01
происходит дополнительный анализ значений ОРС.
Если получено одно из специальных значений, то оно интерпретируется специальным образом.
Значение |
Интерпретация |
-10000 |
|
-20000 |
|
-30000 |
|
Дополнительно, для всех значений равных 0 (нулю) устанавливается статус VARS_D_OFF и статус VARS_D_ON для всех остальных значений.
Значение при этом не изменяется и передается в том виде, в каком оно было получено.
Аналоговые значения КУШ
Пр получении значений для переменных, сконфигурированных в конфигурации IngortechSCADA как «Аналоговые», последовательно производятся следующие проверки:
Если тип протокола значим и тип сигнала значим
Если наименование протокола установлено в значение
CoDeSys/01
илиOPCCoDeSys/01
Ожидается, что значение будет передано в закодированной форме
Происходит попытка декодирования значения из полученной от ОРС сервера величины
Если декодирование прошло успешно, то:
Значение электрической величины устанавливается в декодированное значение
Статус устанавливается в декодированное значение
Значение инженерной величины вычисляется с использованием параметров типа сигнала из текущей конфигурации
Если при декодировании обнаружена ошибка:
Значение электрической и инженерной величин устанавливаются в принятые значения без изменений.
Статус переменной устанавливается в значение VARS_A_UNKNOWN.
Если наименование протокола установлено в значение
Modbus/КУШ-УМН
Ожидается, что значение обозначает электрическое измерение, передаваемое значениями в диапазоне 0..255
Значение электрической величины устанавливается в декодированное значение
Если значение находится в диапазоне 0..255
Значение электрической величины вычисляется по формуле:
значение/100
Статус устанавливается в значение VARS_A_OK
Значение инженерной величины вычисляется с использованием параметров типа сигнала из текущей конфигурации
Если значение находится вне диапазона 0..255
Значение электрической и инженерной величин устанавливаются в одинаковое значение: принятое значение без изменений.
Статус переменной устанавливается в значение VARS_A_OK.
Если тип протокола любой и тип сигнала любой
Значение электрической величины устанавливается в полученное значение
Статус устанавливается в значение VARS_A_OK
Значение инженерной величины вычисляется с использованием параметров типа сигнала из текущей конфигурации
Обработка значений#
После назначения статуса и установки значимости значения, ОРС Клиент производит проверку значений переменной с учетом ограничений, установленных в текущей конфигурации IngortechSCADA.
Аналоговые переменные
Если статус переменной установлен в значение из набора: VARS_A_NOTCONNECT, VARS_A_NOTWORK, VARS_A_CONFIG, VARS_A_NOCARIER, VARS_A_EXERR, VARS_A_UNCERTAIN, устанавливает инженерное значение в величину 0 (ноль).
Если статус переменной установлен в значение VARS_A_UNKNOWN, значение переменной не изменяется.
Если статус переменной установлен в значение VARS_A_OK, производится проверка значения на такие ограничения конфигурации как:
Границы инженерного диапазона.
В зависимости от инженерного значения переменной и установленных в КОНФИГУРАТОРЕ инженерных порогов для переменной устанавливаются такие статусы как: VARS_A_L_L, VARS_A_M_H, VARS_A_L_LL и VARS_A_M_HH, обозначающие превышение предупредительного или аварийного порогов соответственно.
Границы электрического диапазона.
В зависимости от электрического значения переменной и установленного в КОНФИГУРАТОРЕ диапазона электрического сигнала устанавливаются такие статусы как: VARS_A_L_V и VARS_A_M_V, обозначающие выход за пределы диапазона.
Другие типы переменных
Дополнительный анализ для всех остальных типов переменных не производится.
Передача значений серверу РТС#
После назначения статуса, установки значимости значения и дополнительной обработки, ОРС Клиент анализирует значения переменной и передает их серверу РТС.
Серверу РТС передаются только те значения, для которых выполнится хотя бы одно из следующих условий:
Новое инженерное значение отличается от предыдущего более чем на 0.000001.
Новое электрическое значение отличается от предыдущего более чем на 0.000001.
Новый статус отличается от предыдущего.
Время измерения отличается от предыдущего не менее чем на 1 (одну) секунду.
FAQ: Ответы на вопросы#
Список вопросов и пояснений по поведению или настройке утилиты.
- В:
Что такое фоновая задача?
- О:
При запуске ОРС клиента, для выполнения различных действий на которые может потребоваться длительное время или их выполнение требуется повторять с какой-то периодичностью, запускается специальная фоновая задача (нить, поток) в рамках этой программы.
Действия выполняемые фоновой задачей зависят от текущей используемой конфигурации и настроек утилиты.
- В:
Какие действия могут выполняться в фоновой задаче?
- О:
Утилита может производить следующие действия:
Установку и восстановление связи с контроллером.
Установку и восстановление связи с тегами контроллера.
Отключение контроллера или их группы при выявлении проблем связи.
Периодический опрос значений подключенных тегов для выявления изменения в значениях ии состоянии.
- В:
Как настраивается выполнение задач в фоне?
- О:
В диалоге настроек клиента, на закладке «ОРС» в группе настроек «Фоновая задача».
- В:
Что означает настройка «Опрос значений подключенных переменных»? Если галочку не поставить, переменные не будут опрашиваться?
- О:
Некоторые ОРС сервера имеют ошибки, в результате которых уведомления об обновлении тегов не всегда доходит до клиента.
Для решения этой проблемы можно установить эту настройку. В этом случае клиент будет читать значение и состояние всех подключенных тегов для всех активных контроллеров и, в случае обнаружения изменений, генерировать новое значение так, как будто оно было получено стандартным способом.
Опрос значений для всех тегов может быть длительной операцией и, при работе с ОРС серверами которые не имеют подобной ошибки, можно эту настройку отключить для уменьшения загрузки ОРС сервера и клиента.
- В:
Какие настройки существуют для управления периодом и количеством действий в фоновой задаче?
- О:
Фоновая задача имеет 3 типа настроек:
Период выполнения фоновых задач. Здесь можно указывать секундные значения.
Период повтора авто-подключения для контроллера. Задается в минутах.
Ограничения на количество попыток повтора действий (подключение контроллера и тегов на нем). Задается в штуках. начиная с нуля. Если установлено нулевое значение, количество попыток не ограничено.
- В:
Как происходит выполнение задач в фоне?
- О:
Логика работы ОРС клиента следующая:
Фоновые задачи выполняется в цикле, с задержкой между итерациями в размере настройки н.1 (из предыдущего вопроса). Т.е. никакие действия в фоне не могут выполняться чаще чем эта установка. Каждую итерацию производится только одно действие.
Длительность выполнения действий на каждую итерацию определяется той операцией которая выполняется. Т.е. фактическое время, которое потребуется на каждую итерацию определяется скоростью выполнения действия.
Действия выполняются в следующем порядке:
Если обнаружен отключенный контроллер
И с момента его последней проверки прошло более настройки н.2
И количество попыток для подключения для этого контроллера не исчерпано
Происходит попытка подключения к этому контроллеру и на этом итерация завершается.
Если обнаружено что контроллер активен, но количество активных тегов на нем менее числа зарегистрированных
И с момента его последней проверки прошло более настройки н.2
И количество попыток для подключения тегов для этого контроллера не исчерпано
Происходит попытка активации недостающих тегов и на этом итерация завершается.
Для каждого активного контроллера, для всех его активных тегов
Происходит чтение параметров тега и сравнение с текущими значениями переменных. В случае обнаружения обновления значения или статуса генерируется новое значение.
- В:
Как влияют настройки на выполнение задач в фоне?
- О:
Порядок выполнения фоновых задач описан выше. Фактические результат выполнения:
Попытки подключения контроллеров происходят (в идеале) с периодичностью настройки н.1 для всех контроллеров по очереди.
Попытки подключения тегов контроллеров происходят (в идеале) с периодичностью настройки н.1, для одного контроллера за раз.
Если какие-либо действия для какого-то контроллера была произведены с момент запуска клиента, то их повтор происходит не чаще чем н.2.
Если какие-то действия (подключение тегов, контроллеров или чтение значений) происходят медленно, то они увеличивают длительность выполнения итерации цикла и следующие операции будут выполняться позже.
Подключение к контроллерам и тегам имеет приоритет перед чтением данных. Если связь с каким-то контроллером не может быть установлена или подключение каких-то тегов невозможна, то на каждой итерации будет происходить проверка возможности восстановления с периодичностью (для каждого контроллера индивидуально) в соответствии с настройкой н.2.
Фактическое восстановление будет происходить с периодичностью н.2 для каждого контроллера, но если таких проблемных контроллеров много, то возникает эффект очереди, когда почти всегда есть какой-то контроллер на котором надо что-то восстанавливать.
Следствие: если в конфигурации есть заведомо неработоспособные контроллеры или на каких-то контроллерах заведомо отсутствующие теги, то общий отклик всех выполняющихся операций будет заметно падать за счет выполнения операций заведомо ошибочных операций по поиску контроллеров и тегов.
- В:
Можно привести конкретные примеры работы утилиты?
- О:
Пример1:
Происходит первоначальное подключение клиента: все контроллеры отключены, состояние всех переменных «нет связи».
С периодичностью н.1 будет последовательно производиться подключение контроллеров.
При возникновении любой ошибки на любом контроллере процесс прервется и итерация завершится.
Т.е., если н.1 установлена в значение
1сек
и все контроллеры подключаются успешно и их20 штук
, то время на их подключение будет равно:1сек+время_подключения*20
. Если при подключении к каждому контроллеру будет возникать ошибка, то время их подключения будет равно:20*1сек+время_подключения*20
. Таким образом, каждый контроллер с ошибкой задерживает общий процесс по крайней мере на время н.1.Полностью аналогичная ситуация происходит в случае, если на контроллере оказываются теги, подключение к которым невозможно. Каждая ошибка на контроллере задерживает время обработки следующих.
В результате, если ошибок при связи не происходит мы видим, что все контроллеры подключаются практически одновременно.
Если возникает ошибка, то видим следующее: контроллеры до ошибочного подключены, контроллеры начиная с него не подключены. Через время н.2 начинают подключаться следующие за проблемным контроллеры и ситуация повторяется (если нет ошибок, то все почти одновременно, если есть, то на проблемном операция опять прервется).
Пример2:
В результате каких-либо проблем контроллер или часть его тегов не были подключен.
При возникновении ошибки для контроллера уменьшается счетчик повторов соответствующей операции и устанавливается время ошибки.
Следующая попытка для этого контроллера будет произведена в соответствии с н.2, минимум через минуту.
В результате, мы видим что при проблемах соединения, подключения части тегов или временной потере связи, контроллер переходит в отключенное состояние и пребывает в нем не менее чем н.2.
В случае если связь с контроллером установлена, но возникли ошибки при подключении тегов мы видим, что состояние связи с контроллером отображается как активное, а состояние всех тегов начиная с проблемного - отключено.
- В:
Почему реализована такая странная логика выполнения фоновой задачи?
- О:
Такое поведение алгоритма, когда любая ошибка вызывает прерывание всей операции и ее повтор заново на следующей итерации сделаны по следующим причинам:
При работе с ОРС фактически невозможно определить причину ошибки. В случае, если ошибка связана с потерей связи с контроллером; всем сервером; системой ОЛЕ - какие-либо дальнейшие действия выполнять бессмысленно. Их выполнение просто приведет к бесцельной трате времени. Необходим заново проверить состояние ОЛЕ и состояние работы ОРС сервера, после чего повторять действия, если это оказалось возможным.
Как правило ОРС клиент работает с единственным (или небольшим числом) ОРС серверов. Возникновение каких-либо внезапных ошибок, как правило, свидетельствует о каких-то фатальных проблемах с ОРС сервером и… см п1.
Особенности работы сервера
Codesys
, которые заключаются в непредсказуемом возникновении ошибок при: подключении контроллеров, тегов или чтения их значений. Вероятность возникновения выше, если операции производятся быстрее. В результате возникновения проблем наиболее эффективно оказалось прервать всю работу, проверить активность всех доступных интерфейсов и продолжить операцию с места ошибки.
Ключи командной строки#
Использование командной строки для передачи данных программе описано в разделе «Ключи командной строки».
Утилита rtOPCClient.exe
поддерживают следующие ключи командной строки:
rtOPCClient.exe [ПАРАМЕТРЫ]
|
Устанавливает имя для основного лог файла программы. Если ключ не указан, то для файла лога будет использовано имя по умолчанию, соответствующее имени программы, с указанием даты создания и расширением |
|
Если указан, то лог файл вестись не будет. |
|
Если ключ не указан, то для файла конфигурации будет использовано имя по умолчанию, которое, как правило, совпадает с именем программы. |
|
Устанавливает имя для программы. Установленное имя будет отображаться в заголовке программы и в заголовке окна с сообщениями. Это имя используется для того, чтобы различить различные копии программы. Если ключ не указан, то используется имя по умолчанию, совпадающее с именем программы. |
|
Если указан, то при запуске программа передаст сигнал о завершении предыдущей запущенной копии программы. После передачи команды на завершение, программа автоматически закроется. Этот ключ использует имя, установленное с помощью ключа Если предыдущая копия запущена, то программа дождется ее завершения. Если предыдущей копии программы не будет обнаружено, то программа сразу же завершится. |
|
Разрешить запуск нескольких копий программы одновременно. |
|
Показывать в заголовке статистику обработки очереди данных ОРС. |
|
Инициализировать подсистему OLE в очереди периодического опроса. |
|
Запрет автоматического запуска для этой копии программы. |
|
Использование одно-потоковой модели взаимодействия с ОРС. |
|
Не сохранять данные команд в общий файл доступа «access-X.log». |