遼寧科技大學(xué) 許榮坤 彭安娜 崔建一 孫上千 鄒 朋 朱翔宇
在工業(yè)產(chǎn)業(yè)鏈日益完善的今天,單個PLC的工作能力已經(jīng)遠(yuǎn)遠(yuǎn)無法滿足一條生產(chǎn)鏈的需求,往往需要多個PLC間的協(xié)同配合,共同來完成某一任務(wù)。因此PLC間的通訊就尤為重要。它不僅可以大大降低單個PLC的工作量,還能提高PLC的穩(wěn)定性,從而提高該生產(chǎn)線的穩(wěn)定性和生產(chǎn)效率。在工業(yè)自動化等多個領(lǐng)域,對PLC間數(shù)據(jù)傳輸?shù)囊蟾?,需要PLC間滿足實時性和確定性。
單個PLC自身的數(shù)據(jù)處理量和處理速度和電腦一樣有極限點,所以要各個點分擔(dān)數(shù)據(jù)處理量,利用PLC之間的通訊,來加快程序的運行速度。在當(dāng)今的工業(yè)生產(chǎn)中,需要處理的數(shù)據(jù)量越來越多且越來越復(fù)雜,因此通過PLC間的通訊,來增加數(shù)據(jù)處理的點,防止由于數(shù)據(jù)過多導(dǎo)致數(shù)據(jù)處理緩慢甚至PLC損壞,造成不必要的工業(yè)事故。
為確保數(shù)據(jù)處理的及時性,PLC間必須采用實時通訊保證數(shù)據(jù)處理的流暢性,實時是指系統(tǒng)在定義的時間內(nèi)處理外部事件。通過PLC之間的實時通訊可解決許多問題,比如在極端環(huán)境下保持可靠的通訊網(wǎng)絡(luò)、在全天候保持可靠的數(shù)據(jù)交換、保證高效通訊的最大可用性等,這些都是在工業(yè)網(wǎng)絡(luò)中不可缺少的條件,所以,PLC之間的實時通訊在現(xiàn)在的工業(yè)中是非常必要的,在提高產(chǎn)量以及提高安全性方面都有著巨大的作用。
實時通信要求系統(tǒng)滿足兩個條件:實時性和確定性。實時要求系統(tǒng)在規(guī)定的時間內(nèi)處理外部事件。確定性是指系統(tǒng)以可預(yù)測(確定的)方式進(jìn)行反饋響應(yīng)。PROFINET不僅符合工業(yè)以太網(wǎng)所要求具備的實時的確定性傳輸,還為實時通信提供了優(yōu)化通道。用PROFINET來做確定的實時通信的優(yōu)點:在規(guī)定的時間周期內(nèi)傳輸對時間要求嚴(yán)格的數(shù)據(jù),以及其他標(biāo)準(zhǔn)協(xié)議的通訊可以在同一網(wǎng)絡(luò)中不掉幀傳輸。PROFINET通信支持工程組態(tài)數(shù)據(jù)和診斷數(shù)據(jù)及中斷的非循環(huán)傳輸,以及用戶數(shù)據(jù)的循環(huán)傳輸。PROFINET 8個主要功能模塊之一,PROFINET分布式現(xiàn)場設(shè)備(PROFINET IO)。具有實時通信功能的PROFINET IO是集成I/O系統(tǒng)的最優(yōu)解決方案。作為PROFINET的一部分,PROFINET IO更多的用于模塊化和分布式應(yīng)用上。PROFINET IO也適用于符合PROFINET標(biāo)準(zhǔn)(IEC 61158-x-10)的可編程控制器之間。PROFINET IO在組態(tài)、編程和診斷方法上和PROFIBUS DP基本上相同,但PROFINET IO比PROFIBUS的性能更好。
在這里介紹一種PROFINET IO系統(tǒng)的搭建。如圖1所示,選定S7 1200(A)為IO控制器,S7 1200(B)為IO設(shè)備。圖中交換機(jī)選擇的是SCALANCE XB208,因為它是根據(jù)標(biāo)準(zhǔn)IEC 61158支持PROFINET標(biāo)準(zhǔn)的交換機(jī)。
圖1 網(wǎng)絡(luò)結(jié)構(gòu)圖
首先用工業(yè)以太網(wǎng)線纜按照圖中所示,將各個設(shè)備連接起來,接通電源。將上位機(jī)的IP地址配置為192.168.10.254,子網(wǎng)掩碼改為255.255.255.0;利用PST工具將XB208的IP地址改為192.168.10.10。
在Portal軟件中創(chuàng)建一個項目,添加S7 1200 PLC,在項目信息中將名稱修改為“IOController”;在以太網(wǎng)地址中設(shè)置其IP地址和子網(wǎng)掩碼;在操作模式中,使用默認(rèn)配置,即IO控制器;添加兩個BYTE數(shù)據(jù)類型變量,分別命名為Tag_1和Tag_2,地址分別為%QB2和%IB2;并將這兩個變量添加到監(jiān)控表中,將格式分別設(shè)置為二進(jìn)制和字符。
再添加一個S7 1200 PLC,命名為“IO-Device”;改地址,在操作模式中勾選”IO設(shè)備“,在”已分配的IO控制器“一欄下拉列表選擇IO控制器”IO-Controller.PROFINET接口_1“;添加兩個BYTE數(shù)據(jù)類型變量,分別命名為Tag_3和Tag_4,地址分別為%IB2和%QB3;并將這兩個變量添加到監(jiān)控表中,將格式分別設(shè)置為二進(jìn)制和字符。
最后設(shè)置傳輸區(qū)。在智能設(shè)備通信中雙擊兩次“新增“,添加兩個傳輸區(qū),如圖2所示,單機(jī)箭頭,可改變傳輸方向。
圖2 傳輸區(qū)設(shè)置
通信測試。將IO-Controller和IO-Device分別下載并運行,點擊監(jiān)控表中的“全部監(jiān)視“按鈕;在IO控制器中,將Tag_1所在行的修改值的地方右擊,將其修改為1,則監(jiān)視值變?yōu)榕c修改值一樣的數(shù)據(jù),切換到IO設(shè)備的監(jiān)控表中可以看到IO設(shè)備的%IB2地址的值也改變?yōu)橐粯拥闹?;將”Tag_4”的修改值設(shè)置為”w“,右擊,立即修改,則監(jiān)視值變?yōu)榕c修改值一樣的數(shù)據(jù),切換到IO控制器的監(jiān)控表中可以看到IO控制器的%IB2地址的值也改變?yōu)橐粯拥闹怠?/p>
S7-1200 CPU的PROFINET通信口除了PROFINET IO,還支持以下通信協(xié)議及服務(wù):S7通信,TCP,ISO on TCP,UDP,Modbus TCP,HMI通信,Web通信,OPC UA服務(wù)器,Email,安全TCP等。
以S7通訊為例,S7通訊在博途軟件中添加兩個S7-1200后,進(jìn)行網(wǎng)絡(luò)配置,注意為同一子網(wǎng)下的不同IP,接著進(jìn)行S7連接,在設(shè)備視圖的網(wǎng)絡(luò)視圖中選擇連接方式為S7連接,編譯下載,確保連接的在線狀態(tài)。在兩個PLC的程序塊中都需要創(chuàng)建兩個DB模塊,一個輸入,一個輸出。在指令選項下的通信中選擇S7通信下的GET和PUT兩條通信指令。PUT向遠(yuǎn)程CPU寫入數(shù)據(jù),GET從遠(yuǎn)程CPU讀取數(shù)據(jù)。UDP通訊需要添加通信指令集下開放式用戶通信中的TSEND_C、TRCV_C指令,接著配置TURCV,TUSEND指令。TCP通信是用到開放式用戶通信中的TSEND,TRCY,TCON指令。TCON是建立以太網(wǎng)連接,TDISCON是斷開以太網(wǎng)連接,TSEND是TCP和ISO ON TCP使用的發(fā)送數(shù)據(jù),TRCV是TCP和ISO ON TCP使用的接收數(shù)據(jù),TUSEND是UDP使用的發(fā)送數(shù)據(jù),TURCV是UDP使用的接收數(shù)據(jù),TSEND_C是建立以太網(wǎng)連接并發(fā)送數(shù)據(jù),TRCV_C建立以太網(wǎng)連接并接收數(shù)據(jù)。接下來根據(jù)設(shè)計的需要進(jìn)行編程,程序?qū)芊彪s。而與這些通信方式相比,PROFINET IO通信建立連接的方式簡單,無需配置通信指令,更加高效易操作。
結(jié)語:隨著技術(shù)的進(jìn)步,PLC間通信的方式也變得多種多樣。在工業(yè)實時控制中,延時越小越好。PROFINET直接在數(shù)據(jù)鏈路層進(jìn)行封裝,大大提高了通訊的性能,PROFINET IO系統(tǒng)作為PLC間實時通信的一種方式,它操作簡單,容易理解也易上手。PROFINET的靈活性,高效性,高性能,在工業(yè)生產(chǎn)中,起到至關(guān)重要的作用。提高實時工廠的生產(chǎn)率,需要關(guān)注PROFINET技術(shù)的發(fā)展。