首页> 中国专利> 一种PLC程序设计方法和系统

一种PLC程序设计方法和系统

摘要

本发明实施例公开了一种PLC程序设计方法和系统,以解决PLC程序设计没有层次,子功能与子功能的交互部分逻辑关系不清楚,同一行逻辑判断变量过多,程序易读性与维护性差的问题。所述方法包括构建系统逻辑层,用于编辑系统逻辑控制,维护系统状态变迁,并根据当前状态输出激活相应流程的指令;构建流程控制层,用于根据所述系统逻辑层的输出,选择合适的流程控制器控制相应流程;构建流程实现层,用于根据选择的流程控制器中管辖的具体流程执行相应动作。填补编写PLC程序时无统一设计架构的空白,增加程序的可读性、可维护性和可测试性,提高程序质量,减少了逻辑关系判断的步骤,实现PLC控制的逻辑关系判断与动作输出相分离。

著录项

  • 公开/公告号CN104142649A

    专利类型发明专利

  • 公开/公告日2014-11-12

    原文格式PDF

  • 申请/专利号CN201310162956.7

  • 发明设计人 舒晓芬;

    申请日2013-05-06

  • 分类号G05B19/05(20060101);

  • 代理机构11319 北京润泽恒知识产权代理有限公司;

  • 代理人苏培华

  • 地址 100176 北京市大兴区北京经济技术开发区文昌大道8号

  • 入库时间 2023-12-17 01:54:18

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-10-24

    专利权人的姓名或者名称、地址的变更 IPC(主分类):G05B19/05 变更前: 变更后: 申请日:20130506

    专利权人的姓名或者名称、地址的变更

  • 2016-11-30

    授权

    授权

  • 2014-12-10

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

    实质审查的生效

  • 2014-11-12

    公开

    公开

说明书

技术领域

本发明涉及自动化技术领域,特别是涉及一种PLC程序设计方法和系 统。

背景技术

可编程逻辑控制器(Programmable Logical Controller,PLC)是60年代末 发展起来的一种新型的电气控制装置,它将传统的继电控制技术和计算机控 制技术融为一体,被广泛应用于各种生产机械和生产过程的自动控制。

相对于传统模式,PLC除了功能实现上具有明显优势外,还具有几个明 显的特点:(1)可靠性好,抗干扰能力强。(2)通用性高,具有在线修改能 力。(3)编程简单,使用方便。(4)缩短设计、施工、投产的周期。(5)体 积小,易于实现机电一体化。(6)具有故障检测和显示功能,使故障处理时 间缩短。

因此,在目前自动化设备研发与生产过程中,PLC控制方法使用越来越 广泛,并且扮演着越来越重要的角色。部分自动化小型设备甚至不需要人机 交互界面便可实现自动化控制需求,同时还能保证设备的维护性;对于一些 中型自动化设备,可以使用触摸屏作为人机交互界面与PLC组合成完整的 控制系统,使得控制系统大大简化,并且控制成本方面也会有一定程度的降 低。

对于PLC控制过程中的单独功能,实现PLC控制的方法通常有:经验 编程法、顺序编程法、时序图编程法、技巧编程法、任务编程、功能块编程 法。这些编程方法通常是在同一个界面来实现逻辑判断和对应元器件的动作 输出,在单一的简单功能是可以应用的,但是对于整个自动化设备控制,没 有太多的指导意义,使用这些编程方法使得程序设计没有层次,子功能与子 功能的交互部分逻辑关系不清楚,同一行逻辑判断变量过多,程序易读性与 维护性差。

现在的PLC程序设计没有统一的设计架构,PLC程序设计人员主要根 据自己的经验,将简单的单一功能实现方法应用在整个设备控制系统中,单 一功能之间存在某种交互关系,多个功能会控制同一部件动作,自动功能与 手动功能又存在一系列的关系,这些关系的理顺与实现往往是通过设计员的 临时思考和分析。

现有状况下无章可循的PLC程序设计导致了基本是一个程序员一个设 计方法的现象,这对于程序本身的可靠性、维修性、鲁棒性非常不利,这种 程序设计现象经常导致程序设计员本人在设计完一段时间后较难读懂自己 编写的程序。这种环境下设计出来的控制系统是不科学、不系统的,程序可 能存在一定的设计缺陷,比如动作触发的潜在通路等。

发明内容

