УкраїнськаEnglishmRussian
Вход/Новый
В теме много сообщений

обнаружение обрыва связи


Автор Сообщение
Сообщение создано: 10. 02. 2011 [05:12]
SergGray
Сергей Гурьянов
Создатель темы
Зарегистрирован(а) с: 02.02.2011
Сообщения: 50
Как из программы узнать есть ли обмен с устройством. линия очень длиная и бывают обрывы как рукотворные так и природные. есть необходимость чтобы программа при обрыве связи поднимала шум. в документации пока обнаружить не удалось. подскажите пожалуйста где поглядеть.
Сообщение создано: 10. 02. 2011 [21:40]
Aleksey
Aleksey Popkov
Contributor
Зарегистрирован(а) с: 31.07.2008
Сообщения: 326
Предусмотрен атрибут err. Можно на него смотреть и выдавать транспорант при ошибке.
Вот еще.
http://wiki.oscada.org/Doc/KoncepcijaSredyVizualizacii/part4/part7?v=p0y

[Сообщение редактировалось 2 раз(а), в последний раз 10.02.2011 в 21:53.]
Сообщение создано: 11. 02. 2011 [08:12]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3743
"SergGray" wrote:

Как из программы узнать есть ли обмен с устройством. линия очень длиная и бывают обрывы как рукотворные так и природные. есть необходимость чтобы программа при обрыве связи поднимала шум. в документации пока обнаружить не удалось. подскажите пожалуйста где поглядеть.

- Атрибут параметра устанавливается в EVAL.
- Атрибут "err" параметра устанавливается в код и текст ошибки.
- Состояния контроллера источника данных устанавливается в код и текст ошибки.

Learn, learn and learn better than work, work and work.
Сообщение создано: 15. 04. 2011 [11:15]
yozhik
Алексей Николаев
Зарегистрирован(а) с: 29.11.2010
Сообщения: 127
"roman" wrote:

- Состояния контроллера источника данных устанавливается в код и текст ошибки.

Kак правильно в Logic Level получить доступ к переменной состояния контроллеров если их несоклько? Можно ли передать как-либо в шаблон ссылку на объект контроллера, чтобы там сделать obj.status() или надо на каждый из контроллеров свой шаблон создавать и жестко прописывать название контроллера?
Сообщение создано: 15. 04. 2011 [12:01]
yozhik
Алексей Николаев
Зарегистрирован(а) с: 29.11.2010
Сообщения: 127
"yozhik" wrote:

"roman" wrote:

- Состояния контроллера источника данных устанавливается в код и текст ошибки.

Kак правильно в Logic Level получить доступ к переменной состояния контроллеров если их несоклько? Можно ли передать как-либо в шаблон ссылку на объект контроллера, чтобы там сделать obj.status() или надо на каждый из контроллеров свой шаблон создавать и жестко прописывать название контроллера?

Уже нашел. Вопрос снимается. Спасибо.
Сообщение создано: 20. 04. 2011 [09:58]
SergGray
Сергей Гурьянов
Создатель темы
Зарегистрирован(а) с: 02.02.2011
Сообщения: 50
Здравствуйте. Во первых спасибо за ответы и извините мысль была не точно сформулирована. Есть статус обмена, если связь хорошая то статус = 0, если проблемы со связью статус = 10. статус смотрю (сбор данных->Modbus->мой обьект->вкладка контроллер) как из виджета увидеть состояние этого статуса? потому как ответы выше позволяют котролировать конкретный параметр по его значению "eval" или параметру "err". наверное есть и другие статусы но про них пока ничего не нашел. Спасибо.
Сообщение создано: 20. 04. 2011 [11:06]
Aleksey
Aleksey Popkov
Contributor
Зарегистрирован(а) с: 31.07.2008
Сообщения: 326
http://wiki.oscada.org/Doc/FLibSYS?v=9in#h378-7
Сообщение создано: 20. 04. 2011 [11:59]
SergGray
Сергей Гурьянов
Создатель темы
Зарегистрирован(а) с: 02.02.2011
Сообщения: 50
Если правильно понял в результате //sub_DAQ/mod_ModBus/UBZ302_1/prm_xxx я получу признак включен контроллер или нет. Так вот контроллер никто выключать не собирается. Просто данные могут пропасть, а потом появится и важно Контролировать именно статус соединения. В форме "Контроллер" под состоянием есть статус вот он то мне и нужен. какой его id я пока не нашел. и поэтому написал prm_xxx.
Может и неправильно чего понял, поправьте.
Сообщение создано: 20. 04. 2011 [12:59]
SergGray
Сергей Гурьянов
Создатель темы
Зарегистрирован(а) с: 02.02.2011
Сообщения: 50
СТАТУСЫ 0:Запущен. Вызов с периодом 1 сек.
1: Включен.
2: Выключен
10: Запущен. Ошибка соединения.
Если статус = 10 то надо в виджете выдать сигнал, цветом звуком, чтобы меры принимали.
Сообщение создано: 20. 04. 2011 [13:10]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3743
"SergGray" wrote:

Может и неправильно чего понял, поправьте.

Прочитать это: http://wiki.oscada.org/Doc/OpisanieProgrammy#h920-10

Алексею: Ты зачем опять ссылки на устаревшее API даёшь?


Learn, learn and learn better than work, work and work.



2610