一种应用于可编程序控制器的通用顺序控制算法的制作方法

文档序号:6283985阅读:124来源:国知局
专利名称:一种应用于可编程序控制器的通用顺序控制算法的制作方法
技术领域
本发明涉及可编程序控制器(PLC)的编程,特别是一种应用于可编程序控制器的 通用顺序控制算法。
背景技术
当前可编程序控制器(PLC)的编程,基于IEC1131-3标准,即LD\IL\ST\SFC\FDB 五种语言。具体的功能实现,主要有以下几种方式 1、基于经验的方法对于基本的控制对象,如电动机、阀门、液压缸有固定的程 序处理模式,而对于系统级的控制过程实现,完全靠手工经验编程实现,在实现过程中,将 逻辑控制和时序控制一并手工编程实现。 2、基于逻辑代数的真值表求解方法对于逻辑控制或顺序控制要求,将顺序控制 要求转换为逻辑输入条件信号,列出输入、输出信号的逻辑表达式,根据布尔运算结果,求 出针对每一输出信号的输入条件的逻辑表达式,逐一手工编程实现。 3、 SFC方法使用IEC1131-3中的SFC语言,建立条件判断及顺序判断流程,在每 个具体流程节点中,用LD等语言手工编写具体的控制程序。 4、基于Petri网络这是一种比较新的PLC编程方法,其过程是首先建立控制系 统状态转换-迁移模型,从逻辑和时序控制的角度出发,建立控制系统的Petri工作流程 表达。再将Petri网络的图形表达方式,包括库所(place)、变迁(translation)和有向弧 (arc)等转换为对应的可编程序控制器(PLC)语句。 上述4种编程实现方式,在实施过程中难易程度不同,各有特点,但是,均具有如 下问题 1、由于全部是基于指令语句编程实现控制功能,所以随着不同控制系统的之间变
化和PLC配置的变化,程序代码的组织结构、地址配置不同,程序代码无法重用。 2、在控制功能的实现过程中,设计人员主观随意性大,无法控制实现过程的质量。 3、由于控制功能实现过程主要是以信号互锁、自锁等方式贯穿整个程序,所以现
场调试、程序的每一个功能修改都牵扯到程序的多个部分,修改过程无规律,繁琐、困难。同
时,程序容易存在寄生逻辑、死区逻辑和输出抖动等问题。 4、由于控制程序在设计过程中人为因素过多,所以实施周期变化大,最终程序质 量、性能难以控制。

