wincc flexible 脚本写模拟量转换

脚本如下:

Dim tem1 ,tem2,tem3, output
If (input >= in_min )And (input <= in_max) Then
 tem1 = in_max -in_min
 tem2 = out_max - out_min
 tem3 =Rnd( tem2 / tem1 )
 output = input * tem3
End If
Script_1 = output
其中 input ,in_max,in_min,out_max,out_min 为函数参数
但调试不好 总是出随机数字 或者超限

问题补充:
我的脚本意思是 写个模拟量转换 如 温度 、压力等 
input 是模拟量输入值,in_max 是模拟量输入值的最大上限,in_min是模拟量输入的最小下限,out_max是需要转换输出的最大值,out_min是需要转换的最小值,output 是实际转换值。

我这样提取 input ,in_max...等等的值对吗 还是需要加函数??

最佳答案

如果你想完成这个功能其实使用WINCC flexible中变量的线性转换就可以实现这个功能了,如果你是像用脚本来写的话你去掉RND即可如下:
返回值我直接赋值给内部变量OUTPUT了在按钮按下的时候调用这个脚本即可显示出处理过的值
Dim tem1 ,tem2,tem3, output
If (input >= in_min )And (input <= in_max) Then
 tem1 = in_max -in_min
 tem2 = out_max - out_min
 tem3 = tem2 / tem1
 output = input * tem3
End If
SmartTags("output") = output

提问者对于答案的评价:
我已经弄好了 ,rnd 去掉也是不行 之前试过,不过 还是谢谢了

最佳答案作者回复:
不会啊,我测过的,我测过没问题啊。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年7月25日 下午10:20
下一篇 2017年7月25日 下午10:21

相关推荐