基于单片机与PLC通信的海量数据存储
技术设计文档
一、 选型说明:
这个说明是查阅资料后编写的,如有相关意见可以修改。
整个需求分三部分:
1. 是利用现有的成熟的PLC技术,对各设备的监控点数据进行采集;
2. 再使用单片机技术,对PLC采集后的数据进行读取,并按照一定的格式存储在存储设备中,存储设备可以是U盘,存储卡等;
3. 使用读卡设备将存储的数据读出,并导入普通PC中,对读取数据进行分析。
二、 基本组成图:
图1 总框图
三、 PLC数据采集:
采用成熟的PLC技术,不需开发,使用西门子S7-200系列。
S7-200 PLC是串行通讯方式为丰富的小型PLC,支持多种通信协议,如点对点接口协议(PPI协议)、多点接口协议(MPI协议)和PROFIBUS协议以及自由通信协议等。其中自由通信协议又叫用户定义协议,利用自由端口模式,可以实现用户定义的通信协议,连接多种智能设备,使用起来非常方便,在第三方工程接入中取得了巨大的成功。
四、 单片机数据存储
此部分为整个技术的重点之一,他要完成的主要功能为,从PLC采集数据,并将数据按预先规定格式写入存储设备中,存储设备可设计成存储卡,U盘之类的。
以下为我所查资料的一些设想,只作为参考,如可行也可以作为使用。
1、 单片机与PLC通讯
单片机选用MCS51,MCS-51的串行口与MAX485芯片相接,然后与S7-200 PLC的RS-485口进行通讯,如图1所示:
图1 MCS-51单片机与S7-200的硬件接线图
在自由端口模式下,PLC的串行通信接口由用户来控制,通过梯形图程序以及和单片机的汇编语言进行配合,来使用完成中断、字符接收中断、发送完成中断等,通信协议由用户完全控制。这时单片机处于主机状态,由单片机主动发送握手信号,PLC接到信号后被动反馈信息即可。
a) 通信协议设计
定义根据经验和有关参考资料,定义协议结构和参数。
(1)通信波特率为9.6kbps,无校验,8个数据位,1个可编程位,1位起始位,1位停止位。
(2)定义通信协议的数据流结构的格式为起始码、命令码、元件首址、字节数、数据块、BCC校验码和结束码。