首页 理论教育 数学运算指令仿真实验:实训二十一

数学运算指令仿真实验:实训二十一

时间:2023-06-26 理论教育 版权反馈
【摘要】:1.整型数学运算指令语句表中整型数学运算指令的操作见表3-12。表3-13 浮点型数学运算指令4.浮点型数学运算指令应用的仿真练习浮点数三角函数指令的输入值是以弧度为单位的浮点数,图3-90是求正弦值的程序。

数学运算指令仿真实验:实训二十一

数学运算指令包括整型数学运算指令、浮点型数学运算指令和字逻辑运算指令。这些指令是否执行与RLO无关。

1.整型数学运算指令

语句表中整型数学运算指令的操作见表3-12。梯形图中的整型数学运算指令对输入参数IN1和IN2进行运算,运算结果送输出参数OUT(见图3-89)。四则运算指令的操作为INl+IN2=OUT,IN1-IN2=OUT,IN1*IN2=OUT,和IN1/IN2=OUT.

表3-12 整型数学运算指令

978-7-111-53804-2-Chapter03-137.jpg

2.整型数学运算的仿真实验

AI模块的输出值为N,改用整型数学运算指令实现(3-1)式的压力计算公式为

P=(10000×N)/27648 (kPa) (3-2)

在运算时一定要先乘后除,否则会损失原始数据Ⅳ的精度。应根据指令的输入、输出数据可能的最大值选用整数运算指令或双整数运算指令。

程序见图3-89(见随书光盘中的例程“数学运算”)。假设用于测量压力的AI模块的通道地址为PIW320。模拟量量程时A-D转换后的数字N的值为0~27648,乘以10000以后乘积可能超过16位整数的允许范围,因此应采用双整数乘法指令MUL_DI。式(3-2)中的被除数是双整数,也应采用双整数除法指令DIV_DI。

978-7-111-53804-2-Chapter03-138.jpg

图3-89 压力测量值计算程序

首先用I_DI指令将PIW320中的原始数据(16位整数)转换为双整数(见图3-89),双整数乘、除法指令中的常数应使用“L#”开始的32位的双整数常数。

图3-89与图3-82中的程序的调试方法相同。

3.浮点型数学运算指令

浮点型数学运算指令见表3-13。语句表中的浮点数四则运算指令对累加器1和累加器2中的32位IEEE格式的浮点数进行运算,运算结果在累加器l。

表3-13 浮点型数学运算指令(www.xing528.com)

978-7-111-53804-2-Chapter03-139.jpg

4.浮点型数学运算指令应用的仿真练习

浮点数三角函数指令的输入值是以弧度为单位的浮点数,图3-90是求正弦值的程序。MD30中的角度值是以度为单位的浮点数,使用三角函数指令之前应先将角度值乘以π/180.0 0.0174533),转换为弧度值,然后用SIN指令求角度的正弦值。

978-7-111-53804-2-Chapter03-140.jpg

图3-90 浮点数运算程序

打开PLCSIM,将程序下载到仿真PLC,将仿真PLC切换到RUN-P模式。右键单击梯形图中的显示值,将“表达式”(显示格式)由“自动”改为“浮点”,用PLCSIM将30.0输入MD30,观察MD34中的计算结果是否是0.5。输入0.0~360.0之间的任意实数,观察MD34中的运算结果是否与计算器计算的相同。

5.数学运算指令的仿真练习

某温度变送器的量程为−100℃~500℃,输出信号为4~20mA,某模拟量输入模块将0~20mA的电流信号转换为数字0~27648,设转换后得到的数字为N,求以0.1℃为单位的温度值。

单位为0.1℃的温度值−1000~5000对应于数字量5530~27648,由图3-91给出的比例关系可列出下式:

978-7-111-53804-2-Chapter03-141.jpg

978-7-111-53804-2-Chapter03-142.jpg

图3-91 模拟量与转换值的关系

经数学运算求出T的计算公式为

978-7-111-53804-2-Chapter03-143.jpg

根据上式编写出温度计算程序,打开PLCSIM,将程序下载到仿真PLC,将仿真PLC切换到RUN-P模式。用PLCSIM设置输入N的值分别为5530和27648,观察输出T是否为-1000和5000。设置N为某个中间值,观察输出T是否与计算器算出的相同。

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

我要反馈