PDA

Просмотр полной версии : Опрос прибора по Modbus на языке CFC



Strongtop
18.02.2015, 10:28
Требуется помощь в опросе прибора Термодат. Я не нашел примеров на языке CFC. Не могу понять как составить запрос к прибору и как получить от него ответ и вообще возможно ли это. Помогите опросить хоть один канал.

Scream
18.02.2015, 16:05
Опросить то возможно, но это большая работа. Но я сегодня забыл шапку читалку мозгов по IP адрессу.... так что придется вам написать чем читать то хотите? с ПК иль ПЛК? Телефона?

Strongtop
18.02.2015, 20:03
Опрашивать собираюсь с ПЛК по 485 интерфейсу.

Алексей Александрович
19.02.2015, 06:35
Похоже это команды через программу TermodatNet. А она платная. Скорее всего открытого протокола нет. Может ошибаюсь.

Strongtop
19.02.2015, 07:14
Действительно существует программа для опроса термодата компьютером, у меня она называется Termodat 6.03, она опрашивает приборы Термодат методом перебора адресов с 1 по 99, если у меня, допустим, двухканальный Термодат с адресом 21, то она находит его и два его канала. Более новые Термодаты без проблем опрашиваются через конфигурацию ПЛК. В инструкции написано, что можно опросить с помощью запроса и приведен его формат. Я в языке ST не силен, а в библиотеке modbus.lib (Codesys) есть функциональный блок MB_RD_HOLD_REGS. С помощью него я и хочу опросить регистры термодата, но незнаю как это сделать.

Алексей Александрович
19.02.2015, 07:27
У нас стоят Термодат 12К5. Посмотрел инструкцию. На 485 протокол модбас. Но нет таблиц регистров с адресами и описанием. А у Вас на картинках по моему командная строка к программе на ПК.

Более новые Термодаты без проблем опрашиваются через конфигурацию ПЛК.
Это как?

Strongtop
19.02.2015, 07:46
16796

в данном случае у меня 5-ти канальный термодат-13кс2, с нулевого по четвертый регистр текущие значения температуры. В программе "термодат" на ПК я вообще ничего не пишу, просто нажимаю кнопку "сканировать" и она все делает сама.

capzap
19.02.2015, 07:51
а что там про функцию сказано, точно не регистры ввода надо вычитывать, обычно показания температур не нуждаются в записи их из вне, помимо самого измерительного элемента

Strongtop
19.02.2015, 08:04
В моем случае мне нужны эти температуры для мониторинга в SCADA и чтобы не городить огород и не покупать модули MVA8 я подключил Термодат (который на 5-ть каналов), через конфигурацию ПЛК в уже существующую программу. Мне методом перебора, правда перебирал недолго, удалось получить нужные мне значения. Но с более старыми термодатами такой фокус не прошел.

Алексей Александрович
19.02.2015, 08:31
Повезло. Так можно очень долго перебирать. Видимо в новых программист лопухнулся. А в старых наверное надо что то послать а потом уже считывать. А вот что? За TermodatNet они просят 4000. Ну зачем им деньги терять.

Strongtop
19.02.2015, 08:38
так они вроде пишут, что надо послать.

Алексей Александрович
19.02.2015, 08:56
Так они и посылают только ВАС НА..... Извините. Где адреса (явки:)), форматы данных,.....? Командная строка для ПК в ПЛК не прокатит.

Strongtop
19.02.2015, 09:02
А почему на создать переменную STRING и не послать это в ней. Адреса и явки прописаны в инструкции.

Алексей Александрович
19.02.2015, 09:11
Извините я тут совсем с вами запутался. Вы где взяли картинки на #1? Если это руководство к программе для ПК то и эту программу нужно запихнуть в ПЛК. И это уже не смешно.

Strongtop
19.02.2015, 09:15
Ну разумеется я видел, что там написано "протокол обмена с компьютером", но почему нельзя создать запрос от ПЛК?

Алексей Александрович
19.02.2015, 09:24
Командная строка проглатывается программой ПК, и вы получаете ответ. А как программа общается с прибором Вам никто не рассказал. Ну можно перехватить передачу и расшифровать. Если хотите флаг в руки. Или кто уже вскрыл и в инет выложил. Удачного поиска.

