diff --git a/src/tools/src/PlcSimAdvancedStarter/PlcSimAdvancedStarterTool/PlcSim/PlcSimInstance.cs b/src/tools/src/PlcSimAdvancedStarter/PlcSimAdvancedStarterTool/PlcSim/PlcSimInstance.cs index 0b8c3c7ae..e0a07d46e 100644 --- a/src/tools/src/PlcSimAdvancedStarter/PlcSimAdvancedStarterTool/PlcSim/PlcSimInstance.cs +++ b/src/tools/src/PlcSimAdvancedStarter/PlcSimAdvancedStarterTool/PlcSim/PlcSimInstance.cs @@ -115,10 +115,17 @@ public Task StartPlcSim([Option('x', Description = "PlcSim instance name")] stri break; } } + } + foreach (var instanceInfo in instanceInfos) + { + // Get name of the existing instance + string instanceName = instanceInfo.GetType().GetField("Name", BindingFlags.Public | BindingFlags.Instance).GetValue(instanceInfo)?.ToString(); if (instanceName.Equals(PlcSimInstanceName)) { Console.WriteLine($"Instance {PlcSimInstanceName} already registered."); + var createInterfaceMethod = simulationRuntimeManager.GetMethod("CreateInterface", BindingFlags.Static | BindingFlags.Public, null, new Type[] { typeof(string) }, null); + plcSimInstance = createInterfaceMethod.Invoke(null, new object[] { PlcSimInstanceName }); instanceAlreadyRegistered = true; break;