6
西门子模块6ES7221-1EF22-0XA0售后
一、概述
液压控制系统广泛应用于各种机电设备,由于液压系统的故障往往会造成较严重的后果,所以要求电气控制系统务必要稳定。某液压机械设备厂和北京凯迪恩公司紧密合作,利用凯迪恩公司的KDN-K3系列PLC开发出高性、高性价比橡胶硫化机的控制系统,提升了产品的技术含量和竞争力。
二、工艺要求
为了满足工艺要求,系统参数能根据不同需求进行设定,因此我们选用了液晶文本屏作为人机界面。需要设定的参数有:一次保压时间设定值,一次排气时间设定值,二次保压时间设定值,二次排气时间设定值;需要显示的参数有:总产量数,一次保压时间当前值,一次排气时间当前值,二次保压时间当前值,二次排气时间当前值。这些参数的灵活设置可以满足不同的生产工艺要求,提高了设备的可重用率。
文本屏制作了8个画面可以完成设定和显示功能。
系统流程如下:开模,进模,快上,慢上加压,一次保压,一次排气,二次保压,二次排气,硫化成型,快下,退模,开模。
三、控制系统实现
下位机PLC选用KDN-K3系列的KDN-K306-24AR,它带有14个输入/10个继电器输出,外加一个扩展模块即可满足输入输出控制点数的要求。人机界面选用四行液晶文本显示器,可以完成参数设定,生产数据显示,报警显示,帮助信息等。
系统配有自动/手动转换开关,可以实现手动操作和自动运行之间的切换;前进、后退、急停安纽可以实现单步的向前和后退,以及紧急情况的停车等。
执行机构主要是12个电磁阀,他们分别是合模阀、开模阀、进模阀、退模阀、上阀、快下阀、吸油阀、电溢阀、慢上加压阀、高压阀、排气阀。
检测部分主要是压力表和10个接近传感器,他们分别是S1合模停、S2合模慢、S3开模停、S4开模慢、S5进模停、S6进模转慢、S7退模停、S8退模转慢、S9慢上加压、S10下到位等等。
四、总结
在产品同质化如此严重的今天,面对日益挑剔的客户,不断改进设备,提高设备的技术含量才是应对市场竞争的正道。该种类型的机械就是在原来继电器电路基础上采用PLC改造升级,可以满足多工艺要求,提高设备的智能化程度,使得操作加灵活直观,而且也降低了机械的电气部分故障率,加之良好的性价比,得到厂家的认可赞同



起初,一般是由用户提出特殊需求:范围的饮料工业供应商--KHS机械和系统工程公司,为其包装生产线寻找一种全集成的、标准化的控制思想。而且,还期望它比那些迄今为止已被采用的控制技术具有显著优点,并且,重要的是,要能胜任未来,这也是对于"新一代"的判别依据。
项目管理、图形编辑器、结构化文本中的语法加亮、编辑向导等。
位于德国奥格斯堡(Augsburg)的Kuka公司听从了这个巨人的要求,并提供了适当的基本系统。根据行话:一个能实时地控制一个机器人的12个伺服轴的控制系统,也能地控制一个饮料灌装机的包装机、码垛机和上/下料机,这个来自德国Worms的公司信赖Kuka的KRC技术,并利用了其功能强大的、现代化的基于PC的RC PLC解决方案的优越性。
饮料工业中的复杂包装系统现在配备了KHS公司提供的KRC控制系统。
标准有利于集成
KHS的包装技术电气工程部的Klaus Rau说:"该系统的优越性非常明显,现在我们可以为我们的用户的整机程序提供一个相同的控制思想。不管我们的用户选择了一个六轴的颈状手臂机器人,还是一个SCARA型机器人,或者是一个单柱或双柱的码垛机或包装机,或者是一个上料机或下料机,他们总会获得同样的技术,也就是机器人技术。"在应用的各种情况下,这大地便利了构造、获得、集成、试车、培训务。因为系统在软件和硬件方面都设计得非常舒适和模块化,大地减少了规划和编程任务,这也显著地缩短了流程时间,因而终小化了交货期。按照机器人技术惯例,所有的伺服驱动器自然都配备了一个路径测量系统,用于运动控制的传感器已经是过去的东西了。KHS人说:"现在,可以通过具有图形功能的操作终端,将机器调整到我们用户的不同新产品上"。这将使得新产品的试车和调整进程明显加快。
与标准的PC技术相结合的模块化单元提供了较高的性,并且易于适应科技进步。通过一贯地采用,包括伺服驱动系统工程、制技术和机器可视化技术等等,KHS可以为其用户提供高、运行稳定和低维护的机器,并且,他们比以前明显缩短了时钟周期。
而且,一个非常的特点是:采用综合了整个控制和可视化智能的PC技术,使得有效的远程服务次成为可能,这将通过使用PC界的现代通讯手段,显著地提高包装生产线的可用性。另一个事实使新一代技术的采用变得容易:基于PC的整个KRC 2控制系统,包括伺服驱动工程在内,现在可以安装在一个只有1250 mm x 810 mm x 520 mm (H x W x D) 大小的紧凑型柜体中。迄今为止的控制思想具有多种空间需求。它支持所有的标准现场总线系统,如:Profibus、Interbus、DeviceNet和ControlNet,而且,还支持以太网TCP/IP和OPC客户机/服务器。
嵌入式软PLC的总体结构
嵌入式软PLC与嵌入式系统共享一个CPU,PLC和嵌入式系统之间没有多余的导线连接,增加了系统的性,易于实现许多功能。PLC中的信息也能通过嵌入式系统的显示屏显示,通过嵌入式系统的编辑键可方便地对PLC进行编辑操作。
1.1 嵌入式软PLC的硬件结构
外部输入的开关量经过光电隔离后连接到FPGA的I/O口,通过FPGA地址译码,FPGA通过数据地址总线与CPU相连。这样CPU就可以通过数据地址总线获得和设置输入量的工作状态。
1.2 嵌入式软PLC的软件结构
嵌入式软PLC程序包括两类:一类是编辑状态,实现PLC程序的输入和编译功能;另一类是面向生产过程的应用程序。系统软件结构由4部分组成,分别是编辑模块、编译模块、执行模块和监控模块。
2 系统关键组成部分的设计与实现
2.1 梯形图编辑器
Qt/bbbbbded是的Qt库开发商Trolltech推出的面向嵌入式系统的Qt版本。Qt/bbbbbded具有可移植性强和支持跨平台开发等优点。本系统采用Qt编写界面。
2.1.1 梯形图的数据结构设计
梯形图编辑具有方便、逻辑直观的特点,梯形图编辑器借助于梯形图的内部数据结构来实现显示、插入、删除、代码转化等功能。
PLC语言中,各种元素包括单个节点(如常开触点、常闭触点等)和逻辑块(如与逻辑块、或逻辑块),它们都含有相同的操作,如插入、删除、绘图等。可以把组成梯级的各个逻辑块看成组成梯级的各个部分,把组成逻辑块的子逻辑块和单个节点看成是组成逻辑块的各个部分,符合“部分一整体”的层次结构。可以采用面向对象的设计思想,使用composite模式递归地创建树状结构。使用组合结构,能够把相同的操作应用在组合和个别的对象上。大多数情况下,可以忽略对象组合和个别对象之间的差别,简化程序代码,增强了软件的可维护性。
LadderElement是一个抽象类,为组合对象的接口。代表梯形图语言的任何一个图形元素,它既可以代表元件又可以代表逻辑块,在适当的情况下可以实现所有类共同的缺省行为,如绘图和代码转换等;LadderCell为所有元件类(如常开触点、常闭触点、输出、置位、复位)的基类;LadderBlock为所有逻辑块(如与逻辑块类、或逻辑块类等)的基类。
一个梯级和它对应的数据结构,OrBlock为或逻辑块类的对象,AndBloek为与逻辑块类的对象,Rung为梯级类的对象。
此外,为了能够方便地进行绘图和编辑,引入了一个空元件类。它的作用是梯形图中的水平连接线,实现方法是继承LadderCell类,重新实现成员函数Draw()来画一条水平的线段。
2.1.2 编辑功能的设计与实现
将屏幕分割成一定数目的小的区域,并创建含有相同数目的二维数组。当绘制元件时,将元件、元件所在的逻辑块和元件所在的梯级指针保存到数组中,通过光标在屏幕上的坐标可以获得二维数组的下标,从而可以获得光标所在的元件、逻辑块和梯级在内存中与之相对应的对象。
梯形图的编辑通过改变其在内存中的数据结构来实现,在数据结构被改变后,重新绘图。对梯形图的编辑包括:插入元件、插入分支、插入梯级、删除元件和删除梯级等。篇幅所限只作简要介绍。
删除元件:删除LadderBlock中的一个元件Ladder一Cell(A)后,如果LadderBlock中只剩下一个LadderCell(B)时,LadderCell(B)取代LadderBlock的位置,插入到LadderBlock的父LadderBlock中;如果LadderBlock中只剩下一个LadderBlock(B),则将LadderBlock(B)的所有LadderElement插入到LadderBlock的父LadderBlock中。
插入分支:通过光标在屏幕上两次选择分支的起始和结束位置,这两个位置属于同一个AndBlock(A)。起始和结束位置选择后,将两个位置间的LadderElement作为分支构成一个AndBlock(B)并计算出AndBlock(B)所占的列数n,然后新建一个表示插入分支的AndBlock(C),AndBlock(C)中插入n个空元件。建一个OrBlock并将AndBlock(B)和AndBlock(C)插入到0rBlock中。OrBlock即表示插入分支后的或逻辑块。OrBlock取代两次选中之间的元素在它们的父逻辑块中的位置,然后根据修改后的数据结构画图得到插入分支后的梯形图。
2.2 指令表编译器的设计与实现
实现对PLC编程语言的、的编译,是研制开发嵌入式PLC系统的一项关键性任务。传统的开发方法是用语言自行开发的PLC指令编译器,需要对每个程序字和程序规则编写识别和相应的处理程序,工作量大、开发周期长,容易产生疏漏,可维护性很差。为了提高软件的开发效率,保证软件质量,增强软件的可维护性,采用通用编译工具Lex8LYacc开发PLC指令编译器。
2.2.1 Lex&Yacc简介
Lex 8L Yacc是美国贝尔实验室用C语言研制的词法分析程序和语法分析程序的自动生成工具,是目前使用广泛的编译软件之一。Lex是词法分析程序生成器,Yacc是语法分析程序生成器。它们可以根据用户提供的词法、语法规范文件,自动转化为多种语言源代码,如C或C++等。
2.2.2 编译器总体结构
所谓“遍”,是对源程序或其等价的中间语言程序从头到尾扫描并完成规定任务的过程。本系统的编译过程包含三遍,分别进行词法分析、语法分析和代码转换。
2.2.3 词法分析器设计
指令表源程序可以简单地被看成一个多行的字符串。词法分析器从上到下、从左到右逐个字符地对源程序进行扫描,产生一个个单词符号,把字符串的源程序改造成为单词符号串的中间程序,用于随后的语法分析。
本系统的词法分析器有两种工作状态:一是从头到尾对源程序进行扫描,检查出所有的词法错误;二是当没有词法错误时,从头到尾对源程序进行扫描,将识别出的单词符号输入给语法器。
2.2.4 语法分析器设计
(1)PLC指令表语言的语法描述
分析PLC指令程序结构,提取隐藏在指令代码中的结构信息,这种信息中往往会有操作指令被隐含地表达出来。例如:指令OR/0RB与梯形图中的并联结构对应,而AND/ANB则与梯形图中的串联结构对应。
按照yacc的语法规则,对应于巴科斯范式描述写出yacc源程序后,用“yacc-dv plcil.y”指令转换成语法分析器的C语言源程序yyparse。
(2)将PLC指令表转换为二进制代码
PLC指令表源程序的二进制文件格式为:每条指令的二进制编码占32位,操作符的编码与元件编码相加作为目标代码的高16位,低16位为元件的编号。例如,操作符LD的编码为0xFF00,元件X的编码为Ox01,指令LD X1的编码为0xFF010001。
指令表编译器的代码转换功能由yacc源程序规则的动作部分来实现。当语法分析器识别出一条完整的指令时,就将其对应的二进制代码保存到文件中。
(3)将PLC指令表转换为树形结构
Yacc语法分析程序通过寻找可以匹配目前为止所看到的标记的规则来工作。Yacc处理语法分析程序时创建了一组状态,每个状态都反映一个或多个部分地被分析的规则中的一个可能的位置。当语法分析程序读取标记时,每次它读取一个没完成规则的标记,就把它压入内部堆栈中并切换到一种反映它刚刚读取的标记的新状态。这个动作称为移进(shift)。当它发现组成某条规则右侧的全部符号时,它就把右侧符号弹出堆栈,而将左侧符号压入堆栈中,并且切换到反映堆栈上新符号的新状态。这个动作成为规约(reduction)。当yacc规约规则时,它都执行与这条规则有关的用户代码。
利用堆栈的思想实现指令表语言向梯形图树形结构的转换。自定义一个栈Stack,可以压入和弹出指向Lad—derElement类型的对象的指针。在进行代码转换时,栈Stack动作与语法分析栈的动作不同。当yacc解析到如LD/LD1、AND/ANI等含有元件的指令语句时,将这些指令中的元件入栈(如上述代码中的B、C行),逻辑块的构造在其对应的语法规则的动作部分实现。
2.3 执行模块的设计与实现
2.3.1 逻辑运算算法推导
下面列一段简单的PLC程序来介绍逻辑运算算法的推导过程:
①LD X1
②0R X6
③ORI M1
④OUT Y5
⑤LDI Y5
⑥AND X7
⑦OR M2
⑧ANI X10
⑨0RI M3
⑩OUT M4
⑩END
定义0R、ORI、ORB的或操作为加法“+”,AND、ANI、ANB的与操作为乘法“*”,取反操作为“[]”。
上式的所有运算符只会连接两个变量或者一个变量和一个表达式。由于扫描过程是顺序执行的,因此可以为上述计算过程建立计算堆栈。建立递增的堆栈。
2.3.2 执行模块的实现
本系统的执行模块是由RTLinux的实时线程模块来实现的,它运行于内核态。系统开机立即加载执行模块,并将PLC的二进制代码从文件中复制到共享内存中,执行模块解释共享内存中的PLC指令表的二进制代码,按照用户输入的逻辑,完成开关量的控制。
3 小 结
嵌入式软PLC的特点是,借助于嵌入式系统的硬件平台用软件的方法实现标准PLC的功能,代替控制器,结构开放,开发、,具有良好的应用前景。虽然文中PLC指令采用的是日本三菱公司FX2N可编程控制器系列指令,但是只需稍作修改即可用于其他厂商的产品。目前该嵌入式软PLC已成功应用于数控铣床中,满足控制要求。