當前位置:機電之家首頁 >> PLC技術(shù)>> plc應(yīng)用 >> 歐姆龍plc應(yīng)用 >> 歐姆龍PLC 編程語言的設(shè)計
歐姆龍PLC 編程語言的設(shè)計

1 引言
在PLC中有多種程序設(shè)計語言,如梯形圖語言、布爾助記符語言、功能表圖語言、功能模塊圖語言及結(jié)構(gòu)化語句描述語言等。梯形圖語言和布爾助記符語言是基本程序設(shè)計語言,它通常由一系列指令組成,用這些指令可以完成大多數(shù)簡單的控制功能,例如,代替繼電器、計數(shù)器、計時器完成順序控制和邏輯控制等。通過擴展或增強指令集,它們也能執(zhí)行其它的基本操作。功能表圖語言和語句描述語言是高級的程序設(shè)計語言,它可根據(jù)需要去執(zhí)行更有效的操作,例如,模擬量的控制,數(shù)據(jù)的操縱,報表的報印和其他基本程序設(shè)計語言無法完成的功能。功能模塊圖語言采用功能模塊圖的形式,通過軟連接的方式完成所要求的控制功能,它不僅在PLC中得到了廣泛的應(yīng)用,在集散控制系統(tǒng)的編程和組態(tài)時也常常被采用。由于它具有連接方便、操作簡單、易于掌握等特點,為廣大工程設(shè)計和應(yīng)用人員所喜愛。

2 常用的程序設(shè)計語言分類
根據(jù)PLC應(yīng)用范圍,程序設(shè)計語言可以組合使用,常用的程序設(shè)計語言有以下幾種:
(1) 梯形圖(Ladder Diagram)程序設(shè)計語言
梯形圖程序設(shè)計語言是用梯形圖的圖形符號來描述程序的一種程序設(shè)計語言。采用梯形圖程序設(shè)計語言,這種程序設(shè)計語言采用因果關(guān)系來描述事件發(fā)生的條件和結(jié)果,每個梯級是一個因果關(guān)系。在梯級中,描述事件發(fā)生的條件表示在左面,事件發(fā)生的結(jié)果表示在右面。
梯形圖程序設(shè)計語言是最常用的一種程序設(shè)計語言,它來源于繼電器邏輯控制系統(tǒng)的描述。在工業(yè)過程控制領(lǐng)域,電氣技術(shù)人員對繼電器邏輯控制技術(shù)較為熟悉。因此,由這種邏輯控制技術(shù)發(fā)展而來的梯形圖受到歡迎,并得到廣泛的應(yīng)用。
梯形圖程序設(shè)計語言的特點是:
·與電氣操作原理圖相對應(yīng),具有直觀性和對應(yīng)性;
·與原有繼電器邏輯控制技術(shù)相一致,易于撐握和學習;
·與原有的繼電器邏輯控制技術(shù)的不同點是:梯形圖中的能流(Power FLow)不是實際意義的電流,內(nèi)部的繼電器也不是實際存在的繼電器,因此應(yīng)用時需與原有繼電器邏輯控制技術(shù)的有關(guān)概念區(qū)別對待;
·與布爾助記符程序設(shè)計語言有一一對應(yīng)關(guān)系,便于相互轉(zhuǎn)換和程序檢查。
(2) 布爾助記符(Boolean Mnemonic)程序設(shè)計語言
布爾助記符程序設(shè)計語言是用布爾助記符來描述程序的一種程序設(shè)計語言。布爾助記符程序設(shè)計語言與計算機中的匯編語言非常相似,采用布爾助記符來表示操作功能。
布爾助記符程序設(shè)計語言具有下列特點:
·采用助記符來表示操作功能,具有容易記憶,便于撐握的特點;
·在編程器的鍵盤上采用助記符表示,具有便于操作的特點,可在無計算機的場合進行編程設(shè)計;
·與梯形圖有一一對應(yīng)關(guān)系,其特點與梯形圖語言基本類同。
(3) 功能表圖(Sepuential Function Chart)程序設(shè)計語言
功能表圖程序設(shè)計語言是用功能表圖來描述程序的一種程序設(shè)計語言。它是近年來發(fā)展起來的一種程序設(shè)計語言。采用功能表圖的描述,控制系統(tǒng)被分為若干個子系統(tǒng),從功能入手,使系統(tǒng)的操作具有明確的含義,便于設(shè)計人員和操作人員設(shè)計思想的溝通,便于程序的分工設(shè)計和檢查調(diào)試。功能表圖程序設(shè)計語言的特點是:
·以功能為主線,條理清楚,便于對程序操作的理解和溝通;
·對大型的程序,可分工設(shè)計,采用較為靈活的程序結(jié)構(gòu),可節(jié)省程序設(shè)計、調(diào)試時間;
·常用于系統(tǒng)規(guī)模校大、程序關(guān)系較復(fù)雜的場合;
·只有在活動步的命令和操作被執(zhí)行,對活動步后的轉(zhuǎn)換進行掃描,因此整個程序的掃描時間較其他程序編制的程序掃描時間要短得多。

功能表圖來源于佩特利(Petri)網(wǎng),由于它具有圖形表達方式,能比較簡單清楚地描述并發(fā)系統(tǒng)和復(fù)雜系統(tǒng)的所有現(xiàn)象,并能對系統(tǒng)中存在的象死鎖、不安全等反?,F(xiàn)象進行分析和建模,在模型的基礎(chǔ)上可以直接編程,因此得到了廣泛的應(yīng)用。近幾年推出的可編程控制器和小型集散控制系統(tǒng)中也已提供了采用功能表圖描述語言進行編程的軟件。

(4) 功能模塊圖(Function Block)程序設(shè)計語言
功能模塊圖程序設(shè)計語言是采用功能模塊來表示模塊所具有的功能,不同的功能模塊有不同的功能。它有若干個輸入端和輸出端,通過軟連接的方式,分別連接到所需的其它端子,完成所需的控制運算或控制功能。功能模塊可以分為不同的類型,在同一種類型中,也可能因功能參數(shù)的不同而使功能或應(yīng)用范圍有所差別,例如,輸入端的數(shù)量、輸入信號的類型等的不同使它的使用范圍不同。由于采用軟連接的方式進行功能模塊之間及功能模塊與外部端子的連接,因此控制方案的更改、信號連接的替換等操作可以很方便實現(xiàn)。功能模塊圖程序設(shè)計語言的特點是:
·以功能模塊為單位,從控制功能入手,使控制方案的分析和理解變得容易;
·功能模塊是用圖形化的方法描述功能,它的直觀性大大方便了設(shè)計人員的編程和組態(tài),有較好的易操作性;
·對控制規(guī)模較大、控制關(guān)系較復(fù)錄的系統(tǒng),由于控制功能的關(guān)系可以較清楚地表達出來,因此,編程和組態(tài)時間可以縮短,調(diào)試時間也能減少;
·由于每種功能模塊需要占用一定的程序內(nèi)存,對功能模塊的執(zhí)行需要一定的執(zhí)行時間,因此,這種設(shè)計語言在大中型PLC和集散控制系統(tǒng)的編程和組態(tài)中才被采用。

(5) 結(jié)構(gòu)化語句(Structured Text)描述程序設(shè)計語言
結(jié)構(gòu)化語句描述程序設(shè)計語言是用結(jié)構(gòu)化的描述語句來描述程序的一種程序設(shè)計語言。它是一種類似于高級語言的程序設(shè)計語言。在大中型的可編程序控制器系統(tǒng)中,常采用結(jié)構(gòu)化語句描述程序設(shè)計語言來描述控制系統(tǒng)中各個變量的關(guān)系。它也被用于集散控制系統(tǒng)的編程和組態(tài)。
結(jié)構(gòu)化語句描述程序設(shè)計語言采用計算機的描述語句來描述系統(tǒng)中各種變量之間的運算關(guān)系,完成所需的功能或操作。大多數(shù)制造廠商采用的語句描述程序設(shè)計語言與BASIC語言、PASCAL語言或C語言等高級語言相類似,但為了應(yīng)用方便,在語句的表達方法及語句的種類等方面都進行了簡化。

結(jié)構(gòu)化程序設(shè)計語言具有下列特點:
·采用高級語言進行編程,可以完成較復(fù)雜的控制運算;
·需要有一定的計算機高級程序設(shè)計語言的知識和編程技巧,對編程人員的技能要求較高,普通電氣人員難以完成。
·直觀性和易操作性等較差;
·常被用于采用功能模塊等其他語言較難實現(xiàn)的一些控制功能的實施。

部分PLC的制造廠商為用戶提供了簡單的結(jié)構(gòu)化程序設(shè)計語言,它與助記符程序設(shè)計語言相似,對程序的步數(shù)有一定的限制。同時,提供了與PLC間的接口或通信連接程序的編制方式,為用戶的應(yīng)用程序提供了擴展余地。

3 PLC程序設(shè)計語言應(yīng)用實例
溫度控制是許多機器的重要的構(gòu)成部分。它的功能是將溫度控制在所需要的溫度范圍內(nèi),然后進行工件的加工與處理。PID控制系統(tǒng)是得到廣泛應(yīng)用的控制方法之一,下面較為詳盡地介紹了PID溫度控制的PLC程序設(shè)計實例。
(1) 系統(tǒng)組成

[NextPage]
本套系統(tǒng)采用Omron的PLC與其溫控單元以及Pro-face的觸摸屏所組成。系統(tǒng)包括CQM1H-51、擴展單元TC-101、GP577R以及探溫器、加熱/制冷單元。

(2) 觸摸屏參數(shù)設(shè)置
設(shè)002代表現(xiàn)在的溫度,而102表示輸出的溫度。如按下開始設(shè)置就可設(shè)置參數(shù)。需要設(shè)置的參數(shù)有6個,分別是比例帶、積分時間、微分時間、滯后值、控制周期、偏移量。它們在PLC的地址與一些開關(guān)的地址如下:
比例帶 : DM51 積分時間 : DM52
微分時間 : DM53 滯后值 : DM54
控制周期 : DM55 偏移量 : DM56
數(shù)據(jù)刷新 : 22905

