using HslCommunication.ModBus; namespace WinFormStarter { public partial class FrmPlc : Form { public FrmPlc() { InitializeComponent(); } ModbusTcpNet ModbusTcpNet; int heart = 0; private void BtnWrite01_Click(object sender, EventArgs e) { bool bConvert = ushort.TryParse(this.txtValue04.Text, out ushort iValue); if (!bConvert) { MessageBox.Show("请输入有效值"); return; } //PlcStaticInfo.PlcInfos.TryGetValue(1, out PlcInfo plcInfo); //if (plcInfo == null) //{ // MessageBox.Show("PLC未连接"); // return; //} //plcInfo.hostToPlc.CommunicationDiagnosis.Value = iValue; //bool bResult = plcInfo.WriteUint16(plcInfo.hostToPlc.CommunicationDiagnosis); } private void BtnWrite02_Click(object sender, EventArgs e) { bool bConvert = ushort.TryParse(this.txtValue05.Text, out ushort iValue); if (!bConvert) { MessageBox.Show("请输入有效值"); return; } //PlcStaticInfo.PlcInfos.TryGetValue(1, out PlcInfo plcInfo); //if (plcInfo == null) //{ // MessageBox.Show("PLC未连接"); // return; //} //plcInfo.hostToPlc.ModeControl.Value = iValue; //bool bResult = plcInfo.WriteUint16(plcInfo.hostToPlc.ModeControl); } private void BtnWrite03_Click(object sender, EventArgs e) { bool bConvert = ushort.TryParse(this.txtValue06.Text, out ushort iValue); if (!bConvert) { MessageBox.Show("请输入有效值"); return; } //PlcStaticInfo.PlcInfos.TryGetValue(1, out PlcInfo plcInfo); //if (plcInfo == null) //{ // MessageBox.Show("PLC未连接"); // return; //} //plcInfo.hostToPlc.EquipmentControl.Value = iValue; //bool bResult = plcInfo.WriteUint16(plcInfo.hostToPlc.EquipmentControl); } private void BtnWrite04_Click(object sender, EventArgs e) { bool bConvert = ushort.TryParse(this.txtValue07.Text, out ushort iValue); if (!bConvert) { MessageBox.Show("请输入有效值"); return; } //PlcStaticInfo.PlcInfos.TryGetValue(1, out PlcInfo plcInfo); //if (plcInfo == null) //{ // MessageBox.Show("PLC未连接"); // return; //} //plcInfo.hostToPlc.ExhaustFanControl.Value = iValue; //bool bResult = plcInfo.WriteUint16(plcInfo.hostToPlc.ExhaustFanControl); } private void BtnWrite05_Click(object sender, EventArgs e) { bool bConvert = ushort.TryParse(this.txtValue08.Text, out ushort iValue); if (!bConvert) { MessageBox.Show("请输入有效值"); return; } //PlcStaticInfo.PlcInfos.TryGetValue(1, out PlcInfo plcInfo); //if (plcInfo == null) //{ // MessageBox.Show("PLC未连接"); // return; //} //plcInfo.hostToPlc.LightingControl.Value = iValue; //bool bResult = plcInfo.WriteUint16(plcInfo.hostToPlc.LightingControl); } private void BtnWrite06_Click(object sender, EventArgs e) { bool bConvert = ushort.TryParse(this.txtValue09.Text, out ushort iValue); if (!bConvert) { MessageBox.Show("请输入有效值"); return; } //PlcStaticInfo.PlcInfos.TryGetValue(1, out PlcInfo plcInfo); //if (plcInfo == null) //{ // MessageBox.Show("PLC未连接"); // return; //} //plcInfo.hostToPlc.Seconds.Value = iValue; //bool bResult = plcInfo.WriteUint16(plcInfo.hostToPlc.Seconds); } private void BtnWrite07_Click(object sender, EventArgs e) { bool bConvert = ushort.TryParse(this.txtValue10.Text, out ushort iValue); if (!bConvert) { MessageBox.Show("请输入有效值"); return; } //PlcStaticInfo.PlcInfos.TryGetValue(1, out PlcInfo plcInfo); //if (plcInfo == null) //{ // MessageBox.Show("PLC未连接"); // return; //} //plcInfo.hostToPlc.Points.Value = iValue; //bool bResult = plcInfo.WriteUint16(plcInfo.hostToPlc.Points); } private void BtnWrite08_Click(object sender, EventArgs e) { bool bConvert = ushort.TryParse(this.txtValue11.Text, out ushort iValue); if (!bConvert) { MessageBox.Show("请输入有效值"); return; } //PlcStaticInfo.PlcInfos.TryGetValue(1, out PlcInfo plcInfo); //if (plcInfo == null) //{ // MessageBox.Show("PLC未连接"); // return; //} //plcInfo.hostToPlc.Hour.Value = iValue; //bool bResult = plcInfo.WriteUint16(plcInfo.hostToPlc.Hour); } private void BtnWrite09_Click(object sender, EventArgs e) { bool bConvert = ushort.TryParse(this.txtValue12.Text, out ushort iValue); if (!bConvert) { MessageBox.Show("请输入有效值"); return; } //PlcStaticInfo.PlcInfos.TryGetValue(1, out PlcInfo plcInfo); //if (plcInfo == null) //{ // MessageBox.Show("PLC未连接"); // return; //} //plcInfo.hostToPlc.Day.Value = iValue; //bool bResult = plcInfo.WriteUint16(plcInfo.hostToPlc.Day); } private void BtnWrite10_Click(object sender, EventArgs e) { bool bConvert = ushort.TryParse(this.txtValue13.Text, out ushort iValue); if (!bConvert) { MessageBox.Show("请输入有效值"); return; } //PlcStaticInfo.PlcInfos.TryGetValue(1, out PlcInfo plcInfo); //if (plcInfo == null) //{ // MessageBox.Show("PLC未连接"); // return; //} //plcInfo.hostToPlc.Month.Value = iValue; //bool bResult = plcInfo.WriteUint16(plcInfo.hostToPlc.Month); } private void BtnWrite11_Click(object sender, EventArgs e) { bool bConvert = ushort.TryParse(this.txtValue14.Text, out ushort iValue); if (!bConvert) { MessageBox.Show("请输入有效值"); return; } //PlcStaticInfo.PlcInfos.TryGetValue(1, out PlcInfo plcInfo); //if (plcInfo == null) //{ // MessageBox.Show("PLC未连接"); // return; //} //plcInfo.hostToPlc.Years.Value = iValue; //bool bResult = plcInfo.WriteUint16(plcInfo.hostToPlc.Years); } /// /// 车辆驻车位置 /// /// /// private void BtnWrite14_Click(object sender, EventArgs e) { bool bConvert = ushort.TryParse(this.txtValue15.Text, out ushort iValue); if (!bConvert) { MessageBox.Show("请输入有效值"); return; } //PlcStaticInfo.PlcInfos.TryGetValue(1, out PlcInfo plcInfo); //if (plcInfo == null) //{ // MessageBox.Show("PLC未连接"); // return; //} //plcInfo.hostToPlc.VehicleParkingLocation.Value = iValue; //bool bResult = plcInfo.WriteUint16(plcInfo.hostToPlc.VehicleParkingLocation); } private void BtnWrite15_Click(object sender, EventArgs e) { bool bConvert = ushort.TryParse(this.txtValue16.Text, out ushort iValue); if (!bConvert) { MessageBox.Show("请输入有效值"); return; } //PlcStaticInfo.PlcInfos.TryGetValue(1, out PlcInfo plcInfo); //if (plcInfo == null) //{ // MessageBox.Show("PLC未连接"); // return; //} //plcInfo.hostToPlc.VehicleParkingStatus.Value = iValue; //bool bResult = plcInfo.WriteUint16(plcInfo.hostToPlc.VehicleParkingStatus); } /// /// 三色灯 /// /// /// private void BtnWrite16_Click(object sender, EventArgs e) { bool bConvert = ushort.TryParse(this.txtValue17.Text, out ushort iValue); if (!bConvert) { MessageBox.Show("请输入有效值"); return; } //PlcStaticInfo.PlcInfos.TryGetValue(1, out PlcInfo plcInfo); //if (plcInfo == null) //{ // MessageBox.Show("PLC未连接"); // return; //} //plcInfo.hostToPlc.LightIn.Value = iValue; //bool bResult = plcInfo.WriteUint16(plcInfo.hostToPlc.LightIn); } private void BtnWrite17_Click(object sender, EventArgs e) { bool bConvert = ushort.TryParse(this.txtValue16.Text, out ushort iValue); if (!bConvert) { MessageBox.Show("请输入有效值"); return; } //PlcStaticInfo.PlcInfos.TryGetValue(1, out PlcInfo plcInfo); //if (plcInfo == null) //{ // MessageBox.Show("PLC未连接"); // return; //} //plcInfo.hostToPlc.LightOut.Value = iValue; //bool bResult = plcInfo.WriteUint16(plcInfo.hostToPlc.LightOut); } /// /// 锁止异常 /// /// /// private void BtnWrite18_Click(object sender, EventArgs e) { bool bConvert = ushort.TryParse(this.txtValue19.Text, out ushort iValue); if (!bConvert) { MessageBox.Show("请输入有效值"); return; } //PlcStaticInfo.PlcInfos.TryGetValue(1, out PlcInfo plcInfo); //if (plcInfo == null) //{ // MessageBox.Show("PLC未连接"); // return; //} //plcInfo.hostToPlc.StopCommand.Value = iValue; //bool bResult = plcInfo.WriteUint16(plcInfo.hostToPlc.StopCommand); } private void button3_Click(object sender, EventArgs e) { bool bConvert = ushort.TryParse(this.txtValue20.Text, out ushort iValue); if (!bConvert) { MessageBox.Show("请输入有效值"); return; } //PlcStaticInfo.PlcInfos.TryGetValue(1, out PlcInfo plcInfo); //if (plcInfo == null) //{ // MessageBox.Show("PLC未连接"); // return; //} //plcInfo.hostToPlc.TaskType.Value = iValue; //bool bResult = plcInfo.WriteUint16(plcInfo.hostToPlc.TaskType); } /// /// 入仓仓位选择 /// /// /// private void button2_Click(object sender, EventArgs e) { bool bConvert = ushort.TryParse(this.txtValue21.Text, out ushort iValue); if (!bConvert) { MessageBox.Show("请输入有效值"); return; } //PlcStaticInfo.PlcInfos.TryGetValue(1, out PlcInfo plcInfo); //if (plcInfo == null) //{ // MessageBox.Show("PLC未连接"); // return; //} //plcInfo.hostToPlc.EntrySelection.Value = iValue; //bool bResult = plcInfo.WriteUint16(plcInfo.hostToPlc.EntrySelection); } private void button1_Click(object sender, EventArgs e) { bool bConvert = ushort.TryParse(this.txtValue22.Text, out ushort iValue); if (!bConvert) { MessageBox.Show("请输入有效值"); return; } //PlcStaticInfo.PlcInfos.TryGetValue(1, out PlcInfo plcInfo); //if (plcInfo == null) //{ // MessageBox.Show("PLC未连接"); // return; //} //plcInfo.hostToPlc.ExitSelection.Value = iValue; //bool bResult = plcInfo.WriteUint16(plcInfo.hostToPlc.ExitSelection); } private void button5_Click(object sender, EventArgs e) { bool bConvert = ushort.TryParse(this.txtValue23.Text, out ushort iValue); if (!bConvert) { MessageBox.Show("请输入有效值"); return; } //PlcStaticInfo.PlcInfos.TryGetValue(1, out PlcInfo plcInfo); //if (plcInfo == null) //{ // MessageBox.Show("PLC未连接"); // return; //} //plcInfo.hostToPlc.BatteryPackType.Value = iValue; //bool bResult = plcInfo.WriteUint16(plcInfo.hostToPlc.BatteryPackType); } private void button4_Click(object sender, EventArgs e) { bool bConvert = ushort.TryParse(this.txtValue24.Text, out ushort iValue); if (!bConvert) { MessageBox.Show("请输入有效值"); return; } //PlcStaticInfo.PlcInfos.TryGetValue(1, out PlcInfo plcInfo); //if (plcInfo == null) //{ // MessageBox.Show("PLC未连接"); // return; //} //plcInfo.hostToPlc.TaskEnablement.Value = iValue; //bool bResult = plcInfo.WriteUint16(plcInfo.hostToPlc.TaskEnablement); } private void button6_Click(object sender, EventArgs e) { bool bConvert1 = short.TryParse(this.txtValue01.Text, out short iValue1); bool bConvert2 = short.TryParse(this.txtValue02.Text, out short iValue2); bool bConvert3 = short.TryParse(this.txtValue03.Text, out short iValue3); //PlcStaticInfo.PlcInfos.TryGetValue(3, out PlcInfo plcInfo); //if (plcInfo != null) //{ // HostToPlc hostToPlc = new HostToPlc(); // hostToPlc.ProtocolVersion1.Value = iValue1; // hostToPlc.ProtocolVersion2.Value = iValue2; // hostToPlc.ProtocolVersion3.Value = iValue3; // plcInfo.Writeint16(hostToPlc.ProtocolVersion1); // plcInfo.Writeint16(hostToPlc.ProtocolVersion2); // plcInfo.Writeint16(hostToPlc.ProtocolVersion3); //} } /// /// 把采集值显示上来 /// /// /// private void BtnCollectionAssignment_Click(object sender, EventArgs e) { //PlcStaticInfo.PlcInfos.TryGetValue(3, out PlcInfo plcInfo); //if (plcInfo != null) //{ // lblValue01.Text = plcInfo.plcToHost.ProtocolVersion1.Value + "." + // plcInfo.plcToHost.ProtocolVersion2.Value + "." + // plcInfo.plcToHost.ProtocolVersion3.Value; // lblValue02.Text = plcInfo.plcToHost.CommunicationDiagnosis.Value.ToString(); // lblValue03.Text = plcInfo.plcToHost.ModeControl.Value.ToString(); // lblValue04.Text = plcInfo.plcToHost.DeviceSystemStatus.Value.ToString(); // lblValue05.Text = plcInfo.plcToHost.RemoteLocalControlState.Value.ToString(); // lblValue06.Text = plcInfo.plcToHost.LightStatus.Value.ToString(); // lblValue07.Text = plcInfo.plcToHost.ExhaustFanStatus.Value.ToString(); // lblValue08.Text = plcInfo.plcToHost.WaterStatusStation.Value.ToString(); // lblValue10.Text = plcInfo.plcToHost.CarStatus.Value.ToString(); // lblValue11.Text = plcInfo.plcToHost.PercentageTorqueX.Value.ToString(); // lblValue12.Text = plcInfo.plcToHost.PercentageTorqueY.Value.ToString(); // lblValue13.Text = plcInfo.plcToHost.PercentageTorqueZ.Value.ToString(); // lblValue14.Text = plcInfo.plcToHost.RadarStatesIn.Value.ToString(); // lblValue15.Text = plcInfo.plcToHost.RadarStatesOut.Value.ToString(); // lblValue16.Text = plcInfo.plcToHost.SpotPhotoelectricSignal.Value.ToString(); // lblValue17.Text = plcInfo.plcToHost.PhysicalButtonState.Value.ToString(); // lblValue18.Text = plcInfo.plcToHost.LightIn.Value.ToString(); // lblValue19.Text = plcInfo.plcToHost.LightOut.Value.ToString(); // lblValue20.Text = plcInfo.plcToHost.TaskType.Value.ToString(); // lblValue21.Text = plcInfo.plcToHost.TaskStates.Value.ToString(); // lblValue22.Text = plcInfo.plcToHost.OperationalTrainNumber.Value.ToString(); // lblValue23.Text = plcInfo.plcToHost.ChannelLocationState.Value.ToString(); // lblValue24.Text = plcInfo.plcToHost.DeviationX.Value.ToString(); // lblValue25.Text = plcInfo.plcToHost.DeviationY.Value.ToString(); // lblValue26.Text = plcInfo.plcToHost.DeviationZ.Value.ToString(); // txtValue01.Text = plcInfo.hostToPlc.ProtocolVersion1.Value.ToString(); // txtValue02.Text = plcInfo.hostToPlc.ProtocolVersion2.Value.ToString(); // txtValue03.Text = plcInfo.hostToPlc.ProtocolVersion3.Value.ToString(); // txtValue04.Text = plcInfo.hostToPlc.CommunicationDiagnosis.Value.ToString(); // txtValue05.Text = plcInfo.hostToPlc.ModeControl.Value.ToString(); // txtValue06.Text = plcInfo.hostToPlc.EquipmentControl.Value.ToString(); // txtValue07.Text = plcInfo.hostToPlc.ExhaustFanControl.Value.ToString(); // txtValue08.Text = plcInfo.hostToPlc.LightingControl.Value.ToString(); // txtValue09.Text = plcInfo.hostToPlc.Seconds.Value.ToString(); // txtValue10.Text = plcInfo.hostToPlc.Points.Value.ToString(); // txtValue11.Text = plcInfo.hostToPlc.Hour.Value.ToString(); // txtValue12.Text = plcInfo.hostToPlc.Day.Value.ToString(); // txtValue13.Text = plcInfo.hostToPlc.Month.Value.ToString(); // txtValue14.Text = plcInfo.hostToPlc.Years.Value.ToString(); // txtValue15.Text = plcInfo.hostToPlc.VehicleParkingLocation.Value.ToString(); // txtValue16.Text = plcInfo.hostToPlc.VehicleParkingStatus.Value.ToString(); // txtValue17.Text = plcInfo.hostToPlc.LightIn.Value.ToString(); // txtValue18.Text = plcInfo.hostToPlc.LightOut.Value.ToString(); // txtValue19.Text = plcInfo.hostToPlc.StopCommand.Value.ToString(); // txtValue20.Text = plcInfo.hostToPlc.TaskType.Value.ToString(); // txtValue21.Text = plcInfo.hostToPlc.EntrySelection.Value.ToString(); // txtValue22.Text = plcInfo.hostToPlc.ExitSelection.Value.ToString(); // txtValue23.Text = plcInfo.hostToPlc.BatteryPackType.Value.ToString(); // txtValue24.Text = plcInfo.hostToPlc.TaskEnablement.Value.ToString(); // textBox1.Text = plcInfo.hostToPlc.ChargingStatus01.Value.ToString(); // textBox2.Text = plcInfo.hostToPlc.ChargingStatus02.Value.ToString(); // textBox3.Text = plcInfo.hostToPlc.ChargingStatus03.Value.ToString(); // textBox4.Text = plcInfo.hostToPlc.ChargingStatus04.Value.ToString(); // textBox5.Text = plcInfo.hostToPlc.ChargingStatus05.Value.ToString(); // textBox6.Text = plcInfo.hostToPlc.ChargingStatus06.Value.ToString(); // textBox7.Text = plcInfo.hostToPlc.ChargingStatus07.Value.ToString(); // textBox8.Text = plcInfo.hostToPlc.ChargingStatus08.Value.ToString(); // textBox9.Text = plcInfo.hostToPlc.ChargingStatus09.Value.ToString(); // textBox10.Text = plcInfo.hostToPlc.ChargingStatus10.Value.ToString(); // textBox11.Text = plcInfo.hostToPlc.ChargingStatus11.Value.ToString(); // textBox12.Text = plcInfo.hostToPlc.ChargingStatus12.Value.ToString(); // textBox13.Text = plcInfo.hostToPlc.ChargingStatus13.Value.ToString(); // textBox14.Text = plcInfo.hostToPlc.ChargingStatus14.Value.ToString(); // textBox15.Text = plcInfo.hostToPlc.ChargingStatus15.Value.ToString(); // textBox16.Text = plcInfo.hostToPlc.ChargingStatus16.Value.ToString(); // textBox17.Text = plcInfo.hostToPlc.ChargingStatus17.Value.ToString(); // textBox18.Text = plcInfo.hostToPlc.ChargingStatus18.Value.ToString(); // textBox19.Text = plcInfo.hostToPlc.ChargingStatus19.Value.ToString(); // textBox20.Text = plcInfo.hostToPlc.ChargingStatus20.Value.ToString(); // textBox21.Text = plcInfo.hostToPlc.BatteryType01.Value.ToString(); // textBox22.Text = plcInfo.hostToPlc.BatteryType02.Value.ToString(); // textBox23.Text = plcInfo.hostToPlc.BatteryType03.Value.ToString(); // textBox24.Text = plcInfo.hostToPlc.BatteryType04.Value.ToString(); // textBox25.Text = plcInfo.hostToPlc.BatteryType05.Value.ToString(); // textBox26.Text = plcInfo.hostToPlc.BatteryType06.Value.ToString(); // textBox27.Text = plcInfo.hostToPlc.BatteryType07.Value.ToString(); // textBox28.Text = plcInfo.hostToPlc.BatteryType08.Value.ToString(); // textBox29.Text = plcInfo.hostToPlc.BatteryType09.Value.ToString(); // textBox30.Text = plcInfo.hostToPlc.BatteryType10.Value.ToString(); // textBox31.Text = plcInfo.hostToPlc.BatteryType11.Value.ToString(); // textBox32.Text = plcInfo.hostToPlc.BatteryType12.Value.ToString(); // textBox33.Text = plcInfo.hostToPlc.BatteryType13.Value.ToString(); // textBox34.Text = plcInfo.hostToPlc.BatteryType14.Value.ToString(); // textBox35.Text = plcInfo.hostToPlc.BatteryType15.Value.ToString(); // textBox36.Text = plcInfo.hostToPlc.BatteryType16.Value.ToString(); // textBox37.Text = plcInfo.hostToPlc.BatteryType17.Value.ToString(); // textBox38.Text = plcInfo.hostToPlc.BatteryType18.Value.ToString(); // textBox39.Text = plcInfo.hostToPlc.BatteryType19.Value.ToString(); // textBox40.Text = plcInfo.hostToPlc.BatteryType20.Value.ToString(); //} } } }