PLC,(ProgrammableLogicController),乃是一種電子裝置,早期稱為順序控制器“SequenceController”,1978美國(guó)國(guó)家電氣協(xié)會(huì)正式命名為PLC,其定義為一種電子裝置,主要將外部的輸入裝置如:按鍵、感應(yīng)器、開(kāi)關(guān)及脈沖等的狀態(tài)讀取后,依據(jù)這些輸入信號(hào)的狀態(tài)或數(shù)值并根據(jù)內(nèi)部?jī)?chǔ)存預(yù)先編寫(xiě)的程序,以微處理機(jī)執(zhí)行邏輯、順序、定時(shí)、計(jì)數(shù)及算式運(yùn)算,產(chǎn)生相對(duì)應(yīng)的輸出信號(hào)到輸出裝置如:繼電器(Relay)的開(kāi)關(guān)、電磁閥及電機(jī)驅(qū)動(dòng)器,控制機(jī)械或程序的操作,達(dá)到機(jī)械控制自動(dòng)化或加工程序的目的。
PLC目前有5種標(biāo)準(zhǔn)的編程語(yǔ)言,包括圖形化編程語(yǔ)言和文本化編程語(yǔ)言。圖形化編程語(yǔ)言包括:梯形圖(LD-Ladder Diagram)、功能塊圖(FBD - Function Block Diagram)、順序功能圖(SFC - Sequential Function Chart)。文本化編程語(yǔ)言包括:指令表(IL-Instruction List)和結(jié)構(gòu)化文本(ST-Strutured Text)。IEC 1131-3的編程語(yǔ)言是IEC工作組對(duì)世界范圍的PLC廠家的編程語(yǔ)言合理地吸收、借鑒的基礎(chǔ)上形成的一套針對(duì)工業(yè)控制系統(tǒng)的國(guó)際編程語(yǔ)言標(biāo)準(zhǔn),它不但適用于PLC系統(tǒng),而且還適用于更廣泛的工業(yè)控制領(lǐng)域,為PLC編程語(yǔ)言的全球規(guī)范化做出了重要的貢獻(xiàn)。
繼電器梯形圖
繼電器梯形圖(LD-Ladder Diagram)語(yǔ)言是PLC首先采用的編程語(yǔ)言,也是PLC最普遍采用的編程語(yǔ)言。梯形圖編程語(yǔ)言是從繼電器控制系統(tǒng)原理圖的基礎(chǔ)上演變而來(lái)的,與繼電器控制系統(tǒng)梯形圖的基本思想是一致的,只是在使用符號(hào)和表達(dá)方式上有一定區(qū)別。PLC的設(shè)計(jì)初衷是為工廠車間電氣技術(shù)人員而使用的,為了符合繼電器控制電路的思維習(xí)慣,作為首先在PLC中使用的編程語(yǔ)言,梯形圖保留了繼電器電路圖的風(fēng)格和習(xí)慣,成為廣大電氣技術(shù)人員最容易接受和使用的語(yǔ)言。
梯形圖編程中
用到以下四個(gè)基本概念
1.軟繼電器
PLC梯形圖中的某些編程元件沿用了繼電器這一名稱,如輸入繼電器、輸出繼電器、內(nèi)部輔助繼電器等,但是它們不是真實(shí)的物理繼電器,而是一些存儲(chǔ)單元(軟繼電器),每一軟繼電器與PLC存儲(chǔ)器中映像寄存器的一個(gè)存儲(chǔ)單元相對(duì)應(yīng)。該存儲(chǔ)單元如果為“1”狀態(tài),則表示梯形圖中對(duì)應(yīng)軟繼電器的線圈“通電”,其常開(kāi)觸點(diǎn)接通,常閉觸點(diǎn)斷開(kāi),稱這種狀態(tài)是該軟繼電器的“1”或“ON”狀態(tài)。如果該存儲(chǔ)單元為“0”狀態(tài),對(duì)應(yīng)軟繼電器的線圈和觸點(diǎn)的狀態(tài)與上述的相反,稱該軟繼電器為“0”或“OFF”狀態(tài)。使用中也常將這些“軟繼電器”稱為編程元件。
2.能流
有一個(gè)假想的“概念電流”或“能流”(Power Flow)從左向右流動(dòng),這一方向與執(zhí)行用戶程序時(shí)的邏輯運(yùn)算的順序是一致的。能流只能從左向右流動(dòng)。利用能流這一概念,可以幫助我們更好地理解和分析梯形圖。
3.母線
梯形圖兩側(cè)的垂直公共線稱為母線(Bus bar),。在分析梯形圖的邏輯關(guān)系時(shí),為了借用繼電器電路圖的分析方法,可以想象左右兩側(cè)母線(左母線和右母線)之間有一個(gè)左正右負(fù)的直流電源電壓,母線之間有“能流”從左向右流動(dòng)。右母線可以不畫(huà)出。
4.梯形圖的邏輯解算
根據(jù)梯形圖中各觸點(diǎn)的狀態(tài)和邏輯關(guān)系,求出與圖中各線圈對(duì)應(yīng)的編程元件的狀態(tài),稱為梯形圖的邏輯解算。梯形圖中邏輯解算是按從左至右、從上到下的順序進(jìn)行的。解算的結(jié)果,馬上可以被后面的邏輯解算所利用。邏輯解算是根據(jù)輸入映像寄存器中的值,而不是根據(jù)解算瞬時(shí)外部輸入觸點(diǎn)的狀態(tài)來(lái)進(jìn)行的。
梯形圖程序設(shè)計(jì)語(yǔ)言的特點(diǎn)是:
(1)與電氣操作原理圖相對(duì)應(yīng),具有直觀性和對(duì)應(yīng)性;
(2)與原有繼電器邏輯控制技術(shù)相一致,對(duì)電氣技術(shù)人員來(lái)說(shuō),易于撐握和學(xué)習(xí);
(3)與原有的繼電器邏輯控制技術(shù)的不同點(diǎn)是,梯形圖中的能流(Power Flow)不是實(shí)際意義的電流,內(nèi)部的繼電器也不是實(shí)際存在的繼電器,因此,應(yīng)用時(shí),需與原有繼電器邏輯控制技術(shù)的有關(guān)概念區(qū)別對(duì)待;
(4)與指令表程序設(shè)計(jì)語(yǔ)言有一一對(duì)應(yīng)關(guān)系,便于相互的轉(zhuǎn)換和程序的檢查。
功能塊圖
功能塊圖(FBD - Function Block Diagram)采用類似于數(shù)字邏輯門(mén)電路的圖形符號(hào),邏輯直觀,使用方便,它有梯形圖編程中的觸電和線圈等價(jià)的指令,可以解決范圍廣泛的邏輯問(wèn)題。功能塊圖程序設(shè)計(jì)語(yǔ)言有如下特點(diǎn):
(1)以功能模塊為單位,從控制功能入手,使控制方案的分析和理解變得容易;
(2)功能模塊是用圖形化的方法描述功能,它的直觀性大大方便了設(shè)計(jì)人員的編程和組態(tài),有較好的易操作性;
(3)對(duì)控制規(guī)模較大、控制關(guān)系較復(fù)錄的系統(tǒng),由于控制功能的關(guān)系可以較清楚地表達(dá)出來(lái),因此,編程和組態(tài)時(shí)間可以縮短,調(diào)試時(shí)間也能減少;
順序功能圖
順序功能圖(SFC - Sequential Function Chart)亦稱流程圖或狀態(tài)轉(zhuǎn)移圖,是一種圖形化的功能性說(shuō)明語(yǔ)言,專用于描述工業(yè)順序控制程序,使用它可以對(duì)具有并發(fā)、選擇等復(fù)雜結(jié)構(gòu)的系統(tǒng)進(jìn)行編程。順序功能圖程序設(shè)計(jì)語(yǔ)言有如下特點(diǎn):
(1)以功能為主線,條理清楚,便于對(duì)程序操作的理解和溝通;
(2)對(duì)大型的程序,可分工設(shè)計(jì),采用較為靈活的程序結(jié)構(gòu),可節(jié)省程序設(shè)計(jì)時(shí)間和調(diào)試時(shí)間;
(3)常用于系統(tǒng)的規(guī)模校大,程序關(guān)系較復(fù)雜的場(chǎng)合;
(4)只有在活動(dòng)步的命令和操作被執(zhí)行,對(duì)活動(dòng)步后的轉(zhuǎn)換進(jìn)行掃描,因此,整個(gè)程序的掃描時(shí)間較其他程序編制的程序掃描時(shí)間要大大縮短。
指令表
指令表(IL-Instruction List)編程語(yǔ)言類似于計(jì)算機(jī)中的助記符匯編語(yǔ)言,它是可編程控制器最基礎(chǔ)的編程語(yǔ)言,所謂指令表編程,是用一個(gè)或幾個(gè)容易記憶的字符來(lái)代表可編程控制器的某種操作功能。
指令表程序設(shè)計(jì)語(yǔ)言有如下特點(diǎn):
(1)采用助記符來(lái)表示操作功能,具有容易記憶,便于撐握的特點(diǎn);
(2)在編程器的鍵盤(pán)上采用助記符表示,具有便于操作的特點(diǎn),可在無(wú)計(jì)算機(jī)的場(chǎng)合進(jìn)行編程設(shè)計(jì);
(3)與梯形圖有一一對(duì)應(yīng)關(guān)系,其特點(diǎn)與梯形圖語(yǔ)言基本類同。
結(jié)構(gòu)化文本
結(jié)構(gòu)化文本(ST-Strutured Text)是一種高級(jí)的文本語(yǔ)言,可以用來(lái)描述功能,功能塊和程序的行為,還可以在順序功能流程圖中描述步、動(dòng)作和轉(zhuǎn)變的行為。結(jié)構(gòu)化文本語(yǔ)言表面上與 PASCAL語(yǔ)言很相似,但它是一個(gè)專門(mén)為工業(yè)控制應(yīng)用開(kāi)發(fā)的編程語(yǔ)言,具有很強(qiáng)的編程能力用于對(duì)變量賦值、回調(diào)功能和功能塊、創(chuàng)建表達(dá)式、編寫(xiě)條件語(yǔ)句和迭代程序等。結(jié)構(gòu)化文本程序設(shè)計(jì)語(yǔ)言有如下特點(diǎn):
(1)采用高級(jí)語(yǔ)言進(jìn)行編程,可以完成較復(fù)雜的控制運(yùn)算;
(2)需要有一定的計(jì)算機(jī)高級(jí)程序設(shè)計(jì)語(yǔ)言的知識(shí)和編程技巧,對(duì)編程人員的技能要求較高,普通電氣人員無(wú)法完成。
(3)直觀性和易操作性等性能較差;
(4)常被用于采用功能模塊等其他語(yǔ)言較難實(shí)現(xiàn)的一些控制功能的實(shí)施。
不是所有的PLC都支持所有的編程語(yǔ)言(如功能塊圖、順序功能圖就有很多低檔PLC不支持),而大型的PLC控制系統(tǒng)一般都支持這5種標(biāo)準(zhǔn)編程語(yǔ)言或類似的編程語(yǔ)言。還有一些標(biāo)準(zhǔn)以外的編程語(yǔ)言,它們雖然沒(méi)有被選擇進(jìn)標(biāo)準(zhǔn)語(yǔ)言中,但是它們是為了適合某些特殊場(chǎng)合的應(yīng)用而開(kāi)發(fā)的,在某些情況下,它們也許是較好的編程語(yǔ)言。比如D7-SYS的連續(xù)功能圖CFC就是專為大型連續(xù)工藝控制而開(kāi)發(fā),只要調(diào)用程序中的CFC功能塊就可以輕易實(shí)現(xiàn)象PID控制器、計(jì)數(shù)器、定位器、斜坡函數(shù)發(fā)生器等一系列特殊功能,而且不需要專門(mén)的編程知識(shí),只需要懂得圖形化處理和標(biāo)準(zhǔn)程序塊的使用,進(jìn)行簡(jiǎn)單的設(shè)置即可。
最后,咱們聊聊PLC編程的學(xué)習(xí)方法
1、學(xué)習(xí)PLC編程需要堅(jiān)強(qiáng)的毅力和足夠的耐心
人各有所長(zhǎng)。有些人把編程看作一項(xiàng)冗長(zhǎng)而枯燥的工作;有些人把編程看作一項(xiàng)趣味的智力游戲。如果你是前者,強(qiáng)烈建議你遠(yuǎn)離這份工作。畢竟編程工作是對(duì)人的毅力和耐心的挑戰(zhàn),編程需要經(jīng)歷無(wú)數(shù)次的試錯(cuò),調(diào)試-修改-調(diào)試-修改…經(jīng)過(guò)無(wú)數(shù)次失敗后,當(dāng)看到PLC按照自己的控制要求有條不紊的運(yùn)行時(shí),你將得到極大的成就感,這就如同打通了一個(gè)游戲的關(guān)口,那種感覺(jué)是一樣的。
2、學(xué)習(xí)PLC編程需要敢于實(shí)踐的信心
很多初學(xué)者往往是出于一種畏懼,擔(dān)心損壞設(shè)備,而不敢進(jìn)行實(shí)際操作。其實(shí)這些畏懼是沒(méi)有任何道理的,只要你仔細(xì)的閱讀手冊(cè),遵循標(biāo)準(zhǔn)的規(guī)范去接線實(shí)操的,都不會(huì)出什么問(wèn)題。不必?fù)?dān)心自己寫(xiě)的程序會(huì)有什么問(wèn)題,會(huì)影響PLC的正常工作,程序有沒(méi)有問(wèn)題,只有讓PLC運(yùn)行了才能發(fā)現(xiàn)。所以,要有敢于實(shí)踐的信心,大膽的實(shí)踐是PLC編程的必由之路。
3、編程需要有縝密的邏輯思維
編程本身就是一種邏輯思維過(guò)程。最初的PLC是用來(lái)替代繼電器邏輯電路的,所以繼承了繼電器電路以觸點(diǎn)作為觸發(fā)條件的描述方式。在PLC中,以虛擬觸點(diǎn)代替了繼電器觸點(diǎn),而繼電器電路所表達(dá)的邏輯關(guān)系還是被完整的保留下來(lái)。所以,要理順對(duì)象之間的邏輯關(guān)系,要有縝密的邏輯思維。
4、養(yǎng)成良好的編程習(xí)慣
每個(gè)人編程都會(huì)有不同的習(xí)慣和特點(diǎn),不能強(qiáng)求一致。但是一些好的習(xí)慣還是應(yīng)該為大多數(shù)人所遵循。一是理順邏輯關(guān)系、時(shí)序關(guān)系,編制程序框圖;二是合理分配主程序、子程序和中斷程序;三是合理分配寄存器,編制寄存器符號(hào)表。PLC的很多操作都是直接針對(duì)寄存器的,如果在程序中出現(xiàn)不合理的寄存器地址重疊,可能會(huì)造成程序錯(cuò)誤。編制寄存器符號(hào)表不僅可以避免上述問(wèn)題,而且可以使程序具備更好的可讀性。PLC提供了豐富的指令、模塊,初學(xué)者編程時(shí)應(yīng)盡量先使用簡(jiǎn)單的指令達(dá)到目的,這對(duì)你理解那些較為復(fù)雜的指令會(huì)有幫助,具備了一定經(jīng)驗(yàn)后,應(yīng)該考慮掌握復(fù)雜指令的應(yīng)用,以及程序的優(yōu)化。
5、有一定的程序設(shè)計(jì)基礎(chǔ)知識(shí)
有一定的程序設(shè)計(jì)基礎(chǔ)知識(shí),以及弄通有關(guān)PLC程序設(shè)計(jì)理論是重要的。沒(méi)有這方面的理論準(zhǔn)備或指導(dǎo),僅靠在實(shí)踐中摸索,簡(jiǎn)單的問(wèn)題還好辦,復(fù)雜的就不好辦了,不僅無(wú)從下手,而且花了很多時(shí)間與精力,也難編出質(zhì)量也較高的程序,常常是事倍功半。任何理論也都只是經(jīng)驗(yàn)的總結(jié),歸根到底也都是來(lái)自實(shí)踐。
-
繼電器
+關(guān)注
關(guān)注
132文章
5361瀏覽量
149398 -
plc
+關(guān)注
關(guān)注
5016文章
13383瀏覽量
464741 -
編程語(yǔ)言
+關(guān)注
關(guān)注
10文章
1949瀏覽量
34895
原文標(biāo)題:弄清這5種專用編程語(yǔ)言 才算是PLC入門(mén)了
文章出處:【微信號(hào):weixin21ic,微信公眾號(hào):21ic電子網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論