Это скрин MASTERSCADA 4D
Вложение 79965
Это скрин MASTERSCADA 4D
Вложение 79965
Последний раз редактировалось Артем87; 10.11.2024 в 15:40.
ну там идут регистры временного хранения и входные регистры. Что где куда?. И адреса на стороне CODESYS мне не надо назначать, ток в MASTERSCADA 4D буду назначать типа 000001 или 00017 в зависимости от типа регистра
Проверил ещё раз, запись мастером 0 бит 0 регистра, попадает в 0 бит 0 регистра слейва (рег. временного хранения) 1 Запись мастером Маски 0 регистра.png
Чтение в мастере надо делать функцией 0х04. Это если с одного виртуального ПЛК на другой передавать массивом.
А вот с ОРС сервера (чтение запись бит) 8 бит попадает в 0, а 0 бит в 8 бит 1 Запись с ОРС сервера.png
Чтение бит функция 0х02 и запись бит функция 0х0f.
Последний раз редактировалось kondor3000; 10.11.2024 в 19:36.
Спасибо, пока разбираюсь. У меня вертуальный ПЛК выступает в роли slave, а MASTERSCADA 4D как MASTER. Ток при настройках ничего такого я не видел. Просто Modbus TCP Device на стороне MASTERSCADA 4D и все. Как я понял к этим регистрам протокола Modbuss TCP надо правельно уметь обращаться. Пока читаю докумнтацию между строк 5.jpg
Последний раз редактировалось Артем87; 10.11.2024 в 20:41.
И с этими регистрами большая вложеность при открытии клике мыши. Надо привыкать к этой среде
Для ПЛК-200 в итоге заработало даже с четностью NONE
И даже когда я по ошибке указал параметр usiMedium:=0, то есть rs232 вместо реального rs485, то все равно работает.
Я так понял, что в данном конкретном случае этот параметр не влияет на работу метода.
Код:Modbus_Master_COM_Port.xStop := TRUE; Modbus_Master_COM_Port.UpdateComParameters(9600, 0, 0, 8, 1, FALSE, 4) Modbus_Master_COM_Port.xStop := FALSE;
НО, уже второй день пытаюсь тоже самое сделать для ПЛК-210, но никак не выходит (
Уже все комбинации параметров перебрал. Хотя казалось бы, отличие от вызова только в номере ком порта должно быть
https://disk.yandex.ru/i/CwQtK3UukD906g - вот запись с экрана (первая строчка - подача питания на HMI)
В связи с этим несколько вопросов.
1) Как вообще можно что-то вернуть из этого метода, в частности ERR_PARAMETER?
В описании ничего не вижу
https://content.helpme-codesys.com/e...arameters.html
2) Есть ли возможность у кого-нибудь протестировать этот метод именно на ПЛК-210? (чтобы сравнить с моим результатом)
Ибо эта функция очень нужна
Или может быть кто-то увидит на демонстрации, что я где-то косячу.
Добрый день.
Проверил с ПЛК210-01 - функционал работает корректно. Использовал такой код:
Код:IF xChangeBaudrate THEN Modbus_Master_COM_Port.xStop := TRUE; Modbus_Master_COM_Port.Enable := FALSE; Modbus_Master_COM_Port.UpdateComParameters ( COMPORT := 5, udiBaudrate := udiBaudrate, usiDataBits := 8, usiStopBits := 1, usiParity := 0, usiMedium := 1, xPolarization := FALSE ); Modbus_Master_COM_Port.Enable := TRUE; Modbus_Master_COM_Port.xStop := FALSE; xChangeBaudrate := FALSE; END_IFДля ПЛК-200 в итоге заработало даже с четностью NONEПро NONE - я ошибся, баг с NONE проявляется только когда сам ПЛК работает в режиме Slave.1) Как вообще можно что-то вернуть из этого метода, в частности ERR_PARAMETER?
Это касается и метода - для мастера метод ничего не возвращает.
На вашем скриншоте Parity устанавливается в ODD - так и задумано?
Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk
Это тоже интересно, пытаюсь также наладить работу для ПЛК как слэйва
UpdateComPortSettings и UpdateUnitID.
Вроде как не срабатывают, запросы от мастера продолжают успешно приниматься
Оба метода при этом возвращают 1. Это показатель успешного выполнения или что единичка означает в данном случае?