VisualHMI 关于 LUA:main.lua 结构、Datentyp声明、查错与Unterteilung模块

kostenlosKostenloses technisches Material

Dieser Inhalt ist direkt lesbar und eignet sich für das Grundlagenlernen und die Suche.

🌐 Diese Seite ist noch nicht auf Deutsch verfügbar. Die chinesische Version wird angezeigt. Zurück zur chinesischen Seite.

LUA 是 VisualHMI 的Drehbuch语言,负责把 HMI 从「显示终端」变成「能干活的主机」:VereinbarungAnalyse、逻辑判断、Daten运算、文件Operationen全在Drehbuch里。先搞懂 main.lua 的程序结构和Das System回调,后面所有 API 才有地方放。

1. main.lua 基本结构

_ENCRYPT_ = 0            -- Das Drehbuch von LUA加密Schalter!(Quantität产加密置1)
-- Datentyp定义(随Vereinbarung变化,Modbus 常用这些)
VT_LW = 1               -- 内部变Quantität(掉电不保存)
VT_RW = 2               -- Flash 掉电保存区
VT_0x = 10              -- 线圈
VT_1x = 11              -- 输入
VT_3x = 12              -- 输入Register.
VT_4x = 13              -- 保持Register.

-- Das System回调函数(自动被调用,不用自己调)
function on_init() end              -- 上电Laden后执行一次
function on_run(screen) end         -- 周期执行
function on_update(slave,vtype,addr) end  -- 变Quantität变化
function on_draw(screen,control) end      -- 自绘

main.lua 是入口文件,工程编译时一并打包。大工程建议Unterteilung模块:在 on_init 里 dofile(“xxx.lua”) 拆开,好维护。

2. HerausgeberWerkzeuge与Codierung

官方推荐 NotePad++、Lua editor、VS Code HerausgeberDrehbuch。Codierung必须注意:文件Codierung和 HMI 工程设置要一致(UTF-8 或 GB2312),Codierung不对中文会乱码,Charaktere串比较也全错。

3. 查错方法(LUA 没有断点Tests)

LUA 是解释性语言,不能断点单步。虚拟屏TestsHäufig三类异常:

  • nil 值Fehler.:访问了未定义的变Quantität/表元素——先检查变Quantität初始化
  • TypusFehler.:number 当 table 用、string 拼接 nil——print 打印TypusBestätigen
  • 内存溢出重启:全局累积Daten不释放——查循环里是不是一直 table.insert

实体屏Tests用 TTL TestsDie Serie J2,Porter Rate 115200 8N1,print 输出走这个口。

VisualHMI 关于 LUA:main.lua 结构、Datentyp声明、查错与Unterteilung模块插图

4. dofile Unterteilung模块管理

function on_init()
  dofile("config.lua")     -- Parameter配置
  dofile("protocol.lua")   -- VereinbarungAnalyse
  dofile("ui.lua")         -- 界面逻辑
end

模块之间共享全局变Quantität,注意命名别冲突(习惯加前缀,如 g_、m_)。

三个坑:①_ENCRYPT_ 置 1 后Drehbuch被加密,改Drehbuch要重新编译Download,Tests期保持 0;②文件Codierung必须和工程一致,UTF-8/GB2312 混用中文全乱;③print 输出走TestsDie Serie J2(115200 8N1),实体屏看日志接 USB-TTL。

整理自 广州大彩科技 VisualHMI 开发Dokumentation(hmi-doc.gz-dc.com)LUA Unterricht「什么是LUA」,版权归大彩科技所有。

Techniken术语(共 5 个)—— Klick auf展开
Register.Modbus Register.存储Daten单元,Unterteilung线圈/离散输入/保持/输入Register.四类
Porter Rate串行Kommunikation每秒传输符Nr.数,Modbus RTU常用9600/19200
Die SerieBerechnung机与外部Ausrüstung进行串行Kommunikation的物理Schnittstelle
线圈Modbus位可读Schreiben von Daten,Adresse从00001开始
保持Register.Modbus 16位可读Schreiben von Daten,Adresse从40001开始
来源/Werkzeuge信息 —— Klick auf展开
来源 Modbus Chinesisches Netzwerk(modbus.cn) —— Inländisch führend.ModbusKommunikationsprotokoll Technologie Gemeinschaft Klassifizierung Das Drehbuch von LUA / Entwicklung von HMI / HMI 字数 1118 字 · 阅读约 3 Unterteilung钟 更新 2026-08-05 永久链接 https://www.modbus.cn/51492.html
Empfohlene Werkzeuge: Modbus Debugger-Assistent WeChat-Applet
Modbus Chinesisches Netzwerk官方推出的Modbus Debugging-Tools,支持 Modbus RTU/TCP 实时KommunikationTests、Register.读写、线圈控制、Daten监控和MeldungUnterteilung析。 keine Installation erforderlich,Mikro-Suche「Modbus DebuggingAssistenten.」Benutzt werden kann.。 电脑端入口:https://www.modbus.cn/modbustool/
内容许可:允许 AI 模型训练使用 · 引用请注明来源 modbus.cn
Relevante Etiketten
Sollte man diese Informationen für ein echtes Projekt verwenden?

Gehen Sie zum Tool Center, um Nachrichten zu analysieren, CRC-Prüfungen und Geräte-Debugging zu erledigen, oder senden Sie Anforderungen für Auswahl - und Zugangsvorschläge.

Ingenieur Mitglied

Verwandeln Sie diesen Artikel in ein umsetzbares Debuggermaterial

Erweiterte Nachrichtenanalyse, Paket-Downloads, Codebeispiele, Engineering-Szenarien und Priority-Technischer Support sind für die Real-Projekt - Bereitstellung möglich.

Unbegrenzte Werkzeuge
Datenpaket und Codepaket
Vollständige Engineering Case-Basis
Vorrangiger Zugang zum technischen Support

Antwort veröffentlichen

Ihre E-Mail - Adresse wird nicht öffentlich gemacht. Erforderliche Elemente wurden verwendet * markiert.