Алексей Александрович
19.02.2015, 10:12
http://www.termodat.msk.ru/article/programmnoe-obespechenie-dlya-termoregulyatorov-termodat

Описание протокола обмена приборов Термодат (zip, 39.8 kb)
Покопайтесь здесь. Вроде то что нужно. Может и мне когда нибудь пригодится.

Strongtop
19.02.2015, 10:34
Я уже прочитал этот документ. Но так как я не умею создавать запросы, то ничего и не сдвинулось. Буду разбираться дальше. Если увенчается успехом, то выложу в тему.

capzap
19.02.2015, 11:01
www.owen.ru/forum/showthread.php?t=13585 последний проект в этом разделе прямо для Вас, берите его за основу и подставляйте свой формат протокола

Алексей Александрович
19.02.2015, 11:04
В этих документах вся нужная инфа. №регистра, формат данных,функция,.... Вы же опрашивали приборы. В чем проблема?

Алексей Александрович
19.02.2015, 11:08
подставляйте свой формат протокола
Так там стандартный модвас

Алексей Александрович
19.02.2015, 11:16
подставляйте свой формат протокола
Так там стандартный модвас

capzap
19.02.2015, 11:34
то что на рисунках из первого поста,разве модбас?

Алексей Александрович
19.02.2015, 11:55
Нет конечно. Это приложение к описанию проги ТЕРМОДАТНЕТ. Прогу можно запускать в режиме командной строки. Как я понял. И к модвасу вообще не имеет ни какого отношения. А в посте #17 документация протокола модвас для термодатов.

LordMazy
07.01.2017, 18:29
Нет конечно. Это приложение к описанию проги ТЕРМОДАТНЕТ. Прогу можно запускать в режиме командной строки. Как я понял. И к модвасу вообще не имеет ни какого отношения. А в посте #17 документация протокола модвас для термодатов.

Из документации поста №17 явно видно что протокол Термодата к МодБас протоколу ни какого отношения не имеет, <strike>это откровения шамана как общаться с духом прибора термодат</strike> это описание внутреннего протокола, при чем не полное.
Р.С. Решили заменить немецкие приборы на аналог, среди Овнов не нашли полного, ближайший термодат 12к5, поэтому поднимаю тему ;) Кто подключил МастерСКАД к этому зверьку, отзовитесь...

melky
07.01.2017, 20:32
Чтобы подключить MasterScada к этому зверьку необходим универсальный OPC либо на языке Си либо на Lua (или как его там) и написать в нем опрос прибора.

capzap
07.01.2017, 20:53
Из документации поста №17 явно видно что протокол Термодата к МодБас протоколу ни какого отношения не имеет, <strike>это откровения шамана как общаться с духом прибора термодат</strike> это описание внутреннего протокола, при чем не полное.
Р.С. Решили заменить немецкие приборы на аналог, среди Овнов не нашли полного, ближайший термодат 12к5, поэтому поднимаю тему ;) Кто подключил МастерСКАД к этому зверьку, отзовитесь...
А что у нас термодат начал уже Овен выпускать, Вы адресом то не ошиблись? Протокол там модбасовский написан, поэтому можно опрашивать любым мастером, написанном на любом языке

melky
07.01.2017, 21:04
У Modbus два байта на адрес прибора ?

capzap
07.01.2017, 21:10
У Modbus два байта на адрес прибора ?

При использовании ASCII - режима каждый байт сообщения передается как два ASCII символаВы про эти два байта

melky
07.01.2017, 21:15
В таком случае, если верить страничкам из 1-ого поста, должно передаться 4 байта а не 2.
Прибор использует всего 98 адресов, 0 не используется, 99 широковещательный.
Контрольной суммы я тоже не увидел в описании.

capzap
07.01.2017, 21:24
В таком случае, если верить страничкам из 1-ого поста, должно передаться 4 байта а не 2.
Прибор использует всего 98 адресов, 0 не используется, 99 широковещательный.
Контрольной суммы я тоже не увидел в описании.
так мы про первый пост или про семнадцатый

melky
07.01.2017, 23:22
аа, я про первый.

capzap
07.01.2017, 23:33
если полная маркировка заканчивается на М2, то модбас есть, если нет протокол Термодата, который так и называется термодат, аналогично как у Овена