From 2907f65ba060ae830e034e51312ce5de9af4e306 Mon Sep 17 00:00:00 2001
From: Jan David Mol <mol@astron.nl>
Date: Mon, 7 Dec 2020 10:54:37 +0100
Subject: [PATCH] Propagate RW values to R monitoring point in simulator

---
 opcuaserv.py | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/opcuaserv.py b/opcuaserv.py
index 208cd39..103493b 100644
--- a/opcuaserv.py
+++ b/opcuaserv.py
@@ -85,8 +85,12 @@ class SubHandler(object):
 #        print(Vars_R,Vars_R.values())
         for vname2,myvar2,oldvalue in Vars_R.values():
             if vname2==vname:
-              res=P1.GetVarValue(vname,val)
-              print("Read callback",vname,": Result:",res,oldvalue)
+              if args.simulator:
+                res=True
+                print("Simulating fallthrough _RW->_R for",vname,": Result:",res,oldvalue)
+              else:
+                res=P1.GetVarValue(vname,val)
+                print("Read callback",vname,": Result:",res,oldvalue)
               if res:
                 myvar2.Value.Value=(val[0] if len(val)==1 else val)
                 myvar2.SourceTimestamp = datetime.utcnow()
-- 
GitLab