Добавлено: 27 апр 2010, 11:48
Добрый день.
Есть такая схема:
SCADA ---- OPC ---- WinDecont ---- Ethernet ---- A9
Задача: хранение некоторых значений в энергонезависимой памяти A9 с заданием их из скады.
Реализовано: уставки хранятся в массиве глобальных переменных компонента разработчика, в контроллере WinDecont организованы два списка (аналоги-чтение/аналоги-запись) на одни и теже списки переменных, написан компонент разработчика, который в зависимости от некоторых условий (первый старт, состояние связи с A9) включает/отключает эти списки обмена.
Проблемы: при кратковременном пропадании связи с A9 дискрет состояния связи с ним (который выставляется компонентом База-Клиент при неудачной попытке чтения другого списка из A9) не успевает сбрасываться и переменные получают значение "0" и код ошибки 2819, которые потом при восстановлении связи передаются в A9, затирая реальные значения уставок.
Вопрос: вероятно, что эта схема избыточна и неправильна. Каким образом ПРАВИЛЬНО организовать схему передачи уставок из скады в A9?
Есть такая схема:
SCADA ---- OPC ---- WinDecont ---- Ethernet ---- A9
Задача: хранение некоторых значений в энергонезависимой памяти A9 с заданием их из скады.
Реализовано: уставки хранятся в массиве глобальных переменных компонента разработчика, в контроллере WinDecont организованы два списка (аналоги-чтение/аналоги-запись) на одни и теже списки переменных, написан компонент разработчика, который в зависимости от некоторых условий (первый старт, состояние связи с A9) включает/отключает эти списки обмена.
Проблемы: при кратковременном пропадании связи с A9 дискрет состояния связи с ним (который выставляется компонентом База-Клиент при неудачной попытке чтения другого списка из A9) не успевает сбрасываться и переменные получают значение "0" и код ошибки 2819, которые потом при восстановлении связи передаются в A9, затирая реальные значения уставок.
Вопрос: вероятно, что эта схема избыточна и неправильна. Каким образом ПРАВИЛЬНО организовать схему передачи уставок из скады в A9?