可編程序控制器簡稱PLC,它是一種以微處理器為基礎(chǔ),綜合了計算機技術(shù)、自動控制技術(shù)和通信技術(shù)而發(fā)展起來的一種通用的工業(yè)自動控制裝置;具有體積小、功能強、程序設(shè)計簡單、靈活通用、維護方便等一系列的優(yōu)點,特別是它的高可靠性和較強的適應(yīng)惡劣工業(yè)環(huán)境的能力,使其目前廣泛應(yīng)用于各種工業(yè)領(lǐng)域。
早期的PLC雖然采用了計算機的設(shè)計思想,但實際上它只能完邏輯運算、定時、計數(shù)等順序控制功能。在經(jīng)歷了近40年的發(fā)展,現(xiàn)代PLC產(chǎn)品已經(jīng)成為了名符其實的多功能控制器,如邏輯控制、過程控制、運動控制、數(shù)據(jù)處理等功能都得到了很大的加強和完善。與此同時,PLC的網(wǎng)絡(luò)通信功能也得到飛速發(fā)展,PLC及PLC網(wǎng)絡(luò)成為了工業(yè)企業(yè)中不可或缺的一類工業(yè)控制裝置。目前PLC產(chǎn)品的產(chǎn)量、銷量及用量在所有工業(yè)控制裝置中居首位。
按結(jié)構(gòu)形式可以把PLC分為二類:一類是CPU、電源、I/O接口、通信接口等都集成在一個機殼內(nèi)的一體化結(jié)構(gòu);另一類是電源模塊、CPU模塊、I/O模塊、通信模塊等在結(jié)構(gòu)上相互獨立的模塊化結(jié)構(gòu)。
1.PLC的基本組成
PLC的基本組成與一般的計算機系統(tǒng)相類似,主要包括:CPU、RAM、EPROM、E2PROM、通信接口、外設(shè)接口、I/O接口等,按結(jié)構(gòu)形式分一體化和模塊化二類。
模塊化PLC在系統(tǒng)配置上表現(xiàn)得更為方便靈活,用戶可以根據(jù)系統(tǒng)規(guī)模和設(shè)計要求進行配置,模塊與模塊之間通過外部總線連接。一組基本的功能模塊可以構(gòu)成一個機架,CPU模塊所在的機架通常稱為中央機架,其它機架統(tǒng)稱為擴展機架。根據(jù)安裝位置的不同,機架的擴展方式又分為本地連接擴展和遠程連接擴展二種。前者要求所有機架都集中安裝在一起,一般是通過專用電纜實現(xiàn)機架間的連接,機架與機架間的連接距離通常在數(shù)米之內(nèi);后者一般通過光纜或通信電纜實現(xiàn)機架間的連接,連接距離可達幾百米到數(shù)公里,通過中繼環(huán)節(jié)還可以進一步延伸。因此,遠程擴展機架也稱為分布式I/O站點,這是一種介于模擬信號傳輸技術(shù)和現(xiàn)場總線技術(shù)的中間產(chǎn)品。
一個PLC所允許配置的機架數(shù)量以及每個機架所允許安裝模塊數(shù)量一般是有規(guī)定的,這主要取決于PLC的地址配置和尋址能力以及機架的結(jié)構(gòu)和負載能力。
①CPU模塊 CPU模塊是模塊化PLC的核心部件,通常CPU模塊上還集成由存儲器和通信接口。其中,存儲器的容量隨PLC型號的不同有較大的差別,所以在選型的時候需要使CPU模塊集成的存儲器容量及其可擴展能力、通信接口及其可擴展能力應(yīng)該與實際要求相適應(yīng)。
②I/O接口模塊 與一般的計算機控制系統(tǒng)一樣,PLC也是通過I/O接口與現(xiàn)場儀表裝置相連接,AI、AO、DI和DO是PLC最常用的I/O模塊,模塊的數(shù)量取決于系統(tǒng)的實際測控規(guī)模。
③智能模塊 智能模塊通常是一個較獨立的計算機系統(tǒng),自身具有CPU、存儲器、應(yīng)用程序、I/O接口、系統(tǒng)總線接口等。智能模塊一般不參與PLC的循環(huán)掃描過程,而是在CPU模塊的協(xié)調(diào)管理下,按照自身的應(yīng)用程序獨立地參與系統(tǒng)工作,完成一些特殊功能,如高速計數(shù)、開環(huán)步進電機定位控制等等。
④接口模塊 模塊化PLC是通過機架把各種PLC的模塊組織起來的,整套PLC系統(tǒng)有可能包含若干個機架,接口模塊就是用來把所有機架組織起來,構(gòu)成一套完整的PLC系統(tǒng)。
⑤編程工具 編程工具的作用是編制和調(diào)試PLC的用戶程序、設(shè)置系統(tǒng)的運行環(huán)境、在線監(jiān)視或修改運行狀態(tài)和參數(shù),主要有專用編程器和專用編程軟件兩類。
2.PLC的基本工作原理
PLC的產(chǎn)品很多,不同型號、不同廠家的PLC在結(jié)構(gòu)特點上各不相同,但絕大多數(shù)PLC的工作原理都基本相同。
PLC的CPU采用分時操作的原理,其工作方式是一個不斷循環(huán)的順序掃描過程,從用戶程序的第一條指令開始順序逐條地執(zhí)行,直到用戶程序結(jié)束,然后開始新一輪的掃描。如圖2.1,PLC的整個掃描過程可以概括地歸納為上電初始化、一般處理掃描、數(shù)據(jù)I/O操作、用戶程序的掃描、外設(shè)端口服務(wù)五個階段。每一次掃描所用的時間稱為一個工作周期或掃描周期,PLC的掃描周期與PLC的硬件特性和用戶程序的長短有關(guān),典型值一般為幾十ms。

3 PLC的程序設(shè)計
PLC的程序設(shè)計就是用特定的表達方式(編程語言)把控制任務(wù)描述出來,PLC的程序設(shè)計語言多采用面向現(xiàn)場、面向問題、簡單而直觀的自然語言,常用的有梯形圖、語句表、邏輯功能圖、高級語言等等。
①梯形圖 梯形圖是在繼電器控制電氣原理圖基礎(chǔ)上開發(fā)出來的一種直觀形象的圖形編程語言。它沿用了繼電器、接點、串并聯(lián)等術(shù)語和類似的圖形符號,信號流向清楚,是多數(shù)PLC的第一用戶語言。
②語句表 語句表是一種類似于匯編語言的助記符編程語言,語句是用戶程序的基本單元,每種控制功能通過一條或多條語句來描述。語句表編程語言的特點是面向機器,編程靈活方便,尤其適用于模擬量的解算。不同廠家的PLC往往采用不同的助記符號集,但語句表的基本指令格式都是由操作碼和操作數(shù)二部分組成。
③邏輯功能圖 邏輯功能圖是在數(shù)字邏輯電路基礎(chǔ)上開發(fā)出的一種圖形編程語言,它采用了數(shù)字電路的圖符,用“與”、“或”、“非”等邏輯組合來描述控制功能。
4. S7-300 PLC及指令系統(tǒng)
1.系統(tǒng)組成
S7-300 PLC主要有CPU模塊、通信接口、I/O模塊、功能模塊、電源模塊、導(dǎo)軌等組成部分。它采用了模塊化的安裝結(jié)構(gòu),導(dǎo)軌是安裝各類模塊的機架,如圖2.2。

S7-300系列PLC有多種性能級別的CPU,它們適用于不同規(guī)模的PLC系統(tǒng)。CPU模塊主要的性能指標包括執(zhí)行速度、存儲器容量、最大允許擴展的I/O點數(shù)等,一般來說這些性能指標都隨著CPU序號的遞增而增加。此外,網(wǎng)絡(luò)通信功能也是CPU模塊的重要指標之一。S7系列的各種CPU模塊都集成了MPI多點接口,通過MPI接口可以很方便地在PLC站點、操作站OS、編程器PG、操作員面板OP等設(shè)備之間建立較小規(guī)模的通信聯(lián)系,傳輸速率為187.5Kbps。CPU31x?C2還集成了PROFIBUS-DP接口,通過DP接口可組建更大范圍的分布式自動化結(jié)構(gòu)。
(1)模擬量輸入模塊
S7系列的模擬量輸入模塊(SM331)允許輸入的信號類型很多,只需要進行簡單的軟硬件配置,就可以直接輸入各種電壓、電流、電阻、mV等信號,這類模塊也稱為“萬能輸入模塊”。一個模擬量信號經(jīng)過A/D模塊轉(zhuǎn)換成一定范圍的十進制數(shù)據(jù),用戶程序可以根據(jù)輸入通道對應(yīng)的端口地址獲取轉(zhuǎn)換結(jié)果。但如果在應(yīng)用程序中直接使用從端口地址獲取的十進制轉(zhuǎn)換結(jié)果是很不方便的,往往使用前要把它轉(zhuǎn)化為工程量。


SM331模塊可以接入各種量程的電壓、電流、mV、電阻等輸入信號,輸入每一路電壓、電流或mV信號將占用一個輸入通道,如果把輸入通道配置成二線制電流輸入方式,則變送器的工作電源將由模塊提供。電阻信號采用四線連接方式,每輸入一路電阻信號要占用二個通道。其中一個通道向熱電阻提供一個恒定的電流,流經(jīng)電阻Rt以后在Rt兩端產(chǎn)生一個輸入電壓Vi,Vi通過另外一個通道接入SM331模塊。
(2)模擬量輸出模塊
模擬量輸出模塊SM332可以輸出電壓和電流兩種類型的信號,在模擬量信號的輸出過程中,首先要把浮點數(shù)轉(zhuǎn)換成十進制結(jié)果,然后再根據(jù)端口地址把十進制結(jié)果送到輸出緩沖區(qū)。
SM332在輸出電壓時,可以采用2線回路和4線回路兩種方式與負載相連:2線回路電壓輸出時,只需要把輸出電壓連接到負載兩端;4線回路電壓輸出不僅要把輸出電壓連接到負載兩端,還要把負載兩端的電壓通過另外兩根線返回到模塊的檢測端口,直接測量并校準輸出電壓,以獲得比較高的輸出精度。在電流輸出時,只需要把負載傳入輸出回路即可。
(3)開關(guān)量輸入模塊
開關(guān)量輸入模塊SM321主要有直流信號輸入和交流信號輸入二大類,每個輸入通道有一個輸入指示發(fā)光二極管,輸入信號為邏輯“1”時點亮二極管。根據(jù)通道數(shù)和輸入電壓的不同,SM321有很多種不同的型號規(guī)格。
(4)開關(guān)量輸出模塊
開關(guān)量輸出模塊SM322模塊有晶體管、可控硅和繼電器3種輸出類型,晶體管輸出通常用來驅(qū)動直流負載,可控硅輸出用于驅(qū)動交流負載,繼電器輸出則根據(jù)需要既可以驅(qū)動直流負載也可以驅(qū)動交流負載。模塊的每個輸出通道有一個輸出狀態(tài)指示燈,輸出邏輯狀態(tài)“1”時點亮指示燈。根據(jù)通道數(shù)和輸出信號的不同,SM322也有很多種不同的型號規(guī)格。
2.系統(tǒng)配置
S7系列PLC采用的是模塊化的結(jié)構(gòu)形式,根據(jù)應(yīng)用對象的不同,用戶可選擇不同型號、不同數(shù)量的模塊,并把這些模塊安裝在一個或多個機架(導(dǎo)軌)上。除了CPU模塊、電源模塊、通信接口模塊之外,它規(guī)定每一個機架最多可以安裝8個I/O信號模塊。
一個控制系統(tǒng)在確定了I/O模塊、CPU以及安裝機架以后,下一步就需要根據(jù)系統(tǒng)的技術(shù)要求(如運行速度、可擴展性等等)、現(xiàn)場條件的約束以及系統(tǒng)成本等諸多因素來確定系統(tǒng)的結(jié)構(gòu)形式。如果一個控制系統(tǒng)有多個機架,那么這些機架可以采用以下方式集成:

圖2.4(a)、(b)為集中安裝模式,最多可安裝的機架數(shù)量以及機架之間的距離都有明確的規(guī)定。圖2.4(c)為分布式I/O模式,它借助Profibus-DP現(xiàn)場總線來連接安裝于現(xiàn)場的各遠程I/O機架(RIOU),總線長度與通信速率有關(guān),機架之間的距離沒有規(guī)定,總線上最多可以安裝的機架數(shù)量也沒有規(guī)定,但最多可以配置的I/O模塊取決于CPU的尋址能力。當機架數(shù)量較少的時候可以采用前兩種模式,如果機架數(shù)量較多或者機架之間的距離較長的時候,則采用分布式I/O模式。
3.S7 300系列PLC的指令系統(tǒng)
類似于一般的計算機系統(tǒng),可編程序控制器的軟件也是包括操作系統(tǒng)(或稱系統(tǒng)程序)、支持軟件和用戶程序等部分。操作系統(tǒng)由PLC的生產(chǎn)廠家提供,它支持用戶程序的運行;用戶程序是用戶為完成特定的控制任務(wù)而編寫的應(yīng)用程序,STEP 7是支持S7系列PLC開發(fā)用戶程序的常用軟件包。S7系列PLC的編程語言非常豐富,有LAD(梯形圖)、STL(語句表)、FBD(功能塊圖)等,這些都是面向用戶的編程語言,用戶可以選擇一種語言編程,也可混合使用幾種語言編程。其中,語句表和梯形圖是最常用的編程語言。
4.網(wǎng)絡(luò)通信
現(xiàn)代計算機控制系統(tǒng)已不再是自動化的“孤島”,而是集過程控制、生產(chǎn)管理、網(wǎng)絡(luò)通信、IT技術(shù)等為一體的綜合自動化系統(tǒng),系統(tǒng)最主要的結(jié)構(gòu)特征表現(xiàn)為一個多層次的網(wǎng)絡(luò)體系,不同的層次往往遵循不同的標準,具有不同的通信速度和數(shù)據(jù)處理能力。S7 PLC的網(wǎng)絡(luò)功能很強,它可以適應(yīng)不同控制需要構(gòu)建不同的網(wǎng)絡(luò)體系,它可以提供MPI(Multipoint Interface)、Profibus、Industrial Ethernet等通信方式,每種通信方式都有各自的技術(shù)特點和不同的適應(yīng)面。
MPI子網(wǎng)是一種低成本的網(wǎng)絡(luò)系統(tǒng),其物理層符合RS485標準,具有多點通信的性質(zhì)。如圖2.5,由于所有S7-300/S7-400的CPU單元上都集成了MPI接口,用戶可以很方便地用MPI接口把多個PLC、PC、OP等控制設(shè)備直接組成MPI網(wǎng)。接入到MPI網(wǎng)的設(shè)備稱為一個站點,一個MPI網(wǎng)最多允許連接32個站點,傳輸速率為187.5Kbps,不加中繼時的最大總線長度僅為50m。因此,MPI子網(wǎng)主要適用于站點數(shù)不多、數(shù)據(jù)傳輸量不大的應(yīng)用場合。

