西門子S7-200 PLC自帶DI和DO通道,對(duì)數(shù)字量信號(hào)控制極為方便,對(duì)模擬量信號(hào)處理效果相對(duì)較差。如有大量模擬量信號(hào)送入PLC,硬件成本將大幅增加。昌暉儀表在本文分享一種通過(guò)帶通訊的巡檢儀采集模擬量信號(hào),借助MODUBUS通訊傳輸數(shù)據(jù)到PLC的方法,本方法既可降低檢修難度和布線強(qiáng)度,還可降低硬件投資且保持?jǐn)?shù)據(jù)傳輸?shù)母叻€(wěn)定性和可靠性。
為更清晰的向大家展示具體操作流程和步驟,昌暉儀表制造有限公司結(jié)合某石灰窯的3套窯爐自動(dòng)化控制系統(tǒng)案例做介紹。本案例涉及到傳輸設(shè)備、破碎設(shè)備、均料器、篩選設(shè)備,變頻控制鼓風(fēng)機(jī)設(shè)備。其中,現(xiàn)場(chǎng)每套窯爐均有13路溫度信號(hào)需要采集,采用了3臺(tái)昌暉16路巡檢儀YR-GFM809-0000-08-NN-N-T來(lái)解決此問題,如圖1所示。
圖1 石灰窯自動(dòng)化控制系統(tǒng)運(yùn)行監(jiān)控畫面
自控系統(tǒng)控制結(jié)構(gòu)
該項(xiàng)目控制部分用的是西門子S7-200系列CPU 224XPCNREL02.02,通過(guò)網(wǎng)線實(shí)現(xiàn)以太網(wǎng)通訊硬件連接。數(shù)字量DI64點(diǎn),DO32點(diǎn);模擬量AI3點(diǎn)(主要是風(fēng)量監(jiān)測(cè)),39路溫度信號(hào)通過(guò)16路巡檢儀YR-GFM809-0000-08-NN-N-T采集到CPU。程序結(jié)構(gòu)采用調(diào)用子程序的方式展開。子程序調(diào)用示例如圖2所示。
圖2 STEP7-MicroWIN程序組態(tài)
上位結(jié)構(gòu)
采集的數(shù)據(jù)通過(guò)OPC服務(wù)器與上位通訊,其中的接口軟件采用的是KEPServerV4.0,上位軟件變量管理結(jié)構(gòu)如圖3所示。
圖3 上位軟件變量管理結(jié)構(gòu)
程序設(shè)計(jì)
①巡檢儀介紹
巡檢儀通訊協(xié)議采用標(biāo)準(zhǔn)Modbus協(xié)議,所用的傳輸模式為RTU模式。巡檢儀采用先進(jìn)的微電腦技術(shù)及芯片,性能可靠,抗干擾能力強(qiáng),與各類傳感器、變送器配合使用,可對(duì)多路溫度、壓力、液位、流量、重量等工業(yè)過(guò)程參數(shù)進(jìn)行巡回檢測(cè)、報(bào)警控制、變送輸出、數(shù)據(jù)采集及通訊,常有八路巡檢儀和十六路巡檢儀之分。通訊協(xié)議設(shè)計(jì)保證了單片機(jī)與PLC之間的無(wú)誤碼傳輸,使儀表的參數(shù)設(shè)定和修改更加簡(jiǎn)單。硬件設(shè)計(jì)保證了輸入電路測(cè)量精度,軟件設(shè)計(jì)保證了A/D轉(zhuǎn)換電路測(cè)量精度。通訊口設(shè)置如下:通訊方式異步串行通訊接口(RS-485),波特率采用9600bps。字節(jié)數(shù)據(jù)格式為:1位起始位、8位數(shù)據(jù)位、1位停止位、無(wú)校驗(yàn)。寄存器地址根據(jù)說(shuō)明書給出的表格對(duì)應(yīng)即可。
②程序結(jié)構(gòu)
由于上位機(jī)與PLC距離較遠(yuǎn)約100m,采用PPI通訊最遠(yuǎn)保證距離為50m,所以采用以太網(wǎng)通訊。以太網(wǎng)通訊配置步驟如下:在向?qū)?以太網(wǎng)中建立新的配置,選擇CP243-1(6GK7243-1EX00-0XE0),定義IP地址為192.168.27.2,其中,注意為配置分配存儲(chǔ)區(qū),模塊的配置塊要求24個(gè)字節(jié)的V存儲(chǔ)區(qū)。根據(jù)程序員選項(xiàng),本例中配置的總計(jì)大小為159個(gè)字節(jié),選擇區(qū)域?yàn)閂B379至VB537,如圖4所示。
圖4 以太網(wǎng)通訊組態(tài)結(jié)構(gòu)
設(shè)置CP243-1所占用的輸出字節(jié)地址,此地址根據(jù)計(jì)算CP243-1前面的I/O所占用的Q地址字節(jié)來(lái)決定。本例中CP243-1安裝在緊挨CPU的0號(hào)槽,其前面輸出就占用了QB0和QB1兩個(gè)字節(jié),CP243-1的地址按順序排,即設(shè)為QB2。CP243-1模塊占用一個(gè)QB輸出字節(jié)。完成以太網(wǎng)向?qū)渲煤?,需要在程序中調(diào)用以太網(wǎng)向?qū)傻腅THX_CTRL,并將項(xiàng)目程序下載后,將PLC斷電重新上電使得配置生效。本系統(tǒng)巡檢儀與S7-200的通訊通過(guò)Mi-cro/WINMBUS指令實(shí)現(xiàn)的。欲在S7-200程序中使用Modbus主設(shè)備指令,首先插入MBUS_CTRL指令,調(diào)用指令后,初始化完成。在灰窯溫度檢測(cè)系統(tǒng)中,Modbus主設(shè)備通訊速率設(shè)置為9600Bps,無(wú)奇偶校驗(yàn)。從站允許應(yīng)答時(shí)間為1000ms。程序如圖5所示。
圖5初始化調(diào)用MBUS_CTRL指令
其中,EN-使能:必須保證每一掃描周期都被使能;Mode-模式:常為1,使能Modbus協(xié)議功能;Baud-波特率:設(shè)置要與從站對(duì)應(yīng),本例設(shè)為9600;Panty-校驗(yàn):0為無(wú)校驗(yàn);Timeout-超時(shí):主站等待從站相應(yīng)時(shí)間,這個(gè)值必須足夠大以保證從站有時(shí)間響應(yīng);Done-完成位:初始化完成,自動(dòng)置位,可用于啟動(dòng)MBUS_MSG程序;Er-ror-初始化錯(cuò)誤。初始化完成后,啟動(dòng)讀寫指令V700.1。程序如圖6所示。
圖6置位V700.1啟動(dòng)循環(huán)執(zhí)行指令
讀取從站數(shù)據(jù)調(diào)用MBUS_MSG指令,程序如圖7所示。
圖7 循環(huán)調(diào)用MBUS_MSG指令
V700.1置位讀取從站數(shù)據(jù),讀取保持寄存器40144起始的13個(gè)數(shù)據(jù),根據(jù)數(shù)據(jù)格式寫入&VB1000,如40144為32位浮點(diǎn)數(shù),則保存在VB1000、VB1001、VB1002、VB1003中,依次類推,讀取完成V702.1置位,復(fù)位讀取從站保持寄存器V700.1、V702.3。
EN-使能:同一時(shí)刻只能有一個(gè)讀寫操作,建議每一個(gè)讀寫功能都用設(shè)一個(gè)MBUS_MSG指令的Done完成位來(lái)激活,以保證所有讀寫指令的循環(huán)進(jìn)行;First-讀寫請(qǐng)求位,每一個(gè)新的讀寫操作必須使用脈沖觸發(fā);Slave-從站地址,一般可選范圍為1-247;RW-0為讀操作,1為寫操作,開關(guān)量輸出和保持寄存器支持讀和寫操作,開關(guān)量輸入僅支持讀功能;Addr-讀寫從站的數(shù)據(jù)地址,00001-09999是開關(guān)量輸出,10001-19999是開關(guān)量輸入,30001-39999是模擬量輸入,40001~49999是保持寄存器;DataPtr-數(shù)據(jù)指針,如果是讀指令,讀回來(lái)的數(shù)據(jù)放到此數(shù)據(jù)區(qū)中,如果是寫指令,要寫出的數(shù)據(jù)放到此數(shù)據(jù)區(qū)中;Done-完成位;Error如果程序執(zhí)行有誤,將錯(cuò)誤信息在此顯示。
技術(shù)問題和優(yōu)點(diǎn)
①系統(tǒng)建立過(guò)程中遇到的問題
a、WINCC安裝過(guò)程中提示“SQLServerNativeClient(9.00.2208.00)找不到”,問題原因在于缺少文件,在WINCC安裝包文件中找到sql-ncli.msi安裝完成,解決問題。
b、在程序調(diào)用庫(kù)文件“MBUS_CTRL,MBUS_MSG”的時(shí)候,設(shè)置參數(shù)應(yīng)該重點(diǎn)注意通訊速率,儀表地址,儀表讀取或?qū)懭氲刂?,PLC分配的存儲(chǔ)地址。例如作主站的S7-200的MBUS_MSG指令向Modbus從站發(fā)送請(qǐng)求消息,和處理從站返回的響應(yīng)消息。要讀取從站的I0.0開始的地址區(qū)時(shí),它的輸入?yún)?shù)Addr(Modbus地址)為10001。S7-200從站保持寄存器的V區(qū)起始地址為VB200時(shí),要讀取從站VW200開始的V存儲(chǔ)區(qū)時(shí),保持寄存器的地址是40001。
c、執(zhí)行程序MBUS-MSG程序過(guò)程中,Error錯(cuò)誤指示為:3=接收超時(shí)(從站無(wú)響應(yīng)),原因是起始位設(shè)置錯(cuò)誤,導(dǎo)致程序不能順利循環(huán)。
d、MicroWin版本低,程序安裝過(guò)程中沒有庫(kù)文件,單獨(dú)安裝庫(kù)文件后,方能使用。
②3.2系統(tǒng)優(yōu)點(diǎn)采用標(biāo)準(zhǔn)的Modbus協(xié)議,傳輸模式為RTU模式,巡檢儀與S7-200通過(guò)MODBUS通訊傳輸數(shù)據(jù)。能節(jié)省硬件成本,減少敷線強(qiáng)度,降低檢修難度。而且此程序設(shè)計(jì)方法可推廣到PLC與變頻器的通訊控制方式上,可大量節(jié)省AI模塊的應(yīng)用,降低工程成本。
這種西門子S7-200與昌暉巡檢儀的通訊程序設(shè)計(jì)方法?;赪INCC組態(tài)軟件來(lái)監(jiān)控灰窯設(shè)備的運(yùn)行,在設(shè)計(jì)過(guò)程中運(yùn)用PLC與智能儀表通訊,實(shí)現(xiàn)了對(duì)多了溫度信號(hào)的讀取。經(jīng)過(guò)實(shí)踐證明,程序設(shè)計(jì)合理,程序庫(kù)文件調(diào)用簡(jiǎn)單,簡(jiǎn)便易行、可操作性強(qiáng)、成本低廉,具有很強(qiáng)的實(shí)用價(jià)值。
作者:河北煤炭科學(xué)研究院 李會(huì)寧