• обязательно заполнить свой профиль на русском языке кириллицей
  • не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему
  • дублирование сообщений приравнивается к спаму
  • за поиск и предложение пиратского ПО - бан без предупреждения
  • рекламу и частные объявления мы не размещаем ни на каких условиях

MT8121 запретить связь

Модератор: специалисты по Weintek

Ответить
Аватара пользователя

Автор темы
Jackson
администратор
администратор
Сообщения: 11671
Зарегистрирован: 17 июн 2008, 15:01
Имя: Евгений свет Брониславович
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 229 раз
Поблагодарили: 464 раза

MT8121 запретить связь

Сообщение Jackson »

Доброе время!

MT8121XE, EbPro последний.

Каким образом (системный бит, слово) можно полностью запретить связь с ModBUS-Slave устройством? Требуется сделать такой "выключатель", который запрещал бы любые посылки на определённое устройство, из макросов и из форм, даже если устройство физически подключено и с ним возможна связь. Устройства разные, подключение - как ModBUS-TCP, так и RS-485 ModBUS-RTU.

Спасибо!
По вопросам работы Форума можно обратиться по этим контактам.

Аватара пользователя

and909
авторитет
авторитет
Сообщения: 819
Зарегистрирован: 27 июн 2013, 11:20
Имя: Андрей Шавшуков
Страна: Россия
город/регион: Пермский край
Благодарил (а): 27 раз
Поблагодарили: 54 раза

MT8121 запретить связь

Сообщение and909 »

Предложу наверное, костыльное решение:
можно использовать переменный адрес устройства (LW-10000 и далее) и для исключения связи с определенным слейвом менять адрес слейва на несуществующий. Будет ошибка связи (можно отключить) но на слейв запросы не пойдут.
Я ленивый: делаю быстро, чтобы отстали и качественно, чтобы не переделывать.

Аватара пользователя

Автор темы
Jackson
администратор
администратор
Сообщения: 11671
Зарегистрирован: 17 июн 2008, 15:01
Имя: Евгений свет Брониславович
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 229 раз
Поблагодарили: 464 раза

MT8121 запретить связь

Сообщение Jackson »

and909 писал(а):
20 апр 2020, 06:09
Будет ошибка связи
Вот как раз этого-то я и хочу избежать. :) Раз связь отключена - значит и ошибок быть не должно.

Отправлено спустя 14 минут 19 секунд:
Руками-то я это делаю (вкл/выкл), но есть подозрение что корявенько и не досмотрел стандартных средств для этого, хотя искал.
По вопросам работы Форума можно обратиться по этим контактам.

Аватара пользователя

Madwolf
знаток Eplan
знаток Eplan
Сообщения: 1351
Зарегистрирован: 17 окт 2012, 10:24
Имя: Виталий
Страна: Беларусь
город/регион: Минск
Благодарил (а): 50 раз
Поблагодарили: 151 раз

MT8121 запретить связь

Сообщение Madwolf »

А как руками сделать вкл/выкл. связи? Разъем достать из панели?

Аватара пользователя

Автор темы
Jackson
администратор
администратор
Сообщения: 11671
Зарегистрирован: 17 июн 2008, 15:01
Имя: Евгений свет Брониславович
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 229 раз
Поблагодарили: 464 раза

MT8121 запретить связь

Сообщение Jackson »

Madwolf писал(а):
22 апр 2020, 19:57
Разъем достать из панели?
:) 20 устройств, все сходятся в один коммутатор, но он не единственный и отключать каждое - к иным придется довольно далеко сбегать, потому что за головным коммутатором ещё оптика, одномодовая. :) Поэтому сделан набор битовых переключателей, который программно обработан. Но суть задачи обратная. Где-то там одно или несколько устройств могут выдернуться или замолчать по другим причинам, а бежать далеко и некому, и пока туда не сбегали - будут таймауты, они тормозят панель. Вот поэтому и возникла идея просто отключать обмен с проблемным устройством чтобы не тормозить панель таймаутами, потому что потеря одного или даже нескольких устройств не даёт оснований для остановки техпроцесса и персонал должен продолжать рулить с минимумом проблем. Такой процесс.
По вопросам работы Форума можно обратиться по этим контактам.

Аватара пользователя

den_vish
освоился
освоился
Сообщения: 222
Зарегистрирован: 11 апр 2013, 12:22
Имя: Вишневский Денис
Благодарил (а): 10 раз
Поблагодарили: 13 раз

MT8121 запретить связь

Сообщение den_vish »

Jackson писал(а):
20 апр 2020, 07:15
Вот как раз этого-то я и хочу избежать. :) Раз связь отключена - значит и ошибок быть не должно.
а если по отключению бита опроса, отключать тот элемент(прятать или менять на другой), который с ним связан? по идее ошибка должна уйти
"- Знаешь, дружище, в чем истинный смысл второго закона термодинамики?
Как ни упирайся, а бардака все больше. И чем серьезнее ты упираешься, тем страшнее неразбериха."(с)

