LREAL数据在M区的调用
前一些天,在“找答案”栏目中看到有提问,话说M区地址如何调用LREAL数据,虽然这个数据我目前还不算多用,之前,有过一次模糊的验证,依稀有一些记忆。数据类型LREAL的操作数长度为 64 位,用于表示浮点数的处理。
下面我把调用过程描述一下:
1) 创建一个测试项目,如S7-1214C DC/DC/DC的PLC,项目名称LREAL数据的调用;
2) 在变量表中创建3个变量,分别是变量1、变量2、变量3,数据类型定义为LREAL,地址定义在M区域,图示:
3) 在主程序OB1中编辑一个简单的测试程序:
4) 启动模拟仿真,测试运行结果,假设把变量1设置为5.2,变量2设置为20.8,看运行结果变量3 = ?:
变量1+变量2 =变量3;5.2 + 20.8 = 26.0,测试结果符合要求。如有兴趣,输入64位浮点数测试:数量范围(+2.2250738585072014e-308 到 +1.7976931348623158e+308)
输入变量1 = 123456789.1234 + 变量2 = 1234567890.1234 ,结果变量3 = 1358024679.2468,能够运行64位浮点数据,上述就是我在M区调用LREAL数据时的过程。如果是在数据块中调用,相对更容易理解,因为习惯上数据块数据的应用会先定义,后使用的,而在M区之前的习惯于随想到随用,没有先定义的习惯,但是,由于这个LREAL数据类型相对于其它数据类型稍有一些区别,用MD这样的变量描述,无法判断到实际的64位数据,只能是指针方式才能够完整描述这个数据类型。