Ченду Ингчуан информационни технологии ООД
Дом>Продукти>Софтуерен пакет за протокол ModBus
Софтуерен пакет за протокол ModBus
Протоколът Modbus е универсален комуникационен протокол, който се използва широко в днешната индустриална област на контрола, и InGen предлага софтуер
Данни за продукта

Протокол за комуникация ModBus

Протоколът Modbus е универсален комуникационен протокол, който се използва широко в днешния индустриален контрол. С този протокол контролерите могат да комуникират помежду си или с други устройства чрез мрежа, като Ethernet. Протоколът Modbus използва технология за комуникация от основното устройство, т.е. активно запитване и управление от основното устройство. Протоколът, използван от управляващото устройство, обикновено се нарича Modbus Master, а протоколът, използван от устройството, се нарича Modbus Slave. Типичното основно оборудване включва индустриални контролери и промишлени контролери; Типични от устройства като PLC програмируеми контролери и т.н. Физическият интерфейс за комуникация на Modbus може да бъде избран за сериен порт (включително RS232 и RS485), както и за Ethernet порт. Неговата комуникация следва следния процес:

Изпращане на заявки от основното устройство

Анализиране и обработка на заявките от основното устройство и изпращане на резултатите на основното устройство

● Ако се появи някаква грешка, ще се върне аномален код от устройството


Информация за софтуера за комуникационния протокол ModBus

Софтуерните продукти за комуникационния протокол ModBus, пуснати от Ингвинг, се използват основно в средата на вградената дъщерна платка ARM9 на Ингвинг, като дъщерните платки на Ингвинг имат богат сериен порт, мрежови ресурси, универсален GPIO интерфейс и др., като същевременно имат мощна обработъчна мощност. В комбинация със софтуера за комуникационния протокол ModBus е много лесно да се създадат платформи за приложения, които отговарят на спецификациите за комуникация ModBus. За основния начин на комуникация ModBus, пакетът ModBus е разделен на две отделни части, които могат да се използват, а именно "ModBus Master Software" (по-късно modbus_Master) и "ModBus Device Side Software" (по-късно modbus_Slave). В момента софтуерът за комуникационния протокол ModBus се използва в WinCE среда и е достъпен за клиентите под формата на C функция плюс статична LIB библиотека. Основните му характеристики са следните:

Изключително подходящ за индустриални приложения в реално време

Може да поддържа приложения ModBus базирани на сериен порт или приложения ModBus базирани на TCP

Режим на предаване RTU

Поддръжка за повечето операции с Modbus код, включително битови операции на bobини, дискретни превключватели и операции с байтове на регистри

Поддръжка на адреси за излъчване

Гъвкаво настройване на времето за ModBus комуникация

● Можете да получите подробна информация за кодовете на грешките на протокола за пренос в комуникацията


Софтуерна диаграма за комуникация с протокола ModBus


Функционални кодове, поддържани от софтуера ModBus

Функционален код

Описание

1

Четене на една bobина

2

Четене на дискретен вход

3

Прочетете няколко регистра

4

Четене на входния регистър

5

Написане на една bobина

6

Написане на един регистър

15

Написане на няколко bobини

16

Записване на няколко регистра

22

Блокиране на записния регистър

23

Четене/записване на регистри


Основни методи за използване на софтуера

За да се улесни използването на приложението и да се поддържа последователна форма на код за различните комуникационни медии, API функциите в софтуера за протокола ModBus, предлаган от Ingron (включително modbus_Master и modbus_Slave), могат едновременно да поддържат протокола Modbus, базиран на сериен порт и TCP, приложението просто трябва да разграничи с различни параметри, когато извиква функцията за инициализация, за инструкции за параметрите вижте съответните заглавия: modbus_Master.h и modbus_Slave.h


Приложение на modbus_master

