6ES7216-2AD23-0XB8技术介绍
0 引言
组合机床是针对某些特定工件,按特定工序进行批量加工的专用设备。随着PLC的广泛应用和机床电控技术的不断发展,利用PLC实现对组合机床的自动控制,无疑是今后的发展方向,而针对这种控制的PLC程序设计也显得尤为重要。这种控制属于顺序逻辑控制,有多种编程方法与语言可供选择,编程中也有一些技巧与规律可循。下面较为详细的介绍一组合机床自动控制的PLC程序设计实例。
1 实例工作过程及程序设计思路
本文给出的实例是一台立卧三面镗床,有右头、左头及上头三个工作头,有自动循环(三头同时加工)和单头调整四种不同工况。三头同时加工时,一个自动工作循环过程如图1所示。其特点是多头同时加工和多工步,体现在控制要求上是:工步之间转换条件较复杂,存在并行同步问题,记忆、连锁等问题也较多。鉴于此,应采用顺序功能流程图的程序设计方法:首先根据对工作过程的分析对各步、转换条件及路径进行全面定义,确定各步的动作,然后按照控制要求,运用指令对各步和转换进行编程。
图1 自动工作循环过程
第一步的定义可由顺序功能流程图描述,图2所示为本例主功能流程图。它从功能入手,以功能为主线,将生产过程分解为若干个独立的连续阶段(步) 。
分解的各步可以是一个实际的顺序步,例如步1,对应的动作是起动主泵电机,也可以是生产过程的一个阶段,例如步2为自动工作过程,其功能流程图见图3。
从这两个功能流程图可以看到,它将各步的操作、转换条件以及步的推进过程简单明了地显示出来了,并体现出了具有单序列、选择序列、并行序列几种基本结构。例如步25至步27是单序列,实现了多工序的顺序工作;步12、步13、步14及步15构成了四分支选择序列结构,可实现三头同时加工、右头调整、上头调整、左头调整四种工况的选择;而步28至步30、步31至步34、步35至步38则形成了三个并行的分支,实现的是三头同时加工过程;步21、步22与步23、步24间也是并行关系,实现了工件上位降中位与主轴定位两个工序并行工作。该两个并行的过程间有同步问题,即步21 (工件上位降中位)与步23 (主轴定位)同时开始,但不同时结束,需要用并行序列的合并来同步(等待两个动作均结束) ,使之同时转入步25。三头同时加工时也有此问题。在顺序功能流程图的描述中,注意要说明各步间的转换条件、各步对应的命令与动作及相应运行状态。
图2 主功能流程图
2 程序实现方法
接下来的第二步则需要用某种编程语言的指令对上述功能流程图进行编程,以实现其中的功能和操作。
目前已有提供直接功能流程图编程的PLC,但对于不具有该编程语言的PLC,可采用仿功能流程图编程的方法,这里所说的是采用梯形图、指令表等Zui常见的编程语言实现编程的方法。根据功能流程图的描述,可将该复杂的结构分解为单序列、选择序列、并行序列几种基本环节,找出这些基本环节各自的规律、编程规则,化整为零分块编程。这样程序为结构化模块形式,编程的思路更清楚,程序设计更为规范。各种基本环节的程序实现可采用通用逻辑指令、置位与复位指令或移位寄存器,这几种实现方法有一个共性就是要考虑如何激活一步、保持该步、又如何停止一步,如果用步进指令来实现,这些问题就无需考虑,程序也简洁的多。下面给出运用步进指令实现的对图2、图3的编程,并就关键问题进行分析。
图4为主功能流程图的梯形图,图5为自动工作功能流程图的梯形图(只给出了一部分) 。先看步25到步27的单序列,其各步的控制规律为:若某步为活动时,则当它与下步间的转换条件一旦成立,该步即变为非活动步,而下一步成为活动步。当步为活动时,相应的动作和命令才执行,非活动步相应的动作和命令不被执行。这样步25是活动步时,会发右头快进指令(使Y442得电) ,直到快进到位(行程开关SQ4受压,转换条件X412满足) ,步25成为非活动步,右头停止快进(使Y442失电) ,步26成为活动步,工件开始从中位降下位(使Y447、Y552得电) ⋯⋯。选择序列各步的控制规律为:分支时,若一个前级步是活动的,则当它与多个选择后续步之间的哪个转换条件满足,哪个后续步就成为活动步,而前级步成为非活动步。合并时,若多个选择前级步之一是活动的,当该活动步与一个后续步之间的转换条件满足,则后续步就成为活动步,前级步成为非活动步。实例中步11为活动步时,四个分支的转换条件哪个成立则哪个分支步就会成为活动步。如果按动自动加工起动按钮,使转换条件X403满足,则会进入步12,开始自动加工过程,直到转换条件X424满足,分支合并循环到初始步,开始一个新的轮回。按照控制要求,整个加工过程中主泵电机需要一直处于运转状态,所以在步11中使用了置位Y430指令,而在步11成为非活动步后, Y430并不失电。并行序列各步的控制规律为:分支时,若一个前级步是活动的,则当转换条件满足,则多个并行的后续步同时成为活动步,而前级步成为非活动步。合并时,若多个并行的前级步均是活动的,当转换条件满足,则一个后续步成为活动步,多个并行的前级步同步成为非活动的。实例中步20为活动步时,执行装件指令,装件完毕,转换条件X425满足,步21、步23同时成为活动步,即停止装件,开始工件上位降中位和主轴定位动作。由于这两个动作不同时结束,因此插入了两个没有动作和命令的空步——步22、步24 (梯形图中相应的步进接点没有连接输出继电器) ,用于分别停止两个前级步,结束相应的动作,并等待两个动作均停止的时刻,一旦时刻来到(条件X410·X427满足) ,两并行步合并转换到步25。三头同时加工时,也有类似的同步问题,在此不再赘述。
图3 自动工作功能流程图
3 结束语
通过本PLC程序设计实例可以看出,采用顺序功能流程图的程序设计方法有以下优点:a. 功能流程图与生产过程结合紧密,设计思路明确,系统操作含义清晰,有利于工艺和自控技术、设计人员的思想沟通;b. 功能流程图可以向设计者提供规律的控制问题描述方法,就易于得到相应的编程方式,易于设计出任意复杂的控制程序,并使编程更趋于规范化、标准化。
图4 主功能流程图的梯形图
图5 自动工作功能流程图的梯形图(部分)
1 引言
随着工业自动化的发展,PLC、变频器在工厂设备改造中得到了广泛应用。桥式起重机由于工作环境比较恶劣,而且重载下频繁起动、制动、反转、变速等操作,还要求有一定的调速范围,所以传统的继电控制和串电阻调速已呈现出许多的缺点,对这一类生产机械的改造已十分必要。
2 原设备的基本情况
某石油化工炼油厂焦化车间的抓斗式桥式吊车用于石油焦堆放场,将石油焦从地面抓放到停放在附近的列车上。桥式吊车电气传动共有大车电机2台,小车电机1台,抓斗电机1台,抓斗提升电机1台,均为绕线式交流电动机,采用转子串电阻的方法启动和调速。由于工作环境恶劣,粉尘和有害气体对电机滑环、碳刷及21个接触器腐蚀较大,加上任务重,操作程序难以保证,冲击电流大,触头消蚀严重,碳刷冒火,电机及转子绕组所串电阻烧损、断裂故障时有发生,平均每月发生较大的故障2.5次,对生产影响较大.转子串电阻调速,机械特性软,负载变化时,转速也变化,调速效果差,所串电阻长期发热,电能浪费大,效率低,因此要从根本上解决桥式吊车故障率高的问题,只有利用PLC作为控制装置以及彻底改变绕线式电机串电阻调速方式。
3 改造后系统的基本情况
3.1 系统的组成
在现代工业控制中,PLC由于具有可靠性高,抗干扰能力强,适应性强,应用灵活,编程方便,易于使用,控制系统设计、安装、调试、维修方便,维修工作量少等一系列的优点而得到了广泛的应用,由于本系统主要是一些逻辑控制,所以以PLC作为控制核心,整个系统的输入26点,输出点27点,可选用三菱FX2N-64MR,该型号是PX系列zhonggong能Zui强速度Zui快的PLC,它有32个输入点,32个输出 点,内置用户存储器为8K步,系统的组成原理图,如图示1。
图1系统原理图
对于桥式吊车抓斗的开合、提升、大车、小车电机分别用四台FRNIC5000G7型变频器拖动;对抓斗的开合电机、提升电机由原来45KW的绕线式电机改为30KW鼠笼型电机,大车小车的配用电机不变,但将转达子绕组引出线短路,去掉碳刷和滑环;为使工作安全和可靠,防止因停电、变频器跳闸或制动单元失灵而导致起吊物下砸出现危险,原有机械抱闸制动装置仍保留。
3.2 调速系统的工作情况
桥吊中电机所带负载都为恒转矩负载,抓斗开合、大车、小车电机都运行在1、3象限,均为电动状态,抓斗提升电机可运行在1、3、4象限,采用变频调速,机械特变硬,当负载转矩变化时,电机转速基本不变。
桥式吊车的速度调节可利用变频器的多级频率选择功能,将FWD、CM接通则正转,REV、CM接通则反转,将X1、CM,X2、CM,X3、CM三对端子分别接通,或其中两对或三对同时接通,可得7种频率,从而可方便地得到桥吊所要求的正反两个方向各6种速度。
应现场工作人员的要求,为照顾操作习惯,桥吊的转速控制仍采用原来的主令控制器和凸轮控制器。利用主令控制器的五对触头,来得到变频器输出的6种转速。电机 加减速的时间可以通过变频器的设定来进行改变。
3.3 PLC控制接线及程序设计
整个系统有五台电动机、四台变频器,PLC的输入输出点数较多,各变频器与PLC的连接情况类似,为说明问题,在此仅以抓斗提升变频器与PLC的连接为例,说明其工作情况。系统中PLC的部分I/O分配如表1所示。
表1 部分I/O分配表
PLC与提升电机变频器的连接情况如图示2。
图2提升电机变频器与PLC 的接线
由于系统中五台电机(其中M3、M4是并联运行,两者控制情况完全一样)的运行情况主要由输入直接控制,所以系统的梯形图程序的设计可以根据各输入和电机的运行关系采用经验法设计,利用起保停电路直接由输入信号得到各电机和制动电磁铁的得电和失电情况,程序设计比较简单,在此不作详细介绍。
4 结束语
经过实际应用,改造后的系统性能得到了很大的改善,主要体现在以下几个方面:用结构简单、可靠性高的鼠笼式电机取代绕线式电机,避免了因滑环、碳刷磨损或腐蚀引起接触器不良而造成电机损坏或不能起动的故障;交流接触器的数量由原来的21个减速少到5个,电机主电路实现了无触点化,避免了因频繁动作而烧损,以及由于触头烧损而引起的电器故障;采用变频调速,运行效率高,节能;机械特性硬,负载变化时,各档速度基本不变,轻载时不会因操作不当而出现下降变为上升的失控现象;可根据现场情况,很方便地调整各档速度和加速时间,使吊车操作更加灵活,反应迅速。
.PLC程序的结构体系
无论PLC控制系统有多么复杂,归根到底,PLC用户程序都是由大量基本编程指令所组成的集合。
设计者可以根据控制对象各部分的不同要求,通过对要求的分解,运用基本指令编制出相应的程序网络(Network)或由几个网络组成的简单“功能程序段”。在此基础上,只要将这些程序网络或功能程序段,按照控制系统的动作要求,以S7程序规定的格式进行排列与组合,就可以组成完整的PLC程序。
所谓PLC的程序结构,就是组成PLC程序的各种网络(Network)或“功能程序段”在PLC内部的组织、管理形式。
在PLC上,从CPU操作系统对程序执行管理的角度看,PLC程序可以分为“线性化结构”与“分块式结构”两种不同的结构体系,每一体系又可以分若干不同的结构形式。
(1)线性化结构体系
采用线性化结构体系的PLC用户程序不分块,全部指令都集中在同一个程序块中。执行PLC程序时,CPU的每次循环扫描都是按照从上至下的次序,行PLC用户程序的所有指令。
线性化结构体系是一种控制对象相对较简单的小型PLC系统常用的结构体系。
(2)分块式结构体系
分块式结构体系的PLC用户程序由多个不同的“程序块”所组成,执行PLC程序时,需要根据外部输入条件与程序中规定的控制要求,由负责管理的主程序通过对不同程序块的调用与选择,决定每次循环扫描实际需要执行的程序块。
对于控制复杂、程序容量大的大中型PLC系统,出于方便设计、检查、调试等方面的考虑,通常采用分块式结构。
PLC用户程序的两种结构体系各有其特点,实际使用时采用何种程序结构体系,一方面决定于PLC所具备的功能,另一方面取决于程序设计者的选择。
2.线性化结构
按照线性化结构体系设计时,程序常见的形式有“普通线性化结构”与“分时管理线性化结构”两种。
(1)普通线性化结构
普通的线性结构程序Zui为简单,设计者只需要将由基本指令组成的全部网络与功能程序段,进行逐网络、逐段排列即可。
只要程序中没有特定的次序要求(如为了产生边沿脉冲的需要等),组成程序的各网络与功能程序段就可以在PLC程序中任意排列,其位置与程序的执行结果无关。
CPU执行普通的线性结构程序时,总是对全部程序指令按照输入采样、执行程序、输出刷新三个阶段不断循环,全部输入、输出信号的采样与刷新时间统一,每次处理的时间(循环扫描时间)固定。
在S7-200/300/400系列PLC中,如果将全部PLC用户程序都编制在组织块OB1中,即属于此结构。
(2)分时管理线性化结构
在部分PLC中,为了满足控制系统中需要高速处理的信号特殊控制要求,线性结构的程序也可以采用“分时管理线性化结构”的结构形式(见图11-1.1)。
采用“分时管理线性化结构”时,设计者可以根据控制系统的需要,将线性化结构的PLC用户程序划分为“高速扫描循环”与“普通扫描循环”两部分。
程序中的高速扫描部分可以由设计者定义扫描时间间隔,在执行过程中这一时间间隔保持固定不变。即:对于高速扫描程序段,设计者可以人为地规定程序的执行时间,CPU必须在规定的时间内完成高速扫描程序段的输入采样、执行程序、输出刷新循环过程,因此,PLC对“高速扫描循环”程序中输入/输出信号的处理速度,可以远远高于正常PLC循环程序中对输入/输出信号的处理速度。
程序中的其他部分为普通扫描部分,执行正常速度的扫描。在程序的执行过程中,如果普通扫描部分的程序执行时间已经到达高速扫描时时间间隔,CPU立即中断普通扫描,保存执行状态,并转入对高速程序段的扫描:等到高速段程序执行结束后,再继续恢复对普通程序的扫描(见图11-1.1)。这样的过程在整个PLC程序执行中需要进行多次。由于高速扫描的多次中断,普通PLC程序段的扫描时间将比正常执行的情况更长。
采用这种方式的特点是:在线性结构体系的程序可以处理PLC的高速输入/输出信号,以满足特殊的控制要求。当然,根据实际系统的需要,程序中也可以没有高速扫描的程序段,但是,不可以将全部程序都作为高速程序。
3.分块式结构
分块式结构体系的PLC程序由多个程序块组成,由统一的程序“组织块”对各程序块进行组织与调度,“组织块”根据规定的条件与顺序依次调用各程序块。
采用了分块式结构体系的PLC程序,在实际处理过程中可以根据不同的外部输入条件与控制要求,每次循环扫描可以跳过某些程序块,仅对需要处理的程序块进行扫描,从而加快PLC程序的执行速度,缩短扫描时间。
根据PLC的不同,分块式结构体系的PLC程序可以采用主、子程序结构、功能调用式结构与结构化编程等形式实现。
(1)主、子程序结构
采用主、子程序结构的PLC用户程序,一般可以由主程序、子程序、中断程序等不同的程序块所组成,并且按照规定的顺序排列(如在S7-200中,程序块按照主程序、子程序、中断程序的顺序依次排列)。
在主、子程序结构程序中,主程序为PLC每次扫描都必须执行的程序块,必须予以编制;而子程序、中断程序可以根据实际需要进行编写与调用。
主、子程序结构的PLC程序与线性化结构相类似,如果程序中没有编制子程序、中断程序,它便成了线性结构的程序。
(2)功能调用式结构
功能调用式结构的PLC程序执行过程与主、子程序结构类似,但组成程序的各逻辑块按照不同的功能进行编排,无主、子之分。组成功能调用式结构的每一程序块都代表着控制对象的一组相对独立动作,逻辑块由特定的“块”进行统一的管理与调用。
在S7-300/400系列PLC中,以上用于管理与调用的程序块称为组织块(OBl),其余逻辑块分别称程序块(FC)、功能块(FB)、数据块(DB)等。
一般而言,功能调用式PLC程序在CPU的一个扫描周期内,对同一程序块的调用次数不会超过一次;当超过一次时则称为“结构化编程”。
(3)结构化编程
结构化编程的程序结构形式与调用式完全相同,程序同样由多个程序块组成,并通过“组织块”对其进行组织与管理,但它采用了“参数化编程”的方法。
采用结构化编程的程序,在同- PLC扫描周期内可以多次重复调用程序中的同一程序块,因此,对于动作相同或相似的程序,可以通过在PLC程序中编写一个“公用程序块”,利用重复调用来实现。
为了保证“公用程序块”能控制不同的对象,必须将组成程序的各种操作数进行“参数化”,即:
①“公用程序块”中的所有信号的地址必须是可以变化的,即“公用程序块”中一般不能使用“juedui地址”,而应采用“程序变量”(形式参数)进行编程。
②调用“公用程序块”前,为了使得程序中的所有信号有明确的含义,必须对“程序变量”(形式参数)进行赋值,即将“程序变量”定义成有明确含义的juedui地址。因此,CPU必须划分一个专门的存储器区域用于存储这些赋值参数。S7-300/400中的“局部变量堆栈L”与“即时数据块DI”就是为了实现这一目的而专门设定的存储区域。
结构化编程的程序简洁,所占用的内存容量小,但需要涉及程序块、功能块、数据块、局部变量等概念,对编程人员的要求高。