public MelsecIoDevice(string options) { _tryCount = 1; var config = ConfigHelper.GetConfig(options); if (config is FxComConfig) { var comConfig = (FxComConfig)config; _tryCount = comConfig.TryCount; var port = new SerialPort(comConfig.PortName) { BaudRate = comConfig.BaudRate, DataBits = comConfig.DataBits, Parity = comConfig.Parity, StopBits = comConfig.StopBits }; _melsec = new FxCom(port, comConfig.Timeout, comConfig.MessageEndTimeout); } else if (config is FxEnetConfig) { var enetConfig = (FxEnetConfig)config; _melsec = new FxEnet(enetConfig.Address, enetConfig.Timeout, enetConfig.MessageEndTimeout); } else if (config is QConfig) { var qConfig = (QConfig)config; _melsec = new Q(qConfig.Address, qConfig.Port, qConfig.PcNumber, qConfig.NetworkNumber, qConfig.Timeout, qConfig.MessageEndTimeout); } else { throw new NotSupportedException(string.Format("Config \"{0}\" is not supported", config.ConfigName)); } }
public MelsecIoDevice(string options) { _tryCount = 1; var config = ConfigHelper.GetConfig(options); if (config is FxComConfig) { var comConfig = (FxComConfig) config; _tryCount = comConfig.TryCount; var port = new SerialPort(comConfig.PortName) { BaudRate = comConfig.BaudRate, DataBits = comConfig.DataBits, Parity = comConfig.Parity, StopBits = comConfig.StopBits }; _melsec = new FxCom(port, comConfig.Timeout, comConfig.MessageEndTimeout); } else if (config is FxEnetConfig) { var enetConfig = (FxEnetConfig) config; _melsec = new FxEnet(enetConfig.Address, enetConfig.Port, enetConfig.Timeout, enetConfig.MessageEndTimeout); } else if (config is QConfig) { var qConfig = (QConfig) config; _melsec = new Q(qConfig.Address, qConfig.Port, qConfig.PcNumber, qConfig.NetworkNumber, qConfig.Timeout, qConfig.MessageEndTimeout); } else { throw new NotSupportedException(string.Format("Config \"{0}\" is not supported", config.ConfigName)); } }