150 likes | 345 Views
《PLC 应用技术 》. 模块四:功能指令. 主要内容 4-1 程序控制类指令 4-2 数据处理指令 4-3 数学运算、逻辑运算指令. 4.3 数学运算、逻辑运算指令 一、加减、乘除、加 1 减 1 指令 1. 加 / 减 指令 IN1 + IN2=OUT IN1 — IN2=OUT. 加减指令盒由指令类型,使能端 EN ,操作数( IN1 、 IN2 )输入端,运算结果输出 OUT ,逻辑结果输出端 ENO 等组成 。 例:加法运算应用举例. NETWORK 1
E N D
《PLC应用技术》 模块四:功能指令
主要内容 4-1 程序控制类指令 4-2 数据处理指令 4-3 数学运算、逻辑运算指令
4.3 数学运算、逻辑运算指令 一、加减、乘除、加1减1指令 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)。利用指数函数求解任意函数的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.数学函数变换指令对标志位的影响及操作数的寻址范围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]字或/双字异或/字求反/字节与操作编程举例[例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 //字节与操作