发明内容
本发明的目的是提供一种应用于可编程序控制器的通用顺序控制算法,以便不依 赖于控制器宿主程序(即控制器主调度程序)和硬件限制,独立维护客户程序(即控制程 序)进程、输入输出信号状态的客户程序算法、配套的数据存储结构定义和具体实施方法。
本发明的目的是这样实现的,设计一种应用于可编程序控制器的通用顺序控制方 (算)法及步骤,其方法是
可编程控制器重复的将当前输入信号数字化,以数字化的数据作为间接寻址计算
的输入参量,从一数据表中得到可编程控制器下一步操作和控制输出需要信息,依据信息
作相应的操作。 所述的数据表包括 输入掩膜信息,输入掩膜字只定义进入控制器的输入量,为0不检查该位,为1检 查该位; 输入检查信息,定义检查位是0状态或1状态或不检查状态; 流程控制信息,对通过输入检查字的输入信号位确定其流向; 延时信息,决定控制程序的判断等待时间和执行输出后延时时间; 输出掩膜信息,决定控制程序执行输出时,对输出状态字的哪些位进行控制; 输出控制信息,决定控制程序执行输出时,对输出状态字所要求的对应位的逻辑状态。
—种应用于可编程序控制器的通用顺序控制步骤,其步骤是 1)将输入到可编程控制器的每一个开关量或模拟量输入信号转换为开关量信号, 将开关量信号按位赋值到存寄存器中,赋值到存寄存器的开关量信号形成1个与输入信号 位相关的输入状态字; 2)可编程控制器控制程序以输入状态字作为指针通过间接寻址方式从一数据表 中读取当前程序流程位置编号对应输入状态字的掩膜数据、流程控制数据、延时数据、控制 数据、输出控制数据和输出掩膜数据;掩膜数据与输入状态字进行运算,以确定输入信号是 否检查;为0不检查该位,为1检查该位; 3)可编程控制器将读取的延时数据输入到定时器内,定时器以延时数据启动定时 器工作,如在定时器工作时间内,掩膜数据与对应的输入状态字逻辑运算结果为逻辑真,则 判定成功,控制器继续进行下面的步骤4);如定时器时间内,掩膜数据与对应的输入状态 字逻辑运算结果为逻辑假,则判定失败,控制器转入步骤6); 4)可编程控制器控制程序根据逻辑运算结果为逻辑真的位依据控制数据进行操 作,操作可以是输出延时或跳转程序或停机操作; 5)可编程控制器将流程控制数据、输出控制数据和输出掩膜数据进行运算,实现 对输出状态字每一位的三种状态输出即0输出、1输出和保持原状态。根据输出状态字的 位定义,输出状态字经过输出映射转换,即逐位赋值语句,其每一位的状态分别形成不同设 备的输出控制信号; 6)可编程控制器判断失败进行报警输出。 本发明的优点是由客户程序独立创建、维护的程序指针,在PLC宿主程序循环调 用客户程序的运行体制下,该程序数据指针可根据预先设定的数据条件,实现顺序步进、基 于数据判断的指令跳转、自动归零、手动赋值、程序赋值、走飞保护等功能。该程序指针是通 用顺序控制器的控制核心。 建立I/0信号的输入、瑜出映射转换体制。在现场信号的映射过程中,实现了3态 输入状态检查即0状态、1状态和不检查状态,满足了离散控制系统的I/O输入状态判断 要求。同时,在控制信号的输出映射中,也实现了3态输出即置0、置1和保持原状态。这 种1/0信号的映射转换机制,有效解释了离散控制系统的1/0信号状态,是通用顺序控制器实现控制功能的基本条件。 建立通用顺序控制器的级联操作体制,该级联操作体制包括一整套的信号定义和 数据定义,可以确保通用顺序控制器实现自动状态和手动状态下,没有级数限制的主从控 制、步序互锁自动控制、多对一和一对多控制。上述级联控制功能的实现,使通用顺序控制 器程序可以满足复杂、多样化的离散系统控制要求。 可编程序控制器(PLC)程序设计与控制工艺要求分离。控制系统的程序设计与控 制工艺无关,控制程序的组织仅反映控制系统图(PID图)上的工艺设备设置情况。控制系 统程序只表现控制系统内的受控设备情况及相互关系;控制系统实现的控制功能及控制流 程完全由独立的数据表决定,控制工艺、控制过程与控制程序完全无关。达到了程序可重复 使用的目的。 完善的动作特性,本通用顺序控制器可实现全自动运行,在全自动运行过程中可 人工控制步进、延时、暂停、终止;还可实现人工控制的部分步序自动运行;人工控制的任 意单步运行。其动作特性可满足已知的大部分离散控制系统应用要求。 控制系统程序本身的安全特性。通用顺序控制器的所有控制输出状态都是经过预 先数据设定的、稳定的常态过程,因此控制系统程序不存在寄生逻辑和输出暂态过程,没有 误动作或动作抖动的危险,控制程序不会对数据预先定义以外的任何输入条件组合作出反应。
对所有被控对象使用同一种控制程序模块;同种设备,使用同一个控制数据表。因 此,这项技术大大加快了整个控制系统程序调试的速度,保证了控制程序的一致性。即同 种设备的调试,只需进行一次,而控制流程变化,无需更改程序,仅变更数据即可,且同种设 备只需更改一次,即可实现全部同类设备控制逻辑修改。
下面结合实施例附图对本发明进行具体说明


