1 / 5
文档名称:

FTO系统数据通信处理分析(共2350字).doc

格式:doc   大小:57KB   页数:5页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

FTO系统数据通信处理分析(共2350字).doc

上传人:changjinlai 2017/3/17 文件大小:57 KB

下载得到文件列表

FTO系统数据通信处理分析(共2350字).doc

相关文档

文档介绍

文档介绍:FTO 系统数据通信处理分析(共 2350 字) 1 技术方案 传统通信方式 S7-300PLC 采用 CP341 进行数据通信, CP341 应用最多的是 Modbus R TU 通信方式。 Modbus R TU 通信协议采取主从模式: 由主站发出数据操作请求, 从站进行响应。整个网络可以有多个从站, 但是必须有且只有一个主站。若主站不发出数据操作请求, 则所有从站保持静默状态。 PLC 在 Modbus R TU模式中一般作为从站响应上游的 DCS 主站请求。为保证 FTO 系统现场控制盘内的 PLC 与 DCS 主站通信成功, 首先要确定从站能辨识主站的查询请求, 其次要保证从站响应主站的报文格式正确,应符合 Mod-bus R TU 标准格式。 程序结构流程在 FTO 系统的就地 PLC 与 DCS 主站通信中,采用软件结构化编程模拟传统的硬件通信模块固化的程序流程, 主要的程序模块有:OB1 ———主程序,程序组织块,用于启用主程序;OB80 ———程序组织块,用于报告系统运行错误号;OB121 、 OB122 ———程序组织块,用于程序容错处理, 防止 PLC 死机;FB7 ———子程序, 程序功能块, 用于从总线上接收主机的请求数据;FB8 ———子程序,程序功能块,用于把从站数据发送到总线上, 以响应主机的请求;FB9 ———子程序,R TUSLAVE 通信主程序。 具体实现程序组织块 OB80 、 OB121 、 OB122 可直接从 Step7 中调用。 CP341 用功能块 FB7 “ P_R CV_ RK”和 FB8 “ P_SND_ RK”分别从通信总线上接收和发送通信数据。在本通信程序中被主程序 FB9 调用。 FB9 是R TUSLAVE 通信主程序,用于运行中的程序流程,由其调用 FB7 、 FB8 、 FC10 和 FC12 。起始时, FB9 调用 FB7 从总线上接收主站请求的报文,通过解析报文的第一字节内容( 从站地址) ,判断地址是否与本从站一致, 若不一致则直接丢弃此报文,继续监测总线数据; 若报文请求地址与本从站地址一致, 则调用 FC12 子程序对报文进行 C R C16 校验,若校验失败则说明报文有误,直接丢弃报文; 若校验通过,则继续解析此报文请求的第二字节( 功能码), 按功能码的请求分别转到对应的程序段执行; 执行相应的请求功能后,调用 FC10 进行数据移动整理,并再次调用 FC1 2 对响应后的数据进行校验, 并将校验码附加到响应数据的最后两个字节作为响应报文,调用 FB8 发送到总线供主机接收。通信程序的容错机制采用 CR C16 校验。 CR C16 校验程序由于要对通信的所有数据进行逐一字节的运算, 因此极其耗费 CPU 运算资源,经实验,采用 PLC 内置硬件模块处理的通信数据量达到 256Byt e后 CPU 运算时间大于扫描周期时间的概率大为增加, 容易导致通信错误和 CPU 死机。为了不使计算时间超出 PLC 的最大允许扫描时间, 笔者设计将计算一串数据的 CR C16 校验码任务分散到各 PLC 周期中去。具体做法是: 每个扫描周期只进行一个字节的通信数据CR C16 校验计算, 一串通信数据则依字节数分散到多个周期去做, 设置一个全局变量存储当前的