"# VisualHMI \u544a\u8b66\u9009\u62e9\uff1aon_select_warning \u663e\u793a\u5904\u7f6e\u5efa\u8bae\n\n> 2026-08-04 | 2026-08-04\n> http:\/\/www.modbus.cn\/en\/51506.html\n\n**LUA \u811a\u672c, \u4e32\u53e3\u5c4f\/HMI \u5f00\u53d1**\n\n---\n\n\u70b9\u51fb\u544a\u8b66\u5217\u8868\u4e2d\u7684\u67d0\u6761\u8bb0\u5f55\uff0c\u89e6\u53d1 `on_select_warning` \u56de\u8c03\uff0c\u83b7\u53d6\u544a\u8b66\u7684 ID\u3001\u89e6\u53d1\/\u89e3\u9664\u65f6\u95f4\u3001\u6587\u672c\u63cf\u8ff0\uff0c\u636e\u6b64\u663e\u793a\u6807\u51c6\u5316\u5904\u7f6e\u5efa\u8bae\u2014\u2014\u6545\u969c\u54cd\u5e94\u6548\u7387\u76f4\u63a5\u62c9\u6ee1\u3002\n\n## 1. \u542f\u7528\u6761\u4ef6\n\n\u544a\u8b66\u63a7\u4ef6\u914d\u4e24\u70b9\u624d\u80fd\u89e6\u53d1\u56de\u8c03\uff1a\n\n- \u544a\u8b66\u663e\u793a\u7684**\u63a7\u4ef6 ID \u2260 0**\uff08\u5982 1\uff09- **\u5bb9\u8bb8\u9009\u4e2d**\uff1a\u52fe\u9009\n\n\u26a0\ufe0f \u4ec5**\u5b9a\u5236\u56fa\u4ef6**\u53ef\u7528\uff1b\u82e5\u8be5\u544a\u8b66\u542f\u7528\u4e86\"\u544a\u8b66\u53c2\u6570\"\u529f\u80fd\uff0c\u6b64\u56de\u8c03**\u4e0d\u4f1a\u88ab\u89e6\u53d1**\uff08\u4e8c\u8005\u4e92\u65a5\uff09\u3002\n\n![\u544a\u8b66\u9009\u4e2d\u914d\u7f6e](https:\/\/www.modbus.cn\/wp-content\/uploads\/2026\/08\/visualhmi\/lu010_1.png)\n\n## 2. on_select_warning\n\n```\nfunction on_select_warning(screen_id, control_id, warning_id, starttime, stoptime, warning_text)\n  -- warning_id: \u544a\u8b66\u5e8f\u53f7(\u4ece0\u5f00\u59cb)\n  -- starttime\/stoptime: \u89e6\u53d1\/\u89e3\u9664\u65f6\u95f4(32\u4f4d\u65f6\u95f4\u6233,\u79d2)\n  -- warning_text: \u544a\u8b66\u539f\u59cb\u63cf\u8ff0\nend\n```\n\n## 3. \u6848\u4f8b\uff1a\u544a\u8b66\u5904\u7f6e\u5efa\u8bae\n\n**\u544a\u8b66\u8bbe\u7f6e**\uff1aID0 \u76f8\u5e8f\u4fdd\u62a4\uff08LW1001==1\uff0c\u7b49\u7ea71\uff09\u3001ID1 \u6c34\u6d41\u5f00\u5173\u4fdd\u62a4\uff08LW1002==1\uff0c\u7b49\u7ea72\uff09\u3001ID2 \u6c34\u4f4d\u5f00\u5173\u4fdd\u62a4\uff08LW1003==1\uff0c\u7b49\u7ea73\uff09\u3002\n\n**\u753b\u9762**\uff1a\u544a\u8b66\u63a7\u4ef6 ID=1\u3001\u5bb9\u8bb8\u9009\u4e2d\uff1b\u65b0\u589e\u753b\u9762\u653e 1 \u4e2a\u6570\u503c\u63a7\u4ef6\uff08\u663e\u793a\u544a\u8b66ID\uff09+ 3 \u4e2a\u6587\u672c\u63a7\u4ef6\uff08\u89e6\u53d1\u65f6\u95f4\/\u89e3\u9664\u65f6\u95f4\/\u544a\u8b66\u5185\u5bb9\u53ca\u89e3\u51b3\u65b9\u6848\uff09\u3002\n\n**LUA**\uff1a\n\n```\ng_Solution = {\n  [0] = \"1. \u786e\u8ba4\u662f\u5426\u771f\u7684\u76f8\u5e8f\u9519\u8befn2. \u4ea4\u6362\u4efb\u610f\u4e24\u6839\u706b\u7ebfn3. \u68c0\u67e5\u76f8\u5e8f\u4fdd\u62a4\u5668\/\u7ee7\u7535\u5668\u8bbe\u7f6en4. \u53d8\u9891\u5668\/\u8f6f\u542f\u52a8\u5668\u5185\u90e8\u8bbe\u7f6en5. \u73b0\u573a\u591a\u8bbe\u5907\u4f9b\u7535\u51b2\u7a81\",\n  [1] = \"1. \u51b7\u5374\u6c34\u672a\u5f00\u542f\u6216\u9600\u95e8\u5173\u95edn2. \u7ba1\u8def\u5835\u585e\u6216\u6ee4\u7f51\u810f\u5835n3. \u6c34\u6cf5\u6545\u969c\u6216\u626c\u7a0b\u4e0d\u8db3n4. \u6c34\u6d41\u5f00\u5173\u672c\u8eab\u6545\u969c\u6216\u8bbe\u5b9a\u4e0d\u5f53n5. \u6c14\u5835(Air Lock)n6. \u6c34\u6e29\u8fc7\u4f4e\u5bfc\u81f4\u7c98\u5ea6\u53d8\u5316\",\n  [2] = \"1. \u6c34\u7bb1\u5b9e\u9645\u7f3a\u6c34n2. \u6c34\u4f4d\u5f00\u5173\u5361\u6ede\u6216\u6c61\u57a2\u8986\u76d6n3. \u6c34\u4f4d\u5f00\u5173\u63a5\u7ebf\u677e\u52a8\u6216\u635f\u574fn4. \u6c14\u6ce1\u6216\u6ce1\u6cab\u5e72\u6270n5. \u5b89\u88c5\u4f4d\u7f6e\u4e0d\u5f53\",\n}\n\nfunction on_select_warning(screen_id, control_id, warning_id, starttime, stoptime, warning_text)\n  if screen_id == 0 and control_id == 1 then\n    set_uint16(VT_LW, 0x2000, warning_id)   -- \u544a\u8b66ID\n    local y1,mo1,d1,h1,mi1,s1 = make_datetime(starttime)\n    set_string(VT_LW, 0x2010, string.format(\"%04d-%02d-%02d %02d:%02d:%02d\", y1,mo1,d1,h1,mi1,s1))\n    local y2,mo2,d2,h2,mi2,s2 = make_datetime(stoptime)\n    set_string(VT_LW, 0x2020, string.format(\"%04d-%02d-%02d %02d:%02d:%02d\", y2,mo2,d2,h2,mi2,s2))\n    set_string(VT_LW, 0x2030, warning_text) -- \u544a\u8b66\u5185\u5bb9\n    set_string(VT_LW, 0x2040, g_Solution[warning_id])  -- \u5904\u7f6e\u5efa\u8bae\n  end\nend\n```\n\nmake_datetime(\u65f6\u95f4\u6233) \u8fd4\u56de \u5e74\/\u6708\/\u65e5\/\u65f6\/\u5206\/\u79d2 \u516d\u4e2a\u503c\uff0c\u914d\u5408 string.format \u8f93\u51fa\u6807\u51c6\u65f6\u95f4\u4e32\u3002\n\n![\u5904\u7f6e\u5efa\u8bae\u663e\u793a](https:\/\/www.modbus.cn\/wp-content\/uploads\/2026\/08\/visualhmi\/lu010_2.png)\n\non_select_warning \u662f\u300c\u5b9a\u5236\u56fa\u4ef6\u300d\u4e13\u5c5e\uff0c\u666e\u901a\u56fa\u4ef6\u6ca1\u8fd9\u56de\u8c03\u3002\u548c\u544a\u8b66\u53c2\u6570\u529f\u80fd\u4e92\u65a5\u2014\u2014\u8981\u9009\u4e2d\u7684\u544a\u8b66\u522b\u5f00\u53c2\u6570\u3002\n\n\u6574\u7406\u81ea \u5e7f\u5dde\u5927\u5f69\u79d1\u6280 VisualHMI \u5f00\u53d1\u6587\u6863\uff08hmi-doc.gz-dc.com\uff09LUA \u6559\u7a0b\u300c\u544a\u8b66\u9009\u62e9\u300d\uff0c\u7248\u6743\u5f52\u5927\u5f69\u79d1\u6280\u6240\u6709\u3002\n\n---\n*modbus.cn*\n"