CN103197590B - 基于活动存储设备的逻辑控制器及其控制方法 - Google Patents

基于活动存储设备的逻辑控制器及其控制方法 Download PDF

Info

Publication number
CN103197590B
CN103197590B CN201310086486.0A CN201310086486A CN103197590B CN 103197590 B CN103197590 B CN 103197590B CN 201310086486 A CN201310086486 A CN 201310086486A CN 103197590 B CN103197590 B CN 103197590B
Authority
CN
China
Prior art keywords
script
sentence
script sentence
logic controller
control unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201310086486.0A
Other languages
English (en)
Other versions
CN103197590A (zh
Inventor
张凯
张二浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guizhou Eurasia Electronic Technology Co., Ltd.
Original Assignee
张二浩
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 张二浩 filed Critical 张二浩
Priority to CN201310086486.0A priority Critical patent/CN103197590B/zh
Publication of CN103197590A publication Critical patent/CN103197590A/zh
Application granted granted Critical
Publication of CN103197590B publication Critical patent/CN103197590B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开一种基于活动存储设备的逻辑控制器,同时也公开了用于该逻辑控制器的控制方法。该逻辑控制器包括主控单元和外围设备,其中外围设备还包括活动存储单元;该活动存储单元与主控单元双向通信;主控单元读取活动存储单元中的配置文件并控制其他外围设备;主控单元采集控制信息写入活动存储单元。使用本发明提供的逻辑控制器,首先向活动存储设备内写入脚本语言配置文件,微控制器读取脚本语言配置文件并执行控制外围设备。本发明具有集成度高,支持多种通信协议、处理信号类型可扩展、有数据采集记录功能、工作时间跨度广等优点。

Description

基于活动存储设备的逻辑控制器及其控制方法
技术领域
本发明涉及一种逻辑控制器,尤其涉及一种基于活动存储设备的逻辑控制器,同时也涉及用于上述逻辑控制器的控制方法,属于控制技术领域。
背景技术
可编程逻辑控制器(Programmable Logic Controller,简称为PLC)作为自动控制系统的控制核心,已经得到几十年的发展和广泛应用。其方便灵活的控制方式得到了普遍的认可。目前,市场上的PLC产品虽然可靠性及稳定性较高,但其编程方式往往难度较大,对程序烧写的要求过高,价格也较为高昂。具体表现在以下几个方面:
首先是对编程语言要求较高。由于可编程逻辑控制器的实时性要求较高,对编程语言有比较僵硬的要求。其编程语言需为以下五种标准化编程语言之一:顺序功能图(SFC)、梯形图(LD)、功能模块图(FBD)三种图形化语言和语句表(IL)、结构文本(ST)两种文本语言。选用的编程语言应遵守IEC6113123标准。由于上述缺陷,使得可编程逻辑控制器在实时性要求不是太高的场合(如智能家居等)不能得到普遍应用。
其次是需要复杂专业的配套设备才能完成可编程逻辑控制器的程序烧写,其烧写成本较高,造成价格昂贵。
再次是功能单一,可扩展性不强。在通信方面,大多可编程逻辑控制器不支持WIFI、TCP/IP等这些功能强大的通信协议。即使少数可编程逻辑控制器支持TCP/IP,其价格也是十分昂贵,并且使用起来必须依照十分专业的操作知识;在定时方面,传统的可编程逻辑控制器程序定时的时间跨度小,而且一般仅能支持重复性事件的定时。而传统的具备定时功能的定时开关又不具备可编程功能,无法自定义事件的执行办法(常开还是闪开等),无法自定义事件的执行次数,无法进行相应的逻辑判断等。
最后,传统的可编程逻辑控制器还缺乏数据采集记录功能,不能提供用户所需要的一些数据供其参考使用,例如运行日志、操作或控制参数等。
鉴于上述的不足,一些公司已经对现有的可编程逻辑控制器进行了改进。例如申请号为201110173587.2的中国发明申请文件中,提供一种可编程控制器,其构成为在可编程控制器内设置用于从外部存储介质读出脚本数据并对脚本进行解析及执行的结构。可编程控制器10包含下述部分而构成:外部存储介质接口32,其用于可拆卸地安装外部存储介质20;外部存储介质驱动器33,其在外部存储介质接口32上安装了存储有脚本数据40的外部存储介质20时,读入脚本数据40,其中,该脚本数据中记载有脚本41、42;脚本解析部34,其对脚本数据40中记载的脚本41、42进行解析;以及脚本执行部35,其根据解析出的结果执行脚本。但是此方案集成度不高,控制过程繁琐效率低下,很难满足当前的用户需求。
发明内容
针对现有技术的不足,本发明所要解决的技术问题在于提供一种基于活动存储设备中脚本语言的逻辑控制器及其控制方法。该逻辑控制器的集成度高,方便用户进行编程和控制。
为实现上述的发明目的,本发明采用下述的技术方案:
一方面,本发明提供一种基于活动存储设备的逻辑控制器,包括主控单元和外围设备,所述外围设备还包括:活动存储单元;
所述活动存储单元与所述主控单元双向通信;
所述主控单元读取所述活动存储单元中的配置文件并控制其他外围设备;所述主控单元采集控制信息写入所述活动存储单元。
其中较优地,所述活动存储单元包括活动存储设备和与所述活动存储设备相对应的活动存储设备接口;所述活动存储设备接口与所述主控单元连接。
其中较优地,所述活动存储设备是存储卡、FLASH存储芯片、U盘、活动硬盘、多媒体记忆卡中的任意一种。
其中较优地,所述外围设备还包括:时间控制单元;
所述时间控制单元是实时时钟控制模块;
所述主控单元按所述实时时钟控制模块的时间读取和执行所述活动存储单元中的配置文件。
其中较优地,所述主控单元是微控制器;
所述微控制器还包括微控制器内核脚本语句处理程序存储器和与其连接的微处理运算单元,微处理器运算单元通过总线和其它外围设备传输数据。
其中较优地,所述主控单元中还有数据缓冲池;
所述数据缓冲池用于保存通信模块要发送或接收的数据。
另一方面本发明还提供一种应用于上述逻辑控制器的控制方法,包括:
S1:初始化所述逻辑控制器的系统参数,并对脚本语言配置文件定位;
S2:打开脚本语言配置文件,获取用户脚本语句中第一个时间节点的位置并对系统参数赋值后按步骤S3执行脚本语句;
S3:通过判断脚本程序指针值和本段脚本语句代码量的大小确定是否按步骤S4执行,然后按照时间触发方法定位需要执行的脚本语句段;
S4:按脚本语句条件解析判断方法执行定位的脚本语句段。
其中较优地,所述逻辑控制器的系统参数包括:
活动存储设备的文件系统、脚本位置指针、脚本语句指针、条件逻辑变量、数据缓冲池。
其中较优地,所述按照时间触发方法定位需要执行的脚本语句段的步骤进一步包括:
S301:判断脚本程序指针值与本段脚本语句代码量大小,如果脚本程序指针值小于本段脚本语句代码量,则按步骤S4执行脚本语句进入步骤S302,如果脚本程序指针值不小于本段脚本语句代码量,则直接进入步骤S302;
S302:分析脚本位置指针指向时间节点脚本语句时,根据当前时间量与脚本位置指针处脚本语句中时间节点的时间量大小定位要执行的当前脚本语句段位置;
S303:如果当前时间量小于脚本位置指针处脚本语句中的时间节点的时间量,则返回步骤S301;
S304:如果当前时间量大于脚本位置指针处脚本语句中的时间节点的时间量,则遍历脚本语句中下一个时间节点的位置并将脚本位置指针指向下一个时间节点的位置,返回步骤S301;
S305:如果当前时间量达到脚本位置指针处脚本语句中的时间节点的时间量,更新脚本程序指针值,确定要运行的脚本语句段的位置和脚本语句代码量,返回步骤S301。
其中较优地,所述按脚本语句条件解析判断方法执行定位的脚本语句段步骤进一步包括:
S401:获取要进行分析的脚本语句;
S402:分析脚本语句中是否存在“:”,如果存在“:”,则获取脚本语句中第一个“:”的位置,则判定“:”之前的脚本语句为条件语句进入步骤S403;如果不存在“:”则分析并执行脚本语句中“;”之前的脚本语句,进入步骤S405;
S403:判断该条件语句的条件逻辑变量是否为真,如果为真,则继续循环判断本条件语句“:”之后的脚本语句,返回步骤S402;如果不为真,则进入步骤S405;
S405:脚本程序指针值加1。
本发明提供的基于活动存储设备的逻辑控制器及其控制方法,将程序写成脚本语句文件放进活动存储设备内部,微控制器读取脚本语言配置文件并执行控制外围设备。一方面使编程方式变得更加简易,另一方面因为脚本语言一般比较易懂易写,避免了专业编程语言的复杂性。本发明具有集成度高,支持多种通信协议、处理信号类型可扩展、有数据采集记录功能、工作时间跨度广等优点。
附图说明
图1为现有技术中,可编程逻辑控制器的结构示意图;
图2为本发明所提供的基于活动存储设备的逻辑控制器结构示意图;
图3为本发明中,逻辑控制器的中心控制单元结构示意图;
图4为本发明中,按照时间触发方法定位脚本语句段的流程示意图;
图5为本发明中,脚本语句条件解析判断方法的流程示意图。
具体实施方式
下面结合附图和具体实施方式对本发明做进一步的详细说明。
如图2所示,本发明所提供一种基于活动存储设备的逻辑控制器(以下简称逻辑控制器),该逻辑控制器包括:主控单元5和多个外围设备。多个外围设备分别与主控单元5连接。主控单元5优选微控制器(Micro Control Unit,简写为MCU)。其他外围设备可以按用户需要设置,主要包括:活动存储单元、通信单元、时间控制单元、和逻辑控制单元。在本发明的一个实施例中,微控制器分别与活动存储单元、通信单元、时间控制单元、逻辑控制单元进行双向通信。微控制器读取活动存储单元中的配置文件并控制其他外围设备,微控制器采集控制信息写入活动存储单元。主控单元5根据时间控制单元的时间读取和执行活动存储单元中的配置文件。当然可以理解,本发明的外围设备不仅限于此,具有其他功能的外围设备也可以与微控制器连接,例如显示模块、脉宽调制模块、模拟多路转换模块、A/D转换模块、人机接口模块、打印模块等。
在本发明的一个实施例中,活动存储单元包括:活动存储设备(也称移动存储设备)1以及与之相对应的活动存储设备接口2。活动存储设备1用于存放用户设计的配置文件以及用户所需要的记录数据。这些配置文件可以是用户编程的脚本语言配置文件。在初始化过程中从该活动存储设备1中读取用户编程的脚本语言配置文件,并逐条判断执行,该用户编程的脚本语言配置文件最终由微控制器解析,并根据解析结果来驱动相关硬件工作。用户所需要的记录数据可以是控制器运行日志,可以是一些外围设备的数据(例如,通信数据,外围设备的电压值等),微控制器将本发明运行的日志记完整录到该活动存储设备1供用户分析使用。本发明的一个实施例中,活动存储设备1优选为存储卡。当然可以理解,该活动存储设备1不仅限于此,也可以采用其他存储设备例如FLASH存储芯片、U盘、活动硬盘、多媒体记忆卡等。在本发明的一个实施例中,活动存储设备接口2的物理表现为芯片引脚、接口插槽以及相应的连接线。实际数据通信时,活动存储设备接口2提供微控制器访问活动存储设备1时所需底层协议。微控制器通常至少支持其中一种协议,例如SPI(串行外设接口)、SDIO(安全数字输入输出卡)等。
由于微控制器中已经写入了活动存储设备1的驱动程序和相应的文件系统,因此微控制器也具备文件管理功能。当用户使用活动存储设备1中的脚本语句执行并向指定文件记录某种数值时,微控制器调用底层的活动存储设备1的驱动程序和文件系统,将用户需要记录的数据写入指定的文件,因此本发明可以采集并记录数据。
在本发明的一个实施例中,时间控制单元优选采用RTC(Real-TimeClock,实时时钟)控制模块8。该RTC控制模块8用于运算当前时间。在本发明中,当前时间量作为运行脚本语句的一个重要参照量,采用RTC控制模块8用户可以通过定义不同的时间节点轻松控制大时间跨度运行的脚本语言配置文件,达到不同时间运行不同脚本语言配置文件的目的。RTC控制模块8作为逻辑控制器的重要时间控制参考,主控单元5可以依据活动存储设备1中用户编程的脚本语言配置文件,按该照配置文件中的时间节点类脚本语句,确定具体脚本语句段的读取和执行时间。下文中在时间触发方法中对其进行详细阐述。
在本发明的一个实施例中,微控制器作为逻辑控制器的核心部件,主要用于活动存储单元、时间控制单元、通信单元之间通信,并最终作为逻辑输入输出驱动的控制源。如图3所示,微控制器包括微控制器内核程序存储器(内部FLASH及RAM)和与其连接的微处理运算单元(ALU),微处理器运算单元通过总线和其它外围设备传输数据。微控制器工作时,读取活动存储设备1中用户编写的脚本语言配置文件,并通过微控制器内核程序存储器中存储的程序对活动存储设备1中用户编写的脚本语言配置文件分析。微控制器直接解析脚本语言,无需其它任何脚本翻译工具。微控制器以脚本语言的解析结果为依据,直接通过总线对所有外围设备控制。本发明和现有技术相比,省去了控制器解读脚本语言需要脚本解析工具和脚本执行工具这一过程,提高了集成度。微控制器的固件相当于一个嵌入式操作系统,该嵌入式操作系统自身集成了微控制器对各种外围设备(例如存储卡读写控制模块、实时时钟RTC控制模块8、逻辑输入输出接口和人机接口模块等)的驱动程序。在逻辑控制器外围设备配置不同的情况下,在设计相关逻辑控制器的时候可以通过微控制器内预先烧写的底层驱动程序的变化达到驱动各种不同功能模块工作的目的。
在本发明的一个实施例中,通信单元包括:通信模块4和与之相对应的通信接口3。通信模块4优选USART(通用同步/异步串行接收/发送)通信模块,用于和其他设备进行数据通信,其由微控制器驱动工作。当然可以理解,该通信模块4不仅限于此,其他具有数据通信功能的有线或无线的通信模块,例如WIFI模块、GSM模块、CDMA模块、以太网模块等也可以实现本发明的功能。在本发明中,通信模块4可以根据用户实际需求选择,并可以尽可能支持更多、更强大的通信协议。通信接口3的物理表现为芯片对应引脚、连接线以及与通信模块4对相应的接口插槽。当然可以理解,本发明中逻辑控制器的结构并不仅限于此。随着微控制器的选型不同,该微控制器可能集成RTC控制模块8和通信模块4,或还可能包含有其他不同类型的外围设备。
在本发明的一个实施例中,逻辑控制单元包括:逻辑输入输出驱动模块6和控制执行接口7。其中,逻辑输入输出驱动模块6一方面将微控制器的控制信号放大,驱动其他外围设备工作;另一方面对外部输入信号进行预处理,向微控制器传输安全清晰的外部信号。控制执行接口7用于将逻辑输入输出驱动模块6的输出信号向外部输出,也可以将外围设备需要采样的信号传递给逻辑输入输出驱动模块6。
在本发明的一个实施例中,当用户使用脚本语句调用通信模块4从外部接收数据时,有可能存在通信异步的问题。即在执行从通信模块4接收数据的脚本语句的时候,其他设备并不一定会在同时向本逻辑控制器发送数据。为解决上述通信异步问题,微控制器中还设置有缓冲池。该缓冲池是为了保存要发送或接收的数据,改善通信效果而采用的一种技术方案。如果通信模块4中本身具有缓冲池就不需要启用在微控制器中的缓冲池;如果通信模块4是实时传输的,而且本身不能保存要发送或接收的数据,必须需要启用在微控制器中的缓冲池。在本发明中,在外围设备配置不同的情况下,需要预先将外围设备的底层驱动程序烧写进微控制器中。根据解析活动存储设备1中的用户编程的脚本语言配置文件来驱动各种外围设备运行。用户可以使用简单的脚本语句直接控制相应的外围设备运行。例如,若外围设备包含有AD转换(模数转换)模块,那么需要编写AD转换驱动程序并烧写进微控制器。微控制器读取活动存储设备1中用户设计好的AD转换脚本语言配置文件,控制模拟电压信号的分析。应当可以理解,本发明通过读取移动活动存储设备中不同的脚本语言配置文件,可以处理多种信号,例如实现频率信号分析、频率信号产生、PWM信号产生等。因此,本发明相对于现有技术而言明显具有较强的可扩展性。
本发明提供的基于活动存储设备的逻辑控制器的工作过程是这样的:微控制器加载活动存储设备1的驱动程序,读取活动存储设备1中的脚本语言配置文件并解析;解析完成后微控制器根据解析结果和预先烧写的底层驱动程序驱动通信模块4工作,进行数据的收发;同时微控制器根据解析结果通过逻辑控制单元控制信号的输出和外部信号的输入。微处理器工作时,将时间控制单元提供的当前时间量作为运行脚本语句的一个参考量。当用户使用脚本语句调用通信模块4向外部发送数据时,微控制器充当“翻译”(即把用户的脚本语句解析后,调用底层的通信模块驱动程序进行发送信息)。由于通信模块驱动程序由微控制器内的固件所接管,当某一时刻外部设备向本逻辑控制器发送数据时,无论本逻辑控制器运行的用户脚本语句中是否接收通信模块数据的语句,微控制器都会通过通信中断服务程序接收通信模块数据,并把接收到的数据存储在特定的数组中,这个保存通信接收数据的数组就是缓冲池,当用户使用脚本从通信模块4接收数据的时候,微控制器的实际操作是从缓冲池内读取最新接收到的通信数据以供用户脚本语句分析。
为了进一步体现本发明提供基于活动存储设备的逻辑控制器的先进性,本发明还提供了一种用于上述逻辑控制器的控制方法,包括以下几个步骤:S1:初始化逻辑控制器的系统参数,并对脚本语言配置文件定位;S2:打开脚本语言配置文件,获取用户脚本语句中第一个时间节点的位置并对系统参数赋值后按步骤S3执行脚本语句;S3:通过判断脚本程序指针值和本段脚本语句代码量的大小确定是否按步骤S4执行,然后按照时间触发方法定位需要执行的脚本语句段;S4:按脚本语句条件解析判断方法执行定位的脚本语句段。下面对该基于活动存储设备的逻辑控制方法展开详细的说明。
在活动存储设备1内存放的脚本语言配置文件中有多条脚本语句,微处理器执行的这些具体脚本语句就是脚本指令。脚本指令中须有时间节点指令和条件判断指令;另外用户编写的脚本语句配置文件最终将控制硬件设备的执行动作,所以脚本语句还需包括驱动硬件执行具体动作的硬件指令;由于用户可能需要在某段时间反复执行某段固定的脚本语句或执行某段脚本语句规定的次数,所以本发明还有相应的变量操作指令和脚本语句跳转指令,这两种指令可以称之为软件指令。下面对本发明定义的各种脚本指令进行详细说明:
(a)时间节点指令,用于定义用户脚本语句中某段脚本语句的开始和结束时间。这类脚本指令可以设置成YYYY-MM-DD hh:mm:ss等。例如,2013-02-1708:30:20,也可以为单纯的时间,如08:30:20。
(b)条件判断指令,用于运算判断某行用户脚本语句是否要最终执行其硬件指令或软件指令。这类脚本指令可以设置为各种逻辑运算表达式(例如用PA0=0:PB1=1:来定义PA0引脚为低电平且PB1引脚为高电平的条件限制。应当注意:此处使用的“=”可以不是赋值的意思)。本发明中的脚本语言依据具体的脚本语言解析程序对脚本语句进行解析,命令格式可以完全与C语言等其他编程语言不同。
(c)硬件指令,用于控制微控制器执行动作(例如,设置某个输出引脚电平、向指定文件记录数据、接收通信模块数据或向通信模块4发送数据等)。这类脚本指令可以是具体的硬件操作指令(例如,PA2=0;、SEND“hello world”;、WRI“new.txt”analogPORT2等;分别表示将PA2引脚设置为低电平、使用通信模块4发送“helloworld”字符串、向new.txt记录设备第二个输入通道的模拟电压值等)。
(d)软件指令,用来对变量进行操作或对脚本语句进行跳转等指令。(例如,VAR1++表示变量VAR1的值递增、BACK5表示在用户脚本语句中向前跳转5步等)。
下面以微控制器、存储卡、存储卡接口、RTC控制模块8、USART通信模块、逻辑输入输出驱动模块6和控制执行接口7组成的逻辑控制器为优选例,对该基于活动存储设备的逻辑控制方法展开详细的说明。
首先介绍步骤S1:初始化逻辑控制器的系统参数,并对脚本语言配置文件定位。
本发明提供基于活动存储设备的逻辑控制器启动工作时,微控制器首先会初始化逻辑控制器中的系统参数,该系统参数主要包括:活动存储设备(优选存储卡)的文件系统,初始化脚本位置指针值JC、脚本程序指针值PC、条件逻辑变量值LGC、通信模块4接收数据的缓冲池等。在初始化系统参数的同时微控制器还找到存储卡中用户编写的脚本语言配置文件。
其次介绍步骤S2:打开脚本语言配置文件,获取用户脚本语句中第一个时间节点的位置并对系统参数赋值后按步骤S3执行脚本语句。微处理器读取存储卡中用户编写的脚本语言配置文件并打开,当微控制器对读取的脚本语言配置文件预分析时,提取用户脚本语句的时间节点。时间节点是下一个需要执行脚本语句段的开始时间节点,也是上一脚本语句段的结束时间节点。两个时间节点之间的脚本语句称为一个脚本语句段。对该脚本语句文件进行遍历以获取第一个时间节点,并将脚本位置指针指向第一个时间节点位置,将本段脚本语句代码量设置为第一个时间节点所在行数,之后开始执行步骤S3。
接下来介绍步骤S3:通过判断脚本程序指针值PC和本段脚本语句代码量的大小确定是否按步骤S4执行,然后按照时间触发方法定位需要执行的脚本语句段。
时间节点是本发明提供的微控制器分析脚本文件并驱动相关硬件执行的一个重要因素。按照时间触发方法,本发明可以在不同时间段执行脚本语句配置文件中不同位置的脚本语句段。如图4所示,按照时间触发方法定位需要执行的脚本语句段的具体步骤如下:
S301:判断脚本程序指针值PC是否小于本段脚本语句代码量,如果脚本程序指针值PC小于本段脚本语句代码量,则按步骤S4执行脚本语句进入步骤S302,如果脚本语句指针值PC不小于本段脚本语句代码量则直接进入步骤S302。
微控制器首先会通过对比脚本程序指针值PC和当前执行的脚本语句代码量的大小,确定需要执行的脚本语句是否已经被执行完毕。如果脚本程序指针值PC小于当前脚本语句段的脚本语句代码量,则认为当前脚本语句段还有需要执行的脚本语句,微控制器按步骤S4执行脚本语句,采用条件判断的方法执行用户脚本语句中脚本程序指针指向的脚本语言,然后进入步骤S302;反之如果脚本程序指针值PC等于或大于当前脚本语句段的脚本语句代码量,则认为当前脚本语句段的脚本语句已经被执行完毕,微控制器直接进入步骤S302。
S302:当微控制器分析脚本位置指针指向时间节点脚本语句时,根据RTC控制模块8提供的当前时间量与脚本位置指针处脚本语句中时间节点的大小对比,判断要执行的当前脚本语句段位置。
S303:如果当前时间量小于脚本位置指针处脚本语句中的时间节点的时间量,则返回步骤S301。
S304:如果当前时间量大于脚本位置指针处脚本语句中的时间节点的时间量,微控制器遍历脚本语句中下一个时间节点的位置并将脚本位置指针指向下一个时间节点的位置,返回步骤S301。
S305:如果当前时间量达到脚本位置指针处脚本语句中的时间节点的时间量,更新脚本程序指针值PC,确定要运行的脚本语句段的位置和脚本语句代码量,返回步骤S301。
按照上述的按照时间触发方法定位需要执行的脚本语句段的方法可以看出,在微控制器执行用户脚本语句时,在循环执行步骤S3的过程中按步骤S4的条件解析判断方法执行定位的脚本语句段。按这种方法使微控制器获取的当前时间量在未到达脚本位置指针JC指向的脚本语句中时间节点的时间量之前,将需要运行的脚本语句段运行完毕;或者微控制器获取当前时间量到达脚本位置指针指向的脚本语句中时间节点的时间量时刻,通过对脚本语句指针值PC和本段脚本语句代码量的修改达到立即跳转正在运行的脚本语句段的目的。
下面假设微控制器中对脚本语言解析的各种指令已经设计完毕,以一段用户脚本语句为例,对本发明中的时间触发方法进行详细的解释说明。
假设脚本语句示例:
1  2013-02-1817:26:20/
2  PA0=0:PA1=1;
3  PA0=1:PA1=0:PA2=1;
4  BACK2;
5  2013-02-1817:26:30/
6  WRI"new.TXT"analogP1;
7  SEND"finished!";
8  17:30:00/
9  PA1=1:PA2=0;
10 2013-02-1918:20:00/
以上脚本语句被解析时,第1、5、8、10...行将被解析为时间节点,微控制器在初始化之后,打开该脚本文件并对其进行遍历以获取第一个时间节点在脚本语句中的位置。然后根据脚本语言中第一个时间节点所在位置初始化本段脚本语句代码量。如果第一个时间节点在脚本语句的第n行,则初始化本段脚本语句代码量和脚本位置指针值JC为n。接着微控制器通过判断脚本程序指针值PC和本段脚本语句代码量的大小关系来确定是否要通过调用条件判断方法执行脚本程序指针指向的脚本语句,并且循环判断当前时间量与下一个时间节点的时间量的关系。在以上脚本语句示例中,由于第一个时间节点处于脚本语句的首行,所以本段脚本语句代码量和脚本位置指针值JC都会被赋值为0(内核脚本处理程序中认为脚本的行数从0开始),而脚本程序指针值PC在系统参数初始化后被赋值为0,由于脚本程序指针值PC不小于本段脚本语句代码量,所以微控制器会直接从RTC实时时钟模块中获取当前时间量并与脚本位置指针指向的时间节点的时间量进行比对,如果当前时间量小于时间节点中的时间量,则微控制器通过循环对比当前时间量和时间节点中的时间量的关系达到等待效果,反之微控制器会寻在下一个时间节点并以当前时间量与之比对,直至找到当前时间量与时间节点时间量相等或小于时间节点中时间量的时间节点,并确定需要运行的脚本语句。
最后介绍步骤S4:按脚本语句条件解析判断方法执行定位的脚本语句段。
如图5所示,当要执行脚本语句段被定位后,根据脚本语句条件解析判断方法对当前行脚本语句进行分析并执行。条件解析判断方法是在执行一条用户脚本语句进行分析时,首先要对将要执行用户的脚本语句指令的前置条件进行分析。
当用户脚本需要依据本逻辑控制器对多个条件进行判断时,本发明优选如下的脚本语句格式:“条件1:条件2:条件3:……条件n:指令;”。一条脚本语句由多个条件以及脚本语句指令构成,多个条件语句通过“:”分割并前置,对要执行的脚本语句指令进行限定。微处理器对脚本语句进行解析时,以“:”为分割依次对各个条件进行判断,只有条件1至条件n所有条件均成立时,才对最终需要执行的用户脚本指令进行解析并执行。对于脚本中条件语句的解析,类似传统编程语言的条件逻辑运算,可以使用条件取反“!”等逻辑运算符号。下面结合图3对单句脚本语句的条件判断方法进行说明,其具体包括以下几个步骤:
S401:获取要进行分析的脚本语句。
S402:分析脚本语句中是否存在“:”。如果存在“:”,则获取脚本语句中第一个“:”的位置,则判定“:”之前的脚本语句为条件语句进入步骤S403;如果不存在“:”则分析并执行脚本语句中“;”之前的脚本语句,进入步骤S405。
S403:判断该条件语句的条件逻辑变量LGC是否为真,如果为真,则继续循环判断本条件语句“:”之后的脚本语句,返回步骤S402;如果不为真,则进入步骤S405。
S405:脚本语句指针值加1(PC++)。
由上述方法可知,对所有条件依次进行判断时,只有最终逻辑变量LGC的值为真,微控制器才会继续分析并执行脚本语句中最终需要执行的指令;如果任意时刻LGC的值为假,则微控制器会停止当前脚本语句行的分析,脚本语句指针值加1转而进行下一行脚本语句的分析。
综上所述,使用本发明提供的逻辑控制器,不需要专业的下载调试工具,用户只需要按照固定的脚本语言格式,将脚本语句写成脚本语句文件写入活动存储设备1内,所以微控制器从活动存储设备1内读取用户编写的脚本语言配置文件并执行。本发明具有集成度高,支持多种通信协议、处理信号类型可扩展、有数据采集记录功能、工作时间跨度广等优点。采用本发明,一方面使编程方式变得更加简易;另一方面由于脚本语言一般比较易懂易写,避免了专业编程语言的复杂性。
上面对本发明所提出的基于活动存储设备的逻辑控制器及其控制方法进行了详细的说明。对一般领域的技术人员而言,在不背离本发明实质精神的前提下对它所做的任何显而易见的改动,都将构成对本发明专利权的侵犯,将承担相应的法律责任。

Claims (9)

1.一种用于逻辑控制器的控制方法,所述逻辑控制器包括主控单元和外围设备,所述外围设备还包括活动存储单元;
所述活动存储单元与所述主控单元双向通信;
所述主控单元读取所述活动存储单元中的配置文件并控制其他外围设备;所述主控单元采集控制信息写入所述活动存储单元;
其特征在于包括如下步骤:
S1:初始化所述逻辑控制器的系统参数,并对脚本语言配置文件定位;
S2:打开脚本语言配置文件,获取用户脚本语句中第一个时间节点的位置并对系统参数赋值后按步骤S3执行脚本语句;
S3:通过判断脚本程序指针值和本段脚本语句代码量的大小确定是否按步骤S4执行,然后按照时间触发方法定位需要执行的脚本语句段;
S4:按脚本语句条件解析判断方法执行定位的脚本语句段。
2.如权利要求1所述的控制方法,其特征在于:
所述活动存储单元包括活动存储设备和与所述活动存储设备相对应的活动存储设备接口;所述活动存储设备接口与所述主控单元连接。
3.如权利要求2所述的控制方法,其特征在于:
所述活动存储设备是存储卡、FLASH存储芯片、U盘、活动硬盘、多媒体记忆卡中的任意一种。
4.如权利要求1所述的控制方法,其特征在于所述外围设备还包括时间控制单元;
所述时间控制单元是实时时钟控制模块;
所述主控单元按所述实时时钟控制模块的时间读取和执行所述活动存储单元中的配置文件。
5.如权利要求1所述的控制方法,其特征在于所述主控单元是微控制器;
所述微控制器还包括微控制器内核脚本语句存储器和与其连接的微处理运算单元,微处理器运算单元通过总线和其它外围设备传输数据。
6.如权利要求1所述的控制方法,其特征在于:
所述主控单元中还有数据缓冲池;所述数据缓冲池用于保存要发送或接收的数据。
7.如权利要求1所述的控制方法,其特征在于所述逻辑控制器的系统参数包括:
活动存储设备的文件系统、脚本位置指针、脚本语句指针、条件逻辑变量、数据缓冲池。
8.如权利要求1所述的控制方法,其特征在于,所述按照时间触发方法定位需要执行的脚本语句段的步骤进一步包括:
S301:判断脚本程序指针值与本段脚本语句代码量大小,如果脚本程序指针值小于本段脚本语句代码量,则按步骤S4执行脚本语句进入步骤S302,如果脚本程序指针值不小于本段脚本语句代码量,则直接进入步骤S302;
S302:根据当前时间量与脚本位置指针处脚本语句中时间节点的时间量大小定位要执行的当前脚本语句段位置;
S303:如果当前时间量小于脚本位置指针处脚本语句中的时间节点的时间量,则返回步骤S301;
S304:如果当前时间量大于脚本位置指针处脚本语句中的时间节点的时间量,则遍历脚本语句中下一个时间节点的位置并将脚本位置指针指向下一个时间节点的位置,返回步骤S301;
S305:如果当前时间量达到脚本位置指针处脚本语句中的时间节点的时间量,更新脚本程序指针值,确定要运行的脚本语句段的位置和脚本语句代码量,返回步骤S301。
9.如权利要求1所述的控制方法,其特征在于,所述按脚本语句条件解析判断方法执行定位的脚本语句段步骤进一步包括:
S401:获取要进行分析的脚本语句;
S402:分析脚本语句中是否存在“:”,如果存在“:”,则获取脚本语句中第一个“:”的位置,则判定“:”之前的脚本语句为条件语句进入步骤S403;如果不存在“:”则分析并执行脚本语句中“;”之前的脚本语句,进入步骤S405;
S403:判断该条件语句的条件逻辑变量是否为真,如果为真,则继续循环判断本条件语句“:”之后的脚本语句,返回步骤S402;如果不为真,则进入步骤S405;
S405:脚本语句指针值加1。
CN201310086486.0A 2013-03-18 2013-03-18 基于活动存储设备的逻辑控制器及其控制方法 Expired - Fee Related CN103197590B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310086486.0A CN103197590B (zh) 2013-03-18 2013-03-18 基于活动存储设备的逻辑控制器及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310086486.0A CN103197590B (zh) 2013-03-18 2013-03-18 基于活动存储设备的逻辑控制器及其控制方法

Publications (2)

Publication Number Publication Date
CN103197590A CN103197590A (zh) 2013-07-10
CN103197590B true CN103197590B (zh) 2015-06-10

Family

ID=48720255

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310086486.0A Expired - Fee Related CN103197590B (zh) 2013-03-18 2013-03-18 基于活动存储设备的逻辑控制器及其控制方法

Country Status (1)

Country Link
CN (1) CN103197590B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1329783A2 (en) * 2002-01-10 2003-07-23 Omron Corporation Programmable controller unit and method of processing user program
CN102591248A (zh) * 2011-01-04 2012-07-18 三菱电机株式会社 可编程控制器以及可编程控制器系统
CN203117719U (zh) * 2013-03-18 2013-08-07 张二浩 基于活动存储设备的逻辑控制器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2006075355A1 (ja) * 2005-01-11 2008-06-12 三菱電機株式会社 プログラマブルロジックコントローラの周辺装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1329783A2 (en) * 2002-01-10 2003-07-23 Omron Corporation Programmable controller unit and method of processing user program
CN102591248A (zh) * 2011-01-04 2012-07-18 三菱电机株式会社 可编程控制器以及可编程控制器系统
CN203117719U (zh) * 2013-03-18 2013-08-07 张二浩 基于活动存储设备的逻辑控制器

Also Published As

Publication number Publication date
CN103197590A (zh) 2013-07-10

Similar Documents

Publication Publication Date Title
CN102422263B (zh) 开发、编程和除错环境
US20200151072A1 (en) Method, computer apparatus, and user interface for performing automatic test upon storage devices
CN112270149B (zh) 验证平台自动化集成方法、系统及电子设备和存储介质
CN103150188B (zh) 非x86指令集计算机的x86兼容显卡快速初始化方法
CN101110055B (zh) 在单元测试中实现通用桩函数的装置及其实现方法
CN104375914A (zh) 一种服务器内部压力变化自动测试方法
CN102521118A (zh) 一种Android程序的自动测试方法
CN108170494B (zh) 一种用于智能终端的应用程序启动方法及启动系统
CN103577309A (zh) 自动化测试的方法及装置
CN103399814A (zh) 自动化测试的方法及装置
CN111142918A (zh) 一种可编程器件程序参数配置和流程控制方法
CN105512031A (zh) 一种移动终端及其自动测试方法
CN101441592A (zh) 嵌入式系统的测试系统及方法
CN101021812A (zh) 解释语言调试方法及装置
CN111367812A (zh) 测试方法、电子设备及可读存储介质
CN113010188A (zh) 模块化测控系统生成方法、装置、计算机设备及存储器
CN103197590B (zh) 基于活动存储设备的逻辑控制器及其控制方法
CN102519514B (zh) 电子测试仪器一键式自动测试的实现方法
CN203117719U (zh) 基于活动存储设备的逻辑控制器
CN104570913B (zh) 一种变频器的plc控制处理方法
CN108681506B (zh) 一种压力测试方法及装置
CN102760086A (zh) 基于柔性测试技术的数据检测控制方法和装置
CN107885523B (zh) 一种快速稳定的串口升级软件方法
US6182207B1 (en) Microcontroller with register system for the indirect accessing of internal memory via auxiliary register
CN104834643A (zh) 一种快速公共网关接口文件分析方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160304

Address after: 550005, 1, Fuyuan North Road, Nanming District, Guizhou, Guiyang 1, 1

Patentee after: Guizhou Eurasia Electronic Technology Co., Ltd.

Address before: 550000 No. 15 Fuyuan North Road, Nanming District, Guizhou, Guiyang

Patentee before: Zhang Erhao

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150610

Termination date: 20190318

CF01 Termination of patent right due to non-payment of annual fee