1.初始化设备参数
在程序的起始部分需要初始化设备参数,如本设备是属于第几号设备,位于几号站点,本设备的定位方式、定位精度要求等,这样可以对所有设备用同一套程序配置不同的参数。程序模块标准化有利于堆垛机的快速调试,也适用于其他类程序的编写。
2.读取输入和通讯数据
读取输入和通讯数据即处理外部的输入信号、PI设备信号、操作面板数据和接收通讯数据。在此要对易干扰的输入信号进行抗干扰处理。对于需处理的PI设备数据、操作面板数据和相关通讯站点数据,需要从与设备通讯的数据字节中提取需要的信息,并规范为程序内部数据的格式。
3.选择操作模块
数据处理完毕后,根据外部的操作意图来选择相应的操作模块。基本模块包括手动/维护、半自动、单机自动、联机自动模块。在相关模块中,根据客户的不同要求,相应的操作模块所实现的功能也不尽相同。
各模块中首先要处理的是初始化中间变量。中间变量是各个操作模块都需要进行写操作的变量,在相应的操作模块第一次被调用时,把这些中间变量初始化,可以有效防止在相应操作模块正在执行时外部切换操作模块造成的设备意外动作。各个模块需要根据已经规范好的外部信息来决定设备要执行的动作,并把设备要执行的动作信息写到相应的设备执行意图数据区域。
4.根据操作模块的意图调用相关模块
在执行完相关操作模块之后,需要把设备执行意图数据区域里面的数据转换为对外部设备规范的数据格式,并根据相应的通讯要求判断设备的状态,把设备的状态、将要进行的动作意图等信息传送给外部通讯设备(操作触摸屏、上位管理机等)。
5.根据安全要求规范输出
接下来要根据外部的设备状态和设备本身对安全的要求级别对输出数据进行处理。为设备的安全要求而编写的程序都在这里,这种设计架构可以确保在所有操作方式下都能执行完全相同的安全处理程序。
6.写输出和通讯数据
最后把需要输出的数据直接输出,并把需要传送给外部设备的代码直接传送出去。
一个好的程序架构能够保证在设备调试过程中快速找出问题所在,从而加快设备调试时间,节省工期。