首页 理论教育 PLC控制程序设计优化方案

PLC控制程序设计优化方案

时间:2023-07-01 理论教育 版权反馈
【摘要】:为了迸一步了解PLC对开关量控制的程序设计的方法,本例中试采用两种程序设计方法迸行编制机械手控制程序的练习。OB1主程序的任务是根据启动信号分别调用自动控制子程序SBR0和手动控制子程序SBR1。3)机械手手动控制子程序SBR1及其说明。图8-14 机械手自动控制子程序SBR02.由步进顺控指令设计程序顺控状态流程图 采用步迸顺控指令设计系统控制程序时,要根据控制要求画出控制系统的状态流程图。

PLC控制程序设计优化方案

为了迸一步了解PLC对开关量控制的程序设计的方法,本例中试采用两种程序设计方法迸行编制机械手控制程序的练习。

1.由逻辑流程图设计程序

(1)逻辑流程图 为了能用逻辑流程图设计PLC程序,首先要画出控制系统的逻辑流程图,如图8-3所示。

根据工艺要求,逻辑流程可以分8个部分。系统启动之前机械手在原始位置,原始位置的条件是机械手在高位(I0.4=1)和左位(I0.6=1)。

在启动条件允许巨有工件放在工作台A上(或按动启动按钮)时(I0.3=1),机械手开始下降(Q0.0=1);当下降到低位时(I0.5=1),停止下降(Q0.0=0);机械手下降到位后,开始抓紧工件(Q0.4=1),同时启动延时10s的定时器(T101);T101延时时间到,机械手开始上升(Q0.1=1)。上升到高位(I0.4=1)时,停止上升(Q0.1=0);这时机械手开始右移(Q0.2=1),当到右位时(I0.7=1),停止右移(Q0.2=0);这时机械手又开始下降(Q0.0=1),当下降到低位时(I0.5=1),停止下降(Q0.0=0);机械手在低位时开始松开工件(Q0.4=0),同时启动延时10s定时器(T102);待延时时间到,机械手又开始上升(Q0.1=1);上升到高位时(I0.4=1),停止上升(Q0.1=0);机械手在高位开始左移(Q0.3=1),左移到左位时(I0.6=1),停止左移(Q0.3=0);此时机械手又回到了原始位置。等工作台A再一次有工件(或按动启动按钮)时,机械手迸行下一周期操作。

表8-2 机械手控制的内存变量分配表

978-7-111-42161-0-Chapter08-14.jpg

机械手的手动控制动作过程与自动控制过程大体是一样的,其区别在于手动控制是由人操纵手动按钮去驱动机械手工作。

(2)控制程序 系统程序由主程序OB1、自动控制子程序SBR0和手动控制SBR1组成。OB1主程序的任务是根据启动信号分别调用自动控制子程序SBR0和手动控制子程序SBR1。允许在程序中“//”后面加语句的注释。

1)机械手控制主程序OB1及其说明。M0.0为自动方式标志,只有按下自动启动按钮I0.0时,才能使M0.0置位。当按下停止按钮I0.2时,M0.0复位,这一功能由“Network1”完成;M0.1为手动方式标志,只有按下手动启动按钮I0.1时,才能使M0.1置位。当按下停止按钮I0.2时,M0.1复位,这一功能由“Network 2”完成。

M0.0有效时,调用自动控制子程序SBR0,由“Network 3”完成;M0.1有效时,调用手动控制子程序SBR1,由“Network 4”完成;当自动启动按钮I0.0和手动启动按钮I0.1同时按下的误操作出现时,立即停止程序的运行,由“Network 5”完成;“Network 6”执行停止操作,如图8-13所示。

2)机械手自动控制子程序SBR0及其说明。SBR0是一个子程序,它的功能是执行自动控制过程的全部操作,如图8-14所示。

978-7-111-42161-0-Chapter08-15.jpg

图8-13 机械手控制主程序OB1

“Network 1”为机械手第一次下降控制(下降的主要条件是机械手在原点巨A工作台上有工件);“Network 2”为机械手夹紧控制(夹紧的主要条件是机械手下降到A工作台上);“Network 3”为机械手夹紧的时间控制;“Network 4”为机械手第一次上升控制(其主要条件是机械手T101计时时间到);“Network 5”为机械手右移控制(其主要条件是机械手上升到位);“Network 6”为机械手第二次下降控制(下降的主要条件是机械手右移到位);“Network 7”为机械手放松控制(放松的主要条件是机械手下降到位);“Network 8”为机械手的放松时间控制;“Net-work 9”为机械手第二次上升控制(其主要条件是机械手T102计时时间到);“Network 10”为机械手左移控制(左移的主要条件是机械手上升到位);“Network 11”为机械手回原位控制(回原位的主要条件是机械手左移到位)。

3)机械手手动控制子程序SBR1及其说明。SBR1是一个子程序,它的功能是执行手动控制过程的全部操作,如图8-15所示。

手动控制主要用于安装、调试和正常运行下的故障处理。因此,对手动控制过程的操作不应该限制太严格,不要像自动控制过程的操作那样,每次动作都要从起步位到结束位严格要求。对手动控制过程操作的主要限制是不要使运行超限,确保安全。

“Network 1”是手动下降控制(唯一的限制是下降到位);“Network 2”是手动上升控制(唯一的限制是上升到位);“Network 3”是手动夹紧控制(夹紧的限制是在左位和下位)和放松控制(放松的限制是在右位和下位);“Network 4”是手动左移控制(唯一的限制是左移到位);“Network 5”是手动右移控制(唯一的限制是右移到位)。

可以看出,手动控制的约束力比较小,因此,手动控制时要特别谨慎和小心。这种程序设计的目的是,手动控制主要用于调试和维修工作。如果也想象自动控制过程的操作那样使用手动操作,可以设计一种介于自动控制和手动控制的中间控制过程,这种控制过程往往叫做半自动控制或单动控制。半自动控制或单动控制是在自动控制的基础上加上人的参与。

978-7-111-42161-0-Chapter08-16.jpg(www.xing528.com)

图8-14 机械手自动控制子程序SBR0

2.由步进顺控指令设计程序

(1)顺控状态流程图 采用步迸顺控指令设计系统控制程序时,要根据控制要求画出控制系统的状态流程图。一个状态就是顺控的一步,状态流程图要把每一步的控制状态分配给状态继电器,每个状态继电器的状态是否为1,就决定了系统控制每一步的迸程。每个状态中都要有这个状态的开始、控制操作以及状态的转换与结束。

本例中,主程序(OB1)和手动控制的子程序(SBR1)与上述相同,自动控制的子程序SBR0的内容改为使用顺控指令编制。

整个控制过程可以分为8步。S0.0为第一步,控制机械手第一次下降;S0.1为第二步,控制机械手抓紧;S0.2为第三步,控制机械手第一次上升;S0.3为第四步,控制机械手右移;S0.4为第五步,控制机械手第二次下降;S0.5为第六步,控制机械手放松;S0.6为第七步,控制机械手第二次上升;S0.7为第八步,控制机械手左移。自动控制部分的状态流程图如图8-16所示。

978-7-111-42161-0-Chapter08-17.jpg

图8-15 机械手手动控制子程序SBR1

978-7-111-42161-0-Chapter08-18.jpg

图8-16 自动控制部分的状态流程图

(2)内存变量分配表 采用步迸顺控指令迸行系统控制的内存变量分配,见表8-3。

表8-3 机械手控制的内存变量分配

978-7-111-42161-0-Chapter08-19.jpg

(续)

978-7-111-42161-0-Chapter08-20.jpg

(3)系统程序

1)机械手控制主程序OB1、子程序SBR1及其说明。因为这两部分程序和采用逻辑流程图设计的程序没有什么区别,在此不再赘述。

2)机械手控制子程序SBR0及其说明。根据顺控指令的编程格式,一条顺控指令完成一个控制步骤。图8-17中“Network 1”是当机械手在原位巨有工件到来时,启动第一步(S0.0=1);“Network 2”是第一步的开始;“Network 3”是驱使机械手下降;“Network 4”是机械手下降到位,状态转到下一步(S0.1=1);“Network 5”是第一步的结束。在以下的控制中,每一个控制步都遵循这种格式,如图8-17所示。

978-7-111-42161-0-Chapter08-21.jpg

图8-17 机械手自动控制子程序SBR0

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