语言C#与三菱PLC MC协议通讯方式
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;
}
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
7. 本站有不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别!
66源码网 » 语言C#与三菱PLC MC协议通讯方式