可編程邏輯控制器(PLC)的發(fā)展史,正是工業(yè)革命與信息革命交匯的縮影。自20世紀(jì)10年代初裝配線問(wèn)世以來(lái),制造業(yè)始終致力于實(shí)現(xiàn)快速、可靠且可重復(fù)的生產(chǎn)模式。第一次工業(yè)革命時(shí)期的工廠僅依靠機(jī)械動(dòng)力和電力來(lái)解決大規(guī)模生產(chǎn)難題。當(dāng)裝配線無(wú)需頻繁調(diào)整時(shí),這種模式運(yùn)行良好。但到20世紀(jì)60年代,汽車行業(yè)每年都要配合新車型調(diào)整裝配線,這就需要技術(shù)人員手動(dòng)為傳感器和電磁閥重新布線。與此同時(shí),初生的計(jì)算機(jī)產(chǎn)業(yè)已發(fā)展成熟,能夠提供兼具物理穩(wěn)健性與成本效益的解決方案。汽車制造商開始安裝現(xiàn)代PLC的前身硬件設(shè)備,讓技術(shù)人員無(wú)需再把裝配線的線路推倒重來(lái),而是只需上傳新代碼就可以改變生產(chǎn)流程。
至少,理論上的設(shè)想是如此的。
本文將探討根據(jù)國(guó)際標(biāo)準(zhǔn)IEC 61131-3定義的現(xiàn)代PLC編程方案。但由于各家PLC制造商都提供專用于其特定硬件的編程軟件,因而在編碼技術(shù)上會(huì)存在細(xì)微差異。
早期自動(dòng)化編程:繼電器與硬接線時(shí)代
這些PLC的前身,包括各類機(jī)械、電氣和電子控制系統(tǒng)以及氣動(dòng)和液壓控制裝置,在初期都運(yùn)行良好,但它們存在一個(gè)嚴(yán)重缺陷:要想重新編程,就需要掌握匯編語(yǔ)言或Fortran編程語(yǔ)言,但負(fù)責(zé)維護(hù)和更新這些系統(tǒng)的電工和機(jī)械師并非程序員。他們使用的是一種名為梯形圖的語(yǔ)言。后來(lái),電子工程師重返設(shè)計(jì)舞臺(tái),推出了第一代PLC。此后數(shù)十年間,雖然引入了多種編程方法,但梯形圖至今仍是工業(yè)領(lǐng)域的主流編程方式。
梯形圖的誕生:圖形化邏輯的革命
梯形圖最初用于直觀記錄制造和流程控制中繼電器機(jī)架的設(shè)計(jì)與構(gòu)造,其形態(tài)類似于繼電器邏輯硬件的原理圖。梯形圖以兩條豎線繪制的母線為起點(diǎn),其間的水平線(指令線)代表邏輯行。輸入符號(hào)(稱為觸點(diǎn))對(duì)應(yīng)傳感器、開關(guān)和按鈕,位于梯級(jí)的左側(cè)和中央?yún)^(qū)域;而輸出符號(hào)(稱為線圈)包括電機(jī)、繼電器、指示燈或警報(bào)器,則置于梯級(jí)右側(cè)。通過(guò)排列觸點(diǎn)和線圈形成輸入間的邏輯關(guān)系(如與、或、非),并將其連接至輸出端,即可實(shí)現(xiàn)系統(tǒng)的控制邏輯。

梯形圖示例。(圖源:Green Shoe Garage)
兩種常見(jiàn)的輸入邏輯符號(hào)是“常開觸點(diǎn)”(EON,有時(shí)也稱為“閉路檢查”或XIC)和“常閉觸點(diǎn)”(EOF,也稱為“開路檢查”或XIO)。EON既可以表示常開觸點(diǎn),也可以表示緩沖器;而EOF既可以表示常閉觸點(diǎn),也可以表示反相器。最后,輸出邏輯符號(hào)稱為輸出線圈(OUT),它只有一種含義:為輸出線圈控制的任何輸出設(shè)備供電。

