Стартовая страница › Форумы › Взаимодействие с устройствами › Modbus › Опрос Moxa 1242
- В этой теме 48 ответов, 3 участника, последнее обновление 3 года, 7 месяцев назад сделано
Mikhail.
-
АвторСообщения
-
18.10.2022 в 12:11 #25529
fergus2022
Участник«Так поставьте в Scada начинать с 0 и в десятичном виде адресацию. » — так и выставлено. Всё равно приходится со смещением +1 считывать, как выше писал.
18.10.2022 в 12:26 #25530fergus2022
Участник18.10.2022 в 12:43 #25537
MikhailМодератор«Так поставьте в Scada начинать с 0 и в десятичном виде адресацию. » — так и выставлено.
Сравните адрес регистра при настройке шаблона и адрес в пакете после парсинга. Убедитесь, что конфигурации передана на исполнение. Также можете открыть шаблон Модбас в виде XML и посмотреть адресацию в нём. В XML адреса всегда указаны с 0. На форме редактирования отображаются либо с 0, либо с 1 в зависимости от настройки. То есть эта настройка влияет только на отображение в редакторе.
18.10.2022 в 12:45 #25538
manjey73УчастникПолный запрос ответ группы AI00-03 покажите, лучше тексом, байтами
подозреваю, что у вас смещение на регистр и отсутствие перестановки.-
Ответ изменён 3 года, 7 месяцев назад пользователем
manjey73.
18.10.2022 в 13:35 #25547fergus2022
Участникиз журнала скриншот
запрос:Part of Data Package Description Value 32 85 Transaction identifier 0x3285 (12933) 00 00 Protocol identifier 0 = MODBUS protocol 00 06 Length 0x0006 (6) 01 Unit identifier 0x01 (1) 04 Function code 0x04 (4) - Read Input Registers 02 09 Starting address Physical: 0x0209 (521) Logical: 0x020A (522) 00 08 Quantity 0x0008 (8)ответ:
32 85 Transaction identifier 0x3285 (12933) 00 00 Protocol identifier 0 = MODBUS protocol 00 13 Length 0x0013 (19) 01 Unit identifier 0x01 (1) 04 Function code 0x04 (4) - Read Input Registers 10 Byte count 0x10 (16) 00 00 00 00 41 30 00 00 40 80 00 00 40 C0 00 00 Register value 0x0000 (0), 0x0000 (0), 0x4130 (16688), 0x0000 (0), 0x4080 (16512), 0x0000 (0), 0x40C0 (16576), 0x0000 (0)18.10.2022 в 13:41 #25548
manjey73УчастникПросил же текстом. или предлагаете со скрина вбивать все..
Сделайте так, чтобы запрос начинался с ЧЕТНОГО адреса, потому что если сравнивать с arOPC у вас смещение идет, отсюда и проблема-
Ответ изменён 3 года, 7 месяцев назад пользователем
manjey73.
18.10.2022 в 13:42 #25549fergus2022
Участникщас скопирую
18.10.2022 в 13:42 #25551fergus2022
УчастникSend (12): 00 20 00 00 00 06 01 04 02 09 00 08 Receive (7/7): 00 20 00 00 00 13 01 Receive (18/18): 04 10 00 00 00 00 41 30 00 00 40 80 00 00 40 C0 00 00 OK! Send (12): 00 21 00 00 00 06 01 04 02 09 00 08 Receive (7/7): 00 21 00 00 00 13 01 Receive (18/18): 04 10 00 00 00 00 41 30 00 00 40 80 00 00 40 C0 00 00 OK! Send (12): 00 22 00 00 00 06 01 04 02 09 00 08 Receive (7/7): 00 22 00 00 00 13 01 Receive (18/18): 04 10 00 00 00 00 41 30 00 00 40 80 00 00 40 C0 00 00 OK! Send (12): 00 23 00 00 00 06 01 04 02 09 00 08 Receive (7/7): 00 23 00 00 00 13 01 Receive (18/18): 04 10 00 00 00 00 41 30 00 00 40 80 00 00 40 C0 00 00 OK! Send (12): 00 24 00 00 00 06 01 04 02 09 00 08 Receive (7/7): 00 24 00 00 00 13 01 Receive (18/18): 04 10 00 00 00 00 41 30 00 00 40 80 00 00 40 C0 00 00 OK! Send (12): 00 25 00 00 00 06 01 04 02 09 00 08 Receive (7/7): 00 25 00 00 00 13 01 Receive (18/18): 04 10 00 00 00 00 41 30 00 00 40 80 00 00 40 C0 00 00 OK! Send (12): 00 26 00 00 00 06 01 04 02 09 00 08 Receive (7/7): 00 26 00 00 00 13 01 Receive (18/18): 04 10 00 00 00 00 41 30 00 00 40 80 00 00 40 C0 00 00 OK!18.10.2022 в 13:45 #25552
manjey73УчастникВ общем поиграться с настройкой 0 или 1 и указанием стартового адреса таким образом, чтобы Phisical старт адрес у вас был четным в запросе
Далее скорее всего просто выставить перестановку 2301
18.10.2022 в 13:46 #25553fergus2022
Участник«Сделайте так, чтобы запрос начинался с ЧЕТНОГО адреса, потому что если сравнивать с arOPC у вас смещение идет, отсюда и проблема»
Сделал для группы адрес начла 520 (как в arOPC). Теперь в таблице вообще везде 0-ли.
Запрос:Part of Data Package Description Value 00 0A Transaction identifier 0x000A (10) 00 00 Protocol identifier 0 = MODBUS protocol 00 06 Length 0x0006 (6) 01 Unit identifier 0x01 (1) 04 Function code 0x04 (4) - Read Input Registers 02 08 Starting address Physical: 0x0208 (520) Logical: 0x0209 (521) 00 08 Quantity 0x0008 (8)ответ:
Part of Data Package Description Value 00 0A Transaction identifier 0x000A (10) 00 00 Protocol identifier 0 = MODBUS protocol 00 13 Length 0x0013 (19) 01 Unit identifier 0x01 (1) 04 Function code 0x04 (4) - Read Input Registers 10 Byte count 0x10 (16) 00 00 40 A0 00 00 41 30 00 00 40 80 00 00 40 C0 Register value 0x0000 (0), 0x40A0 (16544), 0x0000 (0), 0x4130 (16688), 0x0000 (0), 0x4080 (16512), 0x0000 (0), 0x40C0 (16576)Тип данных в шаблоне устройства стоит Float как и в arOPC.
18.10.2022 в 13:48 #25554
manjey73УчастникА, или вообще перестановки не потребуется. Вы просто теряете первый регистр, где у вас со 2-ым (который у вас сейчас первый) будет как раз та самая пятерка
18.10.2022 в 13:49 #25555fergus2022
Участник«Далее скорее всего просто выставить перестановку 2301»
Помогло — спасибо!18.10.2022 в 13:50 #25556
manjey73УчастникВот, а если применить перестановку 2301 при этом ?
18.10.2022 в 13:51 #25557
manjey73УчастникНу вот. Просто надо сравнивать что есть что. Иногда лучше начинать с одной единственной переменной и проверять по стартовому адресу с документацией на прибор, модуль и т.д.
Производители они такие, часто сталкивался с тем, что одни адресацию указывают по физическому адресу, другие по логическому. + перестановки зависят от процессора или микроконтроллера, на котором работает оборудование.
-
Ответ изменён 3 года, 7 месяцев назад пользователем
manjey73.
18.10.2022 в 13:51 #25558fergus2022
УчастникСейчас без смещения и с перестановкой 2301 — все теги стали отображаться правильно
-
Ответ изменён 3 года, 7 месяцев назад пользователем
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.