作者: 赤鱼科技
作者简介: 作品集定制 | 交互辅导 | 互动装置 主base 深圳 | 副base 伦敦9年+ Arduino开发经验| 专注交互艺术
描述: 一、项目主题 1、从站Arduino UNO通过RS485模块与汇川PLC主站连接通讯。 2、主站汇川PLC通过Modbus协议发送写入指令和读取指令到从站Arduino UNO。 3、从站Arduino UNO响应主站汇川PLC指令进行数据存储(接收存储数据并打印)和数据反馈(写入到主站汇川PLC)。 二、硬件材料 1、2*Arduino UNO开发板 2、2*TTL转RS485模块 485转串口 3、1*汇川h3u-1616 PLC 4、1*24v电源模块 5、1*miniUSB数据线 三、电路连接 第1步:设置 Arduino UNO 软串口引脚(TX = 10、RX = 11),通过软串口引脚连接RS485模块 TX、RX引脚。(注意:需要直连 直接将RS485模块RX 连接Arduino RX , RS485模块TX直接连接Arduino TX) 第2步:RS485模块 VCC、GND引脚连接 Arduino UNO开发板 5V、GND引脚。 第3步:RS485模块 A+、B-、GND引脚连接 汇川h3uPLC(COM1)485+、485-、GND引脚。 第4步:汇川h3uPLC 通过 24V电源,连接24V 和 GND 进行供电。 第5步:汇川h3uPLC 通过 miniUSB数据线与电脑连接,进行通讯。 四、程序功能 第1步: Arduino UNO 通过RS485模块与汇川PLC连接通讯。 第2步:Arduino程序设定 Arduino UNO 为从站,并根据 Arduino UNO数量程序设定从站ID号,AutoShop软件设定汇川PLC为主站。 第3步:从站Arduino UNO 接收主站汇川PLC下发指令。 第4步:从站Arduino UNO 解析主站汇川PLC指令,判断指令ID号是否等于当前从站Arduino UNO ID,如果等于当前ID号,则进行下一步;如果不等于当前ID号,则退出不执行。 第5步:从站Arduino UNO 解析主站汇川PLC指令,判断指令CRC校验码是否正确,如果正确则进行下一步,如果不正确Arduino UNO 串口打印警告信息,并退出程序。 第6步:从站Arduino UNO 解析主站汇川PLC指令,如果功能码是0x06(主站汇川PLC写入数据到从站Arduino Uno)如果功能码是0x03(主站汇川PLC读取从站Arduino数据,从站Arduino写入数据到主站汇川PLC)。 第7步:从站Arduino UNO 解析主站汇川PLC指令,如果功能码是0x06,计算主站PLC发送指令下标2 ~ 3数据,得到地址值进行存储。计算指令下标 4 ~ 5 数据,得到传输数据值,并进行存储(完成地址值 和 寄存器数据值存储)。 第8步:从站Arduino UNO 解析主站汇川PLC指令,如果功能码是0x03,通过CRC校验,计算得出所需要发送数据CRC校验码,将数据与CRC校验码组合,发送到主站汇川PLC。(在AutoShop软件中—>程序块—>MAIN页面看到数据传输成功) 五、特别注意 1、RS485模块与 Arduino引脚连接时,您需要注意RS485模块引脚丝印 TX、RX引脚是否是针对于模块本身发送和接收。 2、您需要先了解您当前所使用的PLC型号指令,汇川PLC h3u说明书文档链接已在下方提供。 六、参考资料 1、汇川PLC H3U H3S系列可编程逻辑控制器指令及编程手册 https://inovance-file.oss-cn-shanghai.aliyuncs.com/owfile/ProdDoc/SC/19010394-SC/A10/19010394-SC_A10%E3%80%8AH3U%E7%B3%BB%E5%88%97%E5%8F%AF%E7%BC%96%E7%A8%8B%E9%80%BB%E8%BE%91%E6%8E%A7%E5%88%B6%E5%99%A8%E6%8C%87%E4%BB%A4%E5%8F%8A%E7%BC%96%E7%A8%8B%E6%89%8B%E5%86%8C%E3%80%8B.pdf?Expires=1657183641&OSSAccessKeyId=LTAI4G9Zutd1qHbS3bKiYJJf&Signature=GfdTinPVjnk%2B21rF97DDtzDjkIY%3D