本发明公开一种PLC程序设计方法和系统,以解决PLC程序设计没有 层次,子功能与子功能的交互部分逻辑关系不清楚,同一行逻辑判断变量过 多,程序易读性与维护性差的问题,使PLC编写自动化控制程序时有统一 的设计架构和理论依据。

为了解决上述问题,本发明公开了一种PLC程序设计方法,用于满足 自动化设备控制系统需求,所述方法,包括下列步骤:

步骤100,构建系统逻辑层,用于编辑系统逻辑控制,维护系统状态变 迁,并根据当前状态输出激活相应流程的指令;在任意时刻,系统只能处于 一种状态下;

步骤200,构建流程控制层,用于根据所述系统逻辑层的输出,选择合 适的流程控制器控制相应流程;

步骤300,构建流程实现层,用于根据选择的流程控制器中管辖的具体 流程执行相应动作。

优选的,所述方法,还包括下列步骤:

步骤400,构建控制输出层,用于编辑复杂的流程控制器;所述控制输 出层隶属于流程控制层。

优选的,所述方法,还包括下列步骤:

步骤500,构建报警与清除层,用于将检测设备所有状态的变量统一监 测,并在异常状态消失后,统一界面进行报警信息消除;

步骤600,构建信号转发层,用于PLC和上位机进行信号交互,实时监 测PLC信号的发出和从接收外部信号的状况。

优选的,所述方法,还包括下列步骤:

步骤700,构建手动模式层,用于针对手动功能进行编辑。

优选的,所述步骤100,包括下列步骤:

步骤110,确定自动化设备工作和维护过程中需要经历的状态;

步骤120,定义不同状态下对应的具体流程控制器;

步骤130,根据当前状态输出激活相应流程控制器的指令。

优选的,所述步骤200,包括下列步骤:

步骤210,为系统定义多个流程控制器,每个流程控制器管辖一个或多 个独立流程,在辖区范围内控制这些流程的激活与否;

步骤220,根据当前状态判断实现所述状态的内部逻辑关系,选择合适 的流程控制器。

优选的,所述步骤300,包括下列步骤:

步骤310,定义各个独立的功能流程,每个流程只关注于简单功能的实 现,各个流程之间保持相对独立;

步骤320,依据所述对应的流程控制器发出的控制指示输出控制动作。

优选的,所述状态,包括正常状态和异常状态,其中:

所述正常状态包括:基本状态和复合状态;

所述复合状态由多个所述基本状态组成。

优选的,所述复合状态对应的流程控制器为多个所述基本状态对应的流 程控制器的组合。

优选的,所述根据当前状态判断实现所述状态的内部逻辑关系,选择合 适的流程控制器,包括:

所述当前状态对应的PLC控制的逻辑关系满足第一预置条件时,从所 述当前状态对应的内部逻辑关系中选择出互锁条件或者满足第二预置条件 的逻辑关系,根据所述互锁条件或所述满足所述第二预置条件的逻辑关系, 判断是否允许所述对应的流程控制器发出控制指示。

优选的,所述步骤500,包括:

步骤510,当所述当前状态为所述异常状态时,生成报警信息,并根据 所述报警信息确定故障信息;

步骤520,当所述当前状态由所述异常状态变更为所述正常状态后,复 位所述报警信息。

本发明还公开了一种PLC程序设计系统,用于满足自动化设备控制系 统需求,所述系统,包括三层架构:

系统逻辑层,用于编辑系统逻辑控制,维护系统状态变迁,并根据当前 状态输出激活相应流程的指令;在任意时刻,系统只能处于一种状态下;

流程控制层,用于根据所述系统逻辑层的输出,选择合适的流程控制器 控制相应流程;

流程实现层,用于根据所述流程控制层中选择的流程控制器管辖的具体 流程执行相应动作。

优选的,所述系统,还包括:

控制输出层,用于编辑复杂的流程控制器;所述控制输出层隶属于所述 流程控制层。

优选的,所述系统,还包括:

报警与清除层,用于将检测设备所有状态的变量统一监测,并在异常状 态消失后,统一界面进行报警信息消除;以及

信号转发层,用于PLC和上位机进行信号交互,实时监测PLC信号的 发出和从接收外部信号的状况。

优选的,所述系统,还包括:

手动模式层,用于针对手动功能进行编辑。

优选的,所述系统逻辑层,包括:

