欢迎光临入喜工业控制技术(上海)有限公司
当前位置
首页 > 新闻中心
西门子关于S7-200数据处理
2021/8/6 11:57:27
西门子关于S7-200数据处理

我现在用200和一台仪表进行通信,仪表返回数据格式是这样的: 1.81390e-01, 2.69936e-03,等于说是2组数据,不过我只取前一组数据就可以了,第一组的数据实际值应该是0.18139.我用200里面的S-R字符串转实数指令,转换出来的结果是1.8139,当然实际应用我可以除以10得到实际值,但是如果是1.81390e-02,那就又不一样了,代表0.018139,而200转换过来还是1.8139.仪表的值是不断变化的,请问有什么办法可以一直得到正确数值
现在三位技术大牛的建议给了我一定的启发,但是我的问题还是没能得到解决,希望能有更多的技术大牛给我提下建议,谢谢了

思路:根据VB110取出来的值,对10做指数运算,乘以你用字符串转实数S_R指令获得的数值,理论上可以算出来“正确数值”
实际上就是做了个科学计数法的计算XD

没200的环境,很久没用了,看了下手册随手写了段STL,不对勿怪
如果之前是用LAD的话,自己再按思路转化一下吧

STR VB110,1,VD300  //VD300存放10的指数
LN 10,VD304              //计算10的自然对数Ln 10
*R VD300,VD304 //Ln 10乘以10的指数,结果存放在VD204
EXP VD304,VD308    //利用EXP计算出10的指数
*R VD200,VD308      //将取得的一位小数实数,乘以小数点位数,终值保存到VD308

不是用除法获取数据的,ITA、DTA 和 RTA这些指令中选择你需要的。

联系方式
CONTACT US

电话:13818569113      15721373211

邮箱:fushidianji@139.com

网址:http://www.jiansujiabc.com

地址:上海青浦区北青公路7171号111-112室

用手机扫描二维码关闭