Форум TRACE MODE: техническая поддержка Послать новую тему / Post New Topic  Послать ответ / Post A Reply
мой профиль / my profile авторизация / login | регистрация / register | поиск / search | часто задаваемые вопросы / faq | начало / forum home

  Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
» Форум TRACE MODE: техническая поддержка » ТЕХНИЧЕСКАЯ ПОДДЕРЖКА / TECHNICAL SUPPORT TRACE MODE 6 » TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version » Проблема с Modbus RTU

   
Автор / Author Тема / Topic: Проблема с Modbus RTU
Alex von Bumb
Junior Member / Новичок
Участник № / Member № 6253


Icon 1 отправлено / posted      Профиль для / Profile for Alex von Bumb           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Добрый день. Пытаемся опросить устройство SO-5L по протоколу ModbusRTU. Параметры связи с устройством: Номер устройства - 5, 38400 8-none-1, адрес сигнала в протоколе - 200, аналог, функция - 3.
В ТМ6 создаю проект, добавляю в источники Modbus
Rout_Word(3), номер порта - 0, адрес - 5, канал -200, Modbus, input,аналог. Создаю RTM, в нем создаю COM1, Master,38400,8-1-n. И перетаскиваю сигнал из источников в RTM и обзываю его Ua. К ноутбуку подключен преобразователь MOXA USB-RS485 (В системе виден как COM1, параметры выставлены 38400,8-1-n).
Сохраняю проект, запускаю профайлер, Rx/Tx на Moxe начинают моргать, видно, что какой-то обмен идет, но в Просмотре компонентов профайлера Ua=0.
Вклиниваюсь анализатором протоколов, вижу, что обмен реально идет (считываю запрос/ ответ, вижу значение в ответе). Если система простоит в работе минут 5, то значение все-таки проходит и мы его видим в Просмотре компанентов, однако, если меняем входное значение на SO-5L, то в ТМ оно не меняется. В чем может быть проблема?

Сообщения / Posts 30 | Из / From: РФ  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
В файле конфигурирования запуска узла *.cnf надо задать ключ
DEBUGON=F0002200

Каналу Ua установите флажок ОТЛАДКА.

В профайлерном протоколе должна быть информация о работе с COM-портом, ошибках обмена и изменении атрибутов канала Ua.

Надо проанализировать и сопоставить протокол перехвата COM-порта и профайлерный протокол.

"адрес сигнала в протоколе - 200" - десятичный и HEX?
А как задан "Канал" в "Источнике" Modbus?
Возможно, что реальный "адрес сигнала" надо задавать со смещением "-1".
Каков период обработки канала Ua?
Как ведет себя атрибут 4 этого канала (ДОСТОВЕРНОСТЬ)?

Сообщения / Posts 17083 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Alex von Bumb
Junior Member / Новичок
Участник № / Member № 6253


