首页 理论教育 PLC地铁设备中的数学运算类指令应用

PLC地铁设备中的数学运算类指令应用

时间:2023-10-11 理论教育 版权反馈
【摘要】:对S7-200的算术运算指令来说,在使用时要注意存储单元的分配。建议大家在使用算术指令和数学指令时,最好用LAD形式编程。表4-10减法运算指令表4-11除法运算指令注意:用语句表编程与梯形图稍有不同。受影响的SM标志位:零、溢出、负、被0除。结果大于32位二进制数表示的范围时产生溢出。表4-13数学功能指令使ENO=0的条件:间接寻址、溢出。

PLC地铁设备中的数学运算类指令应用

PLC普遍具备较强的运算功能,包含四则运算指令、数学功能指令及递增、递减指令。对S7-200的算术运算指令来说,在使用时要注意存储单元的分配。在用LAD编程时,IN1、IN2和OUT可以使用不一样的存储单元,这样编写出的程序比较清晰易懂。但在用STL方式编程时,OUT要和其中的一个操作数使用同一个存储单元,所以不太直观。建议大家在使用算术指令和数学指令时,最好用LAD形式编程。

1.四则运算指令

1)加法/乘法运算

整数、双整数、实数的加法/乘法运算是将原操作数运算后产生的结果存储在OUT中,操作数数据类型不发生变化。而常规乘法是两个16位整数相乘,产生一个32位结果。

梯形图中,当加法允许信号EN=1时,被加数(被乘数)IN1与加数(乘数)IN2相加(乘),其结果传送到OUT中,即IN1+IN2=OUT(IN1×IN2=OUT);在语句表中,要先将加数(乘数)送到0UT中,然后把0UT中的数据和IN1中的数据相加(乘),并将其结果传送到OUT中,即在STL中,IN1+OUT=OUT(IN1×OUT=OUT)。表4-8、表4-9给出了以上指令的表达形式及操作数。

表4-8 加法运算指令

续表

表4-9 乘法运算指令

使ENO=0(指令错误)的条件:间接寻址(0006)、溢出(SM1.1)。受影响的SM标志位:零(SM1.0)、溢出(SM1.1)。

使ENO=0(指令错误)的条件:间接寻址(0006)、溢出(SM1.1)。受影响的SM标志位:零(SM1.0)、溢出(SM1.1)、负(SM1.2)。

2)减法/除法运算指令

整数、双整数、实数的减法/除法运算是将源操作数运算后产生的结果存储在OUT中。整数、双整数除法不保留小数。而常规除法是两个16位整数相除,产生一个32位结果,其中高16位存储余数,低16位存储商。

在梯形图表示中,当减法允许信号EN=1时,被减数被除数)IN1与减数(除数)IN2相减(除),其结果传送到OUT中,即INl-IN2=OUT(IN1/IN2=OUT);在语句表表示中,要先将被减数(被除数)送到OUT中,然后把OUT中的数据和IN1中的数据进行相减(除),并将其结果传送到OUT中,即在STL中,OUT-IN1=OUT(OUT/IN1=OUT)。表4-10、表4-11给出了以上指令的表达形式及操作数。

表4-10 减法运算指令

表4-11 除法运算指令

注意:用语句表编程与梯形图稍有不同。如果被减数不在OUT中,首先要利用传送指令把被减数传送到OUT中,然后执行减法操作,把OUT的内容与减数相减,其结果存入OUT中。(www.xing528.com)

使ENO=0(指令错误)的条件:间接寻址(0006)、溢出(SM1.1)。受影响的SM标志位:零(SM1.0)、负(SM1.2)。

使ENO=0(指令错误)的条件:间接寻址(0006)、溢出(SM1.1)。受影响的SM标志位:零(SM1.0)、溢出(SM1.1)、负(SM1.2)、被0除(SM1.3)。

【例4-5】四则运算指令示例如图4-5所示。

图4-5 四则运算指令

2.递增/递减指令

字节、字、双字的递增/递减指令是把源操作数加1或减1,并把结果存放到OUT中。其中字节增减是无符号数,字和双字增减是有符号数。

在LAD中,IN+1=OUT,IN-1=OUT;在STL中,OUT+1=OUT,OUT-1=OUT,说明IN和OUT使用相同的存储单元。表4-12给出了递增/递减指令的表达形式及操作数。

表4-12 递增/递减指令

使ENO=0(指令错误)的条件:间接寻址(0006)、溢出(SM1.1)。受影响的SM标志位:零(SM1.0)、溢出(SM1.1)、负(SM1.2)。

3.数学功能指令

S7-200 PLC指令的数学函数指令有:平方根自然对数、指数、正弦、余弦和正切,其中正弦、余弦和正切指令计算角度值IN的三角函数值,输入角度为弧度值。平方根指令(Square Root)把一个双字长(32位)的实数IN开平方,得到32位的实数结果送到OUT。自然对数指令(Natural Logarithm)将一个双字长(32位)的实数IN取自然对数,得到32位的实数结果送到OUT。指数指令(Natural Exponential)将一个双字长(32位)的实数IN取以e为底的指数,得到32位的实数结果送到OUT。运算输入输出数据都为实数。结果大于32位二进制数表示的范围时产生溢出。表4-13给出了以上指令的表达形式及操作数。

表4-13 数学功能指令

使ENO=0(指令错误)的条件:间接寻址(0006)、溢出(SM1.1)。受影响的SM标志位:零(SM1.0)、溢出(SM1.1)、负(SM1.2)。

【例4-6】求以10为底的50(存于VD0)的常用对数,结果放到AC0,运算程序如图4-6所示。

图4-6 数学功能指令应用

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