图1是本发明实施例流程图;
图2是图1的数据表结构示意图。
具体实施例方式
如图1所示,来自于现场设备100的开关量或模拟量输入信号101与可编程控制 器输入接口连接,可编程控制器将开关量或模拟量输入信号101转换为开关量信号,将开 关量信号按位赋值到存寄存器中,赋值到存寄存器的开关量信号形成与输入信号位相关的 输入状态字完成数据映射步骤102。也就是说控制器的状态字的每1个bit位,对应了一路 现场信号,状态字的每1个bit位映射一路现场信号。数据映射步骤102实际上是在确定控 制器的具体硬件I/O的输入、输出地址的条件下,建立1/0地址至控制器输入、输出接口之 间的地址转换规则。在完成数据映射步骤102后,控制程序以输入状态字为指针通过间接 寻址方式从一数据表113中读取当前寻址给出的掩膜数据、流程控制数据、延时数据、控制 数据、输出控制数据和输出掩膜数据;通过掩膜数据与输入状态字进行掩膜过滤,完成掩膜 过滤步骤103,掩膜数据中的0位代表不检查,1位代珍检查该位对应的输入信号位。掩膜 过滤步骤103在实际控制中是根据工艺要求,明确在每个步序中,各个设备的动作状态,随
5即确定了在该工艺步序中,对应控制器的每个bit位所需要的状态。掩膜过滤步骤103完 成后,可编程控制器将依据读取的流程控制数据和延时数据将读取的延时数据输入到定时 器内进行延判断步骤104,定时器是以数据表中的延时数据启动定时器工作,如在定时器工 作时间内,掩膜数据与对应的输入状态字逻辑运算结果随时都可能随输入的开关量或模拟 量输入信号101变化而变化,当逻辑运算结果为逻辑真,则判定成功,可编程控制器继续进 行下面的步骤控制数据105、掩膜过滤106、数据映射107 ;将流程控制数据、输出控制数据 和输出掩膜数据进行运算,实现对输出状态字每一位的三种状态输出即0输出、1输出和 保持原状态。根据输出状态字的位定义,输出状态字经过输出映射转换,即逐位赋值语句, 其每一位的状态分别形成不同设备的输出控制信号。如定时器时间内,掩膜数据与对应的 输入状态字逻辑运算结果为逻辑假,则判定失败,控制器转入步骤109,步骤109根据数据 控制程序流程指针得到间接寻址的操作指针110,然后由操作指针110对数据表113进行查 表步骤117的操作,根据得到的返回数据116判断失败条件下的流程跳转或程序保护停机 步骤112或执行自动将与输入状态判定数据不一致的信号位输出报警的步骤111。
这种通过可编程控制器重复的将当前输入信号数字化,以数字化的数据作为间接 寻址的输入量从一数据表中得到可编程控制器下一步操作和控制输出需要信息,依据信息 作相应的操作的方法不依赖于控制器宿主程序(即控制器主调度程序)和硬件限制。
如图2所示,数据表113是独立于控制程序的数据存储区域。数据表113每一个 地址都有由6项内容组成输入掩膜信息;输入检查信息;流程控制信息;延时信息;输出 掩膜信息;输出控制信息。输入掩膜字,输入掩膜字只定义进入控制器的输入量,为0不检 查该位,为1检查该位;输入检查字,定义检查位是0状态或1状态或不检查状态;流程控制 字,对通过输入检查字的输入信号位确定其流向;延时字,决定控制程序的判断等待时间和 执行输出后延时时间;输出掩膜字,该字决定控制程序执行输出时,对输出状态字的哪些位 进行控制;输出控制字,该字决定控制程序执行输出时,对输出状态字所要求的对应位的 逻辑状态。数据表113的地址由输入状态字决定,输入状态字则由开关量或模拟量输入信 号决定。输入信号开关量或模拟量量化后的数据作为数据表113的指针。数据表113中的 内容可以按一个周期一次性全部读取,也可在一个周期的每一个步骤读取,然后根据读取 的内容作相应的步骤操作。 本发明的特点是全部控制功能由完全独立的数据表11实现,与控制程序及硬件 无关,同时控制程序部分具有良好的可移植性。此外,该控制器没有暂态过程,不对数据表 设定状态以外的信号输入条件动作,是安全的控制器。应用该算法及其实施方法,可实现 PLC控制系统快速编程、现场快速、安全调试,同时,控制程序保持了良好的可移植性,代码 重用率高,可有效的继承设计人员的控制系统工程经验。
权利要求
一种应用于可编程序控制器的通用顺序控制方法,其方法是可编程控制器重复的将当前输入信号数字化,以数字化的数据作为间接寻址的输入参量,从一数据表中得到可编程控制器下一步操作和控制输出需要信息,依据信息作相应的操作。
2. 根据权利要求1所述的一种应用于可编程序控制器的通用顺序控制方,其方法是 所述的数据表包括输入掩膜信息,输入掩膜字只定义进入控制器的输入量,为0不检查该位,为1检查该位;输入检查信息,定义检查位是0状态或1状态或不检查状态;流程控制信息,对通过输入检查字的输入信号位确定其流向;延时信息,决定控制程序的判断等待时间和执行输出后延时时间;输出掩膜信息,决定控制程序执行输出时,对输出状态字的哪些位进行控制;输出控制信息,决定控制程序执行输出时,对输出状态字所要求的对应位的逻辑状态。
3. 根据权利要求1所述的一种应用于可编程序控制器的通用顺序控制方,其方法是 数据表113是独立于控制程序的数据存储区域。
4. 一种应用于可编程序控制器的通用顺序控制步骤,其步骤是1) 将输入到可编程控制器的每一个开关量或模拟量输入信号转换为开关量信号,将开 关量信号按位赋值到存寄存器中,赋值到存寄存器的开关量信号形成1个与输入信号位相 关的输入状态字;2) 可编程控制器控制程序以输入状态字作为指针通过间接寻址计算输入条件,从一数 据表中读取当前程序流程位置编号对应输入状态字的信息;读取信息中的掩膜数据与输入 状态字进行运算,以确定输入信号是否检查;为0不检查该位,为1检查该位;3) 可编程控制器将读取的延时数据输入到定时器内,定时器以延时数据启动定时器工 作,如在定时器工作时间内,掩膜数据与对应的输入状态字逻辑运算结果为逻辑真,则判定 成功,控制器继续进行下面的步骤4);如定时器时间内,掩膜数据与对应的输入状态字逻辑运算结果为逻辑假,则判定失败,控制器转入步骤6);4) 可编程控制器控制程序根据逻辑运算结果为逻辑真的位依据控制数据进行操作,操 作可以是输出延时或跳转程序或停机操作;5) 可编程控制器将流程控制数据、输出控制数据和输出掩膜数据进行运算,实现对输 出状态字每一位的三种状态输出即0输出、1输出和保持原状态。根据输出状态字的位定 义,输出状态字经过输出映射转换,即逐位赋值语句,其每一位的状态分别形成不同设备的 输出控制信号;6) 可编程控制器判断失败进行报警输出。
5. 根据权利要求4所述的一种应用于可编程序控制器的通用顺序控制步骤,其特征 是步骤2)中从数据表113读取的信息可以是一个指针对应的全部信息,如掩膜数据、流程 控制数据、延时数据、控制数据、输出控制数据和输出掩膜数据;也可以按一个周期一次性 全部读取,也可在一个周期的每一个步骤读取,然后根据读取的内容作相应的步骤操作。
全文摘要
本发明涉及可编程序控制器(PLC)的编程,特别是一种应用于可编程序控制器的通用顺序控制算法,其方法是可编程控制器重复的将当前输入信号数字化,以数字化的数据作为间接寻址的输入参量,从一数据表中得到可编程控制器下一步操作和控制输出需要信息,依据信息作相应的操作。这种应用于可编程序控制器的通用顺序控制算法,以便不依赖于控制器宿主程序(即控制器主调度程序)和硬件限制,独立维护客户程序(即控制程序)进程、输入输出信号状态的客户程序算法、配套的数据存储结构定义和具体实施方法。
文档编号G05B19/05GK101750992SQ200810232520
公开日2010年6月23日 申请日期2008年12月2日 优先权日2008年12月2日
发明者刘学民, 吴义权, 杨成, 王福朝 申请人:杨成
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1