• 西门子3VA2225-5KQ32 0AA0
  • 西门子3VA2225-5KQ32 0AA0
  • 西门子3VA2225-5KQ32 0AA0

产品描述

产品规格模块式包装说明全新品牌西门值+ 包装说明 全新 - 产品规格子 现场安装

3VA2225-5KQ32 0AA0


组合机床是针对某些特定工件,按特定工序进行批量加工的**设备。随着PLC的广泛应用和机床电控技术的不断发展,利用PLC实现对组合机床的自动控制,无疑是今后的发展方向,而针对这种控制的PLC程序设计也显得尤为重要。这种控制属于顺序逻辑控制,有多种编程方法与语言可供选择,编程中也有一些技巧与规律可循。下面较为详细的介绍一组合机床自动控制的PLC程序设计实例。

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。三头同时加工时也有此问题。在顺序功能流程图的描述中,注意要说明各步间的转换条件、各步对应的命令与动作及相应运行状态。

 程序实现方法

接下来的第二步则需要用某种编程语言的指令对上述功能流程图进行编程,以实现其中的功能和操作。

目前已有提供直接功能流程图编程的PLC,但对于不具有该编程语言的PLC,可采用功能流程图编程的方法,这里所说的是采用梯形图、指令表等较常见的编程语言实现编程的方法。根据功能流程图的描述,可将该复杂的结构分解为单序列、选择序列、并行序列几种基本环节,找出这些基本环节各自的规律、编程规则,化整为零分块编程。这样程序为结构化模块形式,编程的思路更清楚,程序设计更为规范。各种基本环节的程序实现可采用通用逻辑指令、置位与复位指令或移位寄存器,这几种实现方法有一个共性就是要考虑如何一步、保持该步、又如何停止一步,如果用步进指令来实现,这些问题就*考虑,程序也简洁的多。下面给出运用步进指令实现的对图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。三头同时加工时,也有类似的同步问题,在此不再赘述

202202231632207636284.jpg202202231632200382714.jpg

怎样来提高PLC程序运行速度,可以采用以下几种编程方法,仅供参考:
1:根据工程实际需求,进行功能块规划,编写子程序 
在PLC中 ,子程序是为一些特定的控制目的编制的相对独立的程序。执行子程序调用指令CALL等,如果条件不满足子程序调用时,程序的扫描就仅在主程序中进行,不再去扫描这段子程序,这样就减少了不必要的扫描时间。 
2:用字或双字数据传送给DO点方法来控制输出 
在PLC的应用中通常都会有大量的输出控制,用字或双字数据传送给DO点方法来控制输出可以提高速度,只要根据实际应用的要求,合理分配输出,变换控制输出控制字,可以大大减少PLC程序执行的步数,从而加快PLC的程序运行速度。 
3:脉冲触发SET、RESET 
PLC中,使用SET指令只执行一次即可,不必每次扫描都执行这个指令,很适合与脉冲输出(PLS/PLF)指令配合使用。有些工程人员忽视了这个问题,使用了常规的方法来驱动SET指令,无意中增加了PLC程序扫描运行时间 
4:避免了类型转换,方法如下: 
 以S7-200为例,它的内存格式与我们常用的 PC 机正好相反,它是高字在前,低字在后的。所以我们可以将字变量放在后两个字节,在程序初始化时将前两个字节清零(程序的其它地方不得使用这两个字节)。 
 如我们定义符号时将字变量定义在 VW2,同时保持 VW0 的值为零。则程序中可以用 VW2 以字型访问该变量,同时也可以 VD0 以双字型访问,避免了类型转换。 
 为了避免使用时混淆,较好以明确的符号定义来区分字类型和双字类型。在此强烈推荐类匈牙利命名法:以前缀指示变量类型,用首字母大写的有意义的英文单词的组合作变量名。本人习惯用以下缀: 
 b ---- 字节型变量(byte) 
 w ---- 字型变量(word) 
 d ---- 双字变量(double) 
 r ---- 实型变量(real) 
 f ---- 位变量(flag) 
 btn --- 自复位按钮式输入(button) 
 sw ---- 切换开关或自锁按钮输入(switch) 
 sig --- 传感器、编码等电平信号输入(**) 
 rly --- 输出继电器位(relay) 
 …… 
 当然,这个根据个人习惯来,没有定则,主要是利于自己区分。 
 如有一个字类型变量名为 VarName,为使用的转换技巧,我们可以这样定义: 
 wVarName ---- VW2 
 dVarName ---- VD0 
 在程序初始化时将 VW0 清零(如果是不需要记忆的变量,直接将 dVarName 清零也可)或者在数据块中将 VW0 设置为零。则以后需要以字类型访问变量时就用 wVarName,需要以双字类型访问变量时就用 dVarName。完全不需要类型转换。 
 本方法可以较大的减少程序语句数,使程序更简洁、可读性更好,由于不需要做耗时的类型转换,程序运行效率也得到提高。且数学运算量越大,效率提高越明显。 



http://zhangqueena.b2b168.com

产品推荐