可编程时序控制系统研究与实现

2011-09-06 01:19:50朱启文
山西电子技术 2011年6期
关键词:字节时序单片机

朱启文

(南京信息职业技术学院,江苏南京 210003)

0 引言

定时控制在工业控制、农业生产、交通疏导以及人们的日常生活等方面都有广泛的应用。目前,各种可编程时序控制器应用较广,市场上的产品种类也很多,主要是采用PLC作为控制器件。但在控制较复杂的时序过程时,有一些缺点,比如,程序设置是根据不同的工作要求,由用户通过触摸键盘对运行时间、输出继电器状态等参数进行设定,使控制系统按预先设定的步序进行自动连续运行控制。这些现有时序系统使用很不方便,更新程序过程时间较长;一些采用有线或无线联机控制的场合,布线和接口的成本又比较高。

本文提出一种可编程的时序控制系统,采用可伸缩的网状构架,针对各种有复杂时序要求的信息应用,利用了计算机软件系统的资源优势,将对控制对象的控制程序转变成代表事件序列的时序信息程序,下载到控制器的非易失存储器中,由控制器独立、离线、按程序运行。

1 系统概述

1.1 时序控制的模型

对于不同的定时控制装置或系统,其控制特征与即时时刻(T)、控制输出状态(S)以及控制时间的精度/误差(Δt)总是密切相关。

如果i控制条件的控制特征用作业(Hi)来定义,

换言之,一个定时控制装置或系统的一个控制口总是可以通过在Ci1条件下,T±Δt时刻,输出S状态来实现。

由于该序列H规范了某条件下,任意时刻的输出状态。于是可以通过一组由以上三个信息构成的队列(/序列)元(Hi)构成的控制队列(/序列)(H)来实现一个定时控制装置。

但从序列中,不难看出其给出的控制条件信息冗余度很大。对于大多数场合而言,输出状态很长一段时间是保持不变的。于是可以通过输出差分信息ΔS来表示,

从而大大压缩了这个定时控制器的作业序列长度。

举例来说:一个教学工作日的打铃控制由每秒的输出控制序列,可以转换成状态跳变控制序列,如{……、(8:00:00,打开,normal)、(8:00:05,关闭,normal)、(8:45:00,打开,normal)、(8:45:05,关闭,normal)、……}。

所有的定时控制器的输出要求,我们总是能够转换成某一时刻执行一次输出状态的改变。对于前面的基本输出模型Hi1=O(T±Δt,S,Ci1)。i1表示某次作业的输入条件序号。Ci1可以是确定的条件,如前面的例子,可以描述出一个正常教学工作日(条件为Ci1)下的输出序列表。

而对于节假日或一学年的特殊教学活动安排来说,这个输出序列就不适用了。为此可以对条件进行编码。将若干条件(j)的不同序列(i)用条件Cij表示。

上面的基本输出模型可以描述为:

作为中国最大的化肥分销企业和钾肥进口企业,中农控股自2013年起与BHP在钾肥业务方面开始沟通,经过5年的磨合与熟悉,双方在钾肥业务上建立了高度的共识和默契。在此基础上,中农控股成为BHP钾肥进入中国市场的首个合作伙伴。

1.2 控制系统的总体构架

根据上面时序控制系统的分析可以构架控制系统的构架,如图1所示:

图1 控制系统总体构架

考虑到方案应当具备一定的通用性,因此抽象出一个方案知识库,用户在应用场景中可以从方案知识库中提取所需方案,然后在此方案的基础上进行修改,用户也可以自己定义方案,然后将自定义方案添加到知识库中。这样控制器就是一个带有操作系统的硬件环境,用户可以在计算机部分进行一定的设置,这些设置最后就形成了一个应用程序下载到这个操作系统中,控制器就可以直接运行这个应用程序,这样当用户需求发生变化时只需要更新相应的应用程序。

1.3 控制时序数据结构

时序控制信息的存储方式决定了时序控制策略的可行性,因此时序控制信息的数据结构非常重要,本系统采用了可伸缩方式的时序控制结构,利用网状数据结构模型构架时序控制信息结构如图2所示。

图2 时序控制信息数据结构图

时序控制电路中的单片机每秒读取时序控制设备的时钟芯片中的即时时间,然后将即时时间和时序信息数据结构中各个时间进行比较,首先进行年节点的判断。其中,首字节代表下面有多少时序信息有效,例如:月份中的首字节为3,代表月份中有3个月是含有时序事件的,每个月占两个字节,第一个字节代表是哪一个月,第二个字节代表偏移量。其中年和月的偏移量为一个字节,其他从天开始偏移量为2个或2个以上的字节(为了以后的扩展)。

月判断流程和年判断流程一样,小时、分钟和秒判断时步长要加3,其他都相同。如有周循环进入周区域进行判断,判断方法和年、月判断方法相同,然后进入时区域进行判断,依次到秒区域。秒节点后的偏移量就指向一个带有事件的区域。如果该事件是带条件的,就去读取输入口的状态值和条件值相比较,如果输入口状态值和条件值相匹配就执行相应条件下的动作,如果该事件是不带事件的,则直接执行该事件。

2 控制系统的硬件设计

可编程时序控制系统硬件部分由几大模块组成,如图3所示。

图3 控制系统硬件设计

核心主控模块采用低成本51单片机进行时序控制策略的调度[1],其中时钟模块选用DS1307作为时钟芯片;非易失性存储器存放的是时序控制信息,这些时序信息是通信上位机设定好后下载到非易失性存储器中;电源模块负责给整个控制电路供电,该电源模块带有后备电池,能在断电的情况下给时钟供电多年;监控模块主要是防止系统出现异常时自动复位,加强系统的稳定性;通信模块可以是一个备用模块,主要负责和上位机之间的通信,用户通过上位机设定的时序信息通过串口下载到控制电路中[2]。

3 控制系统软件设计

为了用户可以很方便配置各种时序控制策略,软件采用方案库设定的方式进行操作。用户可以设置方案,设置完成后,会将该用户设置的方案、用户名和设置日期一起存入数据库中。当用户将方案设置完毕后将用户的设置转换成控制指令的数据集合,然后通过串口下载到控制系统的硬件板上。控制系统的主界面如图4所示。

图4 控制系统软件主界面

4 通信流程

用户通过控制系统软件将时序控制方案设定完成后通过串口将这些时序控制信息下载到时序控制板中,其中的通信流程如图5所示。

如图5所示,通信开始是首先发送通信开始帧,时序控制电路收到后会发送确认帧。若收到上次通信事件失败帧,则控制软件将进行一定的处理,通知用户上次通信失败,让用户进行选择。如果需要恢复上次的通信事件,则抽取该帧中的事件ID号到数据库中查询相应的事件队列,然后再开始发送通信开始帧;如果要写入一个新的事件,则直接将新的事件写入时序控制电路。每发送一帧数据帧都进行等待确认帧,若通信中断则从头开始重传。含有时间信息的数据帧都发送完毕后,发送通信结束帧,通信结束

图5 通信流程

5 结论

本系统的主要优势在于其通用性、实用性以及易用性。该系统可以实现复杂信息场合下的时序控制设备的应用,用户只需在计算机的时序控制设备进行编程的软件程序中录入简单的时间信息和特殊事件,即可完成。

利用本系统所采用的这种新的技术策略,用户可以很方便地进行一些设置。根据各种不同需求建立所需的方案序列。采用非易失存储器作为程序传输的介质,避免了传统方法通过无/有线传输的空间、成本等的限制,可以使时序控制设备离线工作,实现时序控制系统设置简便、灵活,而且采用低成本51单片机作为控制器件,节约了成本,更具有人性化[3]。

[1]赵亮,侯国瑞.单片机C语言编程与实例[M].北京:人民邮电出版社,2003:307-311.

[2]王幸之.单片机原理与接口技术[M].北京:北京航空航天大学出版社,2000:45-49.

[3]张毅刚.新编MCS-51单片机应用设计[M].哈尔滨:哈尔滨工业大学出版社,2006:55-78.

猜你喜欢
字节时序单片机
基于时序Sentinel-2数据的马铃薯遥感识别研究
基于Sentinel-2时序NDVI的麦冬识别研究
No.8 字节跳动将推出独立出口电商APP
基于单片机的SPWM控制逆变器的设计与实现
电子制作(2019年13期)2020-01-14 03:15:28
基于单片机的层次渐变暖灯的研究
电子制作(2019年15期)2019-08-27 01:12:10
No.10 “字节跳动手机”要来了?
基于单片机的便捷式LCF测量仪
电子制作(2019年9期)2019-05-30 09:42:02
简谈MC7字节码
一种毫米波放大器时序直流电源的设计
电子制作(2016年15期)2017-01-15 13:39:08
Microchip推出两个全新PIC单片机系列