PMA
Forum Professor / Завсегдатай форума
Участник № / Member № 1387
отправлено / posted
Добрый день ! Trace Mode 6.10.2, модуль ОВЕН МВ110-224.1ТД - модуль ввода сигнала тензодатчика, при чтении значения FLOAT32, из регистра с адресом 0x46 командой Rout_Float(3), не получается получить правильное значение. Из ТО "Значение хранится в двух последовательных регистрах. Старшие разряды хранятся в регистре, имеющем меньший адрес". Попытка использовать команды перестановки байтов средствами системы результатов не даёт. Файл Modbus.set не работает, команды форматирования в файле *.cnf тоже. В документации написано что используются тип Float IEEE 754. Как бы выйти из положения?
Сообщения / Posts 159 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Файл Modbus.set в релизе 6.10.2 не работает, начиная с релиза 6.09.2. Команды форматирования в файле *.cnf работают. MDB_FRMT_FLOAT=<номер COM-порта>,<dec>. Dec может принимать значения 0,…3 При этом поддерживаемый порядок байтов в зависимости от числа DEC 0 – 3-2-1-0 (ModSim32-Float(Swapped)) 1 – 1-0-3-2 (данный порядок следования байтов соответствует стандарту и ModSim32-FloatingPoint и устанавливается по умолчанию) 2 – 0 – 1 – 2 – 3 (данный порядок следования байтов соответствует INTEL) 3 – 2 – 3 – 0 – 1
PMA
Forum Professor / Завсегдатай форума
Участник № / Member № 1387
отправлено / posted
Здравствуйте ! Создаю новый проект 1 канал float, подключен к источнику modbus, через COM2, читаю значение командой Rout_Float(3)#1. В каталоге RTM создаю файл float.cnf. Записываю в него поочерёдно строки вида: MDB_FRMT_FLOAT=1,0 запускаю профайлер результата нет, байты не переставляются. MDB_FRMT_FLOAT=1,1 то же самое MDB_FRMT_FLOAT=1,2 .. MDB_FRMT_FLOAT=1,3 ... констатирую что то пошло не так, может нужно секретное слово знать.
Сообщения / Posts 159 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Наименование и формат файла конфигурирования запуска МРВ смотрите в разделе "Приложения/Задание параметров работы мониторов".
Сообщения / Posts 17345 | Из / From: Россия
| IP / IP: IP адрес / IP address |
PMA
Forum Professor / Завсегдатай форума
Участник № / Member № 1387
отправлено / posted
Добрый день ! Посмотрел ! Создал файл следующего вида:
отправлено / posted
Попробуйте другие варианты настройки. В частности, Вам было предложено попробовать MDB_FRMT_FLOAT=1,0
Сообщения / Posts 17345 | Из / From: Россия
| IP / IP: IP адрес / IP address |
PMA
Forum Professor / Завсегдатай форума
Участник № / Member № 1387
отправлено / posted
Дело в том, что испробовал все варианты, Trace Mode не видит файл конфигурации, такое ощущение. В каком директории должен находится файл TMcom_0.cnf ??
Сообщения / Posts 159 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Файл TMcom_0.cnf должен лежать в папке запускаемого узла проекта с номером 0.
Чтобы проверить, читает ли RTM файл *.cnf, задайте в этом файле еще 1 ключ DEBUGON=F0000200
В профайлерном протоколе в папке узла должны быть записи об инициализации COM-порта и обмене по COM-портам.
Сообщения / Posts 17345 | Из / From: Россия
| IP / IP: IP адрес / IP address |
PMA
Forum Professor / Завсегдатай форума
Участник № / Member № 1387
отправлено / posted
Всё очень странно !! Добавил команду для отладки и заработало правильно. Вопрос.. может быть в файле должно быть больше одной команды? Ну тем не менее огромная вам благодарность.
Сообщения / Posts 159 | Из / From: Россия
| IP / IP: IP адрес / IP address |
PMA
Forum Professor / Завсегдатай форума
Участник № / Member № 1387
отправлено / posted
Сожалею, но не понял в чём было дело, сейчас стало нормально работать с одним ключом. Проблема решилась спасибо.
Сообщения / Posts 159 | Из / From: Россия
| IP / IP: IP адрес / IP address |
PMA
Forum Professor / Завсегдатай форума
Участник № / Member № 1387
отправлено / posted
Добрый день ! Создаю новый проект два канала HEX32, один на ввод другой на вывод. требуется перестановка байтов. Пишу команду в файл *.CNF MDB_FRMT_WORD=3,0 , ничего не происходит, меняю на MDB_FRMT_LONG=3,0 , работает но перестановка происходит только для HEX32, работающего на чтение, для канала работающего на выход перестановка не производится, так задумано или я ошибаюсь??
Сообщения / Posts 159 | Из / From: Россия
| IP / IP: IP адрес / IP address |
PMA
Forum Professor / Завсегдатай форума
Участник № / Member № 1387
отправлено / posted
Добрый день ! Прошу прощения задержался, был в отпуске. Выслал проект на hotline@adastra.ru
Сообщения / Posts 159 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Написали письмо в ответ 14.08.2017 в 15:29. MDB_FRMT_LONG на запись работать не будет. Можно перестановку делать программно. Или попробуйте модбас источник W_Float(16) залинковать на канал HEX32 и использовать перестановку для Float.
Сообщения / Posts 17345 | Из / From: Россия
| IP / IP: IP адрес / IP address |
PMA
Forum Professor / Завсегдатай форума
Участник № / Member № 1387
отправлено / posted
Добрый день ! К сожалению письма я не получил ..
Связал канал HEX32 с источником W_Float(16) и вставил в файл TMcom_0.cnf команды MDB_FRMT_LONG 1,0 MDB_FRMT_FLOAT 1,0
Всё заработало правильно. То есть идёт перестановка Input HEX32, и перестановка Output Hex32. Спасибо ! В качестве предложения для дальнейшего развития, может в панели настройки источника MODBUS дать возможность выбрать перестановку байт.
Сообщения / Posts 159 | Из / From: Россия
| IP / IP: IP адрес / IP address |