状态确定模块,用于确定自动化设备工作和维护过程中需要经历的状 态;

流程控制器定义模块,用于定义不同状态下对应的具体流程控制器;

指令激活输出模块,用于根据当前状态输出激活相应流程控制器的指 令。

优选的,所述流程控制层,包括:

独立流程控制模块,用于为系统定义多个流程控制器,每个流程控制器 管辖一个或多个独立流程,在辖区范围内控制这些流程的激活与否;

逻辑关系判断模块,用于根据当前状态判断实现所述状态的内部逻辑关 系,选择合适的流程控制器。

优选的,所述流程实现层,包括:

功能流程定义模块,用于定义各个独立的功能流程,每个流程只关注于 简单功能的实现,各个流程之间保持相对独立;

控制动作输出模块,用于依据所述对应的流程控制器发出的控制指示输 出控制动作。

优选的,所述状态,包括正常状态和异常状态,其中:

所述正常状态包括:基本状态和复合状态;

所述复合状态由多个所述基本状态组成。

优选的,所述复合状态对应的流程控制器为多个所述基本状态对应的流 程控制器的组合。

优选的,所述当前状态对应的PLC控制的逻辑关系满足第一预置条件 时,所述逻辑关系判断模块从所述当前状态对应的内部逻辑关系中选择出互 锁条件或者满足第二预置条件的逻辑关系,根据所述互锁条件或所述满足所 述第二预置条件的逻辑关系,判断是否允许所述对应的流程控制器发出控制 指示。

优选的,所述报警与清除层,包括:

故障报警模块,用于当所述当前状态为所述异常状态时,生成报警信息, 并根据所述报警信息确定故障信息;

报警信息复位模块,用于当所述当前状态由所述异常状态变更为所述正 常状态后,复位所述报警信息。

与背景技术相比,本发明实施例包括以下优点:

1、本发明的PLC程序设计方法和系统,为PLC程序设计者在实现设备 自动化控制时提供一套完整的编写PLC程序的方法,填补目前众多设计者 编写PLC程序时无统一设计架构的空白,增加程序的可读性、可维护性和 可测试性,提高程序质量。

2、本发明的PLC程序设计方法和系统,以PLC控制的当前状态为基础, 根据当前状态对应的流程控制器发出的流程指示输出控制动作。由于,PLC 控制的当前状态与PLC控制的逻辑关系相对应,通过确定PLC控制的当前 状态,相应地,也确定了PLC控制的逻辑关系,并且PLC控制的当前状态 可以对应着多种逻辑关系,通过确定相对较少的PLC控制的当前状态减少 了逻辑关系判断的步骤。

3、本发明的PLC程序设计方法和系统,由于确定了PLC控制的当前状 态,相当于确定了PLC控制的逻辑关系,即完成了PLC控制的逻辑关系判 断。在确定PLC控制的当前状态之后,根据当前状态对应的流程控制器发 出的控制指示输出控制动作。无需在输出一个或者一系列控制动作之前,频 繁判断PLC控制的逻辑关系,实现PLC控制的逻辑关系判断与动作输出相 分离,提高了PLC控制的效率,并降低了出错的几率。

4、本发明的PLC程序设计方法和系统,逻辑与动作实现相分离,增加 程序的可读性、可维护性和可测试性,提高程序质量。

5、本发明的PLC程序设计方法和系统,将复杂的逻辑关系多层化,避 免同一层逻辑关系臃肿,降低了逻辑关系判断的难度,提高了控制动作输出 的准确率。

附图说明

图1是本发明中一种PLC程序设计方法流程图;

图2是本发明的PLC程序设计方法中步骤100的步骤流程图;

图3是本发明的PLC程序设计方法中步骤200的步骤流程图;

图4是本发明的PLC程序设计方法中步骤300的步骤流程图;

图5是本发明PLC程序设计方法的一实施例的步骤流程图;

图6是本发明的PLC程序设计方法中步骤500的步骤流程图;

图7是本发明中一种中小型太阳能电池片分选系统的示意图;

图8是本发明中一种中小型太阳能电池片分选系统的逻辑关系示意图;

图9是本发明的PLC程序设计方法中状态变迁示意图;

图10是本发明的PLC程序设计方法中基本状态的流程控制器与流程分 配示意图;

图11是本发明的PLC程序设计方法中复合状态的流程控制器与流程分 配示意图;

