英创信息技术主板中预装Modbus通讯协议

描述

目前英创公司提供ModBus通讯协议软件运行于WinCE及Linux环境下,均是以C函数加静态库(modbus.lib或libmodbus.a文件)的形式提供给客户。随着越来越多的客户的使用,最近我们将modus通讯协议,特别是主控协议软件(简称modbus_Master),以动态库(modbus_Master.dll或libmbusmaster.so文件)的形式预装到英创嵌入式工控主板内核系统中,以方便客户应用程序的调用。预装Modbus协议的工控主板包括ESM928x、ESM335x、ESM6800、ESM6802等型号。

Modbus协议动态库各个接口函数定义在modbus_Master.h,与原来的静态库保持不变,相应各个API函数的说明请参见英创网站技术天地文章《Wince下的Modbus主控通讯协议》、《英创嵌入式Linux工控主板支持Modbus主控协议软件》。这次的更新在RS485通讯模式中,还增加了可以配置RTS硬件方向控制的功能,实现该功能并没有增加任何函数,只是调整打开函数mbusMaster_OpenPortProtocol(…)中所带参数 pPortName即可。

选择RS485通讯模式,其格式如下:

_T( "COM3:9600-8-1-0 RS485" );

如果需要用GPIO来作为RS485的RTS硬件方向控制,以GPIO8为例,其参数格式调整如下:

_T( "COM3:9600-8-1-0 RS485-GPIO8" );

应用程序的开发在Linux环境下保持不变,参考《英创嵌入式Linux工控主板支持Modbus主控协议软件》一文即可。在WinCE环境下需要做以下调整:

WinCE应用需要重新在开发主机上更新以下安装文件后重新安装SDK,

EM928x_SDK.msi

ESM335X_SDK.msi

ESM6802_SDK.msi

SDK成功安装后,开发主机的环境中就自带了modbus对应的文件:

modus_Master.h

modus_Master.lib

应用程序中需要包含#include "modbus_Master.h",并将link设置中加入modbus_Master.lib,用于指定附加的Modbus库的名称,如:

Linux

编译后的应用程序在板卡上运行时会自动加载modbus动态库,相比原来静态库,应用程序的大小明显变小。

后续供货的ESM系列主板中均预装modbus协议,原有的静态库模式也可继续正常运行。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分