This is topic Изменение типа данных каналов MODBUS in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.
Как изменить тип данных канала в группе MODBUS из "Источники/Приёмники"? Например, он был вначале заведён как Rin_Float(4), а потом потребовалось изменить его на Rin_Byte(2). Кстати типы каналов нельзя определить визуально, в отличие от разных значков каналов из "Система".
Trace Mode 6.07.7 базовая
Posted by Romсheg (Участник № / Member № 3792) on :
Менять тип источника нельзя, это не только для Модбаса, заново создать, удалив предыдущий.
Posted by Nico (Участник № / Member № 5342) on :
Если учесть что Rin_Float(4)(плавающая точка), создает канал типа FLOATа Rin_Byte(набор битов) - HEX, то такая возможность дейсвительно необходима )
Posted by Николай Распопов (Участник № / Member № 5232) on :
Когда нужно поменять тип для канала который уже проведён через десяток аргументов форм и программ, то удаление его разрушает всю систему. :-(
Posted by Romсheg (Участник № / Member № 3792) on :
2Nico: Вы наверное никогда не получали от программистов контроллера новые исправления, где они решают перевести один из параметров в другую область памяти контроллера, заодно поменяв его тип и обработку. Вот весело потом по-новой лопатить весь проект пересоздавая и перепривязывая такие точки по всей структуре вручную!
Posted by Romсheg (Участник № / Member № 3792) on :
2Николай: тип канала-то как раз можно сменить, это тип источника нельзя.
Posted by Nico (Участник № / Member № 5342) on :
Создать новый источник нужного типа и перетащить его на нужный канал
2Romcheg аналоговая величина стала набором битов ?
Posted by Romсheg (Участник № / Member № 3792) on :
Легко! Во многих ПЛК, работающих по Модбасу - ВООБЩЕ нет аналоговых величин формата Float! Например контроллеры Delta, там все аналоговые параметры есть целочисленные значения регистров, которые после прочтения еще на 10 надо поделить, чтобы они стали с одним знаком после запятой.
Posted by Nico (Участник № / Member № 5342) on :
1 и 2 функции чтение битов(COIL) по Модбасу ; а FLOAT реализуется через(3,4) чтение регистров
[ 02.09.2011, 16:30: Сообщение отредактировал / Message edited by AdAstra Technical Support ]
Posted by Romсheg (Участник № / Member № 3792) on :
2-й функцией читается целочисленное значение, чтения Coil'ов в ТМ нет, они могут считываться только как байтовое значение (ТМ делает групповой запрос). Насчет продуманности - структура дерева проекта ТМ6 такова, что функционал для одного компонента будет и для других, тут без разницы что во что делать, да хоть 3-ю функцию в 4-ю и наоборот - внутри объектов структуры все одно. Другое дело, что программисту придется сильно поработать в коде, меняя один тип на другой и так по многим источникам ручками придется прописать - я это знаю, сам подобную архитектуру как-то разрабатывал. А теперь представим, что в ТМ6 этих источников сотни - нехилые изменения в коде надо будет делать. Так что - не надейтесь, даже при должном обосновании реализовать такое будет очень трудоемко.
Posted by Nico (Участник № / Member № 5342) on :
а для чего тогда нужнен параметр число бит ? 4 бита работает другие не пробывал(кто-нибудь использовал ?)
Posted by Romсheg (Участник № / Member № 3792) on :
Если Вы про каналы, то он всего лишь управляет видимостью бит в списках для привязок, но на самом деле их всегда 16 для Нех16 и 32 для Нех32, никакого другого функционала он не несет.
Posted by Nico (Участник № / Member № 5342) on :
тест показывает что запрашивается 4 бита,а не 8 или 16. Может это конечно только для ModBus