Перезагрузились. Все появилось. Действительно очень обширный список. Спасибо. Не ожидал.
Перезагрузились. Все появилось. Действительно очень обширный список. Спасибо. Не ожидал.
Кстати, обратите внимание что у МВА8 признак качества тега "Значение" рассчитывается на основании тега "Статус", при помощи скрипта. Он формирует признаки качества - Ошибка датчика (16), ошибка устройства (12) и значение не определено (64). Функция вычисляющая номер признака находится в скрипте устройства. Таким образом вы можете упростить создание сообщений в SCADA системе, и облегчить обработку сигнала - теперь в случае обрыва датчика или отказа устройства, в скаду придет значение с плохим признаком.
Аналогично сделано и у других приборов с аналоговым входом.
Мы выпустили видеопример в котором рассматривается создание конфигурации для прибора ОВЕН МДВВ для OPC сервера Modbus Universal MasterOPC.
Видеопример можно скачать с нашего сайта или просмотреть on-line на Youtube.
http://www.masteropc.ru/prices/info.php?pid=6944
Надеемся, что данный пример окажется вам полезным.
Думаю, и здесь можно задать вопросы начинающего. Они относятся как раз к ОРС-серверу.
1) Создавая ОРС-сервер, не могу понять, как можно организовать опрос значения параметра по команде оператора. Есть ряд параметров (регистров), которые в нормальной работе мне не нужны, создают ненужный траффик. Но иногда их значения нужно получить. Делать это путем установления большого периода опроса - не хорошо, ибо обновление значения этого регистра на экране компа может сильно запаздывать.
2) Можно ли организовать разовую запись значения в регистр? Сейчас получается, что если я поставил регистр с признаком WriteOnly, то заданное мною значение пишется в него постоянно. А мне нужно, чтобы раз прописалось - и все.
Спасибо!
То есть некоторые регистры устройства нужно опрашивать по команде или целое устройство по команде?
Отдельные регистры пока что нельзя. В следующей версии мы добавим функцию в скрипты для остановки опроса подустройства. Теги можно будет положить в отдельное подустройство и запускать по мере необходимости.
Вот сейчас как раз такая запись и есть. Посылается запрос, если устройство ответило, что запись произведена запросы записи больше не посылаются. Вот если ошибка записи будет - то да, ОРС будет снова посылать запросы. Или если у вас в скаде стоит периодическая запись значений.
Уважаемый, Вы отдыхаете когда-нибудь? Или вас там легион?
Оперативность поддержки приятно удивляет :)
Именно отдельные регистры. У меня в устройстве такая структура регистров, что часть из них RO, часть WO, часть RW. Кроме того, те, что читаются. могут быть разово читаемыми (например, версия фирмвара, контрольная сумма метрологической защиты), часть - читаемыми по некоторому событию, а точнее - по команде оператора, часть читается часто-часто (это результат измерения и качество результата).
Я разбил устройство на подустройства. Но те регистры, что нет смысла читать очень часто и недопустимо читать редко - вот они и представляют головняк. Пока обойдусь тем, что увеличу траффик, пусть вычитываются.
Ну, я сейчас не о СКАДЕ. Я переделываю модель своего модуля, которая через ОРС-сервер пойдет в СКАДу. Поэтому все, что я сейчас здесь спрашиваю, относится к настройке ОРС-сервера.
Ну и смотрим: есть подустройство, которое, когда создается, не имеет признаков ReadOnly, WriteOnly или иных. В его общих свойствах есть "Период опроса". Как этот период опроса используется программой, если внутри устройства ТОЛЬКО регистры WriteOnly?
Добавлю: для нормальных подустройств ReadOnly - как влияет "Период опроса" устройства на период опроса подустройств, если у них в свойствах свои "Периоды опроса"?
Для WriteOnly период опроса не используется. Запись во WriteOnly (а также во ReadWrite) осуществляется только при команде записи со стороны ОРС клиента.
Никак. Подустройства имеют собственные периоды опроса, на которые период опроса устройства не влияют.
Если среди регистров, которые ОРС-сервер будет вычитывать, найдутся несколько с прилегающими адресами, то соберет ли команда чтения (03) эти регистры в один запрос? Я вижу такой параметр, как Максимально допустимый разрыв адресов в запросе чтения - его нужно оставить 0, ятобы такое сработало? Или это не из той оперы?
Такое объединение может сильно уменьшить траффик...
И еще раз спасибо за ответы!
Да соберет.
Ограничить количество запрашиваемых регистров можно в настройках устройства, или включив у нужного тега "Последний тег в групповом запросе".
Это из этой оперы, но его предназначение несколько другое.
Например может быть такая ситуация, в устройстве (и в ОРС конфигурации) есть регистры с такими номерами:
0, 1, 2, 4, 5, 6
Если мы установим значение данной настройки 0, то будет выполнено два запроса - сначала опросятся регистры 0-2, а затем 4-6. Если же установить максимально допустимый разрыв адрес 1 (или более), то эти регистры будут опрошены за один запрос.