花永緊,孫正威
(1.浙江博瑞電子科技有限公司,浙江 衢州 324004;2.浙江巨化檢安石化工程有限公司,浙江 衢州 324004)
PROFIBUS 是一種國(guó)際化、開放式,不依賴于設(shè)備生產(chǎn)商的現(xiàn)場(chǎng)總線標(biāo)準(zhǔn)。PROFIBUS 傳送速度可在9.6kbaud ~12Mbaud 范圍內(nèi)選擇且當(dāng)總線系統(tǒng)啟動(dòng)時(shí),所有連接到總線上的裝置應(yīng)該被設(shè)成相同的速度,廣泛適用于制造業(yè)自動(dòng)化、流程工業(yè)自動(dòng)化和樓宇、交通電力等其他領(lǐng)域自動(dòng)化。PROFIBUS 是一種用于工廠自動(dòng)化車間級(jí)監(jiān)控和現(xiàn)場(chǎng)設(shè)備層數(shù)據(jù)通信與控制的現(xiàn)場(chǎng)總線技術(shù),可實(shí)現(xiàn)現(xiàn)場(chǎng)設(shè)備層到車間級(jí)監(jiān)控的分散式數(shù)字控制和現(xiàn)場(chǎng)通信網(wǎng)絡(luò),從而為實(shí)現(xiàn)工廠綜合自動(dòng)化和現(xiàn)場(chǎng)設(shè)備智能化提供了可行的解決方案。
PROFIBUS 由3 個(gè)兼容部分組成, 即Profibus-DP(Decentralized Periphery)、Profibus-PA(Process Automation) 和Profibus-FMS(Fieldbus Message Specification)。 本次設(shè)計(jì)主要使用PROFIBUS-DP,這是一種高速低成本通信,用于設(shè)備級(jí)控制系統(tǒng)與分散式I/O 的通信,在一些特殊要求的場(chǎng)合來(lái)替代4mA ~20mA 信號(hào)傳輸,達(dá)到數(shù)字化智能控制,提高系統(tǒng)的控制精度。
在稱重系統(tǒng)中,常規(guī)使用模擬量4mA ~20mA 信號(hào)進(jìn)行數(shù)據(jù)的傳輸,整個(gè)稱重系統(tǒng)的精度受多方面的影響。如稱重傳感器精度、儀表顯示的精度和中間環(huán)節(jié)數(shù)模轉(zhuǎn)換的精度等。其中,比較關(guān)鍵又很容易被忽略的就是數(shù)模轉(zhuǎn)換精度。如西門子PLC 常用的模擬量輸入模塊中A/D 轉(zhuǎn)換芯片的位數(shù)為12 位,模擬量轉(zhuǎn)換為數(shù)字量最小分辨率為1/4095,在高精度大量程稱重系統(tǒng)中就會(huì)出現(xiàn)PLC 系統(tǒng)數(shù)據(jù)轉(zhuǎn)換的誤差大于傳感器的精度。這樣整個(gè)稱重控制系統(tǒng)就會(huì)出現(xiàn)較大的誤差,甚至超出生產(chǎn)控制指標(biāo)。例如:某公司的12 臺(tái)鋼瓶電子秤,要求每臺(tái)測(cè)量范圍0kg ~2000kg,精度要求在0.5kg 以內(nèi)。根據(jù)要求電子秤最大稱量選為3000kg,檢定分度為1/6000,即精確到0.5kg。但是,當(dāng)選用A/D 轉(zhuǎn)換分辨率為12 位的PLC 模擬量輸入模塊時(shí),在模擬量轉(zhuǎn)換為數(shù)字量中能夠反映模擬量的最小變化單位是滿量程的1/4095,即0.73kg。當(dāng)電子平臺(tái)秤上有0.5kg 的變化時(shí),經(jīng)過(guò)PLC系統(tǒng)的A/D 轉(zhuǎn)換后無(wú)法采集到這0.5kg 的變化量。這樣整個(gè)控制系統(tǒng)的精度就無(wú)法滿足生產(chǎn)指標(biāo)的需求,此時(shí)可采用通信的方式來(lái)避免數(shù)模轉(zhuǎn)換帶來(lái)的誤差。通信的方式有很多,如以太網(wǎng)、Modbus 和Profibus 等,其中Profibus-DP 作為一種用于設(shè)備級(jí)控制系統(tǒng)與分散式I/O的通信,特別是在串聯(lián)較多設(shè)備時(shí),在系統(tǒng)設(shè)計(jì)、數(shù)據(jù)采集精度、現(xiàn)場(chǎng)施工維護(hù)和數(shù)據(jù)的響應(yīng)上就體現(xiàn)出了它的優(yōu)勢(shì)。
筆者以S7-1500 PLC 與梅特勒托利多稱重儀表NID331 進(jìn)行Profibus-DP 通信的實(shí)例,介紹各設(shè)備的參數(shù)設(shè)置和通信程序的設(shè)計(jì)。
某公司氯氣鋼瓶稱重控制儀表為梅特勒托利多型號(hào)NID331 ;PLC 控制系統(tǒng)為西門子S7-1500 ;CPU 型號(hào)為1511-1,DP 通信卡為CM1542。PLC 與稱重控制儀通信時(shí),PLC 作為主站,12 臺(tái)稱重控制儀設(shè)置為從站以并聯(lián)的形式接入到Profibus-DP 通信總線,稱重傳感器使用稱重專用電纜接入到稱重控制儀。當(dāng)電子秤上進(jìn)行鋼瓶充裝時(shí),稱重傳感器內(nèi)部電阻應(yīng)變片隨充裝量的變化而發(fā)生阻值變化,從而使內(nèi)部應(yīng)變電阻橋路產(chǎn)生mV 級(jí)電壓變化,稱重控制器采集到變化的電壓后進(jìn)行數(shù)據(jù)處理并轉(zhuǎn)換為充裝重量數(shù)據(jù),最后稱重控制儀通過(guò)Profibus-DP 通信把數(shù)據(jù)傳輸?shù)絇LC 系統(tǒng)中。當(dāng)PLC 檢測(cè)到鋼瓶的充裝重量到達(dá)目標(biāo)后就自動(dòng)關(guān)閉相應(yīng)鋼瓶的進(jìn)料閥,直到12 只進(jìn)料閥都關(guān)閉后,可判斷為充裝結(jié)束,然后再自動(dòng)執(zhí)行下一步管線置換等一系列的自動(dòng)化操作步驟。連接示意圖如圖1 所示。
圖1 PLC和IND331連接示意圖Fig.1 Connection diagram between PLC and IND331
由于IND331 稱重儀常規(guī)配置沒有Profibus-DP 通信接口,在儀表訂貨時(shí)需要另增加DP 通信板。IND331稱重儀表與PLC 進(jìn)行Profibus-DP 通信時(shí),COM1 和COM2 為標(biāo)準(zhǔn)的串行通信端口與Profibus-DP 無(wú)關(guān)無(wú)需設(shè)置,只要把F4.4-PLC 里設(shè)置為“PROFIBUS”。當(dāng)連接的PLC 為PROFIBUS 時(shí),包括兩個(gè)菜單:PROFIBUS和Data Format。 其中,F(xiàn)4.4.1.5-Node Address 表示連接到網(wǎng)絡(luò)中的儀表物理地址(1-125),即通信站地址;F4.4.2-Data Format 為通信數(shù)據(jù)的格式,由于傳輸?shù)闹亓繑?shù)據(jù)需要精確到0.5kg,故設(shè)置為“浮點(diǎn)數(shù)”;F4.4.2.2-Byte Order 為字節(jié)順序,共有4 種類型,Byte Swap 的浮點(diǎn)數(shù)型式與S7 PROFIBUS 兼容,Standdard的浮點(diǎn)數(shù)形式與PLC5 兼容,Word Swap 與RSLogix 5000 處 理 器 兼 容,Double Word Swap 與Modicon Quantum 處理器兼容,本次采用的是西門子S71500 PLC 需設(shè)置為“Byet swap”。
IND331 設(shè)置為Profibus DP 通信時(shí)內(nèi)部存儲(chǔ)器的數(shù)據(jù)類型分為整型/ 分度數(shù)和浮點(diǎn)數(shù)數(shù)據(jù)格式。整型/ 分度數(shù)的重量數(shù)據(jù)讀取和寫入都是2 個(gè)字,浮點(diǎn)型的重量數(shù)據(jù)讀取和寫入都是4 個(gè)字;每種數(shù)據(jù)類型里每個(gè)位都代表不同的功能含義,由于本次通信的重量數(shù)據(jù)需要帶小數(shù)點(diǎn),故數(shù)據(jù)類型選用浮點(diǎn)數(shù)。
2.2.1 浮點(diǎn)數(shù)的數(shù)據(jù)讀取格式
當(dāng)IND331 稱重控制儀把4 個(gè)字的浮點(diǎn)數(shù)傳輸?shù)絇LC 時(shí),其中數(shù)據(jù)讀取的字1 和字2 為重量數(shù)據(jù),字0和字3 為儀表的狀態(tài)字,從PLC 的輸入端即可反映出稱重儀表當(dāng)前的使用狀況。在本次的通信程序里使用“字0”的13 位,“字3”的14 位和15 位來(lái)判斷本次重量數(shù)據(jù)是否正常。詳見1 表。
2.2.2 浮點(diǎn)數(shù)的數(shù)據(jù)寫入格式
當(dāng)PLC 把4 個(gè)字的浮點(diǎn)數(shù)輸入到IND331 控制儀時(shí),稱重控制器根據(jù)具體每個(gè)字節(jié)里每個(gè)位的狀態(tài)進(jìn)行動(dòng)作,其中字0 保留,字1 為命令字,字2 和字3 為皮重或預(yù)置點(diǎn)。本次程序使用的命令為“11”,表示PLC 需要讀取圓整的凈重。詳見表2 和表3。
表2 浮點(diǎn)型數(shù)據(jù)輸入格式Table 2 Floating point data input format
表3 浮點(diǎn)型數(shù)據(jù)命令Table 3 Floating-point data commands
表1 浮點(diǎn)數(shù)的數(shù)據(jù)讀取格式Table 1 Data reading format of floating-point arithmetic number
每臺(tái)PROFIBUS 從站或一類主站都要有一個(gè)“設(shè)備描述文件”稱為GDS 文件,用來(lái)描述Profibus-DP 的設(shè)備特性。設(shè)備GDS 文件對(duì)軟件組態(tài)有根本的影響,完善的GDS 文件提供了豐富的輸入/ 輸出模塊選擇,在組態(tài)中可以靈活應(yīng)用。如果只提供了較單一的模塊,在傳輸不同的信號(hào)類型時(shí),如AI、DI 和DO 數(shù)據(jù)都傳輸,就會(huì)碰到很大的困難。IND331 的GDS 文件比較完善,使用文本打開后可以看到數(shù)據(jù)的傳輸速度、數(shù)據(jù)長(zhǎng)度和數(shù)據(jù)類型等參數(shù),具體使用什么樣數(shù)據(jù)格式可在硬件設(shè)備中進(jìn)行選用配置。如本次通信選用的傳輸速度為1.5Mbps,數(shù)據(jù)長(zhǎng)度為4 個(gè)字,數(shù)據(jù)類型為浮點(diǎn)數(shù)。IND331 的GDS 文件實(shí)例如下:
本次S7-1500 PLC 編程軟件使用博途V15 版本。當(dāng)與IND331 通信時(shí),需要在博途軟件的“管理通用站描述文件”選項(xiàng)中導(dǎo)入IND331 儀表的GSD 文件,導(dǎo)入完成后在“硬件目錄其它設(shè)備”中就包含了“IND331”設(shè)備。在網(wǎng)絡(luò)設(shè)備組態(tài)中添加CUP1511 和通信卡CM1542,并在設(shè)備組態(tài)中建立好Profibus DP 網(wǎng)絡(luò)后,可直接拖動(dòng)“IND331”設(shè)備到網(wǎng)絡(luò)總線上;最后在對(duì)通信網(wǎng)絡(luò)上的設(shè)備進(jìn)行配置。DP 通信卡CM1542 設(shè)備設(shè)置為主站,站地址為“2”,傳輸率為1.5Mbps ;把IND33 設(shè)備WT-F097 設(shè)置為從站,站地址為“3”;輸入地址為I264-I271,輸出地址為Q264-Q271。這樣就與IND331 稱重儀4 個(gè)字節(jié)的輸入和輸出數(shù)據(jù)相匹配,其它設(shè)備的設(shè)置以此類推。博途軟件中的網(wǎng)絡(luò)拓展組態(tài)視圖如圖2 所示。
圖2 S7-1500 PLC與IND331通信網(wǎng)絡(luò)拓?fù)鋱DFig.2 Topology diagram of communication network between S7-1500 PLC and IND331
在博途軟件中建立通信子程序FC 程序塊,由于重量數(shù)據(jù)傳輸實(shí)時(shí)性的要求,故通信子程序FC 塊需要在每個(gè)PLC 的執(zhí)行周期進(jìn)行掃描執(zhí)行。其中,PLC 的執(zhí)行掃描周期為5ms,即在5ms 內(nèi)PLC 系統(tǒng)通過(guò)Profibus-DP 通信讀取一次鋼瓶的重量數(shù)據(jù),這樣整個(gè)控制系統(tǒng)的響應(yīng)速度就非常高。PLC 系統(tǒng)在讀取重量數(shù)據(jù)時(shí),先將命令字“11”傳送到輸出地址QW266,表示讀取IND331 儀表圓整的凈重,通過(guò)PLC 輸入地址I265.5、I271.6 和I271.7 的狀態(tài)來(lái)判斷IND331 所傳重量數(shù)據(jù)的可靠性。按照以上要求編制PLC 組態(tài)程序,就可把IND331 的重量數(shù)據(jù)傳輸?shù)絇LC 里位號(hào)為“WIT-F097_DP”的數(shù)據(jù)塊DB301.DBD0 中,后續(xù)PLC 系統(tǒng)就可以利用“WIT-F097_DP”的重量數(shù)據(jù)進(jìn)行上位機(jī)HMI 的重量顯示和內(nèi)部的聯(lián)鎖控制。S7-1500 PLC 與IND 331稱重儀表Profibus-DP 的通信子程序如圖3 所示。
圖3 S7-1500 PLC與IND33通信子程序Fig.3 Communication subroutine between S7-1500 PLC and IND33
該通信程序控制方案在實(shí)際投用過(guò)程中,數(shù)據(jù)傳輸?shù)木雀?、響?yīng)快,能確保每瓶氯氣充裝的重量誤差能控制在0.5kg 之內(nèi),整個(gè)通信網(wǎng)絡(luò)穩(wěn)定可靠,在后續(xù)使用中一直未出現(xiàn)異常情況。該通信程序控制方案在高精度的自動(dòng)包裝線中具要一定的指導(dǎo)和推廣價(jià)值。