├── Extended └── LightingController │ ├── .vs │ └── LightingController │ │ └── v15 │ │ └── .suo │ ├── LightingController.sln │ └── LightingController │ ├── LightingController.tsproj │ ├── LightingController.tsproj.bak │ ├── PLC1 │ ├── FBs │ │ ├── Modules │ │ │ ├── FB_LAMP_DIMM.TcPOU │ │ │ └── FB_LAMP_ONOFF.TcPOU │ │ └── Room │ │ │ └── FB_ROOM.TcPOU │ ├── GVLs │ │ └── Param.TcGVL │ ├── ITFs │ │ ├── Modules │ │ │ └── I_Lamp.TcIO │ │ └── Room │ │ │ └── I_Room.TcIO │ ├── PLC1.plcproj │ ├── PLC1.tmc │ ├── POUs │ │ └── MAIN.TcPOU │ ├── PlcTask.TcTTO │ ├── _CompileInfo │ │ └── 69E1CD82-DB3D-8512-1AB5-1B083D714E84.compileinfo │ └── _Libraries │ │ └── beckhoff automation gmbh │ │ ├── tc2_standard │ │ └── 3.3.3.0 │ │ │ └── tc2_standard.compiled-library │ │ ├── tc2_system │ │ └── 3.4.24.0 │ │ │ └── tc2_system.compiled-library │ │ └── tc3_module │ │ └── 3.3.21.0 │ │ └── tc3_module.compiled-library │ ├── TrialLicense.tclrs │ ├── _Boot │ ├── TargetDescription.xml │ └── TwinCAT RT (x64) │ │ ├── CurrentConfig.tszip │ │ ├── CurrentConfig.xml │ │ ├── CurrentConfig │ │ └── PLC1.tpzip │ │ └── Plc │ │ ├── Port_851.app │ │ ├── Port_851.autostart │ │ ├── Port_851.cid │ │ ├── Port_851.crc │ │ ├── Port_851.occ │ │ ├── Port_851.oce │ │ ├── Port_851.ocm │ │ └── Port_851_boot.tizip │ └── _Config │ └── PLC │ ├── PLC1.xti │ └── PLC1.xti.bak ├── LICENSE.md ├── README.md └── Tutorials ├── AbstractDrive ├── .vs │ └── AbstractDrive │ │ └── v15 │ │ └── .suo ├── AbstractDrive.sln └── AbstractDrive │ ├── AbstractDrive.tsproj │ ├── AbstractDrive.tsproj.bak │ ├── PLC1 │ ├── FBs │ │ ├── Base │ │ │ └── FB_DriveBase.TcPOU │ │ └── Extended │ │ │ ├── FB_DriveCAN.TcPOU │ │ │ └── FB_DriveNc.TcPOU │ ├── ITFs │ │ └── I_DriveBase.TcIO │ ├── PLC1.plcproj │ ├── PLC1.tmc │ ├── POUs │ │ └── MAIN.TcPOU │ ├── PlcTask.TcTTO │ ├── _CompileInfo │ │ ├── 04849ADD-6EAA-BEFD-3F0F-31278BB0F83D.compileinfo │ │ ├── 68F05438-182A-839A-1FAE-2843C054C6D8.compileinfo │ │ ├── 6E5981CD-94FE-A45C-001F-02B815C03857.compileinfo │ │ ├── 80150B7D-E754-8AE2-5F26-22EE02BE30CD.compileinfo │ │ ├── 82D9C6D6-0C54-1301-6AAD-37BDFC781AC4.compileinfo │ │ ├── 9AD2A05A-583E-9479-27FA-6D5A14D97EB2.compileinfo │ │ ├── BE561406-177F-500D-9F19-1D26C409D860.compileinfo │ │ ├── C9522151-CCE9-71B6-80DE-10BD96F616FC.compileinfo │ │ ├── EDB332AC-135B-9944-2A92-552B9C416EA1.compileinfo │ │ └── EFF55E8A-580C-9321-5541-0127836DC17D.compileinfo │ └── _Libraries │ │ └── beckhoff automation gmbh │ │ ├── tc2_standard │ │ └── 3.3.3.0 │ │ │ └── tc2_standard.compiled-library │ │ ├── tc2_system │ │ └── 3.4.24.0 │ │ │ └── tc2_system.compiled-library │ │ └── tc3_module │ │ └── 3.3.21.0 │ │ └── tc3_module.compiled-library │ ├── _Boot │ ├── TargetDescription.xml │ └── TwinCAT RT (x64) │ │ ├── CurrentConfig.tszip │ │ ├── CurrentConfig.xml │ │ ├── CurrentConfig │ │ └── PLC1.tpzip │ │ └── Plc │ │ ├── Port_851.app │ │ ├── Port_851.autostart │ │ ├── Port_851.cid │ │ ├── Port_851.crc │ │ ├── Port_851.occ │ │ ├── Port_851.oce │ │ ├── Port_851.ocm │ │ └── Port_851_boot.tizip │ └── _Config │ └── PLC │ ├── PLC1.xti │ └── PLC1.xti.bak ├── FlashGen_Overriding ├── .vs │ └── FlashGen_Overriding │ │ └── v15 │ │ └── .suo ├── FlashGen_Overriding.sln └── FlashGen_Overriding │ ├── FlashGen_Overriding.tsproj │ ├── FlashGen_Overriding.tsproj.bak │ ├── PLC1 │ ├── Diagrams │ │ └── Class Diagram.TcCD │ ├── FBs │ │ ├── FB_Generator.TcPOU │ │ └── FB_GeneratorEX.TcPOU │ ├── PLC1.plcproj │ ├── PLC1.tmc │ ├── POUs │ │ └── MAIN.TcPOU │ ├── PlcTask.TcTTO │ ├── _CompileInfo │ │ ├── 3584A4CC-167A-B537-E80A-15CC51A06567.compileinfo │ │ └── 7841750B-D9BB-F1F2-FE8E-792EC6899082.compileinfo │ └── _Libraries │ │ └── beckhoff automation gmbh │ │ ├── tc2_standard │ │ └── 3.3.3.0 │ │ │ └── tc2_standard.compiled-library │ │ ├── tc2_system │ │ └── 3.4.24.0 │ │ │ └── tc2_system.compiled-library │ │ └── tc3_module │ │ └── 3.3.21.0 │ │ └── tc3_module.compiled-library │ ├── _Boot │ ├── TargetDescription.xml │ └── TwinCAT RT (x64) │ │ ├── CurrentConfig.tszip │ │ ├── CurrentConfig.xml │ │ ├── CurrentConfig │ │ └── PLC1.tpzip │ │ └── Plc │ │ ├── Port_851.app │ │ ├── Port_851.autostart │ │ ├── Port_851.cid │ │ ├── Port_851.crc │ │ ├── Port_851.occ │ │ ├── Port_851.oce │ │ ├── Port_851.ocm │ │ └── Port_851_boot.tizip │ └── _Config │ └── PLC │ └── PLC1.xti └── LightControl_Interfaces ├── .vs └── LightControl_Interfaces │ └── v15 │ └── .suo ├── LightControl_Interfaces.sln └── LightControl_Interfaces ├── LightControl_Interfaces.tsproj ├── LightControl_Interfaces.tsproj.bak ├── PLC1 ├── Diagrams │ └── Class Diagram.TcCD ├── FBs │ ├── FB_LAMP_DIMM.TcPOU │ └── FB_LAMP_ONOFF.TcPOU ├── ITFs │ └── I_LampCtrl.TcIO ├── PLC1.plcproj ├── PLC1.tmc ├── POUs │ └── MAIN.TcPOU ├── PlcTask.TcTTO ├── _CompileInfo │ ├── 0235FB6F-B1F4-7DE7-84D8-6D430F53622D.compileinfo │ └── BB3371B2-4853-8FD4-21C4-FBB608107098.compileinfo └── _Libraries │ └── beckhoff automation gmbh │ ├── tc2_standard │ └── 3.3.3.0 │ │ └── tc2_standard.compiled-library │ ├── tc2_system │ └── 3.4.24.0 │ │ └── tc2_system.compiled-library │ └── tc3_module │ └── 3.3.21.0 │ └── tc3_module.compiled-library ├── _Boot ├── TargetDescription.xml └── TwinCAT RT (x64) │ ├── CurrentConfig.tszip │ ├── CurrentConfig.xml │ ├── CurrentConfig │ └── PLC1.tpzip │ └── Plc │ ├── Port_851.app │ ├── Port_851.autostart │ ├── Port_851.cid │ ├── Port_851.crc │ ├── Port_851.occ │ ├── Port_851.oce │ ├── Port_851.ocm │ └── Port_851_boot.tizip └── _Config └── PLC └── PLC1.xti /Extended/LightingController/.vs/LightingController/v15/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Extended/LightingController/.vs/LightingController/v15/.suo -------------------------------------------------------------------------------- /Extended/LightingController/LightingController.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # TcXaeShell Solution File, Format Version 11.00 4 | VisualStudioVersion = 15.0.28010.2050 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{B1E792BE-AA5F-4E3C-8C82-674BF9C0715B}") = "LightingController", "LightingController\LightingController.tsproj", "{AAB18DD8-F656-45B9-AC0D-EF935E907FCE}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|TwinCAT CE7 (ARMV7) = Debug|TwinCAT CE7 (ARMV7) 11 | Debug|TwinCAT OS (ARMT2) = Debug|TwinCAT OS (ARMT2) 12 | Debug|TwinCAT RT (x64) = Debug|TwinCAT RT (x64) 13 | Debug|TwinCAT RT (x86) = Debug|TwinCAT RT (x86) 14 | Release|TwinCAT CE7 (ARMV7) = Release|TwinCAT CE7 (ARMV7) 15 | Release|TwinCAT OS (ARMT2) = Release|TwinCAT OS (ARMT2) 16 | Release|TwinCAT RT (x64) = Release|TwinCAT RT (x64) 17 | Release|TwinCAT RT (x86) = Release|TwinCAT RT (x86) 18 | EndGlobalSection 19 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 20 | {AAB18DD8-F656-45B9-AC0D-EF935E907FCE}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) 21 | {AAB18DD8-F656-45B9-AC0D-EF935E907FCE}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) 22 | {AAB18DD8-F656-45B9-AC0D-EF935E907FCE}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) 23 | {AAB18DD8-F656-45B9-AC0D-EF935E907FCE}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) 24 | {AAB18DD8-F656-45B9-AC0D-EF935E907FCE}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) 25 | {AAB18DD8-F656-45B9-AC0D-EF935E907FCE}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) 26 | {AAB18DD8-F656-45B9-AC0D-EF935E907FCE}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) 27 | {AAB18DD8-F656-45B9-AC0D-EF935E907FCE}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) 28 | {AAB18DD8-F656-45B9-AC0D-EF935E907FCE}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) 29 | {AAB18DD8-F656-45B9-AC0D-EF935E907FCE}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) 30 | {AAB18DD8-F656-45B9-AC0D-EF935E907FCE}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) 31 | {AAB18DD8-F656-45B9-AC0D-EF935E907FCE}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) 32 | {AAB18DD8-F656-45B9-AC0D-EF935E907FCE}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) 33 | {AAB18DD8-F656-45B9-AC0D-EF935E907FCE}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) 34 | {AAB18DD8-F656-45B9-AC0D-EF935E907FCE}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) 35 | {AAB18DD8-F656-45B9-AC0D-EF935E907FCE}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) 36 | {601BEA7D-1EF6-437D-9D9F-AEC2680D5276}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) 37 | {601BEA7D-1EF6-437D-9D9F-AEC2680D5276}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) 38 | {601BEA7D-1EF6-437D-9D9F-AEC2680D5276}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) 39 | {601BEA7D-1EF6-437D-9D9F-AEC2680D5276}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) 40 | {601BEA7D-1EF6-437D-9D9F-AEC2680D5276}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) 41 | {601BEA7D-1EF6-437D-9D9F-AEC2680D5276}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) 42 | {601BEA7D-1EF6-437D-9D9F-AEC2680D5276}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) 43 | {601BEA7D-1EF6-437D-9D9F-AEC2680D5276}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) 44 | {601BEA7D-1EF6-437D-9D9F-AEC2680D5276}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) 45 | {601BEA7D-1EF6-437D-9D9F-AEC2680D5276}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) 46 | {601BEA7D-1EF6-437D-9D9F-AEC2680D5276}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) 47 | {601BEA7D-1EF6-437D-9D9F-AEC2680D5276}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) 48 | {601BEA7D-1EF6-437D-9D9F-AEC2680D5276}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) 49 | {601BEA7D-1EF6-437D-9D9F-AEC2680D5276}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) 50 | {601BEA7D-1EF6-437D-9D9F-AEC2680D5276}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) 51 | {601BEA7D-1EF6-437D-9D9F-AEC2680D5276}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) 52 | EndGlobalSection 53 | GlobalSection(SolutionProperties) = preSolution 54 | HideSolutionNode = FALSE 55 | EndGlobalSection 56 | GlobalSection(ExtensibilityGlobals) = postSolution 57 | SolutionGuid = {FB2881E4-7877-4F6E-813C-CA328FE444DD} 58 | EndGlobalSection 59 | EndGlobal 60 | -------------------------------------------------------------------------------- /Extended/LightingController/LightingController/LightingController.tsproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | PlcTask 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /Extended/LightingController/LightingController/LightingController.tsproj.bak: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | PlcTask 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /Extended/LightingController/LightingController/PLC1/FBs/Modules/FB_LAMP_DIMM.TcPOU: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 33 | 34 | 35 | 36 | 38 | 39 | 100.0 THEN 42 | fOut := 100.0; 43 | END_IF 44 | 45 | // Conversion to hardware output 0..32767 46 | iOutHw := LIMIT(0,REAL_TO_INT(fOut * 327.67), 32767);]]> 47 | 48 | 49 | 50 | 52 | 53 | 56 | 57 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | -------------------------------------------------------------------------------- /Extended/LightingController/LightingController/PLC1/FBs/Modules/FB_LAMP_ONOFF.TcPOU: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 16 | 17 | 18 | 19 | 20 | 22 | 23 | 24 | 25 | 26 | 27 | 29 | 30 | 31 | 32 | 33 | 34 | 36 | 37 | 40 | 41 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Extended/LightingController/LightingController/PLC1/FBs/Room/FB_ROOM.TcPOU: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 11 | 12 | 13 | 14 | 15 | 25 | 26 | 49 | 50 | 51 | 52 | 61 | 62 | 0) THEN 65 | iLamps[nIndex].ON(); 66 | Control := TRUE; 67 | ELSIF (THIS^.iLamps[nIndex] <> 0) THEN 68 | iLamps[nIndex].OFF(); 69 | END_IF 70 | END_FOR]]> 71 | 72 | 73 | 74 | 82 | 83 | 86 | 87 | 88 | 89 | 99 | 100 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | -------------------------------------------------------------------------------- /Extended/LightingController/LightingController/PLC1/GVLs/Param.TcGVL: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /Extended/LightingController/LightingController/PLC1/ITFs/Modules/I_Lamp.TcIO: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 6 | 7 | 11 | 12 | 13 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /Extended/LightingController/LightingController/PLC1/ITFs/Room/I_Room.TcIO: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 6 | 7 | 13 | 14 | 15 | 21 | 22 | 23 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /Extended/LightingController/LightingController/PLC1/PLC1.plcproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1.0.0.0 4 | 2.0 5 | {601bea7d-1ef6-437d-9d9f-aec2680d5276} 6 | True 7 | true 8 | true 9 | false 10 | PLC1 11 | 3.1.4024.12 12 | {0164d9b4-d8c9-43c2-a443-6526e4e3eb60} 13 | {5f66473f-013e-469d-8cdb-b7dd656b53f3} 14 | {82a37644-ccd6-431c-8f63-81f7acdfb882} 15 | {a2060f5b-f1de-4039-8fc7-8d037fec38f4} 16 | {16eb947a-277c-49fa-aba6-edbb952741be} 17 | {1bef3dfb-03a3-4f42-a254-8168e2800356} 18 | 19 | 20 | 21 | Code 22 | 23 | 24 | Code 25 | 26 | 27 | Code 28 | 29 | 30 | Code 31 | true 32 | 33 | 34 | Code 35 | 36 | 37 | Code 38 | 39 | 40 | Code 41 | 42 | 43 | Code 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | Tc2_Standard, * (Beckhoff Automation GmbH) 61 | Tc2_Standard 62 | 63 | 64 | Tc2_System, * (Beckhoff Automation GmbH) 65 | Tc2_System 66 | 67 | 68 | Tc3_Module, * (Beckhoff Automation GmbH) 69 | Tc3_Module 70 | 71 | 72 | 73 | 74 | Content 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | "<ProjectRoot>" 83 | 84 | {40450F57-0AA3-4216-96F3-5444ECB29763} 85 | 86 | "{40450F57-0AA3-4216-96F3-5444ECB29763}" 87 | 88 | 89 | ActiveVisuProfile 90 | IR0whWr8bwfwBwAAiD2qpQAAAABVAgAA37x72QAAAAABAAAAAAAAAAEaUwB5AHMAdABlAG0ALgBTAHQAcgBpAG4AZwACTHsAZgA5ADUAYgBiADQAMgA2AC0ANQA1ADIANAAtADQAYgA0ADUALQA5ADQAMAAwAC0AZgBiADAAZgAyAGUANwA3AGUANQAxAGIAfQADCE4AYQBtAGUABDBUAHcAaQBuAEMAQQBUACAAMwAuADEAIABCAHUAaQBsAGQAIAA0ADAAMgA0AC4ANwAFFlAAcgBvAGYAaQBsAGUARABhAHQAYQAGTHsAMQA2AGUANQA1AGIANgAwAC0ANwAwADQAMwAtADQAYQA2ADMALQBiADYANQBiAC0ANgAxADQANwAxADMAOAA3ADgAZAA0ADIAfQAHEkwAaQBiAHIAYQByAGkAZQBzAAhMewAzAGIAZgBkADUANAA1ADkALQBiADAANwBmAC0ANABkADYAZQAtAGEAZQAxAGEALQBhADgAMwAzADUANgBhADUANQAxADQAMgB9AAlMewA5AGMAOQA1ADgAOQA2ADgALQAyAGMAOAA1AC0ANAAxAGIAYgAtADgAOAA3ADEALQA4ADkANQBmAGYAMQBmAGUAZABlADEAYQB9AAoOVgBlAHIAcwBpAG8AbgALBmkAbgB0AAwKVQBzAGEAZwBlAA0KVABpAHQAbABlAA4aVgBpAHMAdQBFAGwAZQBtAE0AZQB0AGUAcgAPDkMAbwBtAHAAYQBuAHkAEAxTAHkAcwB0AGUAbQARElYAaQBzAHUARQBsAGUAbQBzABIwVgBpAHMAdQBFAGwAZQBtAHMAUwBwAGUAYwBpAGEAbABDAG8AbgB0AHIAbwBsAHMAEyhWAGkAcwB1AEUAbABlAG0AcwBXAGkAbgBDAG8AbgB0AHIAbwBsAHMAFCRWAGkAcwB1AEUAbABlAG0AVABlAHgAdABFAGQAaQB0AG8AcgAVIlYAaQBzAHUATgBhAHQAaQB2AGUAQwBvAG4AdAByAG8AbAAWFHYAaQBzAHUAaQBuAHAAdQB0AHMAFwxzAHkAcwB0AGUAbQAYGFYAaQBzAHUARQBsAGUAbQBCAGEAcwBlABkmRABlAHYAUABsAGEAYwBlAGgAbwBsAGQAZQByAHMAVQBzAGUAZAAaCGIAbwBvAGwAGyJQAGwAdQBnAGkAbgBDAG8AbgBzAHQAcgBhAGkAbgB0AHMAHEx7ADQAMwBkADUAMgBiAGMAZQAtADkANAAyAGMALQA0ADQAZAA3AC0AOQBlADkANAAtADEAYgBmAGQAZgAzADEAMABlADYAMwBjAH0AHRxBAHQATABlAGEAcwB0AFYAZQByAHMAaQBvAG4AHhRQAGwAdQBnAGkAbgBHAHUAaQBkAB8WUwB5AHMAdABlAG0ALgBHAHUAaQBkACBIYQBmAGMAZAA1ADQANAA2AC0ANAA5ADEANAAtADQAZgBlADcALQBiAGIANwA4AC0AOQBiAGYAZgBlAGIANwAwAGYAZAAxADcAIRRVAHAAZABhAHQAZQBJAG4AZgBvACJMewBiADAAMwAzADYANgBhADgALQBiADUAYwAwAC0ANABiADkAYQAtAGEAMAAwAGUALQBlAGIAOAA2ADAAMQAxADEAMAA0AGMAMwB9ACMOVQBwAGQAYQB0AGUAcwAkTHsAMQA4ADYAOABmAGYAYwA5AC0AZQA0AGYAYwAtADQANQAzADIALQBhAGMAMAA2AC0AMQBlADMAOQBiAGIANQA1ADcAYgA2ADkAfQAlTHsAYQA1AGIAZAA0ADgAYwAzAC0AMABkADEANwAtADQAMQBiADUALQBiADEANgA0AC0ANQBmAGMANgBhAGQAMgBiADkANgBiADcAfQAmFk8AYgBqAGUAYwB0AHMAVAB5AHAAZQAnVFUAcABkAGEAdABlAEwAYQBuAGcAdQBhAGcAZQBNAG8AZABlAGwARgBvAHIAQwBvAG4AdgBlAHIAdABpAGIAbABlAEwAaQBiAHIAYQByAGkAZQBzACgQTABpAGIAVABpAHQAbABlACkUTABpAGIAQwBvAG0AcABhAG4AeQAqHlUAcABkAGEAdABlAFAAcgBvAHYAaQBkAGUAcgBzACs4UwB5AHMAdABlAG0ALgBDAG8AbABsAGUAYwB0AGkAbwBuAHMALgBIAGEAcwBoAHQAYQBiAGwAZQAsEnYAaQBzAHUAZQBsAGUAbQBzAC1INgBjAGIAMQBjAGQAZQAxAC0AZAA1AGQAYwAtADQAYQAzAGIALQA5ADAANQA0AC0AMgAxAGYAYQA3ADUANgBhADMAZgBhADQALihJAG4AdABlAHIAZgBhAGMAZQBWAGUAcgBzAGkAbwBuAEkAbgBmAG8AL0x7AGMANgAxADEAZQA0ADAAMAAtADcAZgBiADkALQA0AGMAMwA1AC0AYgA5AGEAYwAtADQAZQAzADEANABiADUAOQA5ADYANAAzAH0AMBhNAGEAagBvAHIAVgBlAHIAcwBpAG8AbgAxGE0AaQBuAG8AcgBWAGUAcgBzAGkAbwBuADIMTABlAGcAYQBjAHkAMzBMAGEAbgBnAHUAYQBnAGUATQBvAGQAZQBsAFYAZQByAHMAaQBvAG4ASQBuAGYAbwA0MEwAbwBhAGQATABpAGIAcgBhAHIAaQBlAHMASQBuAHQAbwBQAHIAbwBqAGUAYwB0ADUaQwBvAG0AcABhAHQAaQBiAGkAbABpAHQAeQDQAAIaA9ADAS0E0AUGGgfQBwgaAUUHCQjQAAkaBEUKCwQDAAAABQAAAA0AAAAAAAAA0AwLrQIAAADQDQEtDtAPAS0Q0AAJGgRFCgsEAwAAAAUAAAANAAAAKAAAANAMC60BAAAA0A0BLRHQDwEtENAACRoERQoLBAMAAAAFAAAADQAAAAAAAADQDAutAgAAANANAS0S0A8BLRDQAAkaBEUKCwQDAAAABQAAAA0AAAAUAAAA0AwLrQIAAADQDQEtE9APAS0Q0AAJGgRFCgsEAwAAAAUAAAANAAAAAAAAANAMC60CAAAA0A0BLRTQDwEtENAACRoERQoLBAMAAAAFAAAADQAAAAAAAADQDAutAgAAANANAS0V0A8BLRDQAAkaBEUKCwQDAAAABQAAAA0AAAAAAAAA0AwLrQIAAADQDQEtFtAPAS0X0AAJGgRFCgsEAwAAAAUAAAANAAAAKAAAANAMC60EAAAA0A0BLRjQDwEtENAZGq0BRRscAdAAHBoCRR0LBAMAAAAFAAAADQAAAAAAAADQHh8tINAhIhoCRSMkAtAAJRoFRQoLBAMAAAADAAAAAAAAAAoAAADQJgutAAAAANADAS0n0CgBLRHQKQEtENAAJRoFRQoLBAMAAAADAAAAAAAAAAoAAADQJgutAQAAANADAS0n0CgBLRHQKQEtEJoqKwFFAAEC0AABLSzQAAEtF9AAHy0t0C4vGgPQMAutAQAAANAxC60XAAAA0DIarQDQMy8aA9AwC60CAAAA0DELrQMAAADQMhqtANA0Gq0A0DUarQA= 91 | 92 | 93 | {192FAD59-8248-4824-A8DE-9177C94C195A} 94 | 95 | "{192FAD59-8248-4824-A8DE-9177C94C195A}" 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | System.Collections.Hashtable 105 | {54dd0eac-a6d8-46f2-8c27-2f43c7e49861} 106 | System.String 107 | 108 | 109 | 110 | 111 | -------------------------------------------------------------------------------- /Extended/LightingController/LightingController/PLC1/POUs/MAIN.TcPOU: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 22 | 23 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /Extended/LightingController/LightingController/PLC1/PlcTask.TcTTO: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 10000 6 | 20 7 | 8 | MAIN 9 | 10 | {5802485b-5606-4bc4-afdf-5500d58b4ee0} 11 | {87a7b593-717c-4e30-83fc-3b474e4f3a07} 12 | {c865eb9e-f262-4540-9800-64b20bc23751} 13 | {92535cc9-f479-4224-b7ae-58b2a2bc66c7} 14 | {38d5bde9-3285-41f0-ae95-0a6cdd62e340} 15 | 16 | 17 | -------------------------------------------------------------------------------- /Extended/LightingController/LightingController/PLC1/_CompileInfo/69E1CD82-DB3D-8512-1AB5-1B083D714E84.compileinfo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Extended/LightingController/LightingController/PLC1/_CompileInfo/69E1CD82-DB3D-8512-1AB5-1B083D714E84.compileinfo -------------------------------------------------------------------------------- /Extended/LightingController/LightingController/PLC1/_Libraries/beckhoff automation gmbh/tc2_standard/3.3.3.0/tc2_standard.compiled-library: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Extended/LightingController/LightingController/PLC1/_Libraries/beckhoff automation gmbh/tc2_standard/3.3.3.0/tc2_standard.compiled-library -------------------------------------------------------------------------------- /Extended/LightingController/LightingController/PLC1/_Libraries/beckhoff automation gmbh/tc2_system/3.4.24.0/tc2_system.compiled-library: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Extended/LightingController/LightingController/PLC1/_Libraries/beckhoff automation gmbh/tc2_system/3.4.24.0/tc2_system.compiled-library -------------------------------------------------------------------------------- /Extended/LightingController/LightingController/PLC1/_Libraries/beckhoff automation gmbh/tc3_module/3.3.21.0/tc3_module.compiled-library: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Extended/LightingController/LightingController/PLC1/_Libraries/beckhoff automation gmbh/tc3_module/3.3.21.0/tc3_module.compiled-library -------------------------------------------------------------------------------- /Extended/LightingController/LightingController/TrialLicense.tclrs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | {41BE8B90-5F15-8481-414B-484649AFEF9A} 5 | 2021-02-19T04:38:00 6 | 2021-02-27T00:00:00 7 | 8869471d8386d535fc656548f262ab2a2ebef42283763e96a7a437dfd934e32f820298bb3859fc842f073c90de87ad6b408a33bc9f01188bd186c19396d0e63334bf46c0f6f4fdeeddfac6d2ba492aea6d85f6b45c4c816eb29fe616b15379c10f5dbee886f359744fc93b6ad458e1044d745dee131780ae3896bf020f7306f181e907aabdaf2ad01ce98ea5fc13956d1628abd511f54730fd43e2bf1ac6d04ca48b30533f1da14ce51c046627cc77f490336f0189c20268093f43e4c46126dcaef25660c5df4bfefce120cf0997018397285ba394a33469d29ca09995a3aaad03910fcf5430371e9f4a1b97314614365381b36fc8b268258635adee96285efb 8 | 9 | {4C256767-E6E6-4AF5-BD68-9F7ABAD0C200} 10 | TC3 ADS 11 | TC1000 12 | 13 | 14 | {3FF18E97-7754-401B-93FB-70544DE28A13} 15 | TC3 IO 16 | TC1100 17 | 18 | 19 | {66689887-CCBD-452C-AC9A-039D997C6E66} 20 | TC3 PLC 21 | TC1200 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /Extended/LightingController/LightingController/_Boot/TargetDescription.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 3 5 | 1 6 | 4024 7 | 12 8 | 9 | 10 | -------------------------------------------------------------------------------- /Extended/LightingController/LightingController/_Boot/TwinCAT RT (x64)/CurrentConfig.tszip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Extended/LightingController/LightingController/_Boot/TwinCAT RT (x64)/CurrentConfig.tszip -------------------------------------------------------------------------------- /Extended/LightingController/LightingController/_Boot/TwinCAT RT (x64)/CurrentConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 1073741824 5 | #x1 6 | #x1 7 | 8 | 4096 9 | 5 10 | 11 | 3.1.4021 12 | 13 | 14 | 15 | 1 16 | TcIo 17 | 18 | 19 | 1 20 | TcPlc30 21 | 22 | 23 | 1 24 | TcRtsObjects 25 | 26 | 27 | 1 28 | TcRTime 29 | 30 | 31 | 32 | 33 | Init1\IO: Download Config Id 34 | 300 35 | 61696 36 | 4 37 | 00000000 38 | 39 | 40 | Init1\IO: Create TComObj PREOP 41 | 10 42 | 3 43 | 0 44 | 0200000200000000f0000000000000641000500800005008020000000000000000000000000000000000000000000000506c634175785461736b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005400000048000000030000000000000000000000010000011b00000000000000000000000e010b0000000000506c634175785461736b00000000000002100002040000003200000000000000071000020400000001000000 45 | 46 | 47 | Init1\IO: Download Config Id 48 | 12 49 | 96 50 | 0 51 | 1600000000000000e000000000000064060000001400000000000000e000000000000064070000001300000000000000e000000000000064080000001800000000000000e000000000000064060000003000000000000000e0000000000000640f0000000200000200000000e000000000000064080000001000000300000000e000000000000064040000002500000300000000e000000000000064040000002900000300000000e000000000000064040000001100000300000000e000000000000064050000000200000000000000e000000000000064040000003100000000000000e000000000000064040000003800000000000000e000000000000064040000001200000000000000e0000000000000640e0000001500000000000000e000000000000064060000000300000200000000e000000000000064100000001000000200000000e000000000000064220000001700000300000000e000000000000064040000001800000300000000e000000000000064070000001e00000300000000e000000000000064050000002600000300000000e000000000000064050000002a00000300000000e000000000000064050000001f00000300000000e000000000000064050000001200000300000000e000000000000064060000000100010100000000e000000000000064080000000201500800000000e000000000000064070000000401500800000000e000000000000064080000000500000500000000e000000000000064050000000600000500000000e000000000000064070000003500010300000000e000000000000064050000006000010300000000e0000000000000640c00000029742a746dda1d4c80d8398d8c1f1747110000001810020300000000e00000000000006406000000787cde9ca0327543827e924b31021fcd040000005a00000000000000e000000000000064050000005900000000000000e000000000000064060000002dc33b49338f3643b722bcbca961872308000000b124e3d3201b3944b9fddeefd5f940f1040000005e36edb646919a4394a0e5d91df0046904000000bb79e79054578041baff14c8892e5dde0e0000000a01500800000000e000000000000064050000006600000000000000e000000000000064070000006700000000000000e0000000000000640a000000d28c8ad27754754baf0f998841af9e44050000006767bff78b543c49899b06a477976f11070000007aa8c9bfdef69a49ac45f3b1a59315f90a000000a57abfc3830afa4c9a7a04c1dfd0e5dd060000004662370c73d591498a8849fc3ad141e20700000050342923c5144c48b74f4e0a8dfd115d07000000e9b09c4a6989854bb5676051105112000a0000002ced746483e44e45a67d233e6d337c080d00000039d6d577dd16f7488490f632aa0959170e000000f74f6dec0558db4da31627894e77d644110000008df73f9ce897854f8187adb3bcb8738714000000e8beb647cb0e924c9d93fb11d3ba0336040000001b4b90700ef0cb4fbe59151086e9b8f607000000d7d9ccc0cddd2d4ca24cb1f3257c9a6407000000e2d4d5b2f607f444a29292ca8035aa861300000052cd047476371a4b9525b7c1d691dfc411000000fe8773c4193c4845aca8c346c352e370070000006e0aa260bbcef949ac908e4ab112e9c00b0000002ca48f4245a4654a8b1ce156f288bf2b1d0000008125f468b109d143a4eaec93b57aeb57070000005bccde7de8080c49aa9c5f20e78347310700000032887798131971419e9d5b0d53c5ea9e110000000100010500000000e000000000000064070000000d000a0300000000e0000000000000640d0000000e000a0300000000e0000000000000640c00000009000a0300000000e0000000000000640400000010000a0300000000e0000000000000640600000023a7719a2839024cac02efd30999a041040000001fd8c4d7abcf0341b89e6f6731dbfc1c0a0000004866f3081a87a8439d474e77905a60630e000000b8408b015d250d45aa48409f5f874d1c050000008eb7513b5d2802448b9a18b75448481014000000307ddc2c225f9f429065d912d842114811000000d905e481af9f284c9985185ac023a4c20c000000a8aafc9e6f55694bab9f2967b7f9dfc60e0000002ac195e69a2d8e40b9b2508d7ce3af9a23000000f9832147095d8c4d92fde0524ef658bf260000008eb16b19999dce40b81e48992ce432170500000010abb7a499e523429e9fd8e321942f9c05000000c0d193f82dc82e4aa86f93f7442998b10a0000000bcb597a03d3d64a848c7a7efc5ab73c090000001220d185c07a7f48a49d154db46e728c060000007898edd85ef26147b6671dc5b051e07b05000000ae31567fc4f8d54b8a624c0bafacbe680d000000694987a47e8e9a4c98e0bf4657bed567090000004a23c0431a3f7542adbba0a312ed69e0090000006cae48bb15c4c544a13f9b5ec51d997504000000cdd70eb87c38764092f9c85ad8604de805000000d8dc2bf5f1fa8d46a92d3b13096aab03080000009600010300000000e000000000000064050000009e00010300000000e000000000000064080000009500010300000000e000000000000064040000009700010300000000e000000000000064070000009900010300000000e000000000000064050000009800010300000000e0000000000000640e0000009d00010300000000e00000000000006405000000 52 | Download TCom interface method counts 53 | -2147473648 54 | 55 | 56 | Init3\IO: Set State TComObj SAFEOP 57 | 10 58 | 256 59 | 0 60 | 100050080400000000000000 61 | 62 | 63 | Init4\RTime: Start Interrupt 64 | 200 65 | 1 66 | 37 67 | 0000000050000000102700000000000000000000010000000000000000000000 68 | Ticker started 69 | 70 | 71 | Init10\IO: Create TComObj PREOP 72 | 10 73 | 3 74 | 0 75 | 0100500800000000f0000000000000640020500800005008020000000000000000000000000000000000000000000000504c433120496e7374616e636500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d0000000c40000000b00000000000000000000000300500809000000506f72745f38353100000000000000000c00500805000000504c43310000000000000000040050080200000053030000000000000b0050080400000010005008000000000d00500804000000e0d12e60000000001b805008010000000100000000000000050050080400000001205008000000000f805008040000000000000000000000198050080a000000506c635461736b0000000000000000001a8050080400000030000102000000001c80500804000000ffff0100 76 | Create Object PLC1 Instance 77 | 78 | 79 | Init10\IO: Create TComObj PREOP 80 | 10 81 | 3 82 | 0 83 | 0100020100000000f0000000000000641100000300000002020000000000000000000000000000000000000000000000492f4f2049646c65205461736b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000680000005c000000040000000000000000000000010000011d000000000000000000000054010d0000000000492f4f2049646c65205461736b00000000000000011000020400000040420f000000000002100002040000000b00000000000000071000020400000001000000 84 | Task 'I/O Idle Task' created 85 | 86 | 87 | Init10\IO: Create TComObj PREOP 88 | 10 89 | 3 90 | 0 91 | 0100020100000000f0000000000000643000010200000002020000000000000000000000000000000000000000000000506c635461736b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000054000000040000000000000000000000010000011700000000000000000000005e01070000000000506c635461736b00000000000110000204000000809698000000000002100002040000001400000000000000071000020400000001000000 92 | Task 'PlcTask' created 93 | 94 | 95 | Init12\IO: Set State TComObj SAFEOP 96 | 10 97 | 260 98 | 1 99 | 1100000330000102 100 | Set Objects (2) to SAFEOP 101 | 102 | 103 | Init28\IO: Download Symbols 104 | 851 105 | 61468 106 | 0 107 | 040040003d000000a305000042000000380d0000d0070000e404000016000000b81900008833000000000000000000005e76bd68652665f363cc14ebafbff6f078dab5987f6c136518c71f06eb104150c48d10e5c6f8b5a94ddb8d0dd0c475ebcaceb4bdda16841072bbb637b870bfb8bbca20912c2622cc5f43f10ffd4b44136262e00f4d489428262a7f9129c42ca8408c3186c464312146438cef5defd6eb5bb6b761774baeededeebe9ff7f971eff3bcef0800f4f602c4af04601efadd8a8e85e858010b6023f42bb26e70b2a107f3f1f4f66c495515cd803e8649001553789d32f6f194c1697b7983d2cb5729a9241a822af25441d178fd19786765530b54fe42e5af119b1bc2b8cd3837211886c80fc84581933d20a76dee368cbb0a71c1cd4d9a62a65095d5359a8e1d614c6f256e475640c3e30c4191934a919fb325a336772be29abce834b7a98adbaf48aa20f2da0e5ed3111b760c64b23493aa1fddb0a8397ee4688f78f8daf1c06763d757d94370f809c4373db7dce653d0381b3f5592784d2840ec792613bb67fb9b00549b1f43fc06f4fb219bbf1cf3bb9ce60afb2d8f6fa753b97b26363a71eec37878beca197eafa01bbc96150ef330272b17b8df930816e7162cce99926c0812ef59989df80e62f15d8dc5b79aeb5978619fcd879f1b61adcbee8db0047d6e13953c27b23635a81b09216f9fb0b94284cda2c11539ad08d91c5bb904f067df2ee5d4972fd22fad6bfbf6da278beeab70d6629cf5f5710ea1504b644a8533780f9c4e16257049e4ebe138f31b85cd474b50141f8064944e05f331ee906b0e42b1343445a4fa0443a76a669a5ec73f98de222b2bca7ab42ccc343dc2a0fd7c2bf6fc62d7f3595ed6156d2685ea7ab1f9e842180f54fc773f3c8ade054b67381f132409a2994c7417b53b140c86bbf6504c9c8af7b1896832cdc6e86412992b72ba8ed212250845cbe8451de60ae8147eec9e941a2efcd5aede6a0f3f7ea4b8d6e69a710b4d21bf22aef9de9bc7c265667d9cef8cbfccdd1dda13149892317810cc8906b723300f9604728568b188325ecf1d52794037ab2503e39c1babe63c52c309cf09e470a857899cb0179c713227e205075e23723abde0a8644e97179caf88f916f624df42af9038114f38ef13399d9e70961d2371ba3ce18c12399b3ce14c1139dd9e70868e93383d9e7026889ccd9e707ac7489c2d73e20cd9f5e8129a0f5a5cf568313c56e13032333c3c734162524c3c0e707a2b75f9e2c5a3672f6cb8fecbad8efca7d3fdb569c724d29fae9bd67cb300ad55dcfa66e1c9970d2917f441d4f81ce434b3bb2a57f617384de0f222afd714d7998d74f87f8c57f39b6bf9613f06e0f0d327c8fcb08ffcf375f0233ef2a9b7c8fc4e1ff9c7eae077f9c8ef7d9d98ff613ff3ff0c991ff193bfec0d22bfd34ffe0899dfe527ff2699bfc94ffee09b447eb79ffc73647e8f9ffc9671227fb39ffc51327f8b1f7c67dd3af136aaeaf3dcebcda64a7dcf288a04a89a67182609f0f4cb432dbd075a6fbc77b1e7f6e9c873bf5b889db6ce4d348f4ed9ebfe63d6fab9d9d111129ca4baba84c816ab4ba059ebffd07e80feeece4f0d674ebefbfd7f4f9d1fbf0355ba6becfda886e9f1cd87e5655d99968bfc88d5dd50694dd9ab7112b5c37145cd4a3f50fe72ec5e8fe93e58e99fcabac8f33a6fdcbd7772e96cbcab4e9a438309d2a9d8c04e369b8b6672449d0e4ce761974e32bad35adc5b5d55f6ee528e4e10d3598ae9cc2201eefd9527309d15988ed5db11d5cab960ea4d5e0d587b9a513bcfdbac1db7dc4141ee8fe6ec7d265a1e56500013826e0459362d16729cbe1f585a5245a12018ac79ca9a37015cfbe052f187b6af1bda3bfffefce6897ffe4589de942b985b3dfc8891e2241e9cc75d7db3398e34b2cb9def6b90a7671d4754552d643ad11f449ae8b47213807c63f5c9cb3da1c4c76d91eeb31f72bf4eef1ba791bda3ae7db03658373bc71caca569bf2861d44e5bef890d36afbbc9b7af7c33f0ec4797368c4d6dfde2b75320617dfbd5abd5fb9a1dd048e6334271daed4cae9f8ed58475a9e3c7094cffc97af4d34aa90e84f5f93faf7fc2aa78dabd5a7f6c1bd51d7f491dc74d13ea24fd91b6505c954203a24adaae8582441cc76edc38f1613b690283f4623f27d7da77cef99c1fadd6d16ae3f7501920069b9080316d4cd0fd31a46a2b6c9d3456b48995314da85df9b11f68631aa06d8cf143dbdebb9fefeedef3d965da29b6e33bdfe7fb7ddfeff77d7f1ed70000fa330fbffe1946af2341002ed1bf2f0193f162a920640565728fa028509e1c10ca8a2c4c55144112d12ff6003b52a3fed9815e47d16b29f0e967e653bc380d87f905b037991a00e0a135cd5dc48d3e8e82d448202db79022524554347e46e0741d783e4f3c4e2a33f0fe1c141717dfdbf0c92bbf5c1598797f15c2f681192107f1c5371952c09f477a00588124a91d963c87043197cc67f8f201101fc900f0cfc1ebbfa1bcf0d53b46ef999a3c1d2aef6b34f12f05d3508432afc049c1b85b10d15bbe2266353df840d0ba965dcca27ff012ad73700e8a0ae2b18338b580d62bf205c4e52aeb6c5e86707e06c282204e9b5c9796dad75772d84ba7fefd62627d78659371312fa1f3430ef91892ef34ada4493f939b1f837219af6980aa86e6090754407fad57a102a019ac34982c1f1ce18b10704924df682a944986d299547c64f7e66b7aba01f8f1c9ddc167d63d75d7d31bdaaee83ef5467b9ca2c3a0fea9f1684843e4644192056551539c8343ff5e0a500701e447e6a01d9a09d06dc2650fce9d86ffc7401b5c3b6d6a2faf646772d234e84f26132e067b9214a49504d2451612274b79019b82ca131d6e8aa211fc83765d23abd05633941bc56618d3cd969304119920a9a0fe894cd4a69acb916afa68144284ce83a4cea3ba59aba46a557e9e426133b186b5c41ab028a2a2222fd6bd8ebd946dd0436c8395c4363074988662595084396c6e8c2d91a0c06e27605b08d838e6740e6d7a061647c1ba86c0ba88c2624640bb8c81772305ef7a026f398197e0cb4a04f92e580d304301ec23003b08c0f01cf29ad3d01393b6e801c6a25100bb20bc41169e207ae2c5297809353c6b780173c3e6042d8c81019a6b5a4ab3148e005ae60242ecd58195a98e85623f1d6b8482354e08ac9510982a2d3562d7ba1fb0e3fd3c11f92dced4bd9c5678a5c28afa3751b06e25b0d6585823956232afad944c9258c80b1497b34f8fa9d8e574aa0e48756a6e50d2d778a468279fdb32fbeb7f7c493ef4eeba2de1de97c26314ef3f4378ff95441c119419414c73696c9c694c4364c594410aaa603a50a4140b7571a0522c2e02cd453a701a862938fb09ee5a2d9cf48c5429e4fa0b52f6401d4c1d20c008a6c2c893cf41060ecd8915184e2c1e8d785be8d9274ee77eb5f1278ddddb3efce19bf77ff431994be2e3358a6d98f996cab8618de1e17478602045c9c48d9cded04093892242259ec3778e4433713777e128c5e6fd84cdfb4cb19524596198b7e37bbffa3e5e85c723a623c3bf30b9d3ccc4f8b19355221f25718ff9edf2ba04d98d8e9b4a85274237f76cd9d2bbfd965032168af54f26c2c3dce4407c7818d8bea8070efbbfd9f15ab1f1f9bf7597dee9eebdea70ee3237bd2e07bdf5a0cd8b5e7224198b01fb3793e293bb422f9f3a75fbf1e7af78fdfc3b574e7d7fc641ef7d873dac568563a7b7f55a955e7c32c1174b40ff500f9c3675cfc67ff6e9b9c66f3ff8c82bffbeeec4b14fb52bfb3cf4b3c2d28f49e7732a19554d765dc1833f9ff8eeb377fef12f571e7fabe3c4777e41c10fd480bf93868f6f3c7d79f17bbf9d3d33f5e8038fdd7bf0dcd7f0a6becd817f9b434e9bd44491c0ef457a51f1b944640b57c8aaf160b1acc0a25ab9d0cfaa00f8f5c1ab3f8dee79eaf41577bfbfebe41f1e0745975d18ff6fd0eb246be7a88e86ea027b1ac1f206e4c24b057e1145df31be5081284bb4cef10bdab95ec0a4d76ed233f79f263aa7bb65d0f239696d5cc8e7f52486a41774c8b7c9a41849a4d1e6dd3d4af12f97b9f5e433fb0d4ebeb57cc1953020be5b9c7c6f5cb8a6473b888bd60276e6b503e80923ab1e3d42d4ef883e857a022c54bb3f08cc70008c00e08a000cc1b7d0046ff1fdaf86ea7578abc98fc393eda3301cd43f0d97be4ebd924f5614908a86132034c8cbb9795e86a1ac84ca1da9109ae365819f2ac0b273396d510afe0a07be76e4e36256c377814c52e24e97513807b153312a70013139384f2fbf1b409b3f930de772322c97338b2508d08f4b68514ea3c3517dad5145aa4a6b418e141f658e576600512f86e26259e1c52cbcba84ae987220696364ae11f97d81fc29665a9470b306804f3e3abfffccdad3e71ffefd9ac817a7bf32d688e8c9305f807a0fa715b18d53395844856bd9e6b14b0ebdcf38f4de664acc19500e513c44d0488154991a8a9fd264aa3aa63a54df5397bcdbff8ff2beef834d2f75e64fde7cd396778fbfb0ed9e17eb90f71907ebc61743decde66924ef543289b7984289d141fd9ebb51c0f2a3c5aed5ac17132a334375282ccbfc6248ca8764388d527928c35ca8a0dee28cdad77f795f57dfec86371e3db5f38327b7def876837b5129492abaecc7e9b77de6b6d53c36d8edd1b06b325ddc00aff0bdac3c37e6d183b5e20586d9ca4825631ef9a81d651b03658cd138b4f2e31504ca767a06e24a3a1c5436681f830cf159f9bb716630154d8f2632f4ba78cda0471de037af98d63b7bec81ab9ed83571ee0ef8c89b6bb7bdfa272a3f4efd2f31f989b3a2f626fcb650adcf1d04a67f06801ab6fd28eaf9e9619bb8600fd9ea8d9c871c3a2dba996c3f5f8691025f2ec7f8ac22c98b7a1431faf4b84af392eb32022f22159353fb23eab4639503c78baf76170e723e6928cf41596ffd91686e3d79f3151773c4fa2f7c7d29e4d981b9036ac56921e53e2a1e10a57991b8c55cd83106ce0a57be97a01a4e2b329c0e76bed763e67d1decbc8fcca3c63df337c3bd253311b41946a9db737903fa99f603a2de60e6e3216c87062eae2ca2a8b4e0f0b403f97851d1db50a36995d4e6b7ef8fbe7c6edbc8b3cb0e9f483fbd495c029ab9f4e4882442b48dd07fe1420134b4a07f385e5604758883ebdea62a71cb67e9b7dda86cc2a51259d8d4e1f7b1ede58cd53b05436b58fa08986613069756115161483840ebbc04a89d97a45810441899c143c62a80b405b65217182bf0d36556601b640c8b3a5c9da570aecce12ec9288d9d26da28a6833a8ae997240507a684c4e7608ed1a84a50e03a0938abf3992ce40c4406d61023a5b77ab286f74746841b84280d431168c0bdca044761ab8b60cb1ac50e4158d2d2c77252ece718aca529786b08bc0e132f3d535172c829c5454e96a67186ca80a4b1b896ca6242c842b10ccb1c1473ec7e284d13eba89ae84f270792d96c45666a354ec1ba98c0b2daff09697a1ae6e222030852802e2152a0a019285d6e89e9af5c9e6a9c31ac53f3605f00c50c232ae2d09396e73845a68547677474ce08faf4d77a73cbb558f6a80e7ef58262c7b66ee0ac1c6e4851d06e23d0969968c870305b9e88e21b973ef8f2ce9ec4d31bb7ee38fe4dfe776a0db0a47a3fca185bb6b23a4dff2b873ce4e190ad01bc358c627850da9c3c40b83ecb1acd3139ddf7d17c68cb05f8d084874b6fb1af4d6bcc3316374431dea0eef8342cb3d45075a50a2a41836aa5cdb4baa8332d3cf78c2ec06c35a90f79f8008bb19820eb635486174831bc8001d56e35f10c5b882e642164879d710ae27a0271b5555e8811be5008e75151abb9f9d1528e57601d4ef452aa134d65c604a9c0ab857d6d0f3d38dd47c0dcf058af9ebb3ddfd73df6e17ffe1e3beaffd8ffe4b2ce1f6897eef4c897379b4f56d53cbfab73ba076aaa97ac68e67c6681fee0c2b8075ed0ca6b2d3c2d75d2132807628c3e6fb0e30650c4a4e0b2482c9bbda7efa9c143f71d175e7a0bdc74e604a55e75f27db95909d3f15da45c276854ddf5454df2e2c692c8756bef4e794d7c06bdaa058556553850fbf779e0adb4a220f5399a6a8fd4d0fa0e01d7bcc09483baecd1719af3eb62f6db7daefa51eb2cbb5acbb4c6c3d5bd5acdd8e41aaca8e76bd1e30ab313988ac6a2a9e848248a25640c65cde16c57e86cfebdf65bbff57026f65edfd1876ef1c2b51e62b1e16a4315eddd89795d2dfc5aaedd86ab861c2dee385057d5667741b3f363c3c5cda43885d75d5e76d7657628ec784433c6d698f9fab5e70f63fc790dffd067c4c74d155b83e53107fe05eacfb6c31d3269ae457f0c5c2d6718a56a70f567b00bd5c3696ece81aa8d0c5cfbb281e82fdaf7659adad759d248cc1ac9be0e7504b9334fe68a0df691a26d3d6de6fc3a9d994c0853c633a5ee7cdaf9bcb2dfe45918e6f74b3223e7dcedf1b03209238875c1f8e830fd15a19063c0ecf168905b8f860a293827a8a2a82d2777f65bfca6018a55fb23ce6cab4bcfc9ddd956d9d08d1e4bb652b2add57fed9f901effd117e247376d7cf1ec332d4b0729f0c6930df6be2489ea8275c5a73e2f9c1d349c1b5c38377ae1a811d335ceaa63ae3c4a1f8c072e6cae5caab22becfb78944ab68941d64f27ebf9dc02b14ebae368acefc18513d5fc9f9dde3895deacaf7eb976386f18dfb11dddd3e1ec51e3d3d66da45a5c733bd673603e30164da5e3c9114acee5f47056595da9eae2063d5c9c0da78a8f1bf1f0716d040eeefd0859c8f1d9037570e56770c5e1e79319388d2dab63876fdf593878f62eff7377bfbe8efe1c197b1fd01febf0d5b90ffe0b51c26372 108 | Symbols downloaded 109 | 110 | 111 | Init44\IO: Set State TComObj PREOP OP 112 | 10 113 | 139468800 114 | 139460617 115 | Check for autostart 116 | 50000 117 | 118 | 119 | 120 | 121 | Init16\IO: Set State TComObj SAFEOP OP 122 | 10 123 | 512 124 | 0 125 | 126 | 127 | 128 | LightingController 129 | {AAB18DD8-F656-45B9-AC0D-EF935E907FCE} 130 | C:\Users\John\Desktop\GitHub Repo\TC-Design-Patterns\OOP Basics\LightingController\LightingController\LightingController.tsproj 131 | 132 | 133 | 134 | 135 | 136 | 137 | -------------------------------------------------------------------------------- /Extended/LightingController/LightingController/_Boot/TwinCAT RT (x64)/CurrentConfig/PLC1.tpzip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Extended/LightingController/LightingController/_Boot/TwinCAT RT (x64)/CurrentConfig/PLC1.tpzip -------------------------------------------------------------------------------- /Extended/LightingController/LightingController/_Boot/TwinCAT RT (x64)/Plc/Port_851.app: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Extended/LightingController/LightingController/_Boot/TwinCAT RT (x64)/Plc/Port_851.app -------------------------------------------------------------------------------- /Extended/LightingController/LightingController/_Boot/TwinCAT RT (x64)/Plc/Port_851.autostart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Extended/LightingController/LightingController/_Boot/TwinCAT RT (x64)/Plc/Port_851.autostart -------------------------------------------------------------------------------- /Extended/LightingController/LightingController/_Boot/TwinCAT RT (x64)/Plc/Port_851.cid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Extended/LightingController/LightingController/_Boot/TwinCAT RT (x64)/Plc/Port_851.cid -------------------------------------------------------------------------------- /Extended/LightingController/LightingController/_Boot/TwinCAT RT (x64)/Plc/Port_851.crc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Extended/LightingController/LightingController/_Boot/TwinCAT RT (x64)/Plc/Port_851.crc -------------------------------------------------------------------------------- /Extended/LightingController/LightingController/_Boot/TwinCAT RT (x64)/Plc/Port_851.occ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Extended/LightingController/LightingController/_Boot/TwinCAT RT (x64)/Plc/Port_851.occ -------------------------------------------------------------------------------- /Extended/LightingController/LightingController/_Boot/TwinCAT RT (x64)/Plc/Port_851.oce: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Extended/LightingController/LightingController/_Boot/TwinCAT RT (x64)/Plc/Port_851.oce -------------------------------------------------------------------------------- /Extended/LightingController/LightingController/_Boot/TwinCAT RT (x64)/Plc/Port_851.ocm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Extended/LightingController/LightingController/_Boot/TwinCAT RT (x64)/Plc/Port_851.ocm -------------------------------------------------------------------------------- /Extended/LightingController/LightingController/_Boot/TwinCAT RT (x64)/Plc/Port_851_boot.tizip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Extended/LightingController/LightingController/_Boot/TwinCAT RT (x64)/Plc/Port_851_boot.tizip -------------------------------------------------------------------------------- /Extended/LightingController/LightingController/_Config/PLC/PLC1.xti: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PLC1 Instance 6 | {08500001-0000-0000-F000-000000000064} 7 | 8 | PlcTask Outputs 9 | 10 | MAIN.fbDimm[0].iOutHw 11 | INT 12 | 13 | 14 | MAIN.fbDimm[1].iOutHw 15 | INT 16 | 17 | 18 | MAIN.fbDimm[2].iOutHw 19 | INT 20 | 21 | 22 | MAIN.fbDimm[3].iOutHw 23 | INT 24 | 25 | 26 | MAIN.fbDimm[4].iOutHw 27 | INT 28 | 29 | 30 | MAIN.fbDimm[5].iOutHw 31 | INT 32 | 33 | 34 | MAIN.fbDimm[6].iOutHw 35 | INT 36 | 37 | 38 | MAIN.fbDimm[7].iOutHw 39 | INT 40 | 41 | 42 | MAIN.fbDimm[8].iOutHw 43 | INT 44 | 45 | 46 | MAIN.fbDimm[9].iOutHw 47 | INT 48 | 49 | 50 | MAIN.fbDimm[10].iOutHw 51 | INT 52 | 53 | 54 | MAIN.fbDimm[11].iOutHw 55 | INT 56 | 57 | 58 | MAIN.fbDimm[12].iOutHw 59 | INT 60 | 61 | 62 | MAIN.fbDimm[13].iOutHw 63 | INT 64 | 65 | 66 | MAIN.fbDimm[14].iOutHw 67 | INT 68 | 69 | 70 | MAIN.fbOnOff[0].bOutHw 71 | 72 | BOOL 73 | 74 | 75 | MAIN.fbOnOff[1].bOutHw 76 | 77 | BOOL 78 | 79 | 80 | MAIN.fbOnOff[2].bOutHw 81 | 82 | BOOL 83 | 84 | 85 | MAIN.fbOnOff[3].bOutHw 86 | 87 | BOOL 88 | 89 | 90 | MAIN.fbOnOff[4].bOutHw 91 | 92 | BOOL 93 | 94 | 95 | MAIN.fbOnOff[5].bOutHw 96 | 97 | BOOL 98 | 99 | 100 | MAIN.fbOnOff[6].bOutHw 101 | 102 | BOOL 103 | 104 | 105 | MAIN.fbOnOff[7].bOutHw 106 | 107 | BOOL 108 | 109 | 110 | MAIN.fbOnOff[8].bOutHw 111 | 112 | BOOL 113 | 114 | 115 | MAIN.fbOnOff[9].bOutHw 116 | 117 | BOOL 118 | 119 | 120 | MAIN.fbOnOff[10].bOutHw 121 | 122 | BOOL 123 | 124 | 125 | MAIN.fbOnOff[11].bOutHw 126 | 127 | BOOL 128 | 129 | 130 | MAIN.fbOnOff[12].bOutHw 131 | 132 | BOOL 133 | 134 | 135 | MAIN.fbOnOff[13].bOutHw 136 | 137 | BOOL 138 | 139 | 140 | MAIN.fbOnOff[14].bOutHw 141 | 142 | BOOL 143 | 144 | 145 | 146 | 147 | 0 148 | PlcTask 149 | 150 | #x02010030 151 | 152 | 20 153 | 10000000 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | 2 | Copyright (c) 2021, John Helfrich 3 | All rights reserved. 4 | 5 | Redistribution and use in source and binary forms, with or without 6 | modification, are permitted provided that the following conditions are met: 7 | 8 | * Redistributions of source code must retain the above copyright notice, this 9 | list of conditions and the following disclaimer. 10 | 11 | * Redistributions in binary form must reproduce the above copyright notice, 12 | this list of conditions and the following disclaimer in the documentation 13 | and/or other materials provided with the distribution. 14 | 15 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 16 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 18 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 19 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 21 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 22 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 23 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 24 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # OOP Basic projects for the IEC61131-3 PLC Environment 2 | 3 | In this repo we have a few sample projects to get started with OOP in the IEC61131-3 environment. The **Tutorials** directory covers some of the basic concepts of OOP within the IEC61131-3 PLC language Structured Text. 4 | 5 | 6 | 7 | ### Tutorials 8 | 9 | - **Flash Generator** - This example show the basic concept of overriding classes with inheritance. The base class implements a Flash method that pulses at a frequency based on the Cycletime property. The overriding GeneratorEx extends off the base, and adjusts the Flash method to be ON 1/3 of the time. 10 | 11 | 12 | 13 | - **Light Control** - This example shows the basic concept behind interfaces. As long as the classes share and implement a common interface, you can call method for those classes through a single interface. 14 | 15 | 16 | 17 | - **Abstract Drive** - This example shows the basic function of abstraction. You essentially have a base 'template' for the drive class, with no implementation. Every class extension from the base must implement the known abstract methods. 18 | 19 | 20 | 21 | ### Extended Samples 22 | 23 | - **Lighting Controller** - This is an extended example of the Light Control sample above. It uses interfaces to control multiple lights in a room. 24 | 25 | -------------------------------------------------------------------------------- /Tutorials/AbstractDrive/.vs/AbstractDrive/v15/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/AbstractDrive/.vs/AbstractDrive/v15/.suo -------------------------------------------------------------------------------- /Tutorials/AbstractDrive/AbstractDrive.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # TcXaeShell Solution File, Format Version 11.00 4 | VisualStudioVersion = 15.0.28010.2050 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{B1E792BE-AA5F-4E3C-8C82-674BF9C0715B}") = "AbstractDrive", "AbstractDrive\AbstractDrive.tsproj", "{7FA5E685-0FA3-47BD-864D-B43BF4A8B184}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|TwinCAT CE7 (ARMV7) = Debug|TwinCAT CE7 (ARMV7) 11 | Debug|TwinCAT OS (ARMT2) = Debug|TwinCAT OS (ARMT2) 12 | Debug|TwinCAT RT (x64) = Debug|TwinCAT RT (x64) 13 | Debug|TwinCAT RT (x86) = Debug|TwinCAT RT (x86) 14 | Release|TwinCAT CE7 (ARMV7) = Release|TwinCAT CE7 (ARMV7) 15 | Release|TwinCAT OS (ARMT2) = Release|TwinCAT OS (ARMT2) 16 | Release|TwinCAT RT (x64) = Release|TwinCAT RT (x64) 17 | Release|TwinCAT RT (x86) = Release|TwinCAT RT (x86) 18 | EndGlobalSection 19 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 20 | {7FA5E685-0FA3-47BD-864D-B43BF4A8B184}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) 21 | {7FA5E685-0FA3-47BD-864D-B43BF4A8B184}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) 22 | {7FA5E685-0FA3-47BD-864D-B43BF4A8B184}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) 23 | {7FA5E685-0FA3-47BD-864D-B43BF4A8B184}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) 24 | {7FA5E685-0FA3-47BD-864D-B43BF4A8B184}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) 25 | {7FA5E685-0FA3-47BD-864D-B43BF4A8B184}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) 26 | {7FA5E685-0FA3-47BD-864D-B43BF4A8B184}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) 27 | {7FA5E685-0FA3-47BD-864D-B43BF4A8B184}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) 28 | {7FA5E685-0FA3-47BD-864D-B43BF4A8B184}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) 29 | {7FA5E685-0FA3-47BD-864D-B43BF4A8B184}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) 30 | {7FA5E685-0FA3-47BD-864D-B43BF4A8B184}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) 31 | {7FA5E685-0FA3-47BD-864D-B43BF4A8B184}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) 32 | {7FA5E685-0FA3-47BD-864D-B43BF4A8B184}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) 33 | {7FA5E685-0FA3-47BD-864D-B43BF4A8B184}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) 34 | {7FA5E685-0FA3-47BD-864D-B43BF4A8B184}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) 35 | {7FA5E685-0FA3-47BD-864D-B43BF4A8B184}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) 36 | {75B3863D-5BB2-4DED-A945-F143AA1994E9}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) 37 | {75B3863D-5BB2-4DED-A945-F143AA1994E9}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) 38 | {75B3863D-5BB2-4DED-A945-F143AA1994E9}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) 39 | {75B3863D-5BB2-4DED-A945-F143AA1994E9}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) 40 | {75B3863D-5BB2-4DED-A945-F143AA1994E9}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) 41 | {75B3863D-5BB2-4DED-A945-F143AA1994E9}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) 42 | {75B3863D-5BB2-4DED-A945-F143AA1994E9}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) 43 | {75B3863D-5BB2-4DED-A945-F143AA1994E9}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) 44 | {75B3863D-5BB2-4DED-A945-F143AA1994E9}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) 45 | {75B3863D-5BB2-4DED-A945-F143AA1994E9}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) 46 | {75B3863D-5BB2-4DED-A945-F143AA1994E9}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) 47 | {75B3863D-5BB2-4DED-A945-F143AA1994E9}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) 48 | {75B3863D-5BB2-4DED-A945-F143AA1994E9}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) 49 | {75B3863D-5BB2-4DED-A945-F143AA1994E9}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) 50 | {75B3863D-5BB2-4DED-A945-F143AA1994E9}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) 51 | {75B3863D-5BB2-4DED-A945-F143AA1994E9}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) 52 | EndGlobalSection 53 | GlobalSection(SolutionProperties) = preSolution 54 | HideSolutionNode = FALSE 55 | EndGlobalSection 56 | GlobalSection(ExtensibilityGlobals) = postSolution 57 | SolutionGuid = {40498B22-BC1C-43C5-A313-1E7E77F1967D} 58 | EndGlobalSection 59 | EndGlobal 60 | -------------------------------------------------------------------------------- /Tutorials/AbstractDrive/AbstractDrive/AbstractDrive.tsproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | PlcTask 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /Tutorials/AbstractDrive/AbstractDrive/AbstractDrive.tsproj.bak: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Tutorials/AbstractDrive/AbstractDrive/PLC1/FBs/Base/FB_DriveBase.TcPOU: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 10 | 11 | 12 | 13 | 14 | 16 | 17 | 18 | 19 | 20 | 21 | 23 | 24 | 25 | 26 | 27 | 28 | 30 | 31 | 32 | 33 | 34 | 35 | 37 | 38 | 39 | 40 | 41 | 42 | 49 | 50 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /Tutorials/AbstractDrive/AbstractDrive/PLC1/FBs/Extended/FB_DriveCAN.TcPOU: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 12 | 13 | 14 | 15 | 16 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 28 | 29 | 30 | 32 | 33 | 34 | 35 | 36 | 37 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | -------------------------------------------------------------------------------- /Tutorials/AbstractDrive/AbstractDrive/PLC1/FBs/Extended/FB_DriveNc.TcPOU: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 12 | 13 | 14 | 15 | 16 | 18 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 28 | 29 | 30 | 32 | 33 | 34 | 35 | 36 | 37 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | -------------------------------------------------------------------------------- /Tutorials/AbstractDrive/AbstractDrive/PLC1/ITFs/I_DriveBase.TcIO: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 6 | 7 | 11 | 12 | 13 | 17 | 18 | 19 | 23 | 24 | 25 | 29 | 30 | 31 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /Tutorials/AbstractDrive/AbstractDrive/PLC1/PLC1.plcproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1.0.0.0 4 | 2.0 5 | {75b3863d-5bb2-4ded-a945-f143aa1994e9} 6 | True 7 | true 8 | true 9 | false 10 | PLC1 11 | 3.1.4024.12 12 | {489c55df-527f-40c1-b9dd-003c9a48f63c} 13 | {52fe40c3-5582-4601-a1e7-344e3b838d3b} 14 | {2551da60-15d1-42a6-8ca5-d3a9301bbaea} 15 | {4dcbc543-14e8-4c81-8709-6f7d5785a535} 16 | {cdd29ba5-ac2d-415f-a5d4-c56e640b00a4} 17 | {a444e710-d9e8-4472-acc9-d6134f6ea62e} 18 | 19 | 20 | 21 | Code 22 | 23 | 24 | Code 25 | 26 | 27 | Code 28 | 29 | 30 | Code 31 | 32 | 33 | Code 34 | 35 | 36 | Code 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | Tc2_Standard, * (Beckhoff Automation GmbH) 50 | Tc2_Standard 51 | 52 | 53 | Tc2_System, * (Beckhoff Automation GmbH) 54 | Tc2_System 55 | 56 | 57 | Tc3_Module, * (Beckhoff Automation GmbH) 58 | Tc3_Module 59 | 60 | 61 | 62 | 63 | Content 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | "<ProjectRoot>" 72 | 73 | {40450F57-0AA3-4216-96F3-5444ECB29763} 74 | 75 | "{40450F57-0AA3-4216-96F3-5444ECB29763}" 76 | 77 | 78 | ActiveVisuProfile 79 | IR0whWr8bwfwBwAAiD2qpQAAAABVAgAA37x72QAAAAABAAAAAAAAAAEaUwB5AHMAdABlAG0ALgBTAHQAcgBpAG4AZwACTHsAZgA5ADUAYgBiADQAMgA2AC0ANQA1ADIANAAtADQAYgA0ADUALQA5ADQAMAAwAC0AZgBiADAAZgAyAGUANwA3AGUANQAxAGIAfQADCE4AYQBtAGUABDBUAHcAaQBuAEMAQQBUACAAMwAuADEAIABCAHUAaQBsAGQAIAA0ADAAMgA0AC4ANwAFFlAAcgBvAGYAaQBsAGUARABhAHQAYQAGTHsAMQA2AGUANQA1AGIANgAwAC0ANwAwADQAMwAtADQAYQA2ADMALQBiADYANQBiAC0ANgAxADQANwAxADMAOAA3ADgAZAA0ADIAfQAHEkwAaQBiAHIAYQByAGkAZQBzAAhMewAzAGIAZgBkADUANAA1ADkALQBiADAANwBmAC0ANABkADYAZQAtAGEAZQAxAGEALQBhADgAMwAzADUANgBhADUANQAxADQAMgB9AAlMewA5AGMAOQA1ADgAOQA2ADgALQAyAGMAOAA1AC0ANAAxAGIAYgAtADgAOAA3ADEALQA4ADkANQBmAGYAMQBmAGUAZABlADEAYQB9AAoOVgBlAHIAcwBpAG8AbgALBmkAbgB0AAwKVQBzAGEAZwBlAA0KVABpAHQAbABlAA4aVgBpAHMAdQBFAGwAZQBtAE0AZQB0AGUAcgAPDkMAbwBtAHAAYQBuAHkAEAxTAHkAcwB0AGUAbQARElYAaQBzAHUARQBsAGUAbQBzABIwVgBpAHMAdQBFAGwAZQBtAHMAUwBwAGUAYwBpAGEAbABDAG8AbgB0AHIAbwBsAHMAEyhWAGkAcwB1AEUAbABlAG0AcwBXAGkAbgBDAG8AbgB0AHIAbwBsAHMAFCRWAGkAcwB1AEUAbABlAG0AVABlAHgAdABFAGQAaQB0AG8AcgAVIlYAaQBzAHUATgBhAHQAaQB2AGUAQwBvAG4AdAByAG8AbAAWFHYAaQBzAHUAaQBuAHAAdQB0AHMAFwxzAHkAcwB0AGUAbQAYGFYAaQBzAHUARQBsAGUAbQBCAGEAcwBlABkmRABlAHYAUABsAGEAYwBlAGgAbwBsAGQAZQByAHMAVQBzAGUAZAAaCGIAbwBvAGwAGyJQAGwAdQBnAGkAbgBDAG8AbgBzAHQAcgBhAGkAbgB0AHMAHEx7ADQAMwBkADUAMgBiAGMAZQAtADkANAAyAGMALQA0ADQAZAA3AC0AOQBlADkANAAtADEAYgBmAGQAZgAzADEAMABlADYAMwBjAH0AHRxBAHQATABlAGEAcwB0AFYAZQByAHMAaQBvAG4AHhRQAGwAdQBnAGkAbgBHAHUAaQBkAB8WUwB5AHMAdABlAG0ALgBHAHUAaQBkACBIYQBmAGMAZAA1ADQANAA2AC0ANAA5ADEANAAtADQAZgBlADcALQBiAGIANwA4AC0AOQBiAGYAZgBlAGIANwAwAGYAZAAxADcAIRRVAHAAZABhAHQAZQBJAG4AZgBvACJMewBiADAAMwAzADYANgBhADgALQBiADUAYwAwAC0ANABiADkAYQAtAGEAMAAwAGUALQBlAGIAOAA2ADAAMQAxADEAMAA0AGMAMwB9ACMOVQBwAGQAYQB0AGUAcwAkTHsAMQA4ADYAOABmAGYAYwA5AC0AZQA0AGYAYwAtADQANQAzADIALQBhAGMAMAA2AC0AMQBlADMAOQBiAGIANQA1ADcAYgA2ADkAfQAlTHsAYQA1AGIAZAA0ADgAYwAzAC0AMABkADEANwAtADQAMQBiADUALQBiADEANgA0AC0ANQBmAGMANgBhAGQAMgBiADkANgBiADcAfQAmFk8AYgBqAGUAYwB0AHMAVAB5AHAAZQAnVFUAcABkAGEAdABlAEwAYQBuAGcAdQBhAGcAZQBNAG8AZABlAGwARgBvAHIAQwBvAG4AdgBlAHIAdABpAGIAbABlAEwAaQBiAHIAYQByAGkAZQBzACgQTABpAGIAVABpAHQAbABlACkUTABpAGIAQwBvAG0AcABhAG4AeQAqHlUAcABkAGEAdABlAFAAcgBvAHYAaQBkAGUAcgBzACs4UwB5AHMAdABlAG0ALgBDAG8AbABsAGUAYwB0AGkAbwBuAHMALgBIAGEAcwBoAHQAYQBiAGwAZQAsEnYAaQBzAHUAZQBsAGUAbQBzAC1INgBjAGIAMQBjAGQAZQAxAC0AZAA1AGQAYwAtADQAYQAzAGIALQA5ADAANQA0AC0AMgAxAGYAYQA3ADUANgBhADMAZgBhADQALihJAG4AdABlAHIAZgBhAGMAZQBWAGUAcgBzAGkAbwBuAEkAbgBmAG8AL0x7AGMANgAxADEAZQA0ADAAMAAtADcAZgBiADkALQA0AGMAMwA1AC0AYgA5AGEAYwAtADQAZQAzADEANABiADUAOQA5ADYANAAzAH0AMBhNAGEAagBvAHIAVgBlAHIAcwBpAG8AbgAxGE0AaQBuAG8AcgBWAGUAcgBzAGkAbwBuADIMTABlAGcAYQBjAHkAMzBMAGEAbgBnAHUAYQBnAGUATQBvAGQAZQBsAFYAZQByAHMAaQBvAG4ASQBuAGYAbwA0MEwAbwBhAGQATABpAGIAcgBhAHIAaQBlAHMASQBuAHQAbwBQAHIAbwBqAGUAYwB0ADUaQwBvAG0AcABhAHQAaQBiAGkAbABpAHQAeQDQAAIaA9ADAS0E0AUGGgfQBwgaAUUHCQjQAAkaBEUKCwQDAAAABQAAAA0AAAAAAAAA0AwLrQIAAADQDQEtDtAPAS0Q0AAJGgRFCgsEAwAAAAUAAAANAAAAKAAAANAMC60BAAAA0A0BLRHQDwEtENAACRoERQoLBAMAAAAFAAAADQAAAAAAAADQDAutAgAAANANAS0S0A8BLRDQAAkaBEUKCwQDAAAABQAAAA0AAAAUAAAA0AwLrQIAAADQDQEtE9APAS0Q0AAJGgRFCgsEAwAAAAUAAAANAAAAAAAAANAMC60CAAAA0A0BLRTQDwEtENAACRoERQoLBAMAAAAFAAAADQAAAAAAAADQDAutAgAAANANAS0V0A8BLRDQAAkaBEUKCwQDAAAABQAAAA0AAAAAAAAA0AwLrQIAAADQDQEtFtAPAS0X0AAJGgRFCgsEAwAAAAUAAAANAAAAKAAAANAMC60EAAAA0A0BLRjQDwEtENAZGq0BRRscAdAAHBoCRR0LBAMAAAAFAAAADQAAAAAAAADQHh8tINAhIhoCRSMkAtAAJRoFRQoLBAMAAAADAAAAAAAAAAoAAADQJgutAAAAANADAS0n0CgBLRHQKQEtENAAJRoFRQoLBAMAAAADAAAAAAAAAAoAAADQJgutAQAAANADAS0n0CgBLRHQKQEtEJoqKwFFAAEC0AABLSzQAAEtF9AAHy0t0C4vGgPQMAutAQAAANAxC60XAAAA0DIarQDQMy8aA9AwC60CAAAA0DELrQMAAADQMhqtANA0Gq0A0DUarQA= 80 | 81 | 82 | {192FAD59-8248-4824-A8DE-9177C94C195A} 83 | 84 | "{192FAD59-8248-4824-A8DE-9177C94C195A}" 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | System.Collections.Hashtable 94 | {54dd0eac-a6d8-46f2-8c27-2f43c7e49861} 95 | System.String 96 | 97 | 98 | 99 | 100 | -------------------------------------------------------------------------------- /Tutorials/AbstractDrive/AbstractDrive/PLC1/POUs/MAIN.TcPOU: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 15 | 16 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /Tutorials/AbstractDrive/AbstractDrive/PLC1/PlcTask.TcTTO: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 10000 6 | 20 7 | 8 | MAIN 9 | 10 | {6bb8686d-9f61-4f0d-a4c6-dd35eac9f3e9} 11 | {0120932a-5787-4328-9fd4-8accb6894b0b} 12 | {ac805e2a-842c-492d-b937-6b7da20f0d6c} 13 | {e8385964-c2b6-4473-9a16-14c7e6980b9a} 14 | {17f43ce1-8135-4f69-944a-10f04cb84897} 15 | 16 | 17 | -------------------------------------------------------------------------------- /Tutorials/AbstractDrive/AbstractDrive/PLC1/_CompileInfo/04849ADD-6EAA-BEFD-3F0F-31278BB0F83D.compileinfo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/AbstractDrive/AbstractDrive/PLC1/_CompileInfo/04849ADD-6EAA-BEFD-3F0F-31278BB0F83D.compileinfo -------------------------------------------------------------------------------- /Tutorials/AbstractDrive/AbstractDrive/PLC1/_CompileInfo/68F05438-182A-839A-1FAE-2843C054C6D8.compileinfo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/AbstractDrive/AbstractDrive/PLC1/_CompileInfo/68F05438-182A-839A-1FAE-2843C054C6D8.compileinfo -------------------------------------------------------------------------------- /Tutorials/AbstractDrive/AbstractDrive/PLC1/_CompileInfo/6E5981CD-94FE-A45C-001F-02B815C03857.compileinfo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/AbstractDrive/AbstractDrive/PLC1/_CompileInfo/6E5981CD-94FE-A45C-001F-02B815C03857.compileinfo -------------------------------------------------------------------------------- /Tutorials/AbstractDrive/AbstractDrive/PLC1/_CompileInfo/80150B7D-E754-8AE2-5F26-22EE02BE30CD.compileinfo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/AbstractDrive/AbstractDrive/PLC1/_CompileInfo/80150B7D-E754-8AE2-5F26-22EE02BE30CD.compileinfo -------------------------------------------------------------------------------- /Tutorials/AbstractDrive/AbstractDrive/PLC1/_CompileInfo/82D9C6D6-0C54-1301-6AAD-37BDFC781AC4.compileinfo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/AbstractDrive/AbstractDrive/PLC1/_CompileInfo/82D9C6D6-0C54-1301-6AAD-37BDFC781AC4.compileinfo -------------------------------------------------------------------------------- /Tutorials/AbstractDrive/AbstractDrive/PLC1/_CompileInfo/9AD2A05A-583E-9479-27FA-6D5A14D97EB2.compileinfo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/AbstractDrive/AbstractDrive/PLC1/_CompileInfo/9AD2A05A-583E-9479-27FA-6D5A14D97EB2.compileinfo -------------------------------------------------------------------------------- /Tutorials/AbstractDrive/AbstractDrive/PLC1/_CompileInfo/BE561406-177F-500D-9F19-1D26C409D860.compileinfo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/AbstractDrive/AbstractDrive/PLC1/_CompileInfo/BE561406-177F-500D-9F19-1D26C409D860.compileinfo -------------------------------------------------------------------------------- /Tutorials/AbstractDrive/AbstractDrive/PLC1/_CompileInfo/C9522151-CCE9-71B6-80DE-10BD96F616FC.compileinfo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/AbstractDrive/AbstractDrive/PLC1/_CompileInfo/C9522151-CCE9-71B6-80DE-10BD96F616FC.compileinfo -------------------------------------------------------------------------------- /Tutorials/AbstractDrive/AbstractDrive/PLC1/_CompileInfo/EDB332AC-135B-9944-2A92-552B9C416EA1.compileinfo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/AbstractDrive/AbstractDrive/PLC1/_CompileInfo/EDB332AC-135B-9944-2A92-552B9C416EA1.compileinfo -------------------------------------------------------------------------------- /Tutorials/AbstractDrive/AbstractDrive/PLC1/_CompileInfo/EFF55E8A-580C-9321-5541-0127836DC17D.compileinfo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/AbstractDrive/AbstractDrive/PLC1/_CompileInfo/EFF55E8A-580C-9321-5541-0127836DC17D.compileinfo -------------------------------------------------------------------------------- /Tutorials/AbstractDrive/AbstractDrive/PLC1/_Libraries/beckhoff automation gmbh/tc2_standard/3.3.3.0/tc2_standard.compiled-library: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/AbstractDrive/AbstractDrive/PLC1/_Libraries/beckhoff automation gmbh/tc2_standard/3.3.3.0/tc2_standard.compiled-library -------------------------------------------------------------------------------- /Tutorials/AbstractDrive/AbstractDrive/PLC1/_Libraries/beckhoff automation gmbh/tc2_system/3.4.24.0/tc2_system.compiled-library: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/AbstractDrive/AbstractDrive/PLC1/_Libraries/beckhoff automation gmbh/tc2_system/3.4.24.0/tc2_system.compiled-library -------------------------------------------------------------------------------- /Tutorials/AbstractDrive/AbstractDrive/PLC1/_Libraries/beckhoff automation gmbh/tc3_module/3.3.21.0/tc3_module.compiled-library: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/AbstractDrive/AbstractDrive/PLC1/_Libraries/beckhoff automation gmbh/tc3_module/3.3.21.0/tc3_module.compiled-library -------------------------------------------------------------------------------- /Tutorials/AbstractDrive/AbstractDrive/_Boot/TargetDescription.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 3 5 | 1 6 | 4024 7 | 12 8 | 9 | 10 | -------------------------------------------------------------------------------- /Tutorials/AbstractDrive/AbstractDrive/_Boot/TwinCAT RT (x64)/CurrentConfig.tszip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/AbstractDrive/AbstractDrive/_Boot/TwinCAT RT (x64)/CurrentConfig.tszip -------------------------------------------------------------------------------- /Tutorials/AbstractDrive/AbstractDrive/_Boot/TwinCAT RT (x64)/CurrentConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 33554432 5 | #x1 6 | #x1 7 | 8 | 64 9 | 5 10 | 11 | 3.1.4021 12 | 13 | 14 | 15 | 1 16 | TcIo 17 | 18 | 19 | 1 20 | TcPlc30 21 | 22 | 23 | 1 24 | TcRtsObjects 25 | 26 | 27 | 1 28 | TcRTime 29 | 30 | 31 | 32 | 33 | Init1\IO: Download Config Id 34 | 300 35 | 61696 36 | 4 37 | 00000000 38 | 39 | 40 | Init1\IO: Create TComObj PREOP 41 | 10 42 | 3 43 | 0 44 | 0200000200000000f0000000000000641000500800005008020000000000000000000000000000000000000000000000506c634175785461736b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005400000048000000030000000000000000000000010000011b00000000000000000000000e010b0000000000506c634175785461736b00000000000002100002040000003200000000000000071000020400000001000000 45 | 46 | 47 | Init1\IO: Download Config Id 48 | 12 49 | 96 50 | 0 51 | 1600000000000000e000000000000064060000001400000000000000e000000000000064070000001300000000000000e000000000000064080000001800000000000000e000000000000064060000003000000000000000e0000000000000640f0000000200000200000000e000000000000064080000001000000300000000e000000000000064040000002500000300000000e000000000000064040000002900000300000000e000000000000064040000001100000300000000e000000000000064050000000200000000000000e000000000000064040000003100000000000000e000000000000064040000003800000000000000e000000000000064040000001200000000000000e0000000000000640e0000001500000000000000e000000000000064060000000300000200000000e000000000000064100000001000000200000000e000000000000064220000001700000300000000e000000000000064040000001800000300000000e000000000000064070000001e00000300000000e000000000000064050000002600000300000000e000000000000064050000002a00000300000000e000000000000064050000001f00000300000000e000000000000064050000001200000300000000e000000000000064060000000100010100000000e000000000000064080000000201500800000000e000000000000064070000000401500800000000e000000000000064080000000500000500000000e000000000000064050000000600000500000000e000000000000064070000003500010300000000e000000000000064050000006000010300000000e0000000000000640c00000029742a746dda1d4c80d8398d8c1f1747110000001810020300000000e00000000000006406000000787cde9ca0327543827e924b31021fcd040000005a00000000000000e000000000000064050000005900000000000000e000000000000064060000002dc33b49338f3643b722bcbca961872308000000b124e3d3201b3944b9fddeefd5f940f1040000005e36edb646919a4394a0e5d91df0046904000000bb79e79054578041baff14c8892e5dde0e0000000a01500800000000e000000000000064050000006600000000000000e000000000000064070000006700000000000000e0000000000000640a000000d28c8ad27754754baf0f998841af9e44050000006767bff78b543c49899b06a477976f11070000007aa8c9bfdef69a49ac45f3b1a59315f90a000000a57abfc3830afa4c9a7a04c1dfd0e5dd060000004662370c73d591498a8849fc3ad141e20700000050342923c5144c48b74f4e0a8dfd115d07000000e9b09c4a6989854bb5676051105112000a0000002ced746483e44e45a67d233e6d337c080d00000039d6d577dd16f7488490f632aa0959170e000000f74f6dec0558db4da31627894e77d644110000008df73f9ce897854f8187adb3bcb8738714000000e8beb647cb0e924c9d93fb11d3ba0336040000001b4b90700ef0cb4fbe59151086e9b8f607000000d7d9ccc0cddd2d4ca24cb1f3257c9a6407000000e2d4d5b2f607f444a29292ca8035aa861300000052cd047476371a4b9525b7c1d691dfc411000000fe8773c4193c4845aca8c346c352e370070000006e0aa260bbcef949ac908e4ab112e9c00b0000002ca48f4245a4654a8b1ce156f288bf2b1d0000008125f468b109d143a4eaec93b57aeb57070000005bccde7de8080c49aa9c5f20e78347310700000032887798131971419e9d5b0d53c5ea9e110000000100010500000000e000000000000064070000000d000a0300000000e0000000000000640d0000000e000a0300000000e0000000000000640c00000009000a0300000000e0000000000000640400000010000a0300000000e0000000000000640600000023a7719a2839024cac02efd30999a041040000001fd8c4d7abcf0341b89e6f6731dbfc1c0a0000004866f3081a87a8439d474e77905a60630e000000b8408b015d250d45aa48409f5f874d1c050000008eb7513b5d2802448b9a18b75448481014000000307ddc2c225f9f429065d912d842114811000000d905e481af9f284c9985185ac023a4c20c000000a8aafc9e6f55694bab9f2967b7f9dfc60e0000002ac195e69a2d8e40b9b2508d7ce3af9a23000000f9832147095d8c4d92fde0524ef658bf260000008eb16b19999dce40b81e48992ce432170500000010abb7a499e523429e9fd8e321942f9c05000000c0d193f82dc82e4aa86f93f7442998b10a0000000bcb597a03d3d64a848c7a7efc5ab73c090000001220d185c07a7f48a49d154db46e728c060000007898edd85ef26147b6671dc5b051e07b05000000ae31567fc4f8d54b8a624c0bafacbe680d000000694987a47e8e9a4c98e0bf4657bed567090000004a23c0431a3f7542adbba0a312ed69e0090000006cae48bb15c4c544a13f9b5ec51d997504000000cdd70eb87c38764092f9c85ad8604de805000000d8dc2bf5f1fa8d46a92d3b13096aab03080000009600010300000000e000000000000064050000009e00010300000000e000000000000064080000009500010300000000e000000000000064040000009700010300000000e000000000000064070000009900010300000000e000000000000064050000009800010300000000e0000000000000640e0000009d00010300000000e00000000000006405000000 52 | Download TCom interface method counts 53 | -2147473648 54 | 55 | 56 | Init3\IO: Set State TComObj SAFEOP 57 | 10 58 | 256 59 | 0 60 | 100050080400000000000000 61 | 62 | 63 | Init4\RTime: Start Interrupt 64 | 200 65 | 1 66 | 37 67 | 0000000050000000102700000000000000000000010000000000000000000000 68 | Ticker started 69 | 70 | 71 | Init10\IO: Create TComObj PREOP 72 | 10 73 | 3 74 | 0 75 | 0100500800000000f0000000000000640020500800005008020000000000000000000000000000000000000000000000504c433120496e7374616e636500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d0000000c40000000b00000000000000000000000300500809000000506f72745f38353100000000000000000c00500805000000504c43310000000000000000040050080200000053030000000000000b0050080400000010005008000000000d005008040000000b8e3360000000001b805008010000000100000000000000050050080400000001205008000000000f805008040000000000000000000000198050080a000000506c635461736b0000ef0000000000001a8050080400000030000102000000001c80500804000000ffffffff 76 | Create Object PLC1 Instance 77 | 78 | 79 | Init10\IO: Create TComObj PREOP 80 | 10 81 | 3 82 | 0 83 | 0100020100000000f0000000000000641100000300000002020000000000000000000000000000000000000000000000492f4f2049646c65205461736b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000680000005c000000040000000000000000000000010000011d000000000000000000000054010d0000000000492f4f2049646c65205461736b00000000000000011000020400000040420f000000000002100002040000000b00000000000000071000020400000001000000 84 | Task 'I/O Idle Task' created 85 | 86 | 87 | Init10\IO: Create TComObj PREOP 88 | 10 89 | 3 90 | 0 91 | 0100020100000000f0000000000000643000010200000002020000000000000000000000000000000000000000000000506c635461736b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000054000000040000000000000000000000010000011700000000000000000000005e01070000000000506c635461736b00000000000110000204000000809698000000000002100002040000001400000000000000071000020400000001000000 92 | Task 'PlcTask' created 93 | 94 | 95 | Init12\IO: Set State TComObj SAFEOP 96 | 10 97 | 260 98 | 1 99 | 1100000330000102 100 | Set Objects (2) to SAFEOP 101 | 102 | 103 | Init28\IO: Download Symbols 104 | 851 105 | 61468 106 | 0 107 | 0400400017000000800300003f000000e50b0000d0070000e40400001600000090090000f03000000000000000000000081c9a0c1a66bb938e7bd1f18ce217dd78daad955f6814471cc77f46cfd884f82f4ab47970eb251a2b1ef9532a2d0573b94bccca65ef7abb46a396eddede2499666f77dd9d336720b6f8a0566841b02f7d532c15417c08fa60154150f44550df82588dfa2214ec43a9ed93b37bb3b9cba48d479285999b6176bf9fdfbff95d01003a3b01d0f3102ca1eb8fe85841c77a58062d10b34c9768267123999ed45e396fdb9643a02b994c8010b7902b90612410cd194244708ba7422e6f106c1b48d02d07b9bbe0a78dd51ba0f4b4167f0a8c2b73dc069e9bc08418a8dbcc62cd5c04728a71bfe1b88d940be5dc3e4fcc139ae1f52ccdc08f2ca7b791f743c6d43c8d60cbecb3b268c19e7cc7b88728d7e345a7b9d533b8312b67630339fdc871291bfabbd3b298942a4757d534f41c3bb1d3189bfc7ef9d5d34f1b990901dfa67c2f72f58c2f40682ebe94cf2107eb10df974cc7e7ed7f35e532fe30e557d1f55ac6afe7e26ea6347dc48ff85e5152e64d0c05791ee4787cbd9a6934845d821c198f21589097cbcaef89c2e5790397e774de243887162dcd417e0d2ebf9bb8fccee42e5a7a6198f1e149089acafc6e813a3aef36ac8c66a88c1a71490267d84655f47655a6c66535270bb2a2968e00fee81ab0cedd1a178f3787ef4e5eaef9a0c469e2385b2ae31ca5a9cebd9f52e2f4ce83d3a1d202ce1ba8124e2fe37cc9f5a3957e16fba2a214c9c4a252dcc147d0ffb4347fdecf74529c4e1dd5a9673a925e2623f86b411ed56c819607712ce3bf9483fedb427585b238ac82dac0bec18c2f15a3fdbea74b2daea312c0cd9713dfb6375eecf8f0f0c4e1f1875f0c42793f5fc1e9ad841a4e4fd2a7e5e8123e3b105ff3495defaf3f8bb79e5f1b582e331b83f8f596ddb75374d496ecc345afc5a25697e62280fba11f3a5e5f7f7568fb9f3fae6d3d39b6d4ffc6afdf1721bf57f976ad0608fb374919c5662caab0fa11cd41ab5f7312b46f44543565e88ae68e802ae66c03eb98a8de56f55e02983c7f2ffb287cbb6a5bc7dfbf3d3bf3cfbf4ba0ae5ad1bd78a30291b41c82e073f6047557a0fe78890ce2b319d6cd6d47d4b67d642a118b504dba2dbd0460febee9ec839dad894be1f64faf5cd0a6a6ff0f0a53217f1d70c2d03c37c733d6d78ca6d3d101e1605b24d2f69590ec1118d83b2f27fff5f84ef79e5fee6d3dfde6f31b2fcf418ef9f935e3bf9d9ad9af3ea6fdeabdfc24ce4e873da9c4c4f8ac4bb12a8823e1fae18e4af45356be02843fbf038165680a78dacd9a7f6c5b5715c75f12c77193b4759c344d9b6d4d55dab5fc8892a6b4dda8b438fe91b871ed37ff4893b22d7db19f93d73acf8efd9c3aad56da0aed47b7551b3081069a34a0c08ab6228da16a940d9040ad40a303fe401db0156d4880a045fc188c3fe0def7f3bef7cef58b5bfe9815c7c9b3fdb9e7de7beef79c7bee631b1806fde80fb7faea47cf935e86b95dfdbf89998ecc17f3424690a6f70a92c497a68342592a093315492888e8137b1933a9517df5a1e729f45cc1b8d42b47129c38cbefe3aaccfe7822c8304faf6be921bee862015223415a6d9002858a2829f6c4f8d93a782e471e5b2853787ff08a4b4bd737fee78d9f757be66e7423b68b9913b23c7ef36dca28e0d793030cd38546527918e3392e88d9782ec5950f3391588a61fe39b6e74bd2ab9f7938fdd8ccf4a5bef2c1469dbf8199e545bec449fcb4a07d5b10d1af5c45cc28f3e062bcc67b99a50cfa0377d1b8c62ff2a2846cf41197aaa8bf22974756761b5773259e3f32c7f379419cd5ad2eae30f7af68f1974ef5ffdb88fee19e4d47c45c015d1fb78c8f36f29dba9734ab57b24726f85219f729084e43cb9405e5519f77c8280fd3c2acd18c2c1f8d71f33cc3c6d1f886127da9785f329588c446b7ee1ed8c630dfbf38ea7da1f7eca3e736aebc73db0fdeea880073e8555f151bb5d110d992502809d2923271160bddfb01908f00b9913b280fc505609fb0f98375a5e1bf3168a36da5cdece7a4cc5cb630cb8cc4e3519b81037180b48620ad32486ca99013b02bc836c1b8196046f0073ad419e9464b4d9bdc1076c3b0eab66c4110910b92133432950a99a6660b9a9a61a8853e62cebde49c8754b7969b5aeee4e78016b6127d584ff4010f4548944a4b75f7633fb00c068865b0865806da1c2679b12c48c2227637ca928802d81d04b695c046b0a58b68d153582cc0da4db0560126a604b4ca28bc7b01de1e82b79ae045b9b21440dac5d702a600e03001f41140ff2252cd59de9109753a48e9340a6037c51ba3f104d19117017851393c2b3c8fbe60b38212c69820244d2b204f6109509b0d84ccab8395aacd42b11f66c500d6243160edc480c9a32547ece5ae072cbcf71191dfb04c5ecb4989932ab4a87f00603d40b0d619ac58653e9e537a4a2649347215909c836a4cc592d3290b902c6a7628a9350e29dac597fb177ef9f74f978efda5b7df3f78d93f01a8ff1ca1fe6b883822487382986493d83993b80d911653c600aaa00b289a1483ba14accccf2f318a445a380dfb00ce21c2ba7683939c2b54f2d9917c2173b80ea30e1330c2283f52f2459ec281442c4f11b14828e0eca157bf7c29fbf34d3f6cdc36f4de77df7eeadfef93b9247efc0af00d3ddf920dd7bcd1bf2fe90f06134026aee5f4da0c34eb1491972259fccd582815b15be70f013eef267cdea50f5bb1509228ee6df97f44fe3d59c3c693ba90e14fe8d6296ea27dd86aaafa7ad081db65701309ff54df2707fafb3f7e7f5f3cac046a731bfcd19f4c7df3c547defdd387cf5ff35d78fea700dfb30cfe2e888fbf7869cbfcb77ebd7065e699cf3efbf8d137bf809df184857fc232df9be50487e00ff6f70fca7c361ae867f31959c796ca123f2f67dcf05519809ffff8c58f427bcf5ebaf3f48dbb2fbef31c332fe7f3d685c2a80b05e7f7c68ccb0b045cba038dccea06243dc53cb784a2c60497aff028bb31ae7155e5da20436daf436f4ff71b65e8ac324169cb656d6b53359753832fd99ed732becd7a8b81681239dd681a58171fb2cf934bdf275bed56e29c2dd021bb5bad766faaee1e501ec49b460776e59407a3263ab47dd44962df89da075a8f32d55adff732ba8c319a70d9948b32f0add0c01b76ffcbd26e9f65ffd8ae2b4d78643a58424a3cc295b11a8e020bcfcb28862aa2a6999c97d38b6822e4b70bf8aa51ca1605c4a08c878239c76dfef647cf5cee7bc8bb7ad5ab571e7fbe81696f4b6570f8e5e7d166a3cc444cc63bf7bbcdd6ef803ff681ebf6f7de79e953db7bbf31b47ee1a58507dfd89373ecb663bf5b6dfd8e653e70ddbeeb40b063c7cab1af3f1379edda77a6dc49e76e33c586da3ae3d2d79da230b61e5b0b2386a9414ee20669f944d8a1d665e81bc66ca784ecb043dc3753862894094a81c6c843ba08ca0e3862da82a4a5958dcacb1865f88c3c49bb32960825d3d114bcff5837e6906fb5e9ef98e7fc72f313437f7ce5ddfb3ef2d733be81878f3639c59926dd9e082dca6cc6bfaab5ea895e46af44310c1866dc48a5dd709821de308718f98bacc338741aeda632780c0279ae5c0e7319a9505a525799560fc5d9701de39a0a14e6e33387027255b9dbc271b2abc3c6e13352922fa1fdbf5a62216976bf71b62b226689fedf7cff127c59addbd5c36925c73d2d1e160b4744e22b7ac79ea470ba6cf94914749c76e4383e7a7e32a0e7293e7a9e42c6fd2ac59e665bbea16ab04d84214ffed8a06244b32db394af03fb0c7b9ea3b51c4f05d0224c83b2b0ba017d4cf900919753f3d63eecff1a1767e0219482b3b89a8d32705152cb0ce9a4dcd4d6df3f157afdcda1d88b6dc72f24cf6d169b981636391d2b884856dce82f7f3ecf34b4a23f58ae240972911e3d9e6c36b7affd23fb89cbf0ab0e6d07e02f16c90d401df106fb7c56ebbd7560a082948bc0b4e818bc0509a08d303cc21e6867ed0177d671312f887c600e1f22d500421d6c073b18ce73b3655a401da31c06f86c95037fb6cce25d701a32a7192ab5fbc052fb48a120e180182d70593e4b294444015c2781332a5bf17c56235258d0994c97a9e6a6451de444b8005496b8f9a2bcb1b0ee2b58c0ac1ec22ce3a86d9ce78bf18a54ac48e5b838c2524c4b02bc7504cfa7f3927315298bc43022b2a5c26c892f972948c8c4f5a0895121c38b65beccf262965eef8266a2179c8991643c18cf642a25eaac4600d66d04cb28ef460bb3b37c362252403c00ba9d48bdbc7a80b6c91255af6c4a3549398cc11a74dae541b14a8bc638e4254b8bac5482c2b2352a5b6bc0c3eaf30e7dc9b51afe281feca9073a3b87b699860243ee4900b41304ad4da721c7c1663912c5b7367ceef55d03d1739bb6ef3cff55ee77f88d1b4db5eb36dab1543bad22f3ff12e4710741360e588dc3068a8242e7a01e42fa0c6fd48f4161ed8334b4f5263434ea20e9ade6be2985574ae7c6293bcc2e9da56f71e4b992072a0aa1daa1338b1ef0cc029f6b85aa7ca6d6a88f3b688061585828a9c764141548505440437518c52ecd1742d50ccfd3c3ce2440bc8320ae35b6356280cbe7fd39892f29329f2e663989af43443780229a484d08853c279f682cef50db2a1f1e7dc1e379755cedb9e16d13effdf76fe153eef7dd5f69eb7c4579eb11873c7dab7ee7ccb2cf67ea3cbd6196b54f33a299f54c1a3e989e74e0798dbcd6e029a9939a40598861b82e6fe67a50c404b8b426da161e1b3e3b76eccc79e1f235e6c0950b35f6179add5bf41d38ccb73565bb00b56adf5f2c6bbcd88938926ee5b775bca66e615ee50d85b2abb050470e3af0d6185110bc4fa2d62d1350fdc563ababebe320773b3d09895f8fe37876e9275e8950389408c502216ca976f8a51f82f5f45dcd5def78e06b9f4f85af0f9f7afa7e27ae71b38089ab1c0228bfadcc4f2c67fe0d89357165e957f4df42ed5edefc7bf5ca8f898b8b4911c0d6bb9de6bf47af5098794431c65498f9e25dbf398ef94714feb15be4e3a28aa9c0f2ac857f93f3675a6996316959cefc51b84aec4e8333b8f616fc42561a456e2cd45ee5d3554addc16babeb24c1ba4e5323713646d675c023b35d3932676b301f8199fab3523f6f4da6a6a3c28c76ef9e3dafb5de17ead66d16f671870a254aee37ea7053288911c4ba302e18335211f2590a66af4381dcb8054f48f08b823c14cbcb8dad750fb7ee8062cd3a8535ebe95173637bd653d6e646d5f4ed40d6b3f6cf235385e75e7b30726af3a61f5f7da175c518806754bcb92e49526d585b9c1876e2ec8438f7d838f73a71e4c865e5b0759c83a6e1835ccfcd9d83166bac0af33a4e83cd36539a75c3cd3a9eb313fd8485a3b1be83f60bb5f4cfdcde24d8de82abfe71f559bf30b97307fa8ecf5aa3c6978daf91d3623bb7a3dd6fe36226428964241e03721fabc219dbdb4a4d891b73903813a786c6c51c346e25c1c1351821c3b35ce6701d56b92956b1f83e500aa7b1756df8f843bbf247af3eea7ef9f46f7b8dfbc797b70ee0db105c75ae83ff01feccb908 108 | Symbols downloaded 109 | 110 | 111 | Init44\IO: Set State TComObj PREOP OP 112 | 10 113 | 139468800 114 | 139460617 115 | Check for autostart 116 | 50000 117 | 118 | 119 | 120 | 121 | Init16\IO: Set State TComObj SAFEOP OP 122 | 10 123 | 512 124 | 0 125 | 126 | 127 | 128 | AbstractDrive 129 | {7FA5E685-0FA3-47BD-864D-B43BF4A8B184} 130 | C:\Users\John\Desktop\Basic Samples IEC OOP\AbstractDrive\AbstractDrive\AbstractDrive.tsproj 131 | 132 | 133 | 134 | 135 | 136 | 137 | -------------------------------------------------------------------------------- /Tutorials/AbstractDrive/AbstractDrive/_Boot/TwinCAT RT (x64)/CurrentConfig/PLC1.tpzip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/AbstractDrive/AbstractDrive/_Boot/TwinCAT RT (x64)/CurrentConfig/PLC1.tpzip -------------------------------------------------------------------------------- /Tutorials/AbstractDrive/AbstractDrive/_Boot/TwinCAT RT (x64)/Plc/Port_851.app: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/AbstractDrive/AbstractDrive/_Boot/TwinCAT RT (x64)/Plc/Port_851.app -------------------------------------------------------------------------------- /Tutorials/AbstractDrive/AbstractDrive/_Boot/TwinCAT RT (x64)/Plc/Port_851.autostart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/AbstractDrive/AbstractDrive/_Boot/TwinCAT RT (x64)/Plc/Port_851.autostart -------------------------------------------------------------------------------- /Tutorials/AbstractDrive/AbstractDrive/_Boot/TwinCAT RT (x64)/Plc/Port_851.cid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/AbstractDrive/AbstractDrive/_Boot/TwinCAT RT (x64)/Plc/Port_851.cid -------------------------------------------------------------------------------- /Tutorials/AbstractDrive/AbstractDrive/_Boot/TwinCAT RT (x64)/Plc/Port_851.crc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/AbstractDrive/AbstractDrive/_Boot/TwinCAT RT (x64)/Plc/Port_851.crc -------------------------------------------------------------------------------- /Tutorials/AbstractDrive/AbstractDrive/_Boot/TwinCAT RT (x64)/Plc/Port_851.occ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/AbstractDrive/AbstractDrive/_Boot/TwinCAT RT (x64)/Plc/Port_851.occ -------------------------------------------------------------------------------- /Tutorials/AbstractDrive/AbstractDrive/_Boot/TwinCAT RT (x64)/Plc/Port_851.oce: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/AbstractDrive/AbstractDrive/_Boot/TwinCAT RT (x64)/Plc/Port_851.oce -------------------------------------------------------------------------------- /Tutorials/AbstractDrive/AbstractDrive/_Boot/TwinCAT RT (x64)/Plc/Port_851.ocm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/AbstractDrive/AbstractDrive/_Boot/TwinCAT RT (x64)/Plc/Port_851.ocm -------------------------------------------------------------------------------- /Tutorials/AbstractDrive/AbstractDrive/_Boot/TwinCAT RT (x64)/Plc/Port_851_boot.tizip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/AbstractDrive/AbstractDrive/_Boot/TwinCAT RT (x64)/Plc/Port_851_boot.tizip -------------------------------------------------------------------------------- /Tutorials/AbstractDrive/AbstractDrive/_Config/PLC/PLC1.xti: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PLC1 Instance 6 | {08500001-0000-0000-F000-000000000064} 7 | 8 | 9 | 0 10 | PlcTask 11 | 12 | #x02010030 13 | 14 | 20 15 | 10000000 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /Tutorials/AbstractDrive/AbstractDrive/_Config/PLC/PLC1.xti.bak: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PLC1 Instance 6 | {08500001-0000-0000-F000-000000000064} 7 | 8 | 9 | 1 10 | Default 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /Tutorials/FlashGen_Overriding/.vs/FlashGen_Overriding/v15/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/FlashGen_Overriding/.vs/FlashGen_Overriding/v15/.suo -------------------------------------------------------------------------------- /Tutorials/FlashGen_Overriding/FlashGen_Overriding.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # TcXaeShell Solution File, Format Version 11.00 4 | VisualStudioVersion = 15.0.28010.2050 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{B1E792BE-AA5F-4E3C-8C82-674BF9C0715B}") = "FlashGen_Overriding", "FlashGen_Overriding\FlashGen_Overriding.tsproj", "{0C0538B5-ABE9-4288-B658-39E22AB5B146}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|TwinCAT CE7 (ARMV7) = Debug|TwinCAT CE7 (ARMV7) 11 | Debug|TwinCAT OS (ARMT2) = Debug|TwinCAT OS (ARMT2) 12 | Debug|TwinCAT RT (x64) = Debug|TwinCAT RT (x64) 13 | Debug|TwinCAT RT (x86) = Debug|TwinCAT RT (x86) 14 | Release|TwinCAT CE7 (ARMV7) = Release|TwinCAT CE7 (ARMV7) 15 | Release|TwinCAT OS (ARMT2) = Release|TwinCAT OS (ARMT2) 16 | Release|TwinCAT RT (x64) = Release|TwinCAT RT (x64) 17 | Release|TwinCAT RT (x86) = Release|TwinCAT RT (x86) 18 | EndGlobalSection 19 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 20 | {0C0538B5-ABE9-4288-B658-39E22AB5B146}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) 21 | {0C0538B5-ABE9-4288-B658-39E22AB5B146}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) 22 | {0C0538B5-ABE9-4288-B658-39E22AB5B146}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) 23 | {0C0538B5-ABE9-4288-B658-39E22AB5B146}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) 24 | {0C0538B5-ABE9-4288-B658-39E22AB5B146}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) 25 | {0C0538B5-ABE9-4288-B658-39E22AB5B146}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) 26 | {0C0538B5-ABE9-4288-B658-39E22AB5B146}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) 27 | {0C0538B5-ABE9-4288-B658-39E22AB5B146}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) 28 | {0C0538B5-ABE9-4288-B658-39E22AB5B146}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) 29 | {0C0538B5-ABE9-4288-B658-39E22AB5B146}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) 30 | {0C0538B5-ABE9-4288-B658-39E22AB5B146}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) 31 | {0C0538B5-ABE9-4288-B658-39E22AB5B146}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) 32 | {0C0538B5-ABE9-4288-B658-39E22AB5B146}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) 33 | {0C0538B5-ABE9-4288-B658-39E22AB5B146}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) 34 | {0C0538B5-ABE9-4288-B658-39E22AB5B146}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) 35 | {0C0538B5-ABE9-4288-B658-39E22AB5B146}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) 36 | {E0870842-D2FB-45C3-9901-D4E2B2A0E4F1}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) 37 | {E0870842-D2FB-45C3-9901-D4E2B2A0E4F1}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) 38 | {E0870842-D2FB-45C3-9901-D4E2B2A0E4F1}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) 39 | {E0870842-D2FB-45C3-9901-D4E2B2A0E4F1}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) 40 | {E0870842-D2FB-45C3-9901-D4E2B2A0E4F1}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) 41 | {E0870842-D2FB-45C3-9901-D4E2B2A0E4F1}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) 42 | {E0870842-D2FB-45C3-9901-D4E2B2A0E4F1}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) 43 | {E0870842-D2FB-45C3-9901-D4E2B2A0E4F1}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) 44 | {E0870842-D2FB-45C3-9901-D4E2B2A0E4F1}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) 45 | {E0870842-D2FB-45C3-9901-D4E2B2A0E4F1}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) 46 | {E0870842-D2FB-45C3-9901-D4E2B2A0E4F1}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) 47 | {E0870842-D2FB-45C3-9901-D4E2B2A0E4F1}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) 48 | {E0870842-D2FB-45C3-9901-D4E2B2A0E4F1}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) 49 | {E0870842-D2FB-45C3-9901-D4E2B2A0E4F1}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) 50 | {E0870842-D2FB-45C3-9901-D4E2B2A0E4F1}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) 51 | {E0870842-D2FB-45C3-9901-D4E2B2A0E4F1}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) 52 | EndGlobalSection 53 | GlobalSection(SolutionProperties) = preSolution 54 | HideSolutionNode = FALSE 55 | EndGlobalSection 56 | GlobalSection(ExtensibilityGlobals) = postSolution 57 | SolutionGuid = {307743DF-80A3-49F9-BFEC-3D851C58C5FE} 58 | EndGlobalSection 59 | EndGlobal 60 | -------------------------------------------------------------------------------- /Tutorials/FlashGen_Overriding/FlashGen_Overriding/FlashGen_Overriding.tsproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | PlcTask 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /Tutorials/FlashGen_Overriding/FlashGen_Overriding/FlashGen_Overriding.tsproj.bak: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | PlcTask 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /Tutorials/FlashGen_Overriding/FlashGen_Overriding/PLC1/FBs/FB_Generator.TcPOU: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 30 | 31 | 32 | 33 | 34 | 35 | 38 | 39 | T#5S THEN 43 | tCycletime := T#5S; 44 | ELSE 45 | tCycletime := Cycletime; 46 | END_IF 47 | ]]> 48 | 49 | 50 | 51 | 52 | 56 | 57 | , ET=> ); 58 | IF fbTon1.Q THEN 59 | bToggle:= NOT bToggle; 60 | END_IF 61 | Flash:= bToggle;]]> 62 | 63 | 64 | 65 | 70 | 71 | Pulse , ET=> );]]> 72 | 73 | 74 | 75 | 76 | 77 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | BaseArea 90 | "" 91 | 92 | 93 | 94 | 95 | System.Collections.Hashtable 96 | System.String 97 | {30250973-b110-4e31-b562-c102e042dca4} 98 | {0197b136-405a-42ee-bb27-fd08b621d0cf} 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | -------------------------------------------------------------------------------- /Tutorials/FlashGen_Overriding/FlashGen_Overriding/PLC1/FBs/FB_GeneratorEX.TcPOU: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 12 | 13 | 14 | 15 | 16 | 20 | 21 | , ET=> ); 22 | Flash := fbTon1.ET < fbTon1.PT / 3; 23 | ]]> 24 | 25 | 26 | 27 | 28 | 29 | 32 | 33 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | BaseArea 46 | "" 47 | 48 | 49 | 50 | 51 | System.Collections.Hashtable 52 | System.String 53 | {30250973-b110-4e31-b562-c102e042dca4} 54 | {0197b136-405a-42ee-bb27-fd08b621d0cf} 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | -------------------------------------------------------------------------------- /Tutorials/FlashGen_Overriding/FlashGen_Overriding/PLC1/PLC1.plcproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1.0.0.0 4 | 2.0 5 | {e0870842-d2fb-45c3-9901-d4e2b2a0e4f1} 6 | True 7 | true 8 | true 9 | false 10 | PLC1 11 | 3.1.4024.12 12 | {8c07dcf0-298b-4cf0-b680-898113e9e636} 13 | {04120f05-2fbb-4b53-b010-e5b307fbbbd5} 14 | {5f3a03d6-cc3a-47cc-9bb7-154105ea0185} 15 | {5ac733fd-557b-473a-8b6d-741b5f63bde8} 16 | {2c487d58-be1e-4d1a-92ba-d735ac52521d} 17 | {6a0e27d4-8ea3-416e-a4e4-7438fea46923} 18 | 19 | 20 | 21 | Code 22 | 23 | 24 | Code 25 | 26 | 27 | Code 28 | 29 | 30 | Code 31 | 32 | 33 | Code 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | Tc2_Standard, * (Beckhoff Automation GmbH) 44 | Tc2_Standard 45 | 46 | 47 | Tc2_System, * (Beckhoff Automation GmbH) 48 | Tc2_System 49 | 50 | 51 | Tc3_Module, * (Beckhoff Automation GmbH) 52 | Tc3_Module 53 | 54 | 55 | 56 | 57 | Content 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | "<ProjectRoot>" 66 | 67 | {40450F57-0AA3-4216-96F3-5444ECB29763} 68 | 69 | "{40450F57-0AA3-4216-96F3-5444ECB29763}" 70 | 71 | 72 | ActiveVisuProfile 73 | IR0whWr8bwfwBwAAiD2qpQAAAABVAgAA37x72QAAAAABAAAAAAAAAAEaUwB5AHMAdABlAG0ALgBTAHQAcgBpAG4AZwACTHsAZgA5ADUAYgBiADQAMgA2AC0ANQA1ADIANAAtADQAYgA0ADUALQA5ADQAMAAwAC0AZgBiADAAZgAyAGUANwA3AGUANQAxAGIAfQADCE4AYQBtAGUABDBUAHcAaQBuAEMAQQBUACAAMwAuADEAIABCAHUAaQBsAGQAIAA0ADAAMgA0AC4ANwAFFlAAcgBvAGYAaQBsAGUARABhAHQAYQAGTHsAMQA2AGUANQA1AGIANgAwAC0ANwAwADQAMwAtADQAYQA2ADMALQBiADYANQBiAC0ANgAxADQANwAxADMAOAA3ADgAZAA0ADIAfQAHEkwAaQBiAHIAYQByAGkAZQBzAAhMewAzAGIAZgBkADUANAA1ADkALQBiADAANwBmAC0ANABkADYAZQAtAGEAZQAxAGEALQBhADgAMwAzADUANgBhADUANQAxADQAMgB9AAlMewA5AGMAOQA1ADgAOQA2ADgALQAyAGMAOAA1AC0ANAAxAGIAYgAtADgAOAA3ADEALQA4ADkANQBmAGYAMQBmAGUAZABlADEAYQB9AAoOVgBlAHIAcwBpAG8AbgALBmkAbgB0AAwKVQBzAGEAZwBlAA0KVABpAHQAbABlAA4aVgBpAHMAdQBFAGwAZQBtAE0AZQB0AGUAcgAPDkMAbwBtAHAAYQBuAHkAEAxTAHkAcwB0AGUAbQARElYAaQBzAHUARQBsAGUAbQBzABIwVgBpAHMAdQBFAGwAZQBtAHMAUwBwAGUAYwBpAGEAbABDAG8AbgB0AHIAbwBsAHMAEyhWAGkAcwB1AEUAbABlAG0AcwBXAGkAbgBDAG8AbgB0AHIAbwBsAHMAFCRWAGkAcwB1AEUAbABlAG0AVABlAHgAdABFAGQAaQB0AG8AcgAVIlYAaQBzAHUATgBhAHQAaQB2AGUAQwBvAG4AdAByAG8AbAAWFHYAaQBzAHUAaQBuAHAAdQB0AHMAFwxzAHkAcwB0AGUAbQAYGFYAaQBzAHUARQBsAGUAbQBCAGEAcwBlABkmRABlAHYAUABsAGEAYwBlAGgAbwBsAGQAZQByAHMAVQBzAGUAZAAaCGIAbwBvAGwAGyJQAGwAdQBnAGkAbgBDAG8AbgBzAHQAcgBhAGkAbgB0AHMAHEx7ADQAMwBkADUAMgBiAGMAZQAtADkANAAyAGMALQA0ADQAZAA3AC0AOQBlADkANAAtADEAYgBmAGQAZgAzADEAMABlADYAMwBjAH0AHRxBAHQATABlAGEAcwB0AFYAZQByAHMAaQBvAG4AHhRQAGwAdQBnAGkAbgBHAHUAaQBkAB8WUwB5AHMAdABlAG0ALgBHAHUAaQBkACBIYQBmAGMAZAA1ADQANAA2AC0ANAA5ADEANAAtADQAZgBlADcALQBiAGIANwA4AC0AOQBiAGYAZgBlAGIANwAwAGYAZAAxADcAIRRVAHAAZABhAHQAZQBJAG4AZgBvACJMewBiADAAMwAzADYANgBhADgALQBiADUAYwAwAC0ANABiADkAYQAtAGEAMAAwAGUALQBlAGIAOAA2ADAAMQAxADEAMAA0AGMAMwB9ACMOVQBwAGQAYQB0AGUAcwAkTHsAMQA4ADYAOABmAGYAYwA5AC0AZQA0AGYAYwAtADQANQAzADIALQBhAGMAMAA2AC0AMQBlADMAOQBiAGIANQA1ADcAYgA2ADkAfQAlTHsAYQA1AGIAZAA0ADgAYwAzAC0AMABkADEANwAtADQAMQBiADUALQBiADEANgA0AC0ANQBmAGMANgBhAGQAMgBiADkANgBiADcAfQAmFk8AYgBqAGUAYwB0AHMAVAB5AHAAZQAnVFUAcABkAGEAdABlAEwAYQBuAGcAdQBhAGcAZQBNAG8AZABlAGwARgBvAHIAQwBvAG4AdgBlAHIAdABpAGIAbABlAEwAaQBiAHIAYQByAGkAZQBzACgQTABpAGIAVABpAHQAbABlACkUTABpAGIAQwBvAG0AcABhAG4AeQAqHlUAcABkAGEAdABlAFAAcgBvAHYAaQBkAGUAcgBzACs4UwB5AHMAdABlAG0ALgBDAG8AbABsAGUAYwB0AGkAbwBuAHMALgBIAGEAcwBoAHQAYQBiAGwAZQAsEnYAaQBzAHUAZQBsAGUAbQBzAC1INgBjAGIAMQBjAGQAZQAxAC0AZAA1AGQAYwAtADQAYQAzAGIALQA5ADAANQA0AC0AMgAxAGYAYQA3ADUANgBhADMAZgBhADQALihJAG4AdABlAHIAZgBhAGMAZQBWAGUAcgBzAGkAbwBuAEkAbgBmAG8AL0x7AGMANgAxADEAZQA0ADAAMAAtADcAZgBiADkALQA0AGMAMwA1AC0AYgA5AGEAYwAtADQAZQAzADEANABiADUAOQA5ADYANAAzAH0AMBhNAGEAagBvAHIAVgBlAHIAcwBpAG8AbgAxGE0AaQBuAG8AcgBWAGUAcgBzAGkAbwBuADIMTABlAGcAYQBjAHkAMzBMAGEAbgBnAHUAYQBnAGUATQBvAGQAZQBsAFYAZQByAHMAaQBvAG4ASQBuAGYAbwA0MEwAbwBhAGQATABpAGIAcgBhAHIAaQBlAHMASQBuAHQAbwBQAHIAbwBqAGUAYwB0ADUaQwBvAG0AcABhAHQAaQBiAGkAbABpAHQAeQDQAAIaA9ADAS0E0AUGGgfQBwgaAUUHCQjQAAkaBEUKCwQDAAAABQAAAA0AAAAAAAAA0AwLrQIAAADQDQEtDtAPAS0Q0AAJGgRFCgsEAwAAAAUAAAANAAAAKAAAANAMC60BAAAA0A0BLRHQDwEtENAACRoERQoLBAMAAAAFAAAADQAAAAAAAADQDAutAgAAANANAS0S0A8BLRDQAAkaBEUKCwQDAAAABQAAAA0AAAAUAAAA0AwLrQIAAADQDQEtE9APAS0Q0AAJGgRFCgsEAwAAAAUAAAANAAAAAAAAANAMC60CAAAA0A0BLRTQDwEtENAACRoERQoLBAMAAAAFAAAADQAAAAAAAADQDAutAgAAANANAS0V0A8BLRDQAAkaBEUKCwQDAAAABQAAAA0AAAAAAAAA0AwLrQIAAADQDQEtFtAPAS0X0AAJGgRFCgsEAwAAAAUAAAANAAAAKAAAANAMC60EAAAA0A0BLRjQDwEtENAZGq0BRRscAdAAHBoCRR0LBAMAAAAFAAAADQAAAAAAAADQHh8tINAhIhoCRSMkAtAAJRoFRQoLBAMAAAADAAAAAAAAAAoAAADQJgutAAAAANADAS0n0CgBLRHQKQEtENAAJRoFRQoLBAMAAAADAAAAAAAAAAoAAADQJgutAQAAANADAS0n0CgBLRHQKQEtEJoqKwFFAAEC0AABLSzQAAEtF9AAHy0t0C4vGgPQMAutAQAAANAxC60XAAAA0DIarQDQMy8aA9AwC60CAAAA0DELrQMAAADQMhqtANA0Gq0A0DUarQA= 74 | 75 | 76 | {192FAD59-8248-4824-A8DE-9177C94C195A} 77 | 78 | "{192FAD59-8248-4824-A8DE-9177C94C195A}" 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | System.Collections.Hashtable 88 | {54dd0eac-a6d8-46f2-8c27-2f43c7e49861} 89 | System.String 90 | 91 | 92 | 93 | 94 | -------------------------------------------------------------------------------- /Tutorials/FlashGen_Overriding/FlashGen_Overriding/PLC1/POUs/MAIN.TcPOU: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 17 | 18 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /Tutorials/FlashGen_Overriding/FlashGen_Overriding/PLC1/PlcTask.TcTTO: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 10000 6 | 20 7 | 8 | MAIN 9 | 10 | {a40e3e28-567e-4a4e-9b9f-b36cd168b527} 11 | {d371c3ef-0ff9-40ac-a625-20e2a6830249} 12 | {b71ebcfb-a8bd-4d90-8dfc-8bfe961532f2} 13 | {1c8a2813-6184-45d5-8f15-1f950c927f1e} 14 | {c292b2e1-38e0-4a33-a3b8-e1626baec38f} 15 | 16 | 17 | -------------------------------------------------------------------------------- /Tutorials/FlashGen_Overriding/FlashGen_Overriding/PLC1/_CompileInfo/3584A4CC-167A-B537-E80A-15CC51A06567.compileinfo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/FlashGen_Overriding/FlashGen_Overriding/PLC1/_CompileInfo/3584A4CC-167A-B537-E80A-15CC51A06567.compileinfo -------------------------------------------------------------------------------- /Tutorials/FlashGen_Overriding/FlashGen_Overriding/PLC1/_CompileInfo/7841750B-D9BB-F1F2-FE8E-792EC6899082.compileinfo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/FlashGen_Overriding/FlashGen_Overriding/PLC1/_CompileInfo/7841750B-D9BB-F1F2-FE8E-792EC6899082.compileinfo -------------------------------------------------------------------------------- /Tutorials/FlashGen_Overriding/FlashGen_Overriding/PLC1/_Libraries/beckhoff automation gmbh/tc2_standard/3.3.3.0/tc2_standard.compiled-library: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/FlashGen_Overriding/FlashGen_Overriding/PLC1/_Libraries/beckhoff automation gmbh/tc2_standard/3.3.3.0/tc2_standard.compiled-library -------------------------------------------------------------------------------- /Tutorials/FlashGen_Overriding/FlashGen_Overriding/PLC1/_Libraries/beckhoff automation gmbh/tc2_system/3.4.24.0/tc2_system.compiled-library: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/FlashGen_Overriding/FlashGen_Overriding/PLC1/_Libraries/beckhoff automation gmbh/tc2_system/3.4.24.0/tc2_system.compiled-library -------------------------------------------------------------------------------- /Tutorials/FlashGen_Overriding/FlashGen_Overriding/PLC1/_Libraries/beckhoff automation gmbh/tc3_module/3.3.21.0/tc3_module.compiled-library: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/FlashGen_Overriding/FlashGen_Overriding/PLC1/_Libraries/beckhoff automation gmbh/tc3_module/3.3.21.0/tc3_module.compiled-library -------------------------------------------------------------------------------- /Tutorials/FlashGen_Overriding/FlashGen_Overriding/_Boot/TargetDescription.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 3 5 | 1 6 | 4024 7 | 10 8 | 9 | 10 | -------------------------------------------------------------------------------- /Tutorials/FlashGen_Overriding/FlashGen_Overriding/_Boot/TwinCAT RT (x64)/CurrentConfig.tszip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/FlashGen_Overriding/FlashGen_Overriding/_Boot/TwinCAT RT (x64)/CurrentConfig.tszip -------------------------------------------------------------------------------- /Tutorials/FlashGen_Overriding/FlashGen_Overriding/_Boot/TwinCAT RT (x64)/CurrentConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 33554432 5 | #x1 6 | #x1 7 | 8 | 64 9 | 5 10 | 11 | 3.1.4021 12 | 13 | 14 | 15 | 1 16 | TcIo 17 | 18 | 19 | 1 20 | TcPlc30 21 | 22 | 23 | 1 24 | TcRtsObjects 25 | 26 | 27 | 1 28 | TcRTime 29 | 30 | 31 | 32 | 33 | Init1\IO: Download Config Id 34 | 300 35 | 61696 36 | 4 37 | 00000000 38 | 39 | 40 | Init1\IO: Create TComObj PREOP 41 | 10 42 | 3 43 | 0 44 | 0200000200000000f0000000000000641000500800005008020000000000000000000000000000000000000000000000506c634175785461736b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005400000048000000030000000000000000000000010000011b00000000000000000000000e010b0000000000506c634175785461736b00000000000002100002040000003200000000000000071000020400000001000000 45 | 46 | 47 | Init1\IO: Download Config Id 48 | 12 49 | 96 50 | 0 51 | 1600000000000000e000000000000064060000001400000000000000e000000000000064070000001300000000000000e000000000000064080000001800000000000000e000000000000064060000003000000000000000e0000000000000640f0000000200000200000000e000000000000064080000001000000300000000e000000000000064040000002500000300000000e000000000000064040000002900000300000000e000000000000064040000001100000300000000e000000000000064050000000200000000000000e000000000000064040000003100000000000000e000000000000064040000003800000000000000e000000000000064040000001200000000000000e0000000000000640e0000001500000000000000e000000000000064060000000300000200000000e000000000000064100000001000000200000000e000000000000064220000001700000300000000e000000000000064040000001800000300000000e000000000000064070000001e00000300000000e000000000000064050000002600000300000000e000000000000064050000002a00000300000000e000000000000064050000001f00000300000000e000000000000064050000001200000300000000e000000000000064060000000100010100000000e000000000000064080000000201500800000000e000000000000064070000000401500800000000e000000000000064080000000500000500000000e000000000000064050000000600000500000000e000000000000064070000003500010300000000e000000000000064050000006000010300000000e0000000000000640c00000029742a746dda1d4c80d8398d8c1f1747110000001810020300000000e00000000000006406000000787cde9ca0327543827e924b31021fcd040000005a00000000000000e000000000000064050000005900000000000000e000000000000064060000002dc33b49338f3643b722bcbca961872308000000b124e3d3201b3944b9fddeefd5f940f1040000005e36edb646919a4394a0e5d91df0046904000000bb79e79054578041baff14c8892e5dde0e0000000a01500800000000e000000000000064050000006600000000000000e000000000000064070000006700000000000000e0000000000000640a000000d28c8ad27754754baf0f998841af9e44050000006767bff78b543c49899b06a477976f11070000007aa8c9bfdef69a49ac45f3b1a59315f90a000000a57abfc3830afa4c9a7a04c1dfd0e5dd060000004662370c73d591498a8849fc3ad141e20700000050342923c5144c48b74f4e0a8dfd115d07000000e9b09c4a6989854bb5676051105112000a0000002ced746483e44e45a67d233e6d337c080d00000039d6d577dd16f7488490f632aa0959170e000000f74f6dec0558db4da31627894e77d644110000008df73f9ce897854f8187adb3bcb8738714000000e8beb647cb0e924c9d93fb11d3ba0336040000001b4b90700ef0cb4fbe59151086e9b8f607000000d7d9ccc0cddd2d4ca24cb1f3257c9a6407000000e2d4d5b2f607f444a29292ca8035aa861300000052cd047476371a4b9525b7c1d691dfc411000000fe8773c4193c4845aca8c346c352e370070000006e0aa260bbcef949ac908e4ab112e9c00b0000002ca48f4245a4654a8b1ce156f288bf2b1d0000008125f468b109d143a4eaec93b57aeb57070000005bccde7de8080c49aa9c5f20e78347310700000032887798131971419e9d5b0d53c5ea9e110000000100010500000000e000000000000064070000000d000a0300000000e0000000000000640d0000000e000a0300000000e0000000000000640c00000009000a0300000000e0000000000000640400000010000a0300000000e0000000000000640600000023a7719a2839024cac02efd30999a041040000001fd8c4d7abcf0341b89e6f6731dbfc1c0a0000004866f3081a87a8439d474e77905a60630e000000b8408b015d250d45aa48409f5f874d1c050000008eb7513b5d2802448b9a18b75448481014000000307ddc2c225f9f429065d912d842114811000000d905e481af9f284c9985185ac023a4c20c000000a8aafc9e6f55694bab9f2967b7f9dfc60e0000002ac195e69a2d8e40b9b2508d7ce3af9a23000000f9832147095d8c4d92fde0524ef658bf260000008eb16b19999dce40b81e48992ce432170500000010abb7a499e523429e9fd8e321942f9c05000000c0d193f82dc82e4aa86f93f7442998b10a0000000bcb597a03d3d64a848c7a7efc5ab73c090000001220d185c07a7f48a49d154db46e728c060000007898edd85ef26147b6671dc5b051e07b05000000ae31567fc4f8d54b8a624c0bafacbe680d000000694987a47e8e9a4c98e0bf4657bed567090000004a23c0431a3f7542adbba0a312ed69e0090000006cae48bb15c4c544a13f9b5ec51d997504000000cdd70eb87c38764092f9c85ad8604de805000000d8dc2bf5f1fa8d46a92d3b13096aab03080000009600010300000000e000000000000064050000009e00010300000000e000000000000064080000009500010300000000e000000000000064040000009700010300000000e000000000000064070000009900010300000000e000000000000064050000009800010300000000e0000000000000640e0000009d00010300000000e00000000000006405000000 52 | Download TCom interface method counts 53 | -2147473648 54 | 55 | 56 | Init3\IO: Set State TComObj SAFEOP 57 | 10 58 | 256 59 | 0 60 | 100050080400000000000000 61 | 62 | 63 | Init4\RTime: Start Interrupt 64 | 200 65 | 1 66 | 37 67 | 0000000050000000102700000000000000000000010000000000000000000000 68 | Ticker started 69 | 70 | 71 | Init10\IO: Create TComObj PREOP 72 | 10 73 | 3 74 | 0 75 | 0100500800000000f0000000000000640020500800005008020000000000000000000000000000000000000000000000504c433120496e7374616e636500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d0000000c40000000b00000000000000000000000300500809000000506f72745f38353100000000000000000c00500805000000504c43310000000000000000040050080200000053030000000000000b0050080400000010005008000000000d00500804000000e8823360000000001b805008010000000100000000000000050050080400000001205008000000000f805008040000000000000000000000198050080a000000506c635461736b0000000000000000001a8050080400000030000102000000001c80500804000000ffffffff 76 | Create Object PLC1 Instance 77 | 78 | 79 | Init10\IO: Create TComObj PREOP 80 | 10 81 | 3 82 | 0 83 | 0100020100000000f0000000000000641100000300000002020000000000000000000000000000000000000000000000492f4f2049646c65205461736b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000680000005c000000040000000000000000000000010000011d000000000000000000000054010d0000000000492f4f2049646c65205461736b00000000000000011000020400000040420f000000000002100002040000000b00000000000000071000020400000001000000 84 | Task 'I/O Idle Task' created 85 | 86 | 87 | Init10\IO: Create TComObj PREOP 88 | 10 89 | 3 90 | 0 91 | 0100020100000000f0000000000000643000010200000002020000000000000000000000000000000000000000000000506c635461736b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000054000000040000000000000000000000010000011700000000000000000000005e01070000000000506c635461736b00000000000110000204000000809698000000000002100002040000001400000000000000071000020400000001000000 92 | Task 'PlcTask' created 93 | 94 | 95 | Init12\IO: Set State TComObj SAFEOP 96 | 10 97 | 260 98 | 1 99 | 1100000330000102 100 | Set Objects (2) to SAFEOP 101 | 102 | 103 | Init28\IO: Download Symbols 104 | 851 105 | 61468 106 | 0 107 | 04004000160000005f0300003f0000007c0d0000d0070000e404000016000000880900005036000000000000000000009515acd8b362114b99e5cf0717afcc8e78daad955b48145118c73fc5cd32eda2858a0f4e6da6056dee4a093d94ebeadac6babbecaea6444cb3bb677570766698394b2614d143946f8145b717c55e222ba2204848a48b0fd14305814879e9a187825e220c84ceccceec65bca60ecccc397b66bfdff73fff6fbee90680ba3a80a129136491f12e726e24e74ec8812a7008bc8c191ecb9690d3d712888ba22061a8f77add40350848a67027a2302375204cc989552a16e7302b72880a0b12928fc1f5d2dc12481dd5895bb7c6bd63e0161bb96e16630e35f21196e1d781ecd3b84f0cdc32c285746eb3124c0994a17a5e4c5dc70343bc52a38e004bd263302bf0cd4204ad59c9458d3b48b80acf9ee4e666701d424c643924b52249266c686df4075c5ecfcad1d979c5ce0b976bb99ef1ab1b9ef57e29d352d0f9cf095fd9b9228d4f816929be271e43121b8686935e7fc3aaf5e702881aff31e1679371a1c62f32ec3bef63c25dea8eb7b83cc155134dbacf0f0d3c63bdf27ed4c1ca184901b607c19a54e6a4bf27770d3e97187cf6c779ccc6d0bad9acfbfbd4e06fb9c1df4ceebad90b9d1a1f264cb0274d771514906b132784188ed6a81619bbd99036a183611b1d20c94518290281209d5a02f859df2ef4bf3cefba54617e333e94b729c5d963e0ec5d19e71cb13ab63c25c539be0a4e0d4d0a38cea1ffe17c9f34415b1a673be4939a69b6bb3c9668a809f14862b02059c1594f276740b9545bc38812a254f267ca0a7df9b3ef46f32b278e1e7ce599ebafde9ce2d44d19395b16e0d832388d6d8b916c7068c2d973fb73e127eac7db81b9e88db1368d73d3d05f0b4855ee48709c1c237722a225d15389f7382e2b71a3890592fffcfea9c7bdb56c5cdba2716d0bc4bda2fb3c63527b94ba2fdb00ccea1b143ccbf20e7b50ab1b171f155a19c94dfa8585a67d5c38c8c85d40bb6222c786594c2b535a7908607c602cf2c13c9abdafe6cf8bc96bb37fb3a020371826af2146ddd8c3c410e87fd70edd9f11a24f11a8fbb39ba85b320fbb28aa489fdb612131c934f51000ffb5bcef7d6db5fbbed976f8d120339dfc0e8c4c9bd4b1ce3143c5d21c255935a6ddefb7b753a7ac168bf534e575521a58594f27fffef8baf1c4bdb1cade5f4786bff5434cd37946afc399cc3eb59ff4a965f95e3692dc766fd0e16a98f77ddfaaefe3b0a10f1e58497c9f105f0142bdfe03322d7af278daed5a7d6c1b6719bfa48eeb26e9eab8699baedb7a55e9179490b45b3bc644e33876edc6b1aff6394d075b7ab15fdbd73a77eedd394d3a31add504dd86d0061b1f030d6d302486b621c1a40a263e263e3a318d31263175836d089010b04d02366d6882f7bdcff7eeded7e774fcc11f58b11d9f7dbfe7f37d9ee77d9e97eb6218f8673fc2e67b1c3ecf4419e64af3f30a663633df6c8865519b3d246a1a506627445553c4b99626ca12fcc521c68dd46dbec7e0f32c7cae6242e695530541aa8129619139922f4c30ccbd1b570e6137863802523786b4c6414ac82d4933f8c981da32f04281789cac52f0fe1c9596965edff2af5ffd727da4fec67a881d62ea6205a02f5fa16801bd9f19619841a849e3e1e87352942af92a2fa827984c8e679837d3d77f45fbc1673f55ba736ef602ab1eebb6f1373335200145d0c0ac68dd2d4af0a5da92ca861d424cd4f9aebc5486ff20119d6b6001481ae431865d5a84f24a420372b9deb95a5500385507a0214a359bebe62ab77c4d8fbfac353f5f81c987249bcd4855195e9ff4e8c7d2fc5adb4b7acc2b9553d34051914c134433ac3cea818a98cfab74a808b392596731a99ece09f380e1f250bfc902cbe7d9225fc8e40eeebc766417c3fce88983d147363d74fbc35b56efd8f5e3970732041b46cd7783474b1b12a788b2226a4b86e13c1c868f108062185018ba83f1305c80ec133e7ff0ae34f43f02dae25b69734704ad5cafc835663c9fcffa181cc91390d661489739489c225745e40a3a4f64b8398245d00f064c8bac874bcd326e12b961ca745b4e1625e882b881c68ff2499769b643d38c9128b098cda3b8cd93a65beba43a357e9540612726c3e5980c481549495396962dc711c23218c196c13a6c1958362c024915357101b91b65496409b05763b0bd186c0671ba00173d058b23605d8b615d46609117e12aa3e01d26e05d8fe1adc1f0b282aa2560ec02ed007902e0180618c300e30b306ad640202649e8098ad030815d125e9a86274a817819025e564fcf065ec45eb015d14863cc042934ad22790a8701f5f980207bcbc0e2db63c1dc4fc6ca11b0663085f5630ad3b5a567ec4ed7030abc1fc732bfc399be968b9aa0b56859ff0602d64d18d646072bd79acf570d49f1228986bc480839c7cc9c8a42ce5a3d00e941cd0f8ac79a8012ed89c7874f3eff8fdb949b5fdb341c1f7d2a3e4d88fe752cfaafc3f288a8d545a9c815917316110d899653d20454d10ea0d0280eead2446b7e7e893142a407a76b8a80731ce3aedfc129d6e556a332de90cb2796c1d4090c0c632a0e23f902a0e09082588312c432c944b0875e7cf042e5b9ad4f76efdafbd6f75fb9fbed77f05a123d5e20f8865d6fe98c5bde189f2ac627260a844adcaae92d0bf4d82812d0321574672ec967fcdcc593049f0f633e1fb2d5d694158de2de9ecfe3faeb4c1b1ecfd8810cfdc2e6ce7013ebc75e56cdf76301b8830e6ea1103fca7e6c6478f89a1bd97cca48d46e1ae0f42f8e7eebd1737ffccbfb1f7b3576fe9b4f13f0231de0ef27e1a31b2f6c9ffff64b279f9dbbef73f77ffaf48b5f44ce78ab07ff568fbdb7e9050e863f3a3c3caae373d9c430d728eb716c49d5c0bc5e7193afea00e8f9cf5fff3479e8a10b3bee78e3ba27fef00033afd7f3de85c2980b05d5f78ec5f505425cba23ddcc9a2e187a9a0d6109668d69a1d102b0ba71ae098bc6b551864a6fc0a667fb8da13a6f98a0d00a79696d5dac56cde48bd38b7af4db63534c648bd0e90e9608ebe27d7e3b85ec7db2976f23cff9121de4bbd7cbf7d6c56b478c07f6a523c0feaaf160cc4287b68f3a83ed3b217d02f52cb3d8eefe28638731c60a5cbec845517c2f49f10edfaf78fa0d331efdf79b9f7b98d4f8ec4163b32b2bf082b72e67cd3514b7f7525173f3599de3656994e1cb7b666142972a825219e6f339861525157e2e037641504461ae0154e64bf7cf4f1fb8eed517be7366c3ed275efbee0748dbd39dae02da5294519f6aa856e33353fe459026a59cdde494c3cbb55aa3d394c39a5b85b81dcdad0d0914bce9951bd674efac99fbeae07df2ea42e8ecb9c4736f3e3b4929fd083272ad86da4ec67bfadf7efac9fe1d2f7df4433fc9bdfbc0485fb07d2f23da3739f37f0bff6f5af89a9752a7effb4dec79f6af3f7ff0ddeae72f34bbdac7cf904dd2889cccc180864f8f1d6a26044d18a5d549a9801e9e13b711cc1e4a29920aa867dc287b2928d394c693535f0d622857932b015ff2f750d9621a80a23ea7feb3aea40bc96229cb93f7551b83f2de0a1b2743cb7adbd0cb62bbfe6694b13b630c434c7b619835c2e4b4877de14e79fa8d5c401dbcd6a1cb97c70515241a82aaa684328c2e4b661bcaeacfa2ea3c1d80d787e125e4f9fcdcf184dee55eefc109e26bc08703ca5a11280b403157398ee6b777305f19a982c97fe9f21560b0646ccfed14a717d77b493a21c9a724ec165bb0bb283883be7a294b749c7ee838317abd3462d74d317add84d7213381f58f1596f27c022e86127159ade9823f337e80d5ebd47a96457e68e1a2ca3c094b730e75b961652e6966fba154d449edfcd3ddc9675edc9b7bb4ef96f3c587b7492b98955c7136274b706f1886ffc51b0da6ab17fec3098a26eacd7bf8b8abc74ddffaa0db2be4d877c0da19c49b4d7c63b08c788d7caf6249ef550ca95115c26056da30686b92801b64b28623a41d7784b8e3ce4b0d5102893a1a2eb5012409d84f1430d5106a2a2d21a5294382982ff9c72b2a8776c725123b3da4167c8cd8821f97650d2594ac2c544085524b6409706b3138a7e3956f542c440a16a98c1874f5e2ace80f9d08358660f135dfd4371cdefd0647606b0863cb19c14d02d0ccb7b4664b53f3d2384761ad48c0db88e1c56cbc62bda5556050ca489c22d714a0aa1448128b971359cc8a6520a940e58054a1f7c14896d844b4c478313f912f975b0ad5aa1902d6151896d3f6cdc2421354321205081080aec44a97a89d287d61891aaf7c916a8632a44131e88e5004e60c2b2ba2d4535416384d21a5476f76f4f686c7cce755f692eb75fc511ff899839e7d7b77b95481400e140868b762687d361a741cc45620a2f4f2e67b9ed93f927d78eb9e7d8f7d5df83dfae28d15edfb39d6b8aa9fd6a9f96f05e4c98080ec0c5e9d2104258292e6a3112cf439de688f47c9b18f14437b2f21866603427aaf5b36a3214b116e92e0bc5133f0b9f74e13baad7445654950fda459c610719681e65dc945506ea7f5c98018e030961215737c468902054a14b0a0069c2698e50bc9c53200f4b4334340bc0a43dce06c2fa484d068c4ab1a508c305f6a56040d2c23886e2606d1023f2dca0d419f747436ecf6868f88bde0915d03577b756cd7f45bfffe7bea6cf89df0d7fad67ecff8ea5c40bdbcd33e51d3f1dc6699531da6a3fd9293cdbcb36af2c07a26002fead4b50e9e513a990594073145eed7bb7123306312706924fa4ede39f650fae6cf3c263ef52a73c3b3e709fb552fdfdbed9d3019df47ca778144d5bfbfe8485fdc741e866ee3d5abafa3efc1aefa86c2d8557850c78f05e0ad73b220f1fc44bba314a4fe45c4d76fb7f5a08b5d9a2105bfa1407d0eda93b04232952c24738924e2d41a8ad9c3b121f662f5f5819bbef1053ef5fad8d97b6f0cc2750e11b8708de180f1eac5fc4827f67742ac0b570ffd46fcf7a0aeefccfe51bb03e3c2454d9d0c81d7eb82ec3f64770adc785853c4d520f9f2877f7b0bc23f65e0dffc1ef15173c3d5e8b8df837f89f673ad348f4e5676623f0aae91bb4b440b6e780f7ea1471a23dc78503719bf5ea4f41da2befe4a91d85f59d18dcdccf0fe0a7194b6bf8ad76c5deed1984b9ed5f61cb6c8cf66c539eb4c9fbfaef59e170ddb3c8b53c27159a1d47e07030e8be230a2b42c98101966bc25362a149843010d66e7689e58000ba2ae8ace6a636fdf236c3ba0d4b64fe1ad7a86ccdad85ff5a8966dcc98be8750f56cf8dbf851f9811f7e227376dbd69f5d7ca477559a00cf98f0eefe208eea83f5e589b1209c7d249c033e9cc341387ae6f2e270ccb96eff4cc61d672dbff64da10cbd7a176304ab5ad181de036693dc2856595513144d65d12446614f895a9d55a077483516546a6037ab0015b8bfaec22adafa9e0d3c89e9dd11210e361b098537263f3a36abc96c5350d5ddec1ca8ca0a600fb3a2ca42d23e0a6952c0896232a2832cfb4c131822d690047ca194dccd56008c2706c59d1cbf8b15d076801570995941633339b6a31338831ec98c2163d2920c126baaa062d0f309321ed09aeab297ec1465637188c0d215aeadb5dd8c4256e6e9d336efb012c6f5003f5c639e42ebf14f0557f7aed2a77b2c22a80cc38f87d9a622575a65a0425da7c55afd8345b126090dc3a3b43a601b40aac17fe52acbf1ac2cb16001284b2eb3c08b991c0443c38a4027dfe276725e116b356868e85aacae0a44089135d9f069f678076ebcc3edc6bc4b0a048e0b2a4aece8c8bceaf782a90edcb9cfe5ce885053d7af8f6db1031fddeef65184566e290a9034b65917202a817b1fd787023a0c9d7b9e77849c0e385fe2d413069e0f9021d725f4732625f24199c8a59d3369b6a92edcf5508948b68742364c261b788e0993935c80752fef20d3f97675a49bde0c91dec9d0f2f51af3de30b3ef6a784fcc3b7343979ddb70b330def303b4f38c21663a592866f4749a0ea8149d3661ab6da9980e28155d386d6ac55c40adb81ac341bd6cb10c38a17c62195c85295c71e89c3d05a7bb7743ea964fee6f9cbe787bf8f13b7e67ee0b3a5f07e4635ea165ae83ff00d380a620 108 | Symbols downloaded 109 | 110 | 111 | Init44\IO: Set State TComObj PREOP OP 112 | 10 113 | 139468800 114 | 139460617 115 | Check for autostart 116 | 50000 117 | 118 | 119 | 120 | 121 | Init16\IO: Set State TComObj SAFEOP OP 122 | 10 123 | 512 124 | 0 125 | 126 | 127 | 128 | FlashGen_Overriding 129 | {0C0538B5-ABE9-4288-B658-39E22AB5B146} 130 | C:\Users\John\Desktop\GitHub Repo\PLC-OOP-Basics\Tutorials\FlashGen_Overriding\FlashGen_Overriding\FlashGen_Overriding.tsproj 131 | 132 | 133 | 134 | 135 | 136 | 137 | -------------------------------------------------------------------------------- /Tutorials/FlashGen_Overriding/FlashGen_Overriding/_Boot/TwinCAT RT (x64)/CurrentConfig/PLC1.tpzip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/FlashGen_Overriding/FlashGen_Overriding/_Boot/TwinCAT RT (x64)/CurrentConfig/PLC1.tpzip -------------------------------------------------------------------------------- /Tutorials/FlashGen_Overriding/FlashGen_Overriding/_Boot/TwinCAT RT (x64)/Plc/Port_851.app: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/FlashGen_Overriding/FlashGen_Overriding/_Boot/TwinCAT RT (x64)/Plc/Port_851.app -------------------------------------------------------------------------------- /Tutorials/FlashGen_Overriding/FlashGen_Overriding/_Boot/TwinCAT RT (x64)/Plc/Port_851.autostart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/FlashGen_Overriding/FlashGen_Overriding/_Boot/TwinCAT RT (x64)/Plc/Port_851.autostart -------------------------------------------------------------------------------- /Tutorials/FlashGen_Overriding/FlashGen_Overriding/_Boot/TwinCAT RT (x64)/Plc/Port_851.cid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/FlashGen_Overriding/FlashGen_Overriding/_Boot/TwinCAT RT (x64)/Plc/Port_851.cid -------------------------------------------------------------------------------- /Tutorials/FlashGen_Overriding/FlashGen_Overriding/_Boot/TwinCAT RT (x64)/Plc/Port_851.crc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/FlashGen_Overriding/FlashGen_Overriding/_Boot/TwinCAT RT (x64)/Plc/Port_851.crc -------------------------------------------------------------------------------- /Tutorials/FlashGen_Overriding/FlashGen_Overriding/_Boot/TwinCAT RT (x64)/Plc/Port_851.occ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/FlashGen_Overriding/FlashGen_Overriding/_Boot/TwinCAT RT (x64)/Plc/Port_851.occ -------------------------------------------------------------------------------- /Tutorials/FlashGen_Overriding/FlashGen_Overriding/_Boot/TwinCAT RT (x64)/Plc/Port_851.oce: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/FlashGen_Overriding/FlashGen_Overriding/_Boot/TwinCAT RT (x64)/Plc/Port_851.oce -------------------------------------------------------------------------------- /Tutorials/FlashGen_Overriding/FlashGen_Overriding/_Boot/TwinCAT RT (x64)/Plc/Port_851.ocm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/FlashGen_Overriding/FlashGen_Overriding/_Boot/TwinCAT RT (x64)/Plc/Port_851.ocm -------------------------------------------------------------------------------- /Tutorials/FlashGen_Overriding/FlashGen_Overriding/_Boot/TwinCAT RT (x64)/Plc/Port_851_boot.tizip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/FlashGen_Overriding/FlashGen_Overriding/_Boot/TwinCAT RT (x64)/Plc/Port_851_boot.tizip -------------------------------------------------------------------------------- /Tutorials/FlashGen_Overriding/FlashGen_Overriding/_Config/PLC/PLC1.xti: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PLC1 Instance 6 | {08500001-0000-0000-F000-000000000064} 7 | 8 | 9 | 1 10 | Default 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /Tutorials/LightControl_Interfaces/.vs/LightControl_Interfaces/v15/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/LightControl_Interfaces/.vs/LightControl_Interfaces/v15/.suo -------------------------------------------------------------------------------- /Tutorials/LightControl_Interfaces/LightControl_Interfaces.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # TcXaeShell Solution File, Format Version 11.00 4 | VisualStudioVersion = 15.0.28010.2050 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{B1E792BE-AA5F-4E3C-8C82-674BF9C0715B}") = "LightControl_Interfaces", "LightControl_Interfaces\LightControl_Interfaces.tsproj", "{F9E9D541-567F-4E55-8D10-DFA0FBF4607B}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|TwinCAT CE7 (ARMV7) = Debug|TwinCAT CE7 (ARMV7) 11 | Debug|TwinCAT OS (ARMT2) = Debug|TwinCAT OS (ARMT2) 12 | Debug|TwinCAT RT (x64) = Debug|TwinCAT RT (x64) 13 | Debug|TwinCAT RT (x86) = Debug|TwinCAT RT (x86) 14 | Release|TwinCAT CE7 (ARMV7) = Release|TwinCAT CE7 (ARMV7) 15 | Release|TwinCAT OS (ARMT2) = Release|TwinCAT OS (ARMT2) 16 | Release|TwinCAT RT (x64) = Release|TwinCAT RT (x64) 17 | Release|TwinCAT RT (x86) = Release|TwinCAT RT (x86) 18 | EndGlobalSection 19 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 20 | {F9E9D541-567F-4E55-8D10-DFA0FBF4607B}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) 21 | {F9E9D541-567F-4E55-8D10-DFA0FBF4607B}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) 22 | {F9E9D541-567F-4E55-8D10-DFA0FBF4607B}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) 23 | {F9E9D541-567F-4E55-8D10-DFA0FBF4607B}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) 24 | {F9E9D541-567F-4E55-8D10-DFA0FBF4607B}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) 25 | {F9E9D541-567F-4E55-8D10-DFA0FBF4607B}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) 26 | {F9E9D541-567F-4E55-8D10-DFA0FBF4607B}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) 27 | {F9E9D541-567F-4E55-8D10-DFA0FBF4607B}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) 28 | {F9E9D541-567F-4E55-8D10-DFA0FBF4607B}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) 29 | {F9E9D541-567F-4E55-8D10-DFA0FBF4607B}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) 30 | {F9E9D541-567F-4E55-8D10-DFA0FBF4607B}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) 31 | {F9E9D541-567F-4E55-8D10-DFA0FBF4607B}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) 32 | {F9E9D541-567F-4E55-8D10-DFA0FBF4607B}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) 33 | {F9E9D541-567F-4E55-8D10-DFA0FBF4607B}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) 34 | {F9E9D541-567F-4E55-8D10-DFA0FBF4607B}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) 35 | {F9E9D541-567F-4E55-8D10-DFA0FBF4607B}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) 36 | {6B28090D-3C58-4516-A4FC-B348EAC6EDB4}.Debug|TwinCAT CE7 (ARMV7).ActiveCfg = Debug|TwinCAT CE7 (ARMV7) 37 | {6B28090D-3C58-4516-A4FC-B348EAC6EDB4}.Debug|TwinCAT CE7 (ARMV7).Build.0 = Debug|TwinCAT CE7 (ARMV7) 38 | {6B28090D-3C58-4516-A4FC-B348EAC6EDB4}.Debug|TwinCAT OS (ARMT2).ActiveCfg = Debug|TwinCAT OS (ARMT2) 39 | {6B28090D-3C58-4516-A4FC-B348EAC6EDB4}.Debug|TwinCAT OS (ARMT2).Build.0 = Debug|TwinCAT OS (ARMT2) 40 | {6B28090D-3C58-4516-A4FC-B348EAC6EDB4}.Debug|TwinCAT RT (x64).ActiveCfg = Debug|TwinCAT RT (x64) 41 | {6B28090D-3C58-4516-A4FC-B348EAC6EDB4}.Debug|TwinCAT RT (x64).Build.0 = Debug|TwinCAT RT (x64) 42 | {6B28090D-3C58-4516-A4FC-B348EAC6EDB4}.Debug|TwinCAT RT (x86).ActiveCfg = Debug|TwinCAT RT (x86) 43 | {6B28090D-3C58-4516-A4FC-B348EAC6EDB4}.Debug|TwinCAT RT (x86).Build.0 = Debug|TwinCAT RT (x86) 44 | {6B28090D-3C58-4516-A4FC-B348EAC6EDB4}.Release|TwinCAT CE7 (ARMV7).ActiveCfg = Release|TwinCAT CE7 (ARMV7) 45 | {6B28090D-3C58-4516-A4FC-B348EAC6EDB4}.Release|TwinCAT CE7 (ARMV7).Build.0 = Release|TwinCAT CE7 (ARMV7) 46 | {6B28090D-3C58-4516-A4FC-B348EAC6EDB4}.Release|TwinCAT OS (ARMT2).ActiveCfg = Release|TwinCAT OS (ARMT2) 47 | {6B28090D-3C58-4516-A4FC-B348EAC6EDB4}.Release|TwinCAT OS (ARMT2).Build.0 = Release|TwinCAT OS (ARMT2) 48 | {6B28090D-3C58-4516-A4FC-B348EAC6EDB4}.Release|TwinCAT RT (x64).ActiveCfg = Release|TwinCAT RT (x64) 49 | {6B28090D-3C58-4516-A4FC-B348EAC6EDB4}.Release|TwinCAT RT (x64).Build.0 = Release|TwinCAT RT (x64) 50 | {6B28090D-3C58-4516-A4FC-B348EAC6EDB4}.Release|TwinCAT RT (x86).ActiveCfg = Release|TwinCAT RT (x86) 51 | {6B28090D-3C58-4516-A4FC-B348EAC6EDB4}.Release|TwinCAT RT (x86).Build.0 = Release|TwinCAT RT (x86) 52 | EndGlobalSection 53 | GlobalSection(SolutionProperties) = preSolution 54 | HideSolutionNode = FALSE 55 | EndGlobalSection 56 | GlobalSection(ExtensibilityGlobals) = postSolution 57 | SolutionGuid = {2262A435-9631-4717-BE22-C5B02706B20D} 58 | EndGlobalSection 59 | EndGlobal 60 | -------------------------------------------------------------------------------- /Tutorials/LightControl_Interfaces/LightControl_Interfaces/LightControl_Interfaces.tsproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | PlcTask 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /Tutorials/LightControl_Interfaces/LightControl_Interfaces/LightControl_Interfaces.tsproj.bak: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | PlcTask 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /Tutorials/LightControl_Interfaces/LightControl_Interfaces/PLC1/FBs/FB_LAMP_DIMM.TcPOU: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 21 | 22 | 23 | 24 | 25 | 27 | 28 | 40 | 41 | 42 | 43 | 45 | 46 | 100.0 THEN 50 | fOut :=100.0; 51 | On := TRUE; 52 | ELSE 53 | On := FALSE; 54 | END_IF 55 | iOutHw := LIMIT (0,REAL_TO_INT(fOut * 327.67),32767); // for dimmer output 56 | ]]> 57 | 58 | 59 | 60 | 61 | 62 | 65 | 66 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | BaseArea 78 | "" 79 | 80 | 81 | 82 | 83 | System.Collections.Hashtable 84 | System.String 85 | {30250973-b110-4e31-b562-c102e042dca4} 86 | {0197b136-405a-42ee-bb27-fd08b621d0cf} 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | -------------------------------------------------------------------------------- /Tutorials/LightControl_Interfaces/LightControl_Interfaces/PLC1/FBs/FB_LAMP_ONOFF.TcPOU: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 30 | 31 | 32 | 33 | 35 | 36 | 41 | 42 | 43 | 44 | 45 | 46 | 49 | 50 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | BaseArea 64 | "" 65 | 66 | 67 | 68 | 69 | System.Collections.Hashtable 70 | System.String 71 | {30250973-b110-4e31-b562-c102e042dca4} 72 | {0197b136-405a-42ee-bb27-fd08b621d0cf} 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | -------------------------------------------------------------------------------- /Tutorials/LightControl_Interfaces/LightControl_Interfaces/PLC1/ITFs/I_LampCtrl.TcIO: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 6 | 7 | 9 | 10 | 11 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | BaseArea 25 | "" 26 | 27 | 28 | 29 | 30 | System.Collections.Hashtable 31 | System.String 32 | {30250973-b110-4e31-b562-c102e042dca4} 33 | {0197b136-405a-42ee-bb27-fd08b621d0cf} 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /Tutorials/LightControl_Interfaces/LightControl_Interfaces/PLC1/PLC1.plcproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1.0.0.0 4 | 2.0 5 | {6b28090d-3c58-4516-a4fc-b348eac6edb4} 6 | True 7 | true 8 | true 9 | false 10 | PLC1 11 | 3.1.4024.12 12 | {0aaaabe5-d88e-4354-84b6-f0c612034061} 13 | {b1f99546-991a-4ff8-a290-fd2dd1ec94a5} 14 | {9b46d1e2-f427-48f8-a153-287218c2fd29} 15 | {aedd36e8-e567-490c-afeb-42a9c53dfdaf} 16 | {a45a7224-f599-40e5-acf8-dbbbcfe2b241} 17 | {c3b201ee-0501-4d65-95a8-462b4b4c5504} 18 | 19 | 20 | 21 | Code 22 | 23 | 24 | Code 25 | 26 | 27 | Code 28 | 29 | 30 | Code 31 | 32 | 33 | Code 34 | 35 | 36 | Code 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | Tc2_Standard, * (Beckhoff Automation GmbH) 48 | Tc2_Standard 49 | 50 | 51 | Tc2_System, * (Beckhoff Automation GmbH) 52 | Tc2_System 53 | 54 | 55 | Tc3_Module, * (Beckhoff Automation GmbH) 56 | Tc3_Module 57 | 58 | 59 | 60 | 61 | Content 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | "<ProjectRoot>" 70 | 71 | {40450F57-0AA3-4216-96F3-5444ECB29763} 72 | 73 | "{40450F57-0AA3-4216-96F3-5444ECB29763}" 74 | 75 | 76 | ActiveVisuProfile 77 | IR0whWr8bwfwBwAAiD2qpQAAAABVAgAA37x72QAAAAABAAAAAAAAAAEaUwB5AHMAdABlAG0ALgBTAHQAcgBpAG4AZwACTHsAZgA5ADUAYgBiADQAMgA2AC0ANQA1ADIANAAtADQAYgA0ADUALQA5ADQAMAAwAC0AZgBiADAAZgAyAGUANwA3AGUANQAxAGIAfQADCE4AYQBtAGUABDBUAHcAaQBuAEMAQQBUACAAMwAuADEAIABCAHUAaQBsAGQAIAA0ADAAMgA0AC4ANwAFFlAAcgBvAGYAaQBsAGUARABhAHQAYQAGTHsAMQA2AGUANQA1AGIANgAwAC0ANwAwADQAMwAtADQAYQA2ADMALQBiADYANQBiAC0ANgAxADQANwAxADMAOAA3ADgAZAA0ADIAfQAHEkwAaQBiAHIAYQByAGkAZQBzAAhMewAzAGIAZgBkADUANAA1ADkALQBiADAANwBmAC0ANABkADYAZQAtAGEAZQAxAGEALQBhADgAMwAzADUANgBhADUANQAxADQAMgB9AAlMewA5AGMAOQA1ADgAOQA2ADgALQAyAGMAOAA1AC0ANAAxAGIAYgAtADgAOAA3ADEALQA4ADkANQBmAGYAMQBmAGUAZABlADEAYQB9AAoOVgBlAHIAcwBpAG8AbgALBmkAbgB0AAwKVQBzAGEAZwBlAA0KVABpAHQAbABlAA4aVgBpAHMAdQBFAGwAZQBtAE0AZQB0AGUAcgAPDkMAbwBtAHAAYQBuAHkAEAxTAHkAcwB0AGUAbQARElYAaQBzAHUARQBsAGUAbQBzABIwVgBpAHMAdQBFAGwAZQBtAHMAUwBwAGUAYwBpAGEAbABDAG8AbgB0AHIAbwBsAHMAEyhWAGkAcwB1AEUAbABlAG0AcwBXAGkAbgBDAG8AbgB0AHIAbwBsAHMAFCRWAGkAcwB1AEUAbABlAG0AVABlAHgAdABFAGQAaQB0AG8AcgAVIlYAaQBzAHUATgBhAHQAaQB2AGUAQwBvAG4AdAByAG8AbAAWFHYAaQBzAHUAaQBuAHAAdQB0AHMAFwxzAHkAcwB0AGUAbQAYGFYAaQBzAHUARQBsAGUAbQBCAGEAcwBlABkmRABlAHYAUABsAGEAYwBlAGgAbwBsAGQAZQByAHMAVQBzAGUAZAAaCGIAbwBvAGwAGyJQAGwAdQBnAGkAbgBDAG8AbgBzAHQAcgBhAGkAbgB0AHMAHEx7ADQAMwBkADUAMgBiAGMAZQAtADkANAAyAGMALQA0ADQAZAA3AC0AOQBlADkANAAtADEAYgBmAGQAZgAzADEAMABlADYAMwBjAH0AHRxBAHQATABlAGEAcwB0AFYAZQByAHMAaQBvAG4AHhRQAGwAdQBnAGkAbgBHAHUAaQBkAB8WUwB5AHMAdABlAG0ALgBHAHUAaQBkACBIYQBmAGMAZAA1ADQANAA2AC0ANAA5ADEANAAtADQAZgBlADcALQBiAGIANwA4AC0AOQBiAGYAZgBlAGIANwAwAGYAZAAxADcAIRRVAHAAZABhAHQAZQBJAG4AZgBvACJMewBiADAAMwAzADYANgBhADgALQBiADUAYwAwAC0ANABiADkAYQAtAGEAMAAwAGUALQBlAGIAOAA2ADAAMQAxADEAMAA0AGMAMwB9ACMOVQBwAGQAYQB0AGUAcwAkTHsAMQA4ADYAOABmAGYAYwA5AC0AZQA0AGYAYwAtADQANQAzADIALQBhAGMAMAA2AC0AMQBlADMAOQBiAGIANQA1ADcAYgA2ADkAfQAlTHsAYQA1AGIAZAA0ADgAYwAzAC0AMABkADEANwAtADQAMQBiADUALQBiADEANgA0AC0ANQBmAGMANgBhAGQAMgBiADkANgBiADcAfQAmFk8AYgBqAGUAYwB0AHMAVAB5AHAAZQAnVFUAcABkAGEAdABlAEwAYQBuAGcAdQBhAGcAZQBNAG8AZABlAGwARgBvAHIAQwBvAG4AdgBlAHIAdABpAGIAbABlAEwAaQBiAHIAYQByAGkAZQBzACgQTABpAGIAVABpAHQAbABlACkUTABpAGIAQwBvAG0AcABhAG4AeQAqHlUAcABkAGEAdABlAFAAcgBvAHYAaQBkAGUAcgBzACs4UwB5AHMAdABlAG0ALgBDAG8AbABsAGUAYwB0AGkAbwBuAHMALgBIAGEAcwBoAHQAYQBiAGwAZQAsEnYAaQBzAHUAZQBsAGUAbQBzAC1INgBjAGIAMQBjAGQAZQAxAC0AZAA1AGQAYwAtADQAYQAzAGIALQA5ADAANQA0AC0AMgAxAGYAYQA3ADUANgBhADMAZgBhADQALihJAG4AdABlAHIAZgBhAGMAZQBWAGUAcgBzAGkAbwBuAEkAbgBmAG8AL0x7AGMANgAxADEAZQA0ADAAMAAtADcAZgBiADkALQA0AGMAMwA1AC0AYgA5AGEAYwAtADQAZQAzADEANABiADUAOQA5ADYANAAzAH0AMBhNAGEAagBvAHIAVgBlAHIAcwBpAG8AbgAxGE0AaQBuAG8AcgBWAGUAcgBzAGkAbwBuADIMTABlAGcAYQBjAHkAMzBMAGEAbgBnAHUAYQBnAGUATQBvAGQAZQBsAFYAZQByAHMAaQBvAG4ASQBuAGYAbwA0MEwAbwBhAGQATABpAGIAcgBhAHIAaQBlAHMASQBuAHQAbwBQAHIAbwBqAGUAYwB0ADUaQwBvAG0AcABhAHQAaQBiAGkAbABpAHQAeQDQAAIaA9ADAS0E0AUGGgfQBwgaAUUHCQjQAAkaBEUKCwQDAAAABQAAAA0AAAAAAAAA0AwLrQIAAADQDQEtDtAPAS0Q0AAJGgRFCgsEAwAAAAUAAAANAAAAKAAAANAMC60BAAAA0A0BLRHQDwEtENAACRoERQoLBAMAAAAFAAAADQAAAAAAAADQDAutAgAAANANAS0S0A8BLRDQAAkaBEUKCwQDAAAABQAAAA0AAAAUAAAA0AwLrQIAAADQDQEtE9APAS0Q0AAJGgRFCgsEAwAAAAUAAAANAAAAAAAAANAMC60CAAAA0A0BLRTQDwEtENAACRoERQoLBAMAAAAFAAAADQAAAAAAAADQDAutAgAAANANAS0V0A8BLRDQAAkaBEUKCwQDAAAABQAAAA0AAAAAAAAA0AwLrQIAAADQDQEtFtAPAS0X0AAJGgRFCgsEAwAAAAUAAAANAAAAKAAAANAMC60EAAAA0A0BLRjQDwEtENAZGq0BRRscAdAAHBoCRR0LBAMAAAAFAAAADQAAAAAAAADQHh8tINAhIhoCRSMkAtAAJRoFRQoLBAMAAAADAAAAAAAAAAoAAADQJgutAAAAANADAS0n0CgBLRHQKQEtENAAJRoFRQoLBAMAAAADAAAAAAAAAAoAAADQJgutAQAAANADAS0n0CgBLRHQKQEtEJoqKwFFAAEC0AABLSzQAAEtF9AAHy0t0C4vGgPQMAutAQAAANAxC60XAAAA0DIarQDQMy8aA9AwC60CAAAA0DELrQMAAADQMhqtANA0Gq0A0DUarQA= 78 | 79 | 80 | {192FAD59-8248-4824-A8DE-9177C94C195A} 81 | 82 | "{192FAD59-8248-4824-A8DE-9177C94C195A}" 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | System.Collections.Hashtable 92 | {54dd0eac-a6d8-46f2-8c27-2f43c7e49861} 93 | System.String 94 | 95 | 96 | 97 | 98 | -------------------------------------------------------------------------------- /Tutorials/LightControl_Interfaces/LightControl_Interfaces/PLC1/POUs/MAIN.TcPOU: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 20 | 21 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /Tutorials/LightControl_Interfaces/LightControl_Interfaces/PLC1/PlcTask.TcTTO: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 10000 6 | 20 7 | 8 | MAIN 9 | 10 | {50b6136d-9620-4396-9976-822381aa6339} 11 | {e7e358dc-6e4f-41fc-b9a2-1145c9d6fbab} 12 | {2a736d16-fd99-443f-9e6c-f614fc8ad4a6} 13 | {4c5283d8-3548-4982-b57f-46f8d5817b47} 14 | {b4741690-87af-485a-83a9-364df40c5f53} 15 | 16 | 17 | -------------------------------------------------------------------------------- /Tutorials/LightControl_Interfaces/LightControl_Interfaces/PLC1/_CompileInfo/0235FB6F-B1F4-7DE7-84D8-6D430F53622D.compileinfo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/LightControl_Interfaces/LightControl_Interfaces/PLC1/_CompileInfo/0235FB6F-B1F4-7DE7-84D8-6D430F53622D.compileinfo -------------------------------------------------------------------------------- /Tutorials/LightControl_Interfaces/LightControl_Interfaces/PLC1/_CompileInfo/BB3371B2-4853-8FD4-21C4-FBB608107098.compileinfo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/LightControl_Interfaces/LightControl_Interfaces/PLC1/_CompileInfo/BB3371B2-4853-8FD4-21C4-FBB608107098.compileinfo -------------------------------------------------------------------------------- /Tutorials/LightControl_Interfaces/LightControl_Interfaces/PLC1/_Libraries/beckhoff automation gmbh/tc2_standard/3.3.3.0/tc2_standard.compiled-library: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/LightControl_Interfaces/LightControl_Interfaces/PLC1/_Libraries/beckhoff automation gmbh/tc2_standard/3.3.3.0/tc2_standard.compiled-library -------------------------------------------------------------------------------- /Tutorials/LightControl_Interfaces/LightControl_Interfaces/PLC1/_Libraries/beckhoff automation gmbh/tc2_system/3.4.24.0/tc2_system.compiled-library: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/LightControl_Interfaces/LightControl_Interfaces/PLC1/_Libraries/beckhoff automation gmbh/tc2_system/3.4.24.0/tc2_system.compiled-library -------------------------------------------------------------------------------- /Tutorials/LightControl_Interfaces/LightControl_Interfaces/PLC1/_Libraries/beckhoff automation gmbh/tc3_module/3.3.21.0/tc3_module.compiled-library: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/LightControl_Interfaces/LightControl_Interfaces/PLC1/_Libraries/beckhoff automation gmbh/tc3_module/3.3.21.0/tc3_module.compiled-library -------------------------------------------------------------------------------- /Tutorials/LightControl_Interfaces/LightControl_Interfaces/_Boot/TargetDescription.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 3 5 | 1 6 | 4024 7 | 10 8 | 9 | 10 | -------------------------------------------------------------------------------- /Tutorials/LightControl_Interfaces/LightControl_Interfaces/_Boot/TwinCAT RT (x64)/CurrentConfig.tszip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/LightControl_Interfaces/LightControl_Interfaces/_Boot/TwinCAT RT (x64)/CurrentConfig.tszip -------------------------------------------------------------------------------- /Tutorials/LightControl_Interfaces/LightControl_Interfaces/_Boot/TwinCAT RT (x64)/CurrentConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 33554432 5 | #x1 6 | #x1 7 | 8 | 64 9 | 5 10 | 11 | 3.1.4021 12 | 13 | 14 | 15 | 1 16 | TcIo 17 | 18 | 19 | 1 20 | TcPlc30 21 | 22 | 23 | 1 24 | TcRtsObjects 25 | 26 | 27 | 1 28 | TcRTime 29 | 30 | 31 | 32 | 33 | Init1\IO: Download Config Id 34 | 300 35 | 61696 36 | 4 37 | 00000000 38 | 39 | 40 | Init1\IO: Create TComObj PREOP 41 | 10 42 | 3 43 | 0 44 | 0200000200000000f0000000000000641000500800005008020000000000000000000000000000000000000000000000506c634175785461736b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005400000048000000030000000000000000000000010000011b00000000000000000000000e010b0000000000506c634175785461736b00000000000002100002040000003200000000000000071000020400000001000000 45 | 46 | 47 | Init1\IO: Download Config Id 48 | 12 49 | 96 50 | 0 51 | 1600000000000000e000000000000064060000001400000000000000e000000000000064070000001300000000000000e000000000000064080000001800000000000000e000000000000064060000003000000000000000e0000000000000640f0000000200000200000000e000000000000064080000001000000300000000e000000000000064040000002500000300000000e000000000000064040000002900000300000000e000000000000064040000001100000300000000e000000000000064050000000200000000000000e000000000000064040000003100000000000000e000000000000064040000003800000000000000e000000000000064040000001200000000000000e0000000000000640e0000001500000000000000e000000000000064060000000300000200000000e000000000000064100000001000000200000000e000000000000064220000001700000300000000e000000000000064040000001800000300000000e000000000000064070000001e00000300000000e000000000000064050000002600000300000000e000000000000064050000002a00000300000000e000000000000064050000001f00000300000000e000000000000064050000001200000300000000e000000000000064060000000100010100000000e000000000000064080000000201500800000000e000000000000064070000000401500800000000e000000000000064080000000500000500000000e000000000000064050000000600000500000000e000000000000064070000003500010300000000e000000000000064050000006000010300000000e0000000000000640c00000029742a746dda1d4c80d8398d8c1f1747110000001810020300000000e00000000000006406000000787cde9ca0327543827e924b31021fcd040000005a00000000000000e000000000000064050000005900000000000000e000000000000064060000002dc33b49338f3643b722bcbca961872308000000b124e3d3201b3944b9fddeefd5f940f1040000005e36edb646919a4394a0e5d91df0046904000000bb79e79054578041baff14c8892e5dde0e0000000a01500800000000e000000000000064050000006600000000000000e000000000000064070000006700000000000000e0000000000000640a000000d28c8ad27754754baf0f998841af9e44050000006767bff78b543c49899b06a477976f11070000007aa8c9bfdef69a49ac45f3b1a59315f90a000000a57abfc3830afa4c9a7a04c1dfd0e5dd060000004662370c73d591498a8849fc3ad141e20700000050342923c5144c48b74f4e0a8dfd115d07000000e9b09c4a6989854bb5676051105112000a0000002ced746483e44e45a67d233e6d337c080d00000039d6d577dd16f7488490f632aa0959170e000000f74f6dec0558db4da31627894e77d644110000008df73f9ce897854f8187adb3bcb8738714000000e8beb647cb0e924c9d93fb11d3ba0336040000001b4b90700ef0cb4fbe59151086e9b8f607000000d7d9ccc0cddd2d4ca24cb1f3257c9a6407000000e2d4d5b2f607f444a29292ca8035aa861300000052cd047476371a4b9525b7c1d691dfc411000000fe8773c4193c4845aca8c346c352e370070000006e0aa260bbcef949ac908e4ab112e9c00b0000002ca48f4245a4654a8b1ce156f288bf2b1d0000008125f468b109d143a4eaec93b57aeb57070000005bccde7de8080c49aa9c5f20e78347310700000032887798131971419e9d5b0d53c5ea9e110000000100010500000000e000000000000064070000000d000a0300000000e0000000000000640d0000000e000a0300000000e0000000000000640c00000009000a0300000000e0000000000000640400000010000a0300000000e0000000000000640600000023a7719a2839024cac02efd30999a041040000001fd8c4d7abcf0341b89e6f6731dbfc1c0a0000004866f3081a87a8439d474e77905a60630e000000b8408b015d250d45aa48409f5f874d1c050000008eb7513b5d2802448b9a18b75448481014000000307ddc2c225f9f429065d912d842114811000000d905e481af9f284c9985185ac023a4c20c000000a8aafc9e6f55694bab9f2967b7f9dfc60e0000002ac195e69a2d8e40b9b2508d7ce3af9a23000000f9832147095d8c4d92fde0524ef658bf260000008eb16b19999dce40b81e48992ce432170500000010abb7a499e523429e9fd8e321942f9c05000000c0d193f82dc82e4aa86f93f7442998b10a0000000bcb597a03d3d64a848c7a7efc5ab73c090000001220d185c07a7f48a49d154db46e728c060000007898edd85ef26147b6671dc5b051e07b05000000ae31567fc4f8d54b8a624c0bafacbe680d000000694987a47e8e9a4c98e0bf4657bed567090000004a23c0431a3f7542adbba0a312ed69e0090000006cae48bb15c4c544a13f9b5ec51d997504000000cdd70eb87c38764092f9c85ad8604de805000000d8dc2bf5f1fa8d46a92d3b13096aab03080000009600010300000000e000000000000064050000009e00010300000000e000000000000064080000009500010300000000e000000000000064040000009700010300000000e000000000000064070000009900010300000000e000000000000064050000009800010300000000e0000000000000640e0000009d00010300000000e00000000000006405000000 52 | Download TCom interface method counts 53 | -2147473648 54 | 55 | 56 | Init3\IO: Set State TComObj SAFEOP 57 | 10 58 | 256 59 | 0 60 | 100050080400000000000000 61 | 62 | 63 | Init4\RTime: Start Interrupt 64 | 200 65 | 1 66 | 37 67 | 0000000050000000102700000000000000000000010000000000000000000000 68 | Ticker started 69 | 70 | 71 | Init10\IO: Create TComObj PREOP 72 | 10 73 | 3 74 | 0 75 | 0100500800000000f0000000000000640020500800005008020000000000000000000000000000000000000000000000504c433120496e7374616e636500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d0000000c40000000b00000000000000000000000300500809000000506f72745f38353100000000000000000c00500805000000504c43310000000000000000040050080200000053030000000000000b0050080400000010005008000000000d0050080400000037893360000000001b805008010000000100000000000000050050080400000001205008000000000f805008040000000000000000000000198050080a000000506c635461736b0000620000000000001a8050080400000030000102000000001c80500804000000ffff0100 76 | Create Object PLC1 Instance 77 | 78 | 79 | Init10\IO: Create TComObj PREOP 80 | 10 81 | 3 82 | 0 83 | 0100020100000000f0000000000000641100000300000002020000000000000000000000000000000000000000000000492f4f2049646c65205461736b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000680000005c000000040000000000000000000000010000011d000000000000000000000054010d0000000000492f4f2049646c65205461736b00000000000000011000020400000040420f000000000002100002040000000b00000000000000071000020400000001000000 84 | Task 'I/O Idle Task' created 85 | 86 | 87 | Init10\IO: Create TComObj PREOP 88 | 10 89 | 3 90 | 0 91 | 0100020100000000f0000000000000643000010200000002020000000000000000000000000000000000000000000000506c635461736b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000054000000040000000000000000000000010000011700000000000000000000005e01070000000000506c635461736b00000000000110000204000000809698000000000002100002040000001400000000000000071000020400000001000000 92 | Task 'PlcTask' created 93 | 94 | 95 | Init12\IO: Set State TComObj SAFEOP 96 | 10 97 | 260 98 | 1 99 | 1100000330000102 100 | Set Objects (2) to SAFEOP 101 | 102 | 103 | Init28\IO: Download Symbols 104 | 851 105 | 61468 106 | 0 107 | 040040001a00000042040000400000008a0c0000d0070000e404000016000000080b0000f03100000000000000000000bd8bcb390074914e0b06ad058e69ec0c78daad955d6cdb5414c7cfcad29642fac118db98b499655bb38a86b483ad1a0f2c4d9ad5531247895b560df01cfba6b1e62fec6bad9d044c20c1d81348f088c42678601202090d21310d8404ec890740422a88858d074002557c88c1c3c4757c9d0f77b451d74476ae759dffeffecf39f7dc390038781060f06a08d691f17de4ea26d746580f51481aba8d451ddbb1523a3f55744cd3b0308c735c069894816c06571083456b1661c6f66619cd51b162aa88910c0bd98fc0ab5bba3643e313f77ee628776380bb29c8cd2818ab68429715515f03729e721f0c70b7122e3473b3ae982bd4e27a89a6ef6377406f4bd0475121cb13b162e8594346b7ece414e56e235c9797a873bb5ab8494333151559d3c8b2091ba6270a4596cbb58feee8d9947efaf9fdeac985173b2f9cf97e2b5d82cf8f13be1bb90d94cf4068397eced190a548907a942ba456edbf0bc0a4fc21c2ef20e3bb287f4320ee7a5e948ed7223ec5e6f85513437e9ea3015eb05ef5029a556c8caca27212c12db95cdfbc4fee09e4797320cf0547c78a86d62ccd7e7eef0fe4777b20bfaddc354b2f54281fbe0bc1ce26df510893fb21d52889aa40a9311b6794127d107869542892c5c9a2254391171a5300bf8ecf18673f7a8a7d7657e4b385b77b6e6f70760638bbdbe3cc93546b2b531a9cc95570f60aa4801d15b5c399a49c277f68ed477db52c66136cce6da9b3156c73e5f2fff434f77684ea98019d5ea2d3dfaae3b7e5bc65cc5aa2c690e2c096a1debcf1fbfbf67435541bfb71b8937c073ddd7229236ae608a4c7854c229b17526c360bcc948d64061b8c8c348361f93463a132b2902e21c6d019528d161e764c98bff0c0a577bf993bfad68181f369eecfe7dcfd135f0478bdeaed5bf7eaee77ebf9361868e1c514cec19327a0d626c8d074b0cb4b291aa9e9a099ce7510eee4a5842c9302b6f9791381f717ff05ff9cb94eb895169f613f0f1e77b4ee93cb71e934c070eac633ef3df6f391df7a7ffae3c68ee86b9e5e85fae86ece47bfd7ef5af56225cfc7cd73bbd2bafd3a3d4638fd74dda7c915867ba1c7e3b89424b65448140a8919e6683c161b799ce1d20c2bd4a71856273db02c4aa4ef562f85c7aac5c5f7af98d7f7fd32d4e771fcfab208e71c196fa3f1b98370a81fb289b1632fa114f9029b3b141d8bef0138dcf3fbc0d72f7dfed0b70ff7be30537da2db5bababfbf1b5a6fa224622b50ec69f50f46482a7fb96d5cbc6b4686548bf8e09425e9578d13e0e02ab99aa222958701f05f72580857397e52f239f74ecd9fbf787d597fff99784b18b97dc4a477338276a08fcbf07e23846faa79b303fff3be0eee5d79130cd1a329f49c68826796cbc04a05fd9feca17fbe399f391d17defbc215ead9fc363c4efa9a63a8bc0aee539ee626b9a34be237e7c29d89d6f26fff5d5a71387dfbc3c7866f1c0c51fcf82467d1ea3fc8bd75acf8921724eacc8e714b91e768e4fb2a925f5dae7c7f18380fe703bfa79c3690351bbff07ae49c27d78daad5a0b6c53d7193e098e31260127bc02b4908cd1422558781418add4387e101363dffa11923e0837f67572c1bed7d8d721018d1536ad2d9d26bab5dab447a576eba432f5214d4c6843ec2175a3dad4b1add226d8069dba69dda3a0d1ad5b27753be73e8feffd8f6f0cb5e247eee33bfff9ffff7cff7ffeff722d08e13ff3e5d5bf83f87d3c80d0edfaff73d058ac542e8a395119db2d2a8a50190b8b55a5228ed7145196f015bb513d52abfedd85df27f07b1ef2e8470ea7786942d8c34fa3bdc95418a1a797cfeda66ef47000522b85b4d0420ac93549d1e44908134de0795cf138b9cac07b3b20cdcc5cebfdef2f7ebed437797d29c6f6a049312f909357195a20dfc7fb105a8c35a9bd2c7d0e89523e59c8f0d5832896c820f4afc17bbfaa9cfffca3d927c6c72ef454f7b79af8abd1842009155e11c644e36e51c21f859a94d3ece04101eb5c6e26877f90295ac784294152b08c5dd4a1693c5f892f6229975a470b1541383c290845519a30a52ecfab9f5fd9e62f8bf4ff6fa3e647663616930a323e3e64d38fa1f945a697b4e947f28787854a95cc290c9a61eea80dcaa7bf57a9503e34172d3184ac1e49f025017149acdf48aa2793ec496752b1c4ae753bfad623f48373bb022fae7cfef1d3bd1d77aeffe195ce1860c380feadc9686843e22aa25c119519cd703609bd7b01a02e0ac88bdd417b692e00fb84c31fec2b8dfc2640bd8e9536be975772937979020d24937187807d4900690985b4c042e22a724124aea0ca04c38d0316211774ea16598a979a61dc0871c3a8eeb69c2c4ad80569030d8c662275a6b9039ba61f1aa187b27980b67944776b75a8d91abf008cb08e9ac30a6a0e44151149a9cc343d8fbdc032e8a396c1126a1918364c0b525554c429e26e8c25110760b752b07e0a3646249dc28b9e81c501583b28ac0580881911af3206defd00debd14de420a2fce579510e62ea111600600eca700bb28c0e01466cd09c115139a749831691cc06e0a6f9085274aae7831002fae86670dcf672ed8bca885311486a8691ee4291c0534df0184c56b022bd3180bc77e182b01608d500a6ba714a66a4b8dd8b35d0f84781fa222bf2599ba96d30aafd45851ff01006b1f85b5dcc24ad44ac98236533a4962214f0394b35f8fa9847216a904a4929a1394e61a9714eddc998d87de78f7d395a3efacdc18dcf45a701860ff498afd9750714454264529cda58973a6c918122ba60c02a8a249a0d82816ea4cb8562acd208d226d382d7b009c039474ed164e7a52ae15f303453977b009a10e5260945041cce45302030722b12283c4629190bb875e7aee42fe976b7ed4ba7ecb7bdfbbfae47fdea77349f2fa0de01b66bea50a6e7863704f3a180ea7804cdcc8e90d0bb4992892a0c4f2e4ce442413734a178c003eefa57cde63aaad2c5714867bdbfe1f503f471ac878dc24327285299de626c6c57651a97c94c60dd8f4b502c7401d37950a8ef63cd8b771e3a6877b92d19ed8589c2f95434aa588a89fe6b4b357cf77ecb89abefe9d2be57f6ffbcb5d0b19e33da77faf721d8f4a42e87cc4186fb7ff1f9d6f9cfac9dd97ef59f0e8e8d57d86c5f6bbe86db1a53773bcbbd5f154f5d5eb5038f2d3d16fbdf4d81fff7ad7cb6f769d7de16700be6f16f8db217c72e3853b4aaffcf6d0c5f12f7fe199cf1eb9fc25b2d81eb1e13f62b3cf5a3581a3f03719fae2e2a18d5c31a7f2f44c55114aea8e023eaa0290f73f7ff56a64f7f317ee3c797de7b9b79e452587bd8cdfbdfafec5f2689500406aea6b450b5b30b5968bfc0c8e8ac37cb126e0eccd3ac64f6bc73621e6789de678e6bad05467a741c6581efb586ba60b053db968e4ff6de688a1781a2faa5d5960dd7fd469278f5907b0cbadc5714720c772fbed72af99ded1a7bda893d604b617b417d21339d63ef138b5afc6e303a3c7d174a3fb03c8a4696410b38399198af7438ab7e4bed8d2787fdc6eca131d188b07f77063e1d81e12ea2280c001fdbb9e6a0bc99a825291a0333c7540208b6190989463809401d2ef3676ad01c21c7354f7c5611d4b327858ddfbf6e09fe59ad2a3c83d61b154c279a77d33dc823abc995c309faf08d56a66a62c20ed1634661bef7e9536f53d9d6a2abf7ea6caf1ca641d5b528310080e0f8244a9aaf0524ed8502657a399331f3bffcaafa71f7c6167e7e968f2dd4fb562b88a50280a7ac1a4dd9fc991bc4928e15d62d5cefd3b6cf69cb4d9b3c3549261cf6422198d024cdaa21bb4d754a39972686a84338ea6d4d6f9e1a96d43f8834f7efba1b747de59f0e71b1f7c64ddd79a531b2ab734e6218fe9a11a03a15d2e85a13673c9867985dfc4caa7a22eb53e8bff08cc6646ca1275c97bea51b630508619052a2b0f5b4ca16c8523aa2388da46e9d5be0619eab3f244e3c8602a92cec633f0fe6bf9a04bbee937cfd459fce48d21cfdfca4fbd5a7aebd831d9afec758d43734c7962ac28b4967c4c37aaa70690598943080c435ecce25e380c5127ea43907a23e7a28745d6b899dc005f154245be5a8df23945aecce88469d483c96ec04daff329bc905c4a8e1f08a955f5a5361c37b93a1d3878c1a685ca146664adc444a339fdc65dae9894a7e67ff3f34b09553d3a3583e3a7f59e950e4af26189bac59cd82906ce6247fe12071da71d3b4e173b7fe933f3982e761e43e70523aef988416fc94c082f862cb83c17b6e0cbb40ba8fc99995ff6103f347049a61cc1a93247aaea38539614bddc914dab43adfbd39391d72f6f49bc34ffd8d9f4e9b5d21c34974b8f256409ef45bdf857b058442d7efc83e32b8aa8360bf0eb545bfdf8c63faabd3c967d3b8d4c3d582ed3897a13bc4f7c2f6fccdeae18a830e6a160e69a3064ab10c21b7258c33e6887ef0377f849a9284a42689234b31a0042136c0727182df2135556601b643425ba1c158c60beca91dd781612a70d2af9778125ff01595648608acb7c5ec833d2933800b78882b32a6cc962de4064600d31b257abf667b03f76225288c2094ba9ac6e00ecf93f0788d54d8965b5fc8604a1ac6554d5a434c031444b0378cb29bc2e132f3d5953f29894621257912748d2c68084445c018a181773825415aa9c20e5d97537c8122b414b0ca493e1642e57ab30ad1a03b06ea3b0ac32735c9e9810f2318901240040b7532950c00c940e5a62f29583a946184d21c241273d3e1c338ca848424fba32c52915283cdaa3a3bd16ddafbf57994bce6ff9a3da60d473ec6d5b9c39f67d2900ed110a6dbe89861d8788e58a285d59fdd4ebdbfbe2a7d76cdef6f237f83f9013d7e734aeaf18edb17656e5e4c322e4211742b61abd56d383c1a0503fd647519fe58d663b16e63e8843fd37c1a171174af7d7cf4d2b0033263704386f40273e0dcbdc6aa8b652151587a0daa1de4937d83b21fdb5c8b4906ba4f521170eb0048b8a15bd5dc760811483050ca84eab2865f842643a2708ecb0330220aea2109759db0b29c4178bc1822254349acf96f3bc223441a2ab41124d658645b9c8ab9be1d935d7edf4e133173cb1abeb6a2ff4af1f7eef7f37a227bcef7bbf3e7fd177b5538fb9e4cbebcc277866dd276ab28b8466b55fb2a299bd370e37c8475cf002565e6be169a9939e40d910a370fdbc1ed787232680cb1a62fea127fa9f1f3cfab997c5d7de440f5c3c0bec57ed72df61ee84617cc7508e03d0a8cefdc5acf4c50d2731756b9f767d8dde825dd50d85b6abb0a10eec77c15b624541f0798d468f6e4075109fa3fe6dea419d76760422bf6e66fdd8e3d83f6a45544715152a3c6cd8a4ed19db1c8d02f5f86cecb8d8ecf8a522d1482a92084588868ce69fd904eceeb954b8d6b9ef9b5fcc44aff59f78fa61375ceb61893a5cad49a07dda31ef998dbc16b5d7e1aa21478b3b36d4a5b3f3bb8059f9a9c325c5a41820eb4e37bfeb362b14f5785431a6ae30f3958fffee18c13face11fbd457c5254a92bb03c63c3bf49fbd5ad709b4ee6cec67e0c5c2d67c882165c760b7ea1329c467336d495dad5d38c7a47c0b12ed3605d674e2bd53ba3eb3a604b6d7b81ce155bea5b6475f3e930fbb1e9cc585c1c379e5d74e6d3f6e762ad3e80b8873f20571839e72e9787626918516a0ac603c30cd4c4629e01b3dba5406e3d8228a684295155c5ec72727bbdc56b3aa0d4b03e62cfb6baf59cdc996d550ddbe8b16433906d2dfbfbc0a8fcecf73f113bb176cd8f2fbde89f3708c0d37d7eab2e49a33a601df1a9df0d671b84739f03e77e371cede1027be3a7893e69166ef4fa6eae4f5a6eb02aead771161cb68d31ac171ed6b50f4fcd13268ed6e61af1671bf15ffd7823e078873ccdebb5cb7ec3c8b6adf89e2e7b8d9a1cb66ea3cde2e8dbb19e37f2a0e1482a1d4b26809ccbce70d6b6bad690e2065d28ae0ea701c7255c38ae83c221b51f3127707cee60135279195271e43958064eab7f59f4d867b6178f5c7adc7be6e4ef57c2cf0fb1d701fc9882a7c975f07f4530f851 108 | Symbols downloaded 109 | 110 | 111 | Init44\IO: Set State TComObj PREOP OP 112 | 10 113 | 139468800 114 | 139460617 115 | Check for autostart 116 | 50000 117 | 118 | 119 | 120 | 121 | Init16\IO: Set State TComObj SAFEOP OP 122 | 10 123 | 512 124 | 0 125 | 126 | 127 | 128 | LightControl_Interfaces 129 | {F9E9D541-567F-4E55-8D10-DFA0FBF4607B} 130 | C:\Users\John\Desktop\GitHub Repo\PLC-OOP-Basics\Tutorials\LightControl_Interfaces\LightControl_Interfaces\LightControl_Interfaces.tsproj 131 | 132 | 133 | 134 | 135 | 136 | 137 | -------------------------------------------------------------------------------- /Tutorials/LightControl_Interfaces/LightControl_Interfaces/_Boot/TwinCAT RT (x64)/CurrentConfig/PLC1.tpzip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/LightControl_Interfaces/LightControl_Interfaces/_Boot/TwinCAT RT (x64)/CurrentConfig/PLC1.tpzip -------------------------------------------------------------------------------- /Tutorials/LightControl_Interfaces/LightControl_Interfaces/_Boot/TwinCAT RT (x64)/Plc/Port_851.app: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/LightControl_Interfaces/LightControl_Interfaces/_Boot/TwinCAT RT (x64)/Plc/Port_851.app -------------------------------------------------------------------------------- /Tutorials/LightControl_Interfaces/LightControl_Interfaces/_Boot/TwinCAT RT (x64)/Plc/Port_851.autostart: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/LightControl_Interfaces/LightControl_Interfaces/_Boot/TwinCAT RT (x64)/Plc/Port_851.autostart -------------------------------------------------------------------------------- /Tutorials/LightControl_Interfaces/LightControl_Interfaces/_Boot/TwinCAT RT (x64)/Plc/Port_851.cid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/LightControl_Interfaces/LightControl_Interfaces/_Boot/TwinCAT RT (x64)/Plc/Port_851.cid -------------------------------------------------------------------------------- /Tutorials/LightControl_Interfaces/LightControl_Interfaces/_Boot/TwinCAT RT (x64)/Plc/Port_851.crc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/LightControl_Interfaces/LightControl_Interfaces/_Boot/TwinCAT RT (x64)/Plc/Port_851.crc -------------------------------------------------------------------------------- /Tutorials/LightControl_Interfaces/LightControl_Interfaces/_Boot/TwinCAT RT (x64)/Plc/Port_851.occ: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/LightControl_Interfaces/LightControl_Interfaces/_Boot/TwinCAT RT (x64)/Plc/Port_851.occ -------------------------------------------------------------------------------- /Tutorials/LightControl_Interfaces/LightControl_Interfaces/_Boot/TwinCAT RT (x64)/Plc/Port_851.oce: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/LightControl_Interfaces/LightControl_Interfaces/_Boot/TwinCAT RT (x64)/Plc/Port_851.oce -------------------------------------------------------------------------------- /Tutorials/LightControl_Interfaces/LightControl_Interfaces/_Boot/TwinCAT RT (x64)/Plc/Port_851.ocm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/LightControl_Interfaces/LightControl_Interfaces/_Boot/TwinCAT RT (x64)/Plc/Port_851.ocm -------------------------------------------------------------------------------- /Tutorials/LightControl_Interfaces/LightControl_Interfaces/_Boot/TwinCAT RT (x64)/Plc/Port_851_boot.tizip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/0w8States/PLC-OOP-Basics/fe25592e399383e6eb6cf4eeeb430787b3161091/Tutorials/LightControl_Interfaces/LightControl_Interfaces/_Boot/TwinCAT RT (x64)/Plc/Port_851_boot.tizip -------------------------------------------------------------------------------- /Tutorials/LightControl_Interfaces/LightControl_Interfaces/_Config/PLC/PLC1.xti: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PLC1 Instance 6 | {08500001-0000-0000-F000-000000000064} 7 | 8 | 9 | 1 10 | Default 11 | 12 | 13 | 14 | 15 | 16 | --------------------------------------------------------------------------------