图12是本发明的一种PLC程序设计系统的结构示意图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图 和具体实施方式对本发明作进一步详细的说明。

本发明的一种PLC程序设计方法和系统,针对编写PLC自动化控制程 序提供了统一的设计架构和理论依据,为自动化设备的PLC程序设计提供 一套完整的实现方案。其通过分别构建系统逻辑层、流程控制层和流程实现 层等分层架构,按照PLC控制的逻辑关系将PLC控制过程划分为各个状态, 以状态变迁作为触发对应控制逻辑的条件,实现输出与当前状态相对应的控 制动作。

为了更好地理解本发明的技术方案,下面对本发明中涉及的概念和设计 思想进行解释。

首先,在进行PLC程序设计时,需要明确程序设计的三个要素,分别 为系统逻辑、功能流程和流程实现。

系统逻辑,是指实现系统运转所依赖的逻辑关系。可以以利用实现设备 功能的子功能来划分系统。

功能流程,是指实现具体功能各部件的协作规则。本发明中体现在流程 控制层和控制输出层。功能流程只负责发出控制命令,不完成控制动作。

流程实现,是指完成具体动作输出。本发明中在流程实现层体现。动作 的完成依赖流程实现层。

其次,在进行PLC程序设计时,本发明遵循下列设计思想:

A、逻辑与控制分离。

本发明中提出设立单独的逻辑控制层,将条件判断分散化,弱化控制流 程的系统逻辑功能。具体表现为功能流程与流程实现的分离。

B、流程单元化。

本发明将逻辑流程进行分层设计,每个流程只关注于实现本流程相关功 能的实现,避免将动作输出前的判断条件与实现具体动作输出的流程均写在 同一层导致判断条件过长、逻辑混乱。具体表现为流程控制层与控制输出层。 同为功能流程,控制输出层可以附属于流程控制层。

C、在自动控制流程基础上设计手动控制功能。

本发明先立足于以上两点(A和B)实现设备的自动控制模式,然后利 用自动流程中的设计模块实现部分手动控制模式。

其它不能利用自动流程的设计模块设计实现的手动功能(一般是维护功 能)需要编写单独的程序模块。

D、报警与清除、信号转发各占一层,单独设计。

本发明中单独设计报警与清除层,用于监视整个PLC控制的运行状态, 在PLC控制出现异常时,诊断出故障表现形式;报警清除可以在故障恢复 之后,复位报警信息。单独设计信号转发层用于与上位机(如PC机)进行 通信。

结合上述设计思想,本发明提出一种PLC程序设计方法,下面结合附 图进行详细说明。

图1示出了本发明中一种PLC程序设计方法流程图。如图1所示,所 述PLC程序设计方法,包括下列步骤:

步骤100,构建系统逻辑层,用于编辑系统逻辑控制,维护系统状态变 迁,并根据当前状态输出激活相应流程的指令;

在任意时刻,系统只能处于一种状态下。

所述当前状态包括正常状态和异常状态。

所述正常状态可以包括:基本状态和复合状态。

所述复合状态可以由多个所述基本状态组成。

例如:基本状态包括:状态1:片子从皮带1放片处运行至皮带2的测 试位置;状态2:从测试位有片到光照完毕;和状态3:光照完毕到片子传 送至皮带3的指定位置。复合状态包括:状态1-2、状态1-3。其中,所述状 态1-2为状态1和状态2的组合;所述状态1-3为状态1和状态3的组合。

图2是本发明的PLC程序设计方法中步骤100的步骤流程图,如图2 所示,所述步骤100,包括下列步骤:

步骤110,确定自动化设备工作和维护过程中需要经历的状态,绘制状 态变迁图。

例如,确定电池片从皮带1的放片处运行到皮带2的测试位置的过程为 基本状态1;确定测试位置有电池片到光照完毕的过程为基本状态2;确定 光照完毕到电池片传送到皮带3的指定位置的过程为基本状态3。还可以确 定复合状态1-2为状态1+状态2;复合状态1-3为状态1+状态3。

步骤120,定义不同状态下对应的具体流程控制器。

针对所述步骤110中确定的不同状态,定义不同状态与不同流程控制器 的对应关系。例如,定义基本状态1对应的流程控制器为流程控制器1,定 义基本状态2对应的流程控制器为流程控制器2。

步骤130,根据当前状态输出激活相应流程控制器的指令。

