1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Чтение статуса связи/обмена данными между двумя ПЛК (M251)

Unity Pro (Control Expert), Quantum, Premium, M340, M580, Hybrid DCS, Process Expert, Zelio, Twido, M17*, M2**, SCADAPACK, SoMachine, MachineExpert, ZelioSoft, TwidoSoft, TwidoSuite, TelePace

Модераторы: Глоб.модераторы, Специалисты SE

Ответить

Автор темы
Yuliya
здесь недавно
здесь недавно
Сообщения: 2
Зарегистрирован: 09 июл 2021, 15:19
Имя: Юлия
Страна: Беларусь
город/регион: Минск

Чтение статуса связи/обмена данными между двумя ПЛК (M251)

Сообщение Yuliya »

Добрый день,

В системе используется два контроллера М251. Оба контроллера собирают данные телеметрии (телесигнализации и телеуправления). Но только один отдает все данные на верхний уровень. Для передачи данных с одного контроллера на другой используется сетевые NVL переменные. Подскажите пожалуйста, каким образом можно считывать информацию о успешной связи двух контроллеров (связь есть - 1, связи нет - 0)?

ogorsv
специалист
специалист
Сообщения: 642
Зарегистрирован: 02 дек 2015, 06:57
Имя: Огородников Сергей
Страна: РФ
Благодарил (а): 136 раз
Поблагодарили: 111 раз

Чтение статуса связи/обмена данными между двумя ПЛК (M251)

Сообщение ogorsv »

Добрый день,

Посмотрите раздел справки
Machine Expert > V1.2 > Software > Libraries, Templates and Examples > Libraries > Communication Libraries > SE_NetVarUdp Library Guide > Network Variables List - NVL > Diagnosis of Network Variables List (NVL)

Другим способом является изменение тестовой NVL переменной в одном ПЛК (например, инкремент) и контроль изменений в другом ПЛК за определённый промежуток времени. Если принятое значение изменилось по сравнению с предыдущим принятым - связь есть, если не меняется за определённый промежуток - связи нет
СВ

Автор темы
Yuliya
здесь недавно
здесь недавно
Сообщения: 2
Зарегистрирован: 09 июл 2021, 15:19
Имя: Юлия
Страна: Беларусь
город/регион: Минск

Чтение статуса связи/обмена данными между двумя ПЛК (M251)

Сообщение Yuliya »

Спасибо за помощь,

но мне не совсем понятно какие данные нужно заводить на входы (xExecute, dwListIdentity) этого фукционального блока. Может вы сможете мне помочь в этом?

ogorsv
специалист
специалист
Сообщения: 642
Зарегистрирован: 02 дек 2015, 06:57
Имя: Огородников Сергей
Страна: РФ
Благодарил (а): 136 раз
Поблагодарили: 111 раз

Чтение статуса связи/обмена данными между двумя ПЛК (M251)

Сообщение ogorsv »

Добрый день!

Если вы писали сами программу и создавали списки NVL, то, конечно, помните, что у каждого списка есть свой идентификатор - вот его и нужно задавать на вход этого функционального блока dwListIdentity

Все входы и выходы расписаны даже при наведении курсора
Понимаю, английский язык. Но де факто программист ПЛК на уровне чтения и понимания документации (раньше говорили - "со словарём") как-то хоть одним европейским языком владеть должен ;-)

Что написано в описании блока про вход xExecute?
При переднем фронте происходит чтение статуса обмена, при заднем фронте - сброс всех выходов блока.
Значит, подаёте на вход xExecute пульсирующий сигнал, например, BLINK, с нужной частотой. Например, полсекунды выкл, полсекунды вкл.
Получается, раз в секунду у вас будет обновляться статус обмена списка NVL с указанным идентификатором, например, 1
После чего остаётся проанализировать изменение соответствующих выходов - nReceiveCount, например
data01.jpg
Ежели значение изменилось между двумя вызовами - обмен был, ежели то же самое - обмена нет
Принцип тот же, что я и описывал для второго варианта контроля

PS. А почему для опроса используете именно NVL, а не другие способы? Так-то NVL использует UDP
У вас нет необходимых прав для просмотра вложений в этом сообщении.
СВ
Ответить

Вернуться в «ПЛК»