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