专利名称:可编程时序控制方法和系统的制作方法
技术领域:
本发明涉及到工业控制领域,具体地说,是一种可编程时序控制方法和系统。
背景技术:
专利CN02116195.X中提到了关于用在远程控制负载管理系统的可编程定时单元。该发明涉及的可编程定时器单元,能被包括在一远程控制管理系统中来根据用户定义的时间表而不依靠用于数据通信的任何附加的辅助设置来启动负载。定时器单元包括用于选择在系统中使用的任何开关的一开关地址和指定启动时间和用于目标负载或负载组的启动的控制代码的一输入部件。处理器编写基于该时间表的一负载管理程序并为负载的控制执行该程序。因此,定时器单元能单独模拟用于控制负载的任何一个开关而不依靠用于数据通信的附加外部设备。
目前,各种可编程时序控制器应用较广,市场上的产品种类也很多,常用PLC作为控制器件。但在控制较复杂的时序过程时,有一些缺点,比如,程序设置是根据不同的工作要求,由用户通过触摸键盘对运行时间、输出继电器状态等参数进行设定,使控制系统按预先设定的步序进行自动连续运行控制(例如宁波市机电工业研究设计院研制的TPC-20智能多段可编程时序控制器)。该方法很不方便,更新程序过程时间较长;一些采用有线或无线联机控制的场合,布线和接口的成本又比较高。
上述技术方案都没有涉及到时序控制设备在复杂场合(如校园自动打铃系统、园林自动定时喷淋控制系统、自动牲畜定时给水系统、简易电气定时开关控制器、主备用电动机定时控制保护装置等场合)的应用。这些应用场合有一定时间精度要求,并且长时间运行稳定性好的开关量检测输入和控制输出的时间控制器。
发明内容
本发明的目的是,针对复杂信息场合应用,提出一种通用、实用和易用的可编程时序控制方法和系统。
本发明利用了计算机软件系统的资源优势,将对控制对象的控制程序转变成代表事件序列的时序信息程序,下载到控制器的非易失存储器中,由控制器独立、离线、按程序运行。
本发明的技术方案包括一、可编程时序控制方法包括以下步骤a)在上位计算机中编写时序信息程序b)用非易失性储存器(EPROM、EEPROM、FLASH等)存储和转移时序信息程序c)时序控制设备读取非易失性储存器存储中的时序程序并执行步骤c)中,时序控制设备采用单片机作为控制芯片,进行时序控制;单片机嵌入了操作系统,通过对输入口状态条件的判断,进行一定智能化的输出控制,补充了PLC器件在这一领域应用。
单片机的工作步骤主要包括首先每秒读取时序控制设备的时钟芯片中的即时时间,然后将即时时间和时序信息数据结构中各个时间进行比较,首先进行年节点的判断。
其中,首字节代表下面有多少时序信息有效,例如月份中的首字节为3,代表月份中有3个月是含有时序事件的,每个月占两个字节,第一个字节代表是哪一个月,第二个字节代表偏移量。其中年和月的偏移量为一个字节,其他从天开始偏移量为2个或2个以上的字节(为了以后的扩展)。
月判断流程和年判断流程一样,除小时、分钟和秒判断时步长要加3,其他都相同。
在判断年节点时,首先,取出首字节里的内容,判断首字节的内容是否为0;如果为0,则加上首字节后的偏移量跳转到月区域;如果首字节不为0,则定义一个变量YearHead,其中YearHead=首字节×2,定义一个步长变量Step,其中Step的初值为0。然后,取出首字节下第(首字节地址+Step)地址处的字节内容和当前年进行比对,如果发现有年信息和当前年相等,则取出该年的偏移量,加上该偏移量跳后转到相应的月区域;如果当前步长值下没有年信息和当前年相等,则Step=Step+2,然后判断Step是否大于YearHead,如果小于YearHead,则重复上述步骤,如果Step加到大于YearHead,则退出。
判断月节点时,方法和年相同。
判断天节点时,流程如下首先,取出首字节里的内容,判断首字节的内容是否为0;如果为0,则判断首循环字节中的内容是否为0,如果也为0,则加上周循环字节后的偏移量跳转到时区域;如果不为0,则加上周循环后的偏移量跳转到周区域进行判断。
如果首字节不为0,则定义一个变量DayHead,其中DayHead=首字节×2,定义一个步长变量Step,其中Step的初值为0。然后,取出首字节下第(首字节地址+Step)地址处的字节内容和当前年进行比对,如果发现有年信息和当前年相等,则取出该年的偏移量,加上该偏移量跳后转到相应的月区域;如果当前步长值下没有年信息和当前年相等,则Step=Step+2,然后判断Step是否大于YearHead,如果小于YearHead,则重复上述步骤,如果Step加到大于YearHead,则判断周循环字节中的内容是否为0,如果为0,则加上周循环字节后的偏移量跳转到时区域;如果不为0,则加上周循环后的偏移量跳转到周区域进行判断。
如有周循环进入周区域进行判断,判断方法和年、月判断方法相同,然后进入时区域进行判断,依次到秒区域。秒节点后的偏移量就指向一个带有事件的区域。如果该事件是带条件的,就去读取输入口的状态值和条件值相比教,如果输入口状态值和条件值相匹配就执行相应条件下的动作,如果该事件是不带事件的,则直接直接执行该事件。
单片机采用8位单片机,如ATMEL、MOTOROLA、PHILIPS等公司的89C51、89C52或89S52等系列单片机。
为了使单片机实现时序控制功能,在上位计算机中提供了“可编程时序控制管理系统”软件,用户在该软件中编写完成时序信息程序。
“可编程时序控制管理系统”包含一个方案库,方案库是对应的一些方案序列,在计算机中设立的一个通用的库,适应于各种应用场合标识对应的方案的通用性。方案库分为带条件判断的方案库建立,不带条件判断的方案库,且方案库可以被新建或修改。
编写时序信息程序步骤是,a)从方案库中提取所需方案;或重新设定时序事件的起、止时间、相关事件,修改方案库中方案;或定义新事件方案并添加到方案库中;b)建立应用场景,该场景包含一个或多个方案以及一个或多个特殊事件;
c)把事件所含信息转换成时序信息数据结构链。
时序控制设备具有唯一ID号,该ID号与应用场景一一对应。
二、应用上述方法的可编程时序控制系统包括计算机、非易失存储器、时序控制设备。
所述计算机中被提供一种对时序控制设备编写时序信息程序的软件,即“可编程时序控制管理系统”。
“可编程时序控制管理系统”据时序控制设备需求,编写时序信息程序后,将时序信息程序通过相应接口(串行口)下载到非易失存储器中;非易失存储器与时序控制设备相应接口(串行口)连接,由时序控制设备执行时序信息程序。
本发明提出的方法和系统与PLC的主要区别是,1、PLC下载的是控制指令集,PLC存储的信息也是控制指令集;而本发明中,可编程时序控制设备下载的是时序事件序列,存储的也是时序事件序列。
2、执行时的区别PLC是解释控制指令集来执行相应的工作,而本发明中,可编程时序控制系统是以时钟为中心,每隔一个时钟单位(这里一般是以秒为单位)来读取时序事件序列信息,然后按一定的规则来解释执行,即可编程时序控制系统是以时序为核心通过时钟触发来解释执行一系列时序文件。
本发明的主要特点在于通用性、实用性、易用性,其有益效果有1、可以实现复杂信息场合下的的时序控制设备的应用,用户只需在计算机的时序控制设备进行编程的软件程序中录入简单的时间信息和特殊事件,即可完成。
2、若要更改控制器程序只需更换存放有控制时序信息程序的存储器。
3、考虑到各种应用场合标识对应的方案有一定的通用性,本发明提供了方案库,且方案库可以被修改和新建。
4、利用了计算机的丰富资源,使得用户可以很方便的进行一些设置。用户可以根据需求建立所需的应用场景,在应用场景下建立一些方案序列(每个方案就是对应的一些周期事件序列)和特殊事件序列。
5、本发明提供的时序控制设备采用嵌入式系统,不仅提供时序控制,而且可以根据根据环境改变来进行一定智能化的输出控制。
6、时序控制设备具有唯一ID号,该ID号与上述方法中所述方案中的场景一一对应,避免了程序更新中的错误。
7、本发明提供的方案采用非易失存储器作为程序传输的介质,避免了传统方法通过无/有线传输的空间、成本等的限制,可以使时序控制设备离线工作。
8、本发明用8位单片机作为控制器件,节约了成本,更具有人性化。
图1是系统框2是可编程时序控制设备的控制部分电路框3是时序控制设备单片机程序框4是可编程时序控制管理系统软件的功能5是不带条件判断事件的方案库的设置界面图6是带条件判断事件的方案库的设置界面图7是“可编程时序控制管理系统”界面8是时序信息数据结构示意9是年节点判断流程10是天节点判断流程图具体实施方式
结合附图和实施例,对本发明作进一步说明。
发明系统组成,如图11、计算机的操作系统是WINDOWS2000,装有“可编程时序控制管理系统”软件;2、时序控制设备,如图2主控模块主要负责控制器的策略调度控制,采用ATMEL89S52单片机;时钟模块是一个专门的时钟芯片,这里选用的是DS1307作为时钟芯片;时钟校正模块可以是一个备用模块,主要是方便用户可以在控制器上通过几个按键输入对时间进行校正;非易失性存储器采用EEPROM,其中存放的是时序信息程序,这些程序是通信上位机设定好后下载到非易失性存储器中;电源模块负责给整个控制电路供电,该电源模块带有后备电池,能在断电的情况下给时钟供电多年;监控模块主要是防止系统出现异常时自动复位,加强系统的稳定性;通信接口模块可以是一个备用模块,主要负责和上位机之间的通信,用户通过上位机设定的时序信息程序通过串口下载到控制电路中。
时钟显示模块可以是一个备用模块,主要可以显示当前控制器中的时间;输出端口数量可选,可根据不同要求定制。
输入端口是可选的,端口数量也是可选的,可根据不同要求定制。
例一应用本系统实现学校中对教学楼路灯,教室铃声、灯光等的时序控制,编程界面图如图7。
1、提取方案、建立方案库打铃的方案每个学校都可能是一样的,这样在计算机中设立了一个通用的方案库,根据具体情况,用户在通用库方案的基础上进行一定的修改形成自己的方案。本实施例中一个教学工作日的打铃控制由每秒的输出控制序列,可以转换成状态跳变控制序列,如{……、(8:00:00,打开,normal)、(8:00:05,关闭,normal)、(8:45:00,打开,normal)、(8:45:05,关闭,normal)、……}。该方案为不带条件判断的方案,可以立即加到方案库中,方案库的设置界面如图5所示。
路灯开关的方案,类似打铃的方案,区别之处是,环境亮度是路灯开关的判断条件。该方案是带条件判断的方案,方案库的设置界面如图6所示。这里,控制器是有两个输入口,输入口1或输入口2的条件阈值即为亮度值。
教室灯光和特殊事件1(如防空警报)的方案建立与上述方法相同。
2、建立应用场景应用场景对应一个应用场合,参见图4。用户可以根据需求设置时间和修改时间下要执行的场景,用户可以设置多个场景,场景包含多个方案和多个特殊事件,特殊事件针对那些特殊的时序事件,如防空警报是在某个特殊时间才开始。
学校教学楼即为一个应用场景1,包含教学楼打铃方案、教室灯控制方案、教学楼路灯控制方案和表示特殊事件1。与应用场景1关联的教学楼时序控制设备的ID号为A025B210C833D001。通过选择应用场合标识以及应用场合标识下的各种方案进行设置和修改,然后将这些不同应用场合标识下的方案下载到相应应用场合的控制器中。
3、生成事件程序用户在应用场景的模式下设置好方案序列和特殊事件序列后,“可编程时序控制管理系统”的后台将用户设定的时序信息转换成一个时序逻辑树型结构的时序信息程序,如图6。将时序信息程序计算机串行口下载到EEPROM中。
4、时序控制设备执行程序,如图3所示将EEPROM插入时序控制设备的串行口,控制器中的解读程序会读取时序信息,脱机运行时可以按照一定的控制逻辑完成相应时序下的事件。
打铃方案不带判断条件,单片机按照时序信息持续执行;对于路灯方案,单片机通过对输入口状态条件的判断,根据环境改变来进行一定智能化的输出控制,教学楼路灯的开关根据环境亮度变化进行判断,条件的优先级是最高的。
如果,对上述控制中需要修改时,只要按新要求编写时序信息程序,下载到EEPROM,控制器读取其中程序即可。
例二应用本系统实现园林自动定时喷淋控制1、提取方案、建立方案库同例一,根据具体情况,用户在通用库方案的基础上进行一定的修改形成自己的方案。一个喷头的控制由每秒的输出控制序列,可以转换成状态跳变控制序列,如{……、(9:00:00,打开,normal)、(9:30:00,关闭,normal)、(16:00:00,打开,normal)、(16:30:00,关闭,normal)、……}。判断条件是雨雪,该方案是带条件判断的方案,方案库的设置界面如图6所示。这里,控制器是有两个输入口,输入口1或输入口2的条件阈值即为雨雪。
其它喷头方案建立同上。
2、建立应用场景同例一,花园即为一个应用场景,包含若干个喷头方案,与应用场景关联的园林自动定时喷淋时序控制设备的ID号为A025B210C833D002。通过选择应用场合标识以及应用场合标识下的各种方案进行设置和修改,然后将这些不同应用场合标识下的方案下载到相应应用场合的控制器中。
3、生成事件程序同例一4、时序控制设备执行程序,如图3所示同例一的路灯控制例三应用本系统实现电饭锅控制以电饭锅煮稀饭为例1、提取方案、建立方案库同例一,根据喜好(有的人喜欢吃烂一点,有的人喜欢吃硬一点的)用户在通用库方案的基础上进行一定的修改形成自己的方案。电饭锅加热器电源的控制由每秒的输出控制序列,可以转换成状态跳变控制序列,如{……、(9:00:00,打开,normal)、(9:03:00,关闭,normal)、(9:15:00,打开,normal)、(9:18:00,关闭,normal)、……}。判断条件是水温,该方案是带条件判断的方案,方案库的设置界面如图6所示。这里,控制器是有两个输入口,输入口1或输入口2的条件阈值即为水温。
2、建立应用场景同例一,电饭锅即为一个应用场景,包含煮饭方案,与应用场景关联的电饭锅加热器电源的ID号为A025B210C833D003。如需更改煮饭方案,只需要对方案进行设置和修改,或者提取适合的现有方案即可,然后将方案下载到相应应用场合的控制器中。
3、生成事件程序同例一4、时序控制设备执行程序,如图3所示同例一的路灯控制例四应用本系统进行校区路灯定时控制器校区有20幢学生宿舍,5幢教学楼,图书及阅览室,体育馆等,其灯光供电的管理,可以采用本发明的方案。
采购了30多个控制器,分别控制这些地方的路灯及室内灯光的电源。这些控制器的控制容量应该根据应用场所进行考虑,一般的工程师就可以解决,不涉及控制时序及逻辑问题。
控制器管理员在计算机上运行应用场景管理程序,根据各个控制器的安放位置,以及其出厂设备标识号码,首先建立设备标识库,将设备与应用场所对应起来。比如,1号学生宿舍,3号教学楼,等等。
根据学校的管理规定,对于各个应用场所的路灯管理时序,进行编辑,生成应用场景。比如,我们在1号学生宿舍的应用场景上,设置每天下午5点开始有电,晚上10点停电,周末,增加一个小时,节、假日增加4个小时,假期停电。这些方案,在软件程序的方案库中可能已经有了,只是复制到1号学生宿舍的应用场景中,再根据情况进行改动就好了。生成的应用场景,存放在应用场景库中。
我们对于2号学生宿舍的控制时序,应该与1号宿舍相同,那么,我们将1号宿舍的应用场景复制到2号宿舍的应用场景就可以了。
教学楼的控制时序不同,我们也可同样进行设置,生成应用场景。
生成应用场景以后,可以下载到各个控制器中,1号学生宿舍的应用场景,只能下载到1号学生宿舍的控制器中,下载到其他控制器时,由于设备标识号码不符合,会提示出错,并停止运行。避免出现错误控制。
由于校区各控制器之间距离较远,直接下载控制程序并不方便,可以利用专用程序转移器进行程序转移,或存储在存储卡上进行转移。
权利要求
1.一种可编程时序控制方法,步骤包括a)在上位计算机中编写时序信息程序;b)用非易失性储存器存储和转移时序信息程序;c)时序控制设备读取非易失性储存器存储中的时序信息程序并执行,其特征是步骤c)中时序控制设备采用单片机作为控制芯片,进行时序控制;该单片机通过对输入口状态条件的判断,进行智能化的输出控制;单片机的步骤主要包括首先每秒读取时序控制设备的时钟芯片中的即时时间,然后将即时时间和时序信息数据结构中各个时间节点进行比较;其中,首字节代表下面有多少时序信息有效,月份中的首字节代表月份中该字节数量个月是含有时序事件的,每个月占两个字节,第一个字节代表是月份,第二个字节代表偏移量;其中年和月的偏移量为一个字节,其他从天开始偏移量为2个或2个以上的字节,为了以后的扩展;月判断流程和年判断流程一样,除小时、分钟和秒判断时步长要加3,其他都相同;在判断年节点时,首先,取出首字节里的内容,判断首字节的内容是否为0;如果为0,则加上首字节后的偏移量跳转到月区域;如果首字节不为0,则定义一个变量YearHead,其中YearHead=首字节×2,定义一个步长变量Step,其中Step的初值为0。然后,取出首字节下地址为首字节地址+Step处的字节内容和当前年进行比对,如果发现有年信息和当前年相等,则取出该年的偏移量,加上该偏移量跳后转到相应的月区域;如果当前步长值下没有年信息和当前年相等,则Step=Step+2,然后判断Step是否大于YearHead,如果小于YearHead,则重复上述步骤,如果Step加到大于YearHead,则退出;判断月节点时,方法和年相同;判断天节点时,首先,取出首字节里的内容,判断首字节的内容是否为0;如果为0,则判断首循环字节中的内容是否为0,如果也为0,则加上周循环字节后的偏移量跳转到时区域;如果不为0,则加上周循环后的偏移量跳转到周区域进行判断;如果首字节不为0,则定义一个变量DayHead,其中DayHead=首字节×2,定义一个步长变量Step,其中Step的初值为0;然后,取出首字节下第首字节地址+Step地址处的字节内容和当前年进行比对,如果发现有年信息和当前年相等,则取出该年的偏移量,加上该偏移量跳后转到相应的月区域;如果当前步长值下没有年信息和当前年相等,则Step=Step+2,然后判断Step是否大于YearHead,如果小于YearHead,则重复上述步骤,如果Step加到大于YearHead,则判断周循环字节中的内容是否为0,如果为0,则加上周循环字节后的偏移量跳转到时区域;如果不为0,则加上周循环后的偏移量跳转到周区域进行判断;如有周循环进入周区域进行判断,判断方法和年、月判断方法相同,然后进入时区域进行判断,依次到秒区域;秒节点后的偏移量就指向一个带有事件的区域;如果该事件是带条件的,就去读取输入口的状态值和条件值相比教,如果输入口状态值和条件值相匹配就执行相应条件下的动作,如果该事件是不带事件的,则直接执行该事件。
2.根据权利要求1所述的可编程时序控制方法,其特征在于采用的非易失性储存器存储是EPROM、EEPROM或FLASH。
3.根据权利要求1所述的可编程时序控制方法,其特征在于时序信息程序在“可编程时序控制管理系统”软件中编写完成,该软件包含一个方案库,方案库是对应的一些方案序列,在计算机中设立的一个通用的库,适应于各种应用场合标识对应的方案的通用性;编写时序信息程序步骤是a)从方案库中提取所需方案;或重新设定时序事件的起、止时间、相关事件,修改方案库中方案;或定义新事件方案并添加到方案库中;b)建立应用场景,该场景包含一个或多个方案以及一个或多个特殊事件;c)把事件所含信息转换成时序信息数据结构链。
4.根据权利要求3所述的可编程时序控制方法,其特征在于方案库分为带条件判断的方案库建立,不带条件判断的方案库,且方案库被新建或修改。
5.根据权利要求1所述的可编程时序控制方法,其特征在于时序控制设备具有唯一ID号,该ID号与应用场景一一对应。
6.一种应用权利要求1所述方法的可编程时序控制系统,包括计算机、非易失存储器、时序控制设备;所述计算机中被提供一种对时序控制设备编写时序信息程序的软件,该软件根据时序控制设备需求编写时序信息程序后,将时序信息程序通过相应接口下载到非易失存储器中;非易失存储器与时序控制设备相应接口连接,由时序控制设备执行时序信息程序。
7.根据权利要求6所述的可编程时序控制系统,其特征在于对时序控制设备编写时序信息程序的软件是“可编程时序控制管理系统”。
8.根据权利要求6所述的可编程时序控制系统,其特征在于接口为串行口。
9.根据权利要求6所述的可编程时序控制系统,其特征在于可编程时序控制系统适用于学校中对教学楼路灯,教室铃声、灯光等的时序控制。
全文摘要
本发明针对复杂信息场合应用,提出一种可编程时序控制方法和系统。系统包括计算机、非易失存储器、时序控制设备。方法的实施步骤包括a)在上位计算机中编写时序信息程序;b)用非易失性储存器存储和转移时序信息程序;c)时序控制设备读取非易失性储存器存储中的时序信息程序并执行。本发明的相对于现有技术,主要特点在于通用性、实用性、易用性。
文档编号G05B19/04GK101042577SQ20071002101
公开日2007年9月26日 申请日期2007年3月22日 优先权日2007年3月22日
发明者程伟, 朱启文, 周望玮, 张啸, 杨圆圆, 韩迪 申请人:南京信息职业技术学院