FLProg
Вход на сайт
Логин:
Пароль:
Поиск
...
Статистика
Вторник, 21.11.2017, 22:23
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: support, Сергей, Олег, Anydy 
Форум » Основной » Спросить у знатоков » Modbus Ascii
Modbus Ascii
yuriy Дата: Среда, 08.11.2017, 10:18 | Сообщение # 1
Рядовой
Группа: Проверенные
Сообщений: 3
Награды: 0
Репутация: 0
Статус: Offline
Здравствуйте. Есть потребность считывать регистры в обычном формате и отправлять в формате ASCII. Возможно ли это в текущей версии FLprog? Если да, то как реализовать?
 
Sancho Дата: Среда, 08.11.2017, 10:48 | Сообщение # 2
Генерал-майор
Группа: Проверенные
Сообщений: 519
Награды: 14
Репутация: 16
Статус: Offline
yuriy, что Вы имеете ввиду под именем "обычный формат" и "ASCII"?
Проясните моменты.


Если не получится на контроллере - сделаю на тразисторах и 155/176...
 
yuriy Дата: Среда, 08.11.2017, 11:14 | Сообщение # 3
Рядовой
Группа: Проверенные
Сообщений: 3
Награды: 0
Репутация: 0
Статус: Offline
Цитата 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 Дата: Среда, 08.11.2017, 11:40 | Сообщение # 4
Генерал-майор
Группа: Проверенные
Сообщений: 519
Награды: 14
Репутация: 16
Статус: Offline
yuriy, Вы из wiki копипастили, что-бы ликбез провести?
А не проще ли было запустить FLProg? и посмотреть, какие типы соединений он поддерживает?


Если не получится на контроллере - сделаю на тразисторах и 155/176...
 
yuriy Дата: Среда, 08.11.2017, 17:06 | Сообщение # 5
Рядовой
Группа: Проверенные
Сообщений: 3
Награды: 0
Репутация: 0
Статус: Offline
Цитата Sancho ()
yuriy, Вы из wiki копипастили, что-бы ликбез провести?А не проще ли было запустить FLProg? и посмотреть, какие типы соединений он поддерживает?
Я не спрашивал что проще или сложнее. Я спросил можно ли и как. FLProg я открывал и игрался, подключал к OPC серверу и скада системе. Меня интересует конкретно Modbus ASCII. В стандартном списке конфигурации я его не увидел, поэтому спросил, есть ли возможность его реализовать и как.
 
Sancho Дата: Среда, 08.11.2017, 17:41 | Сообщение # 6
Генерал-майор
Группа: Проверенные
Сообщений: 519
Награды: 14
Репутация: 16
Статус: Offline
Реализовать возможно через создание пользовательского блока и подключением необходимых библиотек. Набор нужных регистров создадите там-же, используйте массив. Укажите "использовать один раз в проекте". В проекте также создайте массив и работайте с ним как с регистрами модбас. Потом, в IDE при компиляции поменяйте имя одного массива на другое, лишний удалите - сэкономите переменные и время на копирование одного в другой. Или используйте указатели, что лучше.
Похожий подход использовал для передачи текста по RTU из EEPROM.

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


Если не получится на контроллере - сделаю на тразисторах и 155/176...
 
Форум » Основной » Спросить у знатоков » Modbus Ascii
Страница 1 из 11
Поиск:

FLProg © 2017
Яндекс.Метрика