《PLC 应用技术 》
description
Transcript of 《PLC 应用技术 》
《 PLC 应用技术》
模块四:功能指令
主要内容
4-1 程序控制类指令4-2 数据处理指令4-3 数学运算、逻辑运算指令
4.3 4.3 数学运算、逻辑运算指令数学运算、逻辑运算指令
一、加减、乘除、加一、加减、乘除、加 11 减减 11 指令指令 1.加加/减减指令指令 IN1 + IN2=OUT
IN1—IN2=OUT
加减指令盒由指令类型,使能端 EN ,操作数( IN1 、 IN2 )输入端,运算结果输出 OUT ,逻辑结果输出端 ENO 等组成。
例:加法运算应用举例
NETWORK 1
LD I0.0 //装入常开触点MOVW VW100 , VW200
// VW100 → VW200
+I +100 , VW200
// VW200+100 = VW200
2. 乘/除运算 乘法运算
除法运算
• MUL I/DIV I 为整数乘/除运算, MUL DI/DIV DI 双整数乘/除运算, MUL/DIV整数乘/除的结果双整数输出, MUL R/DVI R 实数乘/除运算
• 指令执行的结果:乘法 IN1*IN2 = OUT
除法 IN1/IN2 = OUT
例 : 乘/除法指令的应用
[
NETWORK 1
LDN I0.0 //装入常闭触点*R AC1, VD100 //实数乘法/R VD10, VD200 //实数除法
运行结果:
3. 增 1 /减 1 指令指令 增 1 /减 1 计数器用于自增、自减操作,以实现累加计数和循环控制等程序的编
制
字节、字、双字增 1 OUT+1 = OUT
字节、字、双字减 1
OUT-1 = OUT
5.2.2 数学函数变换指令 二 、数学函数变换指令1. 平方根/自然对数/指数指令
SQRT IN , OUT // 求平方根指令 SQRT ( IN )= OUT
LN IN , OUT // 求( IN )的自然对数指令
LN ( IN )= OUT EXP IN , OUT // 求( IN )的指数指令 EXP ( IN )= OUT
平方根 ( 自然对数、指数)指令是把一个双字长( 32 位)的实数( IN )开方(取自然对数、取以 e 为底的指数),得到 32 位的实数运算结果,通过( OUT )指定的存储器单元输出。
[例] 求以 10 为底, 150 的常用对数, 150 存于 VD100 ,结果放到 AC1 (应用对数的换底公式求解)。 当求解以 10 为底的常用对数时,用实数除法指令将自然对数除以 2.302585
即可。( LN10≈2.302585 )
LD I0.1 //使能输入LN VD100, AC1 //自然对数 //Ln ( VD100 )= AC1
LN 10.0, VD200 //自然对数 //Ln ( 10 )= VD200
/R VD200, AC1 //实数除法指令 //AC1/VD200 = VD200
利用指数函数求解任意函数的 x 次方( yx=exlny )。例如: 7 的 4 次方= EXP ( 4*LN ( 7 ))= 2401
8 的 3 次方根= 8 ^ (1/3) = EXP (LN (8) *1/3 ) = 2
2. 三角函数 SIN IN , OUT
//SIN ( IN )= OUT
COS IN , OUT // COS ( IN )= OUT
TAN IN , OUT //TAN ( IN )= OUT
[例] 求 65o 的正切值
LDN I0.0 // 使能输入MOVR 3.14159, AC0
//π 装入 AC0
/R 180.0, AC0
// 得 π/1800 弧度
*R 65.0, AC0
// 将角度转化为弧度
TAN AC0, AC1
// 求正切指令结果存放到 AC1
3. 数学函数变换指令对标志位的影响及操作数的寻址范围( 1 )平方根/自然对数/指数/三角函数运算指令执行的结果影响特殊存储器
位: SM1.0 (零), SM1.1 (溢出), SM1.2 (负), SM1.3 (被 0 除)。( 2 )使能流输出 ENO=0 的错误条件是: SM1.1 (溢出), SM4.3 (运行时间
), 0006 (间接寻址)。( 3 ) IN 、 OUT 操作数的数据类型为 REAL ,寻址范围见附表 1 。
三、 逻辑运算指令• 逻辑运算是对无符号数进行的逻辑处理,主要包括逻辑与、逻辑或、逻辑异或
和取反等运算指令。
• 与(或、异或)指令功能:使能输入有效时,把两个字节(字、双字)长的输入逻辑数按位相与(或、异或) ,得到的一个字节(字、双字)逻辑运算结果,送到 OUT 指定的存储器单元输出。
• 取反指令功能:使能输入有效时,将一个字节(字、双字)长的逻辑数按位取反,得到的一个字节(字、双字)逻辑运算结果,送到 OUT 指定的存储器单元输出
[例 5.18 ] 字或/双字异或/字求反/字节与操作编程举例
。
• NETWORK 1 • LD I0.0• MOVW LW10, LW30 // LW 10=LW30• ORW LW20, LW30 //字或操作 • NETWORK 2• LD I0.1• MOVD VD100, VD120• XORD VD200, VD120 //双字异或操作 • NETWORK 3• LD I0.2• MOVW AC0, AC1• INVW AC1 //字取反操作 • NETWORK 4• LD I0.3• MOVB AC0, AC1• ANDB 255, AC1 //字节与操作