常見(jiàn)梯形圖符號(hào)。從左至右:常開觸點(diǎn)(EON)、常閉觸點(diǎn)(EOF)和輸出線圈(OUT)。(圖源:Green Shoe Garage)
當(dāng)輸入以并聯(lián)方式排列時(shí),其邏輯表達(dá)等同于“或”(OR)運(yùn)算;反之,當(dāng)輸入以串聯(lián)方式排列時(shí),則構(gòu)成“與”(AND)關(guān)系。另一項(xiàng)關(guān)鍵要點(diǎn)是:梯形圖中每個(gè)輸出點(diǎn)僅能出現(xiàn)一次,以確保每個(gè)輸出狀態(tài)僅由單一輸入序列控制。
PLC以“程序掃描周期”的方式運(yùn)行,并且會(huì)反復(fù)執(zhí)行程序。平均而言,PLC需要數(shù)十毫秒來(lái)處理所有輸入和指令,然后改變輸出以反映當(dāng)前機(jī)器狀態(tài)。梯形圖控制程序通常按從左到右、自上而下的順序讀取。掃描周期通常遵循以下流程:
讀取輸入
執(zhí)行程序
寫入輸出位
梯形圖編程需要遵循一些重要原則:
合理組織梯形圖代碼,確保邏輯流暢且易于理解。相關(guān)的功能應(yīng)歸類分組,并使用子程序?qū)崿F(xiàn)代碼模塊化。
限制邏輯行的大小,過(guò)于復(fù)雜的邏輯行會(huì)增加故障排查難度。復(fù)雜邏輯應(yīng)分解為更小、更易管理的步驟。
切勿通過(guò)在PLC軟件中編程來(lái)實(shí)現(xiàn)緊急停止功能。編程時(shí)應(yīng)考慮程序在傳感器故障等意外事件中的行為,并設(shè)計(jì)失效安全操作機(jī)制以降低風(fēng)險(xiǎn)。緊急停止裝置必須通過(guò)硬接線方式接入設(shè)備配電系統(tǒng)。涉及生命安全問(wèn)題時(shí),絕不可依賴PLC本身實(shí)現(xiàn)防護(hù)。
將輸入端連接至緩沖器或反相器,以便通過(guò)軟件調(diào)整而非重新布線來(lái)實(shí)現(xiàn)功能變更。謹(jǐn)記:工業(yè)領(lǐng)域中,設(shè)備停機(jī)將帶來(lái)巨大的經(jīng)濟(jì)損失和人力成本。修改代碼遠(yuǎn)比重新布線更為便捷。
始終貫徹一致的邏輯原則。例如,若啟動(dòng)條件使用常開(NO)觸點(diǎn),則后續(xù)類似功能應(yīng)繼續(xù)使用常開觸點(diǎn),除非有特殊原因需要改變。同樣地,若使用計(jì)數(shù)器,也應(yīng)該相應(yīng)采用遞增或遞減計(jì)時(shí)器。
理解內(nèi)存映射(亦稱數(shù)據(jù)表)。由于PLC是內(nèi)存受限設(shè)備,且采用硬連線內(nèi)存地址進(jìn)行I/O操作,因此成功的編程需要開發(fā)者深入掌握內(nèi)部?jī)?nèi)存結(jié)構(gòu)。相較于桌面應(yīng)用程序等其他軟件開發(fā)類型,這種要求更為嚴(yán)格。此外,不同數(shù)據(jù)類型(部分廠商稱之為文件類型)由不同位數(shù)表示。內(nèi)存各組件采用特殊的字符標(biāo)識(shí),例如:
O:3.1/0
[文件類型或編號(hào)] : [元素編號(hào)] . [字編號(hào)] / [位編號(hào)]
其中,文件類型/編號(hào)代表數(shù)據(jù)類型,如輸入、輸出或計(jì)數(shù)器。元素編號(hào)代表I/O插槽。若數(shù)據(jù)為多字的類型,則字編號(hào)表示需訪問(wèn)的具體的字。最后,位編號(hào)表示該字中需要訪問(wèn)的具體位。因此,本例表示第三輸出插槽中第二個(gè)字節(jié)的首位。
再次強(qiáng)調(diào),不同供應(yīng)商的格式可能存在差異,但關(guān)鍵在于必須精確掌握各個(gè)位應(yīng)在何處設(shè)置,尤其對(duì)于外部I/O而言。
超越梯形圖:文本化與高級(jí)語(yǔ)言的演進(jìn)
除梯形圖外,IEC 61131-3標(biāo)準(zhǔn)還規(guī)范了另外兩種圖形化PLC編程方法:功能塊圖(FBD)和順序功能圖(SFC)。該標(biāo)準(zhǔn)還詳述了基于文本的結(jié)構(gòu)化文本編程法,這是一種語(yǔ)法類似Pascal的塊結(jié)構(gòu)化編程語(yǔ)言。需要注意的是,Arduino也為其Opta系列PLC推出了基于Arduino(本身是C語(yǔ)言封裝)的編程方法。其他PLC供應(yīng)商已開始棄用專有編程語(yǔ)言,轉(zhuǎn)而采用Python、Java和C++等通用語(yǔ)言。
結(jié)構(gòu)化文本編程方法在PLC領(lǐng)域日益受到青睞,眾多企業(yè)正借此推動(dòng)其制造流程兼容工業(yè)物聯(lián)網(wǎng)(IIoT)。相較傳統(tǒng)非聯(lián)網(wǎng)工廠自動(dòng)化技術(shù)而言,IIoT(無(wú)論連接互聯(lián)網(wǎng)還是大型私有廣域網(wǎng))既具備吸引部分制造商的優(yōu)勢(shì),也存在某些風(fēng)險(xiǎn)。
隨著IIoT的興起,現(xiàn)代PLC已具備更先進(jìn)的網(wǎng)絡(luò)功能,可輕松接入互聯(lián)網(wǎng)并與IIoT生態(tài)系統(tǒng)中的其他設(shè)備通信。這包括對(duì)多種通信協(xié)議的支持,如MQTT、AMQP和OPC UA,這些協(xié)議對(duì)于實(shí)時(shí)云連接和數(shù)據(jù)交換至關(guān)重要。其優(yōu)勢(shì)體現(xiàn)在多個(gè)方面,包括企業(yè)資源規(guī)劃(ERP)系統(tǒng)集成、數(shù)字孿生構(gòu)建、預(yù)測(cè)性維護(hù)以及遠(yuǎn)程監(jiān)控等應(yīng)用場(chǎng)景。
-
繼電器
+關(guān)注
關(guān)注
133文章
5592瀏覽量
155464 -
plc
+關(guān)注
關(guān)注
5052文章
14882瀏覽量
489104 -
可編程邏輯
+關(guān)注
關(guān)注
7文章
530瀏覽量
45485
原文標(biāo)題:PLC編程進(jìn)化論:從梯形圖到現(xiàn)代語(yǔ)言的自動(dòng)化編程之路
文章出處:【微信號(hào):貿(mào)澤電子,微信公眾號(hào):貿(mào)澤電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
資料下載:PLC梯形圖可視化編輯與語(yǔ)句表的自動(dòng)生成
PLC梯形圖是如何編程的呢?
PLC梯形圖編程有哪些規(guī)范_plc梯形圖編程實(shí)例
plc編程中的梯形圖是什么?
PLC梯形圖的運(yùn)行方式 PLC梯形圖的特點(diǎn)
PLC梯形圖的特點(diǎn) 如何懂PLC梯形圖
PLC梯形圖的執(zhí)行順序和編程規(guī)則
PLC梯形圖編程方法和編程語(yǔ)言的特點(diǎn)
PLC梯形圖編程的順序和方法
PLC梯形圖編程語(yǔ)言的種類和特點(diǎn)
PLC梯形圖編程語(yǔ)言的設(shè)計(jì)思想和格式規(guī)定
plc編程入門梯形圖
從梯形圖到現(xiàn)代語(yǔ)言的自動(dòng)化編程之路
評(píng)論