故障现象:一台配套SIEMENS 6M系统的进口立式加工中心,在换过程中发现库不能正常旋转。
分析与处理过程:通过机床电气原理图分析,该机床的库回转控制采用的是6RA系列直流伺服驱 动,库转速是由机床生产厂家制造的“库给定值转换/定位控制”板进行控制的。
现场分析、观察库回转动作,发现库回转时,PLC的转动信号已输入,库机械插销已经拔出,但6RA26驱动器的转换给定模拟量未输入。由于该模拟量的输出来自“库给定值转换/定位控制”板,由机床生产厂家提供的“库给定值转换/定位控制”板原理图逐级测量,终发现该板上的模拟开关(型号DG201)已损坏,换同型号备件后,机床恢复正常工作。
.开机电动机即高速旋转的故障维修
故障现象:一台与例268同型号的机床,在开机调试时,出现手动按下库回转按钮后,库即高速旋转,导致机床报警。
分析与处理过程:根据故障现象,可以初步确定故障是由于库直流驱动器测速反馈性不正确或测速反馈线脱落引起的速度环正反馈或开环。测量确认该伺服电动机测速反馈线已连接,但性不正确;交换测速反馈性后,库动作恢复正常。
确定PLC编程工具
(1) 一般的手持编程器编程。 手持编程器只能用商家规定语句表中的语句表(STL)编程。这种方式效率低,但对于系统容量小、用量小的产品比较适宜,具有体积小、价格低、易于现场调试等优点。 这主要用于微型PLC的编程。
(2) 图形编程器编程。图形编程器采用梯形图(LAD)编程,方便直观,一般的电气人员短期内就可应用自如,但该编程器价格较高,主要用于微型PLC和中档PLC。
(3) 计算机加PLC软件包编程 。这种方式是效率高的一种方式,但大部分公司的PLC 开发软件包价格昂贵,并且该方式不易于现场调试,主要用于中PLC系统的硬件组态和软件编程。
3 PLC控制系统的设计
PLC 控制系统设计包括硬件设计和软件设计。
3.1 PLC控制系统的硬件设计
硬件设计是PLC控制系统的至关重要的一个环节,这关系着PLC控制系统运行的可靠性、安全性、稳定性。主要包括输入和输出电路两部分。
(1) PLC控制系统的输入电路设计。PLC供电电源一般为AC85—240V,适应电源范围较宽,但为了抗干扰,应加装电源净化元件(如电源滤波器、1:1隔离变压器等);隔离变压器也可以采用双隔离技术,即变压器的初、次级线圈屏蔽层与初级电气中性点接大地,次级线圈屏蔽层接PLC 输入电路的地,以减小高低频脉冲干扰。
PLC输入电路电源一般应采用DC 24V, 同时其带负载时要注意容量,并作好防短路措施,这对系统供电安全和PLC安全至关重要,因为该电源的过载或短路都将影响PLC的运行,一般选用电源的容量为输入电路功率的两倍,PLC输入电路电源支路加装适宜的熔丝,防止短路。
(2) PLC控制系统的输出电路设计。依据生产工艺要求,各种指示灯、变频器/数字直流调速器的启动停止应采用晶体管输出,它适应于高频动作,并且响应时间短;如果PLC 系统输出频率为每分钟6 次以下,应继电器输出,采用这种方法,输出电路的设计简单,抗干扰和带负载能力强。
如果PLC输出带电磁线圈等感性负载,负载断电时会对PLC的输出造成浪涌电流的冲击,为此,对直流感性负载应在其旁边并接续流二管,对交流感性负载应并接浪涌吸收电路,可有效保护PLC。
当PLC扫描频率为10次/min 以下时,既可以采用继电器输出方式,也可以采用PLC输出驱动中间继电器或者固态继电器(SSR),再驱动负载。
PLC控制系统的抗干扰设计。随着工业自动化技术的日新月异的发展,晶闸管可控整流和变频调速装置使用日益广泛,这带来了交流电网的污染,也给控制系统带来了许多干扰问题,防干扰是PLC控制系统设计时必须考虑的问题。一般采用以下几种方式:
隔离:由于电网中的高频干主要是原副边绕组之间的分布电容耦合而成,所以建议采用1:1隔离变压器,并将中性点经电容接地。
屏蔽:一般采用金属外壳屏,将PLC系统内置于金属柜之内。金属柜外壳可靠接地,能起到良好的静电、磁场屏蔽作用,防止空间辐扰。
布线:强电动力线路、弱电信号线分开走线,并且要有一定的间隔;模拟信号传输线采用双绞线屏蔽电缆。
3.2 PLC 控制系统的软件设计
在进行硬件设计的同时可以着手软件的设计工作。软件设计的主要任务是根据控制要求将工艺流程图转换为梯形图,这是PLC应用的关键的问题,程序的编写是软件设计的具体表现。在控制工程的应用中,良好的软件设计思想是关键,的软件设计便于工程技术人员理解掌握、调试系统与日常系统维护。
(1) PLC控制系统的程序设计思想。由于生产过程控制要求的复杂程度不同,可将程序按结构形式分为基本程序和模块化程序。
基本程序:既可以作为立程序控制简单的生产工艺过程,也可以作为组合模块结构中的单元程序;依据计算机程序的设计思想,基本程序的结构方式只有三种:顺序结构、条件分支结构和循环结构。
模块化程序:把一个总的控制目标程序分成多个具有明确子任务的程序模块,分别编写和调试,后组合成一个完成总任务的完整程序。这种方法叫做模块化程序设计。我们建议经常采用这种程序设计思想,因为各模块具有相对立性,相互连接关系简单,程序易于调试修改。特别是用于复杂控制要求的生产过程。
(2) PLC控制系统的程序设计要点。PLC控制系统I/O分配,依据生产流水线从前至后,I/O点数由小到大;尽可能把一个系统、设备或部件的I/O信号集中编址,以利于维护。定时器、计数器要统一编号,不可重复使用同一编号,以确保PLC工作运行的可靠性。
程序中大量使用的内部继电器或者中间标志位(不是I/O位),也要统一编号,进行分配。
在地址分配完成后,应列出I/O分配表和内部继电器或者中间标志位分配表。
彼此有关的输出器件,如电机的正/反转等,其输出地址应连续安排,如Q2.0/Q2.1等。
(3) PLC控制系统编程技巧。PLC程序设计的原则是逻辑关系简单明了,易于编程输入,少占内存,减少扫描时间,这是PLC 编程必须遵循的原则。下面介绍几点技巧。
PLC各种触点可以多次重复使用,*用复杂的程序来减少触点使用次数。
同一个继电器线圈在同一个程序中使用两次称为双线圈输出,双线圈输出容易引起误动作,在程序中尽量要避免线圈重复使用。如果必须是双线圈输出,可以采用置位和复位操作(以S7-300为例如SQ4.0或者 RQ4.0)。
如果要使PLC多个输出为固定值 1 (常闭),可以采用字传送指令完成,例如 Q2.0、Q2.3、Q2.5、Q2.7同时都为1,可以使用一条指令将十六进制的数据0A9H直接传送QW2即可。
对于非重要设备,可以通过硬件上多个触点串联后再接入PLC输入端,或者通过PLC编程来减少I/O点数,节约资源。例如:我们使用一个按钮来控制设备的启动/停止,就可以采用二分频来实现。
模块化编程思想的应用:我们可以把正反自锁互锁转程序封装成为一个模块,正反转点动封装成为一个模块,在PLC程序中我们可以重复调用该模块,不但减少编程量,而且减少内存占用量,有利于大型PLC 程序的编制。
4 PLC控制系统程序的调试
PLC控制系统程序调试一般包括I/O端子测试和系统调试两部分内容,良好的调试步骤有利于加速总装调试的过程。
4.1 I/O端子测试
用手动开关暂时代替现场输入信号,以手动方式逐一对PLC输入端子进行检查、验证,PLC输入端子的指示灯点亮,表示正常;反之,应检查接线或者是I/O点坏。
我们可以编写一个小程序,在输出电源良好的情况下,检查所有PLC输出端子指示灯是否全亮。PLC输入端子的指示灯点亮,表示正常。反之,应检查接线或者是I/O点坏。
4.2 系统调试
系统调试应首先按控制要求将电源、外部电路与输入输出端子连接好,然后装载程序于PLC中,运行PLC进行调试。将PLC与现场设备连接。在正式调试前全面检查整个PLC控制系统,包括电源、接地线、设备连接线、I/O连线等。在保证整个硬件连接正确无误的情况下即可送电。
把PLC控制单元的工作方式设置为“RUN”开始运行。反复调试消除可能出现的各种问题。在调试过程中也可以根据实际需求对硬件作适当以配合软件的调试。应保持足够长的运行时间使问题充分暴露并加以纠正。调试中多数是控制程序问题。一般分以下几步进行:
(1) 对每一个现场信号和控制量做单测试;
(2) 检查硬件/修改程序;
(3) 对现场信号和控制量做综合测试;
(4) 带设备调试;
(5) 调试结束。
开放式PLC的概念及设计
目前,国内用户选用的可编程控制器(PLC)仍以国外产品为主,造成这种局面的一个重要原因是欧、美、日等发达工业国家掌握了PLC的核心技术,其硬软件技术对应用者来说完全是封闭的,使用者只能从应用的角度学习PLC,而不能参与PLC的开发[1-2]。近年来,IEC61131-3标准的颁布和实施为各PLC生产厂家提供了统一的软件开发准则,开放的高性能单片机技术的发展,为硬件开发提供了有效的物质基础[3]。在这样的背景下,研制开放的PLC系统无论对于科学研究还是促进PLC行业的发展都有积的现实意义。
PLC是一种于工业控制的计算机,其硬件主要由*处理器、存储器、输入/输出接口等组成[4],其硬件结构如图1所示。
1 开放式可编程控制器
开放式PLC硬件结构采用CPU+模块+接口构成,各个接口都按标准设计,大大提高了PLC的开放性,使其能方便地与大系统连接。编程语言遵循标准IEC61131-3,并将基于PC的编程软件作为PLC编程工具。系统硬件部分采用高性能51内核处理器STC89C51,其为模块化设计,采用滤波、隔离电路,以降低成本。主要电路有:微控制器STC89C51RC、开关量输入电路、继电器输出电路、晶体管输出电路、RS232通信接口电路、电源电路、时钟复位电路和USB通信接口电路等,PLC硬件系统框图如图2所示,软件采用Borland公司集成开发软件C++ Builder,通过集成平台对51内核处理器指令集进行解释、编译,使梯形图语言转换为能被51内核处理器识别的代码。
2 系统硬件设计
可编程控制器单片机部分电路图如图3所示。
USB通信部分选择Philips公司的PDIUSBD12[5]芯片作为系统的USB接口器件,片内集成了高性能USB接口电路、SIE、FIFO存储器、收发器以及电压调整器等,可与任何外部控制器或微处理器实现高速并行通信,其速率为2 Mb/s,完**够满足设计所要求的数据传输速度。USB通信接口模块电路如图4所示。
3 系统软件设计
系统软件结构如图5所示。图中,系统编辑模块为用户提供编辑环境,接收用户的梯形图程序输入,并将其存储为相应的文件。梯形图语言为一种图形语言,要直接对其进行编译十分困难,因此并不是直接对梯形图程序进行编译,而是先将其翻译成指令语言的文本形式,再对指令语言进行编译。图形语言编译问题的解决,提高了代码的利用率[6-7]。通过提取数据结构中的数据,形成C语言程序文件,经过C51编译器、连接器、转换器的编译、连接、转换过程,生成能够在PLC硬件上运行的可执行文件。
3.1 用户界面
PLC用户界面是实现可编程人机交互的重要部分,它以梯形图语言的形式录入用户控制程序,以二进制形式通过串口下载到PLC硬件,其梯形图表示的用户编程区如图6所示。
PLC在进行逻辑运算之前,必须对外部信号进行采样[8],若要实现指令的功能,首先要设置外部I/O在梯形图中的地址,系统才能够对用户程序中所使用的I/O地址与单片机的引脚地址相匹配。本设计在I/O设置对话框底层设计了如表1所示的数据处理函数。
3.2 USB通信
PDIUSBD12的固件设计成完全的中断驱动,当CPU处理前台任务时,USB的传输可在后台进行;后台中断服务程序和前台主程序循环之间的数据交换可以通过事件标志和数据缓冲区来实现。当PDIUSBD12从USB收到一个数据包,即对CPU产生一个中断请求,CPU立刻响应中断。在中断服务程序中,固件将数据包从PDIUSBD12内部缓冲区移到循环数据缓冲区,并将PDIUSBD12的内部缓冲区清零,以便接收新的数据包,使CPU可以继续执行当前的前台任务直到完成。本文利用PDIUSBD12的端点1进行命令的传输和应答,端点1每次接收计算机发送过来的8 B指令,其指令格式如表2所示。例如,接收到十六进制码52 01 00 03 00 07 00 50,表示读24C01器件从03字节开始的7个字节的数据。52H为R的ASCII码,57H为W的ASCII码。端点2用于数据的传输。
本文在了解PLC国内外研究状况以及其市场需求的基础上,提出了研发开放式PLC的概念,完成了PLC集成开发系统的C51模块实现方案的设计,将USB通信方式引入PLC领域,所设计的梯形图编辑器提供了梯形图编辑平台,实现了PLC的基本逻辑指令,完成计算机与控制器的USB通信。
什么是硬PLC?硬PLC的特点举例说明
什么是硬PLC呢?所谓硬PLC从严格意义上来说是由硬件或者一块的ASIC芯片来实现PLC指令的持行.而软PLC是用一些通用的CPU或者MCU来实现PLC指令的解释或者编译持行.
像三菱(FX)和欧姆龙的PLC多是硬PLC,而西门子的有几种型号是属于软PLC的。
硬PLC的核心是一个位处理器,也就是一个持行PLC指今的ASIC芯片,以前各厂商的这种处理器执行的是自家指令,但自从伟大而神圣的IEC61131-3出现后,大家都向这个标准上看齐了,IEC61131-3定义了5种语言——LD、FBD、SFC、ST、IL其中IL是像汇编的,所以大多数厂商的这个位处理器都是执行的一种类IL语言。我们在这里将这个位处理暂命名为IEC处理器。也有厂商用FPGA来实现这个处理器,由于这个处理器执行的是指令,所以速度相对软PLC来说要快许多倍。但它也有它的弱点,就是灵活性不高,并具一般只能处理位指令,而现代的PLC功能越来越强大,对模拟量的处理已和DCS不相上下,所以厂商一般要另加一块通用CPU来处理模拟量和复杂功能的实现。
PLC与计算机技术和继电器-接触器控制技术的关系
随着半导体技术,尤其是微处理器和微型计算机技术的发展,到70年代中期以后,特别是进入80年代以来,PLC已广泛地使用16位甚至32位微处理器作为*处理器,输入输出模块和电路也都采用了中、大规模甚至大规模的集成电路,使PLC在概念、设计、性能价格比以及应用方面都有了新的突破。这时的PLC已不仅仅是逻辑判断功能,还同时具有数据处理、PID调节和数据通信功能,称之为可编程序控制器(Programmable Controller)为合适,简称为PC,但为了与个人计算机(Persona1 Computer)的简称PC相区别,一般仍将它简称为PLC(Programmable Logic Controller)。
PLC是微机技术与传统的继电器-接触器控制技术相结合的产物,其基本设计思想是把计算机功能完善、灵活、通用等优点和继电器控制系统的简单易懂、操作方便、价格便宜等优点结合起来,控制器的硬件是标准的、通用的。根据实际应用对象,将控制内容编成软件写入控制器的用户程序存储器内。继电器控制系统已有上**历史,它是用弱电信号控制强电系统的控制方法,在复杂的继电器控制系统中,故障的查找和排除困难,花费时间长,严重地影响工业生产。在工艺要求发生变化的情况下,控制柜内的元件和接线需要作相应的变动,改造工期长、费用高,以至于用户宁愿另外制作一台新的控制柜。而PLC克服了继电器-接触器控制系统中机械触点的接线复杂、可靠性低、功耗高、通用性和灵活性差的缺点,充分利用微处理器的优点,并将控制器和被控对象方便的连接起来。由于PLC是由微处理器、存储器和器件组成,所以应属于工业控制计算机中的一类。
对用户来说,可编程控制器是一种无触点设备,改变程序即可改变生产工艺,因此如果在初步设计阶段就选用可编程控制器,可以使得设计和调试变得简单容易。从制造生产可编程控制器的厂商角度看,在制造阶段不需要根据用户的订货要求设计控制器,适合批量生产。由于这些特点,可编程控制器问世以后很快受到工业控制界的欢迎,并得到迅速的发展。目前,可编程控制器已成为工厂自动化的强有力工具,得到了广泛的应用。
通用汽车公司(GM)提出的新型控制器的要求及PLC的诞生
随着计算机控制技术的不断发展,可编程控制器的应用已广泛普及,成为自动化技术的重要组成。可编程控制器先出现在美国,1968年,美国的汽车制造公司通用汽车公司(GM)提出了研制一种新型控制器的要求,并从用户角度提出新一代控制器应具备以下条件:
(1)编程简单,可在现场修改程序;
(2)维护方便,好是插件式;
(3)可靠性**继电器控制柜;
(4)体积小于继电器控制柜;
(5)可将数据直接送入管理计算机;
(6)在成本上可与继电器控制柜竞争;
(7)输入可以是交流115V(即用美国的电网电压);
(8)输出为交流115V、2A以上,能直接驱动电磁阀;
(9)在扩展时,原有系统只需要很小的变;
(10)用户程序存储器容量至少能扩展到4KB。
条件提出后,立即引起了开发热潮。1969年,美国数字设备公司(DEC)研制出了世界上台可编程序控制器,并应用于通用汽车公司的生产线上。当时叫可编程逻辑控制器PLC(Programmable Logic Controller),目的是用来取代继电器,以执行逻辑判断、计时、计数等顺序控制功能。紧接着,美国MODICON公司也开发出同名的控制器,1971年,日本从美国引进了这项新技术,很快研制成了日本台可编程控制器。1973年,西欧国家也研制出他们的台可编程控制器。
PLC的六种编程语言简介
(1)梯形图
梯形图编程语言习惯上叫梯形图。梯形图沿袭了继电器控制电路的形式,也可以说,梯形图编程语言是在电气控制系统中常用的继电器、接触器逻辑控制基础上简化了符号演变而来的,具有形象、直观、实用,电气技术人员容易接受,是目前用得多的一种PLC编程语言。
(2)指令表
这种编程语言是一种与计算机汇编语言相类似的助记符编程方式,用一系列操作指令组成的语句表将控制流程热核出来,并通过编程器送到PLC中去。
(3)顺序功能图
采用IEC标准的SFC(Sequential Function Chart)语言,用于编制复杂的顺控程序。利用这种的编程方法,初学者也很容易编出复杂的顺控程序,大大提高了工作效率,也为调试、试运行带来许多言传的方便。
(4)状态转移图
类似于顺序功能图,可使复杂的顺控系统编程得到进一步简化。
(5)逻辑功能图
它基本上沿用了数字电路中的逻辑门和逻辑框图来表达。一般用一个运算框图表示一种功能。控制逻辑常用“与”、“或”、“非”三种功能来完成。目前电工协会(IEC)正在实施发展这种编程标准。
(6)语言
近几年推出的PLC,尤其是大型PLC,已开始使用语言进行编程采用语言编程后,用户可以象使用PC机一样操作PLC。在功能上除可完成逻辑运算功能外,还可以进行PID调节、数据采集和处理、上位机通信等。
西门子S7-1200系列订货数据
6ES7211-1BE31-0XB0 CPU 1211C AC/DC/Rly,6输入/4输出,集成2AI
6ES7211-1AE31-0XB0 CPU 1211C DC/DC/DC,6输入/4输出,集成2AI
6ES7211-1HE31-0XB0 CPU 1211C DC/DC/Rly,6输入/4输出,集成2AI
6ES7212-1BE31-0XB0 CPU 1212C AC/DC/Rly,8输入/6输出,集成2AI
6ES7212-1AE31-0XB0 CPU 1212C DC/DC/DC,8输入/6输出,集成2AI
6ES7212-1HE31-0XB0 CPU 1212C DC/DC/Rly,8输入/6输出,集成2AI
6ES7214-1BG31-0XB0 CPU 1214C AC/DC/Rly,14输入/10输出,集成2AI
6ES7214-1AG31-0XB0 CPU 1214C DC/DC/DC,14输入/10输出,集成2AI
6ES7214-1HG31-0XB0 CPU 1214C DC/DC/Rly,14输入/10输出,集成2AI
6ES7215-1BG31-0XB0 CPU 1215C AC/DC/Rly,14输入/10输出,集成2AI/2AO
6ES7215-1AG31-0XB0 CPU 1215C DC/DC/DC,14输入/10输出,集成2AI/2AO
6ES7215-1HG31-0XB0 CPU 1215C DC/DC/Rly,14输入/10输出,集成2AI/2AO
6ES7211-1BE40-0XB0 CPU 1211C AC/DC/Rly,6输入/4输出,集成2AI
6ES7211-1AE40-0XB0 CPU 1211C DC/DC/DC,6输入/4输出,集成2AI
6ES7211-1HE40-0XB0 CPU 1211C DC/DC/Rly,6输入/4输出,集成2AI
6ES7212-1BE40-0XB0 CPU 1212C DC/DC/DC,8输入/6输出,集成2AI
6ES7212-1HE40-0XB0 CPU 1212C DC/DC/Rly,8输入/6输出,集成2AI
6ES7214-1BG40-0XB0 CPU 1214C AC/DC/Rly,14输入/10输出,集成2AI
6ES7214-1AG40-0XB0 CPU 1214C DC/DC/DC,14输入/10输出,集成2AI
6ES7214-1HG40-0XB0 CPU 1214C DC/DC/Rly,14输入/10输出,集成2AI
6ES7215-1BG40-0XB0 CPU 1215C AC/DC/Rly,14输入/10输出,集成2AI/2AO
6ES7215-1AG40-0XB0 CPU 1215C DC/DC/DC,14输入/10输出,集成2AI/2AO
6ES7215-1HG40-0XB0 CPU 1215C DC/DC/Rly,14输入/10输出,集成2AI/2AO
6ES7217-1AG40-0XB0 CPU 1217C DC/DC/DC,14输入/10输出,集成2AI/2AO