单片机扩展RS422通信模块和触摸屏实现Modbus ASCII通信
一、RS422概述:
RS422接口是对RS232接口的改进,它采用平衡传输电气标准,输入/输出均采用差分驱动,因此具有更强的抗干扰能力,传送速率也大大提高,端口定义一般有发送数据正TX+、发送数据负-、接收数据正RX+、接收数据负-。单片机应用中的TTL电平和RS422电平转换常用的芯片有MAX490等。如下为单片机常用TTL电平和RS422电平转换电路:
图中:
MAX490即为TTL电平和RS422电平转换芯片;
RXD接单片机串口接收,如一般51单片机之P3.0口;
TXD接单片机串口发送,如一般51单片机之P3.1口;
D1~D4为4个瞬变抑制二极管,起到保护作用;
Y为RS422之发送+;
Z为RS422之发送-;
A为RS422之接收+;
B为RS422之接收-;
GND为信号地;
S1和S2用来控制是否将终端电阻加入电路当中。
二、威纶触摸屏和单片机Modbus ASCII串口通信实现功能:
1、威纶触摸屏通过Modbus之01、05功能码对单片机数字量输出实现读\写操作;
2、威纶触摸屏通过Modbus之02功能码对单片机数字量输入实现读操作;
3、威纶触摸屏通过Modbus之03、06功能码对单片机保持寄存器实现读\写操作;
4、威纶触摸屏通过Modbus之04功能码对单片机输入寄存器实现读操作。
三、通信硬件连接:
因触摸屏这里采用电脑仿真,故而电脑需要接入一USB转RS422电缆
1、USB转RS422电缆端口定义:
T+:RS422发送+
R+:RS422接收+
T-:RS422发送-
R-:RS422接收-
2、单片机RS422通信模块端口定义:
Y为RS422之发送+;
Z为RS422之发送-;
A为RS422之接收+;
B为RS422之接收-;
3、接线:
USB转RS422电缆之T+ 接 单片机RS422通信模块之A;
USB转RS422电缆之T- 接 单片机RS422通信模块之B;
USB转RS422电缆之R+ 接 单片机RS422通信模块之Y;
USB转RS422电缆之R- 接 单片机RS422通信模块之Z;
四、威纶触摸屏通信参数约定:
1、起始位:固定为1位
2、数据位:7位
3、校验位:偶校验1位
4、停止位:1位
5、波特率:115200bps
6、通信物理层:RS422
7、通信协议:Modbus ASCII Master
五、单片机开发板通信参数约定:
1、起始位:固定为1位
2、数据位:7位
3、校验位:偶校验1位
4、停止位:1位
5、波特率:115200bps
6、通信物理层:RS422
7、Modbus ASCII Slave
8、站号:5
六、单片机开发板元件编号和Modbus地址对应表
其中:
数字量输入支持Modbus之02功能码;
数字量输出支持Modbus之01、05、15功能码;
模拟量输入支持Modbus之04功能码;
模拟量输出支持Modbus之03、06、16、23功能码。
七、单片机Modbus ASCII Slave通信程序
1、头文件,根据单片机型号选型相应的头文件:
2、单片机串口1用宏定义:
3、公用函数定义:
4、Modbus处理用函数定义:
5、主函数:
6、定时器0中断函数:
7、串口1中断函数:
8、LRC校验子函数:
八、威纶触摸屏组态:
1、启动软件:
2、开新文件:
3、准备选择从站设备:
4、设备通信参数设置如下:
5、设备建立完毕:
6、组态监控数字量输入:
依次建立4路输入,如下所示:
7、组态监控数字量输出,并使用按钮可对其进行置位、复位操作:
依次建立4路,如下所示:
8、组态监视模拟量输入:
依次建立4路,如下所示:
9、组态监视模拟量输出:
依次建立4路,如下所示:
九、单片机Modbus ASCII通信程序测试
使用Modbus Poll进行测试:
十、威纶触摸屏组态工程测试:
使用Modbus Slave调试助手进行测试:
十一、威纶触摸屏和单片机系统联调
测试通过,通过监控,威纶触摸屏仿真如下:
十二、单片机扩展RS422通信模块应用测试视频
十三、威纶触摸屏Modbus ASCII Master通信工程提供下载: