使用vs2015,库使用的版本12.0.2.0连接但是没有办法写入和读取
使用12.02.0报错:"Socket Exception -> 接收数据超时:5000"
` private async void OpenPLC()
{
try
{
//
//melsec_net = new MelsecMcAsciiNet(PLCIP, Convert.ToInt16(PLCPots));
melsec_net.IpAddress = textBox4.Text;
int port = Convert.ToInt32(textBox5.Text);
//if (!int.TryParse(textBox5.Text, out int port))
//{
// logger.Info("端口转换失败!");
// return;
//}
logger.Info("plc的IP:" + melsec_net.IpAddress);
logger.Info("plc的端口:" + port);
melsec_net.Port = port;
melsec_net.ConnectClose();
melsec_net.EnableWriteBitToWordRegister = false;
melsec_net.ByteTransform.IsStringReverseByteWord = false;
// 尝试连接
OperateResult connect = await melsec_net.ConnectServerAsync();
if (connect.IsSuccess)
{
listBox2.Items.Add("连接PLC成功!");
logger.Info("连接PLC成功!");
// 再次检查连接状态
// 尝试写入操作
OperateResult writeResult = await melsec_net.WriteAsync("M3", true);
if (writeResult.IsSuccess)
{
// 处理
Invoke((MethodInvoker)delegate
{
listBox2.Items.Add("写入成功,自动启动");
panel1.Invalidate();
// MessageBox.Show("写入成功");
});
}
else
{
// 处理异常
Invoke((MethodInvoker)delegate
{
listBox2.Items.Add("写入失败,启动自动失败");
});
}
}
else
{
// 处理异常
Invoke((MethodInvoker)delegate
{
listBox2.Items.Add("连接PLC失败!");
logger.Info("连接PLC失败!");
});
}
}
catch (Exception ex)
{
// 处理异常
Invoke((MethodInvoker)delegate
{
Console.WriteLine("Error opening serial port: " + ex.Message);
logger.Error($"发生错误:{ex.Message}");
});
}
}`
使用vs2015,库使用的版本12.0.2.0连接但是没有办法写入和读取
使用12.02.0报错:"Socket Exception -> 接收数据超时:5000"
` private async void OpenPLC()
{
try
{
//
//melsec_net = new MelsecMcAsciiNet(PLCIP, Convert.ToInt16(PLCPots));
melsec_net.IpAddress = textBox4.Text;
int port = Convert.ToInt32(textBox5.Text);
//if (!int.TryParse(textBox5.Text, out int port))
//{
// logger.Info("端口转换失败!");
// return;
//}
logger.Info("plc的IP:" + melsec_net.IpAddress);
logger.Info("plc的端口:" + port);
melsec_net.Port = port;
melsec_net.ConnectClose();
melsec_net.EnableWriteBitToWordRegister = false;
melsec_net.ByteTransform.IsStringReverseByteWord = false;
}`