【控制要求】假設某種產品共有 3種型號,對應 3組配方參數,每個配方包含 10種參數,選擇相應的配方組別開關,則加工時以該配方參數作為當前加工執行的配方參數。
【元件說明】
PLC 元件
|
元件說明
|
X0
|
第一組配方數據開關
|
X1
|
第二組配方數據開關
|
X2
|
第三組配方數據開關
|
D500-D509
|
第一組配方數據
|
D510-D519
|
第二組配方數據
|
D520-D529
|
第三組配方數據
|
D0-D9
|
當前執行的配方數據
|
P0
|
指針緩存器
|
P1
|
指針緩存器
|
【控制程序】【程序說明】
-
本例的關鍵是利用 P0、P1指針緩存器配合 FOR~ NEXT循環來實現 D編號的變化,將存放配方參數的其中一組寄存器傳送到 D0~D9,作為當前執行的配方參數。
-
當選擇其中一組配方參數時, X0、X1、X2其中一個將變為 ON,P0的值將分別對應為 500、510、520, DP0將分別代表 D500、D510、D520,同時 [RST M1]指令執行, M1復位變為OFF,RST P1指令和 FOR~NEXT循環將被執行,因 P1被復位變為 0,DP1代表D0。
-
FOR ~NEXT循環執行次數為 10次,假設選擇的是第一組配方,則 DP0將從D500~D509變化,DP1將從D0~D9變化,實現第一組配方參數數據的調用。
-
假設選擇的是第一組配方,執行第 1次循環時, D500的值將被傳送到 D0,執行第 2次循環時, D501的值將被傳送到 D1……,依此類推,執行第 10次循環時, D509的值將被傳送到 D9中。
-
當循環次數到達時,即 P1=10,[SET M1]指令將被執行, M1被置位變為 ON,FOR~NEXT循環中的指令因M1的常閉接點斷開而停止執行。
-
10個參數的 3組配方數據的傳送,通過改變 FOR~NEXT循環的次數,很容易改變配方中參數個數,而要增加配方的組數,可在程序中增加一條將存放配方數據 D的起始編號值 “MOV”到 P0的MOV指令即可。
|