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, 0 added, 16 removed)
Details
- Page properties
-
- Content
-
... ... @@ -48,32 +48,29 @@ 48 48 (% style="text-align:center" %) 49 49 [[image:dZyxVCtWDz.png]] 50 50 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 -))) 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]]** 55 55 56 - 1.Enter PC (FTP Server) IP address and port number (Default 21).53 +2. Enter PC (FTP Server) IP address and port number (Default 21). 57 57 58 58 (% style="text-align:center" %) 59 59 [[image:LuaFTPDemoIP&Port.png]] 60 60 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.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. 62 62 63 63 (% style="text-align:center" %) 64 64 [[image:LuaFTPDemoUpload.png]] 65 65 66 - 3.Change drive letter of file save path according to drop-down list (There are three option available: Flash, UDisk and SDCard).63 +4. Change drive letter of file save path according to drop-down list (There are three option available: Flash, UDisk and SDCard). 67 67 68 68 (% style="text-align:center" %) 69 69 [[image:LuaFTPDemoDropBox.png]] 70 70 71 - 4.Change the filename of the file that needs to be downloaded from PC(Server).68 +5. Change the filename of the file that needs to be downloaded from PC(Server). 72 72 73 73 (% style="text-align:center" %) 74 74 [[image:LuaFTPDemoDownload.png]] 75 75 76 - 5.Set the default configuration in file "Script_BG.lua"73 +6. Set the default configuration in file "Script_BG.lua" 77 77 78 78 (% style="text-align:center" %) 79 79 [[image:LuaFTPDemoInitial.png]] ... ... @@ -126,9 +126,6 @@ 126 126 127 127 [[Download link>>https://ftp.we-con.com.cn/Download/WIKI/PI%20HMI/Demo/Lua%20Script/Telegram.zip]] 128 128 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 - 132 132 = 9** LINE Notify(Not available now)** = 133 133 134 134 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. ... ... @@ -716,7 +716,7 @@ 716 716 717 717 = 28 Google Sheets API = 718 718 719 -The example shows how to send the data into the Google sheets API via Lua script. [[Jump to Video>>https://youtu.be/VKjr3_MVNzc]]713 +The example shows how to send the data into the Google sheets API via Lua script. Jump to Video 720 720 721 721 {{warning}} 722 722 since the HMI lacks a built-in library for cryptographic signatures (RS256/JWT), user can automate this by sending the token to the HMI via external communication. Token need to be manual input in this project. ... ... @@ -723,183 +723,3 @@ 723 723 {{/warning}} 724 724 725 725 [[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||anchor="HCurveDrawing28Experimental29"]]. 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,1 +1,0 @@ 1 -XWiki.Hunter - Size
-
... ... @@ -1,1 +1,0 @@ 1 -41.0 KB - Content
- 8217Wc3rju.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Hunter - Size
-
... ... @@ -1,1 +1,0 @@ 1 -50.8 KB - Content
- E2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Hunter - Size
-
... ... @@ -1,1 +1,0 @@ 1 -154.6 KB - Content
- EYGRzMYrhy.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Hunter - Size
-
... ... @@ -1,1 +1,0 @@ 1 -171.9 KB - Content
- SSH1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Hunter - Size
-
... ... @@ -1,1 +1,0 @@ 1 -190.6 KB - Content
- WechatResult.jpg
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Hunter - Size
-
... ... @@ -1,1 +1,0 @@ 1 -163.7 KB - Content
- WechatResultResize.jpg
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Hunter - Size
-
... ... @@ -1,1 +1,0 @@ 1 -29.8 KB - Content
- checkstatusSSH.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Hunter - Size
-
... ... @@ -1,1 +1,0 @@ 1 -15.5 KB - Content
- sf.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Hunter - Size
-
... ... @@ -1,1 +1,0 @@ 1 -298.4 KB - Content
- wechatCopyTempalte.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Hunter - Size
-
... ... @@ -1,1 +1,0 @@ 1 -22.9 KB - Content
- wechatID.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Hunter - Size
-
... ... @@ -1,1 +1,0 @@ 1 -41.0 KB - Content
- wechatTempalte.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Hunter - Size
-
... ... @@ -1,1 +1,0 @@ 1 -23.1 KB - Content
- wechatTempalteConten.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Hunter - Size
-
... ... @@ -1,1 +1,0 @@ 1 -46.9 KB - Content
- wechatTempalteConten2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Hunter - Size
-
... ... @@ -1,1 +1,0 @@ 1 -48.4 KB - Content
- wechataccount.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Hunter - Size
-
... ... @@ -1,1 +1,0 @@ 1 -70.4 KB - Content
- wechatscriptcopyID.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Hunter - Size
-
... ... @@ -1,1 +1,0 @@ 1 -245.5 KB - Content