using HslCommunication;
using HslCommunication.Core.Address;
using HslCommunication.ModBus;
using HybirdFrameworkCore.Utils;
using HybirdFrameworkDriver.ModbusTcpMaster;
using HybirdFrameworkDriver.TcpServer;
using HybirdFrameworkServices.Init.Entity;
using HybirdFrameworkServices.Plc;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using static StackExchange.Redis.Role;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.Button;
namespace WinFormStarter
{
public partial class FrmPLCConnect : Form
{
#region 连接参数
///
/// ModbusTcp客户端
///
public static ModbusTcpNet _client = null;
public string _ipaddr
{
get
{
return TxtIp.Text;
}
set { }
}
public int _port
{
get
{
return Convert.ToInt32(TxtPort.Text);
}
set { }
}
public byte _site
{
get
{
return Convert.ToByte(TxtSite.Text);
}
set { }
}
#endregion
PlcDate PlcDate = new PlcDate();
public FrmPLCConnect()
{
InitializeComponent();
}
#region 连接
private void BtnConnect_Click(object sender, EventArgs e)
{
//简单判断
if (string.IsNullOrEmpty(_ipaddr))
{
MessageBox.Show("IP地址不能为空");
return;
}
if (string.IsNullOrEmpty(TxtPort.Text))
{
MessageBox.Show("端口号不能为空");
return;
}
if (string.IsNullOrEmpty(TxtSite.Text))
{
MessageBox.Show("站号不能为空");
return;
}
_client = new ModbusTcpNet(_ipaddr, _port, _site);
OperateResult OptRet = _client.ConnectServer();
if (OptRet.IsSuccess)
{
LblConState.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "连接成功";
BtnCollectionAssignment.Enabled = true;
//OperateResult writeResult = _client.Write("x=6;1", "");
}
if (OptRet.IsSuccess)
{
LblConState.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "连接失败";
}
}
#endregion
#region 读取
private void BtnCollectionAssignment_Click(object sender, EventArgs e)
{
ChargerStaticInfo.PlcInfos.TryGetValue(1, out PlcInfo plcInfo);
if (plcInfo==null)
{
MessageBox.Show("PLC未连接");
return;
}
textBox1.Text = plcInfo.PlcReadAndWritten1.ProgrammingEnable.ToString();
textBox2.Text = plcInfo.PlcReadAndWritten1.Modbus1Addres.ToString();
textBox3.Text = plcInfo.PlcReadAndWritten1.BaudRate.ToString();
textBox4.Text = plcInfo.PlcReadAndWritten1.CheckBit.ToString();
textBox5.Text = plcInfo.PlcReadAndWritten2.Seconds.ToString();
textBox6.Text = plcInfo.PlcReadAndWritten2.Points.ToString();
textBox7.Text = plcInfo.PlcReadAndWritten2.When.ToString();
textBox8.Text = plcInfo.PlcReadAndWritten2.Weeks.ToString();
textBox9.Text = plcInfo.PlcReadAndWritten2.Day.ToString();
textBox10.Text = plcInfo.PlcReadAndWritten2.Month.ToString();
textBox11.Text = plcInfo.PlcReadAndWritten2.Years.ToString();
textBox12.Text = plcInfo.PlcReadAndWritten2.Modbus1Addres2.ToString();
textBox13.Text = plcInfo.PlcReadAndWritten2.Reserve.ToString();
textBox14.Text = plcInfo.PlcReadAndWritten2.VoltageRatio.ToString();
textBox15.Text = plcInfo.PlcReadAndWritten2.CurrentRatio.ToString();
textBox16.Text = plcInfo.PlcReadAndWritten1.PulsePerSecond.ToString();
textBox17.Text = plcInfo.PlcReadAndWritten1.CurrentReversal.ToString();
textBox18.Text = plcInfo.PlcReadAndWritten1.MeterReset.ToString();
string datetime = plcInfo.PlcReadAndWritten2.Years + "-" +
plcInfo.PlcReadAndWritten2.Month + "-" +
plcInfo.PlcReadAndWritten2.Day + " " +
plcInfo.PlcReadAndWritten2.When + ":" +
plcInfo.PlcReadAndWritten2.Points + ":" +
plcInfo.PlcReadAndWritten2.Seconds;
}
#endregion
#region 切换数据
bool now;
private void BtnToggle_Click(object sender, EventArgs e)
{
ChargerStaticInfo.PlcInfos.TryGetValue(1, out PlcInfo plcInfo);
if (plcInfo == null)
{
MessageBox.Show("PLC未连接");
return;
}
now = !now;
if (now)
{
#region
label31.Text = plcInfo.PlcReadonly.GroupHaveAll.ToString();
label29.Text = plcInfo.PlcReadonly.GroupHaveTip.ToString();
label27.Text = plcInfo.PlcReadonly.GroupHavePeak.ToString();
label25.Text = plcInfo.PlcReadonly.GroupHaveFlat.ToString();
label19.Text = plcInfo.PlcReadonly.GroupHaveValley.ToString();
label40.Text = plcInfo.PlcReadonly.ForwardHaveAll.ToString();
label38.Text = plcInfo.PlcReadonly.ForwardHaveTip.ToString();
label36.Text = plcInfo.PlcReadonly.ForwardHavePeak.ToString();
label34.Text = plcInfo.PlcReadonly.ForwardHaveFlat.ToString();
label32.Text = plcInfo.PlcReadonly.ForwardHaveValley.ToString();
label50.Text = plcInfo.PlcReadonly.ReverseHaveAll.ToString();
label48.Text = plcInfo.PlcReadonly.ReverseHaveTip.ToString();
label46.Text = plcInfo.PlcReadonly.ReverseHavePeak.ToString();
label44.Text = plcInfo.PlcReadonly.ReverseHaveFlat.ToString();
label42.Text = plcInfo.PlcReadonly.ReverseHaveValley.ToString();
label60.Text = plcInfo.PlcReadonly.GroupNoAll1.ToString();
label58.Text = plcInfo.PlcReadonly.GroupNoTip1.ToString();
label56.Text = plcInfo.PlcReadonly.GroupNoPeak1.ToString();
label54.Text = plcInfo.PlcReadonly.GroupNoFlat1.ToString();
label52.Text = plcInfo.PlcReadonly.GroupNoValley1.ToString();
label70.Text = plcInfo.PlcReadonly.GroupNoAll2.ToString();
label68.Text = plcInfo.PlcReadonly.GroupNoTip2.ToString();
label66.Text = plcInfo.PlcReadonly.GroupNoPeak2.ToString();
label64.Text = plcInfo.PlcReadonly.GroupNoFlat2.ToString();
label62.Text = plcInfo.PlcReadonly.GroupNoValley2.ToString();
label80.Text = plcInfo.PlcReadonly.QuadrantNoAll1.ToString();
label78.Text = plcInfo.PlcReadonly.QuadrantNoTip1.ToString();
label76.Text = plcInfo.PlcReadonly.QuadrantNoPeak1.ToString();
label74.Text = plcInfo.PlcReadonly.QuadrantNoFlat1.ToString();
label72.Text = plcInfo.PlcReadonly.QuadrantNoValley1.ToString();
label90.Text = plcInfo.PlcReadonly.QuadrantNoAll2.ToString();
label88.Text = plcInfo.PlcReadonly.QuadrantNoTip2.ToString();
label86.Text = plcInfo.PlcReadonly.QuadrantNoPeak2.ToString();
label84.Text = plcInfo.PlcReadonly.QuadrantNoFlat2.ToString();
label82.Text = plcInfo.PlcReadonly.QuadrantNoValley2.ToString();
label100.Text = plcInfo.PlcReadonly.QuadrantNoAll3.ToString();
label98.Text = plcInfo.PlcReadonly.QuadrantNoTip3.ToString();
label96.Text = plcInfo.PlcReadonly.QuadrantNoPeak3.ToString();
label94.Text = plcInfo.PlcReadonly.QuadrantNoFlat3.ToString();
label92.Text = plcInfo.PlcReadonly.QuadrantNoValley3.ToString();
label110.Text = plcInfo.PlcReadonly.QuadrantNoAll4.ToString();
label108.Text = plcInfo.PlcReadonly.QuadrantNoTip4.ToString();
label106.Text = plcInfo.PlcReadonly.QuadrantNoPeak4.ToString();
label104.Text = plcInfo.PlcReadonly.QuadrantNoFlat4.ToString();
label102.Text = plcInfo.PlcReadonly.QuadrantNoValley4.ToString();
label120.Text = plcInfo.PlcReadonly.ForwardHaveApparentAll.ToString();
label118.Text = plcInfo.PlcReadonly.ForwardHaveApparentTip.ToString();
label116.Text = plcInfo.PlcReadonly.ForwardHaveApparentPeak.ToString();
label114.Text = plcInfo.PlcReadonly.ForwardHaveApparentFlat.ToString();
label112.Text = plcInfo.PlcReadonly.ForwardHaveApparentValley.ToString();
label130.Text = plcInfo.PlcReadonly.ReverseHaveApparentAll.ToString();
label128.Text = plcInfo.PlcReadonly.ReverseHaveApparentTip.ToString();
label126.Text = plcInfo.PlcReadonly.ReverseHaveApparentPeak.ToString();
label124.Text = plcInfo.PlcReadonly.ReverseHaveApparentFlat.ToString();
label122.Text = plcInfo.PlcReadonly.ReverseHaveApparentValley.ToString();
label140.Text = plcInfo.PlcReadonly.PhaseVoltageA.ToString();
label138.Text = plcInfo.PlcReadonly.PhaseVoltageB.ToString();
label136.Text = plcInfo.PlcReadonly.PhaseVoltageC.ToString();
label134.Text = plcInfo.PlcReadonly.PhaseElectricityA.ToString();
label132.Text = plcInfo.PlcReadonly.PhaseElectricityB.ToString();
label172.Text = plcInfo.PlcReadonly.PhaseElectricityC.ToString();
label150.Text = plcInfo.PlcReadonly.TotalActivePower.ToString();
label148.Text = plcInfo.PlcReadonly.TotalActivePowerA.ToString();
label146.Text = plcInfo.PlcReadonly.TotalActivePowerB.ToString();
label144.Text = plcInfo.PlcReadonly.TotalActivePowerC.ToString();
label160.Text = plcInfo.PlcReadonly.TotalReactivePower.ToString();
label158.Text = plcInfo.PlcReadonly.TotalReactivePowerA.ToString();
label156.Text = plcInfo.PlcReadonly.TotalReactivePowerB.ToString();
label144.Text = plcInfo.PlcReadonly.TotalReactivePowerC.ToString();
label170.Text = plcInfo.PlcReadonly.TotalApparentPower.ToString();
label168.Text = plcInfo.PlcReadonly.TotalApparentPowerA.ToString();
label166.Text = plcInfo.PlcReadonly.TotalApparentPowerB.ToString();
label164.Text = plcInfo.PlcReadonly.TotalApparentPowerC.ToString();
label192.Text = plcInfo.PlcReadonly.OverallPowerFactor.ToString();
label190.Text = plcInfo.PlcReadonly.OverallPowerFactorA.ToString();
label188.Text = plcInfo.PlcReadonly.OverallPowerFactorB.ToString();
label184.Text = plcInfo.PlcReadonly.OverallPowerFactorC.ToString();
label174.Text = plcInfo.PlcReadonly.PhaseAngleA.ToString();
label162.Text = plcInfo.PlcReadonly.PhaseAngleB.ToString();
label152.Text = plcInfo.PlcReadonly.PhaseAngleC.ToString();
label142.Text = plcInfo.PlcReadonly.LineFrequency.ToString();
label184.Text = plcInfo.PlcReadonly.PhaseLineVoltageA.ToString();
label182.Text = plcInfo.PlcReadonly.PhaseLineVoltageB.ToString();
label180.Text = plcInfo.PlcReadonly.PhaseLineVoltageC.ToString();
label178.Text = plcInfo.PlcReadonly.ThreePhaseMeanLineVoltage.ToString();
label176.Text = plcInfo.PlcReadonly.ThreePhaseMeanPhaseVoltage.ToString();
#endregion
}
if (now)
{
#region
label31.Text = plcInfo.PlcTurnsRatio.GroupHaveAll.ToString();
label29.Text = plcInfo.PlcTurnsRatio.GroupHaveTip.ToString();
label27.Text = plcInfo.PlcTurnsRatio.GroupHavePeak.ToString();
label25.Text = plcInfo.PlcTurnsRatio.GroupHaveFlat.ToString();
label19.Text = plcInfo.PlcTurnsRatio.GroupHaveValley.ToString();
label40.Text = plcInfo.PlcTurnsRatio.ForwardHaveAll.ToString();
label38.Text = plcInfo.PlcTurnsRatio.ForwardHaveTip.ToString();
label36.Text = plcInfo.PlcTurnsRatio.ForwardHavePeak.ToString();
label34.Text = plcInfo.PlcTurnsRatio.ForwardHaveFlat.ToString();
label32.Text = plcInfo.PlcTurnsRatio.ForwardHaveValley.ToString();
label50.Text = plcInfo.PlcTurnsRatio.ReverseHaveAll.ToString();
label48.Text = plcInfo.PlcTurnsRatio.ReverseHaveTip.ToString();
label46.Text = plcInfo.PlcTurnsRatio.ReverseHavePeak.ToString();
label44.Text = plcInfo.PlcTurnsRatio.ReverseHaveFlat.ToString();
label42.Text = plcInfo.PlcTurnsRatio.ReverseHaveValley.ToString();
label60.Text = plcInfo.PlcTurnsRatio.GroupNoAll1.ToString();
label58.Text = plcInfo.PlcTurnsRatio.GroupNoTip1.ToString();
label56.Text = plcInfo.PlcTurnsRatio.GroupNoPeak1.ToString();
label54.Text = plcInfo.PlcTurnsRatio.GroupNoFlat1.ToString();
label52.Text = plcInfo.PlcTurnsRatio.GroupNoValley1.ToString();
label70.Text = plcInfo.PlcTurnsRatio.GroupNoAll2.ToString();
label68.Text = plcInfo.PlcTurnsRatio.GroupNoTip2.ToString();
label66.Text = plcInfo.PlcTurnsRatio.GroupNoPeak2.ToString();
label64.Text = plcInfo.PlcTurnsRatio.GroupNoFlat2.ToString();
label62.Text = plcInfo.PlcTurnsRatio.GroupNoValley2.ToString();
label80.Text = plcInfo.PlcTurnsRatio.QuadrantNoAll1.ToString();
label78.Text = plcInfo.PlcTurnsRatio.QuadrantNoTip1.ToString();
label76.Text = plcInfo.PlcTurnsRatio.QuadrantNoPeak1.ToString();
label74.Text = plcInfo.PlcTurnsRatio.QuadrantNoFlat1.ToString();
label72.Text = plcInfo.PlcTurnsRatio.QuadrantNoValley1.ToString();
label90.Text = plcInfo.PlcTurnsRatio.QuadrantNoAll2.ToString();
label88.Text = plcInfo.PlcTurnsRatio.QuadrantNoTip2.ToString();
label86.Text = plcInfo.PlcTurnsRatio.QuadrantNoPeak2.ToString();
label84.Text = plcInfo.PlcTurnsRatio.QuadrantNoFlat2.ToString();
label82.Text = plcInfo.PlcTurnsRatio.QuadrantNoValley2.ToString();
label100.Text = plcInfo.PlcTurnsRatio.QuadrantNoAll3.ToString();
label98.Text = plcInfo.PlcTurnsRatio.QuadrantNoTip3.ToString();
label96.Text = plcInfo.PlcTurnsRatio.QuadrantNoPeak3.ToString();
label94.Text = plcInfo.PlcTurnsRatio.QuadrantNoFlat3.ToString();
label92.Text = plcInfo.PlcTurnsRatio.QuadrantNoValley3.ToString();
label110.Text = plcInfo.PlcTurnsRatio.QuadrantNoAll4.ToString();
label108.Text = plcInfo.PlcTurnsRatio.QuadrantNoTip4.ToString();
label106.Text = plcInfo.PlcTurnsRatio.QuadrantNoPeak4.ToString();
label104.Text = plcInfo.PlcTurnsRatio.QuadrantNoFlat4.ToString();
label102.Text = plcInfo.PlcTurnsRatio.QuadrantNoValley4.ToString();
label120.Text = plcInfo.PlcTurnsRatio.ForwardHaveApparentAll.ToString();
label118.Text = plcInfo.PlcTurnsRatio.ForwardHaveApparentTip.ToString();
label116.Text = plcInfo.PlcTurnsRatio.ForwardHaveApparentPeak.ToString();
label114.Text = plcInfo.PlcTurnsRatio.ForwardHaveApparentFlat.ToString();
label112.Text = plcInfo.PlcTurnsRatio.ForwardHaveApparentValley.ToString();
label130.Text = plcInfo.PlcTurnsRatio.ReverseHaveApparentAll.ToString();
label128.Text = plcInfo.PlcTurnsRatio.ReverseHaveApparentTip.ToString();
label126.Text = plcInfo.PlcTurnsRatio.ReverseHaveApparentPeak.ToString();
label124.Text = plcInfo.PlcTurnsRatio.ReverseHaveApparentFlat.ToString();
label122.Text = plcInfo.PlcTurnsRatio.ReverseHaveApparentValley.ToString();
#endregion
}
}
#endregion
#region 方法
#endregion 写入方法
private void BtnWrite01_Click(object sender, EventArgs e)
{
bool bConvert = int.TryParse(this.textBox1.Text, out int iValue);
if (!bConvert)
{
MessageBox.Show("请输入有效值");
return;
}
ChargerStaticInfo.PlcInfos.TryGetValue(1, out PlcInfo plcInfo);
if(plcInfo == null)
{
MessageBox.Show("PLC未连接");
return;
}
ModbusSession session = SessionMgr.GetModbusSession(plcInfo.ChannelId);
bool bResult=session.Write(PlcDate.ProgrammingEnable);
}
private void BtnWrite02_Click(object sender, EventArgs e)
{
bool bConvert = int.TryParse(this.textBox2.Text, out int iValue);
if (!bConvert)
{
MessageBox.Show("请输入有效值");
return;
}
ChargerStaticInfo.PlcInfos.TryGetValue(1, out PlcInfo plcInfo);
if (plcInfo == null)
{
MessageBox.Show("PLC未连接");
return;
}
ModbusSession session = SessionMgr.GetModbusSession(plcInfo.ChannelId);
bool bResult = session.Write(PlcDate.Modbus1Addres);
}
private void BtnWrite03_Click(object sender, EventArgs e)
{
bool bConvert = int.TryParse(this.textBox3.Text, out int iValue);
if (!bConvert)
{
MessageBox.Show("请输入有效值");
return;
}
ChargerStaticInfo.PlcInfos.TryGetValue(1, out PlcInfo plcInfo);
if (plcInfo == null)
{
MessageBox.Show("PLC未连接");
return;
}
ModbusSession session = SessionMgr.GetModbusSession(plcInfo.ChannelId);
bool bResult = session.Write(PlcDate.BaudRate);
}
private void BtnWrite04_Click(object sender, EventArgs e)
{
bool bConvert = int.TryParse(this.textBox4.Text, out int iValue);
if (!bConvert)
{
MessageBox.Show("请输入有效值");
return;
}
ChargerStaticInfo.PlcInfos.TryGetValue(1, out PlcInfo plcInfo);
if (plcInfo == null)
{
MessageBox.Show("PLC未连接");
return;
}
ModbusSession session = SessionMgr.GetModbusSession(plcInfo.ChannelId);
bool bResult = session.Write(PlcDate.CheckBit);
}
private void BtnWrite05_Click(object sender, EventArgs e)
{
bool bConvert = int.TryParse(this.textBox5.Text, out int iValue);
if (!bConvert)
{
MessageBox.Show("请输入有效值");
return;
}
ChargerStaticInfo.PlcInfos.TryGetValue(1, out PlcInfo plcInfo);
if (plcInfo == null)
{
MessageBox.Show("PLC未连接");
return;
}
ModbusSession session = SessionMgr.GetModbusSession(plcInfo.ChannelId);
bool bResult = session.Write(PlcDate.Seconds);
}
private void BtnWrite06_Click(object sender, EventArgs e)
{
bool bConvert = int.TryParse(this.textBox6.Text, out int iValue);
if (!bConvert)
{
MessageBox.Show("请输入有效值");
return;
}
ChargerStaticInfo.PlcInfos.TryGetValue(1, out PlcInfo plcInfo);
if (plcInfo == null)
{
MessageBox.Show("PLC未连接");
return;
}
ModbusSession session = SessionMgr.GetModbusSession(plcInfo.ChannelId);
bool bResult = session.Write(PlcDate.Points);
}
private void BtnWrite07_Click(object sender, EventArgs e)
{
bool bConvert = int.TryParse(this.textBox7.Text, out int iValue);
if (!bConvert)
{
MessageBox.Show("请输入有效值");
return;
}
ChargerStaticInfo.PlcInfos.TryGetValue(1, out PlcInfo plcInfo);
if (plcInfo == null)
{
MessageBox.Show("PLC未连接");
return;
}
ModbusSession session = SessionMgr.GetModbusSession(plcInfo.ChannelId);
bool bResult = session.Write(PlcDate.When);
}
private void BtnWrite08_Click(object sender, EventArgs e)
{
bool bConvert = int.TryParse(this.textBox8.Text, out int iValue);
if (!bConvert)
{
MessageBox.Show("请输入有效值");
return;
}
ChargerStaticInfo.PlcInfos.TryGetValue(1, out PlcInfo plcInfo);
if (plcInfo == null)
{
MessageBox.Show("PLC未连接");
return;
}
ModbusSession session = SessionMgr.GetModbusSession(plcInfo.ChannelId);
bool bResult = session.Write(PlcDate.Weeks);
}
private void BtnWrite09_Click(object sender, EventArgs e)
{
bool bConvert = int.TryParse(this.textBox9.Text, out int iValue);
if (!bConvert)
{
MessageBox.Show("请输入有效值");
return;
}
ChargerStaticInfo.PlcInfos.TryGetValue(1, out PlcInfo plcInfo);
if (plcInfo == null)
{
MessageBox.Show("PLC未连接");
return;
}
ModbusSession session = SessionMgr.GetModbusSession(plcInfo.ChannelId);
bool bResult = session.Write(PlcDate.Day);
}
private void BtnWrite10_Click(object sender, EventArgs e)
{
bool bConvert = int.TryParse(this.textBox10.Text, out int iValue);
if (!bConvert)
{
MessageBox.Show("请输入有效值");
return;
}
ChargerStaticInfo.PlcInfos.TryGetValue(1, out PlcInfo plcInfo);
if (plcInfo == null)
{
MessageBox.Show("PLC未连接");
return;
}
ModbusSession session = SessionMgr.GetModbusSession(plcInfo.ChannelId);
bool bResult = session.Write(PlcDate.Month);
}
private void BtnWrite11_Click(object sender, EventArgs e)
{
bool bConvert = int.TryParse(this.textBox11.Text, out int iValue);
if (!bConvert)
{
MessageBox.Show("请输入有效值");
return;
}
ChargerStaticInfo.PlcInfos.TryGetValue(1, out PlcInfo plcInfo);
if (plcInfo == null)
{
MessageBox.Show("PLC未连接");
return;
}
ModbusSession session = SessionMgr.GetModbusSession(plcInfo.ChannelId);
bool bResult = session.Write(PlcDate.Years);
}
private void BtnWrite12_Click(object sender, EventArgs e)
{
bool bConvert = int.TryParse(this.textBox12.Text, out int iValue);
if (!bConvert)
{
MessageBox.Show("请输入有效值");
return;
}
ChargerStaticInfo.PlcInfos.TryGetValue(1, out PlcInfo plcInfo);
if (plcInfo == null)
{
MessageBox.Show("PLC未连接");
return;
}
ModbusSession session = SessionMgr.GetModbusSession(plcInfo.ChannelId);
bool bResult = session.Write(PlcDate.Modbus1Addres2);
}
private void BtnWrite13_Click(object sender, EventArgs e)
{
bool bConvert = int.TryParse(this.textBox13.Text, out int iValue);
if (!bConvert)
{
MessageBox.Show("请输入有效值");
return;
}
ChargerStaticInfo.PlcInfos.TryGetValue(1, out PlcInfo plcInfo);
if (plcInfo == null)
{
MessageBox.Show("PLC未连接");
return;
}
ModbusSession session = SessionMgr.GetModbusSession(plcInfo.ChannelId);
bool bResult = session.Write(PlcDate.Reserve);
}
private void BtnWrite14_Click(object sender, EventArgs e)
{
bool bConvert = int.TryParse(this.textBox14.Text, out int iValue);
if (!bConvert)
{
MessageBox.Show("请输入有效值");
return;
}
ChargerStaticInfo.PlcInfos.TryGetValue(1, out PlcInfo plcInfo);
if (plcInfo == null)
{
MessageBox.Show("PLC未连接");
return;
}
ModbusSession session = SessionMgr.GetModbusSession(plcInfo.ChannelId);
bool bResult = session.Write(PlcDate.VoltageRatio);
}
private void BtnWrite15_Click(object sender, EventArgs e)
{
bool bConvert = int.TryParse(this.textBox15.Text, out int iValue);
if (!bConvert)
{
MessageBox.Show("请输入有效值");
return;
}
ChargerStaticInfo.PlcInfos.TryGetValue(1, out PlcInfo plcInfo);
if (plcInfo == null)
{
MessageBox.Show("PLC未连接");
return;
}
ModbusSession session = SessionMgr.GetModbusSession(plcInfo.ChannelId);
bool bResult = session.Write(PlcDate.CurrentRatio);
}
private void BtnWrite16_Click(object sender, EventArgs e)
{
bool bConvert = int.TryParse(this.textBox16.Text, out int iValue);
if (!bConvert)
{
MessageBox.Show("请输入有效值");
return;
}
ChargerStaticInfo.PlcInfos.TryGetValue(1, out PlcInfo plcInfo);
if (plcInfo == null)
{
MessageBox.Show("PLC未连接");
return;
}
ModbusSession session = SessionMgr.GetModbusSession(plcInfo.ChannelId);
bool bResult = session.Write(PlcDate.PulsePerSecond);
}
private void BtnWrite17_Click(object sender, EventArgs e)
{
bool bConvert = int.TryParse(this.textBox15.Text, out int iValue);
if (!bConvert)
{
MessageBox.Show("请输入有效值");
return;
}
ChargerStaticInfo.PlcInfos.TryGetValue(1, out PlcInfo plcInfo);
if (plcInfo == null)
{
MessageBox.Show("PLC未连接");
return;
}
ModbusSession session = SessionMgr.GetModbusSession(plcInfo.ChannelId);
bool bResult = session.Write(PlcDate.CurrentReversal);
}
private void BtnWrite18_Click(object sender, EventArgs e)
{
bool bConvert = int.TryParse(this.textBox16.Text, out int iValue);
if (!bConvert)
{
MessageBox.Show("请输入有效值");
return;
}
ChargerStaticInfo.PlcInfos.TryGetValue(1, out PlcInfo plcInfo);
if (plcInfo == null)
{
MessageBox.Show("PLC未连接");
return;
}
ModbusSession session = SessionMgr.GetModbusSession(plcInfo.ChannelId);
bool bResult = session.Write(PlcDate.MeterReset);
}
#region 进制数据转换
#endregion
}
}