例如,如果当前状态为基本状态1,则输出激活流程控制器1的指令; 如果当前状态为基本状态2,则输出激活流程控制器2的指令。

步骤200,构建流程控制层,用于根据所述系统逻辑层的输出,选择合 适的流程控制器控制相应流程。

本发明中,在流程控制层中编辑流程控制器。所述流程控制器用于实现 具体状态内部的逻辑关系判断,并根据逻辑关系指导控制动作的输出。

所述流程控制器对应控制着各自的流程,流程负责根据流程控制器的指 示实施具体控制动作的输出。多个流程控制器可以共同控制同一个流程。

本发明中,针对复合状态不编写另外的流程控制器,而是采用相应状态 对应的流程控制器的组合。例如:流程控制器1-2为基本流程控制器1和流 程控制器2的组合,流程控制器1-3为流程控制器1和流程控制器3的组合。

例如,在太阳能电池片分选系统中,当前状态为正常状态的状态1,所 述状态1为将电机1启动到对电池片进行光照操作之前。则状态1对应的 PLC控制的逻辑关系可以为:上料设备(如机械手)不会往位置传感器3上 放置电池片,选择流程控制器1控制相应的流程。

优选的,所述复合状态对应的流程控制器为多个所述基本状态对应的流 程控制器的组合。

图3是本发明的PLC程序设计方法中步骤200的步骤流程图,所述步 骤200,包括下列步骤:

步骤210,为系统定义多个流程控制器,每个流程控制器管辖一个或多 个独立流程,在辖区范围内控制这些流程的激活与否。

例如,定义流程控制器1,所述流程控制器1可以管辖流程1和流程2 两个独立流程;定义流程控制器2,所述流程控制器2可以管辖流程3和流 程4两个独立流程。

步骤220,根据当前状态判断实现所述状态的内部逻辑关系,选择合适 的流程控制器。

所述步骤220可以为:

所述当前状态对应的PLC控制的逻辑关系满足第一预置条件时,从所 述当前状态对应的内部逻辑关系中选择出互锁条件或者满足第二预置条件 的逻辑关系,根据所述互锁条件或所述满足所述第二预置条件的逻辑关系, 判断是否允许所述对应的流程控制器发出控制指示。

所述第一预置条件可以表示为所述正常状态对应的PLC控制的逻辑关 系比较复杂时,也可以表示为所述正常状态对应的PLC控制的判断条件比 较多的情况下。

所述互锁,可以举例进行解释:例如存在一个可以进行正转和反转的电 机,当要控制电机进行反转的时候,必须要先停止电机正转,才可以控制电 机进行反转。

所述第二预置条件可以表示为在满足第一预置条件的逻辑关系中选择 其中的一部分逻辑关系。

步骤300,构建流程实现层,用于根据选择的流程控制器中管辖的具体 流程执行相应动作。

图4是本发明的PLC程序设计方法中步骤300的步骤流程图,所述步 骤300,包括下列步骤:

步骤310,定义各个独立的功能流程,每个流程只关注于简单功能的实 现,各个流程之间保持相对独立。

例如,定义独立流程1和独立流程2,独立流程1和独立流程2之间保 持相对独立,并且独立流程1和独立流程2可以只关注于简单功能的实现。

步骤320,依据所述对应的流程控制器发出的控制指示输出控制动作。

例如,流程控制器1管辖独立流程1和独立流程2,流程控制器1发出 某控制指示,该控制指示表示独立流程1输出控制动作。

综上所述,本发明实施例公开的一种PLC控制方法,与背景技术相比, 具有以下优点:

首先,以PLC控制的当前状态为基础,根据当前状态对应的流程控制 器发出的流程指示输出控制动作。由于,PLC控制的当前状态与PLC控制 的逻辑关系相对应,通过确定PLC控制的当前状态,相应地,也确定了PLC 控制的逻辑关系,并且PLC控制的当前状态可以对应着多种逻辑关系,通 过确定相对较少的PLC控制的当前状态减少了逻辑关系判断的步骤。

其次,由于确定了PLC控制的当前状态,相当于确定了PLC控制的逻 辑关系,即完成了PLC控制的逻辑关系判断。在确定PLC控制的当前状态 之后,根据当前状态对应的流程控制器发出的控制指示输出控制动作。无需 在输出一个或者一系列控制动作之前,频繁判断PLC控制的逻辑关系,实 现PLC控制的逻辑关系判断与动作输出相分离,提高了PLC控制的效率, 并降低了出错的几率。

