1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

передача строк по Modbus

RS-485, ProfiBUS, 4-20 mA, Wi-Fi, GSM и так далее

Модератор: Глоб.модераторы

Ответить
Аватара пользователя

Автор темы
petr2off
эксперт
эксперт
Сообщения: 1737
Зарегистрирован: 06 янв 2016, 19:45
Имя: Петров В.Л.
Страна: Россия
город/регион: Красноярск
Благодарил (а): 78 раз
Поблагодарили: 235 раз

передача строк по Modbus

Сообщение petr2off »

Задачка такая возникла. Нужно, что бы контроллер - рассылал SMS сообщения дежурным слесарям и инженерам. Ну с рассылкой я разобрался, но захотелось вести базу слесарей с телефоном, ФИО, должность - ну там еще наверно чего понадобится.
Я планировал держать эту базу на АРМе оператора (под MasterScada), но заказчик от АРМ отказался.
И собственно говоря у меня осталось 2 элемента - сам контроллер (LP-8141), и панель оператора (Weintek).
Держат в контроллере вроде бы логично, у него и минифлешка уже есть на 2 Гиг, но этой базой нужно управлять (смотреть, добавлять, изменять, удалять). И тут встает вопрос - как по Modbus передавать строки от панели в контроллер ?
Паковать по 2 байта в 16 разрядный регистр ? Какой то квест получается.
Конечно можно тупо изменять модуле в ресурсе IsaGraf и перегружать его - но это АРМ разработчика, а они даже от АРМ оператора отказались. Вопрос - был ли у кого опыт передачи строка по Modbus ?

Sergy6661
специалист
специалист
Сообщения: 655
Зарегистрирован: 19 фев 2019, 22:38
Имя: Сергей
Страна: Россия
город/регион: Краснодар
Благодарил (а): 20 раз
Поблагодарили: 89 раз

передача строк по Modbus

Сообщение Sergy6661 »

Строка будет передаваться пакетом байт никаких проблем для модбаса, а вот с организацией в конкретном ПЛК х.з. Панель то примет и интерпретирует(тут тоже надо смотреть кодировки) по крайней мере латиницу. В кодесисных ПЛК передавал строки в панели разные, ПЛК при этом был слэйв, могут быть проблемы с выравниванием и адресацией. А ваш
petr2off писал(а): 02 сен 2022, 07:02 сам контроллер (LP-8141)
как вы там организовываете модбас х.з.
Аватара пользователя

Автор темы
petr2off
эксперт
эксперт
Сообщения: 1737
Зарегистрирован: 06 янв 2016, 19:45
Имя: Петров В.Л.
Страна: Россия
город/регион: Красноярск
Благодарил (а): 78 раз
Поблагодарили: 235 раз

передача строк по Modbus

Сообщение petr2off »

Модбус ни как не организую, есть драйвер FIORDа его и использую. А в нем возможны только 16 и 32 разрядные регистры.
Которые можно монтировать соответственно на целые и вещественные переменные.

Sergy6661
специалист
специалист
Сообщения: 655
Зарегистрирован: 19 фев 2019, 22:38
Имя: Сергей
Страна: Россия
город/регион: Краснодар
Благодарил (а): 20 раз
Поблагодарили: 89 раз

передача строк по Modbus

Сообщение Sergy6661 »

petr2off писал(а): 02 сен 2022, 11:30 только 16 и 32 разрядные регистры.
Которые можно монтировать соответственно на целые и вещественные переменные.
Все правильно 16 разрядов- 2 ASCII символа, теперь натянуть строку на массив байт, массив байт преобразовать в массив int и его натягивать на область шлюза.
Если есть возможность работы с "указателями" можно строку сразу на массив int "натянуть"

tonyk
осмотрелся
осмотрелся
Сообщения: 106
Зарегистрирован: 16 дек 2018, 16:35
Имя: Антон
Благодарил (а): 5 раз
Поблагодарили: 4 раза

передача строк по Modbus

Сообщение tonyk »

Sergy6661 писал(а): 02 сен 2022, 09:04 а вот с организацией в конкретном ПЛК х.з
Например, в ПЛК Мицубиси настраивается способ хранения строк: по одному символу в регистре или по два.

rwg
почётный участник форума
почётный участник форума
Сообщения: 1073
Зарегистрирован: 29 апр 2014, 09:57
Имя: Рыбкин Владимир Геннадьевич
Страна: Россия
город/регион: Тверь
Благодарил (а): 73 раза
Поблагодарили: 147 раз

передача строк по Modbus

Сообщение rwg »

petr2off писал(а): 02 сен 2022, 11:30 А в нем возможны только 16 и 32 разрядные регистры.
Которые можно монтировать соответственно на целые и вещественные переменные.
У Овена в ТРМах по модбасу передаются в том числе ASCII символы - название прибора и вроде номер прошивки. Модбасу всё равно, что передавать в регистрах, главное - чтобы приёмник умел работать с их содержимым.
Аватара пользователя

Никита
почётный участник форума
почётный участник форума
Сообщения: 3971
Зарегистрирован: 20 янв 2010, 22:23
Имя: Никита
Страна: РФ
город/регион: Мурманск
Благодарил (а): 21 раз
Поблагодарили: 229 раз

передача строк по Modbus

Сообщение Никита »

Тут вопрос не в регистрах, а в функционале. Если оборудование и драйверы поддерживают 16-ю функцию модбаса - задача только в том, чтоб строку по регистрам подряд разложить. А вот если нет - будут танцы с бубном.
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" приходит единственный вопрос: "Нахрена? "

AlexandrGr
не первый раз у нас
не первый раз у нас
Сообщения: 306
Зарегистрирован: 26 май 2022, 12:10
Имя: Александр
Страна: Россия
город/регион: lipetsk
Благодарил (а): 5 раз
Поблагодарили: 28 раз

передача строк по Modbus

Сообщение AlexandrGr »

Используйте UNICODE. Один символ = одно слово.
Ответить

Вернуться в «Интерфейсы, протоколы, связь»