示例说明:
一个简易保安系统,在规定次数(如5次)的范围内,若密码不正确将启动报警系统,并关闭安全通道。若规定的次数内密码正确,进入密级操作。
流程示意图:
梯形图:
二、功能指令
下面功能指令中的操作数符号表示方法及解释。
:表示数据源。内容不随指令执行而变化的操作数称为源。
在可变址修改软元件编号的情况下,加上“·”符号的表示。源的数量多时,以、等表示。
:表示目标操作数。内容随指令执行而改变的操作数被称作目标。
可作变址修饰时,加上“·”符号的表示.
在目标数量多时,以、等表示。
:以或表示既不做源,也不做目标的操作数。
这样的操作数数量很多时,以、、、等表示。
可用作操作数的软元件
A、X,Y,M,S等位元件。
B、位元件组合。以KnX,KnY,KnM,KnS等形式表示,作为数值处理。
C、数据寄存器D、定时器T的当前值寄存器、计数器C的当前值寄存器。
l数据寄存器D为16位,在处理32位数据时使用一对数据寄存器的组合。
例如,将数据寄存器D0指定为32位指令的操作数时,处理(D1,D0)32位数据(D1为高16位,D0为低16位)。
lT、C的当前值寄存器也可作为一般寄存器处理。
1、程序流程
分类
指令助记符
功能
页码
程
序
流
程
CJ
条件跳转
CALL
子程序调用
SRET
子程序返回
FEND
主程序结束
FOR
循环范围开始
NEXT
循环范围结束
A、CJCALL指针编号可作变址修改;嵌套最多可为5层;对子程序返回无适用软元件。
B、.当程序使用多个FEND指令时,子程序请在最后的FEND指令与END指令之间编写,
FOR~NEXT嵌套最多5层。
2、比较指令[CMP]
适用软元件
·字软元件(S1·、S2·)K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z
·位软元件(D·)Y、M、S
l上图示例是D0的内容与常数100进行比较,大小比较是按代数形式进行的(-80);
l所有数据都以2进制值处理;
l当D0100,M0“ON”,当D0=100,M1“ON”,当D0100,M2“ON”;
l目标地址指定M0,则M1、M2被自动占用;
l当X001“OFF”时,M0、M1、M2仍保持以前状态。如当D0的内容为50,则50100,M2“ON”,M0、M1都“OFF”,X001“OFF”时,M2仍“ON”。
指令不执行时,想要清除比较结果,可使用复位指令。
3、传送指令[MOV]
适用软元件
·字软元件(S·)K、H、KnY、KnM、KnS、T、C、D、V,Z
·字软元件(D·)KnY、KnM、KnS、T、C、D、V,Z
功能和动作使数据原样传送的指令。
l将源(S·)的内容向目标(D·)传送,X003“OFF”时,目标(D·)的内容不变化;
4、反向传送[CML]
适用软元件
·字软元件(S·)K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z
·字软元件(D·)KnY、KnM、KnS、T、C、D、V,Z
功能和动作将数据反向传送的指令
l将D0的内容每位取反(0取反为1,1取反为0)后,传送到目标地址,常数K被自动转换成2进制。如:
D10
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
符号位(0=正数,1=负数)
0
1
0
1
0
1
0
1
Y17Y16Y15Y14Y13Y12Y11Y10Y7Y6Y5Y4Y3Y2Y1Y0
无变化反向数据被传送
5、加法运算[ADD]
适用软元件
·字软元件(S1·、S2·)K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z
·字软元件(D·)KnY、KnM、KnS、T、C、D、V,Z
标志位
零
M8020
借位
M8021
进位
M8022
功能和动作
l两个源数据进行加法后传送到目标处,各数据的最高位是符号位(正数为0,负数为1),数据以代数形式进行加法运算(8+(-8)=0)。
l运算结果为0时,0标志位M8020动作;运算结果超出32767(16位运算)或2147483647(32位运算)时,进位标志位M8022动作;运算结果小于-32768(16位运算)或-2147483648(32位运算)时,借位标志位M8021动作;
l进行32位运算时,字软元件的低16位侧的软元件被指定,紧接着上述软元件编号后的软元件作为高位,为了防止编号重复,建议将软元件指定为偶数编号。
l对于脉冲型指令,每出现一次OFF到ON的变化,操作数做一次运算。
l可以将源(S·)和目标(D·)指定为相同的软元件编号。这种情况下,如使用连续执行型指令(ADD、DADD),则每个扫描周期加一次,请务必注意。
6、减法运算[SUB]
适用软元件
·字软元件(S1·、S2·)K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z
·字软元件(D·)KnY、KnM、KnS、T、C、D、V,Z
标志位
零
M8020
借位
M8021
进位
M8022
功能和动作
l(S1·)指定的内容和(S2·)指定的内容相减,结果存入(D·)指定的软元件中。(8-(-8)=16)。
l各种标志位的动作,32位运算软元件的指定方法,连续型和脉冲型的差异等都跟ADD指令相同。
7、乘法运算[MUL]
适用软元件
·字软元件(S1·、S2·)K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z
·字软元件(D·)KnY、KnM、KnS、T、C、D、V,Z
功能和动作
BINBINBIN
(D0)×(D2)(D5,D4)
16位16位32位
l各源指定的软元件内容的乘积,以32位数据形式存入目标地址指定的软元件(低位)和紧接其后的软元件(高位)中,如(D0)=125,(D2)=8,则(D5,D4)=1000;
l结果的最高位是符号位,0为正,1为负;
l(D·)是位元件时,可以进行K1∽K8的位指定。指定为K4时,只能求得乘积运算的低16位。
8、除法运算[DIV]
适用软元件
·字软元件(S1·、S2·)K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z
·字软元件(D·)KnY、KnM、KnS、T、C、D、V,Z
功能和动作
被除数除数商余数
BINBINBINBIN
(D0)÷(D2)(D4)···(D5)
16位16位16位16位
9、增1[INC]
适用软元件
·字软元件(D·)KnY、KnM、KnS、T、C、D、V,Z
功能和动作
(D0)+1(D0)
lX000每置“ON”一次,D0的内容增1,在连续执行指令中,每个扫描周期执行加1运算,所以务必引起注意;
l16位运算时,如果32767加1变为-32768,标志位不动作
10、减1[DEC]
适用软元件
·字软元件(D·)KnY、KnM、KnS、T、C、D、V,Z
功能和动作
(D0)—1(D0)
X001每置“ON”一次,D0的内容减1,在连续执行指令中,每个扫描周期执行减1运算,所以务必引起注意;
l–32768或-2147483648减1变为32767或2147483647,标志位不动作
11、逻辑与[WAND]
适用软元件
·字软元件(S1·、S2·)K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z
·字软元件(D·)KnY、KnM、KnS、T、C、D、V,Z
(D0)∧(D2)(D4)
l对各位进行逻辑与运算。
1∧1=10∧1=0
1∧0=00∧0=0
12、逻辑或[WOR]
(D0)∨(D2)(D4)
l对各位进行逻辑或运算。
1∨1=10∨1=1
1∨0=10∨0=0
13、逻辑异或[WXOR]
(D0)((D2)(D4)
l对各位进行逻辑异或运算;
1(1=00(1=1
1(0=10(0=0
l如果将这个指令与CML组合使用,将进行异或非运算。
求补[NEG]
适用软元件
·字软元件(D·)KnY、KnM、KnS、T、C、D、V,Z
(D10)+1(D10)
l将(D·)指定的软元件内容中各位先取反(0变1,1变0),然后再加1,将其结果存入原先的软元件中;
使用连续执行指令则在每一个扫描周期执行一次,务必引起注意。
14、触点比较指令
适用软元件
·字软元件(S1·、S2·)K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z
接点比较指令[LD※]
※表示:=、、、、≦、≧。
指令
导通条件
非导通条件
LD=
(S1·)=(S2·)
(S1·)≠(S2·)
LD
(S1·)(S2·)
(S1·)≦(S2·)
LD
(S1·)(S2·)
(S1·)≧(S2·)
LD
(S1·)≠(S2·)
(S1·)=(S2·)
LD≦
(S1·)≦(S2·)
(S1·)(S2·)
LD≧
(S1·)≧(S2·)
(S1·)(S2·)
l当计数器C0的当前值为100时,驱动。
l当D0的内容大于-100,且X000处于“ON”时,驱动Y1。
接点比较指令[AND※]
16指令
导通条件
非导通条件
AND=
(S1·)=(S2·)
(S1·)≠(S2·)
AND
(S1·)(S2·)
(S1·)≦(S2·)
AND
(S1·)(S2·)
(S1·)≧(S2·)
AND
(S1·)≠(S2·)
(S1·)=(S2·)
AND≦
(S1·)≦(S2·)
(S1·)(S2·)
AND≧
(S1·)≧(S2·)
(S1·)(S2·)
l当X000处于“ON”时,且计数器C10的当前值等于100时,驱动Y3。
l当X001处于“ON”时,且D0的内容不等于10时,置位Y4。
接点比较指令[OR※]
16指令
导通条件
非导通条件
OR=
(S1·)=(S2·)
(S1·)≠(S2·)
OR
(S1·)(S2·)
(S1·)≦(S2·)
OR
(S1·)(S2·)
(S1·)≧(S2·)
OR
(S1·)≠(S2·)
(S1·)=(S2·)
OR≦
(S1·)≦(S2·)
(S1·)(S2·)
OR≧
(S1·)≧(S2·)
(S1·)(S2·)
l当X001处于“ON”,或计数器C10的当前值等于100时,驱动Y1
三、变址寄存器V、Z说明
V、Z的显著作用是能够和其它软元件或数值组合使用,从而动态修改软元件编号或数值内容。
修改说明:Z=1,V=6。
MOVK1X000ZK1Y010Z等同于MOVK1X001K1Y011;
MOVK4X000K4M3V等同于MOVK4X000K4M9;
MOVK4M3VK4S0V等同于MOVK4M9K4S6;
MOVK1000C1Z等同于MOVK10000C2;
MOVK2000T3Z等同于MOVK20000T4;
MOVK3000D0Z等同于MOVK30000D1;
MOVK40ZD100V等同于MOVK41D106;
MOVH00FFD101V等同于MOVH0100D107;
CALLP0Z等同于CALLP1;
四、专家指令PID运算
D100:参数,为S3S3+0:KP参考值:2000
S3+1:KI参考值:500S3+2:KD参考值:0
S3+3:E(T)S3+4:E(T-1)
S3+5:e(t)-e(t-1)S3+6:e(t-1)-e(t-2);
S3+7:e(t)-2e(t-1)+e(t-2)S3+8:增量
S3+9:输出,限制为12位Max=2048(旧版8位DA的为255);





