PDA

Просмотр полной версии : Помогите с советом начинаещему. Связь с лектус



t0lyan
27.06.2012, 12:36
Возникла такая проблема. Как в OPC сервере Lectus проверить наличие связи с ПЛК, который подключен по GPRS как мастер? Если связь обрывается, то значения в OPC не изменяется, остаются прежними, а качество хоршими.
Я зделал ПЛК мастером, для того чтобы, в случае аварии контроллер сразу же отпровлял аварийный сигнал.
Или что то не так делаю?

Николаев Андрей
28.06.2012, 11:23
Проверить работу OPC сервера можно OPC клиентом.
Рекомендую для этого Матрикон.

t0lyan
28.06.2012, 17:25
Спасибо за ответ.
У меня Clear Scada 2007 стоит. там данные приходят. но при обрыве связи данные сохраняются. Если бы OPС сервер делал опрос как мастер, то там бы мог взять данные из состояния переменных. Ну а если буду использовать OPС как мастер для опроса, то тогда как мне сделать так что бы, если на объекте будет alarm то сразу пришли данные?

Фан
28.06.2012, 21:40
Для контроля работоспособности контроллера и линии связи надо дополнительно завести две переменных для обмена методом переключений. Коротко алгоритм выглядит так: В начальный момент инициализации переменные по умолчанию FALSE. Мастер устанавливает к примеру первую переменную в TRUE. Алгоритм на другом конце провода (в Вашем случае в Clear Scada) при получении значения TRUE в первой переменной устанавливает значение второй переменной в TRUE. Мастер считывает значение 2 переменной, сравнивает со значением первой переменной и если они равны то все ок. Алгоритм в Мастере устанавливает значение первой переменной в FALSE и все повторяется. Естественно для сравнения дается определенной время (тайм-аут) по истечении которого при разных значениях переменных формируется сигнал ошибки связи. Такой же алгоритм должен быть в Clear Scada. В этом случае оба смогут определить потерю связи.

S.A.D.
30.06.2012, 13:40
Спасибо за ответ.
У меня Clear Scada 2007 стоит. там данные приходят. но при обрыве связи данные сохраняются. Если бы OPС сервер делал опрос как мастер, то там бы мог взять данные из состояния переменных. Ну а если буду использовать OPС как мастер для опроса, то тогда как мне сделать так что бы, если на объекте будет alarm то сразу пришли данные?

аларм во время отсутствия связи? Тогда делать архивацию аварийных параметров и считывать через определенное время.

Если объект критичен, то по аварии переводить объект в режим блокировки (в программе ПЛК) с записью информации об аварии в некую переменную. При появлении связи скада считает эту переменную и выведет необходимые сообщения. Исходя из полученной информации оператор принимает решение сбрасывать ли блокировку.

третий вариант - резервный канал связи. Например при обнаружении ПЛК отсутствия связи (по принципу описаному Фан'ом), плк через GSM модем отправляет смс тому же оператору с информацией об аварии. В зависимости от тех процесса можно совместить с блокировкой.

S.A.D.
31.07.2012, 11:24
во время отладки возникла проблема.
http://i062.radikal.ru/1207/a7/da45280d40a3.jpg (http://www.radikal.ru)
вопрос, что это за "незапрашиваемые данные" Что это модем/контроллер присылает в довесок? Причем не всегда присылает.
и приходят эти данные достаточно часто

S.A.D.
07.08.2012, 09:54
Люди хелп пожалуйста. Ни с того ни с сего приключилась такая ерунда. В конфигурации плк в модуле модбас у меня 2 модуля на 8 bit:

http://s009.radikal.ru/i307/1208/bc/1ffb003c9b08.jpg (http://www.radikal.ru)

в лектусе картинка такая:

http://i080.radikal.ru/1208/48/eddec75acd32.jpg (http://www.radikal.ru)

то есть во втором 8-битном блоке в лектусе все значения 1 хотя должны быть только 3 штуки. Причем если в первом 8-битном блоке перевести первый бит (переменная f1_A_MB) в 0 то и во втором блоке ВСЕ переменные становятся в 0. Как это связано между собой не понимаю. Раньше все было как должно быть. Что я такого поменял не понимаю. Какая переменная в каком состоянии в ПЛК, в таком состоянии она и в лектусе.
Примеры настроек переменных в лектусе:
http://s58.radikal.ru/i159/1208/77/4ce9842c0fed.jpg (http://www.radikal.ru)
http://s008.radikal.ru/i304/1208/f2/c93ede7f3620.jpg (http://www.radikal.ru)

S.A.D.
14.08.2012, 15:28
не понимаю. ОРС от InSAT работает нормально, все переменные отражаются адекватно... А лектус почему-то вторые 8 бит все пишет 1 если самый первый бит 1...Бред какой-то

S.A.D.
15.08.2012, 10:39
люди, ну ответьте кто-нибудь что-нибудь. Я уже весь мозг сломал что я не так делаю...

S.A.D.
15.08.2012, 11:36
чудеса..переустановил лектус и все заработало как надо...

но вот какой вопрос возник далее. Не получается поменять значение бита. Лектус отправляет команду на запись, а ПЛК игнорирует... Более того, при попытке записи какого либо бита все соседние биты двухбайтовой переменной сбрасываются в ноль. Как это объясняется? как же мне поменять значение переменной? Возиться с битовой маской распаковывая и запаковывая её ооооочень не хочется

Рабиндранат
15.08.2012, 12:23
Ув. S.A.D., предлагаю Вам все непонятные вопросы, связанные с Lectus'ом задавать их тех. поддержке онлайн.
Ребята очень отзывчивые и многие вопросы решают на ходу.
http://www.lectussoft.com/

sink3d
06.09.2012, 08:52
Поставьте в настройках узла Lectus функцию чтения:01 и функцию записи:05.