leonhuang
级别: 略有小成
精华主题: 0
发帖数量: 59 个
工控威望: 202 点
下载积分: 3933 分
在线时间: 37(小时)
注册时间: 2013-06-27
最后登录: 2023-11-09
查看leonhuang的 主题 / 回贴
楼主  发表于: 2014-04-26 14:39
        本人做一个项目用到了Q64AD智能模块,使有GX works2 软件;智能模块(4~20mA开关设置),(平均处理 50次、参数),(自动刷新数据输出D11)都设好了。测温用PT100,温度输入范围-99.99~199.99 对应PLC:0~4000;我写了个小程序:27度时D11输出是1698;199.99度时D11输出4000;99.99度D11输出0  ;温度是用信号发生器输入的。如果温度是热电阻输入输出4~20mA信号,如何把“0,1698,4000”等PLC中的时实数据转换为实际的温度,并显示在GT2000的触摸屏上!
    我在网络上查了一个公式:Dv=[(Osh-Osl )*(Iv-Isl)/(Ish-Isl)]+Osl
         Dv:换算结果     Osh:换算结果高限  Osl:换算结果低限 Iv:换算对象  Ish:换算对象高限 Isl:换算对象低限
    如我实际温度是27度约等于[199.99-(-99.99)]*(1698-0)/(4000-0)+(-99.99)
    实际温度范围如果有两种,压力有一种,如何实现公式中的数据转换。
    这个公式能否用?我用这个公式写了一段程序,好像存在二进制和实数运算出错的问题!写程序是用二进制浮点运算还是用BIN运算!

如果用GX WORKS2写成FB程序,或结构化程序怎样做!或者最简单的梯形图程序员!请高手指教!
可加我微信leonhuang2326 谢谢!
leonhuang
级别: 略有小成
精华主题: 0
发帖数量: 59 个
工控威望: 202 点
下载积分: 3933 分
在线时间: 37(小时)
注册时间: 2013-06-27
最后登录: 2023-11-09
查看leonhuang的 主题 / 回贴
1楼  发表于: 2014-05-10 19:38
非常感谢!