目前英創公司提供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庫的名稱,如:
編譯后的應用程序在板卡上運行時會自動加載modbus動態庫,相比原來靜態庫,應用程序的大小明顯變小。
后續供貨的ESM系列主板中均預裝modbus協議,原有的靜態庫模式也可繼續正常運行。
-
Linux
+關注
關注
87文章
11293瀏覽量
209340 -
嵌入式主板
+關注
關注
7文章
6085瀏覽量
35297
發布評論請先 登錄
相關推薦
評論