3软件设计
智能控制器软件主要由控制程序和通信接口程序组成。控制程序实现数据采集、液晶显示、输出控制、键盘操作和状态指示。
通信程序则完成与其它DeviceNet节点的通信。软件采用模块化设计,单个功能独立调试,全部完成后放在一起联调,具有设计明确、调试方便的优点。

3.1控制程序设计
控制程序主要包括主循环程序、A/D采样中断程序2个部分。主循环程序以循环扫描的方式实现通信处理、保护算法、滤波算法、有效值计算、LCD显示、键盘处理等功能,其流程如图5所示,系统初始化后,首先进行上电MACID检测,进入主循环,然后进行键盘操作判断,再执行其它的功能程序。为了保证A/D采样的实时性,A/D采样程序采用定时器中断的方法实现。定时器中断程序采用事件管理器A中的定时器2,定时器2定时时间到就触发A/D采样,设置A/D的采样间隔为2ms。程序除了实现A/D采样和转换外,还能实现断相、短路和漏电瞬动保护[3]。A/D采样中断程序如图6所示。

3.2通信接口程序设计
根据该智能控制器的I/O数据应用特点和DeviceNet协议要求,确定通信接口的DeviceNet设备属于DeviceNetGroup2Only从设备,采用Predefine的通信连接,支持I/O轮询报文和显性报文。因为是一个从设备,除了进行上电MACID检测外,它不会主动向网络上发送数据,而只会根据接收的数据请求发送相应的数据响应。由于主设备发送的请求是无法预知的,提高软件执行效率的最好方法就是采用事件驱动方式,事件由外部中断或程序内部产生。通信程序主要由2个部分组成:一是收发网络上的数据,二是处理接收的数据并发送响应数据[4]。
(1)智能控制器的对象模型:DeviceNet协议采用对象的概念和面向对象的方法组织设备内外部的数据信息和通信功能。其中标识对象、路由器对象和DeviceNet对象是每个DevcieNet设备都必须包括的对象。下面的连接对象、组合对象和断路器应用对象是针对本设备设计的对象。连接对象包括2个实例:显性报文连接对象和I/O轮询连接对象。断路器应用对象提供断路器专有的信息接口,完成断路器的控制功能。组合对象包括2个对象实例:输入组合对象负责将来自断路器应用对象的数据打包、处理并封装,供I/O轮询连接对象使用;输出组合对象将来自I/O轮询连接对象要向断路器应用对象发送的数据解包、处理并封装,供应用对象使用。
来源: