当前位置: 主页 > PLC控制

wincc flexible 脚本写模拟量转换

脚本如下:

Dimtem1,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
EndIf
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…等等的值对吗还是需要加函数??

最佳答案

如果你想完成这个功能其实使用winccflexible中变量的线性转换就可以实现这个功能了,如果你是像用脚本来写的话你去掉RND即可如下:
返回值我直接赋值给内部变量OUTPUT了在按钮按下的时候调用这个脚本即可显示出处理过的值
Dimtem1,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
EndIf
SmaRTTags("output")=output

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

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

  • 关注微信

猜你喜欢

微信公众号