User Tools

Site Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
introduction_to_lua_programming [2019/01/09 10:07]
akuzmuk
introduction_to_lua_programming [2019/01/09 10:13] (current)
akuzmuk
Line 44: Line 44:
 WebHMI imposes the following restrictions on standard Lua functions and libraries: WebHMI imposes the following restrictions on standard Lua functions and libraries:
  
-  *such functions and tables are __not available__:​ require, print, loadfile, dofile, os.execute, os.getenv, os.remove, os.rename, os.tmpname, package , debug.debug,​ debug.getfenv,​ debug.getregistry,​ argĀ +  * such functions and tables are __not available__:​ require, print, loadfile, dofile, os.execute, os.getenv, os.remove, os.rename, os.tmpname, package, debug.debug,​ debug.getfenv,​ debug.getregistry,​ argĀ 
-  *libraries are __not available__:​ io+  * libraries are __not available__:​ io
  
-In addition to the standard Lua functions, WebHMI also defines additional functions which are decsribed ​in their respective sections below+In addition to the standard Lua functions, WebHMI also defines additional functions which are described ​in this manual
  
-For the convenience of working with registers from Lua programs, each register can be assigned a symbolic name and be accessed from Lua already ​with this name. This name is specified in the register settings in the **Alias** field:+For the convenience of working with registers from Lua programs, each register can be assigned a symbolic name and be accessed from Lua with this name. This name is specified in the register settings in the **Script alias** field:
  
 {{ :​alias_in_reg_list2.png?​800 |}} {{ :​alias_in_reg_list2.png?​800 |}}
  
-In the example above, ​this name "​systemTime"​ was used in GetReg function to read system time from internal WebHMI register with id = 1.+In the example above, ​alias "​systemTime"​ was used in GetReg function to read system time from internal WebHMI register with id = 1.
  
 An example of a simple script that shows the calls of some WebHMI functions: An example of a simple script that shows the calls of some WebHMI functions:
Line 75: Line 75:
 </​code>​ </​code>​
  
-Despite the fact that the built-in editor checks the syntax of the program, it is not able to detect all the errors that can occur during the execution of the script. ​In the event that any errors occur during ​its execution, ​they will be displayed in communication log (**Maintenance->​WebHMI Log**).+Despite the fact that the built-in editor checks the syntax of the program, it is not able to detect all the errors that can occur during the execution of the script. ​If any error occurs ​during ​script ​execution, ​it will be displayed in communication log (**Maintenance->​WebHMI Log**).
  
-For example, once this script will be executed, an error will occur because variable **random** ​is not declared.+For example, once this script will be executed, an error will occur because variable **random** ​was not declared.
  
 <code lua> <code lua>
Line 83: Line 83:
     ​     ​
   local v1 = GetReg("​Drying_Humidity1_Value"​);​   local v1 = GetReg("​Drying_Humidity1_Value"​);​
-  v1 = v1+random; -- error is here, without random everything is ok+  v1 = v1 + random; -- error is here, without random everything is ok
   ​   ​
   SetReg("​Drying_Humidity1_Value",​ v1);   SetReg("​Drying_Humidity1_Value",​ v1);
Line 100: Line 100:
 </​code>​ </​code>​
  
-Here we see that the error occurred while trying to perform an arithmetic operation with an undefined variable (value is **nil**). The error occurred in script ​number ​1, its name was '​Calculate humidity',​ the error occurred in line number 4 at 12:​09:​27.047. The variable that caused the error is called '​random'​.+Here we see that the error occurred while trying to perform an arithmetic operation with an undefined variable (value is **nil**). The error occurred in script ​with id=1, its name was '​Calculate humidity',​ the error occurred in line number 4 at 12:​09:​27.047. The variable that caused the error is called '​random'​.
  
-Thus, using this log you can find all runtime errors in your scripts. Also for debugging you can use watch console window, which is available in script ​editor.+Thus, using this log you can find all runtime errors in your scripts. Also for debugging you can use watch console window, which is available in [[scripts ​editor]].

Page Tools