Перейти к содержанию
    

Протокол ModBus

Добрый день.

 

Прошу совета, кто и как реализовывал следующую задачу:

 

Имеется ведомое устройство, которое опрашивается по протоколу ModBus.

Соответственно, в памяти этого устройства имеются данные, которыми приходится делиться.

В моем случае это структура данных разного типа от char до float.

 

Обычно на персоналке в качестве мастера пользуюсь собственными програмульками, тут вопросы не возникают.

А если использовать какой-нибудь сторонний софт, возникают сложности.

Хотелось бы выделить фрагмент памяти доступный извне и все остальное возложить на плечи мастера, но...

По стандарту протокол обменивается двухбайтными данными, соответственно, все переменные в памяти должны быть кратны двум байтам, либо во время обмена делать проверку и при необходимости преобразовывать их.

 

И собственно вопрос, каким софтом контролировать и править данные?

 

В настоящее время использую Modbus OPS Server v2.7, но как-то не соображу где указать, что "это" - знаковое, а "это" - беззнаковое, а как быть с переменными CHAR - вообще не представляю.

 

Хотелось бы реализовать слейв более менее стандартный и с малой кровью.

Изменено пользователем Sirko

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

как быть с переменными CHAR - вообще не представляю.
Выход есть - расширить её до 16-ти битного слова (делать remap).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так эта... Вопрос-то в чём?

Что подцепить снаружи или как реализовать внутри?

Что-то я не совсем понял...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Универсальных инструментов, которым вы задаете свою структуру данных,а они ее отображают - нет. И это проблема scada систем. Как только надо иметь дело со структурой данных - все - надо использовать свой драйвер.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так эта... Вопрос-то в чём?

Что подцепить снаружи или как реализовать внутри?

Скорее теперешний мой вопрос мой вопрос, где вот эта середина, которая золотая.

 

Но на самом деле я услышал, что хотел.

Универсальных инструментов, которым вы задаете свою структуру данных,а они ее отображают - нет.

Вернее услышал я то, что услышать не хотел, но что поделать :rolleyes:

 

Спасибо за помощь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Выход есть - расширить её до 16-ти битного слова (делать remap).

+1 и вовсе не обязательно, что данные один-в-один отображаются на память. Могут быть вычисления на лету, например.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Из пригодившихся мне утилит были такие:

http://www.focus-sw.com/fieldtalk/modpoll.html

http://www.chipkin.com/cas-modbus-scanner

 

Но насчет настраиваемого представления данных... в итоге коллега на питоне за полдня настрочил требуемое.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...