news 2026/1/17 11:38:09

威纶通触摸屏宏指令:简易红绿灯控制程序实战教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
威纶通触摸屏宏指令:简易红绿灯控制程序实战教程

威纶通触摸屏宏指令红绿灯控制程序 威纶通触摸屏宏指令红绿灯控制程序,MT8071iE触摸屏 利用宏指令程序来控制,按下启动按钮,红绿灯系统运行,宏指令注释清晰,方便理解程序。 具有很好的学习意义和借鉴价值。

半夜调试威纶通触摸屏的宏指令时,突然发现用红绿灯程序来练手特别有意思。MT8071iE这款屏的宏指令虽然比不上高级编程语言,但玩转工控逻辑绰绰有余。咱们直接开撸代码,先搞个带震动反馈的启动按钮。

先定义几个关键变量:

local START_BTN = LW_Bit(100) -- 启动按钮对应LW100地址 local RED_LIGHT = LB_Bit(0) -- 红灯输出LB0 local YELLOW_LIGHT = LB_Bit(1) -- 黄灯LB1 local GREEN_LIGHT = LB_Bit(2) -- 绿灯LB2 local COUNTER = LW_DWord(200) -- 计时器用LW200双字

这里有个骚操作——用LW地址做按钮状态,LB地址直接驱动指示灯。实际接线时记得把LB点接到PLC的输出端子上,别傻乎乎接反了。

启动逻辑得带防抖:

function OnStart() if START_BTN == 1 then SetDevice(COUNTER, 0) -- 计时器清零 SetDevice(RED_LIGHT, 1) -- 先亮红灯 SetDevice(YELLOW_LIGHT, 0) SetDevice(GREEN_LIGHT, 0) Vibrate(500) -- 震动半秒提醒操作成功 end end

这个Vibrate函数是触摸屏自带的震动反馈,调试时用来确认按钮触发特别直观。注意宏指令的执行周期设置别超过500ms,否则震动会卡成震动棒。

红绿灯核心逻辑得用状态机:

function TrafficLight() if RED_LIGHT then COUNTER = COUNTER + 1 if COUNTER >= 30 then -- 红灯30秒 SetDevice(RED_LIGHT, 0) SetDevice(GREEN_LIGHT, 1) COUNTER = 0 end elseif GREEN_LIGHT then COUNTER = COUNTER + 1 if COUNTER >= 25 then -- 绿灯25秒 SetDevice(GREEN_LIGHT, 0) SetDevice(YELLOW_LIGHT, 1) COUNTER = 0 end else COUNTER = COUNTER + 1 if COUNTER >= 5 then -- 黄灯5秒 SetDevice(YELLOW_LIGHT, 0) SetDevice(RED_LIGHT, 1) COUNTER = 0 end end end

这里藏着个坑——宏指令没有真正的多线程,状态切换时如果计时器没清零会直接跳阶段。建议用Modbus协议同步PLC的计时器做双保险。

最后在宏指令循环里挂上这两个函数:

function main() OnStart() TrafficLight() delay(1000) -- 1秒周期执行 end

实际调试时发现delay参数设太小会导致触摸屏卡顿,建议配合PLC的扫描周期调整。记得在HMI画面上加个实时计时器显示,用LW200的数值除以10就是剩余秒数,贼方便。

这个方案最骚的是能直接移植到真实路口控制,把LB点换成继电器输出就能带220V信号灯。有次现场调试时突发奇想,给黄灯状态加了闪烁逻辑:

if YELLOW_LIGHT then local blink = COUNTER % 2 -- 取模实现闪烁 SetDevice(YELLOW_LIGHT, blink) end

结果甲方大爷看到后直呼专业,其实就两行代码的事。工控编程的乐趣,就在于用简单逻辑解决实际问题,这红绿灯程序算是入门必修课了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/1 22:33:51

Highcharts 配置语法详解

Highcharts 配置语法详解 Highcharts 是一个功能强大的图表库,可以用于创建各种类型的图表,如柱状图、折线图、饼图等。本文将详细介绍 Highcharts 的配置语法,帮助您更好地使用这个库。 1. 高级图表配置 在 Highcharts 中,所有的图表配置都通过一个 JSON 对象来实现。以…

作者头像 李华
网站建设 2026/1/15 15:58:23

教育AI架构师必学的4个机器学习算法,从线性回归到Transformer

教育AI架构师必学的4个机器学习算法:从线性回归到Transformer 引言:教育AI的“算法困境”与破局之道 作为教育AI架构师,你一定遇到过这些问题: 如何根据学生的作业数据预测期末成绩,提前干预学困生?如何识别…

作者头像 李华
网站建设 2026/1/1 22:18:52

AI魔法剪辑:用Python代码自动生成震撼电影预告片的秘密武器

目录 引言:当代码遇见创意,剪辑革命悄然来临 一、智能剪辑的技术基石:为什么选择Python? 1.1 Python在多媒体处理中的独特优势 1.2 核心技术栈深度解析 二、智能剪辑的核心魔法:算法原理大揭秘 2.1 场景检测的智能…

作者头像 李华
网站建设 2026/1/1 22:14:59

大模型辅助的细粒度知识图谱构建用于机器人故障诊断

文章摘要随着工业机器人在制造业的快速部署,先进维护技术需求日益凸显。本研究提出一种基于大型语言模型(LLM)辅助的数据增强方法,解决维护文本中嵌套实体识别难题和工业数据标注稀缺问题,构建更细粒度的故障诊断知识图谱,在小样本场景下平均F1值提升达8.25%。阅读原文或https:…

作者头像 李华
网站建设 2026/1/1 22:04:15

强烈安利!继续教育必用TOP8 AI论文网站测评

强烈安利!继续教育必用TOP8 AI论文网站测评 2025年继续教育AI论文工具测评:精准匹配学习与研究需求 在继续教育的背景下,越来越多的学习者需要撰写高质量的论文以提升学术能力或满足课程要求。然而,面对繁重的写作任务和复杂的格…

作者头像 李华
网站建设 2026/1/1 22:03:28

电影《匿杀》票房破亿 黄晓明以复杂人物切入犯罪悬疑叙事

2025年12月31日,由柯汶利执导的犯罪悬疑大片《匿杀》在全国院线正式上映,影片上映第二日票房就突破亿元大关,在跨年档多部影片同台竞争的市场环境下,《匿杀》取得这一成绩,显示出影片在悬疑犯罪类型中的市场吸引力&…

作者头像 李华