Icon 1 отправлено / posted      Профиль для / Profile for Alex von Bumb           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Добрый день.
Согласно вашим рекомендациям в файле конфигурирования запуска узла *.cnf задали ключ
DEBUGON=F0002200, каналу установили режим отладка, в логе:
(17:19:43) INF_LOAD:Starting... modbustest1_5
(17:19:43) INF_RTM:Detected NT6.RTM 6.1
(17:19:43) INF_RTM:Base TRACE MODE 6 Profiler T-Factory RTM+ ver. 6.09.0
(17:19:43) ._.:RTM
(17:19:43) INF_LOAD:max channel = 65535
(17:19:43) INF_LOAD:Load Channels = 1
(17:19:43) INF_LOAD:Templates=0 (math=0 sql=0 scr=0 doc=0 pnl=0)
(17:19:43) INF_LOAD:Objects = 3
(17:19:43) INF_RTM:Timer=1s CalcLoop=1000ms
(17:19:43) INF_LOAD:LoadTime=0.02s CalcPeriod=1000ms
(17:19:43) INF_RTM:available(MB): pm=2666 vm=2047; free(MB): pm=1683 vm=1949 em=0 after load
(17:19:43) INF_RTM:total use(MB): pm=983 vm=97 after load
(17:19:43) INF_RTM:use(MB): pm=20(20) vm=21(21) pf=0 after load
(17:19:43) INF_RTM:gh:36 uh:80 hh:89 after load
(17:19:44) INF_RS:init string is \\.\COM1: baud=38400 parity=N data=8 stop=1
(17:19:44) WRN_RS:found channels = 1
(17:19:44) INF_RS:ModBus-IN Uarez : RS=0 ADDR=5 CMD=3 CH=0200 Q=0
(17:19:44) INF_IP:hostname is test
(17:19:44) INF_IP:card0 addr=0.0.0.0
(17:19:44) INF_IP:card1 addr=192.168.250.36
(17:19:44) INF_RTM:start time is 0.098 s
(17:19:44) INF_RTM:total use(MB): pm=990 vm=179 after start
(17:19:44) INF_RTM:use(MB): pm=28(28) vm=90(90) pf=2446 after start
(17:19:44) INF_RTM:gh:1514 uh:132 hh:205 after start
(17:19:45) INF_FLT:ModeSwitch e15=0000 e18=0000 e20=0000 [0]
(17:19:45) INF_RTM:mode=2(Work) e15=00 e18=00 e20=00 [src4]
(17:19:45) INF_FLT:No detect condition
(17:19:45) INF_GRAPH:scr:0:popup=0 scrref=0 trend=0,0 update=0
(17:19:49) ERR_RS:COM1 err=9 ch=Uarez[2]
M_INF:OUT: 05 03 02 00 00 01 84 36<6>
M_INF:ERR IN: 05 a0 a0 15 4b<K>
(17:19:49) ERR_RS:COM1 err=7 ch=Uarez[2]
(17:19:50) ERR_RS:COM1 err=9 ch=Uarez[2]
(17:19:51) ERR_RS:COM1 err=9 ch=Uarez[2]
M_INF:OUT: 05 03 02 00 00 01 84 36<6>
M_INF:ERR IN: 05 03 a0 ab f1 db
(17:19:52) ERR_RS:COM1 err=7 ch=Uarez[2]
M_INF:OUT: 05 03 02 00 00 01 84 36<6>
M_INF:ERR IN: 05 20< > a1 15 f1 fb
(17:19:52) ERR_RS:COM1 err=7 ch=Uarez[2]
M_INF:OUT: 05 03 02 00 00 01 84 36<6>
M_INF:ERR IN: 05 20< > a0 ab f1 db
(17:19:52) ERR_RS:COM1 err=7 ch=Uarez[2]
M_INF:OUT: 05 03 02 00 00 01 84 36<6>
M_INF:ERR IN: 05 03 a0 56<V> 14 bb
(17:19:52) ERR_RS:COM1 err=7 ch=Uarez[2]
M_INF:OUT: 05 03 02 00 00 01 84 36<6>
M_INF:ERR IN: 05 20< > a0 56<V> e1 bb
(17:19:52) ERR_RS:COM1 err=7 ch=Uarez[2]
(17:19:53) ERR_RS:COM1 err=9 ch=Uarez[2]
M_INF:OUT: 05 03 02 00 00 01 84 36<6>
M_INF:ERR IN: 05 20< > a0 45<E> 4b<K>
(17:19:54) ERR_RS:COM1 err=7 ch=Uarez[2]
M_INF:OUT: 05 03 02 00 00 01 84 36<6>
M_INF:ERR IN: 05 03 20< > ab f0 4b<K>
(17:19:54) ERR_RS:COM1 err=7 ch=Uarez[2]
M_INF:OUT: 05 03 02 00 00 01 84 36<6>
M_INF:ERR IN: 05 20< > 20< > ab f0 e9
(17:19:54) ERR_RS:COM1 err=7 ch=Uarez[2]
M_INF:OUT: 05 03 02 00 00 01 84 36<6>
M_INF:ERR IN: 05 20< > 60<`> ab f0 4b<K>
(17:19:54) ERR_RS:COM1 err=7 ch=Uarez[2]
M_INF:OUT: 05 03 02 00 00 01 84 36<6>
M_INF:ERR IN: 05 03 20< > ab f0 e9
(17:19:54) ERR_RS:COM1 err=7 ch=Uarez[2]
M_INF:OUT: 05 03 02 00 00 01 84 36<6>
M_INF:ERR IN: 05 20< > a1 45<E> 7c<|> fb
(17:19:54) ERR_RS:COM1 err=7 ch=Uarez[2]
M_INF:OUT: 05 03 02 00 00 01 84 36<6>
M_INF:ERR IN: 05 20< > a0 57<W> f1 db
(17:19:54) ERR_RS:COM1 err=7 ch=Uarez[2]
M_INF:OUT: 05 03 02 00 00 01 84 36<6>
M_INF:ERR IN: 05 03 a0 ab f1 fb
(17:19:55) ERR_RS:COM1 err=7 ch=Uarez[2]
M_INF:OUT: 05 03 02 00 00 01 84 36<6>
M_INF:ERR IN: 05 20< > a0 ab f1 fb
(17:19:55) ERR_RS:COM1 err=7 ch=Uarez[2]
M_INF:OUT: 05 03 02 00 00 01 84 36<6>
M_INF:ERR IN: 05 03 02 a1 15 f1 fb
(17:19:55) ERR_RS:COM1 err=7 ch=Uarez[2]
M_INF:OUT: 05 03 02 00 00 01 84 36<6>
M_INF:ERR IN: 05 03 a0 ab f1 db
(17:19:55) ERR_RS:COM1 err=7 ch=Uarez[2]
M_INF:OUT: 05 03 02 00 00 01 84 36<6>
M_INF:ERR IN: 05 20< > a1 15 7c<|> fb
(17:19:55) ERR_RS:COM1 err=7 ch=Uarez[2]
M_INF:OUT: 05 03 02 00 00 01 84 36<6>
M_INF:ERR IN: 05 20< > a0 ab f1 db
(17:19:55) ERR_RS:COM1 err=7 ch=Uarez[2]
M_INF:OUT: 05 03 02 00 00 01 84 36<6>
M_INF:ERR IN: 05 20< > a1 15 f1 fb
(17:19:55) ERR_RS:COM1 err=7 ch=Uarez[2]
M_INF:OUT: 05 03 02 00 00 01 84 36<6>
M_INF:ERR IN: 05 20< > a0 ab f1 db
(17:19:55) ERR_RS:COM1 err=7 ch=Uarez[2]
M_INF:OUT: 05 03 02 00 00 01 84 36<6>
M_INF:ERR IN: 05 03 a0 ab f1 fb
(17:19:55) ERR_RS:COM1 err=7 ch=Uarez[2]
M_INF:OUT: 05 03 02 00 00 01 84 36<6>
M_INF:ERR IN: 05 03 a0 b4 04 bb
(17:19:55) ERR_RS:COM1 err=7 ch=Uarez[2]
M_INF:OUT: 05 03 02 00 00 01 84 36<6>
M_INF:ERR IN: 05 20< > a0 ab f0 bb
(17:19:55) ERR_RS:COM1 err=7 ch=Uarez[2]
M_INF:OUT: 05 03 02 00 00 01 84 36<6>
M_INF:ERR IN: 05 20< > a0 57<W> 04 bb
(17:19:56) ERR_RS:COM1 err=7 ch=Uarez[2]
M_INF:OUT: 05 03 02 00 00 01 84 36<6>
M_INF:ERR IN: 05 20< > a0 ab f0 f7
(17:19:56) ERR_RS:COM1 err=7 ch=Uarez[2]
M_INF:OUT: 05 03 02 00 00 01 84 36<6>
M_INF:ERR IN: 05 20< > a3 15 f0 f7
(17:19:56) ERR_RS:COM1 err=7 ch=Uarez[2]
M_INF:OUT: 05 03 02 00 00 01 84 36<6>
M_INF:ERR IN: 05 20< > a3 15 bb
(17:19:56) ERR_RS:COM1 err=7 ch=Uarez[2]
M_INF:OUT: 05 03 02 00 00 01 84 36<6>
M_INF:ERR IN: 05 20< > a3 15 bb
(17:19:56) ERR_RS:COM1 err=7 ch=Uarez[2]
M_INF:OUT: 05 03 02 00 00 01 84 36<6>
M_INF:ERR IN: 05 03 a0 ab f0 bb
(17:19:56) ERR_RS:COM1 err=7 ch=Uarez[2]
M_INF:OUT: 05 03 02 00 00 01 84 36<6>
M_INF:ERR IN: 05 20< > a0 ab f0 bb
(17:19:56) ERR_RS:COM1 err=7 ch=Uarez[2]
M_INF:OUT: 05 03 02 00 00 01 84 36<6>
M_INF:ERR IN: 05 20< > a3 45<E> bb
(17:19:56) ERR_RS:COM1 err=7 ch=Uarez[2]
M_INF:OUT: 05 03 02 00 00 01 84 36<6>
M_INF:ERR IN: 05 20< > a3 15 f0 f7

адрес сигнала в протоколе - 200 - HEX
канал в источнике modbus задан 0х200 и адрес вроде как правильный, потому что в отладчике (которым вклиниваемся в канал) идет обращение именно на этот адрес.
период обработки Ua - цикл Calc, пробовали менять на 1 и 5 секунд. В свойствах RTM Пересчет: Период-1, Разрешение-1
В 4м атрибуте значение _F

Сообщения / Posts 30 | Из / From: РФ  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
По стандарту Modbus на запрос одного HOLDING-регистра
05 03 02 00 00 01 84 36
устройство должно ответить
05 03 02 XX YY ZZ TT,
где
05 - номер устройства,
03 - номер Modbus-функции,
XX YY - содержание регистра,
ZZ TT - контрольная сумма.

Ответы устройства
05 03 a0 ab f0 bb
или
05 20 a3 15 f0 f7
ни по количеству байтов, ни по содержанию не соответствует стандарту и драйвером воспринимаются как некорректные ответы.

Сообщения / Posts 17083 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Alex von Bumb
Junior Member / Новичок
Участник № / Member № 6253


Icon 1 отправлено / posted      Профиль для / Profile for Alex von Bumb           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Спасибо, разобрались.
Помогло уменьшение скорости передачи.
Данные считываются корректно, возник еще вопрос:
Как описано в справке TRACE MODE поддерживает отклонения от стандарта MODBUS при работе с переменными FLOAT. Для выбора порядка следования байтов нужно вручную создать текстовый файл modbus.set в папке узла. Файл содержит целое число от 0 до 3, указывающее следующий порядок байтов (байт 0 – младший байт мантиссы, байт 3 – байт знака и порядка):

0 – 3-2-1-0 (данный порядок следования байтов устанавливается в отсутствие файла modbus.set);

1 – 0-1-2-3;

2 – 1-0-3-2;

3 – 2-3-0-1.

Нам нужен порядок следования 3 – 2-3-0-1.
Создаю файл modbus.set в папке \project\modbustest1\RTM_1 в нем просто ставлю цифру 3, перезапускаю профайлер и ничего не происходит (Порядок следования не меняется) Что я делаю неправильно?

Сообщения / Posts 30 | Из / From: РФ  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Перепроверено в релизе 6.09 при разных значениях в файле modbus.set считывается одно и то же число и возвращается:
при 0 409.416
при 1 8.6688e-005
при 2 -6.684e-007
при 3 -5.1176e+007

Надо проверить точность размещения, формата, имени и расширения файла modbus.set.

Какую функцию Modbus Вы используете в "Источниках"? Какой канал залинкован на этот "Источник"? Как Вы определяете задаваемый адрес FLOAT-переменной?

Сообщения / Posts 17083 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Alex von Bumb
Junior Member / Новичок
Участник № / Member № 6253


Icon 1 отправлено / posted      Профиль для / Profile for Alex von Bumb           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
В Источниках функция Modbusa 3 Rout_Word(3)
Канал в RTM - float
мы подаем 1002 - нам приходит 59907 (это при отсутствии файла modbus.set)
59907 в hex это EA03, по логике нам нужно сменить порядок байтов на 03EA (1002).
А что значит считывается одно и то же число и возвращается? Правильно ли я понял, что значения
при 0 409.416
при 1 8.6688e-005
при 2 -6.684e-007
при 3 -5.1176e+007 отображаются в Просмотре компонентов в Атрибуте реальное значение? Может быть просто я не там смотрю?
файл modbus.set расположен в C:\Program Files\AdAstra Research Group\Trace Mode IDE 6 Base\project\modbustest1\RTM_1
RTC также запускает проект modbustest1_5.dbb из этой папки. Содержимое файла modbus.set
2

Сообщения / Posts 30 | Из / From: РФ  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Вы работаете не с FLOAT (4-байтовое вещественное число), а с целочисленным 2-байтовым регистром.

Файл modbus.set в таком случае не работает.

Сообщения / Posts 17083 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Alex von Bumb
Junior Member / Новичок
Участник № / Member № 6253


Icon 1 отправлено / posted      Профиль для / Profile for Alex von Bumb           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Получается мы работаем с 4х байтовым целочисленным регистром. ТМ по такому же принципу(файлом modbus.set) не умеет разворачивать байты?
А каким образом проще осуществить преобразование в читаемое число в данном случае?

Сообщения / Posts 30 | Из / From: РФ  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Nico
Forum Professor / Завсегдатай форума
Участник № / Member № 5342


Icon 1 отправлено / posted      Профиль для / Profile for Nico           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
05 03 02 00 00 01 84 36<6>
addr func registr count

запрашивается один регистр - данных 2 байта
перестановки байт в регистрах читаемых 3 и 4 функциями ModBus по последовательному интерфейсу не предусмотрено

формулой

Сообщения / Posts 803 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Alex von Bumb
Junior Member / Новичок
Участник № / Member № 6253


Icon 1 отправлено / posted      Профиль для / Profile for Alex von Bumb           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
А если мы будем читать 2 регистра - 4 байта, я так понимаю это будет запрос типа
05 03 02 00 00 02 84 36, в таком случае мы сможем развернуть байты как нам требуется? И как такой запрос задавать? 3я функция в Modbus это вроде бы Получение текущего значения одного или НЕСКОЛЬКИХ регистров хранения.

Сообщения / Posts 30 | Из / From: РФ  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
В числе функций MODBUS, которые Вы можете использовать в слое "Источники/Приемники" есть функции, расширяющие стандарт.
В частности, для считывания 4-байтовой переменной типа FLOAT из HOLDING-регистров следует выбрать функцию
" Rout_Float(3) – считать 4-байтовую переменную с плавающей точкой типа out (номер дополнения к подтипу – 8);"
Для такой функции конвертирование порядка байтов поддерживается, как это отражено в документации.

Надо обратить внимание на адресацию функции Rout_Float(3) - ее настройка "Канал" должна указывать адрес младшего из двух регистров, в которых хранится 4-байтовое число FLOAT.

Сообщения / Posts 17083 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Alex von Bumb
Junior Member / Новичок
Участник № / Member № 6253


Icon 1 отправлено / posted      Профиль для / Profile for Alex von Bumb           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
На данный момент на устройстве реализован целочисленный формат передачи данных. Существует ли возможность в ТМ6 считать данный тип данных?

Число имеет следующий вид: 2 регистра = 4 байта
Rout_Word(3)#2
посылает запрос типа
05 03 02 00 00 01 84 36
Rout_Float(3)#2 посылает запрос типа
05 03 02 00 00 02 C4 37
но число переводится в вещественный тип данных, а нам нужен целочисленный тип. Можно ли это реализовать?

Сообщения / Posts 30 | Из / From: РФ  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Вариант 1.

Полученные 2 регистра обработать программным путем и сформировать 4-байтовое число с нужным порядком байтов. При необходимости можно записать результат в канал HEX32.

Вариант 2.

Использовать подключение CALL.ChGroupReq с ПАРАМЕТР=2 к источнику MODBUS.R_FIFO_Queue (см. описание канала CALL.ChGroupReq).
Аргументам для считывания 4-байтовых чисел задать тип данных UDINT.
В файле конфигурирования запуска узла задать ключи:
MDB_FLOATCNV=101
MDB_AFCNV<nn>=32
(см. описание этих ключей).

Сообщения / Posts 17083 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Alex von Bumb
Junior Member / Новичок
Участник № / Member № 6253


Icon 1 отправлено / posted      Профиль для / Profile for Alex von Bumb           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Пытаемся использовать 2й вариант, в источниках создаем MODBUS.R_FIFO_Queue (с такими же параметрами как и в Rout_Word(3), номер порта - 0, адрес - 5, канал -200), создаем канал CALL тип вызова - ChGroupReq,ПАРАМЕТР=2. Привязываем его к источнику, в файле TMcom_5.cnf добавляем параметры MDB_FLOATCNV=101
MDB_AFCNV<nn>=32 запускаем профайлер и видим, что обращение к устройству не идет, на Moxe даже Тх не мигает. Что-то делаем не так. В файле modbustest1_5.txt:
(17:45:35) INF_LOAD:Starting... modbustest1_5
(17:45:35) INF_RTM:Detected NT6.RTM 6.1
(17:45:35) INF_RTM:Base TRACE MODE 6 Profiler T-Factory RTM+ ver. 6.09.0
(17:45:35) ._.:RTM
(17:45:35) INF_LOAD:max channel = 65535
(17:45:35) INF_LOAD:Load Channels = 1
(17:45:35) INF_LOAD:Templates=0 (math=0 sql=0 scr=0 doc=0 pnl=0)
(17:45:35) INF_LOAD:Objects = 3
(17:45:35) INF_RTM:Timer=1s CalcLoop=1000ms
(17:45:35) INF_LOAD:LoadTime=0.012s CalcPeriod=1000ms
(17:45:35) INF_RTM:available(MB): pm=2666 vm=2047; free(MB): pm=1262 vm=1945 em=0 after load
(17:45:35) INF_RTM:total use(MB): pm=1403 vm=102 after load
(17:45:35) INF_RTM:use(MB): pm=23(23) vm=23(23) pf=0 after load
(17:45:35) INF_RTM:gh:144 uh:80 hh:134 after load
(17:45:36) INF_RS:init string is \\.\COM1: baud=9600 parity=N data=8 stop=1
(17:45:36) WRN_RS:found channels = 1
(17:45:36) INF_RS:ModBus-IN CALL#1 : RS=0 ADDR=5 CMD=24 CH=0200 Q=127
(17:45:36) INF_IP:hostname is test
(17:45:36) INF_IP:card0 addr=0.0.0.0
(17:45:36) INF_IP:card1 addr=192.168.250.36
(17:45:36) INF_RTM:start time is 0.054 s
(17:45:36) INF_RTM:total use(MB): pm=1407 vm=179 after start
(17:45:36) INF_RTM:use(MB): pm=28(28) vm=90(90) pf=1764 after start
(17:45:36) INF_RTM:gh:1514 uh:132 hh:205 after start
(17:45:36) INF_FLT:ModeSwitch e15=0000 e18=0000 e20=0000 [0]
(17:45:36) INF_RTM:mode=2(Work) e15=00 e18=00 e20=00 [src4]
(17:45:36) INF_FLT:No detect condition
(17:45:36) INF_GRAPH:scr:0:popup=0 scrref=0 trend=0,0 update=0
В чем может быть проблема?

Сообщения / Posts 30 | Из / From: РФ  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
1. В ключе MDB_AFCNV<nn>=32 <nn> - это номер устройства.
При Ваших настройках нужно писать
MDB_AFCNV05=32

2. У канала ChGroupReq, залинкованного на функцию MODBUS.R_FIFO_Queue, надо задать аргументы
ARG_000 - IN, тип данных UINT, значение 3 (реализуемая функция Modbus),
ARG_001 - IN, тип данных UINT, значение 2 (количество считываемых регистров),
ARG_000 - OUT, тип данных UDINT (принимаемое 4-байтное число).

Сообщения / Posts 17083 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Alex von Bumb
Junior Member / Новичок
Участник № / Member № 6253


Icon 1 отправлено / posted      Профиль для / Profile for Alex von Bumb           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Спасибо, разобрались. В нашем случае потребовался порядок MDB_AFCNV05=16. Данные считываются.
Сообщения / Posts 30 | Из / From: РФ  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
   

Quick Reply
Сообщение / Message:

HTML код не разрешен. / HTML is not enabled.
UBB код разрешен. / UBB Code is enabled.

Значки Graemlins / Instant Graemlins
   


Послать новую тему / Post New Topic  Послать ответ / Post A Reply Закрыть тему / Close Topic   Feature Topic   Переместить топик / Move Topic   Удалить топик / Delete Topic Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
 - Printer-friendly view of this topic
Перейти к / Hop To


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2