Цитата Сообщение от kfvniiz Посмотреть сообщение
Может сам OPC глючит, тут после лектуса и кодесиссовского OPC можно всякого ожидать. Крайне они специфичны. Хотя после выбора правильной версии и настройки вроде пашут (зато цена у них не такая как у того же kepware). Для тестов я обычно использую какой-нибудь проверенный клиент, например, kepware. Есть и другие.

Глянул код. Вот мне странно, а почему ты в таймере каждый раз теги добавляешь
NewItem2:=NewGroups.GetOPCGroup('Group1').OPCItems .AddItem('PLC1:PLC_PRG.poz1', 1);
как думаешь когда OPC от этого станет нехорошо и когда у системы закончатся ресурсы? Конечно за 5 минут вроде не должны бы, хотя как знать. В общем из таймера добавление тегов лучше убрать. Только конечно, если это не какая-то особенность вот данных библиотек. Далее в Delphi таймеры очень специфичны и код в них лучше защищать на случай вылета exception внутри метода и повторного входа в обработчик из-за всплывшего модального окна.
Потом хорошо еще предусмотреть вариант того что OPC сервер вот взял и упал. Причем очень тихо. И вот тогда надо к нему переконнектится. В общем случае должны быть процедуры для коннекта к OPC с созданием групп и тегов, далее процедура для обновления данных, процедура для проверки доступности сервера, процедура для дисконнекта.
Изначально этих тегов не было, и программа без них не работала корректно. Когда с датчика приходила единица, то все ок, а вот когда ноль - первый раз считывал нормально, затем вылет - с ошибкой что вышло из допустимого диапазона....