private void cmdAddPLCStorage_Click(object sender, RoutedEventArgs e) { MessageBox.Show("Be carefull, writing to the PLC as a Storrage is BETA and not much tested yet!"); string val = "Storage_" + (grdStorages.Items.Count + 1); if (DotNetSiemensPLCToolBoxLibrary.General.InputBox.Show("Storage-Name", "Name of the Storage", ref val) == DialogResult.OK) { foreach (var tmp in ProtokollerConfiguration.ActualConfigInstance.Storages) { if (tmp.Name.ToLower().Trim() == val.ToLower().Trim()) { MessageBox.Show("A Storage with this Name already Exists!", "Error", MessageBoxButton.OK, MessageBoxImage.Error); return; } } PLCConnectionConfiguration myIntConfig = new PLCConnectionConfiguration(val.Trim(), LibNodaveConnectionConfigurationType.ObjectSavedConfiguration); myIntConfig = DotNetSiemensPLCToolBoxLibrary.Communication.Configuration.ShowConfiguration(myIntConfig); if (myIntConfig != null) { var storage = new PLCConfig() { Name = val }; storage.Configuration = myIntConfig; ProtokollerConfiguration.ActualConfigInstance.Storages.Add(storage); } } }
public override void Connect_To_Database(StorageConfig config) { myConfig = config as PLCConfig; _plcConnection = new PLCConnection(myConfig.Configuration); _plcConnection.AutoConnect = true; _plcConnection.Connect(); }
public override void Connect_To_Database(StorageConfig config) { myConfig = config as PLCConfig; _plcConnection = new PLCConnection(myConfig.Configuration); _plcConnection.AutoConnect = true; _plcConnection.Connect(); Logging.LogTextToLog4Net("Connect_To_Database() => \"" + _plcConnection.Name + "\" => Connect..."); }
/// <summary> /// 保存配置到配置文件 /// </summary> /// <param name="navConfig">导航仪配置</param> /// <param name="rs232Config">RS232COM口配置</param> /// <param name="plcConfig">PLC配置</param> /// <returns>保存成功返回True</returns> public static bool Save(NavConfig navConfig, Rs232Config rs232Config, PLCConfig plcConfig) { if (navConfig == null && rs232Config == null && plcConfig == null) { return(false); } try { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(configPath); if (navConfig != null) { XmlNode xmldocSelect = xmlDoc.SelectSingleNode("configs/Nav"); xmldocSelect.Attributes["ip"].InnerText = navConfig.Ip; xmldocSelect.Attributes["port"].InnerText = navConfig.Port.ToString(); } if (rs232Config != null) { XmlNode xmldocSelect = xmlDoc.SelectSingleNode("configs/Can"); xmldocSelect.Attributes["CanPortName"].InnerText = rs232Config.PortName; xmldocSelect.Attributes["BaudRate"].InnerText = rs232Config.BaudRate.ToString(); } if (plcConfig != null) { XmlNode xmldocSelect = xmlDoc.SelectSingleNode("configs/PLC"); xmldocSelect.Attributes["ip"].InnerText = plcConfig.Ip; xmldocSelect.Attributes["port"].InnerText = plcConfig.Port.ToString(); } xmlDoc.Save(@"Configs\AGVConfig.xml"); return(true); } catch (Exception ex) { Logger.Error("保存硬件配置文件失败.", ex); return(false); } }