реализация modbus на плк beckhoff |
Ответить |
Автор | |
Новичок Присоединился: 19 Июль 2012 Online Status: Offline Публикации: 14 |
Опубликовано: 25 Февраль 2014 08:34 |
Есть плк beckhoff dc9000, есть модуль посл. интерфейса kl6041, есть библиотека plc_modbus_rtu для twincat. Необходимо, чтобы плк опрашивал некоторые устройства по modbus.
Я использую функ. блок FUNCTION_BLOCK ModbusRtuMaster_KL6x22B. Вопрос, как мне теперь получить данные из опрошенных приборов? Не судите строго за возможно глупый вопрос, отзовитесь если есть в этом опыт. 87_kai@mail.ru
|
|
Действительный член Присоединился: 15 Октябрь 2003 Категория: Belarus Online Status: Offline Публикации: 141 |
|
Отвечу попроще:
1. со своего ПЛК Вы должны на прибор отправить запрос на чтение определённых регистров, которые могут быть разными для различных приборов (в запросе указывается сколько слов читать, но могут быть ограничения на количество слов, считываемых за один раз) 2. прибор Вам ответит на Ваш запрос набором слов по 2 байта 3. преобразовать слово (слова) во float-формат (получится число с плавающей запятой) или просто взять это Слово (если способ хранения данных в приборе - целые числа) 4. использовать это значение у себя Назначение регистров и их способ хранения необходимо смотреть в описании протокола на каждый конкретный прибор. P.S. бывает ещё такое, что прибор отдаёт целые числа, но множенные на 10 (100) - это типа способ хранения чисел с 1 (2) знаками после запятой... соответственно у себя Вам будет необходимо разделить это число на 10 (100) и т.д. P.P.S. Для примера дам запрос и ответ для инвертора "Shenzhen Electric CHF-100": - запрос (RTU mode, read 2 data from 0004H) Node address - 01H Command - 03H High byte of start address - 00H Low byte of start address - 04H High byte of data number - 00H Low byte of data number - 02H Low byte of CRC - 85H High byte of CRC - CAH - ответ Node address - 01H Command - 03H Returned byte number - 04H Higher byte of 0004H - 00H Low byte of 0004H - 00H High byte of 0005H - 00H Low byte of 0005H - 00H Low byte of CRC - 43H High byte of CRC - 07H P.P.P.S. скорее всего у Вас в библиотеке есть набор функций для чтения регистров, тогда Вам просто нужно будет вызвать эту функцию с параметрами "адрес", "начальный регистр" и "количество слов для чтения" |
|
Новичок Присоединился: 19 Июль 2012 Online Status: Offline Публикации: 14 |
|
Semelenov, спасибо. Но мне нужна именно помощь в реализации на плк beckhoff в twincate. Общий принцип протокола я понял, но затрудняюсь с twincatом, т.к. нет документации на русском и вообще по нем мало информации. Вопрос остался открытым
|
|
Новичок Присоединился: 19 Июль 2012 Online Status: Offline Публикации: 14 |
|
А именно возникли вопросы по библиотеке TwinCAT PLC Modbus RTU
|
|
Новичок Присоединился: 11 Март 2014 Online Status: Offline Публикации: 1 |
|
Посмотрите примеры
http://infosys.beckhoff.com/content/1033/tf6255_tc3_modbus_rtu/html/tcplclibmodbusrtu_sample01.htm?id=15542 |
|
Ответить |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |