1. 引用HslCommunication
Nuget包里边添加 HslCommunication包的引用

2.创建PLC连接对象,并通过 IP,端口进行连接
//PLC连接对象
var plc = new MelsecMcNet(_ip, _port);
plc.ConnectTimeOut = 3000;
var res = plc.ConnectServer();//连接PLC
isConnect = res.IsSuccess;
3.读写操作
//// 读取操作
var D2200_D2201 = plc.Read("D2200", 4);
if (D2200_D2201.IsSuccess)
{
PLCDataInfo.D2200 = plc.ByteTransform.TransInt16(new byte[] { D2200_D2201.Content[0], D2200_D2201.Content[1] }, 0);
PLCDataInfo.D2201 = plc.ByteTransform.TransInt16(new byte[] { D2200_D2201.Content[2], D2200_D2201.Content[3] }, 0);
}
//X Y的读取 默认16进制,8进制的前面补0
PLCDataInfo.X13 = plc.ReadBool("X013").Content;
PLCDataInfo.X14 = plc.ReadBool("X014").Content;
PLCDataInfo.Y34 = plc.ReadBool("Y034").Content;
PLCDataInfo.Y50 = plc.ReadBool("Y050").Content;
//M 的读取 返回bool类型
var M700 = plc.ReadBool("M700");
PLCDataInfo.M700 = M700.Content ? 1 : 0;
//// D寄存器 单地址 读取操作
PLCDataInfo.D2201 = plc.ReadInt16("D2201").Content;
PLCDataInfo.D2202 = plc.ReadInt16("D2202").Content;
PLCDataInfo.D2203 = plc.ReadInt16("D2203").Content;
PLCDataInfo.D2204 = plc.ReadInt16("D2204").Content;
//// 写入操作
OperateResult result = plc.Write("D6000", 1);
if (result.IsSuccess)
{
return BaseResult.Successed;
}
我写的太过于简洁,项目用不到那么多功能,推荐看下一位大神写的,希望能帮助到大家
2603

被折叠的 条评论
为什么被折叠?



