【控制要求】假设某种产品共有 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指令即可。
|