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