昆仑通态超纯水组态程序昆仑通态超纯水组态程序,功能齐全,界面简洁。 plc程序代写 代做 代编,plc程序设计,plc编程,西门 plc程序代写 代做 代编,plc程序设计,编程,西门子plc,三菱plc,台达plc,信捷plc,基恩士plc,变频器调试,变频器联动调试,485通讯,Modbus通信协议,微型热敏打印机与触摸屏连接组态,基于C和VB的各种宏代码编写,脚本编写,精通昆仑通态触摸屏,威纶通触摸屏,三菱触摸屏,信捷触摸屏,组态设计,各种文本显示器编程,不同品牌型号触摸屏之间的程序移植等,远程,电气CAD图纸等系统设计,英语交流顺畅,可直接对接老外开展工作,致力于为行业提供高性价比的服务,也欢迎小微企业洽谈长期(限江浙沪区域)。

昆仑通态这套超纯水系统的组态程序确实有点东西,尤其是它把复杂的工业控制逻辑用可视化界面玩得明明白白。前两天刚给苏州某半导体厂搞了个产线升级项目,他们那套纯水设备要加装触摸屏远程监控,正好用上这套方案。

咱们先看个典型的水泵控制逻辑。用ST语言写的自动冲洗程序里,这段定时器嵌套就挺有意思:

IF ManualMode THEN
    Pump := ManualCommand;
ELSE
    TON_Purge(IN:=Conductivity>10.0, PT:=T#5M);
    IF TON_Purge.Q THEN
        Pump := TRUE;
        TON_Rinse(IN:=TRUE, PT:=T#2M);
        IF TON_Rinse.Q THEN
            Pump := FALSE;
            TON_Interval(IN:=TRUE, PT:=T#30M);
        END_IF;
    END_IF;
END_IF;

这坨代码实现的是电导率超标自动触发5分钟预冲洗,接着2分钟深度冲洗,最后进半小时待机循环。比传统梯形图省了十几个中间继电器,维护人员盯着触摸屏上的计时器动画就能快速定位故障段。

通讯这块碰到过个坑——Modbus RTU读取水质传感器时老丢包。后来在脚本里加了报文超时重发机制:

Sub ReadSensor()
    Dim retryCount
    For retryCount = 1 To 3
        If MBusMaster.ReadHoldingRegisters(1, 40001, 2, DataBuffer) Then
            TDSValue = DataBuffer(0)/10 
            Exit Sub
        End If
        Delay(200)
    Next
    AlarmTrigger 201, "传感器通讯异常"
End Sub

这个VB脚本在三次重试失败后才触发报警,实测把通讯成功率从87%提到99.6%。特别是用昆仑通态自带的调试工具抓报文,发现有些国产传感器竟然不遵循标准的CRC校验规则,只能在协议解析层做容错处理。

昆仑通态超纯水组态程序昆仑通态超纯水组态程序,功能齐全,界面简洁。 plc程序代写 代做 代编,plc程序设计,plc编程,西门 plc程序代写 代做 代编,plc程序设计,编程,西门子plc,三菱plc,台达plc,信捷plc,基恩士plc,变频器调试,变频器联动调试,485通讯,Modbus通信协议,微型热敏打印机与触摸屏连接组态,基于C和VB的各种宏代码编写,脚本编写,精通昆仑通态触摸屏,威纶通触摸屏,三菱触摸屏,信捷触摸屏,组态设计,各种文本显示器编程,不同品牌型号触摸屏之间的程序移植等,远程,电气CAD图纸等系统设计,英语交流顺畅,可直接对接老外开展工作,致力于为行业提供高性价比的服务,也欢迎小微企业洽谈长期(限江浙沪区域)。

说到设备联动,某次需要把三菱FX5U的报警记录同步打印到热敏打印机。用C#写的中间件就派上用场了:

public void PrintAlarm(string msg)
{
    byte[] header = { 0x1B, 0x40 }; // ESC初始化
    byte[] feedLine = Encoding.ASCII.GetBytes("\n");
    _serialPort.Write(header, 0, 2);
    _serialPort.Write($"时间:{DateTime.Now:HH:mm}\n", Encoding.GetEncoding(936));
    _serialPort.Write(feedLine, 0, 1);
}

这里要注意汉字编码必须用GB2312,不然打出来全是乱码。后来在触摸屏上做了个打印预览窗口,把变量标签直接绑定到报警消息对象,运维小哥现在换打印纸都比以前勤快多了。

程序移植这事儿也够折腾的。上次把威纶通的配方管理功能迁移到昆仑通态,发现两家对数组变量的处理方式完全不一样。最后用脚本批量转换变量名:

import re
with open('weinview.prj') as f:
    content = f.read()
new_content = re.sub(r'LW_\d+', lambda m: f'HMI.{m.group()[3:]}', content)

这种正则替换虽然粗暴,但对付几百个变量点确实省事。不过事件脚本里的延时函数就得手动改了,威纶通用的是DELAY(500),昆仑通态得改成Sleep(500)。

现在接国外项目越来越多,触摸屏的英文界面反而比中文版简单——因为老外特别喜欢那种极简风格。有个德国客户非要实时曲线图每秒刷新,结果发现把历史存储间隔从1秒改成500毫秒,触摸屏的CPU占用率直接飙到92%。最后用了个数据缓冲池的技巧,界面显示抽稀到每秒4帧,实际存储还是按完整频率,这才把性能压回安全线。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