传统的工业控制系统:继电器-接触器 PLC(programmable logic controller)
PLC特点:
1、plc可靠性高(软件代替复杂线路、抗干扰的CPU、电源采用多级滤波并用集成稳压块稳压、IO采用光电隔离技术)
2、丰富IO口(交流、直流、开关量、模拟量、电压、电流、脉冲、电位、强电、弱电都有相应的IO模块和工业现场的设备)
3、模块化结构(plc辅助触点不受次数的限制,只需考虑输入、输出点个数即可)
4、编程简单(梯形图)、安装简单、设计施工周期短
PLC工作方式:采用循环扫描的工作方式其输入/输出存在响应滞后
PLC基本组成:*处理单元(大型的多采用冗余系统或三CPU表决式系统)、存储器、输入/输出接口(现场常用输入接口:按钮开关、行程开关、接触器的触点、传感器输出的开关量或模拟量(DAC后输入进plc)输入一般接光电耦合电路和微电脑输入接口电路(输入数据寄存器、选通电路、中断请求电路) 现场常用输出:电磁阀、接触器、继电器、信号灯、电动机等 其电路组成和输入相近:输出接口电路和功率驱动电路(继电器方式输出、晶闸管方式输出、晶体管方式输出)) 4、电源 5、底板和机架 6、PLC的外部设备(编程设备(RS232、RS422)、监控设备、存储设备、输入/输出设备) 7、PLC的通信网络(各厂家均在向标准通信协议靠拢)
PLC编程语言:因为厂家和机型不同,如今还没有一个标准的编程语言
1、梯形图编程语言:只用动合和动断两种触电、最左边是其实母线每一个逻辑行必须从其实母线开始画起、顺序为从左到右、从上到下控制器的执行顺序就是这个、梯形图语言中的触电可以任意串联和并联、注意输出继电器只可以并联不能串联(!)、程序结束应有结束符(一般用END)
2、指令语句编程语言:不带CRT的小型机对PLC进行编程时使用,类似于汇编语言
3、功能块图编程语言:以逻辑功能符号组成功能块表达命令的图形语言
PLC性能指标:
1、输入/输出点数(IO点数):包括主机点数和最大扩展点数
2、存储容量:(PLC中程序按照“步”来存放,一个指令往往不止一步,一“步”占一个地址单元,一个地址单元占两个自己(16位CPU)比如一个内存容量为1000步的PLC,内存为2KB) 一定要注意,“内存容量”指的是实际用户的程序容量,不包括系统程序存储器的容量
3、扫描速度:一般指执行一步指令的时间(微秒/步)
4、指令条数:指令种类越多,软件功能越强
5、内部寄存器:存放变量状态、中间结果和数据。另外:许多辅助寄存器提供用户特殊功能以简化整个系统的设计。
6、功能模块:(常用)A/D D/A转换模块、高速计数模块、位置控制模块、速度控制模块、轴定位模块、温度控制模块、远程通信模块、高级语言编辑模块(?)、各种物理量转换模块
PLC基本工作原理:
1、工作方式:
重点提示:传统的继电器控制是并行处理的,即某些梯级同时满足导通条件时继电器线圈会同时通电。而PLC采用“循环扫描”的工作方式,工作在串行状态,这就是两者的区别。
解决方案:为了使PLC的响应和传统继电器的响应速度相近,一般使得PLC扫描用户程序的时间小于100ms(因为传统继电器的动作时间一般在100ms以上)
扫描周期:自诊断、通信、输入处理(扫描方式按顺序从输入锁存器中读取所有的输入、端子的状态或数据并将其存入内存中的专门暂缓区,之后进入程序执行阶段。注:程序执行时输入端状态的任何变化,输入映像区都不会改变,只能在下一扫描周期改变)、用户程序执行、输出处理(同输入处理,此时将输出状态映像区的内容全部一次输出到锁存器,并通过一定的方式输出)
2、扫描周期:
T=(读入一点时间*输入点数)+(运算速度*程序步数)+(输出一点时间*输出点数)+监视服务时间
一般工业中用到的PLC大约为10ms,对于一般的开关量控制系统是完全允许的,而且还会抗干扰(工业现场中的干扰多是脉冲型的,时间短)
PLC内部资源分配(CPM1A为例):内部继电器区(IR)、特殊辅助继电器区(SR)、暂存继电器区(TR)、保持继电器区(HR)、辅助记忆继电器区(AR)、链接继电器区(LR)、定时器/计时器区(TC)、系统设定区(DM)。(?个人理解为PLC中的继电器相当于别的控制器中的寄存器,因为从特殊辅助继电器区可以推得,西门子-200的PLC中SM继电器是系统的某些标志)
以西门子为例:
一、硬件系统
基本组成:
1、主机单元:本身是一个完整的系统。
2、扩展单元:扩展各种IO(数量、性质或功能、供电电压等)
3、特殊功能模块:需要特殊功能的模块(运动控制模块、特殊通信模块)
4、相关设备:编程设备、人机操作界面、网络设备等
5、软件:管理和使用设备而开发的相对应的程序,对于S7-200 来说有:编程软件STEP7-Micro/WIN和HMI人机界面的组态编程软件ProTool、WinCC flexible。
主机结构及性能特点:
1、主机模块:
1-1:CPU221:6输入/4输出,无扩展能力,有一定的高速计数和通信功能。
1-2:CPU222:8输入/6输出,最多扩展两个模块。
1-3:CPU224:14输入/10输出,最多可扩展7个模块,有内置时钟,有更强的模拟 量和高速 计数的能力
1-4:CPU224XP:cpu224的增强版,在主机上增加了2输入/1输出的模拟量单元和 一个通信 口,适合在有少量模拟量信号的系统中使用。
1-5:CPU226:24输入/16输出,数据存储达到10KB,有2个通信口。
2、CPU模块技术规范:
2-1:供电电压:24VDC 或者 220VAC
2-2:输出方式:晶体管(DC) 或者 继电器(DC/AC)
2-3:集成电源:主机集成24VDC 可以直接用于传感器和执行机构的供电。
2-4:高速计数:可以用普通端子捕捉比CPU扫描周期更快的脉冲信号,进行高速 计数最大可达200kHz(CPU224XP)
2-5:脉冲输出:2路最大可达100kHz(CPU224XP)的高频脉冲输出,可以驱动步 进电机或者伺服电机实现准确定位。
2-6:集成模拟电位器:用模块上的电位器改变对应的特殊寄存器中的数值(如定 时器/计数器等过程量参数)
2-7:实时时钟:对信息加注时间标记,记录机器运行时间或对过程进行时间控制
3、存储系统:
3-1:保持型数据存储器
3-2:永久存储器:存储次数有限(小于100万次),虽然可永久存储,但不用于用户程序把数据写入。
3-3:存储卡:可选件,移动的存储卡,可存储:用户程序、数据块、系统块、强制设定值、配方和数据归档,文档文件等。
I/O的扩展及功能的扩展:
原因:io点数不够用或需要进行特殊功能的控制。
类型:IO点数的扩展/功能的扩展
1、IO扩展模块:
1-1:输入扩展模块EM221:三种:8点DC、16点DC、8点AC
1-2:输出扩展模块EM222:五种:8点DC、4点DC(5A)、8点AC、8点继电器、4点继电器(10A)
1-3:输入/输出混合扩展模块EM223:八种:4点(8点、16点、32点)DC输入/4点(8点、16点、32点)DC输出、4点(8点、16点、32点)DC输入/4点(8点、16点、32点)继电器输出
1-4:模拟量输入扩展模块EM231:六种:4路(8路)AI、2路(4路)热电阻输入、4路(8路)热电偶输入
1-5:模拟量输出扩展模块EM232:两种:2路AO、4路AO
1-6:模拟量输入/输出扩展模块EM235:一种:4路AI/1路AO(占用2路输出地址)?
2、特殊功能扩展模块
2-1:调制解调器模块EM241
2-2:定位模块EM253:用于高精度的运动控制系统
2-3:PROFIBUS-DP模块EM277
2-4:以太网模块CP243-1
2-5:以太网模块CP243-1 IT
2-6:AS-i接口模块CP243-2
2-7:SIWAREX MS称重模块
2-8:SINAUT MD720-3 调制解调器
!3、IO点数扩展和编址:
地址空间分配原则:
1、同类型输入或输出点的模块进行顺序编址(一定是同类型的,不同类型的模块之间编址不影响)
2、对于数字量(IO开关量):输入/输出映像寄存器单位长度为8位(一个字节 半个字)。本模块高位未满8位的,不能分配给IO链中的后续模块,后续同类地址必须重新从一个“连续的字节”开始。
3、对于模拟量( ):输入/输出映像寄存器单位长度为32位(两个字 两点 两个通道) 递增方式分配空间,同样的,本模块高位未满的不能分给后续的,后续的必须从新的2个字后的地址开始。
三、内部资源
软元件(软继电器)
定义:用户使用的PLC中的每一个输入/输出、、内部存储单元、定时器、计数器
特点:有其不同的功能,有其固定的地址。
本质:有电子电路、寄存器、存储单元组成(可认为是寄存器,而不是实体的继电器!!??继电器与映像寄存器的关系?)
1、输入继电器(I):
有输入电路和输入映像寄存器组成。每个输入继电器都对应一个输入端子。在扫描周期开始,对各输入点采样然后存入映像寄存器。用户程序执行中不再改变。注:外加IO不能超过输入映像寄存器
2、输出继电器(Q):
有输出电路和输出映像寄存器组成。每个输出端子对应一个输出继电器。用户程序执行时,结果只传送到输出映像寄存器,只在扫描周期的最后阶段“同时”传送到输出锁存器,对输出点进行刷新
3、通用辅助继电器(M):
相当与“继电器触点控制系统”中的中间继电器,无输入/输出。承担程序设计中的处理逻辑控制任务。
4、特殊继电器(SM)
功能:具有特殊功能 或 存储系统的状态变量、有关的控制参数和信息。
目的:建立PLC与被控对象之间的关系,读取程序运行过程中的设备状态和运算结果信息,利用这些进行一些特殊的控制动作(高速计数、中断)
主要有:
4-1:表示状态:SMB0、SMB1、SMB5
4-2:存储扫描时间:SMW22、SMW26
4-3:存储模拟电位器值:SMB28、SMB29
4-4:用于通信:
SMB2\SMB3\SMB30\SMB130:用于*口通信
SMB86~SMB94\SMB186~SMB194:接收信息控制。
4-5:用于高速计数:SMB36~SMB65\SMB131~SMB165
4-6:用于脉冲输出:SMB66~SMB85\SMB166~SMB185
4-7:用于中断:SMB4\SMB34\SMB35
常用的SMB0和SMB1状态位信息:
SM0.1:始终为ON SM0.1:首次扫描时为ON,常用作初始化脉冲 SM0.2:保持数据丢失时为ON一个扫描周期,可用做错误存储器位 SM0.3:开机进入RUN时为ON一个扫描周期,可在“不断电”情况下代替SM0.1 SM0.4:时钟脉冲:30s闭合/30s断开 SM0.5:时钟脉冲:0.5s闭合/0.5s断开 SM0.6:扫描时钟脉冲:闭合1个扫描周期/断开一个扫描周期 SM0.7:开关放置在RUN时为1,在TERM时为0 常用于*口通信处理中
SM1.0:执行某些指令,结果为0时置位 SM1.1:执行某些指令,结果溢出或非法数值时置位 SM1.2:执行运算指令,结果为负数时置位 SM1.3:试图除以0时置位 SM1.4:执行ATT指令,超出表范围置位 SM1.5:从空表中读数时置位 SM1.6:非BCD数转换成二进制数时置位 SM1.7:ascii码-16进制转换出错时置位
5、变量存储器(V)
存储变量的值(过程控制逻辑操作的中间结果、保存与工序或任务相关的其他数据) 可以是数值,也可以是逻辑值
6、局部变量存储器(L)
存放局部的变量,类似于V (注:全局有效是指可以被任何程序例如主程序、子程序、中断程序 访问) 一般用于作暂时存储器 或 给子程序传递参数 最多的场合是在带参数的子程序调用过程中。
7、顺序控制继电器(S)
又称“状态器”,用于顺序控制或步进控制中,也可作为一般中间继电器。
8、定时器(T)
累计时间增量的内部元件。使用时提前输入时间预设值,定时器输入条件满足时开始计时,从0开始单位增加,达到预设值时,定时器触点动作(虚拟触点相当于时间继电器的触点)
9、计数器(C)
累计脉冲的个数。累计输入脉冲的上升沿次数,达到预设值时触点动作(同为虚拟触点)
10、模拟量输入映像寄存器(AI)/模拟输出量映像寄存器(AQ)
注:编址内容包括“元件名称+数据长度+起始字节的地址”(AIW6 AQW12) 6和12为起始字节。
11、高速计数器(HC)
原理与普通计数器基本相同。累计比主机频率更快的高速脉冲。
12、累加器(AC)
s7-200 PLC提供4个32位累加器 分别为AC0 AC1 AC2 AC3。 目的:用来暂存数据的寄存器。
注:补充点 如 作双字使用 MOVD AC1 VD200 //VB200=.. VB201=.. VB202=.. VB203=..
四、寻址方式
1、数据类型及常数
数据类型:
字符串、布尔型、整形、实形(浮点数)。 实形用32位单精度数来表示
在西门子PLC中区分有无符号:
无符号:字节B(8位)、字W(16位)、双字D(32位)
有符号:字节B(只用于SHRB指令)、INT(16位)、DINT(32位)
常数表示方法:
十进制:十进制数值 1052
十六进制:16#十六进制值 16#8AC6
二进制:2#二进制值 2#1010_0011_1101_0001
ASCII码 :‘文本’ ‘Show terminals’
浮点数 :ANSI/IEEE754-1985标准
字符串 :“文本” “WHY”
2、直接寻址
ATx.y 其中 A(元件名称)、T(数据类型 B W D “缺省为位寻址”)、x(字节地址)、y(字节内的位地址 只有位寻址才有该项)
特殊器件的寻址格式:“不用指出它们的字节地址,而是直接写出其编号”
字节、字、双字的寻址格式(只要记住为“类似大端模式”即可)
字符串的寻址:每个字符以“字节”的形式存储
3、间接寻址:
建立指针,不再详细学习
五、程序结构
三部分:用户程序、数据块、参数块
六、几个基本概念
输出线圈:对于输出继电器Q、中间继电器M等器件就用线圈的方式
指令盒 :对定时器T、计数器C、大部分的功能指令。
网络块 :S7-200 PLC中特殊标记 为一个最小的独立的逻辑块。
七:S7-200 PLC 的几个特性
1、定义掉电保护区:定义掉电保持的地址范围(元件包括V M C T),被定义过的区间,停电后保持数据
2、立即读写I/O:可直接访问真正的输入/输出点。不必用映像寄存器
3、设置停止模式下的输出值:为了安全考虑(可设置保持stop前的状态,或设定值传送到输出端)
4、对输入信号增加滤波器:允许为CPU模块上的输入点设置滤波器并定义延迟时间。对模拟量来说:可对每一路选择软件滤波器,滤波值为输入采样值的平均值
5、捕捉窄脉冲:当一个输入点设置了脉冲捕捉功能后,输入点的状态变化就会被锁存并且持续到下一个扫描周期。
6、模拟电位器:值存在特殊寄存器SMB28、SMB29中,不直观,精度低
7、高速IO:高速脉冲计数、高速脉冲输出。