准备材料:
u 软件部分
labview2010;labview visa驱动;labview中modbus库;串口调试软件(最好是带有校验功能的);西门子编程软件 STEP 7 Micro/win.
u 硬件部分
西门子s7-200PLC(我用的是s7-200 224);因为PLC通信串口是rs458,所以买了一个USB转RS485转换器;西门子编程下载线.
一、走通modbus通信协议
开始调试之前,一直都是只用西门子产品的通信协议.总体来说基本属于很简单方便,只要物理连接没有问题只需要设置简单几个参数就能实现通信,如s7-200或s7-200 Smart与触摸屏IE1000通信,上位机组态软件使用的是wincc flexible.虽然使用很方便,但是心里总是觉得不踏实并不是每一客户都是统一要求西门子的产品.那么如果使用杂糅品牌的控制器,那么什么控制方案最好.查了很多资料,选定了labview+mudbus控制方案.主要原因自己搞研究的成本比较低且labview还算比较强大的软件,能够支持后续开发.
要有对PLC入门知识,懂一些程序设计及debug过程,入门书籍 廖老师的s7-200编程.
1. 使用编程线缆连接电脑与PLC,正确配置参数用STEP 7 Micro/win可以正读取到PLC,
2. 编写modbus 从站程序如下图并下载到PLC中,把PLC状态切换到run状态(PLC上的手动拨码开关切换到run模式),注意,当Holdstart和maxhold分别为&VB0和1000时,允许主站访问从VB0开始的1000个寄存器字(2000B),所以为modbus从站协议分配的V存储器的起始地址应大于等于VB2000.
3. 使用USB转RS485,确认PC与PLC物理连接没有问题.运行PLC,PLC串口通信接线图如下
4. 使用串口调试助手,发送功能码,实现通过modbus协议与PLC通信.例如 发送帧 01 05 00 00 FF 00 8C 3A.功能说明 置位 Q0.0.发送帧 01 05 00 00 00 00 CD CA 功能说明 复位 Q0.0
5. 如果参数设置正确,应该能正常通信.如果未正常通信,检查波特率,地址是否设置一致.
无法插入图片,感兴趣的下载附件modbus调试记录吧 一样的都是调试记录.附件还有程序和modbus库,协议中七个功能都已经实验过.