新闻详细
PLC的发展历程
在工业生产过程中,大量的开关量顺序控制,它按照逻辑条件进行顺序动作,并按照逻辑关系进行连锁保护动作的控制,及大量离散量的数据采集。传统上,这些功能是通过气动或电气控制系统来实现的。1968年美国GM(通用汽车)公司提出取代继电气控制装置的要求,第二年,美国数字公司研制出了基于集成电路和电子技术的控制装置,首次采用程序化的手段应用于电气控制,这就是第一代可编程序控制器,称Programmable Controller(PC)。
个人计算机(简称PC)发展起来后,为了方便,也为了反映可编程控制器的功能特点,可编程序控制器定名为Programmable Logic Controller(PLC)。
上世纪80年代至90年代中期,是PLC发展最快的时期,年增长率一直保持为30~40%。在这时期,PLC在处理模拟量能力、数字运算能力、人机接口能力和网络能力得到大幅度提高,PLC逐渐进入过程控制领域,在某些应用上取代了在过程控制领域处于统治地位的DCS系统。
PLC具有通用性强、使用方便、适应面广、可靠性高、抗干扰能力强、编程简单等特点。PLC在工业自动化控制特别是顺序控制中的地位,在可预见的将来,是无法取代的。
1.2 PLC的构成
从结构上分,PLC分为固定式和组合式(模块式)两种。固定式PLC包括CPU板、I/O板、显示面板、内存块、电源等,这些元素组合成一个不可拆卸的整体。模块式PLC包括CPU模块、I/O模块、内存、电源模块、底板或机架,这些模块可以按照一定规则组合配置。
1.3 CPU的构成
CPU是PLC的核心,起神经中枢的作用,每套PLC至少有一个CPU,它按PLC的系统程序赋予的功能接收并存贮用户程序和数据,用扫描的方式采集由现场输入装置送来的状态或数据,并存入规定的寄存器中,同时,诊断电源和PLC内部电路的工作状态和编程过程中的语法错误等。进入运行后,从用户程序存贮器中逐条读取指令,经分析后再按指令规定的任务产生相应的控制信号,去指挥有关的控制电路。
CPU主要由运算器、控制器、寄存器及实现它们之间联系的数据、控制及状态总线构成,CPU单元还包括外围芯片、总线接口及有关电路。内存主要用于存储程序及数据,是PLC不可缺少的组成单元。
在使用者看来,不必要详细分析CPU的内部电路,但对各部分的工作机制还是应有足够的理解。CPU的控制器控制CPU工作,由它读取指令、解释指令及执行指令。但工作节奏由震荡信号控制。运算器用于进行数字或逻辑运算,在控制器指挥下工作。寄存器参与运算,并存储运算的中间结果,它也是在控制器指挥下工作。
CPU速度和内存容量是PLC的重要参数,它们决定着PLC的工作速度,IO数量及软件容量等,因此限制着控制规模。
1.4 I/O模块
PLC与电气回路的接口,是通过输入输出部分(I/O)完成的。I/O模块集成了PLC的I/O电路,其输入暂存器反映输入信号状态,输出点反映输出锁存器状态。输入模块将电信号变换成数字信号进入PLC系统,输出模块相反。I/O分为开关量输入(DI),开关量输出(DO),模拟量输入(AI),模拟量输出(AO)等模块。
常用的I/O分类如下:
开关量:按电压水平分,有220VAC、110VAC、24VDC,按隔离方式分,有继电器隔离和晶体管隔离。
模拟量:按信号类型分,有电流型(4-20mA,0-20mA)、电压型(0-10V,0-5V,-10-10V)等,按精度分,有12bit,14bit,16bit等。
除了上述通用IO外,还有特殊IO模块,如热电阻、热电偶、脉冲等模块。
按I/O点数确定模块规格及数量,I/O模块可多可少,但其最大数受CPU所能管理的基本配置的能力,即受最大的底板或机架槽数限制。
1.5 电源模块
PLC电源用于为PLC各模块的集成电路提供工作电源。同时,有的还为输入电路提供24V的工作电源。电源输入类型有:交流电源(220VAC或110VAC),直流电源(常用的为24VDC)。
1.6 底板或机架
大多数模块式PLC使用底板或机架,其作用是:电气上,实现各模块间的联系,使CPU能访问底板上的所有模块,机械上,实现各模块间的连接,使各模块构成一个整体。
1.7 PLC系统的其它设备
1.7.1 编程设备:编程器是PLC开发应用、监测运行、检查维护不可缺少的器件,用于编程、对系统作一些设定、监控PLC及PLC所控制的系统的工作状况,但它不直接参与现场控制运行。小编程器PLC一般有手持型编程器,目前一般由计算机(运行编程软件)充当编程器。也就是我们系统的上位机。
1.7.2 人机界面:最简单的人机界面是指示灯和按钮,目前液晶屏(或触摸屏)式的一体式操作员终端应用越来越广泛,由计算机(运行组态软件)充当人机界面非常普及。
1.8 PLC的通信联网
依靠先进的工业网络技术可以迅速有效地收集、传送生产和管理数据。因此,网络在自动化系统集成工程中的重要性越来越显著,甚至有人提出"网络就是控制器"的观点说法。
PLC具有通信联网的功能,它使PLC与PLC 之间、PLC与上位计算机以及其他智能设备之间能够交换信息,形成一个统一的整体,实现分散集中控制。多数PLC具有RS-232接口,还有一些内置有支持各自通信协议的接口。PLC的通信现在主要采用通过多点接口(MPI)的数据通讯、PROFIBUS 或工业以太网进行联网。
2 PLC控制系统的设计基本原则
2.1 最大限度的满足被控对象的控制要求。
2.2 在满足控制要求的前提下,力求使控制系统简单、经济、使用和维护方便。
2.3 保证控制系统安全可靠。
2.4 考虑到生产的发展和工艺的改进在选择PLC容量时应适当留有余量。
3 PLC软件系统及常用编程语言
3.1 PLC软件系统由系统程序和用户程序两部分组成。系统程序包括监控程序、编译程序、诊断程序等,主要用于管理全机、将程序语言翻译成机器语言,诊断机器故障。系统软件由PLC厂家提供并已固化在EPROM中,不能直接存取和干预。用户程序是用户根据现场控制要求,用PLC的程序语言编制的应用程序(也就是逻辑控制)用来实现各种控制。STEP7是用于SIMATIC可编程逻辑控制器组态和编程的标准软件包,也就是用户程序,我们就是使用STEP7来进行硬件组态和逻辑程序编制,以及逻辑程序执行结果的在线监视。
3.2 PLC提供的编程语言
3.2.1 标准语言梯形图语言也是我们最常用的一种语言,它有以下特点
3.2.1.1 它是一种图形语言,沿用传统控制图中的继电器触点、线圈、串联等术语和一些图形符号构成,左右的竖线称为左右母线。
3.2.1.2 梯形图中接点(触点)只有常开和常闭,接点可以是PLC输入点接的开关也可以是PLC内部继电器的接点或内部寄存器、计数器等的状态。
3.2.1.3 梯形图中的接点可以任意串、并联,但线圈只能并联不能串联。
3.2.1.4 内部继电器、计数器、寄存器等均不能直接控制外部负载,只能做中间结果供CPU内部使用。
3.2.1.5 PLC是按循环扫描事件,沿梯形图先后顺序执行,在同一扫描周期中的结果留在输出状态暂存器中所以输出点的值在用户程序中可以当做条件使用。
3.2.2 语句表语言,类似于汇编语言。
3.2.3 逻辑功能图语言,沿用半导体逻辑框图来表达,一般一个运算框表示一个功能左边画输入、右边画输出。
4 STEP7程序的使用
4.1 创建一个项目结构,项目就象一个文件夹,所有数据都以分层的结构存在于其中,任何时候你都可以使用。在创建一个项目之后,所有其他任务都在这个项目下执行。
4.2 组态一个站,组态一个站就是指定你要使用的可编程控制器,例如S7300、S7400等。
4.3 组态硬件,组态硬件就是在组态表中指定你的控制方案所要使用的模板以及在用户程序中以什么样的地址来访问这些模板,地址一般不用修改由程序自动生成。模板的特性也可以用参数进行赋值。
4.4 组态网络和通讯连接,通讯的基础是预先组态网络,也就是要创建一个满足你的控制方案的子网,设置网络特性、设置网络连接特性以及任何联网的站所需要的连接。网络地址也是程序自动生成如果没有更改经验一定不要修改。
4.5 定义符号,可以在符号表中定义局部或共享符号,在你的用户程序中用这些更具描述性的符号名替代绝对地址。符号的命名一般用字母编写不超过8个字节,最好不要使用很长的汉字进行描述,否则对程序的执行有很大的影响。
4.6 创建程序,用梯形图编程语言创建一个与模板相连结或与模板无关的程序并存储。创建程序是我们控制工程的重要工作之一,一般可以采用线形编程(基于一个块内,OB1)、分布编程(编写功能块FB,OB1组织调用)、结构化编程(编写通用块)。我们最常采用的是结构化编程和分布编程配合使用,很少采用线形编程。
4.7 下载程序到可编程控制器,完成所有的组态、参数赋值和编程任务之后,可以下载整个用户程序到可编程控制器。在下载程序时可编程控制器必须在允许下载的工作模式下(STOP或RUN-P),
RUN-P模式表示,这个程序将一次下载一个块,如果重写一个旧的CPU程序就可能出现冲突,所以一般在下载前将CPU切换到STOP模式。
5 WINCC程序的使用
5.1 简介,WINCC是在生产和过程自动化中解决可视化和控制任务的工业技术中性系统。具有控制自动化过程的强大功能,是基于个人计算机的操作监视系统,它很容易结合标准的和用户的程序建立人机界面精确的满足生产实际要求。WINCC有两个版本RC版(具有组态和开发环境)、RT版(只有运行环境),我们一般使用的是RC版。
5.2 WINCC简单使用步骤
5.2.1 变量管理,首先确定通讯方式安装驱动程序,然后定义内部变量和外部变量,外部变量是受你买的WINCC软件授权限制的最大授权64K字节,内部变量没有限制。
5.2.2 画面生成,进入图形编辑器,图形编辑器是一种用于创建过程画面的面向矢量的作图程序。也可以使用包含在对象和样式库中的众多的图形对象来创建复杂的过程画面。可以通过动作编程将动态添加到单个图形对象上。
5.2.3 报警记录设置,报警记录提供了显示和操作选项来获取和归档结果。可以任意地选择消息块、消息级别、消息类型、消息显示以及报表。为了在运行中显示消息,可以使用包含在图形编辑器中的对象库中的报警控件。
5.2.4 变量记录,变量记录是用来从运行过程中采集数据并准备将它们显示和归档。
5.2.5 报表组态,报表组态是通过报表编辑器来实现的。是为消息、操作、归档内容和当前或已归档的数据定时器或事件控制文档的集成的报表系统,可以自由选择用户报表的形式。
5.2.6 全局脚本的应用,全局脚本就是C语言函数和动作的通称,根据不同的类型脚本被用于给对象组态动作并通过系统内部C语言编译器来处理。全局脚本动作用于过程执行的运行中。一个触发可以开始这些动作的执行。
5.2.7 用户管理器设置,用户管理器用于分配和控制用户的单个组态和运行系统编辑器的访问权限。每建立一个用户,就设置了WINCC功能的访问权利并独立的分配给此用户。至多可分配999个不同的授权。
5.2.8 交叉表索引,交叉索引用于为对象寻找和显示所有使用处,例如变量、画面和函数等。使用“链接”功能可以改变变量名称而不会导致组态不一致。
在工业生产过程中,大量的开关量顺序控制,它按照逻辑条件进行顺序动作,并按照逻辑关系进行连锁保护动作的控制,及大量离散量的数据采集。传统上,这些功能是通过气动或电气控制系统来实现的。1968年美国GM(通用汽车)公司提出取代继电气控制装置的要求,第二年,美国数字公司研制出了基于集成电路和电子技术的控制装置,首次采用程序化的手段应用于电气控制,这就是第一代可编程序控制器,称Programmable Controller(PC)。
个人计算机(简称PC)发展起来后,为了方便,也为了反映可编程控制器的功能特点,可编程序控制器定名为Programmable Logic Controller(PLC)。
上世纪80年代至90年代中期,是PLC发展最快的时期,年增长率一直保持为30~40%。在这时期,PLC在处理模拟量能力、数字运算能力、人机接口能力和网络能力得到大幅度提高,PLC逐渐进入过程控制领域,在某些应用上取代了在过程控制领域处于统治地位的DCS系统。
PLC具有通用性强、使用方便、适应面广、可靠性高、抗干扰能力强、编程简单等特点。PLC在工业自动化控制特别是顺序控制中的地位,在可预见的将来,是无法取代的。
1.2 PLC的构成
从结构上分,PLC分为固定式和组合式(模块式)两种。固定式PLC包括CPU板、I/O板、显示面板、内存块、电源等,这些元素组合成一个不可拆卸的整体。模块式PLC包括CPU模块、I/O模块、内存、电源模块、底板或机架,这些模块可以按照一定规则组合配置。
1.3 CPU的构成
CPU是PLC的核心,起神经中枢的作用,每套PLC至少有一个CPU,它按PLC的系统程序赋予的功能接收并存贮用户程序和数据,用扫描的方式采集由现场输入装置送来的状态或数据,并存入规定的寄存器中,同时,诊断电源和PLC内部电路的工作状态和编程过程中的语法错误等。进入运行后,从用户程序存贮器中逐条读取指令,经分析后再按指令规定的任务产生相应的控制信号,去指挥有关的控制电路。
CPU主要由运算器、控制器、寄存器及实现它们之间联系的数据、控制及状态总线构成,CPU单元还包括外围芯片、总线接口及有关电路。内存主要用于存储程序及数据,是PLC不可缺少的组成单元。
在使用者看来,不必要详细分析CPU的内部电路,但对各部分的工作机制还是应有足够的理解。CPU的控制器控制CPU工作,由它读取指令、解释指令及执行指令。但工作节奏由震荡信号控制。运算器用于进行数字或逻辑运算,在控制器指挥下工作。寄存器参与运算,并存储运算的中间结果,它也是在控制器指挥下工作。
CPU速度和内存容量是PLC的重要参数,它们决定着PLC的工作速度,IO数量及软件容量等,因此限制着控制规模。
1.4 I/O模块
PLC与电气回路的接口,是通过输入输出部分(I/O)完成的。I/O模块集成了PLC的I/O电路,其输入暂存器反映输入信号状态,输出点反映输出锁存器状态。输入模块将电信号变换成数字信号进入PLC系统,输出模块相反。I/O分为开关量输入(DI),开关量输出(DO),模拟量输入(AI),模拟量输出(AO)等模块。
常用的I/O分类如下:
开关量:按电压水平分,有220VAC、110VAC、24VDC,按隔离方式分,有继电器隔离和晶体管隔离。
模拟量:按信号类型分,有电流型(4-20mA,0-20mA)、电压型(0-10V,0-5V,-10-10V)等,按精度分,有12bit,14bit,16bit等。
除了上述通用IO外,还有特殊IO模块,如热电阻、热电偶、脉冲等模块。
按I/O点数确定模块规格及数量,I/O模块可多可少,但其最大数受CPU所能管理的基本配置的能力,即受最大的底板或机架槽数限制。
1.5 电源模块
PLC电源用于为PLC各模块的集成电路提供工作电源。同时,有的还为输入电路提供24V的工作电源。电源输入类型有:交流电源(220VAC或110VAC),直流电源(常用的为24VDC)。
1.6 底板或机架
大多数模块式PLC使用底板或机架,其作用是:电气上,实现各模块间的联系,使CPU能访问底板上的所有模块,机械上,实现各模块间的连接,使各模块构成一个整体。
1.7 PLC系统的其它设备
1.7.1 编程设备:编程器是PLC开发应用、监测运行、检查维护不可缺少的器件,用于编程、对系统作一些设定、监控PLC及PLC所控制的系统的工作状况,但它不直接参与现场控制运行。小编程器PLC一般有手持型编程器,目前一般由计算机(运行编程软件)充当编程器。也就是我们系统的上位机。
1.7.2 人机界面:最简单的人机界面是指示灯和按钮,目前液晶屏(或触摸屏)式的一体式操作员终端应用越来越广泛,由计算机(运行组态软件)充当人机界面非常普及。
1.8 PLC的通信联网
依靠先进的工业网络技术可以迅速有效地收集、传送生产和管理数据。因此,网络在自动化系统集成工程中的重要性越来越显著,甚至有人提出"网络就是控制器"的观点说法。
PLC具有通信联网的功能,它使PLC与PLC 之间、PLC与上位计算机以及其他智能设备之间能够交换信息,形成一个统一的整体,实现分散集中控制。多数PLC具有RS-232接口,还有一些内置有支持各自通信协议的接口。PLC的通信现在主要采用通过多点接口(MPI)的数据通讯、PROFIBUS 或工业以太网进行联网。
2 PLC控制系统的设计基本原则
2.1 最大限度的满足被控对象的控制要求。
2.2 在满足控制要求的前提下,力求使控制系统简单、经济、使用和维护方便。
2.3 保证控制系统安全可靠。
2.4 考虑到生产的发展和工艺的改进在选择PLC容量时应适当留有余量。
3 PLC软件系统及常用编程语言
3.1 PLC软件系统由系统程序和用户程序两部分组成。系统程序包括监控程序、编译程序、诊断程序等,主要用于管理全机、将程序语言翻译成机器语言,诊断机器故障。系统软件由PLC厂家提供并已固化在EPROM中,不能直接存取和干预。用户程序是用户根据现场控制要求,用PLC的程序语言编制的应用程序(也就是逻辑控制)用来实现各种控制。STEP7是用于SIMATIC可编程逻辑控制器组态和编程的标准软件包,也就是用户程序,我们就是使用STEP7来进行硬件组态和逻辑程序编制,以及逻辑程序执行结果的在线监视。
3.2 PLC提供的编程语言
3.2.1 标准语言梯形图语言也是我们最常用的一种语言,它有以下特点
3.2.1.1 它是一种图形语言,沿用传统控制图中的继电器触点、线圈、串联等术语和一些图形符号构成,左右的竖线称为左右母线。
3.2.1.2 梯形图中接点(触点)只有常开和常闭,接点可以是PLC输入点接的开关也可以是PLC内部继电器的接点或内部寄存器、计数器等的状态。
3.2.1.3 梯形图中的接点可以任意串、并联,但线圈只能并联不能串联。
3.2.1.4 内部继电器、计数器、寄存器等均不能直接控制外部负载,只能做中间结果供CPU内部使用。
3.2.1.5 PLC是按循环扫描事件,沿梯形图先后顺序执行,在同一扫描周期中的结果留在输出状态暂存器中所以输出点的值在用户程序中可以当做条件使用。
3.2.2 语句表语言,类似于汇编语言。
3.2.3 逻辑功能图语言,沿用半导体逻辑框图来表达,一般一个运算框表示一个功能左边画输入、右边画输出。
4 STEP7程序的使用
4.1 创建一个项目结构,项目就象一个文件夹,所有数据都以分层的结构存在于其中,任何时候你都可以使用。在创建一个项目之后,所有其他任务都在这个项目下执行。
4.2 组态一个站,组态一个站就是指定你要使用的可编程控制器,例如S7300、S7400等。
4.3 组态硬件,组态硬件就是在组态表中指定你的控制方案所要使用的模板以及在用户程序中以什么样的地址来访问这些模板,地址一般不用修改由程序自动生成。模板的特性也可以用参数进行赋值。
4.4 组态网络和通讯连接,通讯的基础是预先组态网络,也就是要创建一个满足你的控制方案的子网,设置网络特性、设置网络连接特性以及任何联网的站所需要的连接。网络地址也是程序自动生成如果没有更改经验一定不要修改。
4.5 定义符号,可以在符号表中定义局部或共享符号,在你的用户程序中用这些更具描述性的符号名替代绝对地址。符号的命名一般用字母编写不超过8个字节,最好不要使用很长的汉字进行描述,否则对程序的执行有很大的影响。
4.6 创建程序,用梯形图编程语言创建一个与模板相连结或与模板无关的程序并存储。创建程序是我们控制工程的重要工作之一,一般可以采用线形编程(基于一个块内,OB1)、分布编程(编写功能块FB,OB1组织调用)、结构化编程(编写通用块)。我们最常采用的是结构化编程和分布编程配合使用,很少采用线形编程。
4.7 下载程序到可编程控制器,完成所有的组态、参数赋值和编程任务之后,可以下载整个用户程序到可编程控制器。在下载程序时可编程控制器必须在允许下载的工作模式下(STOP或RUN-P),
RUN-P模式表示,这个程序将一次下载一个块,如果重写一个旧的CPU程序就可能出现冲突,所以一般在下载前将CPU切换到STOP模式。
5 WINCC程序的使用
5.1 简介,WINCC是在生产和过程自动化中解决可视化和控制任务的工业技术中性系统。具有控制自动化过程的强大功能,是基于个人计算机的操作监视系统,它很容易结合标准的和用户的程序建立人机界面精确的满足生产实际要求。WINCC有两个版本RC版(具有组态和开发环境)、RT版(只有运行环境),我们一般使用的是RC版。
5.2 WINCC简单使用步骤
5.2.1 变量管理,首先确定通讯方式安装驱动程序,然后定义内部变量和外部变量,外部变量是受你买的WINCC软件授权限制的最大授权64K字节,内部变量没有限制。
5.2.2 画面生成,进入图形编辑器,图形编辑器是一种用于创建过程画面的面向矢量的作图程序。也可以使用包含在对象和样式库中的众多的图形对象来创建复杂的过程画面。可以通过动作编程将动态添加到单个图形对象上。
5.2.3 报警记录设置,报警记录提供了显示和操作选项来获取和归档结果。可以任意地选择消息块、消息级别、消息类型、消息显示以及报表。为了在运行中显示消息,可以使用包含在图形编辑器中的对象库中的报警控件。
5.2.4 变量记录,变量记录是用来从运行过程中采集数据并准备将它们显示和归档。
5.2.5 报表组态,报表组态是通过报表编辑器来实现的。是为消息、操作、归档内容和当前或已归档的数据定时器或事件控制文档的集成的报表系统,可以自由选择用户报表的形式。
5.2.6 全局脚本的应用,全局脚本就是C语言函数和动作的通称,根据不同的类型脚本被用于给对象组态动作并通过系统内部C语言编译器来处理。全局脚本动作用于过程执行的运行中。一个触发可以开始这些动作的执行。
5.2.7 用户管理器设置,用户管理器用于分配和控制用户的单个组态和运行系统编辑器的访问权限。每建立一个用户,就设置了WINCC功能的访问权利并独立的分配给此用户。至多可分配999个不同的授权。
5.2.8 交叉表索引,交叉索引用于为对象寻找和显示所有使用处,例如变量、画面和函数等。使用“链接”功能可以改变变量名称而不会导致组态不一致。