IDE: Allow POU Libraries to inject PLC Configurations globals during build. svghmi
authorEdouard Tisserant <edouard.tisserant@gmail.com>
Wed, 30 Jun 2021 15:44:32 +0200
branchsvghmi
changeset 3266 aff5cedb35ba
parent 3265 f3cb352048b6
child 3267 5f20f391ae31
IDE: Allow POU Libraries to inject PLC Configurations globals during build.
POULibrary.py
ProjectController.py
--- a/POULibrary.py	Fri Jun 18 14:13:03 2021 +0200
+++ b/POULibrary.py	Wed Jun 30 15:44:32 2021 +0200
@@ -63,6 +63,12 @@
         # Pure python or IEC libs doesn't produce C code
         return ((""), [], False), ""
 
+    def GlobalInstances(self):
+        """
+        @return: [(instance_name, instance_type),...]
+        """
+        return []
+
     def FatalError(self, message):
         """ Raise an exception that will trigger error message intended to 
             the user, but without backtrace since it is not a software error """
--- a/ProjectController.py	Fri Jun 18 14:13:03 2021 +0200
+++ b/ProjectController.py	Wed Jun 30 15:44:32 2021 +0200
@@ -744,7 +744,11 @@
         return locations
 
     def GetConfNodeGlobalInstances(self):
-        return self._GlobalInstances()
+        LibGlobals = []
+        for lib in self.Libraries:
+            LibGlobals += lib.GlobalInstances()
+        CTNGlobals = self._GlobalInstances()
+        return LibGlobals + CTNGlobals
 
     def _Generate_SoftPLC(self):
         if self._Generate_PLC_ST():