经典WinCC7.5Sp2仪表圆弧图形报警角度脚本设计
通过控制圆弧的起始角度和结束角度,可以控制报警区域指示的显示。
弧角问题真是反人类。 0度为X坐标的正方向。顺时针增加到360 度,然后返回到0 度。也可以表示为逆时针方向的负角。
谢天谢地,开头和结尾是按顺时针方向划分的。
如果接受大于360度的角度,就会将其处理成360度以内的角度。这是我的分析。
LBP处理脚本无法实现任意尺度角度的角度自适应,只能处理如图所示的180度尺度。
例如下图所示的圆弧刻度LBP就需要修改脚本来适配:
偷懒是每个技术人员的基本需求和技能修养。
————————————————– ——–
该标尺总共由5条弧线组成,其中基本弧线cirNoraml是最重要的弧线。设置其两个控制角度也会设置缩放角度。这就需要在屏幕打开时自动设置其他四个圆弧的控制角度与cirNormal一致。这不需要在配置时设置其他弧角。
处理某个弧的几何属性中模拟量程限值和报警限值变化的事件,以修改报警弧的角度:
函数StartAngle_Trigger(ByVal Item)
暗淡NormObj、HHObj、HObj、LObj、LLObj
调暗最小值、最大值、跨度值
调暗startDeg、endDeg、spanDeg
暗度Per1
调暗x、y
记住各个控制点的原始数据,方便对不合理的情况进行处理和比较。
昏暗HH、H、L、LL
设置NormObj=ScreenItems(‘cirNormal’)
设置LLObj=ScreenItems(‘cirAlarmLow’)
设置LObj=ScreenItems(‘cirWarningLow’)
设置HObj=ScreenItems(‘cirWarningHigh’)
设置HHObj=ScreenItems(‘cirAlarmHigh’)
min=SmartTags(‘.Cfg_Y1’).Value
max=SmartTags(‘.Cfg_Y2’).Value
跨度值=最大值- 最小值
‘ 显示小数点
ScreenItems(‘gau’).ShowDecimalPoint=(spanValue/5) 1
startDeg=NormObj.StartAngle
起始角度=起始角度Mod 360
endDeg=endDeg Mod 360
如果startDeg 0 那么
起始角度=起始角度+ 360
如果endDeg 0 那么
结束角度=结束角度+ 360
如果endDeg startDeg 那么
跨度=360 – 起始角度+ 结束角度
别的
跨度=结束位置- 起始位置
DegreePer1=spanDeg/spanValue
‘———————————————— – ——–
‘ 处理HH 弧
x=SmartTags(‘.Cfg_LimitAH’).Value
y=(x – 最小值) * DegreePer1
HH=y
‘适应仪器弧度
y=(y + 起始角度) Mod 360
‘纠正以防止不合理情况发生
如果y=endDeg 那么
y=endDeg-1
HHObj.Visible=False
别的
HHObj.Visible=True
‘设置HH弧的起始角度
HHObj.StartAngle=y
‘———————————————— – ———
‘处理LL弧
x=SmartTags(‘.Cfg_LimitAL’).Value
y=(x – 最小值) * DegreePer1
LL=y
‘适应仪器弧度
y=(y + 起始角度) Mod 360
‘纠正以防止不合理情况发生
如果y=startDeg 那么
y=起始角度+ 1
LLObj.Visible=False
别的
LLObj.Visible=True
‘设置LL圆弧的结束角度
‘———————————————— – ———
‘处理L弧
‘设置L弧的起始角度为LL弧的结束角度
x=SmartTags(‘.Cfg_LimitWL’).Value
y=(x – 最小值) * DegreePer1
L=y
‘适应仪器弧度
y=(y + 起始角度) Mod 360
‘纠正,防止不合理情况发生
如果L=LL 或LL L 则
y=LObj.StartAngle + 1
LObj.Visible=False
别的
LObj.Visible=True
‘设置L弧的结束角度
‘———————————————— – ———
‘处理H弧
‘ 将H 弧的结束角度设置为HH 弧的起始角度
x=SmartTags(‘.Cfg_LimitWH’).Value
y=(x – 最小值) * DegreePer1
H=y
‘适应仪器弧度
y=(y + 起始角度) Mod 360
‘纠正,防止不合理情况发生
如果H=HH 或H HH 那么
HObj.Visible=False
别的
HObj.Visible=True
‘设置L弧的结束角度
HObj.StartAngle=y
HMIRuntime.Trace ‘LL=’LL’L=’L’H=’H’HH=’HH vbNewLine
欢迎访问西门子工业支持中心平台“Link”了解更多信息。
如果您也有感受,欢迎您在技术论坛“链接”发帖,一起讨论~
为您推荐:
PLC工程师需要了解的几个SCL实用技巧(热门推荐)
用户评论
冷落了♂自己·
这篇关于WinCC7.5Sp2仪表圆弧图形报警角度脚本的教程真是及时雨啊,我最近正好在搞这个项目,能学到这么多实用的技巧,真是太棒了!
有5位网友表示赞同!
淡抹烟熏妆丶
这个脚本设计得真不错,我之前也尝试过,但效果总是不够理想。看了这篇教程,感觉思路清晰多了,谢谢分享!
有18位网友表示赞同!
恰十年
搞了半天,才发现WinCC7.5Sp2的圆弧图形报警角度脚本这么复杂,不过这篇教程分析得很透彻,学到了不少新知识。
有14位网友表示赞同!
回忆未来
这个脚本设计得挺有创意的,但我感觉在应用过程中可能会遇到兼容性问题,希望能有进一步的说明。
有6位网友表示赞同!
绳情
看了这个教程,感觉自己的技术水平又提升了一步,对于WinCC7.5Sp2的圆弧图形报警角度脚本有了更深的理解。
有12位网友表示赞同!
看我发功喷飞你
这篇教程太实用了,我之前的项目中就遇到了类似的问题,现在终于有了解决方法,谢谢分享!
有18位网友表示赞同!
熟悉看不清
搞不懂为什么这么复杂的脚本,教程里还写得那么简单,对我来说有点难度,希望能有更详细的解释。
有20位网友表示赞同!
何必锁我心
这个脚本设计得真是巧妙,没想到WinCC7.5Sp2还能这样操作,学到了新知识,感谢分享!
有15位网友表示赞同!
为爱放弃
这篇教程对我来说太有帮助了,之前的项目中我也遇到过类似的问题,现在终于找到了解决方案。
有12位网友表示赞同!
不离我
这个脚本设计得挺实用的,不过我觉得对于初学者来说,可能还需要一些额外的学习资料。
有6位网友表示赞同!
有恃无恐
这篇教程让我对WinCC7.5Sp2的圆弧图形报警角度脚本有了全新的认识,真是太棒了!
有8位网友表示赞同!
。婞褔vīp
感觉这个脚本设计得挺有创意的,不过在实际应用中,我觉得还需要考虑一些实际操作上的问题。
有11位网友表示赞同!
断秋风
这个教程太实用了,我之前的项目中就遇到过类似的问题,现在终于找到了解决方案,真是太感谢了!
有18位网友表示赞同!
浮殇年华
对于WinCC7.5Sp2的圆弧图形报警角度脚本,这篇教程让我有了新的认识,学到了很多实用的技巧。
有19位网友表示赞同!
(り。薆情海
这个脚本设计得很有意思,不过我觉得在实际操作中,可能还需要一些调试和优化。
有5位网友表示赞同!
一个人的荒凉
这篇教程让我对WinCC7.5Sp2的圆弧图形报警角度脚本有了更深的理解,感觉自己的技术水平提高了。
有7位网友表示赞同!
半世晨晓。
这个脚本设计得挺实用的,不过我觉得对于一些高级功能,教程里还可以再详细一些。
有18位网友表示赞同!
艺菲
这篇教程让我对WinCC7.5Sp2的圆弧图形报警角度脚本有了全新的认识,感觉自己在工业自动化领域的知识又丰富了不少。
有10位网友表示赞同!