技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動(dòng)網(wǎng) > 技術(shù)頻道 > 應(yīng)用方案 > PLC 編程語言的設(shè)計(jì)與應(yīng)用

PLC 編程語言的設(shè)計(jì)與應(yīng)用

時(shí)間:2010-07-20 11:32:00來源:luonan

導(dǎo)語:?在PLC中有多種程序設(shè)計(jì)語言,如梯形圖語言、布爾助記符語言、功能表圖語言、功能模塊圖語言及結(jié)構(gòu)化語句描述語言等。

      1  引言
      在PLC中有多種程序設(shè)計(jì)語言,如梯形圖語言、布爾助記符語言、功能表圖語言、功能模塊圖語言及結(jié)構(gòu)化語句描述語言等。梯形圖語言和布爾助記符語言是基本程序設(shè)計(jì)語言,它通常由一系列指令組成,用這些指令可以完成大多數(shù)簡單的控制功能,例如,代替繼電器、計(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í)也常常被采用。由于它具有連接方便、操作簡單、易于掌握等特點(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ī)的場合進(jìn)行編程設(shè)計(jì);
·與梯形圖有一一對(duì)應(yīng)關(guān)系,其特點(diǎn)與梯形圖語言基本類同。

      (3) 功能表圖(Sepuential 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ù)雜的場合;
·只有在活動(dòng)步的命令和操作被執(zhí)行,對(duì)活動(dòng)步后的轉(zhuǎn)換進(jìn)行掃描,因此整個(gè)程序的掃描時(shí)間較其他程序編制的程序掃描時(shí)間要短得多。

      功能表圖來源于佩特利(Petri)網(wǎng),由于它具有圖形表達(dá)方式,能比較簡單清楚地描述并發(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)化語句(Structured 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é)構(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é)構(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ī)檢查
  [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
  SET 040.01   //開始設(shè)置標(biāo)志位1
  SET 040.10   //開始設(shè)置標(biāo)志位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è)置比例帶標(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è)置
  [STATEMENTLIST]
  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="differential"http://微分時(shí)間設(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è)置微分標(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="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è)置滯后值標(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è)置
  [STATEMENTLIST]
  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è)置
  [STATEMENTLIST]
  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"   //返回
  [STATEMENTLIST]
  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ā)生的幾率。

 

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:傳感器技術(shù)在機(jī)電一體化中的...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動(dòng)網(wǎng)(m.u63ivq3.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“中國傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺(tái)

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號(hào) | 營業(yè)執(zhí)照證書 | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)