Segnetics

Вернуться   Segnetics > Форум Segnetics > SMLogix

SMLogix Вопросы о работе в среде SMLogix и о FBD-программировании

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.10.2022, 16:23   #1
RED
Новичок
 
Регистрация: 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 Причина: Удалил вложения за ненужностью
RED вне форума   Ответить с цитированием
Старый 20.10.2022, 17:24   #2
Shurion
Senior Member
 
Регистрация: Sep 2019
Адрес: SPb
Сообщения: 176
Благодарил(а): 12 раз(а)
Поблагодарили: 18 раз(а) в 18 сообщениях
По умолчанию Ответ: Ошибки в Slave(Link) при нормальном обмене по Modbus RTU

Цитата
Сообщение от RED Посмотреть сообщение
Добрый день.
Контроллерами 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 адрес - появляется, но работать всё равно не хочет.
Попробуйте вытащить блок Device(Link) и посмотреть какого типа ошибки.
Shurion вне форума   Ответить с цитированием
Благодарность от:
Старый 20.10.2022, 18:01   #3
Ilya J.
Сотрудник Сегнетикс
 
Аватара для Ilya J.
 
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 302
Благодарил(а): 0 раз(а)
Поблагодарили: 254 раз(а) в 250 сообщениях
По умолчанию Ответ: Ошибки в Slave(Link) при нормальном обмене по Modbus RTU

А вы пробовали прочитать этот датчик чем-нибудь другим? Например, лектусом?


__________________
Если ничто другое не помогает, прочтите, наконец, инструкцию
Ilya J. сейчас на форуме   Ответить с цитированием
Старый 20.10.2022, 18:09   #4
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 743
Благодарил(а): 12 раз(а)
Поблагодарили: 192 раз(а) в 188 сообщениях
По умолчанию Ответ: Ошибки в 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
Это температура 24,1

Код:
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
Это влажность 39,8

Вроде так


__________________
Не являюсь сотрудником Segnetics !!!
ATS сейчас на форуме   Ответить с цитированием
Старый 20.10.2022, 18:17   #5
RED
Новичок
 
Регистрация: Oct 2022
Сообщения: 4
Благодарил(а): 3 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Ошибки в Slave(Link) при нормальном обмене по Modbus RTU

Цитата
Сообщение от Shurion Посмотреть сообщение
Попробуйте вытащить блок Device(Link) и посмотреть какого типа ошибки.
Для чистоты эксперимента оставил только испытуемый слэйв (адрес 3).
Стало понятно, что это:
BFrame - количество ошибок фрейма (неверное число стартовых и/или стоповых битов)
Но не стало понятно, что с этим делать.
К сообщению прикрепил лог снифера и скриншот DEVICE(Link).
Если кто-нибудь знает как с этим бороться - прошу совета.
Сам тоже погуглю.
Миниатюры
Нажмите на картинку для увеличения

Название:  Снимок_6.PNG
Просмотров: 39
Размер:  17.7 Кбайт  
Вложения
Тип файла: txt modbus-log.txt (6.0 Кбайт, 5 просмотров)
RED вне форума   Ответить с цитированием
Старый 20.10.2022, 18:24   #6
RED
Новичок
 
Регистрация: Oct 2022
Сообщения: 4
Благодарил(а): 3 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Ошибки в Slave(Link) при нормальном обмене по Modbus RTU

Цитата:
Сообщение от Ilya J. Посмотреть сообщение
А вы пробовали прочитать этот датчик чем-нибудь другим? Например, лектусом?
Modbus Poll видит все регистры этого датчика, адрес и скорость я им менял.


Добавлено через 1 минуту


Цитата
Сообщение от ATS Посмотреть сообщение
Ну по логу только датчик с адресом 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
Это температура 24,1

Код:
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
Это влажность 39,8

Вроде так
Все показания этого датчика были проверены Modbus Poll-м и все они достоверны.
RED вне форума   Ответить с цитированием
Старый 20.10.2022, 18:29   #7
Shurion
Senior Member
 
Регистрация: Sep 2019
Адрес: SPb
Сообщения: 176
Благодарил(а): 12 раз(а)
Поблагодарили: 18 раз(а) в 18 сообщениях
По умолчанию Ответ: Ошибки в Slave(Link) при нормальном обмене по Modbus RTU

Цитата
Сообщение от RED Посмотреть сообщение
Для чистоты эксперимента оставил только испытуемый слэйв (адрес 3).
Стало понятно, что это:
BFrame - количество ошибок фрейма (неверное число стартовых и/или стоповых битов)
Но не стало понятно, что с этим делать.
К сообщению прикрепил лог снифера и скриншот DEVICE(Link).
Если кто-нибудь знает как с этим бороться - прошу совета.
Сам тоже погуглю.
Ну поменяйте стоп бит на 1, и всё возможно заработает. Во всяком случае был такой опыт с ПЛК производства "МикроДАТ" . При одинаковых настройках обмена modbus rtu падали такие же ошибки, решил тогда методом перебора менять стоп биты, и чётности.
И эмпирическим путём выяснилось, что без ошибок стало работать когда стоп бит 1.

Таким образом на слейве там остались настройки 8 2 none, а на мастере (матрикс) 8 1 none.

Весь абсурд в том что лектус, kepserverex прекрасно подключались с настройками 8 2 none к ПЛК "МикроДАТ". А вот матрикс ни в какую.
Shurion вне форума   Ответить с цитированием
Благодарность от:
Старый 20.10.2022, 18:35   #8
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 023
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Ошибки в Slave(Link) при нормальном обмене по Modbus RTU

Цитата
Сообщение от RED Посмотреть сообщение
К сообщению прикрепил лог снифера и скриншот DEVICE(Link).
Контроллер принимает пакет данных с ошибками фрейма. Выход BFrame говорит об этом, в справке он описан.

Фрейм - это по обывательски, "байт". Похоже вы либо неправильно указали количество стоповых битов, либо в линии связи гуляют искажающие сигнал помехи.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Благодарность от:
Старый 20.10.2022, 19:09   #9
RED
Новичок
 
Регистрация: Oct 2022
Сообщения: 4
Благодарил(а): 3 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Ошибки в Slave(Link) при нормальном обмене по Modbus RTU

Цитата
Сообщение от Shurion Посмотреть сообщение
Ну поменяйте стоп бит на 1, и всё возможно заработает. Во всяком случае был такой опыт с ПЛК производства "МикроДАТ" . При одинаковых настройках обмена modbus rtu падали такие же ошибки, решил тогда методом перебора менять стоп биты, и чётности.
И эмпирическим путём выяснилось, что без ошибок стало работать когда стоп бит 1.

Таким образом на слейве там остались настройки 8 2 none, а на мастере (матрикс) 8 1 none.

Весь абсурд в том что лектус, kepserverex прекрасно подключались с настройками 8 2 none к ПЛК "МикроДАТ". А вот матрикс ни в какую.
Спасибо, помогло!
Настроил стоп бит 1 и на ТРИМе и на датчике. Начал показывать.
Удивительно, что абсолютно такие же ТРИМ-ы работают с этими же датчиками с параметрами:
Адрес -3 \ скорость - 9600 \четность - нет \ стоп биты- 2
Modbus Poll всё равно с каким количеством стоп-битов работать ))

PS: Ещё один датчик отвалился три дня назад, снифером всё в порядке, а показания пропали. Видимо тоже самое надо попробовать.
Ещё раз всем спасибо, вопрос решён.
RED вне форума   Ответить с цитированием
Старый 21.10.2022, 11:15   #10
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 023
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Ошибки в Slave(Link) при нормальном обмене по Modbus RTU

Цитата
Сообщение от RED Посмотреть сообщение
Спасибо, помогло!

Modbus Poll всё равно с каким количеством стоп-битов работать ))
В большей части современных адаптеров либо выставляется полтора бита и это невозможно изменить, либо драйвер при ошибках адаптирует длину бита сам.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать свои сообщения

BB code is Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нет затирания Основного экрана при возврате в меню. Проект из пикс. в Matrix (решено) STREXNIN SMConstructor (вентиляция) 13 09.10.2021 20:18
Замедление при работе с неправильным modbus tcp slave (решено) romanetz Вопросы о SMH4 5 29.04.2021 13:06
Болид. SMH2010 при смене скорости com порта перестаёт определяться (решено) shtoper Вопросы о SMH2010 6 08.07.2015 13:24
Контроллер работает при отключенном питании??? (решено) Max2114 Вопросы о Pixel 9 13.05.2015 12:20
Литиевые батарейки Arsie Библиотека 0 21.08.2013 14:24


Часовой пояс GMT +4, время: 13:41.


Версия vBulletin: 3.8.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2023