微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于RS-485总线的分布式故障诊断系统

基于RS-485总线的分布式故障诊断系统

时间:12-13 来源:互联网 点击:

址,长度由xx1中参数指令

xx3: 用来存储指令执行后的结果(成功或失败),占用连续2个位寄存器

(2) 接收指令:g.input ux xx1 xx2 xx3

ux:用来接收数据的串行通讯模块所在的地址

xx1:接收指令控制参数区开始地址,占用连续4个字寄存器

xx2:用来存储收到数据的寄存器开始地址

xx3:用来存储指令执行后的结果(成功或失败),占用连续2个位寄存器

(3) 清除指令:zp.cset ux xx1 xx2 xx3 xx4

ux:要进行清除操作的串行通讯模块所在的地址

xx1:要清除的通讯通道号

xx2:清除指令控制参数区开始地址

xx3:备用

xx4:用来存储指令执行后的结果(成功或失败),占用连续2个位寄存器

2.3 程序实施简述

综合整个方案要求,程序主要可分为2大部分:故障信息的采集与有序存储、故障信息的发布显示。

(1) 故障信息的采集与有序存储

故障信息的采集可以借用“事件触发”机制来描述,当故障发送的瞬间,程序立即采取措施,将该故障的相关信息记录下来,在本方案中,我们采用了触点上升沿调用子程序的编程手法,来进行这项工作,在要求程序反应更为灵敏的场合,可以采用中断处理的方法来完成。

无论是使用中断处理还是普通扫描上升沿方式来捕捉故障,要建立一个完整的故障信息诊断发布系统,更为重要的是要有一个灵活实用的存储机制。在这种机制下,针对故障的发生、排除都应有相应的程序操作与之对应,为此,我们建立了一个较简单的数据结构形式,来配合这些数据操作,结构如图2所示

图2 数据结构

在图2中,每一站的故障记录数都根据实际情况规定1个最大值,每1个故障记录都规定为固定长度,这样,每个plc内都为下辖每个操作站设置了一个固定长度的存储表,同时,对应故障的发生与消除,有相应的子程序来进行数据表的操作,添加或删除故障记录。

(2) 故障信息的发布显示

显示器的内部寄存器已经预先链接到其显示画面中,这样只要plc通过通讯将当前应显示的故障记录信息写入内部寄存器,就可达到信息发布的目的。如果操作站发生翻页操作,则在plc接收到该信号后,它将下一页的故障信息写入到显示器的内部寄存器,实现翻页功能。

由于在同一时刻plc只能与1台显示器通讯,因此信息的刷新实际上是一种轮询机制,从第一台操作站开始,当所有的显示器都更新过一遍后,这一段时间可以称为刷新时间,rs-485串行通讯的通讯速率并不太高,所以为了改善刷新时间过长的状况,我们采取了一次通讯发送多条记录的方式,使用户在翻页时不会感到很明显的延迟。

3 结束语

rs-485是大多数工业现场总线的基础,它实现起来具有成本低,实施简便等显著优点,但又兼有速度较低、实时性不高等缺陷,虽如此,对于人机交互不甚频繁而终端较多的情况仍有较高使用价值。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top