西安达泰电子有限责任公司
无线485 , 无线收发模块 , 无线模块 , 开关量采集传输
usb转串口模块 设备U盘 USB配套设备

是否提供加工定制:品牌:达泰
型号:USB118AD类型:fgsdf
测量精度:fgds测量范围:agf
外形尺寸:fgs(mm) 适用范围:sgf

基于单片机与plc通信的海量数据存储

技术设计文档

一、选型说明:

这个说明是查阅资料后编写的,如有相关意见可以修改。

整个需求分三部分:

1.是利用现有的成熟的plc技术,对各设备的监控点数据进行采集;

2.再使用单片机技术,对plc采集后的数据进行读取,并按照一定的格式存储在存储设备中,存储设备可以是u盘,存储卡等;

3.使用读卡设备将存储的数据读出,并导入普通pc中,对读取数据进行分析。

二、基本组成图:

图1总框图

三、plc数据采集:

采用成熟的plc技术,不需开发,使用西门子s7-200系列。

s7-200 plc是串行通讯方式Zui为丰富的小型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校验码和结束码。

●起始码:表示单片机与plc开始发送数据,是数据流第一个字符,告诉plc开始进行通信了,可以用00h表示

●命令码:表示单片机对plc的各种操作:

40h:读取目标元件i、q、v、m、sm、l、t、c等的数据或状态;

41h:修改目标元件i、q、v、m、sm、l、t、c等的数据或状态;

42h:强制目标单元为on;

43h:强制目标单元为off;

●元件首址:表示plc内部的元件类型以及寄存器的地址(但不能表示一个位地址)。前两个字节表示寄存器类型,后两个字节表示寄存器号。00 00(h):i寄存器区01 00(h):q寄存器区。02 00(h):m寄存器区08 00(h):v寄存器区;

●字节数:从元件首地址起,读取或写入plc元件的数据个数数据块:准备读取或者写入plc的数据或状态;

●bcc校验码:在传输过程中,指令有可能受到任何的干扰而使原来的数据信号发生扭曲,此时的指令当然是错误的,为了侦测指令在传输过程中发生的错误,接收方必须对指令作进一步的确认工作,以防止错误的指令被执行,Zui简单的方法就是使用校验码。bcc校验码的方法就是将要传送的字符串的ascii码以字节为单位作异或和,并将此异或和作为指令的一部分传送出去;同样地,接收方在接到指令后,以相同的方式对接收到的字符串作异或和,并与传送方所送过来的值作对比,若其值相等,则代表接收到的指令是正确的,反之则是错误的

●结束码:结束字符标志着指令的结束,在本例中被定义为ffh,不同的plc从站可以定义不同的结束字符以接收针对该plc的指令。

b)通信程序的实现

(1)单片机端程序的实现。单片机在主程序中初始化,采用串行口工作方式3[2],波特率为9.6kbps,采用单片机作为主机,向plc进行呼叫,定期读取数据或者写入数据,其程序流程图参见图2。

图2单片机端通讯程序流程图

(2)plc端程序流程图的实现。plc端作为从机,采用梯形图或者stl编程,主要是先设置通讯协议,然后按照协议把采集到的数据进行处理,再发送给主机单片机,其具体的程序流程图如图3所示。

图3 plc端通讯程序流程图

2、单片机数据存储实现

采用西安达泰电子的单片机读写u盘的模块usb118,接线图如图4:

图4 usb118接线图

说明:采用usb118ad模块直接连u盘。具体接口方式需查usb118ad相关资料。

五、数据软件分析

通过u盘或其它存储设备,将数据读入电脑软件中,电脑软件根据实际业务需要设计相应的算法,对数据进行分析,以数据报表,图表等方式展现结果。

展开全文