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