4.3.3传送指令[MOV]
MOV
D
P
16位指令MOV(连续执行型)32位指令DMOV(连续执行型)
7步MOVP(脉冲执行型)13步DMOVP(脉冲执行型)
适用软元件
·字软元件(S·)K、H、KnY、KnM、KnS、T、C、D、V,Z
·字软元件(D·)KnY、KnM、KnS、T、C、D、V,Z
功能和动作使数据原样传送的指令。
●将源(S·)的内容向目标(D·)传送,X003“OFF”时,目标(D·)的内容不变化;
●常数K100被自动转换成BIN码。
《定时、计数器的当前值读出示例》
●将T0当前值传送给D20。
《定时、计数器设定值的间接指定示例》
●T20定时时间为5秒。
《位软元件的传送》
●上图示例可用下面的MOV指令来实现,
《32位数据的传送》
运算结果是32位的应用指令(MUL等)、32位数值、32位软元件或32位计数器等32位数据的传送,必须使用DMOV指令。
●上例将(D11、D10)的内容传送给(D21、D20),
(C235的当前值)传送给(D31、D30)。
4.3.4反向传送[CML]
CML
D
P
16位指令CML(连续执行型)32位指令DCML(连续执行型)
5步CMLP(脉冲执行型)13步DCMLP(脉冲执行型)
适用软元件
·字软元件(S·)K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z
·字软元件(D·)KnY、KnM、KnS、T、C、D、V,Z
功能和动作将数据反向传送的指令
●将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
无变化反向数据被传送
上例可用CML指令来实现。
4.3.5BCD转换[BCD]
BCD
D
P
16位指令BCD(连续执行型)32位指令DBCD(连续执行型)
5步BCDP(脉冲执行型)9步DBCDP(脉冲执行型)
适用软元件
·字软元件(S·)KnY、KnM、KnS、T、C、D、V,Z
·字软元件(D·)KnY、KnM、KnS、T、C、D、V,Z
功能和动作将源(BIN)转换为目标(BCD)的指令。
●使用BCD、BCDP指令,转换结果不能超出0~9999,使用DBCD、DBCDP指令,转换结果不能超出0~99999999;
●将PLC内的2进制数变为七段显示等的BCD码向外部输出时使用。
4.3.6BIN转换[BIN]
BIN
D
P
16位指令BIN(连续执行型)32位指令DBIN(连续执行型)
5步BINP(脉冲执行型)9步DBINP(脉冲执行型)
适用软元件
·字软元件(S·)KnX、KnY、KnM、KnS、T、C、D、V,Z
·字软元件(D·)KnY、KnM、KnS、T、C、D、V,Z
功能和动作将源(BCD)转换为目标(BIN)的指令。
●使用BIN、BINP指令,源数据(S·)不能超出0~9999,使用DIND、DBINP指令,源数据(S·)不能超出0~99999999;
●常数K能自动转成2进制。
4.4四则逻辑运算
4.4.1BIN加法运算[ADD]
ADD
D
P
16位指令ADD(连续执行型)32位指令DADD(连续执行型)
7步ADDP(脉冲执行型)13步DADDP(脉冲执行型)
适用软元件
·字软元件(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
功能和动作
●两个源数据进行加法后传送到目标处,各数据的最高位是符号位(正数为0,负数为1),数据以代数形式进行加法运算(8+(-8)=0)。
●运算结果为0时,0标志位M8020动作;运算结果超出32767(16位运算)或2147483647(32位运算)时,进位标志位M8022动作;运算结果小于-32768(16位运算)或-2147483648(32位运算)时,借位标志位M8021动作;
●进行32位运算时,字软元件的低16位侧的软元件被指定,紧接着上述软元件编号后的软元件作为高位,为了防止编号重复,建议将软元件指定为偶数编号。
●对于脉冲型指令,每出现一次OFF到ON的变化,操作数做一次运算。
●可以将源(S·)和目标(D·)指定为相同的软元件编号。
这种情况下,如使用连续执行型指令(ADD、DADD),则每个扫描周期加一次,请务必注意。
4.4.2BIN减法运算[SUB]
SUB
D
P
16位指令SUB(连续执行型)32位指令DSUB(连续执行型)
7步SUBP(脉冲执行型)13步DSUBP(脉冲执行型)
适用软元件
·字软元件(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
功能和动作
●(S1·)指定的内容和(S2·)指定的内容相减,结果存入(D·)指定的软元件中。
(8-(-8)=16)。
●各种标志位的动作,32位运算软元件的指定方法,连续型和脉冲型的差异等都跟ADD指令相同。
4.4.3BIN乘法运算[MUL]
MUL
D
P
16位指令MUL(连续执行型)32位指令DMUL(连续执行型)
7步MULP(脉冲执行型)13步DMULP(脉冲执行型)
适用软元件
·字软元件(S1·、S2·)K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z(V,Z仅限16位计算)
·字软元件(D·)KnY、KnM、KnS、T、C、D、V,Z
功能和动作
《16位运算》
BINBINBIN
(D0)×(D2)(D5,D4)
16位16位32位
●各源指定的软元件内容的乘积,以32位数据形式存入目标地址指定的软元件(低位)和紧接其后的软元件(高位)中,如(D0)=125,(D2)=8,则(D5,D4)=1000;
●结果的最高位是符号位,0为正,1为负;
●(D·)是位元件时,可以进行K1∽K8的位指定。
指定为K4时,只能求得乘积运算的低16位。
《32位运算》
BINBINBIN
(D1,D0)×(D3,D2)(D7,D6,D5,D4)
32位32位64位
●在32位运算中,目标地址使用位软元件,只能得到低32位的结果,最好先向字元件传送一次后再进行运算;
●即使使用字元件,也不能一下子监视64位数据的运算结果,此种情况下建议进行浮点数运算;
●不能指定Z作为(D·)。
4.4.4BIN除法运算[DIV]
DIV
D
P
16位指令DIV(连续执行型)32位指令DDIV(连续执行型)
7步DIVP(脉冲执行型)13步DDIVP(脉冲执行型)
适用软元件
·字软元件(S1·、S2·)K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z(V,Z仅限16位计算)
·字软元件(D·)KnY、KnM、KnS、T、C、D、V,Z
功能和动作
《16位运算》
被除数除数商余数
BINBINBINBIN
(D0)÷(D2)(D4)···(D5)
16位16位16位16位
《32位运算》
被除数除数商余数
BINBINBINBIN
(D1,D0)÷(D3,D2)(D5,D4)···(D7,D6)
32位32位32位32位
●32位运算不能指定Z作为(D·);
●除数为0时,如果被除数为正数,商为32767(16位)或2147483647(32位);如果被除数为0,商为0;如果被除数为负数,商为-32768(16位)或-2147483648(32位);
●商和余数的最高位为符号位,0为正,1为负,当被除数或除数中的一方为负数时,商为负,当被除数为负时,余数则为负。
4.4.5BIN增1[INC]
INC
D
P
16位指令INC(连续执行型)32位指令DINC(连续执行型)
3步INCP(脉冲执行型)5步DINCP(脉冲执行型)
适用软元件
·字软元件(D·)KnY、KnM、KnS、T、C、D、V,Z
功能和动作
(D0)+1(D0)
●X000每置“ON”一次,D0的内容增1,在连续执行指令中,每个扫描周期执行加1运算,所以务必引起注意;
●16位运算时,如果32767加1变为-32768,标志位不动作,32位运算时,如果2147483647加1变为-2147483648,标志位不动作;
4.4.6BIN减1[DEC]
DEC
D
P
16位指令DEC(连续执行型)32位指令DDEC(连续执行型)
3步DECP(脉冲执行型)5步DDECP(脉冲执行型)
适用软元件
·字软元件(D·)KnY、KnM、KnS、T、C、D、V,Z
功能和动作
(D0)—1(D0)
●X001每置“ON”一次,D0的内容减1,在连续执行指令中,每个扫描周期执行减1运算,所以务必引起注意;
●–32768或-2147483648减1变为32767或2147483647,标志位不动作
4.4.7逻辑与[WAND]
WAND
D
P
16位指令WAND(连续执行型)32位指令DWAND(连续执行型)
7步WANDP(脉冲执行型)13步DWANDP(脉冲执行型)
功能和动作
《逻辑与》
(D0)∧(D2)(D4)
●对各位进行逻辑与运算。
1∧1=10∧1=0
1∧0=00∧0=0
4.4.8逻辑或[WOR]
WOR
D
P
16位指令WOR(连续执行型)32位指令DWOR(连续执行型)
7步WORP(脉冲执行型)13步DWORP(脉冲执行型)
功能和动作
《逻辑或》
(D0)∨(D2)(D4)
●对各位进行逻辑或运算。
1∨1=10∨1=1
1∨0=10∨0=0
4.4.9逻辑异或[WXOR]
16位指令WXOR(连续执行型)32位指令DWXOR(连续执行型)
7步WXORP(脉冲执行型)13步DWXORP(脉冲执行型)
适用软元件
·字软元件(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)
●对各位进行逻辑异或运算;
1(1=00(1=1
1(0=10(0=0
●如果将这个指令与CML组合使用,将进行异或非运算。
4.4.10求补[NEG]
NEG
D
P
16位指令NEG(连续执行型)32位指令DNEG(连续执行型)
3步NEGP(脉冲执行型)5步DNEGP(脉冲执行型)
适用软元件
·字软元件(D·)KnY、KnM、KnS、T、C、D、V,Z
功能和动作
(D10)+1(D10)
●将(D·)指定的软元件内容中各位先取反(0变1,1变0),然后再加1,将其结果存入原先的软元件中;
●使用连续执行指令则在每一个扫描周期执行一次,务必引起注意。
4.4.11BIN开方运算[SQR]
SQR
D
P
16位指令SQR(连续执行型)32位指令DSQR(连续执行型)
5步SQRP(脉冲执行型)9步DSQRP(脉冲执行型)
适用软元件
·字软元件(S·)K、H、D
·字软元件(D·)D
功能和动作
●进行开方运算的指令;
●仅在(S·)≧0时有效,如果(S·)<0,结果为0;
●运算结果舍去小数取整数;
●无标志位。
4.5循环与移位
4.5.1循环右移[ROR]
ROR
D
P
16位指令ROR(连续执行型)32位指令DROR(连续执行型)
5步RORP(脉冲执行型)9步DRORP(脉冲执行型)
适用软元件
·字软元件(D·)KnY、KnM、KnS、T、C、D、V,Z
·字软元件(n)K、H
回转