这里用的是HslCommunication开放的协议
添加引用,并添加到命名空间
using HslCommunication;
using HslCommunication.ModBus;
1.建立连接,这里需要PLC的IP地址和端口号
public ModbusTcpNet busTcpClient1 = new ModbusTcpNet(PLCIP, PLCPort);
2.判断是否连接PLC成功,一般PLC是被设置连接时间为20秒,
OperateResult result = busTcpClient1.ConnectServer();
if (!result.IsSuccess)
{
MessageBox.Show("连接失败!");
return;
}
- 读取操作。 连接成功后,根据PLC地址位来进行读写,切记数据类型一定是对应的
| C#数据类型| SHOER|INT| STRING|BOOL|FLOAT|DOUBLE|LONG|UINT|USHORT|
|–|–|–|–|–|–|–|–|–|–|
| PLC数据类型|INT|DINT| WORD和STRING|BOOL|FLOAT|DOUBLE|LONG|UINT|USHORT|
有的数据在PLC 中是占据两个地址位的,DINT、FLOAT、DOUBLE。
short r_short= PlcCommon.busTcpClient1.ReadInt16("address").Content;
这个就是读取的操作,别的类型操作都是一样的。
4.写入操作。
注意写入的值也要和地址位中的类型一样。否则可能就会写入失败
OperateResult operate = PlcCommon.busTcpClient1.Write("address",Convert.ToInt32(value););
if (!operate.IsSuccess)
{
MessageBox.Show("写入失败!");
return;
}
以上就是PLC与C#中的读写操作。