Повідомлення створено: 14. 01. 2020 [08:57]
|
coro
Bkmz Bkmz
Автор теми
Зареєстрован(а) с: 08.10.2014
Повідомлення: 12
|
Добрый день!
К элементу Protocol_Modbus прикручен шаблон с процедурой, в которой происходит вызов функций (JavaLikeCalc), которая формирует аварийное сообщение (SYS.DAQ.LogicLev[idk].alarmSet(tErr, levErr, idk + "*" + typez);) Из-за того, что Protocol_Modbus запускается и начинает исполнять процедуру раньше инициализации DAQ_LogicLev, получаем - на старте имеются несформированные сообщения. Подскажите, как лучше реализовать хотелки - надо поменять алгоритм действий, или можно поменять последовательность запуска модулей, или выставить задержку (слип не подходит) в теле процедуры?
|
Повідомлення створено: 14. 01. 2020 [21:23]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
|
"coro" wrote:
К элементу Protocol_Modbus прикручен шаблон с процедурой, в которой происходит вызов функций (JavaLikeCalc), которая формирует аварийное сообщение (SYS.DAQ.LogicLev[idk].alarmSet(tErr, levErr, idk + "*" + typez);) Из-за того, что Protocol_Modbus запускается и начинает исполнять процедуру раньше инициализации DAQ_LogicLev, получаем - на старте имеются несформированные сообщения. Подскажите, как лучше реализовать хотелки - надо поменять алгоритм действий, или можно поменять последовательность запуска модулей, или выставить задержку (слип не подходит) в теле процедуры?
Не вызывать alarmSet() извне для объекта контроллера в неизвестном состоянии, которая собственно и предназначена для вызова из внутренних процедур этого объекта.
А вызывать тогда alarmSet() в параметрах этого объекта контроллера или прямо SYS.message().
"coro" wrote:
или выставить задержку (слип не подходит) в теле процедуры
Можно и подождать, поскольку там периодический вызов. Что написано в "Как сделать"!
Learn, learn and learn better than work, work and work.
|