PDA

Просмотр полной версии : ПЛК150 + Modbus rtu RS485



Пьер
01.04.2020, 23:43
ПЛК 150 к нему подключаю устройство (параметры во вложении). В конфигурации настраиваю Modbus Master- RS485 (9600/even/8/1) адрес устройства 1.
Universal Modbus Device добавил. Register input module считываю адрес регистра 40961. НО ПЛК всегда выдает ошибку связи 81. Что только неперепробовал. Устройство моргает, что опрос есть.
Подскажите, что можно еще попробовать?
Раньше со всеми устройствами вообще проблем не было.

Пьер
02.04.2020, 00:38
"адрес регистра 40961" => 960
Поменять местами A-B
Пробывать и 3 и 4 функции

Что только уже не пробовал. И А и В местами менял. Всю голову сломал.
Для этого устрйства есть родная сенсорная панель, типа нашей сп. Ее подключаю она свзывается сразу. Когда отключаю, на ней выходит Error 0x41 и праметры:
Driver: Modbus RTU Master
Serial port: COM1
PLC Station:1
Baud:9600
Data:8
Parity:Even
Stop:1
Error info:Read
Address: 4x40960(опрос 961 и 963 попорядку)
Len:1

В приложенном доке написан регистр для чтения и записи 0xa001, его в десятичной прописываю в ПЛК и так и сяк, всегда ошибка 81. А эта ошибка выходит, когда неправильно считываешь или неправильные параметры сети.

Пьер
02.04.2020, 01:05
Да на-ть что написано. Номер регистра конкретно 960 опрашивается ?

нет не опрашивается

Пьер
02.04.2020, 01:15
Просто 0 ?

ошибка 81 все равно.

Пьер
02.04.2020, 01:27
Проект ПЛК и скан настроек слейва

Скан слейва немогу, это устройство просто с документом, у него меняется только адрес нажатием физическим кнопочки от 0 до FF.
док выложил в начале темы. Там настройки 9600/even/8/1
адрес устройства 1

Пьер
02.04.2020, 01:46
А про even там где ?

Communication using RTU character frame format:Parity check
четность

Пьер
02.04.2020, 01:56
факт контроля четности, а odd/even (а то и ноне) - вопрос. Имеет смысл проверять ?

пробовал уже.

Пьер
02.04.2020, 02:08
? снифер какой или сислибкомом ? нет ссылочки?

Пьер
02.04.2020, 02:18
https://freeserialanalyzer.com/
но сам не юзал )) кто может и лучше подскажет.


Таймаут до 500. Polling - 600. Framing time до 50 ?

у меня переходника сейчас нет((

Пьер
02.04.2020, 02:22
у меня переходника сейчас нет((

polling не помогает

Пьер
02.04.2020, 02:23
В смысле переходника ?
rs 485 -> usb чтоб к ПК подключить панель

Пьер
02.04.2020, 02:28
А точно всегда 81 ? Может просто часто ?

всегда. Причем чтобы не делал в настройках связи на ПЛК, после загрузки программы начинается опрос и лампочка на устройстве моргает. И когда Time out меняю на 1000, моргает раз в секунду.

Что то с регистрами не так

Пьер
02.04.2020, 02:37
Можно на сислибкоме прослушку соорудить, но если чесно, несмотря на карантин - спать хоцца.

PS
Framing time 50 (c большими poll и таймаут) - есть что ?

ничего не происходит

Пьер
02.04.2020, 02:50
Можно на сислибкоме прослушку соорудить, но если чесно, несмотря на карантин - спать хоцца.

PS
Framing time 50 (c большими poll и таймаут) - есть что ?

А как то можно по команде записывать и считывать?

Пьер
02.04.2020, 12:41
А что это меняет ?

Разбирать нужно физику :
rs на ПЛК жив ? Он (или его) что нить другое может опросить ?
Проводочки норм ? (A-B/B-A, обрыв ..)
rs на дефайсе по ходу жив - коли с какой-то панелью вяжется.

Настройки :
Видимо вообще все и стоп-биты тоже

И логику :
Переводить творчески всю пдф'ку - а это точно модбас ? Прослушать что там панель шлет и что ей отвечают. Отключить панель и повторить пакет руками. Если модбас - бывает минимальная пауза между пакетами (и далеко не rtu-шная),

Факт ok-запроса лучше подсветить бибикалкой (special output и tof - в помощь) и счетчиком. После каждой перенастройки поперетыкать проводочками - сразу слышно. А если покурить отошел - счетчик в помощь.

Смотрите! Ошибка осталась! НО получается передавать данные, но считывать еще пока не знаю, буду сегодня пробовать. Зачем мне запись по команде. На ус-ве есть рег. в который подаешь 0х0001 - значение в регистре увеличивается на единицу, каждый опрос, подаешь 0x0002 уменьшается значение на 1, если подать 0, то значение в регистре обнуляется сразу, а мне надо чтобы зафиксировать. Допустим нажал я два раза на кнопку на панели, значение увеличил на две единицы и все. Я с таким первый раз сталкиваюсь, почему нельзя было в процентном соотношении задавать?!

А бибикалкой подсвечу - это идея.

Пьер
02.04.2020, 13:16
только либы..)

Надо будет тоже этим заняться. Кстати в SMLogix у сегнетика - считывание и запись по команде очень удобная. Просто добавляешь в блоке управляющий бит.
Хочу все на либах сделать и считывание и запись.

manjey73
02.04.2020, 13:19
Если even = none то было бы всего 8 бит, а судя по документу там 9 с учетом контроля четности. Извините но куда-то бит необходимо писать при проверки четности(не четности).
Пробовали подключиться к устройству с ПК любой Scada системой ? если начнете читать, то проблема в ПЛК. я уже нарывался (правда не на ПЛК), когда в режиме 7E1 ничего не работало. Разработчики нашли проблему в драйвере порта на своем устройстве.

Раз другая панель устройство читает без проблем, стоило бы задуматься и проверить чем нибудь еще, исключив ПЛК

Пьер
02.04.2020, 22:47
Главное.... Железо - целое
Оказалось не целое, RS485 не в рабочем состоянии. На другом плк, все отлично работает. Мучился два дня с этим.