(3) PLC程序
002:PID的輸入字
102:PID的輸出字
[NETWORK]
Name="bbbbbb Check" //常規(guī)檢查
[STATEMENTLIST]
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è)置開始
[STATEMENTLIST]
LD 253.13
OUT TR0
AND 229.05
//觸摸屏上的開始設(shè)置開關(guān)
DIFU 080.05 //設(shè)置微分
LD TR0
AND 041.15
AND 080.05

[NextPage]
SET 040.01 //開始設(shè)置標志位1
SET 040.10 //開始設(shè)置標志位2

[NETWORK]
Name="Poportion" //比例帶設(shè)置
[STATEMENTLIST]
LD 040.01
OUT TR0
AND NOT 042.01
MOV #C110 102
//讀輸出邊與輸入邊的比例帶
CMP 002 #C110
//比較輸入字是否變成C110
AND 255.06 //等于
SET 042.01 //設(shè)置比例帶標志
LD TR0
AND 042.01
MOV DM0051 102
//將比例帶的設(shè)定值寫入輸出字
CMP 002 DM0051 //是否寫入
AND 255.06
SET 040.01 //復(fù)位標志1
RSET 042.01 //復(fù)位比例帶標志
SET 040.02 //向下繼續(xù)設(shè)置標志

[NETWORK]
Name="Integral"http://積分時間設(shè)置
[STATEMENTLIST]
LD 040.02
OUT TR0
AND NOT 042.02
MOV #C220 102
//讀輸出邊與輸入邊的積分
CMP 002 #C220
//比較輸入字是否變成C220
AND 255.06
SET 042.02 //設(shè)置積分標志
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è)置標志

[NETWORK]
Name="differential"http://微分時間設(shè)置
[STATEMENTLIST]
LD 040.03
OUT TR0
AND NOT 042.03
MOV #C330 102
//讀輸出邊與輸入邊的微分
CMP 002 #C330
//比較輸入字是否變成C330
AND 255.06
SET 042.03 //設(shè)置微分標志
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è)置標志

[NETWORK]
Name="Hysteresis"http://滯后值設(shè)置
[STATEMENTLIST]
LD 040.04
OUT TR0
AND NOT 042.04
MOV #C440 102
//讀輸出邊與輸入邊的滯后值
CMP 002 #C440
//比較輸入字是否變成C440
AND 255.06
SET 042.04 //設(shè)置滯后值標志
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è)置標志

[NETWORK]
Name="Period" //控制周期設(shè)置

[NextPage]
[STATEMENTLIST]
LD 040.05
OUT TR0
AND NOT 042.05
MOV #C550 102
//讀輸出邊與輸入邊的控制周期
CMP 002 #C550
//比較輸入字是否變成C550
AND 255.06
SET 042.05 //設(shè)置控制周期標志
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è)置標志

[NETWORK]
Name="Shift" //偏移量設(shè)置
[STATEMENTLIST]
LD 040.06
OUT TR0
AND NOT 042.06
MOV #C660 102
//讀輸出邊與輸入邊的偏移量
CMP 002 #C660
//比較輸入字是否變成C660
AND 255.06
SET 042.06 //設(shè)置偏移量標志
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" //返回
[STATEMENTLIST]
OUT TR0
AND NOT 042.00
MOV #C070 102 //讀輸入邊的處理值
CMP 002 #C070 //比較輸入字變成C070
AND 255.06
SET 042.00 //返回標志
LD TR0
AND 042.00
MOV DM0050 102
//將設(shè)定溫度值寫入輸出字
RSET 040.00
RSET 042.00
RSET 040.10

4 結(jié)束語
以上是PID溫度控制的PLC程序設(shè)計實例,經(jīng)過反復(fù)試驗,該系統(tǒng)可以維持溫度在1℃之間變化,保證了好的生產(chǎn)狀況,減少了不合格品發(fā)生的幾率。


作者:未知 點擊:2226次 [打印] [關(guān)閉] [返回頂部]
本文標簽:歐姆龍PLC 編程語言的設(shè)計
* 由于無法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報酬未能及時支付,在此深表歉意,請《歐姆龍PLC 編程語言的設(shè)計》相關(guān)權(quán)利人與機電之家網(wǎng)取得聯(lián)系。
電子樣本

富林泰克產(chǎn)品系列j電子樣
:胡先生
:13736436955
:嘉興市科力電子有限公司
個人求購

朱女士 【求購】  安全開關(guān)  2024-10-21
劉波 【求購】  鉆孔測斜儀  2024-10-21
 【求購】  攪拌機  2024-10-21
王燈旺 【求購】  半干反應(yīng)塔  2024-10-21
徐先生 【求購】  磁性分離器  2024-10-18
王有生 【求購】  減速電機  2024-10-18
李協(xié)議 【求購】  宣傳欄  2024-10-18
鄧志偉 【求購】  壓力顯示儀  2024-10-18
VIP公司推薦