李榮芳,孟 鑫
(山東乾舜礦冶科技股份有限公司,山東 濟(jì)南 250014)
電子皮帶秤作為一種計量設(shè)備,以計量精度高、工作性能穩(wěn)定、結(jié)構(gòu)簡單、功能強(qiáng)大等優(yōu)點在冶金企業(yè)里廣泛應(yīng)用,如:采礦、選礦、燒結(jié)、煉鐵、煉鋼、原料儲運(yùn)等。傳統(tǒng)皮帶秤與自動化系統(tǒng)的通訊方式一般為硬線通訊,PLC 的指令傳達(dá)和皮帶秤的反饋信號通常會有相當(dāng)?shù)恼`差,皮帶秤運(yùn)行累計流量的誤差會逐漸增大,企業(yè)的日報表、月報表也會產(chǎn)生相應(yīng)的誤差累計,在一些控制相對精確的場合會有一定影響;傳統(tǒng)的皮帶秤校秤運(yùn)行幾天就需要到現(xiàn)場進(jìn)行去皮操作,以提高皮帶秤的精確度,工作較繁瑣。為此,采用西門子串口模塊對某公司的24臺電子皮帶秤進(jìn)行遠(yuǎn)程控制。
控制系統(tǒng)采用西門子400H系列的PLC,利用西門子CP340通訊模塊與皮帶秤進(jìn)行通訊。CP340模塊有1 個RS232 串行通信接口,可使PLC 與皮帶秤以點到點通信方式進(jìn)行數(shù)據(jù)交換。CP340是PLC與PLC 或計算機(jī)進(jìn)行數(shù)據(jù)交換的橋梁和紐帶。一方面,CP340通過背板總線與PLC的CPU相連;另一方面,CP340 的RS232 接口與電子皮帶秤上的RS232C接口相連。CP340 串口為15 針的D 形口,電子皮帶秤的串口為14 針的孔圓形口,二者之間采用RS232接口通訊,僅需要3 根線,兩根線為通訊線,另一根線為接地線。
PLC通過RS232接口遠(yuǎn)程與24臺皮帶秤進(jìn)行通訊,每臺皮帶秤都有自身的地址,設(shè)置為1~24。工作模式采用半雙工通訊,即數(shù)據(jù)在同一時間只能發(fā)送指令到皮帶秤,或者接收從皮帶秤的反饋數(shù)據(jù)。系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)
CP340模塊上有接收緩沖存儲器和發(fā)送緩沖存儲器,依靠接收和發(fā)送緩沖區(qū)建立起CP340 和CPU的聯(lián)系,每個緩沖區(qū)的大小為1024 B。發(fā)送時,CPU 模塊把發(fā)送的數(shù)據(jù)寫入發(fā)送緩沖區(qū),CP340 把緩沖區(qū)中的數(shù)據(jù)逐個發(fā)送給1~24 號皮帶秤,同時CP340 還負(fù)責(zé)從通信皮帶秤接收數(shù)據(jù),并把接收到的數(shù)據(jù)寫入接收緩沖區(qū),CPU 以查詢方式讀接收緩沖區(qū)。如果緩沖區(qū)不為空,CPU 便得到接收數(shù)據(jù)。讀寫緩沖區(qū)需要在用戶程序中調(diào)用專用的讀寫功能塊,完成PLC和電子秤之間的通信。
設(shè)置CP340 的通訊參數(shù)為:波特率9600,數(shù)據(jù)位7 位,停止位1 位,奇校驗,使用CP340 模塊的FB_P_SEND 和FB_P_RCV 功能塊進(jìn)行數(shù)據(jù)的傳輸,24臺皮帶秤的地址為1~24。
考慮了2種方案。1)通過中斷的方式來實現(xiàn)對24 臺皮帶秤的輪詢通訊,在中斷程序OB35 中對皮帶秤的地址加1,地址到24 時返回地址1,同時讀寫數(shù)據(jù),將讀寫的數(shù)據(jù)分別存到DB 塊中。2)通過查詢功能塊的狀態(tài)字來進(jìn)行下一次的讀寫。首先調(diào)用生成數(shù)據(jù)程序,根據(jù)自定義ASCII 協(xié)議的格式生成符合儀表可讀寫的數(shù)據(jù),查詢發(fā)送功能塊SEND_DONE 引腳的狀態(tài)。當(dāng)SEND_DONE 引腳置1 時,執(zhí)行接收程序,查詢接受功能塊的RCV_NDR引腳的狀態(tài);當(dāng)RCV_NDR 引腳置1 時,執(zhí)行數(shù)據(jù)校驗的程序,數(shù)據(jù)校驗無錯誤時,執(zhí)行數(shù)據(jù)處理程序。在數(shù)據(jù)處理程序中,把串口讀到的數(shù)據(jù)存取到DB塊中,數(shù)據(jù)處理完成后,皮帶秤的地址加1,進(jìn)行下一次循環(huán)。實際應(yīng)用中,采取了第2種方案,軟件實現(xiàn)流程見圖2[2]。
圖2 軟件實現(xiàn)流程
在軟件的設(shè)計中,把需要發(fā)送的字節(jié)和需要接收的字節(jié)存放到不同的DB 數(shù)據(jù)塊中,通過指針讀取DB 數(shù)據(jù)塊中的數(shù)據(jù),轉(zhuǎn)化為ASCII 碼的格式,按照自定義協(xié)議的格式存入到需要發(fā)送的DB 背景塊中。在接收程序中,將從串口中接收的數(shù)據(jù)依次讀到另外一個DB 塊中,通過ASCII 碼的反轉(zhuǎn)換,得到皮帶秤運(yùn)行的數(shù)據(jù)。
項目實施后,實現(xiàn)了讀取皮帶秤的實時運(yùn)行瞬時流量、累計流量反饋,讀取所有皮帶秤的運(yùn)行、故障等數(shù)據(jù),實現(xiàn)了遠(yuǎn)程校驗的功能;至少節(jié)約1個遠(yuǎn)程站、3個AI模板、3個AO模板、2個DI模板,節(jié)省投資和主控室的布線空間;實現(xiàn)遠(yuǎn)程清零、遠(yuǎn)程校稱去皮,節(jié)省了操作時間,減少了誤操作;上位機(jī)中的報表可以與皮帶秤中的數(shù)據(jù)完全統(tǒng)一,簡化了二級系統(tǒng)的通訊。
[1]高強(qiáng),馬丁.西門子PLC 應(yīng)用程序設(shè)計實例精講[M].北京:電子工業(yè)出版社,2010.
[2]邱公偉.可編程控制器網(wǎng)絡(luò)通訊及應(yīng)用[M].北京:清華大學(xué)出版社,2000.