常 浩
(陜西銀河電力自動化股份有限公司,陜西西安 710000)
隨著科學(xué)技術(shù)的不斷進(jìn)步,生產(chǎn)過程的自動化程度也逐步提高,用于生產(chǎn)過程控制的PLC 控制系統(tǒng)也從最初單一工序的自動控制,逐步發(fā)展成為如今大、中、小不同類型的系列化產(chǎn)品。PLC 基于可靠性高和抗干擾能力強的特點,使其廣泛用于各種不同的工業(yè)控制場景。除了邏輯處理功能以外,PLC 還具備完善的、強大的數(shù)據(jù)運算能力。未來,PLC 控制系統(tǒng)將沿著開放式、網(wǎng)絡(luò)化、分布式的方向繼續(xù)發(fā)展。
文中提出了基于西門子SIMATIC S7-1200 PLC系列CPU1214C 的分布式控制系統(tǒng)內(nèi)數(shù)據(jù)通信方案設(shè)計和實際應(yīng)用案例,實現(xiàn)了小型化PLC 對中大型生產(chǎn)系統(tǒng)的過程控制,同時也是對PLC 系統(tǒng)的開放式、網(wǎng)絡(luò)化的一次有意的實踐和探索。重點介紹了在分布式PLC 控制系統(tǒng)中,位于不同機架上的同型號小型CPU 之間數(shù)據(jù)通信的方案設(shè)計與實現(xiàn)。
本系統(tǒng)的設(shè)計背景為榆林市供熱有限公司多熱源中繼能源站建設(shè)項目。該項目納入自控系統(tǒng)的設(shè)備有:6 kV 高壓變頻循環(huán)泵7臺、380 V 低壓變頻補水泵8臺、開關(guān)型電動閥門32臺、電磁閥3臺、各型熱表及壓力和溫度變送器數(shù)十臺,數(shù)字量和模擬量測點累積超過400個。若采用傳統(tǒng)的PLC 系統(tǒng)設(shè)計方案,可采用中大型PLC 系統(tǒng)實現(xiàn),如西門子S7-300系列,但從分布式控制系統(tǒng)的設(shè)計思路出發(fā),經(jīng)過慎重的考慮和決策,最終本系統(tǒng)采用了基于西門子小型PLC S7-1200系列CPU1214C 的分布式控制系統(tǒng)設(shè)計方案。
1.2.1 設(shè)計思路
(1)從整體方面考慮,本系統(tǒng)的設(shè)計應(yīng)滿足用戶對控制系統(tǒng)各種復(fù)雜連鎖關(guān)系及保護(hù)等控制策略和系統(tǒng)的完備性、可靠性及可擴展性的全部需求;并且系統(tǒng)的設(shè)計和組成應(yīng)符合分布式系統(tǒng)的控制思想。
(2)從細(xì)節(jié)方面考慮,本系統(tǒng)的設(shè)計要從受控設(shè)備著手。
①依據(jù)受控設(shè)備的測點總數(shù),選定PLC 系統(tǒng)的機架及模塊的配置;再根據(jù)受控設(shè)備相互之間的聯(lián)鎖關(guān)系,將測點一一分配到各機架的對應(yīng)模塊中。
②完成系統(tǒng)組網(wǎng)。為了保證控制系統(tǒng)通信的及時性和高可靠性,本系統(tǒng)網(wǎng)絡(luò)拓?fù)洳捎靡蕴W(wǎng)通過現(xiàn)場硬接線的方式與現(xiàn)場設(shè)備相連,從而實現(xiàn)了對現(xiàn)場設(shè)備的“分散控制,集中管理”。
1.2.2 設(shè)計重點
1.2.2.1 測點的合理分配
依據(jù)現(xiàn)場設(shè)備的類型、數(shù)量、控制要求,統(tǒng)計實際接入本系統(tǒng)的數(shù)字量和模擬量測點超過400余個,再加之上下位通信的中間寄存器,系統(tǒng)容量遠(yuǎn)超過單臺CPU 的負(fù)載能力。因此實際設(shè)計過程中,通過對工藝系統(tǒng)的反復(fù)研究,將400多個實際測點及其相關(guān)的中間寄存器,分配進(jìn)入不同的4個CPU 機架中。測點分配的基本原則是:
(1)盡量將參與同一過程控制的相關(guān)測點,分配到同一CPU;
(2)盡量將互有聯(lián)鎖關(guān)系的測點,分配到同一CPU;
(3)盡量減少不同CPU 之間的數(shù)據(jù)通信;
(4)盡量考慮系統(tǒng)通信的及時性和可靠性,以及系統(tǒng)的完備性和可擴展性。
根據(jù)上述原則進(jìn)行測點分配后,每個機架不僅滿足了系統(tǒng)設(shè)計容量的要求,還預(yù)留了相應(yīng)數(shù)量的備用測點,第四個機架還有3個空余槽位,為今后系統(tǒng)的檢修維護(hù)、改造擴容留有余地。
1.2.2.2 不同機架CPU之間數(shù)據(jù)通信的實現(xiàn)
本系統(tǒng)不同CPU 之間數(shù)據(jù)通信,是采用基于工業(yè)以太網(wǎng)技術(shù)的自動化總線標(biāo)準(zhǔn)PROFINET 的網(wǎng)絡(luò)解決方案而實現(xiàn)。PROFINET 總線標(biāo)準(zhǔn)是由西門子公司和 PROFIBUS 用戶協(xié)會共同開發(fā),并針對分布式智能自動化系統(tǒng)進(jìn)行了優(yōu)化。PROFINET 為自動化控制系統(tǒng)提供了一套完整的網(wǎng)絡(luò)通信解決方案。
(1)系統(tǒng)組網(wǎng)。①根據(jù)實際的硬件配置,為本系統(tǒng)內(nèi)的操作員工作站、CPU 模塊、觸摸屏分配不同的IP 地址,并采用工業(yè)以太網(wǎng)交換機,實現(xiàn)通信網(wǎng)絡(luò)架構(gòu)的硬件搭建。②在西門子編程軟件中,完成硬件組態(tài)及端口的參數(shù)設(shè)置。
(2)數(shù)據(jù)通信程序的編制。本系統(tǒng)雖然在測點劃分過程中盡量避免CPU 之間的相互的數(shù)據(jù)通信,但實際上,控制系統(tǒng)在實現(xiàn)控制策略和聯(lián)鎖保護(hù)的過程中,不同CPU 之間很難避免相互間的數(shù)據(jù)傳遞。所以,端口通信程序的編制同樣也是為了確??刂葡到y(tǒng)在控制策略實現(xiàn)過程中數(shù)據(jù)通信的高可靠性和及時性。
根據(jù)系統(tǒng)設(shè)計最終確定的系統(tǒng)容量和模塊選型,在西門子全集成自動化編程軟件TIA portal 中完成硬件設(shè)備組態(tài)及相關(guān)的參數(shù)設(shè)置,并導(dǎo)入本地PLC 系統(tǒng)所用的IO 測點和編程過程中使用到的中間寄存器
2.2.1 數(shù)據(jù)緩存區(qū)的建立
在系統(tǒng)中的每一個CPU(位于不同機架)中分別創(chuàng)建4個數(shù)據(jù)緩存區(qū),其中一個緩存區(qū)存儲本機架CPU 的變量數(shù)據(jù),其余三個緩存區(qū)分別接受其他三臺CPU 的變量數(shù)據(jù),如下所示(C1代表CPU1,C2代表CPU2,以此類推):
2.2.2 數(shù)據(jù)寫入緩存區(qū)
編制程序?qū)⒈镜財?shù)據(jù)寫入數(shù)據(jù)發(fā)送的緩存區(qū),并接收其他機架CPU 發(fā)送過來的數(shù)據(jù)(具體實現(xiàn)程序以PLC 機架1CPU 中的程序為例)。在建立了4個數(shù)據(jù)緩存區(qū)(緩存區(qū)的大小和數(shù)據(jù)類型,因編程思路的不同而不同,具體根據(jù)實際確定)后,先將本機架CPU 的實時數(shù)據(jù)寫入數(shù)據(jù)緩存區(qū)。在程序塊中增加相應(yīng)的數(shù)據(jù)轉(zhuǎn)發(fā)函數(shù)(FC 塊),并在主函數(shù)Main(OB1)中,編制數(shù)據(jù)接收和發(fā)送程序。
分別將模擬量測點和開關(guān)量測點實時數(shù)據(jù)全部寫入數(shù)據(jù)緩存區(qū)。
模擬量測點實時數(shù)據(jù)寫入數(shù)據(jù)緩存區(qū)程序,文中僅以其中一個模塊的一個測點為例,如圖1所示。
圖1 模擬量測點實時數(shù)據(jù)寫入數(shù)據(jù)緩存區(qū)
開關(guān)量測點實時數(shù)據(jù)寫入數(shù)據(jù)緩存區(qū)程序(文中僅以其中一個模塊的一個測點為例,如圖2所示)。
圖2 開關(guān)量測點實時數(shù)據(jù)寫入數(shù)據(jù)緩存區(qū)
使用以太網(wǎng)數(shù)據(jù)發(fā)送指令(TSEND_C)和接收指令(TRCV_C),在主函數(shù)(Main)中編程實現(xiàn)本地CPU 與目標(biāo)CPU 實時數(shù)據(jù)的傳遞和接收,程序以本地CPU1與目標(biāo)CPU2通信為例,如圖3所示。
圖3 本地CPU與目標(biāo)CPU實時數(shù)據(jù)通信程序
這里要注意的是,本地CPU 和目標(biāo)CPU 數(shù)據(jù)通信使用的TSEND_C 和TRCV_C 應(yīng)該是成對出現(xiàn)的。
以此類推,系統(tǒng)中每個PLC 系統(tǒng)的程序編制時,主函數(shù)(Main)中均包含6段本地CPU 與其他3個目標(biāo)CPU 之間的收發(fā)通信程序。
2.2.3 通信參數(shù)設(shè)置
在使用以太網(wǎng)數(shù)據(jù)發(fā)送指令(TSEND_C)和接收指令(TRCV_C)編制數(shù)據(jù)轉(zhuǎn)發(fā)和接收程序時,應(yīng)在對應(yīng)的發(fā)送指令(TSEND_C)和接收指令(TRCV_C)中進(jìn)行相關(guān)的參數(shù)設(shè)置,即組態(tài),比如伙伴CPU的選定、鏈接類型、端口設(shè)置、數(shù)據(jù)緩存區(qū)的設(shè)置等。完成指令中參數(shù)設(shè)置后,程序進(jìn)行編譯和生成,CPU之間的數(shù)據(jù)轉(zhuǎn)發(fā)和讀取通信,便得以實現(xiàn)。在數(shù)據(jù)轉(zhuǎn)發(fā)和接收的通信建立過程中,CPU 遵循誰發(fā)送數(shù)據(jù),誰主動和伙伴CPU 建立鏈接的原則。這是在對發(fā)送指令(TSEND_C)和接收指令(TRCV_C)中進(jìn)行參數(shù)設(shè)置時,需要格外注意的。
經(jīng)過上述一系列步驟后,實現(xiàn)了位于不同機架上的CPU 之間數(shù)據(jù)通信功能。本地CPU 除了使用本地I/O 測點進(jìn)行編程以外,還可以調(diào)用目標(biāo)CPU 的I/O測點,以便實現(xiàn)更復(fù)雜的系統(tǒng)控制策略。
至此,基于西門子小型PLC S7-1200 系列CPU1214C 的分布式控制系統(tǒng)的難點——CPU 之間的數(shù)據(jù)通信功能的方案設(shè)計和實現(xiàn)介紹完畢。
本方案的成功實施,較為完美地解決了傳統(tǒng)PLC系統(tǒng)設(shè)計過程中,小型PLC 的分布式控制系統(tǒng)通常僅適用于多臺設(shè)備分別獨立控制,又要相互聯(lián)系的場合,還必須附加通信模塊,而無法承擔(dān)一個超過自身負(fù)載能力的相對復(fù)雜的中大型系統(tǒng)整體控制的困境,也是分布式PLC 控制系統(tǒng)在開放式和網(wǎng)絡(luò)化方面的一次有意義的嘗試。
PLC 技術(shù)在其30 多年的發(fā)展過程中逐步壯大,因為自身的可靠性高、編程容易、組態(tài)靈活等特點,深受廣大工控從業(yè)人員的喜愛,因而在工業(yè)自動化控制領(lǐng)域的應(yīng)用范圍越來越大。近年來,隨著控制理念的不斷發(fā)展,分散控制系統(tǒng)(DCS)的不斷壯大,以及管理理念的完善(火電廠主輔一體化),PLC 逐步退出中大型控制系統(tǒng)的應(yīng)用范疇。所以,為了適應(yīng)時代發(fā)展和技術(shù)進(jìn)步的新要求,PLC 也需在保持原有特點的基礎(chǔ)上,將向著網(wǎng)絡(luò)化、開放化進(jìn)一步發(fā)展。