Modbus Ascii

Использование протокола Modbus
Ответить
yuriy
Рядовой
Сообщения: 8
Зарегистрирован: 08.11.2017{, 10:12}
Репутация: 0
Откуда: Москва

Modbus Ascii

#1

Сообщение yuriy » 08.11.2017{, 10:18}

Здравствуйте. Есть потребность считывать регистры в обычном формате и отправлять в формате ASCII. Возможно ли это в текущей версии FLprog? Если да, то как реализовать?

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Modbus Ascii

#2

Сообщение Sancho » 08.11.2017{, 10:48}

yuriy, что Вы имеете ввиду под именем "обычный формат" и "ASCII"?
Проясните моменты.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

yuriy
Рядовой
Сообщения: 8
Зарегистрирован: 08.11.2017{, 10:12}
Репутация: 0
Откуда: Москва

Modbus Ascii

#3

Сообщение yuriy » 08.11.2017{, 11:14}

Sancho писал(а):yuriy, что Вы имеете ввиду под именем "обычный формат" и "ASCII"?Проясните моменты.
Существуют три варианта ADU, два для передачи данных через асинхронный интерфейс и один — через TCP/IP сети:

Modbus ASCII — для обмена используются только ASCII символы. Для проверки целостности используется однобайтовая контрольная сумма. Начало и конец сообщения помечаются специальными символами (начало сообщения ":", конец сообщения CR/LF).
Modbus RTU — компактный двоичный вариант. Сообщения разделяются по паузе в линии. Сообщение должно начинаться и заканчиваться интервалом тишины, длительностью не менее 3,5 символов при данной скорости передачи. Во время передачи сообщения не должно быть пауз длительностью более 1,5 символов. Для скоростей более 19200 бод допускается использовать интервалы 1,75 и 0,75 мс, соответственно. Проверка целостности осуществляется с помощью CRC.
Modbus TCP — для передачи данных через TCP/IP соединение.

Под обычным я подразумеваю RTU

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Modbus Ascii

#4

Сообщение Sancho » 08.11.2017{, 11:40}

yuriy, Вы из wiki копипастили, что-бы ликбез провести?
А не проще ли было запустить FLProg? и посмотреть, какие типы соединений он поддерживает?
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

yuriy
Рядовой
Сообщения: 8
Зарегистрирован: 08.11.2017{, 10:12}
Репутация: 0
Откуда: Москва

Modbus Ascii

#5

Сообщение yuriy » 08.11.2017{, 17:06}

Sancho писал(а):yuriy, Вы из wiki копипастили, что-бы ликбез провести?А не проще ли было запустить FLProg? и посмотреть, какие типы соединений он поддерживает?
Я не спрашивал что проще или сложнее. Я спросил можно ли и как. FLProg я открывал и игрался, подключал к OPC серверу и скада системе. Меня интересует конкретно Modbus ASCII. В стандартном списке конфигурации я его не увидел, поэтому спросил, есть ли возможность его реализовать и как.

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Modbus Ascii

#6

Сообщение Sancho » 08.11.2017{, 17:41}

Реализовать возможно через создание пользовательского блока и подключением необходимых библиотек. Набор нужных регистров создадите там-же, используйте массив. Укажите "использовать один раз в проекте". В проекте также создайте массив и работайте с ним как с регистрами модбас. Потом, в IDE при компиляции поменяйте имя одного массива на другое, лишний удалите - сэкономите переменные и время на копирование одного в другой. Или используйте указатели, что лучше.
Похожий подход использовал для передачи текста по RTU из EEPROM.

Добавлено (08.11.2017, 17:41)
---------------------------------------------
Модбас ASCII, сами знаете, не особо используется в народе, хотя поддерживается многими приборами.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Ответить

Вернуться в «Modbus»