modbus/mb_runtime.h
changeset 2721 367eb26972b1
parent 2715 1215a6b741d5
child 2722 5d72a52b8f9c
--- a/modbus/mb_runtime.h	Fri Dec 25 17:11:38 2020 +0000
+++ b/modbus/mb_runtime.h	Thu Jan 28 14:17:40 2021 +0000
@@ -41,6 +41,15 @@
 	    u16		rw_bits [MEM_AREA_SIZE];
 	    u16		ro_words[MEM_AREA_SIZE];
 	    u16		rw_words[MEM_AREA_SIZE];
+            /* Two flags to count the number of Modbus requests (read and write) we have 
+             * successfully received from any remote Modbus master
+             * These two flags will be mapped onto located variables
+             * so the user's IEC 61131-3 code can check whether we are being
+             * polled by a Modbus master.
+             * The counters will roll over to 0 upon reaching maximum value.
+             */
+            u32         flag_write_req_counter;
+            u32         flag_read_req_counter;
 	} server_mem_t;
 
 
@@ -89,6 +98,8 @@
 	    node_addr_t	node_address;
 	    int		mb_nd;      // modbus library node used for this server 
 	    int		init_state; // store how far along the server's initialization has progressed
+            /* entries from this point forward are not statically initialized when the variable is declared */
+            /* they will be initialized by the  code itself in the init() function */
 	    pthread_t	thread_id;  // thread handling this server
 	    server_mem_t	mem_area;
 	} server_node_t;