目前英創(chuàng)公司提供ModBus通訊協(xié)議軟件運行于WinCE及Linux環(huán)境下,均是以C函數(shù)加靜態(tài)庫(modbus.lib或libmodbus.a文件)的形式提供給客戶。隨著越來越多的客戶的使用,最近我們將modus通訊協(xié)議,特別是主控協(xié)議軟件(簡稱modbus_Master),以動態(tài)庫(modbus_Master.dll或libmbusmaster.so文件)的形式預裝到英創(chuàng)嵌入式工控主板內核系統(tǒng)中,以方便客戶應用程序的調用。預裝Modbus協(xié)議的工控主板包括ESM928x、ESM335x、ESM6800、ESM6802等型號。
Modbus協(xié)議動態(tài)庫各個接口函數(shù)定義在modbus_Master.h,與原來的靜態(tài)庫保持不變,相應各個API函數(shù)的說明請參見英創(chuàng)網(wǎng)站技術天地文章《Wince下的Modbus主控通訊協(xié)議》、《英創(chuàng)嵌入式Linux工控主板支持Modbus主控協(xié)議軟件》。這次的更新在RS485通訊模式中,還增加了可以配置RTS硬件方向控制的功能,實現(xiàn)該功能并沒有增加任何函數(shù),只是調整打開函數(shù)mbusMaster_OpenPortProtocol(…)中所帶參數(shù) pPortName即可。
選擇RS485通訊模式,其格式如下:
_T( "COM3:9600-8-1-0 RS485" );
如果需要用GPIO來作為RS485的RTS硬件方向控制,以GPIO8為例,其參數(shù)格式調整如下:
_T( "COM3:9600-8-1-0 RS485-GPIO8" );
應用程序的開發(fā)在Linux環(huán)境下保持不變,參考《英創(chuàng)嵌入式Linux工控主板支持Modbus主控協(xié)議軟件》一文即可。在WinCE環(huán)境下需要做以下調整:
WinCE應用需要重新在開發(fā)主機上更新以下安裝文件后重新安裝SDK,
EM928x_SDK.msi
ESM335X_SDK.msi
ESM6802_SDK.msi
SDK成功安裝后,開發(fā)主機的環(huán)境中就自帶了modbus對應的文件:
modus_Master.h
modus_Master.lib
應用程序中需要包含#include "modbus_Master.h",并將link設置中加入modbus_Master.lib,用于指定附加的Modbus庫的名稱,如:
編譯后的應用程序在板卡上運行時會自動加載modbus動態(tài)庫,相比原來靜態(tài)庫,應用程序的大小明顯變小。
后續(xù)供貨的ESM系列主板中均預裝modbus協(xié)議,原有的靜態(tài)庫模式也可繼續(xù)正常運行。
-
Linux
+關注
關注
87文章
11161瀏覽量
208468 -
嵌入式主板
+關注
關注
7文章
6083瀏覽量
35097
發(fā)布評論請先 登錄
相關推薦
評論