首页> 中国专利> 一种应用于可编程序控制器的通用顺序控制算法

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

摘要

本发明涉及可编程序控制器(PLC)的编程,特别是一种应用于可编程序控制器的通用顺序控制算法,其方法是:可编程控制器重复的将当前输入信号数字化,以数字化的数据作为间接寻址的输入参量,从一数据表中得到可编程控制器下一步操作和控制输出需要信息,依据信息作相应的操作。这种应用于可编程序控制器的通用顺序控制算法,以便不依赖于控制器宿主程序(即控制器主调度程序)和硬件限制,独立维护客户程序(即控制程序)进程、输入输出信号状态的客户程序算法、配套的数据存储结构定义和具体实施方法。

著录项

  • 公开/公告号CN101750992A

    专利类型发明专利

  • 公开/公告日2010-06-23

    原文格式PDF

  • 申请/专利权人 杨成;

    申请/专利号CN200810232520.X

  • 发明设计人 杨成;刘学民;王福朝;吴义权;

    申请日2008-12-02

  • 分类号G05B19/05(20060101);

  • 代理机构西安慈源有限责任专利事务所;

  • 代理人鲍燕平

  • 地址 710075 陕西省西安市高新西区锦业路69号创新公寓1号楼11610号

  • 入库时间 2023-12-18 00:22:50

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-06-01

    专利权的转移 IPC(主分类):G05B19/05 登记生效日:20180515 变更前: 变更后: 申请日:20081202

    专利申请权、专利权的转移

  • 2014-07-02

    专利实施许可合同备案的生效 IPC(主分类):G05B19/05 合同备案号:2014610000083 让与人:杨成 受让人:西安普赛自动化控制有限公司 发明名称:一种应用于可编程序控制器的通用顺序控制算法 申请公布日:20100623 授权公告日:20120606 许可种类:独占许可 备案日期:20140430 申请日:20081202

    专利实施许可合同备案的生效、变更及注销

  • 2012-06-06

    授权

    授权

  • 2010-08-18

    实质审查的生效 IPC(主分类):G05B19/05 申请日:20081202

    实质审查的生效

  • 2010-06-23

    公开

    公开

说明书

技术领域

本发明涉及可编程序控制器(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/O信号的输入、输出映射转换体制。在现场信号的映射过程中,实现了3态输入状态检查:即0状态、1状态和不检查状态,满足了离散控制系统的I/O输入状态判断要求。同时,在控制信号的输出映射中,也实现了3态输出:即置0、置1和保持原状态。这种I/O信号的映射转换机制,有效解释了离散控制系统的I/O信号状态,是通用顺序控制器实现控制功能的基本条件。

建立通用顺序控制器的级联操作体制,该级联操作体制包括一整套的信号定义和数据定义,可以确保通用顺序控制器实现:自动状态和手动状态下,没有级数限制的主从控制、步序互锁自动控制、多对一和一对多控制。上述级联控制功能的实现,使通用顺序控制器程序可以满足复杂、多样化的离散系统控制要求。

可编程序控制器(PLC)程序设计与控制工艺要求分离。控制系统的程序设计与控制工艺无关,控制程序的组织仅反映控制系统图(PID图)上的工艺设备设置情况。控制系统程序只表现控制系统内的受控设备情况及相互关系;控制系统实现的控制功能及控制流程完全由独立的数据表决定,控制工艺、控制过程与控制程序完全无关。达到了程序可重复使用的目的。

完善的动作特性,本通用顺序控制器可实现全自动运行,在全自动运行过程中可人工控制步进、延时、暂停、终止;还可实现人工控制的部分步序自动运行;人工控制的任意单步运行。其动作特性可满足已知的大部分离散控制系统应用要求。

控制系统程序本身的安全特性。通用顺序控制器的所有控制输出状态都是经过预先数据设定的、稳定的常态过程,因此控制系统程序不存在寄生逻辑和输出暂态过程,没有误动作或动作抖动的危险,控制程序不会对数据预先定义以外的任何输入条件组合作出反应。

对所有被控对象使用同一种控制程序模块;同种设备,使用同一个控制数据表。因此,这项技术大大加快了整个控制系统程序调试的速度,保证了控制程序的一致性。即:同种设备的调试,只需进行一次,而控制流程变化,无需更改程序,仅变更数据即可,且同种设备只需更改一次,即可实现全部同类设备控制逻辑修改。

下面结合实施例附图对本发明进行具体说明:

附图说明

图1是本发明实施例流程图;

图2是图1的数据表结构示意图。

具体实施方式

如图1所示,来自于现场设备100的开关量或模拟量输入信号101与可编程控制器输入接口连接,可编程控制器将开关量或模拟量输入信号101转换为开关量信号,将开关量信号按位赋值到存寄存器中,赋值到存寄存器的开关量信号形成与输入信号位相关的输入状态字完成数据映射步骤102。也就是说控制器的状态字的每1个bit位,对应了一路现场信号,状态字的每1个bit位映射一路现场信号。数据映射步骤102实际上是在确定控制器的具体硬件I/O的输入、输出地址的条件下,建立I/O地址至控制器输入、输出接口之间的地址转换规则。在完成数据映射步骤102后,控制程序以输入状态字为指针通过间接寻址方式从一数据表113中读取当前寻址给出的掩膜数据、流程控制数据、延时数据、控制数据、输出控制数据和输出掩膜数据;通过掩膜数据与输入状态字进行掩膜过滤,完成掩膜过滤步骤103,掩膜数据中的0位代表不检查,1位代珍检查该位对应的输入信号位。掩膜过滤步骤103在实际控制中是根据工艺要求,明确在每个步序中,各个设备的动作状态,随即确定了在该工艺步序中,对应控制器的每个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控制系统快速编程、现场快速、安全调试,同时,控制程序保持了良好的可移植性,代码重用率高,可有效的继承设计人员的控制系统工程经验。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号