第三,逻辑与动作实现相分离,增加程序的可读性、可维护性和可测试 性,提高程序质量。

较佳地,图5是本发明PLC程序设计方法的一实施例的步骤流程图, 如图5所示,本发明的一种PLC程序设计方法,还包括下列步骤:

步骤400,构建控制输出层,用于编辑复杂的流程控制器;所述控制输 出层隶属于流程控制层。

如果流程控制器中的逻辑关系复杂,可将其中一定的逻辑关系写至控制 输出层,或者可将程序的互锁条件全部写至控制输出层中,再将这些逻辑关 系或者互锁条件作为流程中具体动作输出的判断条件。

步骤500,构建报警与清除层,用于将检测设备所有状态的变量统一监 测,并在异常状态消失后,统一界面进行报警信息消除。

本发明中,构建报警与清除层,可以直观地诊断出故障的表现形式,并 可以在故障恢复为正常状态后,将报警清除。

图6是本发明的PLC程序设计方法中步骤500的步骤流程图,如图6 所示,所述步骤500,包括下列步骤:

步骤510,当所述当前状态为所述异常状态时,生成报警信息,并根据 所述报警信息确定故障信息。

步骤520,当所述当前状态由所述异常状态变更为所述正常状态后,复 位所述报警信息。

步骤600,构建信号转发层,用于PLC和上位机进行信号交互,实时监 测PLC信号的发出和从接收外部信号的状况。

所述步骤500和所述步骤600不涉及到动作的衔接,只是设备状态的检 测以及与外部信号的交互,是为PLC与人机交互界面接口服务的,例如, 通过本发明实施例设计程序,可以发送上行信号至所述PLC对应的上位机, 并接收从所述上位机返回的下行信号,实现PLC控制与外部信号的交互, 可以为人际交互界面提供接口服务。而且关于信号转发的程序设计可以在满 足设计需求后统一编写即可。

步骤700,构建手动模式层,用于针对手动功能进行编辑。

例如,单独电机的启停、气缸的夹持与复位,光照等手动操作可利用流 程实现层操作。其他功能如标片校准(用来保证分选效果精确)动作需要另 写程序。

进一步地,本发明中设置控制动作输出的控制模式,包括自动模式和手 动模式,手动模式的实现优先考虑与自动模式共用自动控制模块,提高了自 动控制模块的利用率。

下面以针对一种中小型太阳能电池片的分选系统进行程序设计为例,对 本发明的PLC程序设计方法进行详细说明。

图7为一种中小型太阳能电池片分选系统的示意图,其包括三段传送皮 带(皮带1、皮带2和皮带3),每个传送皮带下带有一个电机(M1、M2和 M3),还存在三个位置传感器(PS1、PS2和PS3),在中间位置的传送皮带 处设置了暗室和电池片的测试位置,电池片从左向右传送。

当电池片传至PS1处时,PLC判断M2对应的皮带2上是否有电池片并 判断M2是否静止,如果判断结果为皮带2上无电池片并且M2静止,则此 时启动M2,M1、M2共同将电池片传入暗室的测试位置,如果皮带2上有 电池片,则M1静止,待满足皮带2上无电池片并且M2静止的条件后,M1、 M2将皮带1上的电池片传至测试位置。在测试位置对电池片定位夹持,并 进行光照后,将一系列光照结果数据(如开压电压,短路电流等)输入分选 仪中分析得出电池片的质量好坏程度。之后PLC判断PS2是否无片并且M3 是否静止,如果此时M3静止且PS2上无电池片,则M2、M3将电池片传至 M3对应的皮带3上的某个位置后停止。皮带1处左边电池片下还有1个PS3, 用于检测外界上料的有无情况。所述一种中小型太阳能电池片分选系统的逻 辑关系示意图如图8所示。

前两段传送皮带(皮带1和皮带2)上同一时刻只允许放一个电池片, 最后一段传送皮带(皮带3)可同时放多个片子,当PS2处有电池片时,表 示皮带3已放满电池片,需要将电池片取走,否则无法继续接收上游传送过 来的电池片。

采用本发明的PLC程序设计方法,上述中小型太阳能电池片的分选系 统的程序设计采用如下方法。所述方法,包括下列步骤:

一、构建系统逻辑层,具体包括:

1、确定系统设备工作和维护过程中需要历经的状态。

将所述需要历经的状态划分为基本状态和复合状态(可同时进行的状 态)。

其中,基本状态如下:

状态1:电池片从皮带1放片处运行至皮带2的测试位置。

状态2:从测试位置有电池片到光照完毕。

状态3:光照完毕到电池片传送至皮带3的指定位置。

复合状态如下:

状态1-2:状态1+状态2。

状态1-3:状态1+状态3。

确定状态之后还可以绘制出状态变迁图,如图9所示。

并且根据绘制完的状态变迁图和逻辑关系示意图可以确定各基本状态 和各复合状态对应的逻辑关系。

2、在系统逻辑层中确定与各状态与相应流程控制器的对应关系。

图10为基本状态的流程控制器与流程分配示意图。其中,状态1对应 流程控制器1,状态2对应流程控制器2,状态3对应流程控制器3。

3、根据设备的当前状态输出激活相应流程控制器的指令。

二、构建流程控制层。具体包括:

1、在流程控制层中为系统定义多个流程控制器,每个流程控制器管辖 一个或多个独立流程,在辖区范围内控制这些流程的激活与否。

流程控制器中实现具体状态内部的逻辑关系判断,并根据逻辑关系指导 流程中的动作流程的输出。流程负责根据流程控制器的指示实施具体动作的 输出。

其中,流程1实现电机1的启停;流程2实现电机2的启停;流程3实 现气缸的夹持与复位,流程4实现光照动作,流程5实现电机3的启停。其 中,流程控制器1控制流程1和流程2,流程控制器2控制流程3和流程4, 流程控制器3控制流程2和流程5;并且流程控制器1与流程控制器3共同 控制流程2,即二者都用到电机2的启停动作。

对于复合状态不需要编写额外的流程控制器,图11为复合状态的流程 控制器与流程分配示意图。如图11所示,流程控制器1-2为基本流程控制器 1和流程控制器2的组合,流程控制器1-3为流程控制器1和流程控制器3 的组合。

2、根据当前状态判断实现所述状态的内部逻辑关系,选择合适的流程 控制器。

假设当前状态为状态1:电池片从皮带1放片处运行至皮带2的测试位 置,那么根据定义的对应关系,选择流程控制器1完成流程1和流程2,即, 通过控制电机1的启停和电机2的启停,实现将电池片从皮带1放片处运行 至皮带2的测试位置。

三、构建流程实现层。具体包括:

1、在流程实现层定义各个独立的功能流程,每个流程只关注于简单功 能的实现,各个流程之间保持相对独立。

定义独立流程1和独立流程2,独立流程1和独立流程2之间保持相对 独立,并且独立流程1和独立流程2可以只关注于简单功能的实现。

2、依据所述对应的流程控制器发出的控制指示输出控制动作。

流程控制器1管辖独立流程1和独立流程2,流程控制器1发出某控制 指示,该控制指示表示独立流程1输出控制动作。

优选的,如果流程控制器中的逻辑关系复杂,可将其中一定的逻辑关系 或者互锁条件写至控制输出层,或者将全部写至控制输出层中,再将这些条 件作为流程中具体动作输出的判断条件。

由于本实施例的中小型太阳能电池片的分选系统的控制程序相对简单, 可以不做控制输出层。

本实施例中,还可以设置手动模式:

单独电机的启停、气缸的夹持与复位,光照等自动操作可利用流程实现 层操作。其他功能如标片校准(用来保证分选效果精确)动作需要另写程序 手动实现。

本实施例中,还可以设置报警与信号转发层:

该层不涉及到动作的衔接,只是PLC控制状态的检测以及与外部信号 的交互,为PLC与人机交互界面接口服务,可以在满足设计需求后统一编 写即可。

相对于本发明的一种PLC程序设计系统,还提供一种PLC程序设计系 统。

图12示出了本发明的一种PLC程序设计系统的结构示意图。如图所示, 所述PLC程序设计系统,包括:系统逻辑层,流程控制层,以及流程实现 层。

下面分别详细介绍各层的功能以及各模块之间的关系。其中:

系统逻辑层,用于编辑系统逻辑控制,维护系统状态变迁,并根据当前 状态输出激活相应流程的指令;在任意时刻,系统只能处于一种状态下。

优选的,所述状态,可以包括正常状态和异常状态,其中:

