咨詢電話
ENGLISH0755-88840386咨詢電話
0755-88840386發(fā)布時(shí)間:2020-08-28 11:49:21 |來(lái)源:網(wǎng)絡(luò)轉(zhuǎn)載
0引言
在化工、建材、糧食、冶金、煤炭、裝卸運(yùn)輸?shù)刃袠I(yè),都廣泛應(yīng)用著稱重控制器。它集稱重、計(jì)量與控制功能于一體,與恒速秤、調(diào)速秤、包裝秤、靜態(tài)秤、預(yù)加水等設(shè)備配套使用,實(shí)現(xiàn)各種物料的稱重與控制,以提高生產(chǎn)效率、降低生產(chǎn)成本、減少?gòu)U、次品數(shù)量。隨著智能儀表技術(shù)的不斷發(fā)展,其通信技術(shù)也在不斷增強(qiáng),當(dāng)前的稱重測(cè)量?jī)x表大多帶有RS-485.RS-422和RS-232通信接口,完全可以運(yùn)用現(xiàn)場(chǎng)總線方式實(shí)現(xiàn)PC機(jī)或PLC控制器對(duì)多臺(tái)秤量?jī)x表的集中監(jiān)控與數(shù)據(jù)采集。本文利用工業(yè)PC、現(xiàn)場(chǎng)總線(Ethernet.RS-485),WAGO750-842可編程現(xiàn)場(chǎng)總線控制器(PFC)、泓格1-7188嵌入式控制器及智能稱重控制器等構(gòu)成數(shù)據(jù)釆集及監(jiān)控系統(tǒng),成功實(shí)現(xiàn)了一臺(tái)可編程現(xiàn)場(chǎng)總線控制器對(duì)多臺(tái)稱重控制器的靈活控制和管理,實(shí)時(shí)數(shù)據(jù)采集、自動(dòng)上報(bào)及遠(yuǎn)程監(jiān)控功能。重點(diǎn)分析了WAGO750-842PFC、泓格1-7188控制器及智能稱重控制器之間的通信問(wèn)題。
1系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
1.1RS-485總線接口標(biāo)準(zhǔn)
RS-485是RS-422的改進(jìn)版本,它采用一對(duì)平衡差分信號(hào)線傳輸信號(hào),能有效地抑制遠(yuǎn)距離傳輸中的噪聲干擾,傳輸距離可達(dá)1.2km,傳輸速度也較快,可達(dá)10Mbps。根據(jù)RS-485電氣規(guī)定,在兩線制傳輸方式下,RS-485驅(qū)動(dòng)器可帶32個(gè)接收器⑴。
RS-485既可用于多站互連,也可構(gòu)成環(huán)行數(shù)據(jù)鏈路系統(tǒng),在多站或環(huán)路中的每一個(gè)工作站均有其唯一的地址標(biāo)記,利用地址標(biāo)記,每個(gè)工作站或設(shè)備只接收包含其專(zhuān)用地址的信息。
1.21-7188.WAGO750-842控制器
臺(tái)灣泓格1-7188嵌入式控制器是基于PC的功能強(qiáng)大的控制器,該控制器內(nèi)建80188-40處理器,有1個(gè)RS-485口、3個(gè)RS-232口(其中1個(gè)可選RS-485),可與各種帶RS-232/485接口的智能儀器通信,控制器使用MiniOS7或RomDOS操作系統(tǒng),支持TC、BC、MSC語(yǔ)言編程,泓格為此提供大量的庫(kù)函數(shù)及示例程序,用戶可通過(guò)這些庫(kù)函數(shù)及示例程序?qū)崿F(xiàn)豐富的功能,如數(shù)據(jù)采集和控制、通信轉(zhuǎn)換等。
WAGO750-842是德國(guó)WAGO公司W(wǎng)AGO-I/O-SYSTEM750系列的可編程現(xiàn)場(chǎng)總線控制器(PFC),詼PFC將Ethernet現(xiàn)場(chǎng)總線適配器的功能及PLC的功能結(jié)合在一起,是用于EthernetTCP/IP的可編程現(xiàn)場(chǎng)總線控制器。該P(yáng)FC支持的協(xié)議有MODBUS/TCP、HTTP、BootP、MODBUS/UDP。該控制器使用WAGO-1/O-PRO32或WAGO-CoDeSYS集成編程軟件,符合IEC61131-3五種編程語(yǔ)言。
1.3系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)
桿重系統(tǒng)釆用兩層總線型拓?fù)浣Y(jié)構(gòu),上層采用Ethernet總線,工程師站PC或IPC、主控750-842PFC站均掛在該層,下層采用RS-485總線,用于連接泓格1-7188控制器和8臺(tái)SK2001稱重控制器從站。稱重控制系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1稱重控制系統(tǒng)結(jié)構(gòu)
Fig.1Structureofweighingcontrolsystem
工程師站主要用于曲線顯示、數(shù)據(jù)査詢、報(bào)表打印及遠(yuǎn)程監(jiān)視與操作控制,主控750-842PFC站用于對(duì)8臺(tái)SK2001稱重控制器的輪詢?cè)L問(wèn),每臺(tái)稱重控制器被賦予各自的通信地址碼用以識(shí)別身份,這樣750-842PFC主站即能通過(guò)RS-485總線對(duì)掛在總線上的8臺(tái)稱重控制器從站進(jìn)行通信,從而實(shí)現(xiàn)對(duì)稱重控制器的遠(yuǎn)程數(shù)據(jù)釆集與監(jiān)控⑵。該站除了一臺(tái)750-842總線控制器外,還需要一塊750-653串行接口模塊RS-485、一塊750-600終端模塊。圖1中1-7188控制器主要作為協(xié)議轉(zhuǎn)換器使用,因?yàn)榉Q重控制器通信協(xié)議中數(shù)據(jù)校驗(yàn)采用傳號(hào)(mark)校驗(yàn)和空號(hào)(叩3°8)校驗(yàn),而內(nèi)人60750-842PFC控制器通信只有奇偶校驗(yàn),不具有傳號(hào)(mark)校驗(yàn)和空號(hào)(space)校驗(yàn),因此,通過(guò)1-7188控制器的轉(zhuǎn)換,就可完成WAG0750-842PFC與8臺(tái)稱重控制器的通信,從而完成數(shù)據(jù)采集功能。當(dāng)然,由于1-7188控制器具有多個(gè)串行通信口,它可以同時(shí)連接PC、PLC及觸摸屏等設(shè)備,這對(duì)較復(fù)雜控制系統(tǒng)實(shí)現(xiàn)控制尤為有用。
2通信功能的實(shí)現(xiàn)
2.1稱重控制器通信協(xié)議
第一項(xiàng)為從機(jī)地址,即稱重控制器地址碼,取值為1~8;第二項(xiàng)為指令,取值為01、02、03,分別表示寫(xiě)指令(向儀表寫(xiě)數(shù)據(jù))、讀指令(從儀表讀數(shù)據(jù))、鍵盤(pán)命令(向儀表寫(xiě)入鍵盤(pán)代碼,等同鍵盤(pán)操作);第三項(xiàng)為參數(shù)代碼,該參數(shù)在鍵盤(pán)命令中表示鍵值,在讀指令中置零,其值為00-11;第四項(xiàng)為數(shù)據(jù)項(xiàng),若為讀命令或鍵盤(pán)命令則為4字節(jié)“0”,若為寫(xiě)命令,則為4字節(jié)浮點(diǎn)數(shù)(先發(fā)低字節(jié));第五項(xiàng)為校驗(yàn)和,為前7個(gè)字節(jié)數(shù)據(jù)之和模256。
儀表返回?cái)?shù)據(jù)格式如圖3所示。即儀表收到讀命令(02H)時(shí),按以下順序格式返回?cái)?shù)據(jù)(92字節(jié))。
流量備用累計(jì)量顯示屏皮帶速度每米重量燈狀態(tài)報(bào)警信息站址校驗(yàn)和流量為4字節(jié)浮點(diǎn)數(shù),先發(fā)低字節(jié);累計(jì)量為8字節(jié)定點(diǎn)數(shù),先發(fā)低字節(jié);顯示屏為64字節(jié)代碼(漢字、數(shù)字、西文);皮帶速度(m/s)為4字節(jié)浮點(diǎn)數(shù),先發(fā)低字節(jié);每米重量(kg/m)為4字節(jié)浮點(diǎn)數(shù),先發(fā)低字節(jié);燈狀態(tài)中的位,為“1”時(shí)表示燈亮;報(bào)警信息中的位,為“1”時(shí)表示報(bào)警;校驗(yàn)和1字節(jié),為前91字節(jié)數(shù)據(jù)和模256。
2.21-7188與SK2001、PFC與1-7188之間的通信
1-7188控制器通過(guò)COM?串口與稱重控制器SK2001通信板的RS-485串口相連。由于1-7188嵌入式控制器配有MiniOS?嵌入式操作系統(tǒng),因此1-7188控制器可編程獨(dú)立運(yùn)行。1-7188現(xiàn)場(chǎng)單元控制模塊的控制程序,采用TC2.0編寫(xiě),調(diào)用1-7000相應(yīng)的庫(kù)函數(shù),主要有初始化模塊、定時(shí)采集模塊、數(shù)據(jù)通信模塊等。在C語(yǔ)言編程環(huán)境下程序編譯調(diào)試成功并生成EXE文件,連接計(jì)算機(jī)串口和1-7188COM,口,給I-7I88上電并執(zhí)行7188.EXE,然后運(yùn)行LD3.EXE控制程序,將所生成的EXE文件下載到1-7188中,在磁盤(pán)提示符下直接鍵入文件名即可運(yùn)行。
WAG0750-842PFC通過(guò)750-653串行接口模塊與1-7188嵌入式控制器的COM.串口相連(這里COM,口通過(guò)IP】跳線設(shè)置為RS-485總線)。WAGO產(chǎn)品提供了專(zhuān)門(mén)用來(lái)控制通信的庫(kù)函數(shù),供編程人員調(diào)用。在WAGO-CoDeSYS集成編程軟件中,可以通過(guò)通信參數(shù)模塊來(lái)設(shè)置PFC的IP地址、端口等。程序編譯完成并模擬測(cè)試成功后就可在Online菜單選項(xiàng)中選Login將程序傳入PLC中,并可選擇Run使PFC開(kāi)始運(yùn)行。
3軟件編程
3.11-7188«件編程
在1-7188上利用ICPDAS提供的包括InstallCom,RestoreCom、IsCom、ReadCom、ToCom、CleaiCom、Data-SizelnCom,WaitTransmitOver等在內(nèi),專(zhuān)門(mén)用于串行通信的控制函數(shù),用C語(yǔ)言編寫(xiě)程序,即可實(shí)現(xiàn)1-7188對(duì)八臺(tái)SK2OO1稱重控制器的輪詢?cè)L問(wèn)。程序主要包括數(shù)據(jù)處理和數(shù)據(jù)通信兩大功能。下面以對(duì)其中一臺(tái)稱重控制器的訪問(wèn)為例,且僅寫(xiě)出關(guān)鍵語(yǔ)句。
#include
#include
#include
#include
'稱重控制器的訪問(wèn)*/
I
/*常量及變量定義(略)*/
Ii»taUCom(2.9600L.8,3,1);
/*打開(kāi)COM,端口,并進(jìn)行通信參數(shù)的設(shè)定,其中校驗(yàn)設(shè)置為3-Mark校驗(yàn)*/
ToCom(2,addr)}/*通過(guò)COM,送岀待訪問(wèn)從站地址,為可靠,可加延時(shí)或判斷函數(shù)*/
RestoieCom(2);/*關(guān)閉COM2端口♦/
InstaUCom(2,9600L,8,4.1)5
/*校驗(yàn)設(shè)置為4-Space校驗(yàn)*/ToCom(2,readcmd);
/*依次送出讀指令、參數(shù)代碼、數(shù)據(jù)及CRC*/
if(■>==92) /•«據(jù)讀取完畢,暫存于數(shù)組,供
PFC讀取和處理♦/
for(i=0:i<=91;i++)|datainl[i]aReadCom(2);|
.RestoteCotn(2);
/*設(shè)置COM|口,并通過(guò)COM,口將16個(gè)字節(jié)的數(shù)據(jù)送出,供PFC讀取和處理,這里16個(gè)字節(jié)的數(shù)據(jù)包括2個(gè)字節(jié)的起始數(shù)據(jù)判斷、4個(gè)字節(jié)瞬時(shí)流量、8個(gè)字節(jié)果計(jì)流量和2個(gè)字節(jié)的數(shù)據(jù)結(jié)束判斷•/
.!
3.2WAGO750也2軟件編程
在WAGO-CoDeSYS集成編程軟件中,有包括Ser-Comm.lib和Serial_Interface_01.lib等在內(nèi)的庫(kù)文件專(zhuān)門(mén)用于通信接口的設(shè)置和控制。通過(guò)調(diào)用相應(yīng)通信庫(kù)文件,實(shí)現(xiàn)WAGO750-842與1-7188控制器的通信和數(shù)據(jù)訪問(wèn)。程序包括通信參數(shù)設(shè)置和數(shù)據(jù)處理兩部分。 ’
①通信參數(shù)設(shè)置部分欄序
inteif^cel(xOPEN_COM_PORT:=TRUE,bCOM_PORT_
NR:=2,cbBAUDRATE:=BAUD_9600,cpPARlTY:=PARITY_NO,csSTOPBITS:=STOPBITSJ.cbsBYTESIZE:=BS_8,cfFLOW.CONTROL;=0,iBYTES_TO_SEND:=3,xSTART_SEND:=start,utRECEIVE.BUFFER:=utRECEIVE.BUFF-ER.xINIT:=init);
err:=interfacel.berror;
②數(shù)據(jù)處理部分欄序
PROGRAMSetfre
VAR /*變量定義*/
interiacel:SERIALJNTERFACE;
liuliangAT%MDO:DWORD;zhishuAT%MW2:WORD;z;INT;
Uuliangl:REAL;
zl:REAL; t
END_VAR
SETFRE.interfaces
IFutRECEIVE.BUFFER.date[0]<>16#7EANDutRECEIVE_BUFFER,data[15]<>16#0DTHEN
utRECEIVEJBUFFEILIndex:=0;
ENDJF/,判斷數(shù)據(jù)完整否,7E和0D分別為起始和結(jié)束數(shù)據(jù)*/
IFutRECEIVE_BUFFER.data[0]=16#7EANDut-RECEIVE_BUFFER.data[15]=16#0DTHENFORi:=0TO15DO
/*數(shù)據(jù)完整,則接收并暫存于數(shù)組data口*/
data[i]:=utRECEIVE_PUFFER.data[i]:
utRECEIVE_BUFFER.data[i]:=0;
END_FORutRECEIVE_BUFFER.Index:=0;
ENDJF
%MB0:=DATAI2];
/*4個(gè)字節(jié)的瞬時(shí)流量數(shù)據(jù)存入PFC內(nèi)部存儲(chǔ)器*/
/*8個(gè)字節(jié)的累計(jì)流量數(shù)據(jù)存入PFC內(nèi)部存儲(chǔ)器*/%MB15;=DATA1131;
z:=zhishu-23;/*計(jì)算瞬時(shí)流量,累計(jì)流量可由內(nèi)部存儲(chǔ)器直接讀出*/zl:=EXPT(2,z);
liuliangl:=liuliang♦zl;
4結(jié)束語(yǔ)
對(duì)于帶有RS-485接口的智能儀表SK2001稱重控制器,通過(guò)1-7188協(xié)議轉(zhuǎn)換,成功實(shí)現(xiàn)了WAGO750-842應(yīng)用價(jià)值。
文章來(lái)源于網(wǎng)絡(luò)轉(zhuǎn)載,侵刪