@@ -72,31 +72,42 @@ Here is an example of using the script in the Periodically mode
7272/*
7373***************************************************************************/
7474
75- function clear ()
75+ /* Set the server address base starts from one (1-based) */
76+ Server .addressBase = AddressBase .Base1 ;
77+
78+ let deviceId = 1 ;
79+ let address1 = 1 ;
80+ let address10 = 10 ;
81+
82+ function reset ()
7683{
77- /* Write to a Holding register at address 1 zero value */
78- Server .writeHolding (1 , 0 );
84+ /* Write to a Holding register at address1 zero value */
85+ Server .writeHolding (address1 , 0 , deviceId );
7986}
8087
8188/* init function */
8289function init ()
8390{
84- /* Set the server address base starts from one (1-based) */
85- Server .addressBase = AddressBase .Base1 ;
91+ reset ();
8692
87- clear ();
88-
89- /* Runs when Hodling register value at address 1 was changed */
90- Server .onChange (Register .Holding , 1 , (value )=>
93+ /* Print server error if occured and stop script execution */
94+ Server .onError (deviceId, (error )=> {
95+ console .error (error);
96+ Script .stop ();
97+ });
98+
99+ /* Runs when Hodling register value at address1 was changed */
100+ Server .onChange (deviceId, Register .Holding , address1, (value )=>
91101 {
92102 if (value === 1 )
93103 {
94- /* Runs after 3 seconds and increase Holding register value at address 10
95- * Then stop script execution
104+ /* Runs after 3 seconds and increase Holding register value at address10
105+ * Then reset register value at address1 and stop script execution
96106 */
97107 Script .setTimeout (function ()
98108 {
99- Server .writeHolding (10 , Server .readHolding (10 ) + 1 );
109+ Server .writeHolding (address10, Server .readHolding (10 , deviceId) + 1 , deviceId);
110+ reset ();
100111 Script .stop ();
101112 }, 3000 );
102113 }
0 commit comments