维纶触摸屏程序实际项目:威纶通界面UI复制可用,支持多种尺寸及版本

维纶触摸屏程序实际项目,威纶通界面UI,复制可用,威伦通触摸EB Pro6.00以上版本均可用,ip和ie系列4.3寸7寸10寸均复制可用电子档

项目里用维纶通触摸屏做HMI开发,最头疼的就是不同尺寸屏幕适配和控件复用。最近在工业现场折腾了几个通宵,终于摸出一套靠谱的UI复用方案。直接上干货——先看这段屏幕尺寸自适应宏:

Sub Screen_OnLoad()
    Dim baseWidth = 800  '基准分辨率宽度
    Dim baseHeight = 480 '基准分辨率高度
    ratioX = HMI.ScreenWidth / baseWidth
    ratioY = HMI.ScreenHeight / baseHeight
    
    For Each obj In Screen.Objects
        obj.Left = obj.OriginalLeft * ratioX
        obj.Top = obj.OriginalTop * ratioY
        obj.Width = obj.OriginalWidth * ratioX
        obj.Height = obj.OriginalHeight * ratioY
    Next
End Sub

这个骚操作的关键在于每个控件都要预先保存OriginalXXX属性值。实测在EB Pro里,用VBScript遍历所有控件自动缩放,7寸切到10寸屏不用重新排布,特别是那些复杂的阀门动画组态,缩放后位置完全对得上。

遇到多台设备IP不同的情况,推荐用宏处理IP切换:

Sub SetPLC_IP(ip)
    SmartTags("PLC_IP") = ip
    If SmartTags("ConnectionStatus") = 0 Then
        PLC.Connect
    End If
End Sub

配合前端做个IP地址选择菜单,现场换设备直接点选就行,不用进菜单折腾。注意SmartTags要提前绑定好对应的PLC驱动参数。

元件库复用才是真生产力工具。建议把常用控件打包成自定义元件:

  1. 在元件属性里勾选"允许动态属性绑定"
  2. 导出成.ectl文件
  3. 新项目直接拖进来用

比如这个报警指示灯模板:

<CustomComponent>
    <Property Name="AlarmTag" Type="Tag" Bindable="True"/>
    <Script>
        Sub Update()
            If AlarmTag.Value Then
                SetFillColor RGB(255,0,0)
            Else
                SetFillColor RGB(0,255,0) 
            End If
        End Sub
    </Script>
</CustomComponent>

跨项目拖拽使用时,只需要重新绑定下PLC标签地址,动画效果和交互逻辑都不用重写。实测在IP系列和IE系列触摸屏上通用,4.3寸屏的触控区域自动适配得很稳。

最后说个坑:用高版本EB Pro(比如V6.05)做完工程,如果要给低版本设备用,记得导出时选"兼容模式"。上周就因为这个,现场10寸屏死活不认工程文件,差点被甲方吊起来打。

工业现场摸爬滚打过的工程师都知道,维纶通触摸屏的界面开发总有些野路子。今天分享几个实战中验证过的UI模板,适用于EB Pro6.00及以上版本,从4.3寸的小屏到10寸大屏都能无缝迁移。先上硬货——直接可复用的控件脚本。

比如这个动态按钮的脚本,直接抄走不谢:

Sub UpdateButtonColor(buttonName As String, status As Integer)
    If status = 1 Then
        SetProperty(buttonName, "PenColor", 16711935) ' 骚紫色报警
        SetProperty(buttonName, "FillColor", 255)     ' 填充红色
    Else
        SetProperty(buttonName, "PenColor", 32768)     ' 正常绿色边框
        SetProperty(buttonName, "FillColor", 8454143) ' 浅灰填充
    End If
End Sub

这脚本的精髓在颜色值的选取。维纶通的调色板用起来反人类,直接记RGB数值反而更实在。16711935这个魔数其实是#FF00FF的十进制值,比在里选色快得多。建议把常用颜色做成宏,全局调用省时省力。

多尺寸适配的秘诀藏在变量里。在画面属性里勾选"自动调整窗口大小",然后全局脚本里加这段:

Dim screenWidth As Integer
Dim screenHeight As Integer

Sub Screen_OnLoad()
    screenWidth = GetSystemInfo("ScreenWidth")
    screenHeight = GetSystemInfo("ScreenHeight")
    SetProperty("MainWindow", "Width", screenWidth)
    SetProperty("MainWindow", "Height", screenHeight)
End Sub

实测在MT8071iE(4.3寸)和MT8102iE(10寸)上都能完美铺满。注意控件位置要用百分比定位,别用固定坐标。比如把按钮的X设成screenWidth*0.2,比写死200px靠谱得多。

数据展示推荐用趋势图搭配透明背景。这个技巧很多老司机都不知道:

SetProperty("TrendView1", "BackStyle", 0)      ' 背景透明
SetProperty("TrendView1", "GridColor", &H404040) ' 网格深灰色
SetProperty("TrendView1", "AxisColor", &H808080) ' 坐标轴中灰色

重点是把网格和坐标轴调成低饱和度颜色,这样叠加在设备背景图上不违和。实测在光照强的现场,这种灰阶显示比默认的黑色系更耐看。

最后送个调试神技——在任意位置插入调试信息输出:

Sub DebugLog(message As String)
    WriteDataToFile "USB:\\debug.log", Now() & " - " & message & vbCrLf
End Sub

插U盘直接抓日志,比在线模拟器靠谱。遇到现场死机时,这招能救命。注意路径里的双反斜杠,维纶通的文件有时候会抽风。

这些代码块都是真实项目里抠出来的,直接复制到你的工程里改改就能跑。下次聊聊怎么用间接窗口实现五十个设备参数的复用界面,那才是真正的生产力核弹。
维纶触摸屏程序实际项目,威纶通界面UI,复制可用,威伦通触摸EB Pro6.00以上版本均可用,ip和ie系列4.3寸7寸10寸均复制可用电子档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值