ilya
Forum Professor / Завсегдатай форума
Участник № / Member № 469
отправлено / posted
Описываю ситуацию: В проекте имеются каналы, работающие с модулями I-7000. Каждому модулю соответствует объект (как и при автопостроении). Каналы типа FLOAT сохраняются в дамп (дабы потом пользователь мог менять границы). Каналы типа HEX не сохраняются. Для каждого объекта создан канал Объект->Недостоверность (не сохраняется в дамп) Объект->Состояние (сохраняется в дамп, флаг отработать, начальное значение: 1). Теперь суть проблемы: 1). При первом запуске (дамп не создан) – все О.К. 2). При последующих запусках: у каналов вида HEX работающих с дискретными модулями при запуске выставляется флаг недостоверности. Почему недостоверность “успевает” появится? И почему именно у дискретных? Я же выключаю DCS каналы с помощью каналов Объект->Состояние? P.S. После первого запуска я не включал каналы DCS, т.е. запустил – недостоверность не выставилась, каналы отключены. Завершил работу, запустил повторно – недостоверность появилась.
Сообщения / Posts 216 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
1) Каким образом реализовали, что канал Объект-Недостоверность не сохраняется с дамп - через объект "Без восстановления"? 2) Сами каналы типа HEX в дамп сохраняются? Если да, то рекомендую посмотреть их атрибуты Достоверность после старта системы с подчитыванием состояния.
Сообщения / Posts 17354 | Из / From: Россия
| IP / IP: IP адрес / IP address |
ilya
Forum Professor / Завсегдатай форума
Участник № / Member № 469
отправлено / posted
1)Да. 2)Сами HEX каналы в дамп не сохраняются. Сейчас посмотрел внимательно, оказывается канал Объект->Состояние просто не выключает при старте Hex->DCS каналы. Отсюда недостоверность. Вопрос теперь в том, почему он этого не делает. Т.е. при первом старте срабатывает нормально. А вот при последующих, когда дамп уже есть, каналам Объект->Состояние при старте присваивается "1", каналы которыми они управляют почему-то не выключаются(и это наблюдается только для HEX для FLOAT - все OK)
Сообщения / Posts 216 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Дело в том, что у Вас каналы, которые управляют Состоянием каналов DCS сохраняются в дамп, а при последующих стартах их значения из дампа не отрабатываются. Поместите эти каналы (Сост_ШК2D1, Сост_ШК2D2 и т.д.) в объект "Без Восстановления", тогда все будет нормально.
Сообщения / Posts 17354 | Из / From: Россия
| IP / IP: IP адрес / IP address |
ilya
Forum Professor / Завсегдатай форума
Участник № / Member № 469
отправлено / posted
Мне бы хотелось видеть такую картину: 1). При первом запуске каналы выключены. 2). Пользователь может включать-отключать опрос модулей. 3).Если пользователь отключил опрос модуля, то после завершения работы МРВ и последующем его запуске каналы оставались выключеными. Именно поэтому я и сохраняю каналы (Сост_ШК2D1, Сост_ШК2D2 и т.д.) в дамп.
отправлено / posted
Тогда надо сделать их принудительную отработку при старте системы - собираете эти каналы в объект, делаете его "загружаемым" и настраиваете на него канал типа ОБЪЕКТ_Выдача. Автоматически подавать в этот канал значение можно от FBD с одним элементом типа "Срабатывание по переднему фронту", на вход которого подается константа 1. Тогда при запуске проекта Вы получите единичный импульс, который отработает все OutPut-каналы.
Сообщения / Posts 17354 | Из / From: Россия
| IP / IP: IP адрес / IP address |