注释:
q 在I1端为被加数,I2端为加数,Q为和,其操作为
Q=I1+I2
当Enable为“1”时(无需上升沿跃变),指令就被执行。I1、I
与Q是三个不同的地址时,Enable端是长信号或脉冲信号没有不同。
q 当I1或I2之中有一个地址于Q地址相同时,即:
I1(Q)=I1+I2或I2(Q)=I1+I2
其Enable端要注意是长信号还是脉冲信号。是长信号时,该
加法指令成为一个累加器,每个扫描周期,执行一次,直至
溢出。是脉冲信号时,当Enable端为“1”时, 执行一次。
q 当计算结果发生溢出时,Q保持当前数型的最大值(如是带符号的数,则用符号表示是正溢出还是负溢出。)
q 当Enable端为“1”时,指令正常执行时,没有发生溢出时, OK端为“1”,除非发生以下情况:
Ø 对ADD来说,(+¥ ) + (-¥ );
Ø 对SUB来说, ( + ¥ ) - ( ¥ );
Ø 对MUL来说,0 × ( ¥ );
Ø 对DIV来说,0/0,1/¥;
Ø I1和(或)I2不是数字。
注:
要注意四则运算的数型,相同的数型才能运算:
q INT 带符号整数(16位) -32,768 ~ +32767
q UINT 不带符号整数(16位) 0 ~ 65,535
q DINT 双精度整数(32位) +2,147,483,648
q REAL 浮点数(32位)
q MIXED 混合型(90-70乘、除法时用)
二. 开方
梯形图:
注释:
求IN端的平方根,当Enable为“1”时(无需上升沿跃变),Q端
为IN的平方根(整数部分)。
当Enable为“1”时, OK端就为“1”,除非发生下列情况:
q IN<0;
q IN不是数值。
注:
平方根指令支持以下数型:
q INT
q DINT
q REAL
三. 绝对值
梯形图:
注释:
求IN端的绝对值,当Enable为“1”时(无需上升沿跃变),Q端
为IN的绝对值。
当Enable为“1”时, OK端就为“1”,除非发生下列情况:
q 对数型INT来说, IN是最小值;
q 对数型DINT来说,IN是最小值;
q 对数型REAL来说,IN不是数值。
注:
绝对值指令支持下列数型:
q INT
q DINT
q REAL
四. 三角函数(只支持浮点数)
系列90-70 PLC提供6种三角函数,分别是正弦函数、余弦函数、正切
函数、反正弦函数、反余弦函数、反正切函数。其语法大致相同,现以正弦函数为例。
梯形图:
当Enabel 端为“1”时(无需上升沿跃变),该指令执行如下操作:
Q=SIN (IN)。
其输入端/输出端取值范围如下:
输入端 输出端
SIN -263
系列90-70 PLC提供LOG、LN、EXP和EXPT四种指令。
梯形图:
注释:
当Enabel 端为“1”时(无需上升沿跃变),该指令执行如下操作:
Q=LOG10 IN
其他指令执行如下操作:
LN: Q=LN IN
EXP: Q=eIN
EXPT: Q=I1I2 (该指令有两个输入端I1和I2)
其指令的取值范围符合函数的定义域。
六. 角度、弧度的转换
角度值和弧度值的转换(只支持浮点数)
梯形图:
注释:
当Enabel 端为“1”时(无需上升沿跃变),该指令执行适当的转换(
角度转弧度或弧度转角度)。
第六讲. 比较指令
GE FANUC PLC 提供以下比较指令功能:
一. 普通比较指令
比较指令的梯形图及语法基本类似,现以等于指令为例:
梯形图:
注释:
比较I1和I2的值,如满足指定条件,且当Enable为“1”时(无需
上升沿跃变),Q端置“1”,否则置“0”。
比较指令执行如下比较:I1=I2,I1>I2等。
当Enable为“1”时,OK端即为“1”,除非I1或I2不是数值。
比较指令支持如下数型(相同数型才能比较):
q INT
q DINT
q REAL
q UNIT
二. CMP指令
梯形图:
注释:
比较I1和I2的值,且当Enable为“1”时(无需上升沿跃变),
如I1>I2,GT端置“1”;I1=I2,EQ端置“1”,I1
注:
比较指令支持如下数型(相同数型才能比较):
q INT
q DINT
q REAL
q UNIT
三. Range指令
梯形图:
注释:
当Enable为“1”时(无需上升沿跃变),该指令比较输入端IN是
否在L1和L2所指定的范围内(L1≤IN≤L2 或 L2≤X≤L1),如条件满足,Q端置“1”,否则置“0”。
当Enable为“1”时,OK端即为“1”,除非L1、L2和IN不是数值。
注:
Range指令支持的数型(相同数型才能比较):
q INT
q DINT
q UNIT
q WORD
q DWORD
第七讲. 位操作指令
GE FANUC PLC 提供以下位操作指令功能:
一. 与、或、非操作
与或非操作指令格式基本一致,现以“AND”指令为例:
梯形图:
注释:
Enable: 使能端
OK: OK端
I1: 执行“与”指令的字1
I2: 执行“与”指令的字2
Q: “与”后的结果
LEN: 执行“与”指令字的长度(I1、I2和Q指出起始地址LEN指出长度)。
当Enable端为“1”时(无需上升沿跃变),该指令执行与操作,
其功能如下:
该指令最多对256个字(128个双字)进行“与”操作。
当 Enable端为“1”时,OK端即为“1”。
二. 移位指令(左移、右移指令)
左移指令与右移指令,除了移动的方向不一致外,其余参数都一致,现以左移指令为例:
梯形图:
注释:
Enable: 使能端;
OK: OK端;
LEN: 移位字串长度;
IN: 需移位字串的起始地址;
N: 每次移位移几位(大于0,小于LEN);
B1: 移入位(为一继电器触点);
B2: 溢出位(保留最后一个溢出位);
Q: 移位后的值的地址(如要产生持续移位的效果,
Q端与IN端的地址应该一致)。
当Enable端为“1”时(无需上升沿跃变),该指令执行移位操作,
其功能如下:
移位前字串内容:
执行移位指令图示如下:
其各参数取值如下:
IN=Q
B1=ALW_ON=1
B2=%M1
N=3
三. 循环移位指令
循环移位指令分左循环移位指令和右循环移位指令,除了移动的方向不一致外,其余参数都一致,现以左循环移位指令为例:
梯形图:
注释:
Enable: 使能端;
OK: OK端;
LEN: 移位字串长度;
IN: 需移位字串的起始地址;
N: 每次移位移几位(大于0,小于LEN);
Q: 移位后的值的地址(如要产生循环移位的效果,
Q端与IN端的地址应该一致)。
当Enable端为“1”时(无需上升沿跃变),该指令执行移位操作,
其功能如下:
移位前字串内容:
执行循环移位指令图示如下:
其各参数取值如下:
IN=Q
N=3
三. 位测试指令
检测字串中指定位的状态,决定当前位是“1”还是“0”,结果输出至“Q”。
梯形图:
注释:
Enable: 使能端;
IN: 被检测字串地址;
BIT: 检测该字串的第几位;
Q: 该字串的值是“0”还是“1”。
当Enable为“1”时,(无需上升沿跃变),该指令执行如下操作:
其中:
BIT=5
四. 位置位(BSET)与位清零(BCLR)指令:
位置位与位清零指令,功能相反,但参数一致,现以位置位指令为例:
梯形图:
注释:
Enable: 使能端;
IN: 需置位字串的起始地址;
BIT: 需置位的位在字串中位置。
当Enable为“1”时,(无需上升沿跃变),该指令操作过程如图所示:
其中:
BIT=5
五. 定位指令(BPOS)
搜寻指定字串第一个为“1”的位的位置。
梯形图:
注释: