Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: M340 Modbus Rtu коммуникация через сторонний шлюз
Диалог специалистов АВОК > ОБЩИЙ ФОРУМ > Автоматизация систем
Retard
Есть три устройства, подключённые по CAN шине к шлюзу с конвертером протоколов и интерфейсов. Шлюз коммуницирует по ModBus RTU с M340.
Номера устройств прописаны в шлюзе как 4,5,6
Обращаюсь к 4-му устройству. Хочу прочитать 5 регистров, начиная с 700-го.

Получаю на выходе

Вижу, что по коммуникации проблем нет, 16#0000 ( вторая строка в Data managed by the system ), но есть проблема в 1-й строке, в младшем байте, бит активности - 1 (cancel bit).

В чём у меня косяк?

Пробовал читать и как %IW и как %I, пробовал читать как 30700 и как 40700, не зная в какой области памяти шлюза хранятся эти регистры.
ogorsv
Добрый день!
1. Как управляете переменной work?
2. Объекты попробуйте '%MW' (если в документации на шлюз внутренние регистры памяти)
3 NUM - начиная с 699 прочитать 7 слов. Были случаи адресации для 700 регистра "какого-то оборудования":
- 699;
- 700;
- 701;
- 40699;
- 400699 и т.д.
Пробуйте.
4. Надеюсь, с "физикой" сети всё по рекомендациям производителей? С настройкой порта и т.д.?
5. Нули в четвёртом слове таблицы параметров говорят о величине принятых/переданных байтов. Ничего не принимается
6. Младший бит - бит активности, а не отмены. Прочтите внимательно и посмотрите в анимационой таблице значение, например, %MW100=1 в десятичном и двоичном представлении.
Успехов!
С уважением,

san
Думаю, проблемы с битом активности, опрос нужно делать, когда бит =0. Посмотрите это видео https://youtu.be/2Bd-1Ez1pWE
Retard
Цитата(ogorsv @ 25.9.2018, 20:24) *
Добрый день!
1. Как управляете переменной work?
2. Объекты попробуйте '%MW' (если в документации на шлюз внутренние регистры памяти)
3 NUM - начиная с 699 прочитать 7 слов. Были случаи адресации для 700 регистра "какого-то оборудования":
- 699;
- 700;
- 701;
- 40699;
- 400699 и т.д.
Пробуйте.
4. Надеюсь, с "физикой" сети всё по рекомендациям производителей? С настройкой порта и т.д.?
5. Нули в четвёртом слове таблицы параметров говорят о величине принятых/переданных байтов. Ничего не принимается
6. Младший бит - бит активности, а не отмены. Прочтите внимательно и посмотрите в анимационой таблице значение, например, %MW100=1 в десятичном и двоичном представлении.
Успехов!
С уважением,

1. С панели, это старт/стоп
2. Перепробовал все варианты
3. И форматы представления числа
4. Как уверяет производитель, настроено под меня
5. Понял
6. Ну так это же хорошо, т.е. идёт обмен, но ничего не считывается, т.к. не попал в адрес?
ogorsv
1. А с панелью таки получилось связаться? Вроде жаловались на отсутствие связи? Что же не отписались о результатах?
2. Я бы сперва поставил передний фронт %S6 последовательно с отсутствием бита активности, как Александр (san) посоветовал, на запуск READ_VAR. А, убедившись в нормальном чтении, уж потом панель подключал - так будет логичнее.
3. Когда всё перепробовано, а ничего не получается, хочется таки взглянуть на:
- документацию на шлюз
- схему вашего подключения
- архивный или экспортный вариант программы (.sta/.zef/.xef)

Чудес не бывает: или оборудование исправно, но кто-то что-то сделал не так, или оборудование неисправно и нужно обращаться в поддержку производителя шлюза


4. Да, еще конфигурацию самого шлюза тоже посмотреть хотелось бы - в смысле введённые настройки
Retard
Цитата(ogorsv @ 29.9.2018, 14:36) *
1. А с панелью таки получилось связаться? Вроде жаловались на отсутствие связи? Что же не отписались о результатах?
2. Я бы сперва поставил передний фронт %S6 последовательно с отсутствием бита активности, как Александр (san) посоветовал, на запуск READ_VAR. А, убедившись в нормальном чтении, уж потом панель подключал - так будет логичнее.
3. Когда всё перепробовано, а ничего не получается, хочется таки взглянуть на:
- документацию на шлюз
- схему вашего подключения
- архивный или экспортный вариант программы (.sta/.zef/.xef)

Чудес не бывает: или оборудование исправно, но кто-то что-то сделал не так, или оборудование неисправно и нужно обращаться в поддержку производителя шлюза


4. Да, еще конфигурацию самого шлюза тоже посмотреть хотелось бы - в смысле введённые настройки

Да с панелью связался, напортачил в настройках. Ничего криминального, но пока нашёл своё косяк, убил уйму времени. Чтение тоже стартануло, но что самое обидное, я могу спокойно прочитать регистры с данными, кроме COILS. Условно говоря, в функции чтения указываю %MW, 48 регистр и читать всего 2, он показывает мне данные в регистре, это то, что я вижу на оборудовании. Но стоит начать читать с 0 по 10-й регистр флагов, он может отдать какую-то херь, либо нули, а там как бы должны быть только 0 или 1.
Retard
Залезаю модбас полом на устройство,всё читается, всё замечательно, но этот же кусок фекалий (М340) никак не хочет работать по-людски.
Retard
Объясните мне, что я не так понимаю в адресации M340?
Область %М - это 0x, 1x, значит прося процедуру Read_Var прочитать мне у слейва с адресом 0.0.0.2 область %M начиная с 1 регистра по 10-й он должен отдать мне показания Coils, он показывает что функция запущена, показывает время, показывает количество прочитанных байт и ничего из того, что я должен увидеть. Может есть какой-то сдвиг в адресации? Этот контроллер мне все нервы вымотал. Осталось только попросить выдать его все значения в 1000 регистров
Retard
В первом регистре отображается 256, остальные по нулям, хотя функция говорит, что читает 2 бита. В двух регистрах должны быть 1-цы, в 9-м и 10-м
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2025 IPS, Inc.