Modbus ASCII |
Ответить |
Автор | |
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Новичок Присоединился: 06 Октябрь 2010 Online Status: Offline Публикации: 2 |
Опубликовано: 08 Октябрь 2010 10:27 |
Приветствую.
Описание задачи: Имеется Slave устройство, которым необходимо управлять по Modbus-ASCII через Simatic CP341, который этот режим изначально поддерживает. Прочитал документацию по данному протоколу и выяснилось каким образом нужно формировать пакет. Пакет формируется с использованием кодов символов таблицы ASCII, причем в один байт укладывается 2 символа по 4 бита. Плюс необходимо формировать контрольную сумму LRC. Я так понимаю обратную операцию мне придется проделывать после передачи ответа Slave устройством, т.е. каждый ответный пакет, состоящий из кодов символов ASCII преобразовывать в необходимый числовой формат для дальнейшего анализа данных. Нашел документ "Loadable Driver for CP 341 Modbus ASCII Master with 32-Bit Extensions", в котором описывается загружаемый драйвер Modbus-ASCII. Но по заказному номеру 6ES7870-1CA00-0YA0 в каталоге Siemens CA-01 2010 ничего не нашел. Вопросы: 1. Кто может поделиться самописным драйвером Modbus-ASCII? 2. Насколько упрощает работу загружаемый драйвер Modbus-ASCII? 3. Почему его нет в каталоге CA-01 2010? 4. Ваше мнения по описанной задачи. |
|
Действительный член Присоединился: 15 Октябрь 2003 Категория: Belarus Online Status: Offline Публикации: 141 |
|
"причем в один байт укладывается 2 символа по 4 бита"
- не понял я этого... в АСКИ-протоколе идёт передача байта символами. например: байт 3D передаётся как два АСКИ-символа "3" и "D" - расчёт CRC: procedure CalcLRC; var Y : byte; H : LongInt; T : byte; begin H := Request[1]; for Y:=2 To 12 do H := H + Request[Y]; T := (255-H+1) AND $FF; Request[14] := ByteToChar(T and $0F); Request[13] := ByteToChar(T shr 4); end; вроде всё P.S. насколько я помню - байты передаются наоборот, т.е. сначала младший, потом старший (но точно не помню) |
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 02 Октябрь 2007 Категория: Russian Federation Online Status: Offline Публикации: 427 |
|
http://www.modbus.org/specs.php Посмотрите команды 3, 4 и 16 и 7 пункт в Modbus Application protocol V1 1 b
И документ Modbus Over Serial Line
К сожалению по ascii особо не подскажу, то что написано в спецификации довольно специфично , одно требование 7 битных посылок чего стоит. Мы пользуем RTU.
|
|
При экспериментах ни один чайник не пострадал
----------- Плохому системному интегратору всегда OPC сервер мешает. ______________ Пишу на C++ за еду |
|
Ответить |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |