Ваши комментарии

При следующем сбое попробую получить больше сведений
Спасибо
это получается что виснут сразу 4 сервера разных производителей одновременно, возможно ли что проблема в Com портах, в плате расширения ?
перезапуск монитора, вся работа восстанавливается
Похожая ситуация, монитор перестает выводить все без исключения данные (если это значения температур, давления - заштрихованы сеткой, если это boolean то все значения true (1)), такая ситуация происходит с периодичностью раз в ~две недели.

OPC сервера:
Овен (RS485 и токовая петля 232)
Меркурий (счетчики электроэнергии RS485)
Carel (холодильные установки HITEMA RS485)
Endress+Hauser (Мемограф Ethernet)

Какая приблизительно может быть причина такого сбоя?
На первом снимке изображены Клиент и сам сервер, пришлось изощрится для получения списка тегов путем сначала запустил сервер, после того как он установил связь с устройством запустил клиент и подключил его к серверу

На втором снимке редактор каналов с выбранным OPC сервером MAHLO, при загрузке как я уже писал, сервер не успевает подключится к устройству и прочитать список тегов по этому в редакторе он пуст

проблема в том что редактор каналов не может подключится к уже запущенному OPC серверу




1.JPG
2.JPG
Описание того что нужно:
У нас 4-е линии производства обоев, на каждой линии установлен Счетчик импульсов СИ8, который считает метраж используемой бумаги, персонал линий (печатники ) работают сменно с 9-00 по 21-00 и с 21-00 по 9-00, нужно вывести значения одно с 9-00 по 21-00 сколько истратилось бумаги, второе - 21-00 по 9-00 сколько истратилось бумаги. Представляю себе это так - запоминаем значение тега "показания счетчика" в 9-00 текущего времени далее запоминаем значение в 21-00, производим вычитание , получившийся результат записываем в вирт. канал (записанное значение хранится(остается неизменным ) до 21-00 следующего дня). Тоже самое с 21-00 по 9-00 только вычитание и запись (в другой вирт. канал) производится в 9-00 текущего времени.

Ответ:
Можно попытаться решить минуя архив, а сохраняя промежуточное значение в глобальной переменной….

Пример:

var
Hour, Min, Sec, Milli, Res : Word;
value, value1: double;
begin

DecodeTime(Now, Hour, Min, Sec, Milli);

// самое простое что можно сделать
Res := Hour + (Min * 100);

case res of
9: begin
value := ReadValue('Канал счетчика');
SetGlobalVar('VAL9', value, true);
end;
21: begin
value := ReadValue('Канал счетчика');
value1 := GetGlobalVar('VAL9');
WriteValue('Канал для показаний', value - value1);
end;
end;
end.



Большое спасибо!
День добрый, ребят, забыли про меня? уж очень нужен пример скрипта, в довесок к этому появилась проблема опроса тегов. Тег счетчика импульсов СИ8. В редакторе каналов стоит время опроса 300мс в opc-сервере Овен стоит 10мс, после запуска монитора больше половины тегов (температура, давление, скорость и т.д.) с различных приборов какое-то время (мин 10, а бывает и больше) не обновляют свои значения а стоят перечеркнуты (нет данных), а показания счетчика СИ8 обновляются с периодичностью мин. 5, а бывает и все 10. Выводил данные через Owen Process Manager, все четко, то есть с сетью всё в порядке. В чем может быть причина такой заторможености? Сейчас редактор каналов содержит более 100 тегов, версия SCADA SIMP Light ENT
Если можно пришлите ссылку на этот ОРС сервер, или сам сервер. Мы у себя его прогоним.


Пытался разобраться сам, проблема в том что OPC сервер общается с устройством по Ehernet и список тегов (переменных) он загружает после установки связи, получается что Редактор каналов добавляет его без тегов (он не успевает загрузить переменные)

OPC сервер отправил Вам на почту


Сервис поддержки клиентов работает на платформе UserEcho