所述正常状态可以包括:基本状态和复合状态。

所述复合状态可以由多个所述基本状态组成。

流程控制层,用于根据所述系统逻辑层的输出,选择合适的流程控制器 控制相应流程。

所述复合状态对应的流程控制器可以为多个所述基本状态对应的流程 控制器的组合。

流程实现层,用于根据选择的流程控制器中管辖的具体流程执行相应动 作。

优选的,所述PLC程序设计系统,还包括:

控制输出层,用于编辑复杂的流程控制器;所述控制输出层隶属于流程 控制层。

报警与清除层,用于将检测设备所有状态的变量统一监测,并在异常状 态消失后,统一界面进行报警信息消除。

信号转发层,用于PLC和上位机进行信号交互,实时监测PLC信号的 发出和从接收外部信号的状况。

手动模式层,用于针对手动功能进行编辑。

所述系统逻辑层,包括下列模块:

状态确定模块,用于确定自动化设备工作和维护过程中需要经历的状 态。

流程控制器定义模块,用于定义不同状态下对应的具体流程控制器。

指令激活输出模块,用于根据当前状态输出激活相应流程控制器的指 令。

所述流程控制层,包括下列模块:

独立流程控制模块,用于为系统定义多个流程控制器,每个流程控制器 管辖一个或多个独立流程,在辖区范围内控制这些流程的激活与否。

逻辑关系判断模块,用于根据当前状态判断实现所述状态的内部逻辑关 系,选择合适的流程控制器。

所述当前状态对应的PLC控制的逻辑关系满足第一预置条件时,所述 逻辑关系判断模块从所述当前状态对应的内部逻辑关系中选择出互锁条件 或者满足第二预置条件的逻辑关系,根据所述互锁条件或所述满足所述第二 预置条件的逻辑关系,判断是否允许所述对应的流程控制器发出控制指示。

所述流程实现层,包括下列模块:

功能流程定义模块,用于定义各个独立的功能流程,每个流程只关注于 简单功能的实现,各个流程之间保持相对独立。

控制动作输出模块,用于依据所述对应的流程控制器发出的控制指示输 出控制动作。

并且,所述报警与清除层,还包括:

故障报警模块,用于当所述当前状态为所述异常状态时,生成报警信息, 并根据所述报警信息确定故障信息。

报警信息复位模块,用于当所述当前状态由所述异常状态变更为所述正 常状态后,复位所述报警信息。

综上所述,本发明公开的一种PLC程序设计系统,与背景技术相比, 具有以下优点:

首先,构建系统逻辑层,以PLC控制的当前状态为基础,根据当前状 态对应的流程控制器发出的流程指示输出控制动作。由于,PLC控制的当前 状态与PLC控制的逻辑关系相对应,通过确定PLC控制的当前状态,相应 地,也确定了PLC控制的逻辑关系,并且PLC控制的当前状态可以对应着 多种逻辑关系,通过确定相对较少的PLC控制的当前状态减少了逻辑关系 判断的步骤。

其次,构建流程控制层与流程实现层,由于确定了PLC控制的当前状 态,相当于确定了PLC控制的逻辑关系,即完成了PLC控制的逻辑关系判 断。在确定PLC控制的当前状态之后,根据当前状态对应的流程控制器发 出的控制指示输出控制动作。无需在输出一个或者一系列控制动作之前,频 繁判断PLC控制的逻辑关系,实现PLC控制的逻辑关系判断与动作输出相 分离,提高了PLC控制的效率,并降低了出错的几率。

进一步地,设置控制动作输出的控制模式,包括自动模式和手动模式, 手动模式的实现优先考虑与自动模式共用自动控制模块,提高了自动控制模 块的利用率。

并且,构建报警与清除层,可以直观地诊断出故障的表现形式,并可以 在故障恢复为正常状态后,将报警清除。

同时,构建信号转发层,可以实现人机交互功能。

对于系统实施方式而言,由于其与方法实施方式基本相似,所以描述的 比较简单,相关之处参见方法实施方式的部分说明即可。

本说明书中的各个实施方式均采用递进的方式描述,每个实施方式重点 说明的都是与其他实施方式的不同之处,各个实施方式之间相同相似的部分 互相参见即可。

以上对本发明所公开的一种PLC程序设计方法和系统,进行了详细介 绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实 施方式的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本 领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均 会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号