Changes for page 05 Lua Script
Last modified by Hunter on 2026/10/23 11:34
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 16 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -48,29 +48,32 @@ 48 48 (% style="text-align:center" %) 49 49 [[image:dZyxVCtWDz.png]] 50 50 51 -~1. About how to set up the FTP server in Windows PC: **[[Build an FTP Site on IIS>>https://docs.microsoft.com/en-us/iis/publish/using-the-ftp-service/scenario-build-an-ftp-site-on-iis]] **,** [[How to set up and manage an FTP server on Windows 10>>https://www.windowscentral.com/how-set-and-manage-ftp-server-windows-10]]** 51 +(% class="box infomessage" %) 52 +((( 53 +Note:About how to set up the FTP server in Windows PC: **[[How to set up and manage an FTP server on Windows 10>>https://www.windowscentral.com/how-set-and-manage-ftp-server-windows-10]]** 54 +))) 52 52 53 - 2.Enter PC (FTP Server) IP address and port number (Default 21).56 +1.Enter PC (FTP Server) IP address and port number (Default 21). 54 54 55 55 (% style="text-align:center" %) 56 56 [[image:LuaFTPDemoIP&Port.png]] 57 57 58 - 3.Change the filename of the file that needs to be uploaded. If run on as Offline Simulator, the simulate upload path of "udisk:1.png" will be "C:\WECON\USB\1.png" on the PC.61 +2.Change the filename of the file that needs to be uploaded. If run on as Offline Simulator, the simulate upload path of "udisk:1.png" will be "C:\WECON\USB\1.png" on the PC. 59 59 60 60 (% style="text-align:center" %) 61 61 [[image:LuaFTPDemoUpload.png]] 62 62 63 - 4.Change drive letter of file save path according to drop-down list (There are three option available: Flash, UDisk and SDCard).66 +3.Change drive letter of file save path according to drop-down list (There are three option available: Flash, UDisk and SDCard). 64 64 65 65 (% style="text-align:center" %) 66 66 [[image:LuaFTPDemoDropBox.png]] 67 67 68 - 5.Change the filename of the file that needs to be downloaded from PC(Server).71 +4.Change the filename of the file that needs to be downloaded from PC(Server). 69 69 70 70 (% style="text-align:center" %) 71 71 [[image:LuaFTPDemoDownload.png]] 72 72 73 - 6.Set the default configuration in file "Script_BG.lua"76 +5.Set the default configuration in file "Script_BG.lua" 74 74 75 75 (% style="text-align:center" %) 76 76 [[image:LuaFTPDemoInitial.png]] ... ... @@ -123,6 +123,9 @@ 123 123 124 124 [[Download link>>https://ftp.we-con.com.cn/Download/WIKI/PI%20HMI/Demo/Lua%20Script/Telegram.zip]] 125 125 129 + 130 +[[URL Encode Table for Special Characters>>https://docs.we-con.com.cn/bin/view/PIStudio/FAQ/Why%20can't%20I%20receive%20HMI%20messages%20on%20Telegram]] 131 + 126 126 = 9** LINE Notify(Not available now)** = 127 127 128 128 This example shows how to use the LINE Notify to send message into LINE group. When monitoring bit "@B_HDX0.0" changes, it will trigger and send the message. Please replace with your own Token. ... ... @@ -717,3 +717,183 @@ 717 717 {{/warning}} 718 718 719 719 [[Download link>>https://ftp.we-con.com.cn/Download/WIKI/PI%20HMI/Demo/Lua%20Script/GoogleSheet.zip]] 726 + 727 += 29 Graphics Drawing = 728 + 729 +This demo shows how to draw static graphics, such as a snowflake and a star, on the HMI screen using Lua custom object. 730 +The drawing coordinate data can come from HMI internal registers or external PLC registers. 731 +This demo does not demonstrate dynamic path updates or motion animation. For dynamic trajectory visualization, refer to the [[Lua curve>>doc:PIStudio.09 Lua Editor.Lua Script.WebHome]]. 732 + 733 +[[Download link>>https://ftp.we-con.com.cn/Download/WIKI/PI%20HMI/Demo/Lua%20Script/Graphics%20Drawing.pi2]] 734 + 735 + 736 += 30 Timestamp = 737 + 738 +This example shows how to obtain second-level and millisecond-level timestamps. 739 +[[Download link>>https://ftp.we-con.com.cn/Download/WIKI/PI%20HMI/Demo/Lua%20Script/Timestamp.zip]] 740 + 741 + 742 += 31 Sending CSV file with Gmail = 743 + 744 +This example shows how to send CSV file transferred by DB file with Gmail. Please note that use PI version 10.6 or higher to open the project. 745 +[[Download link>>https://ftp.we-con.com.cn/Download/WIKI/PI%20HMI/Demo/Lua%20Script/Sending%20CSV%20file%20with%20Gmail.zip]] 746 + 747 + 748 += 32 GPS Function = 749 + 750 +This example shows how to get the GPS data from device (Support RH-AG). Please note that use PI version 11.4.64.26081301 or higher to open the project. 751 + 752 +[[Download link>>https://ftp.we-con.com.cn/Download/WIKI/PI%20HMI/Demo/Lua%20Script/GPS%20function.zip]] 753 + 754 + 755 += **33 Data record query** = 756 + 757 +This example shows how to obtain data records for a certain time period and display them at an address. Please note that use PI version 10.6.45.26070101 or higher to open the project. 758 +[[Download link>>https://ftp.we-con.com.cn/Download/WIKI/PI%20HMI/Demo/Lua%20Script/Data%20record%20query.zip]] 759 + 760 + 761 += 34 Ethernet A4 Printer = 762 + 763 +This example shows how to print A4 report paper directly from an HMI via TCP/IP, which is not required any PC software tool. [[Jump to Video>>https://youtu.be/IZoOoRefJc8]] 764 + 765 +{{warning}} 766 +Please prioritize printers that support **PCL5**. 767 +{{/warning}} 768 + 769 +**Common PCL5 Commands** 770 + 771 +{{code language="lua"}} 772 +--Set text position and content 773 +local sample = "\x1B*p1000x1000YHelloWorld" 774 +{{/code}} 775 + 776 +{{code language="lua"}} 777 +-- Set font size to 12 pt 778 +local fontSize = "\x1B(s12V" 779 +{{/code}} 780 + 781 +{{code language="lua"}} 782 +-- Set print direction to 0 degrees 783 +local direction = "\x1B&a0P" 784 +{{/code}} 785 + 786 +{{code language="lua"}} 787 +--Restore default drawing logic 788 +local defaultLogic = "\x1B*l252O" 789 +{{/code}} 790 + 791 +{{code language="lua"}} 792 +--New page feed output 793 +local formFeed = "\x0C" 794 +{{/code}} 795 + 796 +[[Download link>>https://ftp.we-con.com.cn/Download/WIKI/PI%20HMI/Demo/Lua%20Script/PrinterTCPSocket.zip]] 797 + 798 += 35 SFTP Client(PI 11.4) = 799 + 800 +This example shows how to set up the SSH connection between HMI and server, and upload or download the file. **This function only works on PIStudio version 11.4 or above and PI8000ig or PI9000ig HMI.** 801 + 802 +{{info}} 803 +Refer to the Microsoft official guide for installing and enabling OpenSSH Server on Windows using PowerShell: [[Get started with OpenSSH Server for Windows ~| Microsoft Learn>>https://learn.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse?tabs=gui&pivots=windows-server-2025]] 804 + 805 +**Make sure TCP port 22 is not occupied by another SSH server, such as Bitvise SSH Server.** 806 +{{/info}} 807 + 808 +~1. Run PowerShell as administrator. Enter Get-Service sshd in the PowerShell window. If the status is Stopped, enter Start-Service sshd to start the service. 809 + 810 +{{code language="powershell"}} 811 +Get-Service sshd 812 +Start-Service sshd 813 +{{/code}} 814 + 815 +(% style="text-align:center" %) 816 +[[image:checkstatusSSH.png]] 817 + 818 +{{info}} 819 +If the SSH connection cannot be established, check and adjust the firewall’s inbound and outbound rules. Enter following command in powershell 820 +{{/info}} 821 + 822 +{{code language="powershell"}} 823 +netsh advfirewall set allprofiles state off 824 +{{/code}} 825 + 826 +2. Change the server IP, username and password. 827 + 828 +(% style="text-align:center" %) 829 +[[image:SSH1.png]] 830 + 831 +2. Change the server file path and HMI file path as user wanted. 832 + 833 +(% style="text-align:center" %) 834 +[[image:E2.png]] 835 + 836 +3. Click the Copy to copy the file into flash(user:) path from the pen drive path, then click SFTP connect, click Upload or Download button. 837 + 838 +{{warning}} 839 +File operations are only supported under the "user:" path for the moment. 840 +{{/warning}} 841 + 842 +(% style="text-align:center" %) 843 +[[image:sf.png]] 844 + 845 +4. Check the file whether download or upload successfully. 846 + 847 +(% style="text-align:center" %) 848 +[[image:8217Wc3rju.png]] 849 + 850 +[[Download link>>https://ftp.we-con.com.cn/Download/WIKI/PI%20HMI/Demo/Lua%20Script/SFTP%20Client.zip]] 851 + 852 += 36 Wechat Official Account Notification Push = 853 + 854 +This example shows how to set up the Wechat official account sandbox to test the alarm push. 855 + 856 +[[Wechat Official Platform Sandbox>>https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index]] 857 + 858 +To register a formal WeChat Official Account, please forward to: 859 + 860 +[[Weixin Official Accounts Platform>>url:https://mp.weixin.qq.com/]] 861 + 862 +~1. Login into the platform, and user can see the appID and appSecret, copy them for the further use. 863 + 864 +(% style="text-align:center" %) 865 +[[image:wechataccount.png]] 866 + 867 +2. User can scan the QR code on the left side to subscribe push notifications. And copy the Wechat ID. 868 + 869 +(% style="text-align:center" %) 870 +[[image:wechatID.png]] 871 + 872 +3. Click [Add test template] to create a new notification template. 873 + 874 +(% style="text-align:center" %) 875 +[[image:wechatTempalte.png]] 876 + 877 +4. Enter the title and content, then click submission, the content must follow this format: text: ~{~{text.DATA}} 878 + 879 +For example, use Alarm: ~{~{Alarm.DATA}}. For multiple lines, format the content as follows: 880 + 881 +{{code language="lua"}} 882 +Device: {{Device.DATA}} 883 +Alarm: {{Alarm.DATA}} 884 +Time: {{Time.DATA}} 885 +{{/code}} 886 + 887 +(% style="text-align:center" %) 888 +[[image:wechatTempalteConten2.png]] 889 + 890 +5. After the template is created, copy the template ID. 891 + 892 +(% style="text-align:center" %) 893 +[[image:wechatCopyTempalte.png]] 894 + 895 +6. Paste all these IDs(appID, appSecret, wechatID and templateID) into the lua script. 896 + 897 +(% style="text-align:center" %) 898 +[[image:wechatscriptcopyID.png]] 899 + 900 +7. Trigger the alarm condition, and user will receive an alarm notification from the WeChat Official Account. 901 + 902 +(% style="text-align:center" %) 903 +[[image:WechatResultResize.jpg]] 904 + 905 +[[Download link>>https://ftp.we-con.com.cn/Download/WIKI/PI%20HMI/Demo/Lua%20Script/WechatAlarmPushNotify.zip]]
- 1792547572135-677.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Hunter - Size
-
... ... @@ -1,0 +1,1 @@ 1 +41.0 KB - Content
- 8217Wc3rju.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Hunter - Size
-
... ... @@ -1,0 +1,1 @@ 1 +50.8 KB - Content
- E2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Hunter - Size
-
... ... @@ -1,0 +1,1 @@ 1 +154.6 KB - Content
- EYGRzMYrhy.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Hunter - Size
-
... ... @@ -1,0 +1,1 @@ 1 +171.9 KB - Content
- SSH1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Hunter - Size
-
... ... @@ -1,0 +1,1 @@ 1 +190.6 KB - Content
- WechatResult.jpg
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Hunter - Size
-
... ... @@ -1,0 +1,1 @@ 1 +163.7 KB - Content
- WechatResultResize.jpg
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Hunter - Size
-
... ... @@ -1,0 +1,1 @@ 1 +29.8 KB - Content
- checkstatusSSH.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Hunter - Size
-
... ... @@ -1,0 +1,1 @@ 1 +15.5 KB - Content
- sf.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Hunter - Size
-
... ... @@ -1,0 +1,1 @@ 1 +298.4 KB - Content
- wechatCopyTempalte.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Hunter - Size
-
... ... @@ -1,0 +1,1 @@ 1 +22.9 KB - Content
- wechatID.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Hunter - Size
-
... ... @@ -1,0 +1,1 @@ 1 +41.0 KB - Content
- wechatTempalte.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Hunter - Size
-
... ... @@ -1,0 +1,1 @@ 1 +23.1 KB - Content
- wechatTempalteConten.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Hunter - Size
-
... ... @@ -1,0 +1,1 @@ 1 +46.9 KB - Content
- wechatTempalteConten2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Hunter - Size
-
... ... @@ -1,0 +1,1 @@ 1 +48.4 KB - Content
- wechataccount.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Hunter - Size
-
... ... @@ -1,0 +1,1 @@ 1 +70.4 KB - Content
- wechatscriptcopyID.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Hunter - Size
-
... ... @@ -1,0 +1,1 @@ 1 +245.5 KB - Content