Приложението като Modbus клиентски режим е основно подготвяне на заявки и изпращане на заявки към сървърното устройство и чакане на отговора на сървъра. При разработването на такива приложения, потребителите могат да се позовават на стандартната литература на Modbus и ръководството за данни за комуникационния интерфейс на контролираното устройство, като директно се обаждат на пакета modbus_Master, предоставен от Интрон, за да осигурят съответната функционалност на оперативния API, за да завършат достъпа и контрола на сървърното устройство. При разработването на такива приложения потребителят трябва да включва само modbus_master.h/modbus_master.lib.


Приложение на modbus_slave

Като ModBus сървър модел приложение, основно трябва да се реализира анализ и отговор на ModBus приложение съобщения, но това е само част от цялата ModBus комуникация, другата част е също така трябва да има достъп до данните на приложението, тази част от съдържанието трябва да се дефинира от самия потребител. За да се улесни използването на клиентите, автоматичното зареждане на тези функции на потребителския интерфейс е реализирано под формата на функционен указател в пакета modbus_Slave, който свързва обработката на данни на приложението на потребителя с отговора на съобщенията на приложението ModBus. Потребителите просто трябва да дефинират тези функции на интерфейса според нуждите си, за да реализират съответните функции, като отделните функции се дефинират чрез специален CPP файл: DataProvider.cpp.


От това се вижда, че при разработването на подобни приложения трябва да се съдържат две части съдържание, една част от която е API функцията, дефинирана в modbus_slave.h/modbus_slave.lib; Другата част е функцията на потребителския интерфейс за данни, дефинирана от DataProvider.h /DataProvider.cpp, където функцията на интерфейса изисква потребителите да бъдат конкретно имплементирани в DataProvider.cpp.


За да отговорите навременно на съобщенията на ModBus приложението, трябва да се отбележи, че при програмиране трябва да се проектира нишка, която повиква многократно изпълнителната функция modbus_Slave, която е в режим на блокиране.


Например:

(1) Стартиране на протокола за устройството Modbus

hPort = mbusSlave_StartupServer (_T('*'), 1, 10000, mbusSlave_Interface );

Или...

hPort=mbusSlave_StartupServer(_T)"COM3:9600-8-1-0"),1,10000, mbusSlave_Interface );


(2) Извикане на изпълнителна функция в нишката Serverloop за отговор на заявка

докато( 1 )

{

//Извикане на изпълнителна функция за анализ и отговор на ModBus съобщения.

резултат = mbusSlave_ServerLoop( hPort );

    ако(резултат!=0)//Проверка за връщане на грешка

{

      //Отправяне на грешки: Този пример е текстово съобщение за получаване и отпечатване на код за грешка

wcscpy( szText, mbusSlave_GetErrorText( резултат ) );

i1 = wcslen( szText );

      ако( i1>0 )

{

wcstombs( strText, szText, i1 );

отпечатъкът(код на грешката: %s! n'Stretex);

}

}

}


Преди това софтуерът за комуникационния протокол ModBus се предлагаше на клиентите под формата на функция C плюс статична библиотека (файл modbus.lib или libmodbus.a). Тъй като все повече клиенти използват протокола ModBus, по-специално софтуера за магистърския протокол (модbus_Master) под формата на динамична библиотека (файл modbus_Master.dll или libmbusmaster.so) в ядрото на вградените индустриални контролни платки на Ингвинг, за да улесни повикването на приложенията на клиентите. Предварително инсталираните модбусови контролни платки включват всички основни платки от серията ESM (ESM6802, ESM6800, ESM335x, ESM928x и др.).


Свързани референтни материали


Приложение за събиране на токови пръстени от 4 до 20mA Софтуер за комуникационния протокол Modbus под WinCE

Софтуер за протокол Modbus за устройството под WinCE Вградена Linux дъщерна платка с поддръжка на протокола Modbus

Софтуерът Modbus за Linux ESM6802 поддържа разработване на Qt MODBUS програми

Предварително инсталиране на протокола Modbus в дъщерната платка
Онлайн запитване
  • Контакти
  • Компания
  • Телефон
  • Имейл
  • WeChat
  • Код за проверка
  • Съдържание на съобщението

Успешна операция!

Успешна операция!

Успешна операция!