3 车载通讯系统软件开发
3.1 下位机软件开发
3.1.1 PLC 串行口初始化设置
S7-200 CPU 上的通信口工作在自由口模式下是建立在RS-485 半双工硬件基础上的串行通信功能,在自由口模式下,通信协议完全由用户梯形图程序控制。SMB30 被用于选择比特率和校验类型,SMB30 的各位及含义如下:
pp,校验方式:00 和11 均为无校验、01 为偶校验、10 为奇校验;
d,字符长度:0 为传送字符有效数据是8 位、1 为有效数据是7 位;
bbb,波特率:000 为38400baud、001 为19200baud、010 为9600baud、011 为4800baud、
100 为2400baud、101 为1200baud、110 为600baud、111 为300baud;
mm,通信协议:00 为PPI 协议从站模式、01 为自由口模式、10 为PPI 协议主站模式、
11 为保留,缺省设置为PPI 协议从站模式。
本文采用无校验,8 个数据有效位,波特率9600baud,自由口通信。
3.1.2 自由口通讯协议格式
(1)数据方向:PC104 至PLC
注:
0xXX:数字范围0x01~0x0C(12 个子项目);
0xYY:启动0xAA;停止0x00;
0xZZ:0xFD(结束字符);
BBC 校验码:项目号码和控制位数据字节数的异或和。
(2)数据方向:PLC 到PC104
数据格式:16 进制
注:
0xXX:数字范围0x01~0x0C(12 个子项目);
0xYY:自定义的评判标准(自编码);
0xZZ:0xFF(结束字符);
BBC 校验码:项目号码和扣分项目数据字节数的异或和。
3.1.3 PLC 程序设计
PLC 选择自由口通信模式,通过自由口发送指令XMT 和接收指令RCV,或接收字符中断结合自定义通信协议编程程序控制通信口操作,通信参数由特殊寄存器SMB30 各个位配置。S7-200 PLC 第一次扫描时先执行初始化子程序,对端口的RCV 指令的初始化,初始化完成后,运行RCV 指令使端口处于接收状态,PLC 每接收到一条指令都会发送一条反馈信息,当反反馈信息发送完成后,会产生中断,由于篇幅所限,整个程序仅画出图3 所示的PLC 程序框图。