咨詢電話
ENGLISH0755-88840386發(fā)布時間:2020-08-13 10:46:06 |來源:網(wǎng)絡(luò)轉(zhuǎn)載
o引言
智能控制儀表是工業(yè)控制中最常用的控制器之一,具有專業(yè)性強(qiáng)、智能化高、控制算法先進(jìn)、使用方便等特點(diǎn)。Modbus通信協(xié)議作為一種開放高效的通信協(xié)議為眾多智能控制儀表廣泛應(yīng)用。如何將這些具備Modbus通信接口的智能設(shè)備簡單有效地集成到工廠SCADAHMI(SupervisoryControlAndDataAcquisitionHumanMachineInterface)系統(tǒng)中已經(jīng)是各自動化公司必須面對的問題。
西門子S7-300系列PLC以其運(yùn)行可靠、集成度高、可擴(kuò)展性強(qiáng)等優(yōu)點(diǎn),在工控領(lǐng)域被廣泛應(yīng)用。其提供的CP341通信處理模塊可實(shí)現(xiàn)PLC與各種串口設(shè)備之間的智能通信。因此可以利用PLC的通信處理模塊讀取智能控制儀表中的數(shù)據(jù),然后通過PLC中的工業(yè)以太網(wǎng)模塊、現(xiàn)場總線模塊連接到企業(yè)SCADAHMI系統(tǒng)中達(dá)到完美的結(jié)合。該文在設(shè)計(jì)某自動化生產(chǎn)線時,通過基于CP341的ModbusASCII通信方式,將南京某科技有限公司生產(chǎn)的XK-2000動態(tài)稱重顯示控制器的參數(shù)讀取到S7-300PLC中,參與實(shí)際的過程控制。
1通信系統(tǒng)構(gòu)成及儀表協(xié)議介紹
1.1通信網(wǎng)絡(luò)的結(jié)構(gòu)
在自動化生產(chǎn)線中,要求將16臺XK-2000儀表的重量實(shí)際數(shù)值、設(shè)定數(shù)值等通過通信模塊讀取到PLC(系統(tǒng)選用6ES7315-2AH14-0AB0)中。XK-2000儀表提供Modbus通信接口,該儀表通信協(xié)議為標(biāo)準(zhǔn)的ModbusASCII碼協(xié)議。為了能夠?qū)x表的參數(shù)讀入到SiemensPLC中,采用了某公司的Modbus通信模塊CP341(6ES7341-1CH02-0AE0),通過集成在CP341通信模塊中ASCII碼通信協(xié)議讀取出XK-2000儀表中的數(shù)據(jù)。其網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1網(wǎng)絡(luò)結(jié)構(gòu)
XK-2000儀表與PLC之間構(gòu)成的網(wǎng)絡(luò)為RS485網(wǎng)絡(luò),雙方以19200bps的通信速率進(jìn)行通信,以下為CP341模塊和XK-2000儀表及通信協(xié)議的簡單介紹。
CP341通信處理模塊是某公司提供的點(diǎn)到點(diǎn)連接的高速串行通信的低成本解決方案,是實(shí)現(xiàn)SiemensPLC和第三方智能控制儀表通信的模塊。它可以在SiemensS7-300和ET200M中使用,該通信模塊提供了RS232C(V.24)、20mA(TTY)和RS422/RS485(X.27)三種不同形式的傳輸接口。
該模塊可以實(shí)現(xiàn)ASCII碼,39W(R)和RK512,客戶協(xié)議(可裝載)等通信協(xié)議,通過集成在STEP7中的參數(shù)化工具可進(jìn)行簡單的參數(shù)化設(shè)置,其設(shè)置主要包括通信方式(波特率、數(shù)據(jù)位數(shù)、停止位數(shù)和奇偶校驗(yàn))、接口方式(485或422)等,對于同XK-2000儀表通信,設(shè)計(jì)中可以設(shè)置為:①通信方式19200,7,n,l;②接口方式RS485,其余的設(shè)置為默認(rèn)方式。
XK-2000是南京某科技有限公司專門針對皮帶秤設(shè)計(jì)的一種高性能動態(tài)稱重顯示控制儀表。液晶顯示,中文菜單,提供PID控制算法和RS485通信接口。為了能夠與CP341模塊通信,需要設(shè)置儀表中的參數(shù),見表1。
XK-2000儀表的通信協(xié)議是標(biāo)準(zhǔn)的ModbusASCn碼通信協(xié)議,報文數(shù)據(jù)幀見表2,功能碼見表3。
指令起始地址
指令起始地址
指令起始地址
數(shù)據(jù)長度 數(shù)據(jù)起始到結(jié)束的長度:由4個ASCH碼組合
數(shù)據(jù)長度
數(shù)據(jù)長度
數(shù)據(jù)長度
LRC校驗(yàn)高位LRC檢査碼:由2個ASCII碼組合
LRC校驗(yàn)低位
END高位 結(jié)束字符:ENDHi=CR(0DH),END
LO=LF(OAH)
END低位
表3功能碼
功能碼 功能
03H 讀出緩存器內(nèi)容
06H 把具體二進(jìn)制值裝入一個保持寄存器
08H 回路測試
ioh 把具體二a制值裝入一串連續(xù)的保持寄存器
2軟件實(shí)現(xiàn)
2.1CP341同XK-2000儀表之間的通信
要通過CP341通信模塊實(shí)現(xiàn)同XK-2000儀表之間的通信,PLC程序的設(shè)計(jì)主要包括讀數(shù)據(jù)命令程序、寫數(shù)據(jù)命令程序、故障處理程序設(shè)計(jì)以及LRC校驗(yàn)程序等。主程序流程如圖2所示。
(啟動)
I
初始化
I啟動輪詢|
圖2主程序流程圖
2.2CP341讀數(shù)據(jù)程序
考慮到系統(tǒng)有16塊儀表,采用輪詢的方式訪問每塊儀表,而對于發(fā)送讀取數(shù)據(jù)的DB塊僅是儀表地址、功能碼和LRC校驗(yàn)碼不相同,因此,所有的儀表采用一個相同的DB塊來執(zhí)行,根據(jù)不同的儀表號修改相應(yīng)的儀表地址、功能碼和LRC校驗(yàn)碼。DB(DB901)塊的結(jié)構(gòu)如表4所示。
儀表地址的修改采用循環(huán)計(jì)數(shù)方式來實(shí)現(xiàn)。每次循環(huán)儀表號加1,直到16為止,然后回到地址1重復(fù)執(zhí)行。讀數(shù)據(jù)由寫操作和讀操作組成,程序如下:發(fā)送讀命令
2.5LRC校驗(yàn)
LRC域是一個包含8位二進(jìn)制值的字節(jié)。LRC值由傳輸設(shè)備來計(jì)算并放到消息幀中,接收設(shè)備在接收消息的過程中計(jì)算LRC,并與接收到消息幀中LRC域中的值比較,如果兩值不等,說明有錯誤。LRC校驗(yàn)比較簡單,它在ASCII協(xié)議中使用,檢測了消息域中除開始的冒號及結(jié)束的回車換行號外的內(nèi)容。' 它僅僅是把每一個需要傳輸?shù)臄?shù)據(jù)按字節(jié)疊加后取反加1即可。程序如下:
3結(jié)束語
通過使用點(diǎn)到點(diǎn)串行通信模塊CP341建立與XK-2000智能儀表之間的通信,不僅可以實(shí)時讀取儀表中的設(shè)定值、瞬時值等,同時可以遠(yuǎn)程設(shè)置儀表中的數(shù)值。
文章來源于網(wǎng)絡(luò)轉(zhuǎn)載,侵刪