PROFIBUS是用于現(xiàn)場級或控制單元級的開放式、標準化高速現(xiàn)場總線,如圖2.6,其總線存取協(xié)議是結(jié)合了令牌環(huán)和主從方式的混合介質(zhì)存取技術(shù),是一種倍受青睞的組網(wǎng)方式,傳輸速率可達12Mbps,通常使用的傳輸介質(zhì)是屏蔽雙芯電纜或者是光纜,每一個網(wǎng)段最多可以掛接126個站點設(shè)備。
Industrial Ethernet子網(wǎng)主要用于控制層或管理層之間大量的數(shù)據(jù)交換,與前二種子網(wǎng)有所不同的是,Industrial Ethernet子網(wǎng)上的多數(shù)站點設(shè)備需要安裝Ethernet-CP來擴展網(wǎng)絡(luò)接口。
5. 可編程控制器的應(yīng)用
關(guān)于PLC系統(tǒng)的設(shè)計原則往往會涉及很多方面,其中最基本的設(shè)計原則可以歸納為四點:①最大限度地滿足工業(yè)生產(chǎn)過程或機械設(shè)備的控制要求――完整性原則;②確保計算機控制系統(tǒng)的可靠性――可靠性原則;③力求控制系統(tǒng)簡單、實用、合理――經(jīng)濟性原則;④適當考慮生產(chǎn)發(fā)展和工藝改進的需要,在I/O接口、通信能力等方面要留有余地――發(fā)展性原則。很明顯,這四條最基本的設(shè)計原則對其它類型的計算機控制系統(tǒng)設(shè)計也是適用的。
雖然不同的PLC系統(tǒng)在設(shè)計內(nèi)容和設(shè)計方法上也會有所不同,通常還與設(shè)計人員習(xí)慣的設(shè)計規(guī)范及實踐經(jīng)驗有關(guān),但所有設(shè)計方法要解決的基本問題是相同的。PLC系統(tǒng)設(shè)計所要完成的一般性內(nèi)容包括:
⑴ 分析被控對象的工藝特點和要求,擬定PLC系統(tǒng)的控制功能和設(shè)計目標;
⑵ 細化PLC系統(tǒng)的技術(shù)要求,如:I/O接口數(shù)量、系統(tǒng)結(jié)構(gòu)形式、安裝的物理位置等等;
⑶ PLC系統(tǒng)的選型,包括:CPU、I/O模塊、接口模塊等等;
⑷ 編制I/O分配表和PLC系統(tǒng)及其與現(xiàn)場儀表的接線圖;
⑸ 根據(jù)系統(tǒng)要求編制軟件規(guī)格說明書,開發(fā)PLC應(yīng)用軟件;
⑹ 編寫設(shè)計說明書和使用說明書;
⑺ 系統(tǒng)安裝、調(diào)試和投運。
1.PLC系統(tǒng)的硬件設(shè)計
在對生產(chǎn)工藝的特點和要求作深入分析的基礎(chǔ)上,首先需要創(chuàng)建設(shè)計任務(wù)書。設(shè)計任務(wù)書的創(chuàng)建實際上就是對技術(shù)要求的細化,把各部分必須具備的功能和實現(xiàn)方法以書面形式描述出來,是設(shè)備選型、硬件配置、軟件設(shè)計、系統(tǒng)調(diào)試的重要技術(shù)依據(jù)。
在滿足控制要求的前提下,PLC硬件設(shè)備的選型應(yīng)該追求最佳的性能價格比。
在選擇CPU型號的時候,往往需要綜合考慮CPU的基本性能、速度、存儲器容量等因素。其中CPU基本性能要與控制任務(wù)相適應(yīng),具體表現(xiàn)在三個方面:(a)最大允許配置的I/O點數(shù),這個性能指標與CPU的尋址能力有關(guān)。(b)網(wǎng)絡(luò)功能。(c)復(fù)雜控制功能和先進控制功能。應(yīng)該說,絕大多數(shù)PLC都能夠滿足一般的工業(yè)控制要求,只有少數(shù)需要有快速響應(yīng)要求的系統(tǒng),需要仔細考慮系統(tǒng)的實時性要求。存儲器主要是用來保存應(yīng)用程序以及系統(tǒng)運行所需的相關(guān)數(shù)據(jù),存儲器容量主要與系統(tǒng)規(guī)模、控制要求、實現(xiàn)方法及編程水平等許多因素有關(guān),在工程實踐中,特別是對初學(xué)者來說,應(yīng)該適當考慮余量。
此外,硬件系統(tǒng)的設(shè)計還要包括I/O的配置、I/O站點的分配與通信接口模塊的選擇、電源模塊和其它附屬硬件的選擇以及安全回路的設(shè)計等內(nèi)容。
2.PLC系統(tǒng)的軟件設(shè)計
如圖2.7,PLC系統(tǒng)的軟件設(shè)計包括前期工作和開發(fā)調(diào)試兩個過程。前期工作包括制定控制方案、制定抗干擾措施、編制I/O分配表、確定程序結(jié)構(gòu)、定義軟件模塊的功能,然后編寫應(yīng)用軟件的指令程序,最后進行軟件的調(diào)試和投運。在軟件設(shè)計過程中,前期工作內(nèi)容往往會被設(shè)計人員所忽視,事實上這些工作對提高軟件的開發(fā)效率、保證應(yīng)用軟件的可維護性、縮短調(diào)試周期都是非常必要的,特別是對較大規(guī)模的PLC系統(tǒng)更是如此。

對于整個應(yīng)用軟件來說,程序結(jié)構(gòu)設(shè)計和數(shù)據(jù)結(jié)構(gòu)設(shè)計是程序設(shè)計的主要內(nèi)容。合理的程序結(jié)構(gòu)不僅決定著應(yīng)用程序的編程質(zhì)量,而且還對編程周期、調(diào)試周期、可維護性都有很大的影響。
以S7 PLC系統(tǒng)為例,一個應(yīng)用軟件可以選擇多種結(jié)構(gòu)形式:①把所有的指令按順序放置在一個程序塊中(通常為組織塊OB1),稱為“線性程序結(jié)構(gòu)”。其特點是程序結(jié)構(gòu)簡單,但程序的可讀性差、執(zhí)行效率低,只適用于一個人編寫的、相對簡單的控制程序。②對軟件功能進行劃分,實現(xiàn)每一個控制功能的邏輯指令放置在一個功能塊中(通常為邏輯功能塊FC,相當于子程序),然后通過組織塊把各FC組織起來,稱為“部分模塊化結(jié)構(gòu)”。③把一組功能相同和相近的控制程序由一個功能塊實現(xiàn)(通常為邏輯功能塊FB,相當于函數(shù)),在運行中只需要為FB塊賦予不同的實參,就能完成對不同設(shè)備的控制;對于一些簡單的函數(shù)功能,也可以通過FC塊完成。所有的FB、FC塊最終由組織塊協(xié)調(diào),這種程序結(jié)構(gòu)具有更高的編程效率和更廣泛的適用面,稱為“模塊化程序結(jié)構(gòu)”。

