我用的模拟量手柄(正负10V),控制比例阀的开口度,先用F105读取的手柄的电压(正负10.0V),存在MD0中,接着用FC106转换为(-27648---+27648),存为MW0,我现在要把这个MW0转换为浮点数处理,但是当MW为负数时结果总不对,我的方法是:MW0---转化为MD1(DINT)----------再转换为MD2(REAL),正数都能转换为浮点数,唯独负数转换时不对,求高手指点指点!尽量详细一点,不胜感激。
问题补充:
谢谢老师的指导,实际上我没用MD0、MW0、MW1、MD2等有重叠的区域,我用的是DB2.DBD0、DB3.DBW0、DB4.DBW2、DB5.DBD4等,没有重叠的区域,当遇到负数时转化浮点数就错了
最佳答案
MD0是一个浮点数,包含了 MW0、MW2
同样 MW0 又与 MD1 的存储空间有重叠。
MD1 与MD2也是有重叠的。
先把存储空间的重叠问题更正了。
如图示例,使用时要对输入输出通道的信号进行组态,并将相应的变量根据实际进行修改。
示例中用到的一些其它的变量与你已有程序可能会有冲突,慎之修改成你的程序中不用的变量,以免产生安全隐患
资料可参考
http://www.ad.siemens.com.cn/productportal/prods/published/Mod/Mod_3.1/Mod_3.1.html
图片说明:
提问者对于答案的评价:
xiexie
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc289374.html