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

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

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

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

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

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

Сообщение Jackson »

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

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

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

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

Valerich
эксперт
эксперт
Сообщения: 1030
Зарегистрирован: 27 июн 2013, 12:20
Имя: Валерич
Страна: СССР
Благодарил (а): 44 раза
Поблагодарили: 106 раз

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

Сообщение Valerich »

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

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

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

Сообщение Jackson »

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

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

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

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

Сообщение Madwolf »

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

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

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

Сообщение Jackson »

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

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

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

Сообщение den_vish »

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

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

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

Сообщение Jackson »

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

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

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

Сообщение den_vish »

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

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

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

Сообщение Jackson »

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

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

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 (операторские панели)»