"# \u56de\u8c03\u51fd\u6570\u8bf4\u660e\uff08\u89e6\u63a7\u5c4fLUA\u811a\u672c\u6559\u7a0b2\uff09\n\n> 2022-03-26 | 2026-07-01\n> https:\/\/www.modbus.cn\/en\/7383.html\n\n**LUA \u811a\u672c\u6587\u6863, \u89e6\u63a7\u5c4f\u5f00\u53d1\u6587\u6863**\n\n---\n\nLUA API\u56de\u8c03\u51fd\u6570\u8bf4\u660e\n\n## \u6982\u8ff0\n\n\u672c\u6587\u5c06\u4ecb\u7ecd\u5927\u5f69LUA\u811a\u672cAPI\u51fd\u6570\u4e2d\u7684\u56de\u8c03\u51fd\u6570\u4f7f\u7528\u65b9\u6cd5\uff0c\u4ee5\u53ca\u8c03\u7528\u56de\u8c03\u51fd\u6570\u7684\u6ce8\u610f\u4e8b\u9879\uff0c\u4ecb\u7ecd\u5e38\u89c1\u7684api\u56de\u8c03\u63a5\u53e3\uff0c\u5982\u4e0b\u6240\u793a\n\n- \u521d\u59cb\u5316\u51fd\u6570\uff1aon_init()- \u7cfb\u7edf\u6ef4\u7b541s\u56de\u8c03\u51fd\u6570\uff1aon_systick()- \u63a7\u4ef6\u89e6\u53d1\u56de\u8c03\u51fd\u6570\uff1aon_control_notify(screen, control, value)- \u5207\u6362\u753b\u9762\u56de\u8c03\u51fd\u6570\uff1aon_screen_change(screen)- \u5b9a\u65f6\u5668\u8d85\u65f6\u56de\u8c03\u51fd\u6570\uff1aon_timer(timer_id)- \u753b\u56fe\/\u7ebf\/\u51e0\u4f55\u56fe\u5f62\u56de\u8c03\u51fd\u6570\uff1aon_draw(screen)- U\u76d8\u3001SD\u5361\u7684\u56de\u8c03\u51fd\u6570\uff1aon_usb_inserted(dir)\/on_usb_removed()\/on_sd_inserted(dir)\/on_sd_removed()\n\n\u6ce8\uff1a\u66f4\u591aLUA\u8d44\u6599\u53ef\u53c2\u8003[LUA \u811a\u672cAPI\u51fd\u6570\u63a5\u53e3&nbsp;](http:\/\/doc.gz-dc.com\/LUA\/000_lua%20api.html)\u7ae0\u8282 \u548c\u7f51\u7ad9\uff1awww.runoob.com\/lua\n\n\u9002\u7528\u8303\u56f4\uff1aM\u7cfb\u5217\u3001W\u7cfb\u5217\u3001X\u7cfb\u5217\u3001F\u7cfb\u5217\uff08\u56fa\u4ef6\u7248\u672c &gt;= V4.2.401.0\uff09\n\n\u4f8b\u7a0b\u4e0b\u8f7d\u94fe\u63a5\uff1a\u300a[LUA API \u56de\u8c03\u51fd\u6570\u8bf4\u660e](http:\/\/www.gz-dc.com\/uploads\/file\/20190815\/LUA%E6%95%99%E7%A8%8B2-%E5%9B%9E%E8%B0%83%E5%87%BD%E6%95%B0%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E.zip)\u300b(\u70b9\u51fb\u8df3\u8f6c)\n\n## \u6ce8\u610f\u4e8b\u9879\n\n- \u5927\u5f69lua api\u91cc\u7684\u56de\u8c03\u51fd\u6570\u4e0d\u53ef\u4ee5\u88ab\u5176\u4ed6\u51fd\u6570\u8c03\u7528\uff0c\u5c5e\u4e8e\u88ab\u52a8\u89e6\u53d1\uff0c\u81ea\u52a8\u56de\u8c03\uff0c\u5982\u7528\u6237\u5bf9\u6587\u672c\u63a7\u4ef6\u952e\u503c\u8f93\u5165\uff0c\u89e6\u53d1\u56de\u8c03\u51fd\u6570on_control_notify(screen, control, value)- \u4e0d\u80fd\u66f4\u6539\u56de\u8c03\u51fd\u6570\u7684\u51fd\u6570\u540d\u3001\u53c2\u6570\u7b49\n\n## 1.1 \u51fd\u6570 on_init()\n\n\u7cfb\u7edf\u4e0a\u7535\u52a0\u8f7d LUA \u811a\u672c\u6587\u4ef6\u4e4b\u540e\uff0c\u7acb\u5373\u8c03\u7528\u6b64\u56de\u8c03\u51fd\u6570\uff0c \u901a\u5e38\u7528\u4e8e\u6267\u884c\u521d\u59cb\u5316\u64cd\u4f5c\uff0c\u4ec5\u6267\u884c\u4e00\u6b21\n\n#### \u753b\u9762\u914d\u7f6e\n\n\u5728\u753b\u9762\u4e2d\u6dfb\u52a0\u4e24\u4e2a\u6587\u672c\u63a7\u4ef6\uff0cID1\u7528\u4e8e\u663e\u793a\u7535\u538b\u503c\uff0cID2\u7528\u4e8e\u663e\u793a\u7535\u6d41\uff0c\u5982\u4e0b\u6240\u793a\n\n![cb_on_init](https:\/\/image.modbus.cn\/wp-content\/uploads\/2022\/03\/cb_on_init.png)\n\n#### LUA\u811a\u672c\n\n\u5728on_init\uff08\uff09\u51fd\u6570\u4e2d\u586b\u5199\u8bbe\u7f6e\u6587\u672c\u6846\u6570\u503c\u7684API\u51fd\u6570\uff0c\u5728\u7cfb\u7edf\u521d\u59cb\u5316\u65f6\u8c03\u7528\u6267\u884c\u3002\u5177\u4f53\u4ee3\u7801\u4e0b\u6240\u793a\n\n```\n --&#91;&#91;***************************************************************************\n** Function name: on_init\uff08\uff09\n** Descriptions:   \u7cfb\u7edf\u521d\u59cb\u5316\u65f6\uff0c\u6267\u884c\u6b64\u56de\u8c03\u51fd\u6570\u3002\n                   \u6ce8\u610f\uff1a\u56de\u8c03\u51fd\u6570\u7684\u53c2\u6570\u548c\u51fd\u6570\u540d\u56fa\u5b9a\u4e0d\u80fd\u4fee\u6539\n***************************************************************************--]]\nfunction  on_init( )\n    set_value(1,1,10) --\u8bbe\u7f6e\u6587\u672c\u63a7\u4ef6\u7684\u503c\n    set_value(1,2,2)  --\u8bbe\u7f6e\u6587\u672c\u63a7\u4ef6\u7684\u503c\nend\n```\n\n#### \u8fd0\u884c\u9884\u89c8\n\n\u8fd0\u884c\u865a\u62df\u5c4f\uff0c\u8be5\u753b\u9762\u7684\u7535\u538b\u503c\u4e3a10\uff0c\u7535\u6d41\u503c\u4e3a2\uff0c\u5982\u4e0b\u6240\u793a\uff0c\u7528\u6237\u53ef\u4ee5\u901a\u8fc7lua\u811a\u672c\u4fee\u6539\u5bf9\u5e94\u7684\u503c\uff0c\u8fdb\u4e00\u6b65\u719f\u6089\u4e86\u89e3\n\n![cb02](https:\/\/image.modbus.cn\/wp-content\/uploads\/2022\/03\/cb_on_init_rslt.png)\n\n## 1.2 \u51fd\u6570on_systick()\n\n\u7cfb\u7edf\u6bcf\u9694 1 \u79d2\u949f\u81ea\u52a8\u8c03\u7528\u6b64\u56de\u8c03\u51fd\u6570\n\n#### \u753b\u9762\u914d\u7f6e\n\n\u8be5\u753b\u9762\u6dfb\u52a0\u4e00\u4e2a\u6587\u672c\u63a7\u4ef6\uff0c\u7528\u4e8e\u7d2f\u8ba1on_systick\uff08\uff09\u88ab\u89e6\u53d1\u56de\u8c03\u7684\u6b21\u6570\n\n![cb_on_systick](https:\/\/image.modbus.cn\/wp-content\/uploads\/2022\/03\/cb_on_systick.png)\n\n#### LUA\u811a\u672c\n\n\u6559\u7a0b\u4e2d\u5728on_systick\uff08\uff09\u51fd\u6570\u91cc\u6dfb\u52a0\u4e86\u4e00\u4e2a\u663e\u793a\u56de\u8c03\u51fd\u6570\u88ab\u6267\u884c\u6b21\u6570\u7684\u7a0b\u5e8f\uff0c\u5177\u4f53\u4ee3\u7801\u5982\u4e0b\u6240\u793a\n\n```\n--&#91;&#91;***************************************************************************\n** Function name: on_systick\n** Descriptions:  \u5b9a\u65f6\u56de\u8c03\u51fd\u6570\uff0c\u7cfb\u7edf\u6bcf\u96941\u79d2\u949f\u81ea\u52a8\u8c03\u7528\u3002\n                  \u6ce8\u610f\uff1a\u56de\u8c03\u51fd\u6570\u7684\u53c2\u6570\u548c\u51fd\u6570\u540d\u56fa\u5b9a\u4e0d\u80fd\u4fee\u6539\n***************************************************************************--]]\nfunction  on_systick( )\n    sys_timer = sys_timer +1   \n    set_value(2,1,sys_timer)\nend\n```\n\n#### \u8fd0\u884c\u9884\u89c8\n\n\u6bcf\u79d2\u89e6\u53d1on_systick\uff08\uff09\u51fd\u6570\uff0c\u6548\u679c\u5982\u4e0b\u6240\u793a\n\n![](https:\/\/image.modbus.cn\/wp-content\/uploads\/2022\/03\/cb_systick.gif)\n\n## 1.3 \u51fd\u6570on_timer(timer_id)\n\non_timer(timer_id)\u5b9a\u65f6\u5668\u8d85\u65f6\u56de\u8c03\u51fd\u6570\uff0c\u5355\u72ec\u4f7f\u7528\u4e0d\u751f\u6548\u3002\u8be5\u51fd\u6570\u89e6\u53d1\u56de\u8c03\u9700\u8981\u914d\u5408 start_timer(timer_id, timeout, countdown, repeat) \uff0c\u6765\u5f00\u542f\u5b9a\u65f6\u5668\uff0c\u5b9a\u65f6\u5668\u6ea2\u51fa\u8d85\u65f6\u4e86\uff0c\u624d\u4f1a\u89e6\u53d1on_timer(timer_id)\n\n#### \u753b\u9762\u914d\u7f6e\n\n\u753b\u9762\u4e2d\u653e\u7f6e\u4e86\u4e24\u4e2a\u6309\u94ae\uff0c\u4e00\u4e2a\u542f\u7528\u5b9a\u65f6\u5668\uff0c\u4e00\u4e2a\u505c\u6b62\u5b9a\u65f6\u5668\u548c\u4e00\u4e2a\u6587\u672c\u6846\uff0c\u6587\u672c\u6846\u662f\u663e\u793a\u5b9a\u65f6\u5668\u8d85\u65f6\u540e\u8c03\u7528\u7684\u6b21\u6570\uff0c\u5982\u4e0b\u6240\u793a\n\n![cb_on_timer](https:\/\/image.modbus.cn\/wp-content\/uploads\/2022\/03\/cb_on_timer.png)\n\n#### LUA\u811a\u672c\n\n\u6559\u7a0b\u4e2d\u5728on_timer \uff08\uff09\u51fd\u6570\u91cc\u6dfb\u52a0\u4e86\u4e00\u4e2a\u663e\u793a\u56de\u8c03\u51fd\u6570\u88ab\u6267\u884c\u6b21\u6570\u7684\u7a0b\u5e8f\uff0c\u5177\u4f53\u4ee3\u7801\u5982\u4e0b\u6240\u793a\n\n```\n--&#91;&#91;***************************************************************************\n** Function name: on_timer\n** Descriptions:  \u5b9a\u65f6\u5668\u8d85\u65f6\uff0c\u6267\u884c\u6b64\u56de\u8c03\u51fd\u6570\n                  \u6ce8\u610f\uff1a\u56de\u8c03\u51fd\u6570\u7684\u53c2\u6570\u548c\u51fd\u6570\u540d\u56fa\u5b9a\u4e0d\u80fd\u4fee\u6539\n** Input value :  timer_id \u5b9a\u65f6\u8d85\u65f6\u7684\u5b9a\u65f6\u5668ID\u53f7\uff0c\u5b9a\u65f6\u5668\u7f16\u53f70~31\n***************************************************************************--]]\nfunction  on_timer(timer_id)\n     --\u5b9a\u65f6\u56680\u8d85\u65f6\u89e6\u53d1\n    if  timer_id == 0\n    then\n        timer_out = timer_out +1\n        set_value(3,3,timer_out)\n    end\nend\n\n--&#91;&#91;***************************************************************************\n** Function name: on_control_notify\n** Descriptions:  \u7528\u6237\u901a\u8fc7\u89e6\u6478\u4fee\u6539\u63a7\u4ef6\u540e\uff0c\u6267\u884c\u6b64\u56de\u8c03\u51fd\u6570\u3002\n                  \u70b9\u51fb\u6309\u94ae\u63a7\u4ef6\uff0c\u4fee\u6539\u6587\u672c\u63a7\u4ef6\u3001\u4fee\u6539\u6ed1\u52a8\u6761\u90fd\u4f1a\u89e6\u53d1\u6b64\u4e8b\u4ef6\u3002\n                  \u6ce8\u610f\uff1a\u56de\u8c03\u51fd\u6570\u7684\u53c2\u6570\u548c\u51fd\u6570\u540d\u56fa\u5b9a\u4e0d\u80fd\u4fee\u6539\n** Input value :  screen \u753b\u9762ID\n                  control \u63a7\u4ef6ID\n                  value  \u63a7\u4ef6\u503c(\u5305\u62ec\u6587\u672c\u63a7\u4ef6\u8f93\u5165\u7684\u503c)\n***************************************************************************--]]\nfunction  on_control_notify(screen,control,value)\n --***********************************************************\n --\u529f\u80fd\uff1a\u6309\u4e0b\u753b\u97624\u7684\u63a7\u4ef61\u542f\u52a8\u5b9a\u65f6\u56680\n --\u8c03\u7528\u51fd\u6570\uff1astart_timer(timer_id, timeout, countdown, repeat)\n --\u51fd\u6570\u529f\u80fd\uff1a\u542f\u52a8\u5b9a\u65f6\u5668\n --\u53c2\u6570\uff1a timer_id\uff0c \u5b9a\u65f6\u5668ID\uff1b\n --      timeout\uff0c \u8d85\u65f6\u65f6\u95f4\uff1b\n --      countdown\uff0c1\u987a\u8ba1\u65f6\uff0c0\u5012\u8ba1\u65f6\n --      repeat   \u8ba1\u65f6\u6b21\u6570\uff0c0\u65e0\u9650\u5faa\u73af \n --***********************************************************\n    if  screen == 3  and  control == 1 and  value == 1 \n    then \n        start_timer(0,1000,1,0)       --\u5f00\u542f\u5b9a\u65f6\u65f6\u56680\u5de5\u4f5c\uff0c\u8bbe\u7f6e\u8ba1\u65f61\u79d2\u89e6\u53d1\u4e00\u6b21on_timer\n    elseif  screen == 3  and  control == 2 and  value == 1 \n    then                            \n       stop_timer(0)          --\u505c\u6b62\u5b9a\u65f6\u65f6\u56680\u5de5\u4f5c\n       timer_out = 0        \n    end\n    \u2026\u2026\nend\n```\n\n#### \u8fd0\u884c\u9884\u89c8\n\n\u5f00\u542f\u5b9a\u65f6\u5668\u540e\uff0c\u8d85\u65f6\u89e6\u53d1on_timer()\uff0c\u6548\u679c\u5982\u4e0b\u6240\u793a\n\n![](https:\/\/image.modbus.cn\/wp-content\/uploads\/2022\/03\/cb_on_timer.gif)\n\n## 1.4 \u51fd\u6570on_control_notify(screen,control,value)\n\n\u7528\u6237\u89e6\u6478\u4fee\u6539\u63a7\u4ef6\u540e\uff0c\u6267\u884c\u6b64\u56de\u8c03\u51fd\u6570\u3002\u70b9\u51fb\u6309\u94ae\u63a7\u4ef6\uff0c\u4fee\u6539\u6587\u672c\u63a7\u4ef6\u3001\u4fee\u6539\u6ed1\u52a8\u6761\u7b49\u7b49\u90fd\u4f1a\u89e6\u53d1\u6b64\u51fd\u6570\uff0c\u5982\u679c\u5355\u7247\u673a\u4e32\u53e3\u6307\u4ee4\u4fee\u6539\u63a7\u4ef6\u503c\u3001\u811a\u672c\u8bbe\u7f6eset_value\u6216\u6309\u94ae\u5bf9\u5185\u7f6e\u6307\u4ee4\u89e6\u53d1\u5176\u4ed6\u63a7\u4ef6\u7b49\u5747\u4e0d\u4f1a\u89e6\u53d1\u8be5\u56de\u8c03\u51fd\u6570\uff0c\u4ec5\u7528\u6237\u64cd\u4f5c\u5c4f\u5e55\u63a7\u4ef6\u624d\u4f1a\u89e6\u53d1\n\nPS\uff1a\u5bf9\u6309\u94ae\u63a7\u4ef6\u800c\u8a00\uff0c\u8bbe\u7f6e\u4e86\u4ee5\u4e0b\u4e24\u4e2a\u914d\u7f6e\u5176\u4e2d\u4e00\u4e2a\uff0c\u6309\u94ae\u63a7\u4ef6\u5747\u4e0d\u4f1a\u89e6\u53d1on_control_notify( )\n\n1.\u5bf9\u5e94\u5355\u4e2a\u6309\u94ae\u63a7\u4ef6\uff0c\u82e5\u8bbe\u7f6e\u3010\u4e8b\u4ef6\u901a\u77e5\u3011\u4e3a\u5426\uff0c\u8be5\u6309\u94ae\u63a7\u4ef6\u6309\u4e0b\u65f6\u5019\uff0c\u5c31\u4e0d\u4f1a\u89e6\u53d1on_control_notify( )\uff0c\u5982\u4e0b\u6240\u793a\n\n![](https:\/\/image.modbus.cn\/wp-content\/uploads\/2022\/03\/cb06.png)\n\n2.\u5de5\u7a0b\u5c5e\u6027\u914d\u7f6e\uff0c\u5168\u5c40\u914d\u7f6e\u6309\u94ae\u5c5e\u6027\u3010\u6309\u94ae\u4e8b\u4ef6\u901a\u77e5\u3011\u5904\uff0c\u5982\u4e0b\u6240\u793a\n\n- \u82e5\u8bbe\u7f6e\u4e3a\u201d\u5173\u95ed\u201c\uff1a\u6240\u6709\u6309\u94ae\u63a7\u4ef6\u5747\u4e0d\u4f1a\u89e6\u53d1- \u82e5\u8bbe\u7f6e\u4e3a\u201d\u4ec5\u6309\u4e0b\u65f6\u201c\uff1a\u6240\u6709\u6309\u94ae\u63a7\u4ef6\u5747\u4ec5\u6309\u4e0b\u65f6\u5019\u89e6\u53d1- \u82e5\u8bbe\u7f6e\u4e3a\u201d\u4ec5\u5f39\u8d77\u65f6\u201c\uff1a\u6240\u6709\u6309\u94ae\u63a7\u4ef6\u5747\u4ec5\u5f39\u8d77\u65f6\u5019\u89e6\u53d1- \u82e5\u8bbe\u7f6e\u4e3a\u201d\u6309\u4e0b\u548c\u5f39\u8d77\u65f6\u201c\uff1a\u6240\u6709\u6309\u94ae\u63a7\u4ef6\u6309\u4e0b\u548c\u5f39\u8d77\u65f6\u90fd\u4f1a\u89e6\u53d1\n\n![](https:\/\/image.modbus.cn\/wp-content\/uploads\/2022\/03\/cb07.png)\n\n#### \u753b\u9762\u914d\u7f6e\n\n\u753b\u9762\u4e2d\u653e\u7f6e\u5e38\u89c1\u7684\u63a7\u4ef6\u505a\u793a\u4f8b\uff0c\u5982\u6dfb\u52a01\u4e2a\u6309\u94ae\u63a7\u4ef6(ID1)\u30011\u4e2a\u6587\u672c\u63a7\u4ef6\uff08ID2\uff0c\u952e\u76d8\u8f93\u5165\uff09\u30011\u4e2a\u56fe\u6807\u63a7\u4ef6\uff08ID3\uff0c\u5141\u8bb8\u89e6\u6478\uff09\u30011\u4e2a\u6ed1\u52a8\u9009\u62e9\u63a7\u4ef6\uff08ID4\uff09\u30011\u4e2a\u83dc\u5355\u63a7\u4ef6\uff08ID5\uff09\u30011\u4e2a\u6ed1\u52a8\u9009\u62e9\u63a7\u4ef6\uff08ID6\uff09\u3002\u5728\u589e\u52a0\u4e00\u4e2a\u6587\u672c\u63a7\u4ef6\uff08ID7\uff09\uff0c\u7528\u4e8e\u8bb0\u5f55\u54ea\u4e2a\u63a7\u4ef6\u89e6\u53d1\uff0c\u5982\u4e0b\u6240\u793a\n\n![cb05](https:\/\/image.modbus.cn\/wp-content\/uploads\/2022\/03\/cb05.png)\n\n#### LUA\u811a\u672c\n\n\u672c\u7ae0\u8282\uff0c\u5728\u56de\u8c03\u51fd\u6570\u663e\u793a\u89e6\u53d1on_control_notify\u5bf9\u5e94\u7684\u63a7\u4ef6\uff0c\u5c06\u6309\u4e0b\u7684\u4fe1\u606f\u663e\u793a\u5230\u6587\u672c\u63a7\u4ef6ID7\u4e2d\uff0c\u5177\u4f53\u4ee3\u7801\u5982\u4e0b\u6240\u793a\n\n```\n--&#91;&#91;***************************************************************************\n** Function name: on_control_notify\n** Descriptions : \u7528\u6237\u901a\u8fc7\u89e6\u6478\u4fee\u6539\u63a7\u4ef6\u540e\uff0c\u6267\u884c\u6b64\u56de\u8c03\u51fd\u6570\u3002\n                  \u70b9\u51fb\u6309\u94ae\u63a7\u4ef6\uff0c\u4fee\u6539\u6587\u672c\u63a7\u4ef6\u3001\u4fee\u6539\u6ed1\u52a8\u6761\u90fd\u4f1a\u89e6\u53d1\u6b64\u4e8b\u4ef6\u3002\n                  \u6ce8\u610f\uff1a\u56de\u8c03\u51fd\u6570\u7684\u53c2\u6570\u548c\u51fd\u6570\u540d\u56fa\u5b9a\u4e0d\u80fd\u4fee\u6539\n** Input value :  screen \u753b\u9762ID\n                  control \u63a7\u4ef6ID\n                  value  \u63a7\u4ef6\u503c(\u5305\u62ec\u6587\u672c\u63a7\u4ef6\u8f93\u5165\u7684\u503c)\n***************************************************************************--]]\nfunction  on_control_notify(screen,control,value)\n --***********************************************************\n --\u529f\u80fd\uff1a\u6309\u4e0b\u753b\u97624\u7684\u63a7\u4ef61\u542f\u52a8\u5b9a\u65f6\u56680\n --\u8c03\u7528\u51fd\u6570\uff1astart_timer(timer_id, timeout, countdown, repeat)\n --\u51fd\u6570\u529f\u80fd\uff1a\u542f\u52a8\u5b9a\u65f6\u5668\n --\u53c2\u6570\uff1a  timer_id\uff0c \u5b9a\u65f6\u5668ID\uff1b\n --       timeout\uff0c \u8d85\u65f6\u65f6\u95f4\uff1b\n --     countdown\uff0c1\u987a\u8ba1\u65f6\uff0c0\u5012\u8ba1\u65f6\n --     repeat   \u8ba1\u65f6\u6b21\u6570\uff0c0\u65e0\u9650\u5faa\u73af \n --***********************************************************\n    \u2026\u2026\n    if screen == 4 \n    then \n        if control == 1 and value == 1        --value == 1 \u6309\u94ae\u6309\u4e0b\n        then\n            set_text(4,7,\"\u6309\u94ae\u6309\u4e0b\")\n        elseif control == 1 and value == 0    --value == 0 \u6309\u94ae\u5f39\u8d77\n        then\n            set_text(4,7,\"\u6309\u94ae\u5f39\u8d77\")\n        elseif  control == 2                  --\u6587\u672c\u8f93\u5165\n        then\n            set_text(4,7,\"\u6587\u672c\u8f93\u5165\")   \n        elseif  control == 3                  --\u56fe\u6807\u63a7\u4ef6\n        then\n            set_text(4,7,\"\u89e6\u6478\u56fe\u6807\")\n        elseif control == 4                   --\u6ed1\u52a8\u9009\u62e9\u63a7\u4ef6\n        then\n            set_text(4,7,\"\u6ed1\u52a8\u9009\u62e9\")\n        elseif control == 5                   --\u83dc\u5355\u63a7\u4ef6\n        then\n            set_text(4,7,\"\u83dc\u5355\u9009\u62e9\")\n        elseif control == 6                   --\u6ed1\u5757\u63a7\u4ef6\n        then\n            set_text(4,7,\"\u6ed1\u5757\u6ed1\u52a8\")\n        end\n    end\n    \u2026\u2026\nend\n```\n\n#### \u8fd0\u884c\u9884\u89c8\n\n\u4f9d\u6b21\u70b9\u51fb\u63a7\u4ef6ID1~ID6\uff0c\u6548\u679c\u5982\u4e0b\u6240\u793a\n\n![](https:\/\/image.modbus.cn\/wp-content\/uploads\/2022\/03\/on_control_notify.gif)\n\n## 1.5 \u51fd\u6570on_screen_change(screen)\n\n\u5f53\u753b\u9762\u5207\u6362\u540e\uff0c\u6267\u884c\u6b64\u56de\u8c03\u51fd\u6570\n\n- screen\uff1a\u753b\u9762\u5207\u6362\u540e\u7684\u76ee\u6807\u753b\u9762ID\u3002\u5047\u8bbe\u753b\u9762A\u5207\u6362\u5230\u753b\u9762B\uff0c\u8fd9\u4e2a\u52a8\u4f5c\u5b8c\u6210\u540e\uff0c\u5219screen\u4e3a\u753b\u9762B\u7684\u2018\u753b\u9762ID\u2019\u503c\n\n\u6ce8\u610f\uff1a\u5728on_screen_change(screen)\u91cc\u8c03\u7528change_screen\u5207\u6362\u753b\u9762\uff0c\u4e0d\u4f1a\u5728\u89e6\u53d1on_screen_change\n\n#### \u753b\u9762\u914d\u7f6e\n\n\u672c\u6587\u6309\u94ae\u63a7\u4ef6\u7684\u5c5e\u6027\u8bbe\u7f6e\u4e3a\u753b\u9762\u5207\u6362\uff0c\u70b9\u51fb\u8be5\u6309\u94ae\u63a7\u4ef6\u5c31\u4f1a\u5c06\u753b\u9762\u5207\u6362\u5230\u6307\u5b9a\u7684\u753b\u9762\u4e2d\uff0c\u5982\u4e0b\u6240\u793a\n\n![cb08](https:\/\/image.modbus.cn\/wp-content\/uploads\/2022\/03\/cb08.png)\n\n\u6d4b\u8bd5\u753b\u9762\u4e2d\uff0c\u6dfb\u52a0\u4e24\u4e2a\u6587\u672c\u63a7\u4ef6\uff0c\u5728\u811a\u672c\u89e6\u53d1\u56de\u8c03\u51fd\u6570on_screen_change\u65f6\uff0c\u8bbe\u7f6e\u63a7\u4ef6ID1\u663e\u793a\u5f53\u524d\u753b\u9762\u7684ID\uff0c\u63a7\u4ef6ID2\u663e\u793a\u6570\u503c\uff0c\u914d\u7f6e\u5982\u4e0b\u6240\u793a\n\n![cb09](https:\/\/image.modbus.cn\/wp-content\/uploads\/2022\/03\/cb09.png)\n\n#### LUA\u811a\u672c\n\n\u5c4f\u5728\u5207\u6362\u753b\u9762\u7684\u540c\u65f6\u4f1a\u89e6\u53d1\u56de\u8c03\u51fd\u6570on_screen_change\uff0c\u4ece\u800c\u5b9e\u73b0\u5728\u5207\u6362\u753b\u9762\u662f\u5c06\u76ee\u6807\u753b\u9762\u7684\u4e24\u4e2a\u6587\u672c\u63a7\u4ef6\u8fdb\u884c\u4fee\u6539\uff0c\u5177\u4f53\u4ee3\u7801\u5982\u4e0b\u6240\u793a\n\n```\n--&#91;&#91;***************************************************************************\n** Function name: on_screen_change\n** Descriptions:  \u5f53\u753b\u9762\u5207\u6362\u81f3\u76ee\u6807\u753b\u9762ID\u65f6\uff0c\u6267\u884c\u6b64\u56de\u8c03\u51fd\u6570\n                  \u6ce8\u610f\uff1a\u56de\u8c03\u51fd\u6570\u7684\u53c2\u6570\u548c\u51fd\u6570\u540d\u56fa\u5b9a\u4e0d\u80fd\u4fee\u6539\n** Input value :  screen \u76ee\u6807\u753b\u9762ID\n*******************************************************************************--]]\nfunction on_screen_change(screen)\n    if screen == 8 then             --\u5207\u6362\u5230\u753b\u97629\u65f6\uff0c\u4fee\u6539\u63a7\u4ef61\uff0c2\u7684\u6570\u636e\n        set_value(8,1,screen)       --\u4fee\u6539\u63a7\u4ef61\u7684\u6570\u636e\n        set_value(8,2,30)           --\u4fee\u6539\u63a7\u4ef62\u7684\u6570\u636e\n    end\nend\n```\n\n#### \u8fd0\u884c\u9884\u89c8\n\n\u89e6\u53d1on_screen_change\uff0c\u6548\u679c\u5982\u4e0b\u6240\u793a\n\n![](https:\/\/image.modbus.cn\/wp-content\/uploads\/2022\/03\/on_screen_change.gif)\n\n## 1.6 \u51fd\u6570on_draw()\n\n\u91cd\u7ed8\u65f6\u6267\u884c\u6b64\u56de\u8c03\u51fd\u6570\uff0c\u901a\u5e38\u6240\u6709\u7ed8\u56fe\u3001\u753b\u51e0\u4f55\uff08\u5706\u3001\u77e9\u5f62\u3001\u7ebf\u3001\u70b9\u7b49\u7b49\uff09\u64cd\u4f5c\u90fd\u5728\u6b64\u51fd\u6570\u4e2d\u5b9e\u73b0\u3002\u5f53\u753b\u9762\u7684\u63a7\u4ef6\u5237\u65b0\u7684\u65f6\u5019\uff0c\u4e5f\u4f1a\u89e6\u53d1\u6b64\u51fd\u6570\uff0c\u4e00\u822c\u642d\u914dredraw ( ) \u4f7f\u7528\u3002\n\n- \u200b screen \uff1a\u9700\u8981\u753b\u56fe\u7684\u753b\u9762ID\n\n#### \u753b\u9762\u914d\u7f6e\n\n\u5728\u8be5\u753b\u9762\u6dfb\u52a0\u4e24\u4e2a\u6309\u94ae\u63a7\u4ef6\uff0c\u5206\u522b\u6309\u4e0b\u65f6\u5019\uff0c\u663e\u793a\u4e0d\u540c\u7684\u56fe\u7247\n\n![cb10](https:\/\/image.modbus.cn\/wp-content\/uploads\/2022\/03\/cb10.png)\n\n#### LUA\u811a\u672c\n\n\u5728LUA\u672c\u6309\u94ae\u6309\u4e0b\u65f6\uff0c\u7ed9show_picture\u8d4b\u4e0d\u4e00\u6837\u7684\u503c\uff0c\u5728\u8c03\u7528redraw() \u89e6\u53d1\u56de\u8c03\u51fd\u6570on_draw()\uff0c\u6765\u663e\u793a\u6307\u5b9a\u7684\u56fe\u7247\n\n```\n--&#91;&#91;***************************************************************************\n** Function name: on_draw\n** Descriptions : \u753b\u9762\u5237\u65b0\u65f6\uff0c\u6216\u8005\u4f7f\u7528API\u51fd\u6570 redraw \u7533\u8bf7\u91cd\u7ed8\uff0c\u6267\u884c\u6b64\u56de\u8c03\u51fd\u6570\n                  \u6ce8\u610f\uff1a\u56de\u8c03\u51fd\u6570\u7684\u53c2\u6570\u548c\u51fd\u6570\u540d\u56fa\u5b9a\u4e0d\u80fd\u4fee\u6539\n** Input value  : screen \u76ee\u6807\u753b\u9762ID\n***************************************************************************--]]\nfunction  on_draw(screen)\n    --******************************************************************************\n    --\u8c03\u7528\u51fd\u6570\uff1adraw_image(image_id,frame_id,dstx,dsty,width,height,srcx,srcy)\n    --\u51fd\u6570\u529f\u80fd\uff1a\u6839\u636e\u56fe\u7247ID\u7ed8\u56fe\n    --\u53c2\u6570\uff1a  image_id \u56fe\u7247\u8d44\u6e90\u7684 ID\n    --frame_id \u5bf9\u5e94\u56fe\u6807\uff0c \u53ef\u4ee5\u8bbe\u7f6e\u5e27 ID\uff0c\u5176\u4ed6\u56fe\u7247\u56fa\u5b9a\u4e3a 0\n    --dstx   \u56fe\u7247\u663e\u793a X \u5750\u6807\n    --dsty   \u56fe\u7247\u663e\u793a Y \u5750\u6807\n    --width    \u56fe\u7247\u663e\u793a\u5bbd\u5ea6\n    --height   \u56fe\u7247\u663e\u793a\u9ad8\u5ea6\n    --srcx   \u56fe\u7247\u88c1\u526a X \u5750\u6807\n    --srcy   \u56fe\u7247\u88c1\u526a Y \u5750\u6807   \n    --*****************************************************************************\n    if screen == 6 and show_picture  == 1\n    then\n        draw_image(23,0,190,160,430,230,0,0)\n    elseif screen == 6 and show_picture == 2 \n    then \n        draw_image(24,0,190,160,430,230,0,0) \n    end\nend\n\nfunction  on_control_notify(screen,control,value)\n    if  screen == 5\n    then\n        if control == 1 and value == 1             --\u7ed8\u5236\u56fe\u72471\n        then\n            show_picture = 1\n            redraw()                             --\u7533\u8bf7\u91cd\u7ed8\n        elseif control == 2 and value == 1         --\u7ed8\u5236\u56fe\u72472\n        then\n            show_picture = 2\n            redraw()                               --\u7533\u8bf7\u91cd\u7ed8\n        end\n    end\nend\n```\n\n#### \u8fd0\u884c\u9884\u89c8\n\n\u7ed8\u56fe\u6548\u679c\u5982\u4e0b\u6240\u793a\n\n![](https:\/\/image.modbus.cn\/wp-content\/uploads\/2022\/03\/on_draw.gif)\n\n## 1.7 U\u76d8\/SD\u5361\u56de\u8c03\u51fd\u6570\n\n\u5f53\u63d2\u5165U\u76d8\u548cSD\u5361\u63d2\u5165\u65f6\uff0c\u89e6\u53d1on_usb_inserted(dir)\u6216on_sd_inserted(dir)\u51fd\u6570\u3002\u82e5\u62d4\u6389U\u76d8\u548cSD\u5361\u63d2\u5165\u65f6\uff0c\u89e6\u53d1on_usb_removed()\u6216on_sd_removed()\u51fd\u6570\n\n- dir: \u8be5\u53c2\u6570\u8868\u793aU\u76d8\u6216SD\u5361\u7684\u76d8\u7b26\n\n\u6ce8\u610f\uff1a\u5177\u4f53\u662fSD\u8fd8\u662fU\u76d8\uff0c\u4ee5\u5b9e\u4f53\u5c4f\u4e3a\u51c6\uff0c\u4e14\u6d4b\u8bd5\u4f53\u9a8cAPI\uff0c\u8bf7\u5728\u5b9e\u4f53\u5c4f\u4e0a\u6d4b\u8bd5\n\n#### \u5de5\u7a0b\u914d\u7f6e\n\n\u753b\u9762\u4e2d\uff0c\u6dfb\u52a0\u4e24\u4e2a\u6587\u672c\u63a7\u4ef6\uff0c\u63a7\u4ef6ID1\u7528\u4e8e\u663e\u793aU\u76d8\u89e6\u53d1\u7684\u76f8\u5173\u4fe1\u606f\uff0c\u63a7\u4ef6ID2\u7528\u4e8e\u663e\u793aSD\u5361\u89e6\u53d1\u7684\u76f8\u5173\u4fe1\u606f\uff0c\u5982\u4e0b\u6240\u793a\n\n![cb11](https:\/\/image.modbus.cn\/wp-content\/uploads\/2022\/03\/cb11.png)\n\n#### LUA\u811a\u672c\n\nU\u76d8\/SD\u5361\u63d2\u5165\u53ca\u62d4\u51fa\u65f6\u7684LUA\u811a\u672c\u4ee3\u7801\u5982\u4e0b\u6240\u793a\n\n```\n--&#91;&#91;***************************************************************************\n** Function name: on_usb_inserted\n** Descriptions : \u63d2\u5165U\u76d8\u540e\uff0c\u6267\u884c\u6b64\u56de\u8c03\u51fd\u6570\n                  \u6ce8\u610f\uff1a\u56de\u8c03\u51fd\u6570\u7684\u53c2\u6570\u548c\u51fd\u6570\u540d\u56fa\u5b9a\u4e0d\u80fd\u4fee\u6539\n** Input value  : dir  U\u76d8\u7684\u8def\u5f84\n***************************************************************************--]]\nfunction  on_usb_inserted(dir)\n       set_text(7,1,dir)    --\u663e\u793aU\u76d8\u8def\u5f84\nend\n--&#91;&#91;***************************************************************************\n** Function name: on_sd_inserted\n** Descriptions : \u63d2\u5165SD\u5361\u540e\uff0c\u6267\u884c\u6b64\u56de\u8c03\u51fd\u6570\n                  \u6ce8\u610f\uff1a\u56de\u8c03\u51fd\u6570\u7684\u53c2\u6570\u548c\u51fd\u6570\u540d\u56fa\u5b9a\u4e0d\u80fd\u4fee\u6539\n** Input value  : dir  SD\u5361\u7684\u8def\u5f84\n***************************************************************************--]]\nfunction  on_sd_inserted(dir)\n    set_text(7,2,dir)    --\u663e\u793aSD\u5361\u8def\u5f84  \nend\n--&#91;&#91;***************************************************************************\n** Function name: on_sd_inserted\n** Descriptions : \u62d4\u51faU\u76d8\u540e\uff0c\u6267\u884c\u6b64\u56de\u8c03\u51fd\u6570\n                  \u6ce8\u610f\uff1a\u56de\u8c03\u51fd\u6570\u7684\u53c2\u6570\u548c\u51fd\u6570\u540d\u56fa\u5b9a\u4e0d\u80fd\u4fee\u6539\n***************************************************************************--]]\nfunction  on_usb_removed()\n    set_text(7,1,\"\u5df2\u62d4\u51faU\u76d8\")\nend\n--&#91;&#91;***************************************************************************\n** Function name: on_sd_inserted\n** Descriptions : \u62d4\u51faSD\u5361\u540e\uff0c\u6267\u884c\u6b64\u56de\u8c03\u51fd\u6570\n                  \u6ce8\u610f\uff1a\u56de\u8c03\u51fd\u6570\u7684\u53c2\u6570\u548c\u51fd\u6570\u540d\u56fa\u5b9a\u4e0d\u80fd\u4fee\u6539\n***************************************************************************--]]\nfunction  on_sd_removed()\n    set_text(7,2,\"\u5df2\u62d4\u51faSD\u5361\")\nend\n```\n\n---\n*modbus.cn*\n"