Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
29.03.2024, 14:07:43
 
Начало Помощь Поиск Войти Регистрация
Новости: Форум обновлен

+  Форум АО "ВЗЛЕТ"
|-+  Приборы ЗАО "Взлет"
| |-+  Отдел программистов
| | |-+  Пример связи расходомера Взлёт МР с Simatic S7-1200 через CM1241 RS485
0 Пользователей и 1 Гость смотрят эту тему. « предыдущая тема следующая тема »
Страниц: [1] Печать
Автор Тема: Пример связи расходомера Взлёт МР с Simatic S7-1200 через CM1241 RS485  (Прочитано 11956 раз)
Petricheg
Разбирается
*

Харизма: 0
Офлайн Офлайн

Сообщений: 1


« : 27.10.2017, 18:14:42 »

Пример связи ультразвукового расходомера Взлёт МР с Simatic S7-1200 через коммуникационный модуль связи CM1241 RS485 в режиме Точка-к-Точке в формате Modbus в среде программирования TIA Portal v14/
В данном примере инициализация CM1241 происходит при первом проходе программы по флагу FirstScan
(для реальных приложений надо использовать флаг для принудительной инициализации в любое время)


Затем надо активировать возможность CM1241 оператором "Set_Features"самому аппаратно подсчитывать контрольные суммы при передаче и приёме
то есть программист будет думать только о собственно адресах, фамилиях, явках


Данные для запроса размещены в блоке данных, который для оператора "Send_P2P" задаётся абсолютным адресом на первый байт блока данных, за которым после пробела указывается длина передаваемых полезных данных (в данном случае 6 байт)
В первом байте указывается сетевой адрес расходомера в сети RS485  (в данном случае "1")
Во втором байте задаётся номер функции Modbus
Рабочий опрос значений регистров 3***** и 4***** производится заданием значения функции:
 "3" для регистров  "4*****"
"4" для регистров  "3*****"
дальше два байта с абсолютным номером регистра
дальше два байта с длиной запрашиваемых данных


В ответ на запрос Взлёт должен послать ответ, который CM1241 оператором "Receive_P2P" перешлёт в блок данных, который надо адресовать абсолютным адресом первого байта блока
В первом байте будет сетевой адрес отправителя
Вторым байтом будет номер функции, по которой был запрос в  "Send_P2P" или будет код ошибки, если запрос был некорректным
Третьим байтом будет длина переданных расходомером данных в байтах


===================
Почему в данном случае использовал операторы Точка-к-Точке, а не специализированные операторы "Modbus_*"  MB_COMM_LOAD, MB_MASTER, ?
Сначала попробовал именно ими:
+ регистры 4***** читаются
- а вот регистры 3***** не читаются Sad
надо разбираться кто не прав и что делать... смотреть на шину логическим анализатором посылки...

==================

с этим расходомером столкнулся впервые - есть непонятности и неясности где какие данные должны лежать и в каком формате... тут селёдка была завёрнута... это не смотреть...
приходиться выяснять все варианты методом тыка и выявлять несоответствия или замалчивания в таблице регистров Список ModBus-регистров ModBus_ursv1xx.pdf


и есть расхождения по цифрам в читаемых данных из регистров и отображаемых данных на экране расходомера... по документации сопоставить соответствие экранных значений ячейкам регистров не получается...
толщина стенки 2,0 или 6,0 ?

Записан
asutp29
Разбирается
*

Харизма: 0
Офлайн Офлайн

Сообщений: 1


« Ответ #1 : 18.11.2019, 10:43:02 »

Добрый день
Столкнулся с такой же проблемой. Есть проект для TIA portal? Можете отправить на почту asutp29@yandex.ru ?
Записан
str72
Пользователь
**

Харизма: 0
Офлайн Офлайн

Сообщений: 38


« Ответ #2 : 14.01.2021, 12:55:42 »

Доброго всем дня! Тоже интересно решение как подружить Simatic S7 1200 и ИВК-102П
Записан
Страниц: [1] Печать 
« предыдущая тема следующая тема »
Перейти в:  


Войти

© 1990—2016, АО «Взлет».
Все права защищены.
Контактная информация
Powered by SMF 1.1.13 | SMF © 2006-2011, Simple Machines LLC
Материалы, размещенные на сайте, охраняются законодательством об авторском праве. Перепечатка материалов допускается только со ссылкой на сайт.