1.整数数学运算指令
整数数学运算指令见表3-10。
表3-10 整数数学运算指令
2.整数数学运算的仿真实验
改用整数数学运算指令实现(3-1)式的压力运算:
P=(10000×N)/27648 (kPa) (3-2)
在运算时一定要先乘后除,否则会损失原始数据的精度。整数四则运算指令有16位和32位两种,应根据指令的输入、输出数据可能的最大值选用适当的指令。
假设用于测量压力的AI模块的通道地址为PIW320。模拟量满量程时A/D转换后的数字N的值为27648,乘以10000以后乘积可能超过16位整数的允许范围,因此应采用双整数的乘法指令MUL_DI。式(3-2)中的被除数是双整数,因此应采用双整数除法指令DIV_DI。
首先应使用指令I_DI将PIW320中的原始数据(16位整数)转换为双整数(见图3-80),双字乘、除法指令中的常数应使用“L#”开始的32位的双整数常数。
图3-80 压力测量值计算程序
图3-80与图3-79中的程序的调试方法相同。
3.浮点数数学运算指令
浮点数(实数)的数据类型为REAL,浮点数数学运算指令见表3-11。浮点数四则运算指令对累加器1和累加器2中的32位IEEE格式的浮点数进行运算,运算结果在累加器1。
表3-11 浮点数数学运算指令(www.xing528.com)
4.浮点数数学运算指令应用的仿真练习
浮点数三角函数指令的角度是以弧度为单位的浮点数。图3-81的MD30中的角度值是以度为单位的浮点数,使用三角函数指令之前应先将角度值乘以π/180.0(0.01745329),转换为弧度值,然后用SIN指令求角度的正弦值。
图3-81 浮点数运算程序
打开PLCSIM,将程序下载到仿真PLC,将仿真PLC切换到RUN-P模式。将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-82给出的比例关系可列出下式:
图3-82模拟量与转换值的关系
经数学运算求出T的计算公式为
根据上式编写出温度计算程序,打开PLCSIM,将程序下载到仿真PLC,将仿真PLC切换到RUN-P模式。用PLCSIM设置输入N的值分别为5530和27648,观察输出T是否为-1000和5000。设置N为某个中间值,观察输出T是否与计算器算出的相同。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。