Страница 250 из 251

Re: EasyBuilder - Скорая помощь новичкам

СообщениеДобавлено: 10 апр 2024, 11:05
8bit
IvanVinci писал(а):
Проблема в следующем:
Если один из ПЛК выключен, то при запросе тэгов из cMT-G01 у рабочего ПЛК периодически статус: Bad (Communications Failed)
...........
Сталкивался ли кто с такой проблемой или есть ли совет по решению?

проблема в том, что один из ПЛК выключен ?

Re: EasyBuilder - Скорая помощь новичкам

СообщениеДобавлено: 10 апр 2024, 13:30
IvanVinci
8bit писал(а):
IvanVinci писал(а):
Проблема в следующем:
Если один из ПЛК выключен, то при запросе тэгов из cMT-G01 у рабочего ПЛК периодически статус: Bad (Communications Failed)
...........
Сталкивался ли кто с такой проблемой или есть ли совет по решению?

проблема в том, что один из ПЛК выключен ?


Нет, проблема в том что когда один из трех ПЛК отключается, то с рабочих начинают периодически приходить статусы Bad (Communications Failed) на запросы данных

Re: EasyBuilder - Скорая помощь новичкам

СообщениеДобавлено: 10 апр 2024, 14:30
ArtemPM
IvanVinci писал(а):Нет, проблема в том что когда один из трех ПЛК отключается, то с рабочих начинают периодически приходить статусы Bad (Communications Failed) на запросы данных

Отключенный ПЛК при этом остается висеть на линии? Что будет если его отключить физически от линии связи?

Re: EasyBuilder - Скорая помощь новичкам

СообщениеДобавлено: 11 апр 2024, 10:47
IvanVinci
ArtemPM писал(а):
IvanVinci писал(а):Нет, проблема в том что когда один из трех ПЛК отключается, то с рабочих начинают периодически приходить статусы Bad (Communications Failed) на запросы данных

Отключенный ПЛК при этом остается висеть на линии? Что будет если его отключить физически от линии связи?


Пробовали и физически отключать от линии и оставлять его отключённым на линии - одинаково

Re: EasyBuilder - Скорая помощь новичкам

СообщениеДобавлено: 22 май 2024, 18:24
Number17
Панель MT8072iP. Запил на ней MOBUS Server. Мастером выступает другая такая же панель. Соединил, запустил, пишу-читаю из одной панели в другую. Требуется определить некоторые ячейки LW ячейки только для чтения.
Захожу в System Parameters-Device - Setting/Security - Data Security и ставлю для ячейки LW-0 ( к примеру) галку "Disable Remote Write operation". Ожидаю что теперь ячейку LW-0 возможно будет только читать удалённо, а записывать будет невозможно в неё что то. Но ничего подобного... Данные так же возможно перезаписать с другой панели. Что не так делаю? Что пропустил?

P.S. Установка галки "Prohibit remote write operation of remote HMI or Modbus client" даёт нужный результат, но только для непрерывного диапазона адресов, т.е. нельзя получается поставить защиту от записи на произвольную ячейку, а только на диапазон адресов.

P.S. Ещё... в настройка Device MODBUS сервера в настройках СОМ-порта есть задание допустимого диапазона адресов. Так вот, в скобочках обозначен диапазон (0~9999), а реально задаётся 0-1000. Версия ABP 6.08.01.350.

Re: EasyBuilder - Скорая помощь новичкам

СообщениеДобавлено: 24 май 2024, 10:36
Number17
Number17 писал(а):P.S. Ещё... в настройка Device MODBUS сервера в настройках СОМ-порта есть задание допустимого диапазона адресов. Так вот, в скобочках обозначен диапазон (0~9999), а реально задаётся 0-1000. Версия ABP 6.08.01.350.


С этим разобрался.

Re: EasyBuilder - Скорая помощь новичкам

СообщениеДобавлено: 28 май 2024, 00:19
Mal
ArtemPM писал(а):
Я писал(а):Добрый день.
Как можно с помощью индексного регистра обратится к разным базам данных в ПЛК? Т.е. чтобы при значении индексного регистра равном 0 элемент Numeric мог выдавать, допустим, значение из адреса db1000.dbd6, а при другом значении - db2000.dbd 6? Пока что у меня получается следующее: сколько бы я не закладывал значение индексного регистра, панель берет значение из одной и той же базы данных. Пожалуйста, помогите.
Спасибо.

В общем-то ни чего сложного. Используйте тип адреса DBDn формата FFFFFDDDD, где FFFFF - номер DB, а DDDD адрес переменной в этом DB. Для перехода внутри DB индексный регистр должен быть в интервале от 0 до 9999. Для перехода между DB индексный регистр должен быть в формате XXXXX0000.
То есть в вашем случае:
Начальный адрес: DBDn 10000006
индексный регистр 10000000 - DB2000.DBD6
индексный регистр 10000 - DB1001.DBD6
и.т.п.
Но работать это будет только для абсолютной адресации.
И кстати, это не базы данных, а блоки данных - Data Block

Спасибо, помогло!

Re: EasyBuilder - Скорая помощь новичкам

СообщениеДобавлено: 30 май 2024, 17:34
ivan_ivan
Подскажите, как грамотно сделать так чтобы на панели-слэйве можно было узнать о том что мастер ПЛК выключен, либо отвалился модбас?

Пока сделал коряво - с мастера пересылаю бит во внутренний регистр панели со стандартным интервалом модбас
Также есть макрос, который выполняется периодически (пробовал 2-5 секунд) и выставляет ноль в тот же бит, чтобы при отваливании мастера можно было увидеть что в отслеживаемом регистре 0
И также есть макрос, который меняет окна в зависимости от состояния отслеживаемого бита. Учитывая что бит перетирается в ноль каждые несколько секунд автоматически, то периодически происходит перехлест и на доли секунды вылетает окно с ошибкой, даже если ее нет на самом деле
Н т.е. если контроллер не успел отправить новый запрос с единичкой вовремя.

Смотрел системные регистры из раздела 22.3.12 в документации
Там регистр receives request всегда выставлен, даже если запросов от мастера давно не было
Попробовал регистр request's function code - MODBUS server (LW-9270 и далее), присылает номер функции из последнего запроса мастера
Может быть как-то в макросе считать время от последнего обновления этого регистра и при определенном тайм ауте считать что мастер отвалился.
Но не нашел, можно ли такое сделать. Видимо нет.

Re: EasyBuilder - Скорая помощь новичкам

СообщениеДобавлено: 30 май 2024, 20:13
dimensy
ivan_ivan писал(а):Подскажите, как грамотно сделать так чтобы на панели-слэйве можно было узнать о том что мастер ПЛК выключен, либо отвалился модбас?


Можно мастером слать локальную секунду, а в панели периодически макросом сравнивать старое и новое значение

Re: EasyBuilder - Скорая помощь новичкам

СообщениеДобавлено: 31 май 2024, 09:48
8bit
ivan_ivan писал(а):Подскажите, как грамотно сделать так чтобы на панели-слэйве можно было узнать о том что мастер ПЛК выключен, либо отвалился модбас?

Смотрел системные регистры из раздела 22.3.12 в документации


1) LW-9576 - (32bit) : received data count (bytes) (Ethernet MODBUS server) - подходит ?
2) ПЛК периодически ставит в TRUE переменную,а панель сбрасывает TRUE в FALSE. Если панель видит FALSE - gj[j;t GKR отвалился (для надежности можно 3-5 циклов подождать от него TRUE)