1.2 PLC的构成5 i3 F( P( s( Z$ C; y. g. {1 `
$ Y' ?8 {, h6 b9 H( \8 a9 H* _0 }
从结构上分,PLC分为固定式和组合式(模块式)两种。固定式PLC包括CPU板、I/O板、显示面板、内存块、电源等,这些元素组合成一个不可拆卸的整体。模块式PLC包括CPU模块、I/O模块、内存、电源模块、底板或机架,这些模块可以按照一定规则组合配置。8 ]& Y& u' K! ^$ }
1 v3 f0 L$ c5 T7 ?1 f8 k/ R, T2 d
1.3 CPU的构成
. W6 V* |- r* Q( I$ O+ e9 G( s% O. j- N$ a
CPU是PLC的核心,起神经中枢的作用,每套PLC至少有一个CPU,它按PLC的系统程序赋予的功能接收并存贮用户程序和数据,用扫描的方式采集由现场输入装置送来的状态或数据,并存入规定的寄存器中,同时,诊断电源和PLC内部电路的工作状态和编程过程中的语法错误等。进入运行后,从用户程序存贮器中逐条读取指令,经分析后再按指令规定的任务产生相应的控制信号,去指挥有关的控制电路。
' K7 l5 R o6 s6 Y- g# M8 P( `2 y
: C& }6 r( | [# ]- q M' D+ hCPU主要由运算器、控制器、寄存器及实现它们之间联系的数据、控制及状态总线构成,CPU单元还包括外围芯片、总线接口及有关电路。内存主要用于存储程序及数据,是PLC不可缺少的组成单元。
+ J' b. e: V! u3 j1 l
3 i$ t6 F( e$ [/ z( |( i在使用者看来,不必要详细分析CPU的内部电路,但对各部分的工作机制还是应有足够的理解。CPU的控制器控制CPU工作,由它读取指令、解释指令及执行指令。但工作节奏由震荡信号控制。运算器用于进行数字或逻辑运算,在控制器指挥下工作。寄存器参与运算,并存储运算的中间结果,它也是在控制器指挥下工作。
9 P1 L1 }6 V" o: Z1 V
8 T" ?4 H/ _5 y6 _CPU速度和内存容量是PLC的重要参数,它们决定着PLC的工作速度,IO数量及软件容量等,因此限制着控制规模。( F+ A1 Y# J. X9 w$ o4 H0 D" |* R* T: {
6 C4 S% Z8 u2 M& E
1.4 I/O模块" o- ]6 I. U3 N* u) |5 c
1 a9 h' s/ ^- m" b. A; E! HPLC与电气回路的接口,是通过输入输出部分(I/O)完成的。I/O模块集成了PLC的I/O电路,其输入暂存器反映输入信号状态,输出点反映输出锁存器状态。输入模块将电信号变换成数字信号进入PLC系统,输出模块相反。I/O分为开关量输入(DI),开关量输出(DO),模拟量输入(AI),模拟量输出(AO)等模块。
" y+ H" a: j, c) A$ D. `' q3 q8 y
常用的I/O分类如下:
5 [7 E1 K2 X# U: Z1 ]# ^6 i; @7 j! w; {8 }* i
开关量:按电压水平分,有220VAC、110VAC、24VDC,按隔离方式分,有继电器隔离和晶体管隔离。2 |7 @8 U7 m1 Q. i' u4 E% f. _
6 i3 j8 y% N( i5 K4 l( k c
模拟量:按信号类型分,有电流型(4-20mA,0-20mA)、电压型(0-10V,0-5V,-10-10V)等,按精度分,有12bit,14bit,16bit等。0 C/ b9 G5 l) D6 j7 V
$ ~! e; H0 J0 k. V1 P
除了上述通用IO外,还有特殊IO模块,如热电阻、热电偶、脉冲等模块。
2 s6 a; D6 s- E7 u
2 W( O8 G% T9 r按I/O点数确定模块规格及数量,I/O模块可多可少,但其最大数受CPU所能管理的基本配置的能力,即受最大的底板或机架槽数限制。
6 g, Y& F4 g! A5 U& s' \" g
7 X% L* j* \6 `# F% d: w! k3 K( k1.5 电源模块
/ L# x& O$ i/ y- h4 M1 |! C
/ {: k$ p3 P" Q- SPLC电源用于为PLC各模块的集成电路提供工作电源。同时,有的还为输入电路提供24V的工作电源。电源输入类型有:交流电源(220VAC或110VAC),直流电源(常用的为24VDC)。6 n9 i' G' c$ X9 B# k
+ L( \* A4 u. p" Z- W; i4 t# E
1.6 底板或机架
! P8 Z1 C& A& u! F- u. R/ D9 `+ ?7 L& D( B- l0 A
大多数模块式PLC使用底板或机架,其作用是:电气上,实现各模块间的联系,使CPU能访问底板上的所有模块,机械上,实现各模块间的连接,使各模块构成一个整体。+ Y2 ~2 p) s/ L) \; d# d3 `- i
0 X, F7 o5 Q q. p1.7 PLC系统的其它设备9 T( ^+ J$ f O; W7 J% |
. N4 V8 ~6 s% J( U
1.7.1 4 n6 b% {6 O4 c; Z" D H2 A
( ]4 I/ Y' p* G# ^) o1 Z* H$ Z3 r% D8 V编程设备:编程器是PLC开发应用、监测运行、检查维护不可缺少的器件,用于编程、对系统作一些设定、监控PLC及PLC所控制的系统的工作状况,但它不直接参与现场控制运行。小编程器PLC一般有手持型编程器,目前一般由计算机(运行编程软件)充当编程器。也就是我们系统的上位机。
S6 C, _8 _' @5 |9 K, Z8 D5 T( K/ o* }9 Y+ F9 |0 M
1.7.2 人机界面:最简单的人机界面是指示灯和按钮,目前液晶屏(或触摸屏)式的一体式操作员终端应用越来越广泛,由计算机(运行组态软件)充当人机界面非常普及。. X+ f7 f. s0 ]. b+ D0 |
0 d. @, Y0 S. k3 I* O2 \1.8 PLC的通信联网
3 X, ~; N; e" ?# M1 q. U5 X+ X0 x: o0 ^3 n4 J1 R; v) \
依靠先进的工业网络技术可以迅速有效地收集、传送生产和管理数据。因此,网络在自动化系统集成工程中的重要性越来越显著,甚至有人提出"网络就是控制器"的观点说法。
) ?* I6 ?( m" A+ {+ C5 Y6 t( v) X% B. l- `
PLC具有通信联网的功能,它使PLC与PLC `4 G% K& r" }' M8 ~( ~2 z
: {( y P9 ]3 r( i, L1 C之间、PLC与上位计算机以及其他智能设备之间能够交换信息,形成一个统一的整体,实现分散集中控制。多数PLC具有RS-232接口,还有一些内置有支持各自通信协议的接口。PLC的通信现在主要采用通过多点接口(MPI)的数据通讯、PROFIBUS , h9 n3 E7 @7 g) K: p1 y" y1 p
' \- [9 {+ e: j" _4 R9 U
或工业以太网进行联网。
" S8 c" B3 l' ?* ]# y- A8 t2 m$ c# n" Z) A f7 K7 Z% r+ z
2 PLC控制系统的设计基本原则/ ~7 `4 x9 Y. B, Q f, ?# j
2.1 最大限度的满足被控对象的控制要求。
+ m G, \$ P) ^; _: x* |# C2.2 在满足控制要求的前提下,力求使控制系统简单、经济、使用和维护方便。# ^$ X& a0 b+ i* U
2.3 保证控制系统安全可靠。; T O, N N2 i h& i( U$ @5 ~3 x
2.4 考虑到生产的发展和工艺的改进在选择PLC容量时应适当留有余量。
; i7 I( |& s8 S% ^* f# j3 PLC软件系统及常用编程语言# u1 Z8 p/ N+ k
* o, R. q' t1 @! O2 V7 c& ^5 N. c Q
3.1 PLC软件系统由系统程序和用户程序两部分组成。系统程序包括监控程序、编译程序、诊断程序等,主要用于管理全机、将程序语言翻译成机器语言,诊断机器故障。系统软件由PLC厂家提供并已固化在EPROM中,不能直接存取和干预。用户程序是用户根据现场控制要求,用PLC的程序语言编制的应用程序(也就是逻辑控制)用来实现各种控制。STEP7是用于SIMATIC可编程逻辑控制器组态和编程的标准软件包,也就是用户程序,我们就是使用STEP7来进行硬件组态和逻辑程序编制,以及逻辑程序执行结果的在线监视。9 J$ \9 T' B8 L3 R
7 @0 o3 N ]- t. n! v @" X
3.2 PLC提供的编程语言
8 i5 n5 l! ~1 i
5 B4 J7 M [! S* M6 l) Y3.2.1 标准语言梯形图语言也是我们最常用的一种语言,它有以下特点
; Q/ M1 ~" r- K2 A) q! Q4 v+ V* {8 Y+ g! W: s
3.2.1.1 它是一种图形语言,沿用传统控制图中的继电器触点、线圈、串联等术语和一些图形符号构成,左右的竖线称为左右母线。
4 H+ y2 Q4 Y" w0 t2 W5 o$ Z; |. z& H7 w* t M7 U
3.2.1.2 梯形图中接点(触点)只有常开和常闭,接点可以是PLC输入点接的开关也可以是PLC内部继电器的接点或内部寄存器、计数器等的状态。
2 _9 z: r+ B9 f) Z- B) Q5 ^/ W/ m' ?! E
3.2.1.3 梯形图中的接点可以任意串、并联,但线圈只能并联不能串联。& |, j5 N& h& }, K* B7 i- k3 O
- q A$ K+ ~4 f& \0 X
3.2.1.4 内部继电器、计数器、寄存器等均不能直接控制外部负载,只能做中间结果供CPU内部使用。, w$ z+ f; C" t. w- h( x
& g$ C8 [+ v% T. r9 S* }8 s/ w3.2.1.5 PLC是按循环扫描事件,沿梯形图先后顺序执行,在同一扫描周期中的结果留在输出状态暂存器中所以输出点的值在用户程序中可以当做条件使用。
9 L3 S6 B3 L* Q0 G9 _! \: m
9 O4 S0 Y7 p. L0 Q8 _" _# u3.2.2 语句表语言,类似于汇编语言。0 B" u w1 {1 I0 d4 r9 P/ `
+ A& U; O% _* e8 w0 y7 J7 k( e
3.2.3 逻辑功能图语言,沿用半导体逻辑框图来表达,一般一个运算框表示一个功能左边画输入、右边画输出。
- {# s. T5 @$ h0 `/ J; I
, ]) x! P$ I+ S* [$ b4 STEP7程序的使用
3 T' i' H5 e2 A+ d7 Q
4 I, ` n3 ]1 ?4.1 创建一个项目结构,项目就象一个文件夹,所有数据都以分层的结构存在于其中,任何时候你都可以使用。在创建一个项目之后,所有其他任务都在这个项目下执行。& t" P" e2 W, W
) q" ^% {/ h1 r4 H& c4.2 组态一个站,组态一个站就是指定你要使用的可编程控制器,例如S7300、S7400等。
- B$ |1 U$ j) R1 M4 e" H: Z0 z" F
4.3 组态硬件,组态硬件就是在组态表中指定你的控制方案所要使用的模板以及在用户程序中以什么样的地址来访问这些模板,地址一般不用修改由程序自动生成。模板的特性也可以用参数进行赋值。
6 w/ k4 {% q6 H, V9 W7 t; e# y: f! s: b |& Q5 l
4.4 组态网络和通讯连接,通讯的基础是预先组态网络,也就是要创建一个满足你的控制方案的子网,设置网络特性、设置网络连接特性以及任何联网的站所需要的连接。网络地址也是程序自动生成如果没有更改经验一定不要修改。. ]1 y2 }) D. |3 _
* X1 ^2 R, s* v- H5 y
4.5 定义符号,可以在符号表中定义局部或共享符号,在你的用户程序中用这些更具描述性的符号名替代绝对地址。符号的命名一般用字母编写不超过8个字节,最好不要使用很长的汉字进行描述,否则对程序的执行有很大的影响。9 s P/ G4 |: D; T. ~( v
- [) y! E9 g7 x
4.6 创建程序,用梯形图编程语言创建一个与模板相连结或与模板无关的程序并存储。创建程序是我们控制工程的重要工作之一,一般可以采用线形编程(基于一个块内,OB1)、分布编程(编写功能块FB,OB1组织调用)、结构化编程(编写通用块)。我们最常采用的是结构化编程和分布编程配合使用,很少采用线形编程。
) h* X: \5 x5 a9 L: g
& s7 ~( }9 q9 w+ d% ~- n1 @2 T4.7 下载程序到可编程控制器,完成所有的组态、参数赋值和编程任务之后,可以下载整个用户程序到可编程控制器。在下载程序时可编程控制器必须在允许下载的工作模式下(STOP或RUN-P), 3 D8 e, D! t5 t# V6 j$ k
% B* L7 e8 e8 G9 i
RUN-P模式表示,这个程序将一次下载一个块,如果重写一个旧的CPU程序就可能出现冲突,所以一般在下载前将CPU切换到STOP模式。 |