西门子舟山授权代理商
旋转编码器是一种光电式旋转测量装置,它将被测的角位移直接转换成数字信号(高速脉冲信号)。因此可将旋转编码器的输出脉冲信号直接输入给PLC,利用PLC的高速计数器对其脉冲信号进行计数,欧姆龙触摸屏,以获得测量结果。
不同型号的旋转编码器,其输出脉冲的相数也不同,有的旋转编码器输出A、B、Z三相脉冲,有的只有A、B相两相,简单的只有A相。
如图所示是输出两相脉冲的旋转编码器与FX2N系列PLC的连接示意图。
编码器有4条引线,其中2条是脉冲输出线,1条是COM端线,1条是电源线。
编码器的电源可以是外接电源,也可直接使用PLC的DC24V电源。电源“-”端要与编码器的COM端连接,“+ ”与编码器的电源端连接。
编码器的COM端与PLC输入COM端连接,A、B两相脉冲输出线直接与PLC的输入端连接,连接时要注意PLC输入的响应时间。有的旋转编码器还有一条屏蔽线,使用时要将屏蔽线接地。
说明:本文以三菱FX2N系列PLC与欧姆龙E6B2-CWZ6C型旋转编码器为例,介绍编码器与PLC的硬件接线方式。对于其他系列以及使用高速计数模块时,接线方法要参考该手册说明。而接到某端子对应的计数器号,需要参考《三菱FX编程手册》中关于高速计数器的说明
目前各种型号的plc普遍具备较强的运算功能。和其他PLC不同,S7—200 PLC对算术运算指令来说,在使用要注意存储单元的分配。建议大家在使用算术指令和数学指令时,好用LAD形式编程。运算指令包括加法、减法、乘法、除法、数学函数指令、增减和逻辑运算指令。
一、加法
1、整数加法
+I,整数加法指令。使能输入有效时,将两个单字长(16位)的符号整数IN1和IN2相加,产生一个16位整数结果OUT。
图1 整数加法
2、双整数加法
+D,双整数加法指令。使能输入有效时,将两个双字长(32位)的符号双整数IN1和IN2相加,产生一个32位双整数结果OUT。
在LAD和FBD中,以指令盒形式编程,执行结果:IN1+IN2=OUT。
在STL中,执行结果:IN1+OUT=OUT。
OUT的寻址范围:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*AC、*LD。
指令格式:+D IN1, OUT
3、+R,实数加法指令
使能输入有效时,将两个双字长(32位)的实数IN1和IN2相加,产生一个32位实数结果OUT。
在LAD和FBD中,以指令盒形式编程,执行结果:IN1+IN2=OUT。
OUT的寻址范围:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*AC、*LD。
本指令影响的特殊存储器位:SM1.0(零);SM1.1(溢出);SM1.2(负)。
二、减法
减法指令是对有符号数进行相减操作。包括:整数减法、双整数减法和实数减法。这三种减法指令与所对应的加法指令除运算法则不同之外,其他方面基本相同。
图2 减法
在LAD和FBD中,以指令盒形式编程,执行结果:IN1-IN2=OUT。
在STL中,执行结果: OUT- IN2=OUT。
指令格式: -I IN2, OUT (整数减法);-D IN2, OUT (双整数减法);-R IN2, OUT (实数减法)
例: -I AC0, VW4
图3 减法运算
三、乘法
1、整数乘法
*I,整数乘法指令。使能输入有效时,将两个单字长(16位)的符号整数IN1和IN2相乘,产生一个16位整数结果OUT。
指令格式:*I IN1,OUT
例:*I VW0,AC0
图4 乘法
图5 乘法
2、完全整数乘法
MUL,完全整数乘法指令。使能输入有效时,将两个单字长(16位)的符号整数IN1和IN2相乘,产生一个32位双整数结果OUT。
在LAD和FBD中,以指令盒形式编程,执行结果:IN1*IN2=OUT。
OUT的寻址范围:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*AC、*LD。
本指令影响的特殊存储器位:SM1.0(零);SM1.1(溢出);SM1.2(负);SM1.3(被0除)。
指令格式: MUL IN1,OUT
例: MUL AC0,VD10
3、双整数乘法
*D,双整数乘法指令。使能输入有效时,将两个双字长(32位)的符号整数IN1和IN2相乘,产生一个32位双整数结果OUT。
在STL中,执行结果:IN1*OUT=OUT。
N1和IN2的寻址范围:VD、ID、QD、MD、SD、SMD、LD、HC、AC、*VD、*AC、*LD和常数。
OUT的寻址范围:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*AC、*LD。
本指令影响的特殊存储器位:SM1.0(零);SM1.1(溢出);SM1.2(负);SM1.3(被0除)。
指令格式:*D IN1,OUT
例:*D VD0,AC0
4、实数乘法
*R,实数乘法指令。使能输入有效时,将两个双字长(32位)的实数IN1和IN2相乘,产生一个32位实数结果OUT。
在LAD和FBD中,以指令盒形式编程,执行结果:IN1*IN2=OUT。
在STL中,执行结果:IN1*OUT=OUT。
IN1和IN2的寻址范围:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*AC、*LD和常数。
OUT的寻址范围:VD、ID、QD、MD、SD、SMD、LD、AC、*VD、*AC、*LD。
本指令影响的特殊存储器位:SM1.0(零);SM1.1(溢出);SM1.2(负);SM1.3(被0除)。
指令格式:*R IN1,OUT
例:*R VD0,AC0
四、除法
在LAD和FBD中,以指令盒形式编程,执行结果: IN1/IN2=OUT。
在STL中,执行结果: OUT/ IN2=OUT。
指令格式: /I IN2, OUT(整数除法)
DIV IN2, OUT(整数完全除法)
/D IN2, OUT(双整数除法)
/R IN2, OUT(实数除法)
图6 除法
例:DIV VW10, VD100
/I VW20, VW200
两条指令的编程及执行情况比较如图所示。
图7 指令执行图
对于完全除法指令:
图8 完全除法指令
对于除法指令:
图9 除法指令
图10 算术运算举例
图11 算术运算举例