|
SMLogix Вопросы о работе в среде SMLogix и о FBD-программировании |
|
Опции темы | Поиск в этой теме |
20.10.2022, 16:23 | #1 |
Новичок
Регистрация: Oct 2022
Сообщения: 4
Благодарил(а): 3 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ошибки в Slave(Link) при нормальном обмене (решено)
Добрый день.
Контроллерами Segnetics и программой SMLogix только начал пользоваться. Имеется готовая программа и контроллер TRIM 5: TRIM5 3012-65-2 Встроенное ПО 211006-130842 Проект SMLogix 3.34.0164 К контроллеру по Modbus RTU подключён датчик температуры/влажности DHTS-XX0R100-C04. Не приходят данные с регистров. 11 температура 12 влажность. В блоке Slave (Link) копятся ошибки. Данные настройки сети: адрес: 3 Скорость: 9600 Чётность: none Стоп биты: 2 Сниффер показал что обмен данными идёт. Прикрепляю к сообщению скриншоты настройки портов и лог снифера. Запросы и ответы содержат корректную информацию. Длинна кабеля 1.5 метра, в офисе на столе. Без резисторов . Модуль FMR-3022 подцепился без проблем(кабель протестить). Программа весит 1.6 Мб - и не прикрепляется(лимит 1.43 вроде). Собственно вопрос: что можно предпринять для устранения ошибок в блоке слейв (SMLogix)? И что именно является причиной сбоя - TRIM или SMLogix? PS: другие устройства по сети Modbus RTU видятся и работают без проблем, описывать их не стал. Интересное наблюдение - этот датчик не отображается в системном меню ТРИМа (Сеть-> Modbus-> Настройка master-> Modbus RTU COM1 устройства-> ...)если адрес 3, ставлю 162 адрес - появляется, но работать всё равно не хочет. Последний раз редактировалось Arsie, 21.10.2022 в 11:15 Причина: Удалил вложения за ненужностью |
20.10.2022, 17:24 | #2 | |
Senior Member
Регистрация: Sep 2019
Адрес: SPb
Сообщения: 178
Благодарил(а): 12 раз(а)
Поблагодарили:
18 раз(а) в 18 сообщениях
|
Ответ: Ошибки в Slave(Link) при нормальном обмене по Modbus RTU
Цитата:
|
|
Благодарность от: |
20.10.2022, 18:01 | #3 |
Сотрудник Сегнетикс
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 341
Благодарил(а): 0 раз(а)
Поблагодарили:
255 раз(а) в 251 сообщениях
|
Ответ: Ошибки в Slave(Link) при нормальном обмене по Modbus RTU
А вы пробовали прочитать этот датчик чем-нибудь другим? Например, лектусом?
__________________ Если ничто другое не помогает, прочтите, наконец, инструкцию |
20.10.2022, 18:09 | #4 |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 791
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Ошибки в Slave(Link) при нормальном обмене по Modbus RTU
Ну по логу только датчик с адресом 3 и отвечает
Код:
00:00:05.999 - Request: 03 03 00 0b 00 01 f4 2a 00:00:05.999 - ID: 3, Fn: 3 (Read HR), addr: 11, count: 1, CRC: 0x2af4 00:00:06.026 - Response: 03 03 02 00 f1 00 00 Код:
00:00:06.059 - Request: 03 03 00 0c 00 01 45 eb 00:00:06.059 - ID: 3, Fn: 3 (Read HR), addr: 12, count: 1, CRC: 0xeb45 00:00:06.077 - Response: 03 03 02 01 8e 40 70 Вроде так __________________ Не являюсь сотрудником Segnetics !!! |
20.10.2022, 18:17 | #5 |
Новичок
Регистрация: Oct 2022
Сообщения: 4
Благодарил(а): 3 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Ошибки в Slave(Link) при нормальном обмене по Modbus RTU
Для чистоты эксперимента оставил только испытуемый слэйв (адрес 3).
Стало понятно, что это: BFrame - количество ошибок фрейма (неверное число стартовых и/или стоповых битов) Но не стало понятно, что с этим делать. К сообщению прикрепил лог снифера и скриншот DEVICE(Link). Если кто-нибудь знает как с этим бороться - прошу совета. Сам тоже погуглю. |
20.10.2022, 18:24 | #6 | ||
Новичок
Регистрация: Oct 2022
Сообщения: 4
Благодарил(а): 3 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Ошибки в Slave(Link) при нормальном обмене по Modbus RTU
Цитата:
Добавлено через 1 минуту Цитата:
|
||
20.10.2022, 18:29 | #7 | |
Senior Member
Регистрация: Sep 2019
Адрес: SPb
Сообщения: 178
Благодарил(а): 12 раз(а)
Поблагодарили:
18 раз(а) в 18 сообщениях
|
Ответ: Ошибки в Slave(Link) при нормальном обмене по Modbus RTU
Цитата:
И эмпирическим путём выяснилось, что без ошибок стало работать когда стоп бит 1. Таким образом на слейве там остались настройки 8 2 none, а на мастере (матрикс) 8 1 none. Весь абсурд в том что лектус, kepserverex прекрасно подключались с настройками 8 2 none к ПЛК "МикроДАТ". А вот матрикс ни в какую. |
|
Благодарность от: |
20.10.2022, 18:35 | #8 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 159
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Ошибки в Slave(Link) при нормальном обмене по Modbus RTU
Контроллер принимает пакет данных с ошибками фрейма. Выход BFrame говорит об этом, в справке он описан.
Фрейм - это по обывательски, "байт". Похоже вы либо неправильно указали количество стоповых битов, либо в линии связи гуляют искажающие сигнал помехи. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
Благодарность от: |
20.10.2022, 19:09 | #9 | |
Новичок
Регистрация: Oct 2022
Сообщения: 4
Благодарил(а): 3 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Ошибки в Slave(Link) при нормальном обмене по Modbus RTU
Цитата:
Настроил стоп бит 1 и на ТРИМе и на датчике. Начал показывать. Удивительно, что абсолютно такие же ТРИМ-ы работают с этими же датчиками с параметрами: Адрес -3 \ скорость - 9600 \четность - нет \ стоп биты- 2 Modbus Poll всё равно с каким количеством стоп-битов работать )) PS: Ещё один датчик отвалился три дня назад, снифером всё в порядке, а показания пропали. Видимо тоже самое надо попробовать. Ещё раз всем спасибо, вопрос решён. |
|
21.10.2022, 11:15 | #10 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 159
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Ошибки в Slave(Link) при нормальном обмене по Modbus RTU
В большей части современных адаптеров либо выставляется полтора бита и это невозможно изменить, либо драйвер при ошибках адаптирует длину бита сам.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |