C# Net并连接到ModBus.Slave

C# Net并连接到ModBus.Slave,c#,modbus,modbus-tcp,C#,Modbus,Modbus Tcp,我首先说我是modbus世界的新手,我以前从未听说过。 我被要求使用Modbus.Net.Modbus/Modbus.Net与Modbus.Slave(模拟真实Modbus环境)接口 我不能做的第一件事就是连接到从机。我已经阅读了文档并输入了以下代码 private async void ButtonBase_OnClick(object sender, RoutedEventArgs e) { if (machine == null) {

我首先说我是modbus世界的新手,我以前从未听说过。 我被要求使用Modbus.Net.Modbus/Modbus.Net与Modbus.Slave(模拟真实Modbus环境)接口

我不能做的第一件事就是连接到从机。我已经阅读了文档并输入了以下代码

private async void ButtonBase_OnClick(object sender, RoutedEventArgs e)
    {
        if (machine == null)
        {
            machine = new ModbusMachine(ModbusType.Tcp, "127.0.0.1:504", new List<AddressUnit>()
            {

                new AddressUnit()
                {
                    Id = "1",
                    Area = "4X",
                    Address = 1,
                    CommunicationTag = "Add1",
                    DataType = typeof(ushort),
                    Zoom = 1,
                    DecimalPos = 0
                }
            }, 2, 0);


        }


        machine.KeepConnect = true;
        machine.Connect();
        var resultFormat = (await machine.GetDatasAsync(MachineGetDataType.CommunicationTag))
            .MapGetValuesToSetValues();
    }
private async void按钮base\u OnClick(对象发送方,RoutedEventArgs e)
{
if(machine==null)
{
machine=新的ModbusMachine(ModbusType.Tcp,“127.0.0.1:504”,新列表()
{
新地址单元()
{
Id=“1”,
Area=“4X”,
地址=1,
CommunicationTag=“Add1”,
数据类型=类型(ushort),
缩放=1,
分贝=0
}
}, 2, 0);
}
machine.KeepConnect=true;
machine.Connect();
var resultFormat=(等待machine.GetDatasAsync(MachineGetDataType.CommunicationTag))
.MapGetValuesToSetValues();
}
现在ModBus.Slave在端口504的本地主机上运行,就像我尝试过的那样(因为我没有找到端口属性),它从不连接

任何人都在使用这样的库,可以帮助我发现如何设置连接吗?
谢谢

你说的“永不联系”是什么意思?挂断?套接字错误?您在
netstat
中看到端口了吗?在连接之后,它返回IsConnected=false…一点错误都没有…我没有尝试使用netstat