自卸除铁器中直接控制级应用软件的子模块设计是在对系统进行结构化功能模块化分后,详细地确定各个功能模块的具体实施方案。本章节将给出几个重要功能模块的设计思路、控制要点和程序流程图。 1、上层指令接收与处理: (1)通讯设计思路∶ 系统是一主多从的总线逻辑控制方式,每台控制机柜都有自己的地址。如果采用软件的方式进行地址判断,过程管理级的监控计算机(上位机)发出的任何一条指令都能被所有下位机收到,若在程序中进行地址判断和指令的取舍,无形中加大了处理器的负担。由于直接控制级软件涉及数据采集、控制、液晶显示、通讯等各个方面,工作量很大,为了使通讯效率,采用第九位的通讯方式,由硬件来判断地址的身份,若属于本机,则继续接受下面的数据;若不属于本机,则直接忽略掉,整体不用控制程序的参与。 (2)第九位通讯方式的规则是:当自卸除铁器系统串口控制寄存器中的第九位SM20位为1时,只有满足如下条件才会进入接收中断∶①SM20为逻辑1;②接收的第九位为逻辑1并且接收到的地址与UARTO的地址匹配。因此地址的滤波是由硬件自动完成的。当收到正确的地址字节后,程序将SM20置0,准备接收上位机的命令或数据字节。地址的滤波是在串口中断中进行的。 2、数据发送模块: 制定发送策略∶集中监控计算机每隔一定的时间发送查询命令读取直接控制级的参数。参数包括两部分:是自卸除铁器的运行状态,一是除铁器的电气和物理参数。每当下位机的运行状态发生变化时,就把当前所有参数打包存储在铁电存储器内,并附加当时的时间信息(参数包加时间信息称为一个条目)。当参数被查询时,若存储器内有历史数据未上传,则先上传历史数据;若所有历史数据均上传完毕,则仅上传当前参数。采用这种方式,可节省存储空间并提高上传效率,因为其避免了相同信息的存储和发送。该策略又能保证通讯故障时直接控制级的信息不丢失,确保了该层功能独立、控制独立的地位。 3、模拟量采集与处理: 转换的开始是由程序发出指令,器件自动完成的。C8051F020提供了4种转换启动方式,可由ADC控制寄存器中的启动转换方式位设定。本方案采用写ADOBUSY位的方式。 ADOBUSY位在数据转换期间为1,转换结束后复0。ADOBUSY的下降沿将触发一个中断通知处理器,并将中断标志ADOINT置1,进入自卸除铁器的中断服务程序,该标志需要软件清除,以便下一次转换的顺利进行。