-
Здравствуйте!
Постановка задачи: читать данные с регистратора ЭЛЕМЕР, засылать эти данные в quantum. Связать их физически нет возможности.
Решение: регистратор сконфигурирован на чтение, ПЛК - на чтение-запись. Каждому тегу читаемому с регистратора(float), присвоен соответствующий тег в узле ПЛК(float). При попытке чтения тега ПЛК вызывается скрипт (onRead) (c названиями APIшных функций могу сейчас напутать, проект не под рукой):
t,q,s = ReadTagByName("someTag");
local w = {};
w[1] = t;
server.modbus.writeAnalog(arg1,arg2,arg3,arg4,w);
В итоге все работает часов этак 5 (пишется 9 тегов, опрос раз в секунду), и здорово работает.
А потом OPC виснет, сообщение скриптов пишет "c stack overflow", а сам OPC выдает окно о неудавшейся попытке обратиться к ХХХХХХХХХХХХХХХХХХ очень длинному адресу)))
Пробовал в одном из девяти скриптов запускать сборку мусора, ничего не дало.
Объясните, пожалуйста, где я тут накособочил)
Ваши права
- Вы не можете создавать новые темы
- Вы не можете отвечать в темах
- Вы не можете прикреплять вложения
- Вы не можете редактировать свои сообщения
-
Правила форума