实数如何变成整数存放在vw或者vb中?

接到一个工程,要求把模拟量的数值转化为工程量放在指定的字节中:高字节放整数部分,低字节放小数部分。我把模拟量转化成工程量以后,发现数据格式变成实数了,请问各位大侠“这个要求能不能在200编程中做到”“如何完成工程的要求”谢谢大家的帮助!谢谢

问题补充:
谢谢 啊鸣的帮助。是不是转换成的16位整数B1的低字节可以直接读取为实数的整数部分?16位整数F1的低字节直接读取为实数的小数部分?

最佳答案

这个问题看似简单,但编程还是挺麻烦的,本人曾做过类似的程序,程序编制的步骤大致为:
1、转化成工程量以后数据格式变成实数了,该实数表示为A。
2、应用取整指令(TRUNC)将A实数值转换为双整数,结果只保存实数的整数部分,实数的小数部分舍去。该结果用B表示,B就是A的以双整数表示的整数部分。
3、应用双整数转换为实数指令(DTR),将B转换为实数,这个实数结果为C。
4、应用实数减法指令,A - C=D,D就是A的以实数表示的小数部分。
5、应用实数乘法指令,将D扩大相应倍数(例如乘以1000)为E。
6、再应用取整指令(TRUNC)将E实数值转换为双整数F,F就是A的以双整数表示的小数部分。
7、应用双整数(32位)转换为整数(16位)指令,将B,F转换为整数(16位),分别为B1,F1.。
8、将B1低字节(低8位)取出存入G的高字节,将F1.的低字节(低8位)存入G的低字节。G就是高字节放整数部分,低字节放小数部分。

提问者对于答案的评价:
xx

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc306113.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月31日
下一篇 2020年10月31日

相关推荐

  • 怎么停止子程序运行

    在主程序里断开子程序,子程序一直保持断开前的状态,开还是开,断还是断,我想把子程序断开,回到初始值,怎么办. 最佳答案 最简单的办法如我的图所示,当I0.0是零时调用子程序一,并且…

    2020年10月31日
  • 为什么定时器的最大定时值为32767

    定时器的PT输入端为一个双字节的16位字吧?那16位的话,最大值不是应该65536啊,怎么会是32767? 问题补充:意思就是说最高位为正负的符号位,对吗?是不是像8位 …

    SIMATIC S7-200 2020年10月31日
  • 温度自补偿问题。。

    现有一被控对象:要求温度在30~45度之间有一加热体:对被控对象进行加热。(如果只是这两个的关系的话用PID就行了。)现在还有一个环境温度,对被控对象的温度能产生影响,比如环境温度…

    SIMATIC S7-200 2020年10月31日
  • EM235AD转换后的数值范围是多少?

    使用EM235输入的模拟量,为了进行PID运算需要做归一化处理。那么涉及AD转化后的量程一直是6400-32000吗?还是有什么计算公式或者出厂已定?又或者是在PID指令中自己设定…

    SIMATIC S7-200 2017年11月27日
  • 长时间计时

    现在有个间隔12小时循环执行,我想用200内的特殊寄存器位(1分钟周期)的上升沿触发累加数据,不知道这样做是否合理? 最佳答案 开始间隔时间 BGN_ITIME读取内置1…

    SIMATIC S7-200 2020年11月1日
  • 如何显示电压波形

    用模拟量输入模块以毫秒级扑捉电压信号在传回电脑,能显示出电压波形吗?交流脉宽能显示出来吗? 问题补充:VB用TIMER控件读PLC的数据时间间隙为MS级,而一个半波的时间为10MS…

    SIMATIC S7-200 2021年7月5日
  • 西门子PLC可以发送短信吗?需要什么配置?硬件的和软件的

    西门子PLC可以发送短信吗?需要什么配置?硬件的和软件的 最佳答案 是要用到几个模块,具体还是问西门子的技术支持。一定要开通一个移动的GPRS业务的手机卡。在西门子的工业以太网研讨…

    SIMATIC S7-200 2021年7月5日
  • 数据位如何读取

    请教各位大侠,数据vw0的0.0位如何读取.谢谢了 最佳答案 V0.0 提问者对于答案的评价:简洁

    SIMATIC S7-200 2021年7月5日
  • 两台PLC的连接

    各位高手:我手头现有EasyView触摸屏一台、CPU222二台,我想让三个联起来,我想请教一下,其之间的联接电缆是否可以自己做,如还能自己做,又该买哪些东西呢? 问题补充:如是两…

    SIMATIC S7-200 2021年7月5日
  • S7-200与WINCC通讯做组态的相关问题

    小弟手头有个污水处理的小程序,原来是用威纶通的触屏做的,但是触屏坏了,现在我手头有限制的破电脑,想用WINCC重新做个组态,简单的几个监视画面,然后再加几个控制点,请教一下200与…

    SIMATIC S7-200 2020年11月1日