/// <summary> /// Creates an ASCII slave network. /// </summary> /// <param name="factory"></param> /// <param name="streamResource"></param> /// <returns></returns> public static IModbusSlaveNetwork CreateAsciiSlaveNetwork(this IModbusFactory factory, IStreamResource streamResource) { IModbusAsciiTransport transport = factory.CreateAsciiTransport(streamResource); return(factory.CreateSlaveNetwork(transport)); }
private void Start() { try { CompileTags(richTextBoxVar.Text); tagsView1.Load(tags); state = SvrState.Starting; cts = new CancellationTokenSource(); slaveTcpListener = new TcpListener(address, port); slaveTcpListener.Start(); network = factory.CreateSlaveNetwork(slaveTcpListener); var slave1 = factory.CreateSlave(slaveId, store); network.AddSlave(slave1); networkListenerTask = network.ListenAsync(cts.Token); scriptLoopTask = scriptLoop(cts.Token); state = SvrState.Runing; } catch (Exception ex) { jsConsole.error(ex); state = SvrState.Stopped; cts?.Cancel(); network.Dispose(); slaveTcpListener?.Stop(); scriptLoopTask.Wait(100); scriptLoopTask.Dispose(); } }
public IModbusSlaveNetwork CreateSlaveNetwork() { IModbusRtuTransport transport = CreateTransport(); return(ModbusFactory.CreateSlaveNetwork(transport)); }