PLC常用的編程語言有哪幾種?
plc編程語言
有梯形圖語言、指令表語言、功能模塊圖語言等。1、梯形圖語言是PLC程序設(shè)計(jì)中最常用的編程語言。CPU將物理輸入讀入內(nèi)存表,通常稱為“輸入表”。該表經(jīng)評(píng)估后在程序中使用。不同平臺(tái),使用不同類型的寄存器;在每個(gè)掃描周期,按照從左向右,從上到下的順序處理邏輯。
2、指令表編程語言是與匯編語言類似的一種助記符編程語言。設(shè)備干涉處理模塊。主要處理設(shè)備中各種氣缸或者電缸之間的干涉處理,防止它們之間出現(xiàn)相互碰撞的可能。比如氣缸A與氣缸B之間存在一個(gè)公共區(qū)域,兩個(gè)同時(shí)進(jìn)入公共區(qū)域則會(huì)發(fā)生碰撞,這時(shí)候兩者之間就要做防干涉處理。
3、功能模塊圖語言是與數(shù)字邏輯電路類似的一種PLC編程語言。PLC上的I/O模塊指示燈是否也點(diǎn)亮。在許多設(shè)備中,輸入和輸出信號(hào)通過端子與可編程控制器相連。有時(shí)端子的指示燈有信號(hào),但不能保證PLC上相應(yīng)的地址不會(huì)因?yàn)檫B接線開路而連接。
plc用什么語言編程
plc的編程語言有:
主要有以下5種編程語言:
1、梯形圖語言(LD)
梯形圖語言是PLC程序設(shè)計(jì)中最常用的編程語言。它是與繼電器線路類似的一種編程語言。由于電氣設(shè)計(jì)人員對(duì)繼電器控制較為熟悉,因此,梯形圖編程語言得到了廣泛的歡迎和應(yīng)用。
梯形圖編程語言的特點(diǎn)是:與電氣操作原理圖相對(duì)應(yīng),具有直觀性和對(duì)應(yīng)性;與原有繼電器控制相一致,電氣設(shè)計(jì)人員易于掌握。
梯形圖編程語言與原有的繼電器控制的不同點(diǎn)是,梯形圖中的能流不是實(shí)際意義的電流,內(nèi)部的繼電器也不是實(shí)際存在的繼電器,應(yīng)用時(shí),需要與原有繼電器控制的概念區(qū)別對(duì)待。
2、指令表語言(IL)
指令表編程語言是與匯編語言類似的一種助記符編程語言,和匯編語言一樣由操作碼和操作數(shù)組成。在無計(jì)算機(jī)的情況下,適合采用PLC手持編程器對(duì)用戶程序進(jìn)行編制。同時(shí),指令表編程語言與梯形圖編程語言圖一一對(duì)應(yīng),在PLC編程軟件下可以相互轉(zhuǎn)換。
指令表表編程語言的特點(diǎn)是:采用助記符來表示操作功能,具有容易記憶,便于掌握;在手持編程器的鍵盤上采用助記符表示,便于操作,可在無計(jì)算機(jī)的場(chǎng)合進(jìn)行編程設(shè)計(jì);與梯形圖有一一對(duì)應(yīng)關(guān)系。其特點(diǎn)與梯形圖語言基本一致。
3、功能模塊圖語言(FBD)
功能模塊圖語言是與數(shù)字邏輯電路類似的一種PLC編程語言。采用功能模塊圖的形式來表示模塊所具有的功能,不同的功能模塊有不同的功能。
功能模塊圖編程語言的特點(diǎn):功能模塊圖程序設(shè)計(jì)語言的特點(diǎn)是:以功能模塊為單位,分析理解控制方案簡(jiǎn)單容易;功能模塊是用圖形的形式表達(dá)功能,直觀性強(qiáng),對(duì)于具有數(shù)字邏輯電路基礎(chǔ)的設(shè)計(jì)人員很容易掌握的編程;對(duì)規(guī)模大、控制邏輯關(guān)系復(fù)雜的控制系統(tǒng),由于功能模塊圖能夠清楚表達(dá)功能關(guān)系,使編程調(diào)試時(shí)間大大減少。
4、 順序功能流程圖語言(SFC)
順序功能流程圖語言是為了滿足順序邏輯控制而設(shè)計(jì)的編程語言。編程時(shí)將順序流程動(dòng)作的過程分成步和轉(zhuǎn)換條件,根據(jù)轉(zhuǎn)移條件對(duì)控制系統(tǒng)的功能流程順序進(jìn)行分配,一步一步的按照順序動(dòng)作。每一步代表一個(gè)控制功能任務(wù),用方框表示。在方框內(nèi)含有用于完成相應(yīng)控制功能任務(wù)的梯形圖邏輯。這種編程語言使程序結(jié)構(gòu)清晰,易于閱讀及維護(hù),大大減輕編程的工作量,縮短編程和調(diào)試時(shí)間。用于系統(tǒng)的規(guī)模校大,程序關(guān)系較復(fù)雜的場(chǎng)合。
順序功能流程圖編程語言的特點(diǎn):以功能為主線,按照功能流程的順序分配,條理清楚,便于對(duì)用戶程序理解;避免梯形圖或其他語言不能順序動(dòng)作的缺陷,同時(shí)也避免了用梯形圖語言對(duì)順序動(dòng)作編程時(shí),由于機(jī)械互鎖造成用戶程序結(jié)構(gòu)復(fù)雜、難以理解的缺陷;用戶程序掃描時(shí)間也大大縮短。
5、結(jié)構(gòu)化文本語言(ST)
結(jié)構(gòu)化文本語言是用結(jié)構(gòu)化的描述文本來描述程序的一種編程語言。它是類似于高級(jí)語言的一種編程語言。在大中型的PLC系統(tǒng)中,常采用結(jié)構(gòu)化文本來描述控制系統(tǒng)中各個(gè)變量的關(guān)系。主要用于其他編程語言較難實(shí)現(xiàn)的用戶程序編制。
結(jié)構(gòu)化文本編程語言采用計(jì)算機(jī)的描述方式來描述系統(tǒng)中各種變量之間的各種運(yùn)算關(guān)系,完成所需的功能或操作。大多數(shù)PLC制造商采用的結(jié)構(gòu)化文本編程語言與BASIC語言、PASCAL語言或C
語言等高級(jí)語言相類似,但為了應(yīng)用方便,在語句的表達(dá)方法及語句的種類等方面都進(jìn)行了簡(jiǎn)化。結(jié)構(gòu)化文本編程語言的特點(diǎn):采用高級(jí)語言進(jìn)行編程,可以完成較復(fù)雜的控制運(yùn)算;需要有一定的計(jì)算機(jī)高級(jí)語言的知識(shí)和編程技巧,對(duì)工程設(shè)計(jì)人員要求較高。直觀性和操作性較差。
不同型號(hào)的PLC編程軟件對(duì)以上五種編程語言的支持種類是不同的,早期的PLC僅僅支持梯形圖編程語言和指令表編程語言。目前的PLC對(duì)梯形圖(LD)、指令表(STL)、功能模塊圖(FBD)編程語言都以支持。
PLC提供的編程語言簡(jiǎn)介
PLC的編程語言與一般計(jì)算機(jī)語言相比具有明顯的特點(diǎn),它既不同于一般高級(jí)語言,也不同于一般匯編語言,它既要易于編寫又要易于調(diào)試。目前,還沒有一種對(duì)各廠家產(chǎn)品都能兼容的編程語言。目前,
PLC為用戶提供了多種編程語言,以適應(yīng)編制用戶程序的需要,
PLC提供的編程語言通常有以下幾種:梯形圖、指令表、順序功能圖和功能塊圖1、梯形圖
梯形圖編程語言是從繼電器控制系統(tǒng)原理圖的基礎(chǔ)上演變而來的。
PLC的梯形圖與繼電器控制系統(tǒng)梯形圖的基本思想是一致的,但是在使用符號(hào)和表達(dá)式等方面有一定區(qū)別。
梯形圖具有形象、直觀、簡(jiǎn)單明了,易于理解的特點(diǎn),特別適合開關(guān)量邏輯控制,是PLC最基本、最普遍的編程語言。2、語句表(STL)
語句表是用助記符來表達(dá)PLC的各種功能。它類似計(jì)算機(jī)的匯編語言,但比匯編語言通俗易懂,也是較為廣泛應(yīng)用的一種編程語言。使用語句表編程時(shí),編程設(shè)備簡(jiǎn)單,邏輯緊湊、系統(tǒng)化,連接范圍不受限制,但比較抽象。一般可以與梯形圖互相轉(zhuǎn)化,互為補(bǔ)充。目前,大多數(shù)PLC都有語句表編程功能。3、順序功能圖(SFC)
順序功能圖編程是一種圖形化的編程方法,亦稱功能圖。它的編程方式采用畫工藝流程圖的方法編程,只要在每個(gè)工藝方框的輸入和輸出端,標(biāo)上特定的符號(hào)即可。采用順序功能圖編程,可以使具有并發(fā)、選擇等復(fù)雜結(jié)構(gòu)的系統(tǒng)控制程序大為簡(jiǎn)化。許多PLC都提供了用于SFC編程的指令,它是一種效果顯著、深受歡迎的編程語言,目前國(guó)際電工委員會(huì)(IEC)也正在實(shí)施并發(fā)展這種語言的編程標(biāo)準(zhǔn)。4、功能塊圖(FBD)
邏輯功能圖是一種由邏輯功能符號(hào)組成的功能塊來表達(dá)命令的圖形語言,這種編程語言基本上沿用了半導(dǎo)體邏輯電路的邏輯方塊圖。對(duì)每一種功能都使用一個(gè)運(yùn)算方塊,其運(yùn)算功能由方塊內(nèi)的符號(hào)確定。對(duì)于熟悉邏輯電路和具有邏輯代數(shù)基礎(chǔ)的人員來說,使用非常方便。
plc能用C語言編程嗎?
不能。每個(gè)PLC都有自己的編程語言,但用法基本上和C語言差不多。
PLC編程支持的語言包括五種:
1、梯形圖Delete(LD)
梯形圖語言是PLC程序設(shè)計(jì)中最常用的編程語言。它是與繼電器線路類似的一種編程語言。由于電氣設(shè)計(jì)人員對(duì)繼電器控制較為熟悉,因此,梯形圖編程語言得到了廣泛的歡迎和應(yīng)用。
2、指令表Delete(IL)
指令表編程語言是與匯編語言類似的一種助記符編程語言,和匯編語言一樣由操作碼和操作數(shù)組成。在無計(jì)算機(jī)的情況下,適合采用PLC手持編程器對(duì)用戶程序進(jìn)行編制。
3、功能模塊圖Delete(FBD)
功能模塊圖語言是與數(shù)字邏輯電路類似的一種PLC編程語言。采用功能模塊圖的形式來表示模塊所具有的功能,不同的功能模塊有不同的功能。
4、順序功能流程圖Delete(SFC)
順序功能流程圖語言是為了滿足順序邏輯控制而設(shè)計(jì)的編程語言。編程時(shí)將順序流程動(dòng)作的過程分成步和轉(zhuǎn)換條件,根據(jù)轉(zhuǎn)移條件對(duì)控制系統(tǒng)的功能流程順序進(jìn)行分配,一步一步的按照順序動(dòng)作。
5、結(jié)構(gòu)化文本Delete(ST)
結(jié)構(gòu)化文本語言是用結(jié)構(gòu)化的描述文本來描述程序的一種編程語言。它是類似于高級(jí)語言的一種編程語言。
擴(kuò)展資料
1、不同型號(hào)的PLC編程軟件對(duì)以上五種編程語言的支持種類是不同的,早期的PLC僅僅支持梯形圖編程語言和指令表編程語言。
2、目前的PLC對(duì)梯形圖(LD)、指令表(STL)、功能模塊圖(FBD)編程語言都以支持。
3、在PLC控制系統(tǒng)設(shè)計(jì)中,要求設(shè)計(jì)人員不但對(duì)PLC的硬件性能了解外,也要了解PLC對(duì)編程語言支持的種類。
參考資料來源:百度百科-可編程邏輯控制器
PLC的編程語言有哪些?
最常用的兩種編程語言,一是梯形圖,二是助記符語言表。
采用梯形圖編程,因?yàn)樗庇^易懂,但需要一臺(tái)個(gè)人計(jì)算機(jī)及相應(yīng)的編程軟件;采用助記符形式便于實(shí)驗(yàn),因?yàn)樗恍枰慌_(tái)簡(jiǎn)易編程器,而不必用昂貴的圖形編程器或計(jì)算機(jī)來編程。
五種標(biāo)準(zhǔn)化編程語言:順序功能圖(SFC)、梯形圖(LD)、功能模塊圖(FBD)三種圖形化語言和語句表(IL)、結(jié)構(gòu)文本(ST)兩種文本語言。
PLC編程是那種語言?
1.PLC編程語言 國(guó)際標(biāo)準(zhǔn) 劃分
1)梯形圖編程語言LD
2)指令表編程語言IL
3)順序功能圖編程語言SFC
4)結(jié)構(gòu)化文本編程語言ST
2.具體到某個(gè)品牌的PLC其編程語言和國(guó)際標(biāo)準(zhǔn)有一定的差異
例如西門子的PLC的編程語言有一下幾種
LD、SFC、FBD、STL、SCL 、C++
(專業(yè)從事 自動(dòng)化控制系統(tǒng) 電氣設(shè)計(jì)、編程、技術(shù)培訓(xùn))
西門子S7-200/s7-200SMART /s-300/s7-400/s7-1500(T)
觸摸屏,博圖WinCC)
西門子PLC的幾種編程語言
plc編程語言有梯形圖語言、指令表語言、功能模塊圖語言等。1、梯形圖語言是PLC程序設(shè)計(jì)中最常用的編程語言。CPU將物理輸入讀入內(nèi)存表,通常稱為“輸入表”。該表經(jīng)評(píng)估后在程序中使用。不同平臺(tái),使用不同類型的寄存器;在每個(gè)掃描周期,按照從左向右,從上到下的順序處理邏輯。
2、指令表編程語言是與匯編語言類似的一種助記符編程語言。設(shè)備干涉處理模塊。主要處理設(shè)備中各種氣缸或者電缸之間的干涉處理,防止它們之間出現(xiàn)相互碰撞的可能。比如氣缸A與氣缸B之間存在一個(gè)公共區(qū)域,兩個(gè)同時(shí)進(jìn)入公共區(qū)域則會(huì)發(fā)生碰撞,這時(shí)候兩者之間就要做防干涉處理。
3、功能模塊圖語言是與數(shù)字邏輯電路類似的一種PLC編程語言。PLC上的I/O模塊指示燈是否也點(diǎn)亮。在許多設(shè)備中,輸入和輸出信號(hào)通過端子與可編程控制器相連。有時(shí)端子的指示燈有信號(hào),但不能保證PLC上相應(yīng)的地址不會(huì)因?yàn)檫B接線開路而連接。
“plc”含有到少種編程語言的特點(diǎn)?
主要有以下5種編程語言:x0dx0a1、梯形圖語言(LD)x0dx0a 梯形圖語言是PLC程序設(shè)計(jì)中最常用的編程語言。它是與繼電器線路類似的一種編程語言。由于電氣設(shè)計(jì)人員對(duì)繼電器控制較為熟悉,因此,梯形圖編程語言得到了廣泛的歡迎和應(yīng)用。x0dx0a 梯形圖編程語言的特點(diǎn)是:與電氣操作原理圖相對(duì)應(yīng),具有直觀性和對(duì)應(yīng)性;與原有繼電器控制相一致,電氣設(shè)計(jì)人員易于掌握。x0dx0a 梯形圖編程語言與原有的繼電器控制的不同點(diǎn)是,梯形圖中的能流不是實(shí)際意義的電流,內(nèi)部的繼電器也不是實(shí)際存在的繼電器,應(yīng)用時(shí),需要與原有繼電器控制的概念區(qū)別對(duì)待。x0dx0a 2、指令表語言(IL)x0dx0a 指令表編程語言是與匯編語言類似的一種助記符編程語言,和匯編語言一樣由操作碼和操作數(shù)組成。在無計(jì)算機(jī)的情況下,適合采用PLC手持編程器對(duì)用戶程序進(jìn)行編制。同時(shí),指令表編程語言與梯形圖編程語言圖一一對(duì)應(yīng),在PLC編程軟件下可以相互轉(zhuǎn)換。x0dx0a 指令表表編程語言的特點(diǎn)是:采用助記符來表示操作功能,具有容易記憶,便于掌握;在手持編程器的鍵盤上采用助記符表示,便于操作,可在無計(jì)算機(jī)的場(chǎng)合進(jìn)行編程設(shè)計(jì);與梯形圖有一一對(duì)應(yīng)關(guān)系。其特點(diǎn)與梯形圖語言基本一致。x0dx0a 3、功能模塊圖語言(FBD)x0dx0a 功能模塊圖語言是與數(shù)字邏輯電路類似的一種PLC編程語言。采用功能模塊圖的形式來表示模塊所具有的功能,不同的功能模塊有不同的功能。x0dx0a 功能模塊圖編程語言的特點(diǎn):功能模塊圖程序設(shè)計(jì)語言的特點(diǎn)是:以功能模塊為單位,分析理解控制方案簡(jiǎn)單容易;功能模塊是用圖形的形式表達(dá)功能,直觀性強(qiáng),對(duì)于具有數(shù)字邏輯電路基礎(chǔ)的設(shè)計(jì)人員很容易掌握的編程;對(duì)規(guī)模大、控制邏輯關(guān)系復(fù)雜的控制系統(tǒng),由于功能模塊圖能夠清楚表達(dá)功能關(guān)系,使編程調(diào)試時(shí)間大大減少。x0dx0a 4、 順序功能流程圖語言(SFC)x0dx0a 順序功能流程圖語言是為了滿足順序邏輯控制而設(shè)計(jì)的編程語言。編程時(shí)將順序流程動(dòng)作的過程分成步和轉(zhuǎn)換條件,根據(jù)轉(zhuǎn)移條件對(duì)控制系統(tǒng)的功能流程順序進(jìn)行分配,一步一步的按照順序動(dòng)作。每一步代表一個(gè)控制功能任務(wù),用方框表示。在方框內(nèi)含有用于完成相應(yīng)控制功能任務(wù)的梯形圖邏輯。這種編程語言使程序結(jié)構(gòu)清晰,易于閱讀及維護(hù),大大減輕編程的工作量,縮短編程和調(diào)試時(shí)間。用于系統(tǒng)的規(guī)模校大,程序關(guān)系較復(fù)雜的場(chǎng)合。x0dx0a 順序功能流程圖編程語言的特點(diǎn):以功能為主線,按照功能流程的順序分配,條理清楚,便于對(duì)用戶程序理解;避免梯形圖或其他語言不能順序動(dòng)作的缺陷,同時(shí)也避免了用梯形圖語言對(duì)順序動(dòng)作編程時(shí),由于機(jī)械互鎖造成用戶程序結(jié)構(gòu)復(fù)雜、難以理解的缺陷;用戶程序掃描時(shí)間也大大縮短。x0dx0a 5、結(jié)構(gòu)化文本語言(ST)x0dx0a 結(jié)構(gòu)化文本語言是用結(jié)構(gòu)化的描述文本來描述程序的一種編程語言。它是類似于高級(jí)語言的一種編程語言。在大中型的PLC系統(tǒng)中,常采用結(jié)構(gòu)化文本來描述控制系統(tǒng)中各個(gè)變量的關(guān)系。主要用于其他編程語言較難實(shí)現(xiàn)的用戶程序編制。x0dx0a 結(jié)構(gòu)化文本編程語言采用計(jì)算機(jī)的描述方式來描述系統(tǒng)中各種變量之間的各種運(yùn)算關(guān)系,完成所需的功能或操作。大多數(shù)PLC制造商采用的結(jié)構(gòu)化文本編程語言與BASIC語言、PASCAL語言或Cx0dx0a語言等高級(jí)語言相類似,但為了應(yīng)用方便,在語句的表達(dá)方法及語句的種類等方面都進(jìn)行了簡(jiǎn)化。結(jié)構(gòu)化文本編程語言的特點(diǎn):采用高級(jí)語言進(jìn)行編程,可以完成較復(fù)雜的控制運(yùn)算;需要有一定的計(jì)算機(jī)高級(jí)語言的知識(shí)和編程技巧,對(duì)工程設(shè)計(jì)人員要求較高。直觀性和操作性較差。x0dx0a 不同型號(hào)的PLC編程軟件對(duì)以上五種編程語言的支持種類是不同的,早期的PLC僅僅支持梯形圖編程語言和指令表編程語言。目前的PLC對(duì)梯形圖(LD)、指令表(STL)、功能模塊圖(FBD)編程語言都以支持。
PLC用什么語言編程
1引言 在PLC中有多種程序設(shè)計(jì)語言,如梯形圖語言、布爾助記符語言、功能表圖語言、功能模塊圖語言及結(jié)構(gòu)化語句描述語言等。梯形圖語言和布爾助記符語言是基本程序設(shè)計(jì)語言,它通常由一系列指令組成,用這些指令可以完成大多數(shù)簡(jiǎn)單的控制功能,例如,代替繼電器、計(jì)數(shù)器、計(jì)時(shí)器完成順序控制和邏輯控制等。通過擴(kuò)展或增強(qiáng)指令集,它們也能執(zhí)行其它的基本操作。功能表圖語言和語句描述語言是高級(jí)的程序設(shè)計(jì)語言,它可根據(jù)需要去執(zhí)行更有效的操作,例如,模擬量的控制,數(shù)據(jù)的操縱,報(bào)表的報(bào)印和其他基本程序設(shè)計(jì)語言無法完成的功能。功能模塊圖語言采用功能模塊圖的形式,通過軟連接的方式完成所要求的控制功能,它不僅在PLC中得到了廣泛的應(yīng)用,在集散控制系統(tǒng)的編程和組態(tài)時(shí)也常常被采用。由于它具有連接方便、操作簡(jiǎn)單、易于掌握等特點(diǎn),為廣大工程設(shè)計(jì)和應(yīng)用人員所喜愛。 2 常用的程序設(shè)計(jì)語言分類
根據(jù)PLC應(yīng)用范圍,程序設(shè)計(jì)語言可以組合使用,常用的程序設(shè)計(jì)語言有以下幾種:
(1) 梯形圖(Ladder Diagram)程序設(shè)計(jì)語言
梯形圖程序設(shè)計(jì)語言是用梯形圖的圖形符號(hào)來描述程序的一種程序設(shè)計(jì)語言。采用梯形圖程序設(shè)計(jì)語言,這種程序設(shè)計(jì)語言采用因果關(guān)系來描述事件發(fā)生的條件和結(jié)果,每個(gè)梯級(jí)是一個(gè)因果關(guān)系。在梯級(jí)中,描述事件發(fā)生的條件表示在左面,事件發(fā)生的結(jié)果表示在右面。
梯形圖程序設(shè)計(jì)語言是最常用的一種程序設(shè)計(jì)語言,它來源于繼電器邏輯控制系統(tǒng)的描述。在工業(yè)過程控制領(lǐng)域,電氣技術(shù)人員對(duì)繼電器邏輯控制技術(shù)較為熟悉。因此,由這種邏輯控制技術(shù)發(fā)展而來的梯形圖受到歡迎,并得到廣泛的應(yīng)用。
梯形圖程序設(shè)計(jì)語言的特點(diǎn)是:
·與電氣操作原理圖相對(duì)應(yīng),具有直觀性和對(duì)應(yīng)性;
·與原有繼電器邏輯控制技術(shù)相一致,易于撐握和學(xué)習(xí);
·與原有的繼電器邏輯控制技術(shù)的不同點(diǎn)是:梯形圖中的能流(Power FLow)不是實(shí)際意義的電流,內(nèi)部的繼電器也不是實(shí)際存在的繼電器,因此應(yīng)用時(shí)需與原有繼電器邏輯控制技術(shù)的有關(guān)概念區(qū)別對(duì)待;
·與布爾助記符程序設(shè)計(jì)語言有一一對(duì)應(yīng)關(guān)系,便于相互轉(zhuǎn)換和程序檢查。
(2) 布爾助記符(Boolean Mnemonic)程序設(shè)計(jì)語言
布爾助記符程序設(shè)計(jì)語言是用布爾助記符來描述程序的一種程序設(shè)計(jì)語言。布爾助記符程序設(shè)計(jì)語言與計(jì)算機(jī)中的匯編語言非常相似,采用布爾助記符來表示操作功能。
布爾助記符程序設(shè)計(jì)語言具有下列特點(diǎn):
·采用助記符來表示操作功能,具有容易記憶,便于撐握的特點(diǎn);
·在編程器的鍵盤上采用助記符表示,具有便于操作的特點(diǎn),可在無計(jì)算機(jī)的場(chǎng)合進(jìn)行編程設(shè)計(jì);
·與梯形圖有一一對(duì)應(yīng)關(guān)系,其特點(diǎn)與梯形圖語言基本類同。
(3) 功能表圖( Function Chart)程序設(shè)計(jì)語言
功能表圖程序設(shè)計(jì)語言是用功能表圖來描述程序的一種程序設(shè)計(jì)語言。它是近年來發(fā)展起來的一種程序設(shè)計(jì)語言。采用功能表圖的描述,控制系統(tǒng)被分為若干個(gè)子系統(tǒng),從功能入手,使系統(tǒng)的操作具有明確的含義,便于設(shè)計(jì)人員和操作人員設(shè)計(jì)思想的溝通,便于程序的分工設(shè)計(jì)和檢查調(diào)試。功能表圖程序設(shè)計(jì)語言的特點(diǎn)是:
·以功能為主線,條理清楚,便于對(duì)程序操作的理解和溝通;
·對(duì)大型的程序,可分工設(shè)計(jì),采用較為靈活的程序結(jié)構(gòu),可節(jié)省程序設(shè)計(jì)、調(diào)試時(shí)間;
·常用于系統(tǒng)規(guī)模校大、程序關(guān)系較復(fù)雜的場(chǎng)合;
·只有在活動(dòng)步的命令和操作被執(zhí)行,對(duì)活動(dòng)步后的轉(zhuǎn)換進(jìn)行掃描,因此整個(gè)程序的掃描時(shí)間較其他程序編制的程序掃描時(shí)間要短得多。
功能表圖來源于佩特利(Petri)網(wǎng),由于它具有圖形表達(dá)方式,能比較簡(jiǎn)單清楚地描述并發(fā)系統(tǒng)和復(fù)雜系統(tǒng)的所有現(xiàn)象,并能對(duì)系統(tǒng)中存在的象死鎖、不安全等反?,F(xiàn)象進(jìn)行分析和建模,在模型的基礎(chǔ)上可以直接編程,因此得到了廣泛的應(yīng)用。近幾年推出的可編程控制器和小型集散控制系統(tǒng)中也已提供了采用功能表圖描述語言進(jìn)行編程的軟件。(4) 功能模塊圖(Function Block)程序設(shè)計(jì)語言
功能模塊圖程序設(shè)計(jì)語言是采用功能模塊來表示模塊所具有的功能,不同的功能模塊有不同的功能。它有若干個(gè)輸入端和輸出端,通過軟連接的方式,分別連接到所需的其它端子,完成所需的控制運(yùn)算或控制功能。功能模塊可以分為不同的類型,在同一種類型中,也可能因功能參數(shù)的不同而使功能或應(yīng)用范圍有所差別,例如,輸入端的數(shù)量、輸入信號(hào)的類型等的不同使它的使用范圍不同。由于采用軟連接的方式進(jìn)行功能模塊之間及功能模塊與外部端子的連接,因此控制方案的更改、信號(hào)連接的替換等操作可以很方便實(shí)現(xiàn)。功能模塊圖程序設(shè)計(jì)語言的特點(diǎn)是:
·以功能模塊為單位,從控制功能入手,使控制方案的分析和理解變得容易;
·功能模塊是用圖形化的方法描述功能,它的直觀性大大方便了設(shè)計(jì)人員的編程和組態(tài),有較好的易操作性;
·對(duì)控制規(guī)模較大、控制關(guān)系較復(fù)錄的系統(tǒng),由于控制功能的關(guān)系可以較清楚地表達(dá)出來,因此,編程和組態(tài)時(shí)間可以縮短,調(diào)試時(shí)間也能減少;
·由于每種功能模塊需要占用一定的程序內(nèi)存,對(duì)功能模塊的執(zhí)行需要一定的執(zhí)行時(shí)間,因此,這種設(shè)計(jì)語言在大中型PLC和集散控制系統(tǒng)的編程和組態(tài)中才被采用。
(5) 結(jié)構(gòu)化語句( Text)描述程序設(shè)計(jì)語言
結(jié)構(gòu)化語句描述程序設(shè)計(jì)語言是用結(jié)構(gòu)化的描述語句來描述程序的一種程序設(shè)計(jì)語言。它是一種類似于高級(jí)語言的程序設(shè)計(jì)語言。在大中型的可編程序控制器系統(tǒng)中,常采用結(jié)構(gòu)化語句描述程序設(shè)計(jì)語言來描述控制系統(tǒng)中各個(gè)變量的關(guān)系。它也被用于集散控制系統(tǒng)的編程和組態(tài)。
結(jié)構(gòu)化語句描述程序設(shè)計(jì)語言采用計(jì)算機(jī)的描述語句來描述系統(tǒng)中各種變量之間的運(yùn)算關(guān)系,完成所需的功能或操作。大多數(shù)制造廠商采用的語句描述程序設(shè)計(jì)語言與BASIC語言、PASCAL語言或C語言等高級(jí)語言相類似,但為了應(yīng)用方便,在語句的表達(dá)方法及語句的種類等方面都進(jìn)行了簡(jiǎn)化。
結(jié)構(gòu)化程序設(shè)計(jì)語言具有下列特點(diǎn):
·采用高級(jí)語言進(jìn)行編程,可以完成較復(fù)雜的控制運(yùn)算;
·需要有一定的計(jì)算機(jī)高級(jí)程序設(shè)計(jì)語言的知識(shí)和編程技巧,對(duì)編程人員的技能要求較高,普通電氣人員難以完成。
·直觀性和易操作性等較差;
·常被用于采用功能模塊等其他語言較難實(shí)現(xiàn)的一些控制功能的實(shí)施。
部分PLC的制造廠商為用戶提供了簡(jiǎn)單的結(jié)構(gòu)化程序設(shè)計(jì)語言,它與助記符程序設(shè)計(jì)語言相似,對(duì)程序的步數(shù)有一定的限制。同時(shí),提供了與PLC間的接口或通信連接程序的編制方式,為用戶的應(yīng)用程序提供了擴(kuò)展余地。 3 PLC程序設(shè)計(jì)語言應(yīng)用實(shí)例
溫度控制是許多機(jī)器的重要的構(gòu)成部分。它的功能是將溫度控制在所需要的溫度范圍內(nèi),然后進(jìn)行工件的加工與處理。PID控制系統(tǒng)是得到廣泛應(yīng)用的控制方法之一,下面較為詳盡地介紹了PID溫度控制的PLC程序設(shè)計(jì)實(shí)例。
(1) 系統(tǒng)組成
本套系統(tǒng)采用Omron的PLC與其溫控單元以及Pro-face的觸摸屏所組成。系統(tǒng)包括CQM1H-51、擴(kuò)展單元TC-101、GP577R以及探溫器、加熱/制冷單元。
(2) 觸摸屏參數(shù)設(shè)置
設(shè)002代表現(xiàn)在的溫度,而102表示輸出的溫度。如按下開始設(shè)置就可設(shè)置參數(shù)。需要設(shè)置的參數(shù)有6個(gè),分別是比例帶、積分時(shí)間、微分時(shí)間、滯后值、控制周期、偏移量。它們?cè)赑LC的地址與一些開關(guān)的地址如下:
比例帶 : DM51 積分時(shí)間 : DM52
微分時(shí)間 : DM53 滯后值 : DM54
控制周期 : DM55 偏移量 : DM56
數(shù)據(jù)刷新 : 22905
(3) PLC程序
002:PID的輸入字
102:PID的輸出字
[NETWORK]
Name="Action Check" //常規(guī)檢查
[]
LD 253.13 //常ON.
OUT TR0
CMP 002 #FFFF
//確定溫控單元是否完成初始化
AND NOT 255.06 //等于
OUT 041.15 //初始化完成
LD TR0
AND 041.15
OUT TR1
AND NOT 040.10
//不在參數(shù)設(shè)置狀態(tài)
MOV DM0050 102
//將設(shè)置溫度DM50傳送給PID輸出字
LD TR1
MOV 002 DM0057
//將002傳送到DM57
[NETWORK]
Name="Setting Start" //設(shè)置開始
[]
LD 253.13
OUT TR0
AND 229.05
//觸摸屏上的開始設(shè)置開關(guān)
DIFU 080.05 //設(shè)置微分
LD TR0
AND 041.15
AND 080.05
SET 040.01 //開始設(shè)置標(biāo)志位1
SET 040.10 //開始設(shè)置標(biāo)志位2
[NETWORK]
Name="Poportion" //比例帶設(shè)置
[]
LD 040.01
OUT TR0
AND NOT 042.01
MOV #C110 102
//讀輸出邊與輸入邊的比例帶
CMP 002 #C110
//比較輸入字是否變成C110
AND 255.06 //等于
SET 042.01 //設(shè)置比例帶標(biāo)志
LD TR0
AND 042.01
MOV DM0051 102
//將比例帶的設(shè)定值寫入輸出字
CMP 002 DM0051 //是否寫入
AND 255.06
SET 040.01 //復(fù)位標(biāo)志1
RSET 042.01 //復(fù)位比例帶標(biāo)志
SET 040.02 //向下繼續(xù)設(shè)置標(biāo)志
[NETWORK]
Name="Integral"http://積分時(shí)間設(shè)置
[]
LD 040.02
OUT TR0
AND NOT 042.02
MOV #C220 102
//讀輸出邊與輸入邊的積分
CMP 002 #C220
//比較輸入字是否變成C220
AND 255.06
SET 042.02 //設(shè)置積分標(biāo)志
LD TR0
AND 042.02
MOV DM0052 102
//將積分的設(shè)定值寫入輸出字
CMP 002 DM0052 //是否寫入
AND 255.06
RSET 040.02
RSET 042.02
SET 040.03 //向下繼續(xù)設(shè)置標(biāo)志
[NETWORK]
Name=""http://微分時(shí)間設(shè)置
[]
LD 040.03
OUT TR0
AND NOT 042.03
MOV #C330 102
//讀輸出邊與輸入邊的微分
CMP 002 #C330
//比較輸入字是否變成C330
AND 255.06
SET 042.03 //設(shè)置微分標(biāo)志
LD TR0
AND 042.03
MOV DM0053 102
//將微分的設(shè)定值寫入輸出字
CMP 002 DM0053 //是否寫入AND 255.06
RSET 040.03
RSET 042.03
SET 040.04 //向下繼續(xù)設(shè)置標(biāo)志
[NETWORK]
Name=""http://滯后值設(shè)置
[]
LD 040.04
OUT TR0
AND NOT 042.04
MOV #C440 102
//讀輸出邊與輸入邊的滯后值
CMP 002 #C440
//比較輸入字是否變成C440
AND 255.06
SET 042.04 //設(shè)置滯后值標(biāo)志
LD TR0
AND 042.04
MOV DM0054 102
//將滯后值的設(shè)定值寫入輸出字
CMP 002 DM0054 //是否寫入
AND 255.06
RSET 040.04
RSET 042.04
SET 040.05 //向下繼續(xù)設(shè)置標(biāo)志
[NETWORK]
Name="Period" //控制周期設(shè)置
[]
LD 040.05
OUT TR0
AND NOT 042.05
MOV #C550 102
//讀輸出邊與輸入邊的控制周期
CMP 002 #C550
//比較輸入字是否變成C550
AND 255.06
SET 042.05 //設(shè)置控制周期標(biāo)志
LD TR0
AND 042.05
MOV DM0055 102
//將控制周期的設(shè)定值寫入輸出字
CMP 002 DM0055 //是否寫入
AND 255.06
RSET 040.05
RSET 042.05
SET 040.06 //向下繼續(xù)設(shè)置標(biāo)志
[NETWORK]
Name="Shift" //偏移量設(shè)置
[]
LD 040.06
OUT TR0
AND NOT 042.06
MOV #C660 102
//讀輸出邊與輸入邊的偏移量
CMP 002 #C660
//比較輸入字是否變成C660
AND 255.06
SET 042.06 //設(shè)置偏移量標(biāo)志
LD TR0
AND 042.06
MOV DM0056 102
//將偏移量的設(shè)定值寫入輸出字
CMP 002 DM0056 //是否寫入
AND 255.06
RSET 040.06
RSET 042.06
SET 040.00
[NETWORK]
Name="Return" //返回
[]
OUT TR0
AND NOT 042.00
MOV #C070 102 //讀輸入邊的處理值
CMP 002 #C070 //比較輸入字變成C070
AND 255.06
SET 042.00 //返回標(biāo)志
LD TR0
AND 042.00
MOV DM0050 102
//將設(shè)定溫度值寫入輸出字
RSET 040.00
RSET 042.00
RSET 040.10 4 結(jié)束語
以上是PID溫度控制的PLC程序設(shè)計(jì)實(shí)例,經(jīng)過反復(fù)試驗(yàn),該系統(tǒng)可以維持溫度在1℃之間變化,保證了好的生產(chǎn)狀況,減少了不合格品發(fā)生的幾率。
PLC編程的語言類型
PLC的用戶程序,是設(shè)計(jì)人員根據(jù)控制系統(tǒng)的工藝控制要求,通過PLC編程語言的編制規(guī)范,按照實(shí)際需要使用的功能來設(shè)計(jì)的。只要用戶能夠掌握某種標(biāo)準(zhǔn)編程語言,就能夠使用PLC在控制系統(tǒng)中,實(shí)現(xiàn)各種自動(dòng)化控制功能。
根據(jù)國(guó)際電工委員會(huì)制定的工業(yè)控制編程語言標(biāo)準(zhǔn)(IEC1131-3),PLC有五種標(biāo)準(zhǔn)編程語言:梯形圖語言(LD)、指令表語言(IL)、功能模塊語言(FBD)、順序功能流程圖語言(SFC)、結(jié)構(gòu)文本化語言(ST)。這五標(biāo)準(zhǔn)編程語言,十分簡(jiǎn)單易學(xué)。 結(jié)構(gòu)化文本語言是用結(jié)構(gòu)化的描述文本來描述程序的一種編程語言。它是類似于高級(jí)語言的一種編程語言。在大中型的PLC系統(tǒng)中,常采用結(jié)構(gòu)化文本來描述控制系統(tǒng)中各個(gè)變量的關(guān)系。主要用于其他編程語言較難實(shí)現(xiàn)的用戶程序編制。
結(jié)構(gòu)化文本編程語言采用計(jì)算機(jī)的描述方式來描述系統(tǒng)中各種變量之間的各種運(yùn)算關(guān)系,完成所需的功能或操作。大多數(shù)PLC制造商采用的結(jié)構(gòu)化文本編程語言與BASIC語言、PASCAL語言或C語言等高級(jí)語言相類似,但為了應(yīng)用方便,在語句的表達(dá)方法及語句的種類等方面都進(jìn)行了簡(jiǎn)化?!〗Y(jié)構(gòu)化文本編程語言的特點(diǎn):采用高級(jí)語言進(jìn)行編程,可以完成較復(fù)雜的控制運(yùn)算;需要有一定的計(jì)算機(jī)高級(jí)語言的知識(shí)和編程技巧,對(duì)工程設(shè)計(jì)人員要求較高。直觀性和操作性較差。