PC通过485控制两台三菱PLC控制

实现目标: PC发送指令读取两台PLC软元件状态 并成功返回软元件状态
PC发送指令写入(改变)两台PLC软元件状态
PC通过485控制两台PLC之间的通讯
实现 BR ,BW,WR,WW 控制数据传输
BR:
当从站1中X0-X4未触发时:
发送:05 30 31 46 46 42 52 41 58 30 30 30 30 30 35 33 46
返回:02 30 31 46 46 30 30 30 30 30 03
当从站1中X0-X4中X0触发时:
发送:05 30 31 46 46 42 52 41 58 30 30 30 30 30 35 33 46
返回:02 30 31 46 46 31 30 30 30 30 03
BW:
主站点亮Y0:
发送:05 30 30 46 46 42 57 30 59 30 30 30 30 30 35 31 30 30 30 30 32 34
返回:06 30 30 46 46
主站点亮Y1:
发送:05 30 30 46 46 42 57 30 59 30 30 30 30 30 35 30 31 30 30 30 32 34
返回:06 30 30 46 46
WR:
当D0的数值为80000时读取
发送:05 30 30 46 46 57 52 30 44 30 30 30 30 30 32 32 42
返回:02 30 30 46 46 33 38 38 30 30 30 30 31 03
WW:
当PC向主站D10的数值为80000时
发送:05 30 30 46 46 57 57 30 44 30 30 31 30 30 32 33 38 38 30 30 30 30 31 43 35
返回:06 30 30 46 46

硬件配置:
1.两台FX1S三菱PLC (含两个485模块)
2.USB 转485接头(PC>485)
3.主站X2接一个按钮(可根据具体验证接线)
4.从站X0接一个按钮(可根据具体验证接线)
3.串口工具
串口设置: 波特率9600 数据位7 停止位1 偶校验
PLC编程软件设置:
主站:在这里插入图片描述
从站:
在这里插入图片描述
注意:PLC参数设置完成后,需要断电重启PLC 参数设置才能有效

编程:无需编程即可实现
硬件接线:
PC>485
在这里插入图片描述
主站:
在这里插入图片描述
从站:
在这里插入图片描述
发送案例:
BR指令 [软元件内存·位单位的成批读出]:
例1:
读取主站X0-X4 (5个点)状态:

ENQ 站号 PC号 BR 报文时间 起始软元件 软元件点数 和校验码
ENQ 00 FF BR A X 0 0 0 0 0 5 3 E
05 30 30 46 46 42 52 41 58 30 30 30 30 30 35 33 45

解析:
ENQ : 固定值 05H Enquiry(查询)
站号:00H到 OFH 共16台PLC
00:主站
01:从站1
02:从站2

0F: 从站16
PC号 :X系列可编程控制器的PC号固定为FFH 即为 46 46
BR: 以1点为单位读出位软元件 X0-X4 为5 个点,即为 05 转16进制 30 35
报文时间:以10ms为单位,在0~150ms的范围内设定等待时间。按照10ms为1日,将0H~FH(0~15)转换成1位数的ASCII 码后使用。
例如: A 为100ms A转换16进制为41
起始软元件: 起始 X 0000 即 58 30 30 30 30
软元件点数: 5个点 为05 即为 30 35
和校验:30 30 46 46 42 52 41 58 30 30 30 30 相加为33E 取后两位即为3E= 30 45
发送成功后,PLC会正常返回:02 30 30 46 46 30 30 30 30 30 03

STX 站号 PC号 返回值(字符区) EXT
02 30 30 46 46 30 30 30 30 30 03

解析:
STX: 固定值 02H Start of Text(文本的开始)
返回值:X0—X4 5 个点的状态 30 30 30 30 30 表示都未触发
如果是 30 30 31 30 30 表示X2触发
X0 X1 X2 X3 X4
30 30 31 30 30
EXT: 固定值 03H End of Text(文本的结束)
当X0-X4未触发时:
发送:05 30 30 46 46 42 52 41 58 30 30 30 30 30 35 33 45
返回:02 30 30 46 46 30 30 30 30 30 03
当X0-X4中X2触发时:
发送:05 30 30 46 46 42 52 41 58 30 30 30 30 30 35 33 46
返回:02 30 30 46 46 30 30 31 30 30 03

例2:
读取从站1 X0-X4 (5个点)状态:

ENQ 站号 PC号 BR 报文时间 起始软元件 软元件点数 和校验码
ENQ 00 FF BR A X 0 0 0 0 0 5 3 E
05 30 31 46 46 42 52 41 58 30 30 30 30 30 35 33 46

解析同例1。
当X0-X4未触发时:
发送:05 30 31 46 46 42 52 41 58 30 30 30 30 30 35 33 46
返回:02 30 31 46 46 30 30 30 30 30 03
当X0-X4中X0触发时:
发送:05 30 31 46 46 42 52 41 58 30 30 30 30 30 35 33 46
返回:02 30 31 46 46 31 30 30 30 30 03

BW指令[软元件内存·位单位的成批写入]:
例3:
写入主站Y0-Y4 (5个点)状态:
ENQ 站号 PC号 BW 报文时间 起始软元件 软元件点数 写入数据 和校验码
ENQ 00 FF BW 0 Y 0 0 0 0 0 5 1 0 0 0 0 2 4
05 30 30 46 46 42 57 30 59 30 30 30 30 30 35 31 30 30 30 30 32 34

解析:
ENQ : 固定值 05H Enquiry(查询)
站号:00H到 OFH 共16台PLC
00:主站
01:从站1
02:从站2

0F: 从站16
PC号 :X系列可编程控制器的PC号固定为FFH 即为 46 46
BW: 以1点为单位写入位软元件 Y0-Y4 为5 个点,即为 05 转16进制 30 35
报文时间:以10ms为单位,在0~150ms的范围内设定等待时间。按照10ms为1日,将0H~FH(0~15)转换成1位数的ASCII 码后使用。
例如: 0为10ms 0转换16进制为30
起始软元件: 起始 Y0000 即 59 30 30 30 30
软元件点数: 5个点 为05 即为 30 35
写入数据:1 0 0 0 0 即 Y0 Y1 Y2 Y3 Y4 Y5 对应的状态;10000即为点亮Y0
1 0 0 0 0
Y0 Y1 Y2 Y3 Y4

和校验: 30 30 46 46 42 57 30 59 30 30 30 30 30 35 31 30 30 30 30 相加为424 取后两位即为24= 32 34
即发送:05 30 30 46 46 42 57 30 59 30 30 30 30 30 35 31 30 30 30 30 32 34
发送成功后,PLC会正常返回:06 30 30 46 46

返回解析:
ACK 站号 PC号
06 30 30 46 46
ACK :06H Acknowledge(肯定响应)

主站点亮Y0:
发送:05 30 30 46 46 42 57 30 59 30 30 30 30 30 35 31 30 30 30 30 32 34
返回:06 30 30 46 46
主站点亮Y1:
发送:05 30 30 46 46 42 57 30 59 30 30 30 30 30 35 30 31 30 30 30 32 34
返回:06 30 30 46 46
主站点亮Y2:
发送:05 30 30 46 46 42 57 30 59 30 30 30 30 30 35 30 30 31 30 30 32 34
返回:06 30 30 46 46

从站点亮Y0:
发送:05 30 31 46 46 42 57 30 59 30 30 30 30 30 35 31 30 30 30 30 32 35
返回:06 30 31 46 46

从站点亮Y1:
发送:05 30 31 46 46 42 57 30 59 30 30 30 30 30 35 30 31 30 30 30 32 35
返回:06 30 31 46 46
从站点亮Y2:
发送:05 30 31 46 46 42 57 30 59 30 30 30 30 30 35 30 30 31 30 30 32 35
返回:06 30 31 46 46

在这里插入图片描述

BR,BW,WR,WW,可用情况
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值