|
Modbus RTU со стороны PC под Windows, Как реализовать протокол |
|
|
|
Mar 6 2011, 08:11
|

Любитель Кошек
    
Группа: Свой
Сообщений: 1 593
Регистрация: 8-06-06
Пользователь №: 17 873

|
Возникла задача пообщаться с приборами по протоколу Modbus RTU при помощи PC из под Windows (скорее 7 чем XP - лицензионные нынче требования  ) через RS485. Поскольку у этого протокола (Modbus RTU) достаточно жесткие требования на времянку, то подозреваю, что использование фрейма длиной больше чем буфер (аппаратный для RS232 порта) не прокатит, а размер его (фрейма) будет скорее больше, чем меньше. Подскажите please, каким путем решить эту задачу. (Предполагаю, что есть драйвера - ткните где взять). Заранее спасибо (хотя бы за то, что прочитали)  .
--------------------
По современному этикету, в левой руке держат вилку, в правой - мышку.
|
|
|
|
|
 |
Ответов
(1 - 12)
|
Mar 14 2011, 19:00
|

Любитель Кошек
    
Группа: Свой
Сообщений: 1 593
Регистрация: 8-06-06
Пользователь №: 17 873

|
Цитата(demiurg_spb @ Mar 14 2011, 19:41)  Спасибо за ответ и пожелания. Если есть ссылка на описание применения OPC-server'а, выложите please (остальное из перечисленного имеется  ). Собственно самый неясный для меня (на сегодня) вопрос, как средствами Windows проконтролировать время между приходящими байтами для того, что бы выделить фреймы (компьютер в этом случае в роли ведомого, скажем занимается "прослушкой").
--------------------
По современному этикету, в левой руке держат вилку, в правой - мышку.
|
|
|
|
|
Mar 14 2011, 20:44
|

неотягощённый злом
     
Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643

|
Цитата(tyro @ Mar 14 2011, 22:00)  Если есть ссылка на описание применения OPC-server'а, выложите please... OPC-server - это универсальная прослойка между SCADA-системой или любым другим приложением и потёмками приборного уровня со всем многообразием протоколов и интерфейсов как физических так и логических. Это по сути масло приклеивающее к куску хлеба одинаково приятно как сыр, так и колбасу и даже икру. Вся эта кулинария гуглится на OPC-fondation. Цитата Собственно самый неясный для меня (на сегодня) вопрос, как средствами Windows проконтролировать время между приходящими байтами для того, что бы выделить фреймы... PerformanceTimer нам в помощь дан для таких вот задачек.
--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
|
|
|
|
|
Mar 15 2011, 05:46
|

Любитель Кошек
    
Группа: Свой
Сообщений: 1 593
Регистрация: 8-06-06
Пользователь №: 17 873

|
Цитата(demiurg_spb @ Mar 14 2011, 23:44)  OPC-server - это прослойка между SCADA-системой или любым другим приложением ...по сути масло приклеивающее к куску хлеба одинаково приятно как сыр, так и колбасу и даже икру. Если возможно в двух словах: насколько эта связка инерционная, то есть, можно ли ее использовать в системе авто регулирования, например в системе стабилизации переменного тока промышленной частоты? Цитата PerformanceTimer нам в помощь дан для таких вот задачек. За это отдельное спасибо.
--------------------
По современному этикету, в левой руке держат вилку, в правой - мышку.
|
|
|
|
|
Mar 15 2011, 06:36
|

Беспросветный оптимист
     
Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646

|
Цитата(tyro @ Mar 14 2011, 22:00)  Если есть ссылка на описание применения OPC-server'а, выложите please (остальное из перечисленного имеется  ). http://lectussoft.com/Удобный и недорогой, сам пользуюсь Цитата Собственно самый неясный для меня (на сегодня) вопрос, как средствами Windows проконтролировать время между приходящими байтами для того, что бы выделить фреймы (компьютер в этом случае в роли ведомого, скажем занимается "прослушкой"). В ВинАПИ эсть такая структура dcb, в которую заносятся все параметры комм. порта. В том числе таймауты приёма. То есть можно задать таймаут и ловить соответствующий эвент. А можно воспользоваться готовой библиотекой, NModbus, к примеру
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
|
Mar 15 2011, 09:40
|

неотягощённый злом
     
Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643

|
Цитата(tyro @ Mar 15 2011, 08:46)  Если возможно в двух словах: насколько эта связка инерционная, то есть, можно ли ее использовать в системе авто регулирования, например в системе стабилизации переменного тока промышленной частоты? Не уверен что Modbus вообще пригоден для такой задачи. Как собственно и Windows вообще. На модбасе строятся системы сбора данных ну а для динамических систем управления он впринципе не пригоден, т.к. реплай-таймаут может достигать секунды. Для приводов и ПЧ CAN рулит...
--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
|
|
|
|
|
Mar 15 2011, 13:13
|

Любитель Кошек
    
Группа: Свой
Сообщений: 1 593
Регистрация: 8-06-06
Пользователь №: 17 873

|
Цитата(MrYuran @ Mar 15 2011, 09:36)  http://lectussoft.com/Удобный и недорогой, сам пользуюсь Спасибо. Цитата В ВинАПИ эсть такая структура dcb, в которую заносятся все параметры комм. порта. В том числе таймауты приёма. То есть можно задать таймаут и ловить соответствующий эвент. А можно воспользоваться готовой библиотекой, NModbus, к примеру Если есть проверенная и не секретная ( и не платная  ) библиотека, выложите please. Цитата(demiurg_spb @ Mar 15 2011, 12:40)  Не уверен что Modbus вообще пригоден для такой задачи. Как собственно и Windows вообще. Про Windows того же мнения, но заказчик всегда прав  . Цитата Для приводов и ПЧ CAN рулит... В этой же задаче есть пара MITSUBISHI FR-D700, там как раз MODBUS RTU (а CAN нет).
--------------------
По современному этикету, в левой руке держат вилку, в правой - мышку.
|
|
|
|
|
Mar 15 2011, 18:46
|
Cундук
    
Группа: Участник
Сообщений: 1 478
Регистрация: 13-11-06
Из: Ростов-на-Дону
Пользователь №: 22 269

|
Цитата(tyro @ Mar 15 2011, 16:56)  Спасибо. Теперь бы еще номер версии, который проверен в бою. (Судя по количеству версий глюки там имеются)  Я бы сделал переход RS485+MODBUS/RTU->USB. Смысл мероприятия в следующем. Переход на любом МК с бортовым USB переводит телеграммы из Modbus/RTU в Modbus/ASCII. И передает их в PC. И наоборот. Переход получает телеграммы по USB в Modbus/ASCII и передает их на улицу в Modbus/RTU. В этом случае программулина приема/передачи может быть написана достаточно быстро и прозрачно средствами WIN API.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|