diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..695bac2
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2021 Goodwill Mzumala
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..25648c9
--- /dev/null
+++ b/README.md
@@ -0,0 +1,65 @@
+# TwinCAT Dynamic Collections
+
+A library for handling collections of data dynamically.
+Create python like lists (a list containg multiple data type that can grow or shrink at runtime), true Queue and Stack data structures. Examples are in project.
+
+# Function Blocks
+
+* 👍 **FB_Collections** - Abstract class/Function Block that all collections inherit, handles the passing internal errors to the outside world. Implements I_Collections.
+* 👍 **FB_List** - Python like List. Can store and operate lists of any size and type at runtime. Multi-type lists are supported. Implements I_List.
+* 👍 **FB_Queue** - Standard Queue Data Struture. Can perform queue operations on any class/Function Block that implements I_List. Implements I_Queue.
+* 👍 **FB_Stack** - Standard Stack Data Struture. Can perform stack operations on any class/Function Block that implements I_List. Implements I_Stack.
+
+# Simple Example
+
+This example demostrates how a STRING, DINT and STRUCT can be stored on the queue data structure.
+
+**Declarations:**
+```Pascal
+(* implements I_List, used to store data. *)
+fbList : FB_LIST;
+(* implements I_Queue, will perform queue operations on any class that implements I_List *)
+fbQueue : FB_QUEUE;
+
+sData : STRING; // variable that holds string data
+nData : DINT; // variable that holds 32-bit int data
+stData : ST_DATA := (bMammals := TRUE, sDescription := 'Twin cats'); // variable that holds data in the form of a struct
+
+(* variable to store returned data same as, "bVar := TRUE"*)
+sRTNData : STRING;
+nRTNData : DINT;
+stRTNData : ST_DATA;
+
+nCount1, nCount2 : DINT; // variable will hold the number of items in the queue
+```
+**Implimentation:**
+```Pascal
+fbQueue(ipList := fbList); // tell FB_Queue which list implementation you want to operate on. Can swap lists at runtime.
+
+sData := 'Cats';
+fbQueue.Enqueue(sData); // Enqueues a copy of string data to fbList
+nData := 1234567;
+fbQueue.Enqueue(nData) // Enqueues a copy of 32-bit int data
+ .Enqueue_At_Front(stData); // Enqueues stData at the front of the queue
+
+nCount1 := fbQueue._Count; // should return 3
+
+fbQueue.Dequeue(stRTNData) // removes data at the front of the queue and stores it's contents on stRTNData
+ .Reverse() // reverse the queue
+ .Peek(sRTNData, 1) // returns data at location at stores it on sRTNData without removing it.
+ .Peek(nRTNData, 0);
+
+nCount2 := fbQueue._Count; // should return 2
+
+```
+- - -
+**TcXaeShell Screencap:**
+
+![Front Panel](./assets/images/Simple%20Example%20TcXaeShell%20Screencap.JPG)
+
+![Front Panel](./assets/images/Simple%20Example%20TcXaeShell%20Screencap%202.JPG)
+- - -
+
+
+
+
diff --git a/TcCollections/TcCollections.tsproj b/TcCollections/TcCollections.tsproj
deleted file mode 100644
index 3ffc67b..0000000
--- a/TcCollections/TcCollections.tsproj
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/assets/images/Simple Example TcXaeShell Screencap 2.JPG b/assets/images/Simple Example TcXaeShell Screencap 2.JPG
new file mode 100644
index 0000000..1102e79
Binary files /dev/null and b/assets/images/Simple Example TcXaeShell Screencap 2.JPG differ
diff --git a/assets/images/Simple Example TcXaeShell Screencap.JPG b/assets/images/Simple Example TcXaeShell Screencap.JPG
new file mode 100644
index 0000000..a4e94e6
Binary files /dev/null and b/assets/images/Simple Example TcXaeShell Screencap.JPG differ
diff --git a/builds/0.1.0.0/TcDynCollections.library b/builds/0.1.0.0/TcDynCollections.library
new file mode 100644
index 0000000..84e6742
Binary files /dev/null and b/builds/0.1.0.0/TcDynCollections.library differ
diff --git a/TcCollections.sln b/src/TwinCat Dynamic Collections.sln
similarity index 59%
rename from TcCollections.sln
rename to src/TwinCat Dynamic Collections.sln
index 9e51b1d..6167dd6 100644
--- a/TcCollections.sln
+++ b/src/TwinCat Dynamic Collections.sln
@@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# TcXaeShell Solution File, Format Version 11.00
VisualStudioVersion = 15.0.28010.2050
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{B1E792BE-AA5F-4E3C-8C82-674BF9C0715B}") = "TcCollections", "TcCollections\TcCollections.tsproj", "{AA44BF3E-9AE7-4A37-9C2A-219EE971CF2F}"
+Project("{B1E792BE-AA5F-4E3C-8C82-674BF9C0715B}") = "TwinCat Dynamic Collections", "TwinCat Dynamic Collections\TwinCat Dynamic Collections.tsproj", "{AA44BF3E-9AE7-4A37-9C2A-219EE971CF2F}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -33,6 +33,22 @@ Global
{AA44BF3E-9AE7-4A37-9C2A-219EE971CF2F}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64)
{AA44BF3E-9AE7-4A37-9C2A-219EE971CF2F}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86)
{AA44BF3E-9AE7-4A37-9C2A-219EE971CF2F}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86)
+ {1C1CF391-AD49-4301-B41D-3891FAA7DC78}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7)
+ {1C1CF391-AD49-4301-B41D-3891FAA7DC78}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7)
+ {1C1CF391-AD49-4301-B41D-3891FAA7DC78}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2)
+ {1C1CF391-AD49-4301-B41D-3891FAA7DC78}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2)
+ {1C1CF391-AD49-4301-B41D-3891FAA7DC78}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64)
+ {1C1CF391-AD49-4301-B41D-3891FAA7DC78}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64)
+ {1C1CF391-AD49-4301-B41D-3891FAA7DC78}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86)
+ {1C1CF391-AD49-4301-B41D-3891FAA7DC78}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86)
+ {1C1CF391-AD49-4301-B41D-3891FAA7DC78}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7)
+ {1C1CF391-AD49-4301-B41D-3891FAA7DC78}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7)
+ {1C1CF391-AD49-4301-B41D-3891FAA7DC78}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2)
+ {1C1CF391-AD49-4301-B41D-3891FAA7DC78}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2)
+ {1C1CF391-AD49-4301-B41D-3891FAA7DC78}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64)
+ {1C1CF391-AD49-4301-B41D-3891FAA7DC78}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64)
+ {1C1CF391-AD49-4301-B41D-3891FAA7DC78}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86)
+ {1C1CF391-AD49-4301-B41D-3891FAA7DC78}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86)
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/src/TwinCat Dynamic Collections/TcDynCollections/DUTs/Interfaces/I_Collections.TcIO b/src/TwinCat Dynamic Collections/TcDynCollections/DUTs/Interfaces/I_Collections.TcIO
new file mode 100644
index 0000000..1957e40
--- /dev/null
+++ b/src/TwinCat Dynamic Collections/TcDynCollections/DUTs/Interfaces/I_Collections.TcIO
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/TwinCat Dynamic Collections/TcDynCollections/DUTs/Interfaces/I_List.TcIO b/src/TwinCat Dynamic Collections/TcDynCollections/DUTs/Interfaces/I_List.TcIO
new file mode 100644
index 0000000..31da496
--- /dev/null
+++ b/src/TwinCat Dynamic Collections/TcDynCollections/DUTs/Interfaces/I_List.TcIO
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/TwinCat Dynamic Collections/TcDynCollections/DUTs/Interfaces/I_Queue.TcIO b/src/TwinCat Dynamic Collections/TcDynCollections/DUTs/Interfaces/I_Queue.TcIO
new file mode 100644
index 0000000..db8e4dd
--- /dev/null
+++ b/src/TwinCat Dynamic Collections/TcDynCollections/DUTs/Interfaces/I_Queue.TcIO
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/TwinCat Dynamic Collections/TcDynCollections/DUTs/Interfaces/I_Stack.TcIO b/src/TwinCat Dynamic Collections/TcDynCollections/DUTs/Interfaces/I_Stack.TcIO
new file mode 100644
index 0000000..afab746
--- /dev/null
+++ b/src/TwinCat Dynamic Collections/TcDynCollections/DUTs/Interfaces/I_Stack.TcIO
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/TwinCat Dynamic Collections/TcDynCollections/DUTs/Structs/ST_ERROR.TcDUT b/src/TwinCat Dynamic Collections/TcDynCollections/DUTs/Structs/ST_ERROR.TcDUT
new file mode 100644
index 0000000..2cf98c7
--- /dev/null
+++ b/src/TwinCat Dynamic Collections/TcDynCollections/DUTs/Structs/ST_ERROR.TcDUT
@@ -0,0 +1,15 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/TwinCat Dynamic Collections/TcDynCollections/DUTs/Structs/ST_NODE.TcDUT b/src/TwinCat Dynamic Collections/TcDynCollections/DUTs/Structs/ST_NODE.TcDUT
new file mode 100644
index 0000000..8a06cc1
--- /dev/null
+++ b/src/TwinCat Dynamic Collections/TcDynCollections/DUTs/Structs/ST_NODE.TcDUT
@@ -0,0 +1,14 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/TwinCat Dynamic Collections/TcDynCollections/POUs/Examples/P_List_Example.TcPOU b/src/TwinCat Dynamic Collections/TcDynCollections/POUs/Examples/P_List_Example.TcPOU
new file mode 100644
index 0000000..6697bf6
--- /dev/null
+++ b/src/TwinCat Dynamic Collections/TcDynCollections/POUs/Examples/P_List_Example.TcPOU
@@ -0,0 +1,67 @@
+
+
+
+
+
+ stError);
+CASE eState OF
+ CREATE:
+ sData := 'Cats';fbList.Create(sData);
+ sData := 'Dogs';fbList.Create(sData);
+ sData := 'Birds';fbList.Create(sData);
+ sData := 'Fish';fbList.Insert(sData, 1);
+
+ fbList.Get(sRTNData[0], 0)
+ .Get(sRTNData[1], 1)
+ .Get(sRTNData[2], 2)
+ .Get(sRTNData[3], 3);
+ eState := IDLE;
+ REVERSE:
+ fbList.Reverse();
+ fbList.Get(sRTNData[0], 0)
+ .Get(sRTNData[1], 1)
+ .Get(sRTNData[2], 2)
+ .Get(sRTNData[3], 3);
+ eState := IDLE;
+ REMOVE:
+ fbList.RemoveAt(2)
+ .Get(sRTNData[0], 0)
+ .Get(sRTNData[1], 1)
+ .Get(sRTNData[2], 2)
+ .Get(sRTNData[3], 3);
+ eState := IDLE;
+ COUNT:
+ nCount := fbList._Count;
+ eState := IDLE;
+
+
+END_CASE]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/TwinCat Dynamic Collections/TcDynCollections/POUs/Examples/P_Queue_Example.TcPOU b/src/TwinCat Dynamic Collections/TcDynCollections/POUs/Examples/P_Queue_Example.TcPOU
new file mode 100644
index 0000000..7bbf235
--- /dev/null
+++ b/src/TwinCat Dynamic Collections/TcDynCollections/POUs/Examples/P_Queue_Example.TcPOU
@@ -0,0 +1,73 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/TwinCat Dynamic Collections/TcDynCollections/POUs/Examples/P_Stack_Example.TcPOU b/src/TwinCat Dynamic Collections/TcDynCollections/POUs/Examples/P_Stack_Example.TcPOU
new file mode 100644
index 0000000..5bc022d
--- /dev/null
+++ b/src/TwinCat Dynamic Collections/TcDynCollections/POUs/Examples/P_Stack_Example.TcPOU
@@ -0,0 +1,64 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/TwinCat Dynamic Collections/TcDynCollections/POUs/Function Blocks/FB_Collections.TcPOU b/src/TwinCat Dynamic Collections/TcDynCollections/POUs/Function Blocks/FB_Collections.TcPOU
new file mode 100644
index 0000000..06c127a
--- /dev/null
+++ b/src/TwinCat Dynamic Collections/TcDynCollections/POUs/Function Blocks/FB_Collections.TcPOU
@@ -0,0 +1,79 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/TwinCat Dynamic Collections/TcDynCollections/POUs/Function Blocks/FB_List.TcPOU b/src/TwinCat Dynamic Collections/TcDynCollections/POUs/Function Blocks/FB_List.TcPOU
new file mode 100644
index 0000000..19b872f
--- /dev/null
+++ b/src/TwinCat Dynamic Collections/TcDynCollections/POUs/Function Blocks/FB_List.TcPOU
@@ -0,0 +1,628 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 DO
+ pTemp := pTemp^.pNext; THIS^.Remove();
+END_WHILE]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ = THIS^._Count) THEN
+ stError.bSTATUS := TRUE;
+ stError.nCODE := 5374;
+ stError.sSOURCE := 'Out of bounds. You tried to access data outside the range of this list.';
+ELSE
+ This^.ClearException();
+ END_IF
+OutOfBoundsException := stError.bSTATUS;]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0 DO
+ pNext := pCurrent^.pNext;
+ pCurrent^.pNext := pPrevious;
+ pPrevious := pCurrent;
+ pCurrent := pNext;
+END_WHILE
+THIS^.pHead := pPrevious;
+]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Src.diSize THEN
+ stError.bSTATUS := TRUE;
+ stError.nCODE := 3172;
+ stError.sSOURCE := 'Type mismatch. Byte sizes are not the same';
+ELSIF Dest.TypeClass <> Src.TypeClass THEN
+ stError.bSTATUS := TRUE;
+ stError.nCODE := 3172;
+ stError.sSOURCE := 'Type mismatch. Type classes are not the same';
+ELSE
+ THIS^.ClearException();
+END_IF
+TypeMismatchException := stError.bSTATUS;]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/TwinCat Dynamic Collections/TcDynCollections/POUs/Function Blocks/FB_Queue.TcPOU b/src/TwinCat Dynamic Collections/TcDynCollections/POUs/Function Blocks/FB_Queue.TcPOU
new file mode 100644
index 0000000..ba22453
--- /dev/null
+++ b/src/TwinCat Dynamic Collections/TcDynCollections/POUs/Function Blocks/FB_Queue.TcPOU
@@ -0,0 +1,183 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ THIS^.stError);
+THIS^.stError := ipList._Error_Status;
+CatchError := stError.bSTATUS;]]>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/TwinCat Dynamic Collections/TcDynCollections/POUs/Function Blocks/FB_Stack.TcPOU b/src/TwinCat Dynamic Collections/TcDynCollections/POUs/Function Blocks/FB_Stack.TcPOU
new file mode 100644
index 0000000..3f6ddca
--- /dev/null
+++ b/src/TwinCat Dynamic Collections/TcDynCollections/POUs/Function Blocks/FB_Stack.TcPOU
@@ -0,0 +1,188 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/TwinCat Dynamic Collections/TcDynCollections/POUs/MAIN.TcPOU b/src/TwinCat Dynamic Collections/TcDynCollections/POUs/MAIN.TcPOU
new file mode 100644
index 0000000..ea45521
--- /dev/null
+++ b/src/TwinCat Dynamic Collections/TcDynCollections/POUs/MAIN.TcPOU
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/TwinCat Dynamic Collections/TcDynCollections/PlcTask.TcTTO b/src/TwinCat Dynamic Collections/TcDynCollections/PlcTask.TcTTO
new file mode 100644
index 0000000..e98791c
--- /dev/null
+++ b/src/TwinCat Dynamic Collections/TcDynCollections/PlcTask.TcTTO
@@ -0,0 +1,17 @@
+
+
+
+
+ 10000
+ 20
+
+ MAIN
+
+ {80cb1af1-a338-423c-aa46-d0bf90c6e74c}
+ {cefd522c-e1be-4e21-a59d-684731f26c2d}
+ {cc5bf281-5431-4e1a-9fdc-5878f7e7e488}
+ {b75fb168-4720-4a50-8960-3d381276f267}
+ {d19c5dd1-bc0c-4ab2-ba76-819d6d0de58c}
+
+
+
\ No newline at end of file
diff --git a/src/TwinCat Dynamic Collections/TcDynCollections/Project Information/F_GetCompany.TcPOU b/src/TwinCat Dynamic Collections/TcDynCollections/Project Information/F_GetCompany.TcPOU
new file mode 100644
index 0000000..419ef0e
--- /dev/null
+++ b/src/TwinCat Dynamic Collections/TcDynCollections/Project Information/F_GetCompany.TcPOU
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/TwinCat Dynamic Collections/TcDynCollections/Project Information/F_GetTitle.TcPOU b/src/TwinCat Dynamic Collections/TcDynCollections/Project Information/F_GetTitle.TcPOU
new file mode 100644
index 0000000..24c35e0
--- /dev/null
+++ b/src/TwinCat Dynamic Collections/TcDynCollections/Project Information/F_GetTitle.TcPOU
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/TwinCat Dynamic Collections/TcDynCollections/Project Information/F_GetVersion.TcPOU b/src/TwinCat Dynamic Collections/TcDynCollections/Project Information/F_GetVersion.TcPOU
new file mode 100644
index 0000000..9b8cf3c
--- /dev/null
+++ b/src/TwinCat Dynamic Collections/TcDynCollections/Project Information/F_GetVersion.TcPOU
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/TwinCat Dynamic Collections/TcDynCollections/TcDynCollections.plcproj b/src/TwinCat Dynamic Collections/TcDynCollections/TcDynCollections.plcproj
new file mode 100644
index 0000000..05397ca
--- /dev/null
+++ b/src/TwinCat Dynamic Collections/TcDynCollections/TcDynCollections.plcproj
@@ -0,0 +1,139 @@
+
+
+ 1.0.0.0
+ 2.0
+ {1c1cf391-ad49-4301-b41d-3891faa7dc78}
+ True
+ true
+ true
+ false
+ TcDynCollections
+ 3.1.4023.0
+ {bdcf6193-423f-4189-a72c-a7a612142285}
+ {f2f53b37-b832-4df1-8cdd-d1c651f5adf8}
+ {a7e57aff-d2b2-4bb1-8dde-239fcf0520a3}
+ {6e55aa4a-8f6c-4b13-9be3-80e58b58cc3e}
+ {e63005e3-16a6-4a1c-91bd-4241caf3cc1d}
+ {0fa4148b-16cc-42bc-9d3d-020a5ca52abf}
+ FisoThemes
+ false
+ TwinCat Dynamic Collections
+ Goodwill Mzumala
+ TcDynCollections
+ 0.1.0.0
+ reStructuredText
+ A library for handling collections of data dynamically.
+
+
+
+ Code
+
+
+ Code
+
+
+ Code
+
+
+ Code
+
+
+ Code
+
+
+ Code
+
+
+ Code
+
+
+ Code
+
+
+ Code
+
+
+ Code
+
+
+ Code
+
+
+ Code
+
+
+ Code
+
+
+ Code
+
+
+ Code
+
+
+ Code
+ true
+
+
+ Code
+ true
+
+
+ Code
+ true
+
+
+ Code
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tc2_Standard, * (Beckhoff Automation GmbH)
+ Tc2_Standard
+
+
+ Tc2_System, * (Beckhoff Automation GmbH)
+ Tc2_System
+
+
+ Tc3_Module, * (Beckhoff Automation GmbH)
+ Tc3_Module
+
+
+
+
+ Content
+
+
+
+
+
+
+
+ "<ProjectRoot>"
+
+
+
+
+
+ System.Collections.Hashtable
+ {54dd0eac-a6d8-46f2-8c27-2f43c7e49861}
+ System.String
+
+
+
+
+
\ No newline at end of file
diff --git a/src/TwinCat Dynamic Collections/TcDynCollections/TcDynCollections.tmc b/src/TwinCat Dynamic Collections/TcDynCollections/TcDynCollections.tmc
new file mode 100644
index 0000000..88e2f1d
--- /dev/null
+++ b/src/TwinCat Dynamic Collections/TcDynCollections/TcDynCollections.tmc
@@ -0,0 +1 @@
+ST_LibVersion288iMajorUINT160iMinorUINT1616iBuildUINT1632iRevisionUINT1648nFlagsDWORD3264sVersionSTRING(23)19296T_MaxString2048STRING(255)ST_ERROR2112bSTATUSBOOL80nCODEDINT3232sSOURCET_MaxString204864enable_dynamic_creationI_Collections64PVOID__get_CountDINT32property__get_Error_StatusST_ERROR2112property__get_Is_EmptyBOOL8propertyClearFB_Collections2240I_CollectionsstErrorST_ERROR2112128__GetInterfacePointerBOOL8pRefDWORD64__get_Is_EmptyBOOL8_Is_EmptyBOOL8property__get_CountDINT32_CountDINT32property__GetInterfaceReferenceBOOL8nInterfaceIdDINT32pRefDWORD64__get_Error_StatusST_ERROR2112_Error_StatusST_ERROR2112propertyClearPouTypeFunctionBlockTYPE_CLASS32DWORDTYPE_BOOL0TYPE_BIT1TYPE_BYTE2TYPE_WORD3TYPE_DWORD4TYPE_LWORD5TYPE_SINT6TYPE_INT7TYPE_DINT8TYPE_LINT9TYPE_USINT10TYPE_UINT11TYPE_UDINT12TYPE_ULINT13TYPE_REAL14TYPE_LREAL15TYPE_STRING16TYPE_WSTRING17TYPE_TIME18TYPE_DATE19TYPE_DATEANDTIME20TYPE_TIMEOFDAY21TYPE_POINTER22TYPE_REFERENCE23TYPE_SUBRANGE24TYPE_ENUM25TYPE_ARRAY26TYPE_PARAMS27TYPE_USERDEF28TYPE_NONE29TYPE_ANY30TYPE_ANYBIT31TYPE_ANYDATE32TYPE_ANYINT33TYPE_ANYNUM34TYPE_ANYREAL35TYPE_LAZY36TYPE_LTIME37TYPE_BITCONST38AnyType128pValueBYTE640diSizeDINT3264TypeClassTYPE_CLASS3296linkalwaysI_List64I_CollectionsAdd_FrontI_List64ValueAnyType128anytypeclassANYhasanytypeCreateI_List64ValueAnyType128anytypeclassANYhasanytypeFB_exitBOOL8bInCopyCodeBOOL8FB_initBOOL8bInitRetainsBOOL8bInCopyCodeBOOL8GetI_List64Return_ValueAnyType128anytypeclassANYnIndexDINT32hasanytypeGet_FirstI_List64Return_ValueAnyType128anytypeclassANYhasanytypeInsertI_List64ValueAnyType128anytypeclassANYnIndexDINT32hasanytypeRemoveI_List64RemoveAtI_List64nIndexDINT32ReverseI_List64SetI_List64ValueAnyType128anytypeclassANYnIndexDINT32hasanytypeST_NODE2240DataAnyType1280sDataT_MaxString2048128pNextST_NODE6421760enable_dynamic_creationFB_List2496FB_CollectionsI_ListnSizeDINT322304pHeadST_NODE642368__FB_LIST__MEMCMPERREXPECTION__NMEMERRDINT322432InsertI_List64ValueAnyType128anytypeclassANYnIndexDINT32pPreviousST_NODE64pCurrentST_NODE64pTempST_NODE64hasanytypeRemoveI_List64pTempST_NODE64SetValueVariableAnyType128ValueUSINT8Malloc_NodeST_NODE64VariableAnyType128pTempST_NODE64IterateST_NODE64nIndexDINT32iDINT32pTempST_NODE64MemCmpErrExpectionBOOL8pDestAddrPVOID64pSrcAddrPVOID64nSizeUDINT32nMemErrDINT32uselocation__FB_LIST__MEMCMPERREXPECTION__NMEMERR__get_Is_EmptyBOOL8_Is_EmptyBOOL8property__GetInterfaceReferenceBOOL8nInterfaceIdDINT32pRefDWORD64GetI_List64Return_ValueAnyType128anytypeclassANYnIndexDINT32pTempST_NODE64hasanytypeClearpTempST_NODE64DecrementSizeAdd_FrontI_List64ValueAnyType128anytypeclassANYpTempST_NODE64hasanytypeGet_FirstI_List64Return_ValueAnyType128anytypeclassANYpTempST_NODE64hasanytypeEmptyListExceptionBOOL8__GetInterfacePointerBOOL8pRefDWORD64CopyValueToDestAnyType128SrcAnyType128ClearExceptionBOOL8IncrementSizeTypeMismatchExceptionBOOL8DestAnyType128SrcAnyType128RemoveAtI_List64nIndexDINT32pTempST_NODE12128__Index__0DINT32OutOfBoundsExceptionBOOL8nIndexDINT32SetI_List64ValueAnyType128anytypeclassANYnIndexDINT32pTempST_NODE64hasanytype__get_CountDINT32_CountDINT32propertyFree_NodepNodeST_NODE64CreateI_List64ValueAnyType128anytypeclassANYpTempST_NODE64hasanytypeReverseI_List64pPreviousST_NODE64pCurrentST_NODE64pNextST_NODE64PouTypeFunctionBlockI_Queue64I_CollectionsDequeueI_Queue64ItemAnyType128anytypeclassANYhasanytypeDequeue_VoidI_Queue64EnqueueI_Queue64ItemAnyType128anytypeclassANYhasanytypeEnqueue_At_FrontI_Queue64ItemAnyType128anytypeclassANYhasanytypePeekI_Queue64ItemAnyType128anytypeclassANYnIndexDINT32hasanytypeReverseI_Queue64FB_Queue2368FB_CollectionsI_QueueipListI_List642304ItemTypeInputCatchErrorBOOL8EnqueueI_Queue64ItemAnyType128anytypeclassANYhasanytypeEnqueue_At_FrontI_Queue64ItemAnyType128anytypeclassANYhasanytypeDequeueI_Queue64ItemAnyType128anytypeclassANYhasanytype__GetInterfaceReferenceBOOL8nInterfaceIdDINT32pRefDWORD64__GetInterfacePointerBOOL8pRefDWORD64__get_Is_EmptyBOOL8_Is_EmptyBOOL8propertyClearReverseI_Queue64Dequeue_VoidI_Queue64__get_CountDINT32_CountDINT32propertyPeekI_Queue64ItemAnyType128anytypeclassANYnIndexDINT32hasanytypePouTypeFunctionBlockImplicit_Enum__P_List_Example__eState16INTCREATE0REVERSE1REMOVE2COUNT3IDLE4ST_DATA656bMammalsBOOL80sDescriptionSTRING(80)6488Implicit_Enum__P_Queue_Example__eState16INTIDLE0ENQUEUE_AND_PEEK1GET_ITEM_COUNT2REVERSE_AND_PEEK3DEQUEUE_AND_PEEK4CLEAR_Q5Implicit_Enum__P_Stack_Example__eState16INTIDLE0PUSH_AND_PEEK1GET_ITEM_COUNT2REVERSE_AND_PEEK3POP4CLEAR_STACK5I_Stack64I_CollectionsPeekI_Stack64ItemAnyType128anytypeclassANYnIndexDINT32hasanytypePopI_Stack64ItemAnyType128anytypeclassANYhasanytypePop_VoidI_Stack64PushI_Stack64ItemAnyType128anytypeclassANYhasanytypeTopI_Stack64ItemAnyType128anytypeclassANYhasanytypeFB_Stack2368FB_CollectionsI_StackipListI_List642304ItemTypeInputPop_VoidI_Stack64CatchErrorBOOL8__GetInterfaceReferenceBOOL8nInterfaceIdDINT32pRefDWORD64__GetInterfacePointerBOOL8pRefDWORD64__get_Is_EmptyBOOL8_Is_EmptyBOOL8propertyClearPopI_Stack64ItemAnyType128anytypeclassANYhasanytypeReverseI_Stack64__get_CountDINT32_CountDINT32propertyTopI_Stack64ItemAnyType128anytypeclassANYhasanytypePushI_Stack64ItemAnyType128anytypeclassANYhasanytypePeekI_Stack64ItemAnyType128anytypeclassANYnIndexDINT32hasanytypePouTypeFunctionBlockVERSION64uiMajorUINT160uiMinorUINT1616uiServicePackUINT1632uiPatchUINT1648EPlcPersistentStatus8USINT012PlcAppSystemInfo2048ObjIdOTCID320TaskCntUDINT3232OnlineChangeCntUDINT3264FlagsDWORD3296AdsPortUINT16128BootDataLoadedBOOL8144OldBootDataBOOL8152AppTimestampDT32160KeepOutputsOnBPBOOL8192ShutdownInProgressBOOL8200LicensesPendingBOOL8208BSODOccuredBOOL8216LoggedInBOOL8224PersistentStatusEPlcPersistentStatus8232TComSrvPtrITComObjectServer32256TcComInterfaceAppNameSTRING(63)512512ProjectNameSTRING(63)5121024PlcTaskSystemInfo1024ObjIdOTCID320CycleTimeUDINT3232PriorityUINT1664AdsPortUINT1680CycleCountUDINT3296DcTaskTimeLINT64128LastExecTimeUDINT32192FirstCycleBOOL8224CycleTimeExceededBOOL8232InCallAfterOutputUpdateBOOL8240RTViolationBOOL8248TaskNameSTRING(63)512512_Implicit_KindOfTask16INT_implicit_cyclic0_implicit_event1_implicit_external2_implicit_freewheeling3_Implicit_Jitter_Distribution48wRangeMaxWORD160wCountJitterNegWORD1616wCountJitterPosWORD1632hide_Implicit_Task_Info896dwVersionDWORD320pszNameSTRING(80)6464nPriorityINT16128KindOf_Implicit_KindOfTask16144bWatchdogBOOL8160bProfilingTaskBOOL8168dwEventFunctionPointerBYTE64192pszExternalEventSTRING(80)64256dwTaskEntryFunctionPointerBYTE64320dwWatchdogSensitivityDWORD32384dwIntervalDWORD32416dwWatchdogTimeDWORD32448dwLastCycleTimeDWORD32480dwAverageCycleTimeDWORD32512dwMaxCycleTimeDWORD32544dwMinCycleTimeDWORD32576diJitterDINT32608diJitterMinDINT32640diJitterMaxDINT32672dwCycleCountDWORD32704wTaskStatusWORD16736wNumOfJitterDistributionsWORD16752pJitterDistribution_Implicit_Jitter_Distribution64768bWithinSPSTimeSlicingBOOL8832byDummyBYTE8840bShouldBlockBOOL8848bActiveBOOL8856dwIECCycleCountDWORD32864hideTcDynCollections{08500001-0000-0000-F000-000000000064}0PlcTask#x020100303PlcTask Internal0589824Global_Version.stLibVersion_Tc2_Standard288ST_LibVersion.iMajor3.iMinor3.iBuild3.iRevision0.nFlags0.sVersion3.3.3.0const_non_replacedTcVarGlobal3072000Global_Version.stLibVersion_Tc2_System288ST_LibVersion.iMajor3.iMinor4.iBuild22.iRevision0.sVersion3.4.22.0const_non_replacedTcVarGlobal3072288Global_Version.stLibVersion_Tc3_Module288ST_LibVersion.iMajor3.iMinor3.iBuild21.iRevision0.sVersion3.3.21.0const_non_replacedTcVarGlobal3072576MAIN.fbList2496FB_List3084672MAIN.fbQueue2368FB_Queue3087168MAIN.sData648STRING(80)3089536P_List_Example.eState16Implicit_Enum__P_List_Example__eStateimplicit_enum_type3090192MAIN.nData32DINT3090208MAIN.stData656ST_DATA.bMammals1.sDescriptionTwin cats3090240MAIN.sRTNData648STRING(80)3090896Constants.bLittleEndian8BOOL1TcVarGlobal3091544MAIN.nRTNData32DINT3091552MAIN.stRTNData656ST_DATA3091584P_Queue_Example.eState16Implicit_Enum__P_Queue_Example__eStateimplicit_enum_type3092240MAIN.nCount132DINT3092256MAIN.nCount232DINT3092288P_List_Example.nCount32DINT3092320P_List_Example.fbList2496FB_List3092352P_List_Example.sData648STRING(80)3094848P_List_Example.sRTNData2592STRING(80)043095496Constants.bSimulationMode8BOOL0TcVarGlobal3098088P_Stack_Example.eState16Implicit_Enum__P_Stack_Example__eStateimplicit_enum_type3098096P_List_Example.stError2112ST_ERROR3098112P_Queue_Example.fbList2496FB_List3100224P_Queue_Example.fbQueue2368FB_Queue3102720P_Queue_Example.sData648STRING(80)3105088P_Queue_Example.sRTNData2592STRING(80)043105736Constants.bFPUSupport8BOOL1TcVarGlobal3108328Constants.nRegisterSize16WORD64TcVarGlobal3108336P_Queue_Example.nData32DINT3108352P_Queue_Example.nRTNData128DINT043108384P_Queue_Example.nCount32DINT3108512P_Queue_Example.stError2112ST_ERROR3108544P_Stack_Example.fbList2496FB_List3112128P_Stack_Example.fbStack2368FB_Stack3114624P_Stack_Example.sData648STRING(80)3116992P_Stack_Example.sRTNData2592STRING(80)043117640Constants.bMulticoreSupport8BOOL0TcVarGlobal3120232Constants.nPackMode16UINT8TcVarGlobal3120240P_Stack_Example.nData32DINT3120256P_Stack_Example.nRTNData128DINT043120288P_Stack_Example.nCount32DINT3120416P_Stack_Example.stError2112ST_ERROR3120448Global_Version.stLibVersion_TwinCat_Dynamic_Collections288ST_LibVersion.iMajor0.iMinor1.iBuild0.iRevision0.nFlags0.sVersion0.1.0.0const_non_replacedTcVarGlobal3122560Constants.RuntimeVersion64VERSION.uiMajor3.uiMinor5.uiServicePack13.uiPatch0TcVarGlobal3122848Constants.CompilerVersion64VERSION.uiMajor3.uiMinor5.uiServicePack13.uiPatch40TcVarGlobal3122912Constants.RuntimeVersionNumeric32DWORD50662656TcVarGlobal3122976Constants.CompilerVersionNumeric32DWORD50662696TcVarGlobal3123008TwinCAT_SystemInfoVarList._TaskPouOid_PlcTask32OTCIDno_initTcVarGlobal3123040TwinCAT_SystemInfoVarList._AppInfo2048PlcAppSystemInfono_initTcVarGlobal3123072TwinCAT_SystemInfoVarList._TaskInfo1024PlcTaskSystemInfo11no_initTcVarGlobal3125120TwinCAT_SystemInfoVarList._TaskOid_PlcTask32OTCIDno_initTcVarGlobal3126144MAIN.bStart8BOOL13126176TwinCAT_SystemInfoVarList.__PlcTask896_Implicit_Task_Info.dwVersion2TcContextNamePlcTaskTcVarGlobal3126208ApplicationNamePort_851ChangeDate2022-05-18T02:31:45GeneratedCodeSize77824GlobalDataSize24576
\ No newline at end of file
diff --git a/src/TwinCat Dynamic Collections/TcDynCollections/Version/Global_Version.TcGVL b/src/TwinCat Dynamic Collections/TcDynCollections/Version/Global_Version.TcGVL
new file mode 100644
index 0000000..0636522
--- /dev/null
+++ b/src/TwinCat Dynamic Collections/TcDynCollections/Version/Global_Version.TcGVL
@@ -0,0 +1,14 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/TwinCat Dynamic Collections/TcDynCollections/_CompileInfo/5044E835-1EB8-38CA-5916-D347A6051146.compileinfo b/src/TwinCat Dynamic Collections/TcDynCollections/_CompileInfo/5044E835-1EB8-38CA-5916-D347A6051146.compileinfo
new file mode 100644
index 0000000..78d520f
Binary files /dev/null and b/src/TwinCat Dynamic Collections/TcDynCollections/_CompileInfo/5044E835-1EB8-38CA-5916-D347A6051146.compileinfo differ
diff --git a/src/TwinCat Dynamic Collections/TcDynCollections/_CompileInfo/D3C947E3-C670-3241-F5B4-1AF088F3D8C6.compileinfo b/src/TwinCat Dynamic Collections/TcDynCollections/_CompileInfo/D3C947E3-C670-3241-F5B4-1AF088F3D8C6.compileinfo
new file mode 100644
index 0000000..eb9b444
Binary files /dev/null and b/src/TwinCat Dynamic Collections/TcDynCollections/_CompileInfo/D3C947E3-C670-3241-F5B4-1AF088F3D8C6.compileinfo differ
diff --git a/src/TwinCat Dynamic Collections/TcDynCollections/_Libraries/beckhoff automation gmbh/tc2_standard/3.3.3.0/tc2_standard.compiled-library b/src/TwinCat Dynamic Collections/TcDynCollections/_Libraries/beckhoff automation gmbh/tc2_standard/3.3.3.0/tc2_standard.compiled-library
new file mode 100644
index 0000000..4cb0bb4
Binary files /dev/null and b/src/TwinCat Dynamic Collections/TcDynCollections/_Libraries/beckhoff automation gmbh/tc2_standard/3.3.3.0/tc2_standard.compiled-library differ
diff --git a/src/TwinCat Dynamic Collections/TcDynCollections/_Libraries/beckhoff automation gmbh/tc2_system/3.4.22.0/tc2_system.compiled-library b/src/TwinCat Dynamic Collections/TcDynCollections/_Libraries/beckhoff automation gmbh/tc2_system/3.4.22.0/tc2_system.compiled-library
new file mode 100644
index 0000000..9240328
Binary files /dev/null and b/src/TwinCat Dynamic Collections/TcDynCollections/_Libraries/beckhoff automation gmbh/tc2_system/3.4.22.0/tc2_system.compiled-library differ
diff --git a/src/TwinCat Dynamic Collections/TcDynCollections/_Libraries/beckhoff automation gmbh/tc3_module/3.3.21.0/tc3_module.compiled-library b/src/TwinCat Dynamic Collections/TcDynCollections/_Libraries/beckhoff automation gmbh/tc3_module/3.3.21.0/tc3_module.compiled-library
new file mode 100644
index 0000000..96943d5
Binary files /dev/null and b/src/TwinCat Dynamic Collections/TcDynCollections/_Libraries/beckhoff automation gmbh/tc3_module/3.3.21.0/tc3_module.compiled-library differ
diff --git a/src/TwinCat Dynamic Collections/TwinCat Dynamic Collections.tsproj b/src/TwinCat Dynamic Collections/TwinCat Dynamic Collections.tsproj
new file mode 100644
index 0000000..ef0009d
--- /dev/null
+++ b/src/TwinCat Dynamic Collections/TwinCat Dynamic Collections.tsproj
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+ PlcTask
+
+
+
+
+
+
+ TcDynCollections Instance
+ {08500001-0000-0000-F000-000000000064}
+
+
+ 0
+ PlcTask
+
+ #x02010030
+
+ 20
+ 10000000
+
+
+
+
+
+
+
+
+
+
diff --git a/TcCollections/_Boot/TargetDescription.xml b/src/TwinCat Dynamic Collections/_Boot/TargetDescription.xml
similarity index 100%
rename from TcCollections/_Boot/TargetDescription.xml
rename to src/TwinCat Dynamic Collections/_Boot/TargetDescription.xml
diff --git a/src/TwinCat Dynamic Collections/_Boot/TwinCAT RT (x64)/CurrentConfig.xml b/src/TwinCat Dynamic Collections/_Boot/TwinCAT RT (x64)/CurrentConfig.xml
new file mode 100644
index 0000000..0efbc23
--- /dev/null
+++ b/src/TwinCat Dynamic Collections/_Boot/TwinCAT RT (x64)/CurrentConfig.xml
@@ -0,0 +1,136 @@
+
+
+
+ 33554432
+ #x800
+ #x800
+
+ 64
+ 5
+
+ 3.1.4021
+
+
+
+ 1
+ TcIo
+
+
+ 1
+ TcPlc30
+
+
+ 1
+ TcRtsObjects
+
+
+ 1
+ TcRTime
+
+
+
+
+ Init1\IO: Download Config Id
+ 300
+ 61696
+ 4
+ 00000000
+
+
+ Init1\IO: Create TComObj PREOP
+ 10
+ 3
+ 0
+ 0200000200000000f0000000000000641000500800005008020000000000000000000000000000000000000000000000506c634175785461736b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005400000048000000030000000000000000000000010000011b00000000000000000000000e010b0000000000506c634175785461736b00000000000002100002040000003200000000000000071000020400000000080000
+
+
+ Init1\IO: Download Config Id
+ 12
+ 96
+ 0
+ 1600000000000000e000000000000064060000001400000000000000e000000000000064070000001300000000000000e000000000000064080000001800000000000000e000000000000064060000003000000000000000e0000000000000640f0000000200000200000000e000000000000064080000001000000300000000e000000000000064040000002500000300000000e000000000000064040000002900000300000000e000000000000064040000001100000300000000e000000000000064050000000200000000000000e000000000000064040000003100000000000000e000000000000064040000003800000000000000e000000000000064040000001200000000000000e0000000000000640e0000001500000000000000e000000000000064060000000300000200000000e000000000000064100000001000000200000000e000000000000064220000001700000300000000e000000000000064040000001800000300000000e000000000000064070000001e00000300000000e000000000000064050000002600000300000000e000000000000064050000002a00000300000000e000000000000064050000001f00000300000000e000000000000064050000001200000300000000e000000000000064060000000100010100000000e000000000000064080000000201500800000000e000000000000064070000000401500800000000e000000000000064080000000500000500000000e000000000000064050000000600000500000000e000000000000064070000003500010300000000e000000000000064050000006000010300000000e0000000000000640c00000029742a746dda1d4c80d8398d8c1f1747110000001810020300000000e00000000000006406000000787cde9ca0327543827e924b31021fcd040000005a00000000000000e000000000000064050000005900000000000000e000000000000064060000002dc33b49338f3643b722bcbca961872308000000b124e3d3201b3944b9fddeefd5f940f1040000005e36edb646919a4394a0e5d91df0046904000000bb79e79054578041baff14c8892e5dde0e0000000a01500800000000e000000000000064050000006600000000000000e000000000000064070000006700000000000000e0000000000000640a000000d28c8ad27754754baf0f998841af9e44050000006767bff78b543c49899b06a477976f11070000007aa8c9bfdef69a49ac45f3b1a59315f90a000000a57abfc3830afa4c9a7a04c1dfd0e5dd0600000050342923c5144c48b74f4e0a8dfd115d07000000e9b09c4a6989854bb5676051105112000a0000002ced746483e44e45a67d233e6d337c080d00000039d6d577dd16f7488490f632aa0959170e000000f74f6dec0558db4da31627894e77d644110000008df73f9ce897854f8187adb3bcb8738714000000e8beb647cb0e924c9d93fb11d3ba0336040000001b4b90700ef0cb4fbe59151086e9b8f607000000d7d9ccc0cddd2d4ca24cb1f3257c9a6407000000e2d4d5b2f607f444a29292ca8035aa86130000000100010500000000e000000000000064070000000d000a0300000000e0000000000000640d0000000e000a0300000000e0000000000000640c00000009000a0300000000e0000000000000640400000010000a0300000000e0000000000000640600000023a7719a2839024cac02efd30999a041040000001fd8c4d7abcf0341b89e6f6731dbfc1c0a0000004866f3081a87a8439d474e77905a60630e000000b8408b015d250d45aa48409f5f874d1c050000008eb7513b5d2802448b9a18b75448481014000000307ddc2c225f9f429065d912d842114811000000d905e481af9f284c9985185ac023a4c20c000000a8aafc9e6f55694bab9f2967b7f9dfc60e0000002ac195e69a2d8e40b9b2508d7ce3af9a23000000f9832147095d8c4d92fde0524ef658bf260000008eb16b19999dce40b81e48992ce432170500000010abb7a499e523429e9fd8e321942f9c05000000c0d193f82dc82e4aa86f93f7442998b10a0000000bcb597a03d3d64a848c7a7efc5ab73c090000001220d185c07a7f48a49d154db46e728c060000007898edd85ef26147b6671dc5b051e07b05000000ae31567fc4f8d54b8a624c0bafacbe680d0000004a23c0431a3f7542adbba0a312ed69e0090000006cae48bb15c4c544a13f9b5ec51d997504000000cdd70eb87c38764092f9c85ad8604de805000000d8dc2bf5f1fa8d46a92d3b13096aab03080000009600010300000000e000000000000064050000009e00010300000000e000000000000064080000009500010300000000e000000000000064040000009700010300000000e000000000000064070000009900010300000000e000000000000064050000009800010300000000e0000000000000640e0000009d00010300000000e00000000000006405000000
+ Download TCom interface method counts
+ -2147473648
+
+
+ Init3\IO: Set State TComObj SAFEOP
+ 10
+ 256
+ 0
+ 100050080400000000000000
+
+
+ Init4\RTime: Start Interrupt
+ 200
+ 1
+ 37
+ 0b00000050000000102700000000000000000000020000000000000000000000
+ Ticker started
+
+
+ Init10\IO: Create TComObj PREOP
+ 10
+ 3
+ 0
+ 0100500800000000f0000000000000640020500800005008020000000000000000000000000000000000000000000000546344796e436f6c6c656374696f6e7320496e7374616e636500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000dc000000d00000000b00000000000000000000000300500809000000506f72745f38353100000000000000000c00500811000000546344796e436f6c6c656374696f6e730000000000000000040050080200000053030000000000000b0050080400000010005008000000000d00500804000000915a8462000000001b805008010000000100000000000000050050080400000001205008000000000f805008040000000000000000000000198050080a000000506c635461736b0000000000000000001a8050080400000030000102000000001c80500804000000ffffffff
+ Create Object TcDynCollections Instance
+
+
+ Init10\IO: Create TComObj PREOP
+ 10
+ 3
+ 0
+ 0100020100000000f0000000000000641100000300000002020000000000000000000000000000000000000000000000492f4f2049646c65205461736b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000680000005c000000040000000000000000000000010000011d000000000000000000000054010d0000000000492f4f2049646c65205461736b00000000000000011000020400000040420f000000000002100002040000000b00000000000000071000020400000000080000
+ Task 'I/O Idle Task' created
+
+
+ Init10\IO: Create TComObj PREOP
+ 10
+ 3
+ 0
+ 0100020100000000f0000000000000643000010200000002020000000000000000000000000000000000000000000000506c635461736b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000054000000040000000000000000000000010000011700000000000000000000005e01070000000000506c635461736b00000000000110000204000000809698000000000002100002040000001400000000000000071000020400000000080000
+ Task 'PlcTask' created
+
+
+ Init12\IO: Set State TComObj SAFEOP
+ 10
+ 260
+ 1
+ 1100000330000102
+ Set Objects (2) to SAFEOP
+
+
+ Init28\IO: Download Symbols
+ 851
+ 61468
+ 0
+ 0400400036000000c10600004a00000095110000d0070000e404000016000000b8150000803d0000000000000000000058ca6618cfa5831bb7934edc4f93238e78daad987d6c13651cc79f2165301812612f80190f0c642ad46d18074b14cada6161b4a3eb468631c7adbdb193f6aede5d652301813f1479316066e42f02611a5f30f807246adc7c0115ff4112882f9348821b8eb086e1609298107ff7f4b9b6cff5589bb125ebeedaebf7f37b9edff7fbdc736b4708ad5a855077cc8672e0783efc4e86df02341195a11a5952355ed2547b4b6d7d6343341291150dadf67aeb1076ca828ab536016bbcb245d0b01aff1487a3214d8c84041c9015415d89de9d9d5b8c923fe5f13fed94bbbf9fe51699b975a2a6850497141479691cc8f5947b7098e5ce052e4ae5aed7c5742166d4699ac638ba0758bdd9e6713488501eaf89b2b45e0e0a0f3d925d947be58e8df01c096e2ec3ad91c3113124284d82a2021b35b97c0d6eaf277bf484bca2da9d6f5485b6f7be35e9ccbe3fe7d2120cfe00f0f5999b49f918d946e37ba261411103c8b9d1eb738e79fcb9084528ff6de8e304387e8cf2679ae65daae7035bc98c37ba3dfe31136d469f7b622ccfec57c9276c11554d501ac4ed027aa8514e4ccdc965539f8b4d7df645254d0c0be3d666a3bf7da6fece33f597e58e5b7b511be5a32b36b43065dc65281f5ed784e4163ec451aa5dd5eac4167ac2f903955c031417e495206af073c98f108aad6e968f7fbdc3bd6751e90fbd9fe64d4972169a384f64c7e98056873353929c17c7c059c68181a321211b8ee197cfeeb09caacc9c6da254c36b9cb343e2c36280ab91432121a02f586a16e05594ab8db0ebe054e29ef50eb7079640b0c183d65123cfe5d76c68794eb2eea9c4e7e4fbad702f503554bb9a237fb118060b850570217693b796e0a82a04b12663550363e120aff1768c0e5435aee0373c5d95af5ebc74f0cbdd31023c46796d7f819f5378d3e075a3c1db1015a2820e8c1fb044f2de12bc4d0c857044505a65258c5fd5dfc3329c92955ec5b28479a9030742bcaa2781d7d2abc668f8d6e1dbf3ab5ef9eff381fb5d6b4fc8f352fbd8d71fcfdf2389fa26a267e3f549353284af0239c9c2f61aaf887c0b648a14d426878224795234dc2228586ec5223855c5a244de26859a9b3025853b90895b39be5c231f7d7d2c370fce1652ae13fa69a69239d5a92a5e56b9b44584099634d2792b0ae48f720e98c6979ff4a9e4f37b92286b9944bd87a0de0d705c92a8370fee81444725220d7e9fdbb3a66c79f993d655ab9a224a5bd22acea17b15631daeee6739f9c0594e3946bdd628230d8aa0451509f2a1a3b0ca8705ccab4bf08296265ec1d5cf63bfafd1b520ad84841f609c3ec4e6b282f2354ae79c0ebfc37a9484493d409202c6e0f5b147031afa62b6efa7cec538e7c6ca7bdf6e5a8ae7a4f6e9503fcb9d4eee0e949b1c781c6da1b497ea5ceb8bdfb7f5dfc933f4fded227d7824819cab9dd75369176085d204e486133120c2fbe0628e632fe2387a152a5db7fbe87b233dcf1c7ba16bd2d4f92ace814d81687c55d0bfaa7544043a99c6be73a89f5ddf0ac8784c7598563aab15ccd01b34f9b8809c99f4e2891dd5cf865ed9dfaccf6681cfd2f4d29c9dee5c231f1da0e7cc49ea15a139167a46231d3e9fa319bf546eb72f7b197b6b712ae2f661c7e677be931ddd253fffd2d479a19aadfb1bd87f4f4e99d742f26ae6682e459115dd2f2e9fcf0bbeda3bf2ef9d93137e7cfcfed1c5674b7f6ffe28e9977ed62f8570a7d6f5c8aa9fd130cc5549c7dcadbf7abce3f2cd13bdeaebcdd3af5e9f368a638c719dbfc1faa590fa85ad23b3610c3d7493bddf15d17932eb996e7d69f72843ef728cf55f21f51fab97d980893ec6acfd6cd2cbb83e6fa67ae7406f468a5e3138da42ef41068c2352acf72b582f909a9741362f05342fac7ee6c018fb9f8e41362fc59097fc74bd2c02c3acf769e931eaff2dc6e6c6da0f998363e4a667c03a379080c0d68cb961ae4ae666e7e9ebfb6ba7edd97c7addacd82747baed59e4e6c82debdcb075649f9b8b43d6b931eb91735d307e807aa6579c3975f1c8dc3f3ed8d459ee3a3b60e8750d5be786d5cb3e378786ad7363d2cb3a379dc3d6b931e98d3937f76e5be786d5cf3e37ee7fac7363d21bb7dc7c386c9d1b132febdcb4c37353c4d8e7c0c49792276ef24ce6f0d3e74cb7d42ac3664db7aa1dd2120af879752be21229d24f39fd228446026f36eea85f71aea4ed42edae9293bd39283fd71f80c7764d68d73cb0f743c6d711bb9f1d82e7469432ae05a4efa3d4e1884408b2beaec60e9a709abc0821e9eabcce0b55e5751f97563e77aa8bbf96d8cf0eddb5916383534af663a370f46289266d5d85dd5e415a47c1fae7a9e4bb97be77ad7dfffce27d43d55ff51d4761c4fa3b32c2fe5fe32964cbccf78ac1c4b47bfd356e675a8a1e35e671d0f47f93a5d9e8d7cbd12c10e4f57f9231850678dad55b7b705cd5793f92562b592f56f2db26f2758c5fb46c653b60e294e0d5ee95b4d66af77a1fb2641eebabdd2be9e2d5dd65ef5d596b1a823d4c1b1c9a8162266e664a718164a010980eb494e1959096d0ce60a79007a613c79d0e8564081008c9346de879dcc7d9bbe7ec959cfcd31dad76efeb77bef37ddff99e67a52600e09ffdf29b9f21f83e1600e053e6710bc846e74a0535a71ad97daa6128e56c44d58db23a5531d4a206efd8076a919acdcf3ef83e0edfcb80cf3c7324296b33ca98bc000e24921100ee5ddbb6867ad02731909a29a44b1ca470b1a219849eb832b3043c9f279e54d43978ef04b46af5bd8dbff9de9955edb3efaf82d83e30abe61574f1090e17d0e7310180159093e4e5f07354d5f289e9b4ac1f06d1781a805367bef9c50bdf687df786ef5cf77cf6aad5311f086455ebe65c3507bf20aa9d73cabca21970d83eead4029c822617e0c0ab9cb3d365453932ab2805559b21849496d5d25b72c97fb9797c29452fa2341bd5a68bf0fca86bbe162797db526f35cfe48f8c2b651de94a84c9d6b6491754bbf9eec750eda00dacb488d48fc6e539054809c82f3129a413422a9d8cc687b75d3db01d80179f1d0e3cb6fea13b1ed9d8bd75fbb7cef746193209989f84464b269a54568b65d5a81241b828f41f6000f551407e285ef2222265cbb84ebeee9583be23a08d752b67ea806ce466f3c519309848c4ea081c4830905652483d0e92542e4eab480f304d6cb8298644d00dbda64456c1a5630957443a3854d172c81c48455583fa470b6870322dd688660b14cd5ed6080225f3002d73d1d4693cd462853fcd18611b358775d41c102b44cd2857973c8f038c6530402d8395d432b0649852345d35d479a46e9c251163c07e8682eda060a388d279b8e239581203eb6a0aab8741625a85ab8c83b79f81f7c714de25145e4cd68d30345c4a23c03403702f05d8470186e695b23ca37862b2261de14c1a3aa48bc21be1e1a99a275e948117c3ee96e0b5db0b36af12b704222cd3b48ca5291205d4590704c95b0256ba3116f4e56cac38036b82625817c530cc2dec8117bb1e90e1bd9ef2e40e65782da70cd9a8f0bcf84106d68d14d65a072b5e994b4c9399d2410f0f798161720e993e15999ce5d80061a3560f4adb1a8f90ebd9a78237bffed1ede55b7ebe3e18daf14a689c61fd6729ebbf92f223aa31ab6a292985943385c6d0783e658481aada06140ac541ad462a737355404ca40ba7698c817313455d9783939a2d560af9c14231777809441da6c028a242d092cf2b1c1c96112b708c58540c7b6be8c7b93fcb7c41faec77fa675f1dbaadffd173746c885e3f62e8861d6f61c22d6d0c8da54291489211595b31ba2581561b45538c681e3d1917d3d17aea422243e7fd94cefb6cb6958a6583a3deaee341fc7fa2018dc76c4386eeb0a9236a62ddec26d5fcdcebca4f02aef8b4cdce4f425a355d2d214627393cb65cbedf76f9a571b95051bcddfb30434dda298be8a72c624a3daa708c21cb7b74d504cb1de61534937041d675909e94c46c38164aa500b8bce7996cf08e33d7dcd5fb57be37f6b53c7ff9d49965a7ff6bd7d4cbb1658fe70f4ee69ae0f330a43b2c178ec8551d031d026cfeb5987259e1c825990c4d0ad70d0483bb6e101243029e02998745eb0777870efdc5b78ba1e7facffc70fce4ab39335fa0f123e641bf89bf0e4f89854f056d74fcc618eb0770ac3d26fea106b2e5cd67371e0f4bd6d139f4e077b7cc3df1ef379f9dfada3df7dd79f4cd53c878dce6c2bfcdb53e37e38094c2df110ceec0f8522c1c940a39ec77aabaa1cce10c897d1603a0f72f5ffb2771df43dfdd7ae2fd3dcffee7693057377e8dbe43a23f8dd76aedf83bc9f8743c9c8d272222609cc28fa265dfba76ed65ff73775be4e9ee17fb5fbc7ee2f354fee736acc034ac68bd3916021b54a6a91f680697344157552ac8551865903536409d9317c8b91dfcf17aedf16c3b4344e7762b9cb17ceeb1362d4c4f9bc11a9fbfc8965a2386632968a486330c3b7a59bd9ef8e8755543b7b984dcb600d2dde1a67bd3c2d503e4455d7426b07b9abc801918f3f2ee6354dd018ecf183d06161a3d1f00b6db0396a3abf3741cc677b018efd0bda6b976dcab9beaed7912d33334988dc17007e68391aaacc9736a4e40c782312b1b424ed604dd289615411672c54241c1e99a509c1664ad2a18d07aea4121a5cec10c572e0b465128558d5978430122e841e08e23db9b882684ecf0c1b22bba2196cbc53234515931994c40d2bef4f1af3e7ab4f9e54b7f7bdfd69736bd31f9708ac149a1c9f10d48a3ba8977765c8380be2272114175ba9166e5ac4d4e00d98a8d005eae238a9c67aef385ccf72f4c6fd9735de72f5ebffe2b1bcead9e6165a814995b6c15c86611eba310293b268e85c7243871714212c3e968229ecdc6e1497886e3e2eedc9df9acbcff0f7677eb675ffbf3678ebddb04ba56a473288e55e660d6ae8368366ccb4bff5cd49431e6184dde36975eb4db110b246e7f45a92866a6f4fb12e32cab1261f2fc040e1afc6003bea29630cd26e9a652420d53cad3c5f29c50845f643c3ba1a80581f0c04fd77f70cbc8963737fcddd1f3c35fbbf2c3f7eefe60e3ee9b7ef3f4dbbf7d70df03c50d90412b1b32884c7649fc81794feef0ff53fe3cdfb3e3a9c7cf9e5affe6d70f9e1c105f7adb933f64b2a5a6c676dd67ab3db1e860d8a370d96a9bc0886cc83b78f1fe90476dd9f12708662727a41ef288cb6b51767150c6390554274f5841a17c861d21d50545ae5136928f110efb9c3cc63a3392145399589a6d2fd68e78e4437efb8a632a5c1ac3a4879757211ccb7c046f7ef99ebfef3f79e27be14f6eefcbcefec35271ac65f6d889433ff9df03afb4faffe6e1aeceb73fba00161167b4d8fc89f2a28ccde8df298f7ec266bb766dd70a44ad3297cd4a985d597141464b279b555031442175ed4da3c7eefbeac7cfffd1fd9f7fd0dfb951175a813f9c144338be6a4b8ae3623225c251fd49712c312ec2b15ac3890c7c10121d8dc44444fa590fbab6f0e9c2ec6713f64be9fce9eaeb3f7be09cfec5c99ef36f75f9cd0121ffc4f8fe8c9811b3a178242b89e2281cbd67584c67a369712c4bc86b06019378e7ae16108888ae277da02d1c1343c9ec7e27cc79f1e2e783d5803d9f5b9f7cebcb435dc70f3d39bae2ddbf3df55cd0994fb794498d2c7d322d524282f47712fa53e9507894cc61a111fd0160530f00331cf5c368cecf0e47a90bb5a1287e50f2582fcb9d71d3b941592759ed909c83c15bd56c27a0d74fccf4d96bfd755278e1e25c62eaa630ee3eae72e178d1d55b87033d4a4a29cf2b65b3744fa379db857abaa25a9e9affc5cf2fa9e8663f6829381d34df33da61ad7844a31eb12776170767455d1e13632a4e17549c3e7e1e3360e7337dfc7c86ce0f263cf3126bc926d2616834334cb7724913bc8ddc40e5f1dc3c53407a68e1a28c5d8429bb84ba953063d70cb38c9c49e1a1b6bd75b7f8ea9bbbe2dfecbcf5e9d4239bb516d026a5b2f1a2065d8a1f7e0b150aa0a9037e91e4b2a1e20e2c7cddd55a3b3ea0e3379f23df5eab62102a95e882c112e215a47b796bf66ec6b01a0e3e0aa6cd8641258bb0667038dcbe9f5312abaf9c26b482aa29e159d4f46f0038ec511c732638549067745e4036c269f6f6d5558643795d4255ce0c8b9c56562bb58fd94a1d2c160d1450c58a725ec9730acd3106dc720acee95c240a790b9183c5eab9afa8e9a958d61f2a112af0eb06f44db810e0ae03480cb2d65064395b234615a594a818a58aa127b44189435a8a81b796c2ebb3f152b315230f8d525493cac599b2a2eb1c481689eb9824c6d49ca2e98a2e295a9edfcf6049623d531283a9442491cb55ca5ca94619589752584efb2e569c9951f2518d03a430803e4585ee01db51d69925aebdaab354139c663b4ee17cedd067585e11b99e54795e32ca2cf7e8f68eee1edf5ef3dd6f2fb90e471ff1c60db3e07bd5aeed35ac4020d7261968b751689d361a541c449627a2767ec3c957770fc41ed9b4f3aac71f94ff035d78bfa5719dd7da76d0c5abe0febe0cf2a887417636d038cd648e0565ed7369a74c9fa38df63617b6ed63d9d08e8bb0a1310f93de513b37d258e34c6e94a1bc01d3f0112c3b45c6b2c28c8ab1a0ba583de935cc9e34dab7202e28b9465c1ff5b0010e61436ad9dc06c1b102498e15b0a07a9de2b4a50be2424e51f86e678281d84f21ae76d2502d2c170aa169432913339f29e5511eb37823ba81694493e971b558c0059f456e5a729b8f76a72b06e5eab9daa7f76e1fffd5271f0e1df7ffb7ff81cee5cf904b5ff28897b7d93b1d17dd7f5f62771e2c2a5f72bc99bb29c9ee4c1e6a88d70e3d5b6b3d1ef5954451662cd579f397f73e3472cb571e575fb9000e9e7d9a118fbbf1034cfcf1043475e4bf9be2c9c5f0a19dcd071c809328dc853a38e1c1d73ebb72c32896738be6fc7ea3e3273a58b8ccd6a67b6bda62ea4d8e1721eccc4cb08cd01a4f39adb0e79f1487c4a4180f8b88526b9381bdd9608d706efabdde1bbffed5f4d07b7b8fdf7b8317aeb329ab069734cfc87f37e6e7c022f4ca317535b85453da85ba6a717a15b02b2135b8a8081765d0bac74baf1c29d4e2d51427deb9cbf7da4b6f1742f747be9d79e1853d839ef3f7c425c585272f3c77fae85f56c563bb1e553efc68ebc38be02b475e352bd6c5833670f1b8c4676698125bfd3be801b657c468b950d793bb1738f97ea0aeae9162d6355a9aa91e325dd760b696774f032a26a6c74d72f7f740a31309a5d1f968839e7b6ddc363526cfcdc9057d91d9d77ecae393c0c632567a44d17365b5845d156da35cde54fac7b5c9574e6e159adeb9f6d7df3a7885b0ceddbf6d67f4a176e2fab6d34a42f630134e0b155dc9a34e50aea819b2aa090a6a39093ace56045543dd211c27040570a7074b50041a31378ba543e94c8a704480eb42cdc1b005e2a156b039c4acac0b4594c8c14c4ef8130152230ad7906b7f280c85622974a815c9993aaeea9c089d6ef05e411abc61e445488317f7d3e054f38aa097949c3aade6d0dc8d594528a1c250ae5290cb64c4605d17f576505f2d6aafc9a85681cb892053894c322c82746e6796a427c174166a660a4622300516d2ca8251910b347b853c96fd14bc8ec9316978f0d67bfee5feeebd97b54cfdeca0bcf3c675ee0660130c16154d9e2a28d97c15f7e3b3b9b2229bbffe002ebdb8cca5f7ddf6be30a8173175cafa2d407d1ee5fedd88b3b74a1d936f82f261e71ac31e3f1aa161546d49303e36cc60452de43930fb3c1a7ace967e35a9ccab98158bcbc5dc7536bf6d78b58675317794bdc6ccc5eaa36cdd928d69177632a2ecd5ef0e4e164fbff085e8f1cd9bfef9dc631dcb9e70f55fd734f1f6e9d9c116c834e89191dd886da6dee06298b5c14f48a18d1f7901a6277210b8f7c095194b2740cdb3152e9d75a60d44a8bc85832e224b35af940d62b6747ca57ea11c6765a6aedd1a41b25b230e57232b0015cc1f1aa06134780f34467925286c8b8843a14c2cbd4788676231a1446eda5e17a65ef1febdeffceb357ffd6fa75f7be3e8377edc3aeeb1545971a725dcfebafe01ad05756a5087035cfbff3aeb70aebc9201f4c90823096c48cf552c7aaeada367bf170ed974e8767b7571bf7b5eabec997114a866ba6e9501e06c73833e87409746a80da0e6d2766f03dd0a96e19b48508034901c46d37808f3224a1f9bed438c843c58073e24c83efb38868f5beddb7190e4b7a1d1519b7d113bbc76fb10175d96d950a46dd2615fc666aed3b98c9fee728ef1e3ddf6ed493114033d0e61f818eddfed24846136e315de4526669ee9b511d2d131111b5e935ad4e7466c0ed887a17804df846a493df63389a1486812170209b2b96e71abb1c7a4cd0c49018a65bb094199c164283e2ce215454614e399315c052753c0db2eb00d2253904249987ee11a7497c9313109573eae22118478222ee20205617f283e8915b1d33a42a2de603f0f4fe0490af42d88ab1be91388a84fd3cf60ce6e72c4183a3889ddb8c978cca1cdf63ce190e1443c95065b98f1367f3f6186bd21b2fde2f613961a440fb5717e86396c2b67583f7b58cffdaad43cd98945f3d236acbaf735f1f6a3f800da2b104dc419b6dd1d5139e5db4ac3906ac423a4aac1691053c53d62aa6e0a07f518d49c22a19d358ba7cacfa14a42bf63e3e03477ac1ebaf54f77178e9ebbc3ffd4891faf67ef7fe6eb137b5bac6f89faf47f94a77508
+ Symbols downloaded
+
+
+ Init44\IO: Set State TComObj PREOP OP
+ 10
+ 139468800
+ 139460617
+ Check for autostart
+ 50000
+
+
+
+
+ Init16\IO: Set State TComObj SAFEOP OP
+ 10
+ 512
+ 0
+
+
+
+ TwinCat Dynamic Collections
+ {AA44BF3E-9AE7-4A37-9C2A-219EE971CF2F}
+ G:\DevelopmentEnvironment\TwinCAT Projects\TwinCat Dynamic Collections\TwinCat Dynamic Collections\TwinCat Dynamic Collections.tsproj
+
+
+
+
+
+
diff --git a/src/TwinCat Dynamic Collections/_Boot/TwinCAT RT (x64)/Plc/Port_851.app b/src/TwinCat Dynamic Collections/_Boot/TwinCAT RT (x64)/Plc/Port_851.app
new file mode 100644
index 0000000..c52dae1
Binary files /dev/null and b/src/TwinCat Dynamic Collections/_Boot/TwinCAT RT (x64)/Plc/Port_851.app differ
diff --git a/src/TwinCat Dynamic Collections/_Boot/TwinCAT RT (x64)/Plc/Port_851.autostart b/src/TwinCat Dynamic Collections/_Boot/TwinCAT RT (x64)/Plc/Port_851.autostart
new file mode 100644
index 0000000..e69de29
diff --git a/src/TwinCat Dynamic Collections/_Boot/TwinCAT RT (x64)/Plc/Port_851.cid b/src/TwinCat Dynamic Collections/_Boot/TwinCAT RT (x64)/Plc/Port_851.cid
new file mode 100644
index 0000000..9c16e8b
--- /dev/null
+++ b/src/TwinCat Dynamic Collections/_Boot/TwinCAT RT (x64)/Plc/Port_851.cid
@@ -0,0 +1 @@
+GpA2
\ No newline at end of file
diff --git a/src/TwinCat Dynamic Collections/_Boot/TwinCAT RT (x64)/Plc/Port_851.crc b/src/TwinCat Dynamic Collections/_Boot/TwinCAT RT (x64)/Plc/Port_851.crc
new file mode 100644
index 0000000..11bd02f
Binary files /dev/null and b/src/TwinCat Dynamic Collections/_Boot/TwinCAT RT (x64)/Plc/Port_851.crc differ
diff --git a/src/TwinCat Dynamic Collections/_Boot/TwinCAT RT (x64)/Plc/Port_851.occ b/src/TwinCat Dynamic Collections/_Boot/TwinCAT RT (x64)/Plc/Port_851.occ
new file mode 100644
index 0000000..e69de29
diff --git a/src/TwinCat Dynamic Collections/_Boot/TwinCAT RT (x64)/Plc/Port_851.oce b/src/TwinCat Dynamic Collections/_Boot/TwinCAT RT (x64)/Plc/Port_851.oce
new file mode 100644
index 0000000..e69de29
diff --git a/src/TwinCat Dynamic Collections/_Boot/TwinCAT RT (x64)/Plc/Port_851.ocm b/src/TwinCat Dynamic Collections/_Boot/TwinCAT RT (x64)/Plc/Port_851.ocm
new file mode 100644
index 0000000..e69de29
diff --git a/src/TwinCat Dynamic Collections/_Boot/TwinCAT RT (x64)/Plc/Port_851_boot.tizip b/src/TwinCat Dynamic Collections/_Boot/TwinCAT RT (x64)/Plc/Port_851_boot.tizip
new file mode 100644
index 0000000..0be20f3
Binary files /dev/null and b/src/TwinCat Dynamic Collections/_Boot/TwinCAT RT (x64)/Plc/Port_851_boot.tizip differ