Аватара пользователя

Автор темы
Jackson
администратор
администратор
Сообщения: 11671
Зарегистрирован: 17 июн 2008, 15:01
Имя: Евгений свет Брониславович
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 229 раз
Поблагодарили: 464 раза

MT8121 запретить связь

Сообщение Jackson »

den_vish писал(а):
23 апр 2020, 08:17
а если по отключению бита опроса, отключать тот элемент(прятать или менять на другой), который с ним связан?
Само собой, этот бит ставится в свойства элемента в раздел "безопасность". Но в проекте огромное количество элементов графики, и 20 устройств. представьте, сначала создать это для одного устройства, а потом растиражировать на 19 остальных, и в каждом элементе не забыть переправить этот бит. Кроме того, данные нужны и в скриптах и там тоже это обрабатывается. В результате это всё очень усложняет проект. Вот и ищется решение проще.
По вопросам работы Форума можно обратиться по этим контактам.

Аватара пользователя

den_vish
освоился
освоился
Сообщения: 222
Зарегистрирован: 11 апр 2013, 12:22
Имя: Вишневский Денис
Благодарил (а): 10 раз
Поблагодарили: 13 раз

MT8121 запретить связь

Сообщение den_vish »

Jackson писал(а):
23 апр 2020, 14:02
Само собой, этот бит ставится в свойства элемента в раздел "безопасность". Но в проекте огромное количество элементов графики, и 20 устройств. представьте, сначала создать это для одного устройства, а потом растиражировать на 19 остальных, и в каждом элементе не забыть переправить этот бит. Кроме того, данные нужны и в скриптах и там тоже это обрабатывается. В результате это всё очень усложняет проект. Вот и ищется решение проще.
прописать максимально длинные таймауты ?
"- Знаешь, дружище, в чем истинный смысл второго закона термодинамики?
Как ни упирайся, а бардака все больше. И чем серьезнее ты упираешься, тем страшнее неразбериха."(с)

Аватара пользователя

Автор темы
Jackson
администратор
администратор
Сообщения: 11671
Зарегистрирован: 17 июн 2008, 15:01
Имя: Евгений свет Брониславович
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 229 раз
Поблагодарили: 464 раза

MT8121 запретить связь

Сообщение Jackson »

den_vish писал(а):
24 апр 2020, 05:19
прописать максимально длинные таймауты ?
Само собой. Но ввиду того что обмен данными интенсивный, задержки чувствуются при работе, хотелось бы их нивелировать.
По вопросам работы Форума можно обратиться по этим контактам.

Аватара пользователя

Автор темы
Jackson
администратор
администратор
Сообщения: 11671
Зарегистрирован: 17 июн 2008, 15:01
Имя: Евгений свет Брониславович
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 229 раз
Поблагодарили: 464 раза

MT8121 запретить связь

Сообщение Jackson »

Этот вопрос по топику сам же и раскрутил.

Итак. Можно запретить попытку ре-коннекта после ошибки таймаута - это LB-9153 и далее. Если его отключить, то связь будет продолжаться до первой ошибки таймаута, после неё устройство будет считаться отключенным и отсутствующим, запросы к нему не уйдут из панели.
Признак того что устройство подключено - это LB-10100 и далее, с учётом LB-9153. Отключили LB9153 - LB-10100 будет в 1 до тех пор пока устройство фактически есть, по ошибке таймаута LB-10100 станет 0 и так и останется, до тех пор пока LB-9153 не переключат в 1 и связь не возобновится (устройство ответит).

Вывод 1: каким-либо параметром прервать связь пока она есть - штатными средствами никак. Мне пришлось делать нештатными. Когда устройства и фактически нет - это можно сделать, а когда оно есть и отвечает - такой штатной возможности нет.
Вывод 2: Как-то глючно это работает. Сделал управление по LB-9153 и признаком "связь есть" использовал LB-10100 - в итоге после рестарта панели связь сама не восстанавливается. LB-10100 устанавливается в 1, но запросы не уходят. Почему - так и не понял до конца. В какой-то момент достаточно просто перейти на экран где есть формы прямого отображения LB-9153 и LB10100 - после этого связь поднимается сама. То ли я чего-то не понял, то ли тут глюк в драйвере ModBUS-TCP.
В итоге от штатных средств отказался и вернул свои собственные, это кушает больше ресурсов панели (15-20% загрузки процессора) и вообще сложнее, зато работает.
По вопросам работы Форума можно обратиться по этим контактам.

Ответить

Вернуться в «WEINTEK (операторские панели)»