PDA

Просмотр полной версии : СП270 и ТРМ201 не получается подружить



Илья_Евгеньевич
17.04.2014, 16:47
Всем привет кто откликнулся, сразу оговорюсь, в этой сфере работаю всего ничего и честно говоря учусь)Старшие коллеги дали поиграться сп270 и трм201, почитав документацию к ним решил попробовать самое элементарное считать текущее показание и поуправлять уставкой ТРМки через СП270, считать удалось показания, а вот управление уставкой не получается, показывает текущую уставку, но при назначении нового значения уставки пишет "потеря связи"

petera
18.04.2014, 06:45
Всем привет кто откликнулся, сразу оговорюсь, в этой сфере работаю всего ничего и честно говоря учусь)Старшие коллеги дали поиграться сп270 и трм201, почитав документацию к ним решил попробовать самое элементарное считать текущее показание и поуправлять уставкой ТРМки через СП270, считать удалось показания, а вот управление уставкой не получается, показывает текущую уставку, но при назначении нового значения уставки пишет "потеря связи"
Ответ на Ваш вопрос следует искать в документе Краткая инструкция ТРМ201 (Краткая инструкция по работе с ТРМ201 по Modbus) http://www.owen.ru/uploads/ki_prm_trm201_032.pdf ссылка взята здесь http://www.owen.ru/catalog/32997860
12627
Вы пытаетесь записать значения в регистр 0х100В(4107) доступный только для чтения. Из-за этого возникает ошибка.
Вам следует использовать регистр 0х0002, который доступен и для чтения и для записи. Только учтите, что тип данных в этом регистре Int16, т.е целое число. Для дробных чисел в этом случае используется формат с фиксированной точкой, когда между двумя заранее определёнными разрядами ставится запятая, превращая, например, целое число 1234 в дробное 12,34.
Количество знаков после запятой для ТРМ201 задается параметром dP. В панели для таких чисел следует использовать формат Dec или Unsigned у которых параметр "Дробная" естественно должен быть равен значению dP.
12628
Однако Вас ожидает еще одна "засада":)
Т.к Вы начинающий, то не буду углубляться в дебри протокола Modbus, а просто скажу, что для чтения и записи данных протокол использует определенные команды (функции), номер которых зависит от типа адресов в таблице регистров Modbus
http://www.owen.ru/forum/attachment.php?attachmentid=12621&d=1397777586
Дело в том, что в нашем случае стандартный цифровой ввод в панели СП270 будет использовать для записи команду 0х06 (запись одного регистра).
А ТРМ201, не смотря на то, что для SP используется всего один регистр 0х0002, требует использовать для записи команду 0х10 (запись нескольких регистров).
Таким образом стандартный цифровой ввод то же не будет работать. Что делать:confused:.
Вопрос про команду 0х10 уже поднимался
здесь http://www.owen.ru/forum/showthread.php?t=14188
и здесь http://www.owen.ru/forum/showthread.php?t=14597
Самое простое решение в виде немного подправленного стандартного элемента Цифровой ввод http://www.owen.ru/forum/showthread.php?t=14191&page=2&p=109623#post109623.
Ни каких функций на Си, ни каких ф.облостей.
Или можете просто скопировать такой исправленный цифровой ввод из прилагаемого проекта и вставить на нужный экран своего проекта.
12630

Подсказка. Можно копировать элементы и даже целые экраны между несколькими одновременно открытыми проектами.

Илья_Евгеньевич
18.04.2014, 08:15
Спасибо большое за такой развернутый ответ, буду "морщить мозг"!!!!!