西门子电抗器6SE7027-2ES87-1FE0
使可编程控制器用于模拟量控制。
(3)运动控制
PLC可以用于圆周运动或直线运动的控制。从控制机构配置来说,早期直接用于开关量I/O模块连接位置传感器和执行机构,现在一般使用专用的运动控制模块。如可驱动步进电机或伺服电机的单轴或多轴位置控制模块。世界上各主要PLC厂家的产品几乎都有运动控制功能,广泛用于各种机械、机床、机器人、电梯等场合。
(4)过程控制
过程控制是指对温度、压力、流量等模拟量的闭环控制。作为工业控制计算机,PLC能编制各种各样的控制算法程序,完成闭环控制。PID调节是一般闭环控制系统中用得较多的调节方法。大中型PLC都有PID模块,目前许多小型PLC也具有此功能模块。PID处理一般是运行专用的PID子程序。过程控制在冶金、化工、热处理、锅炉控制等场合有非常广泛的应用。
(5)数据处理
现代PLC具有数学运算(含矩阵运算、函数运算、逻辑运算)、数据传送、数据转换、排序、查表、位操作等功能,可以完成数据的采集、分析及处理。这些数据可以与存储在存储器中的参考值比较,完成一定的控制操作,也可以利用通信功能传送到别的智能装置,或将它们打印制表。数据处理一般用于大型控制系统,如无人控制的柔性制造系统;也可用于过程控制系统,如造纸、冶金、食品工业中的一些大型控制系统。
(6)通信及联网
PLC通信含PLC间的通信及PLC与其它智能设备间的通信。随着计算机控制的发展,工厂自动化网络发展得很快,各PLC厂商都十分重视PLC的通信功能,纷纷推出各自的网络系统。新近生产的PLC都具有通信接口,通信非常方便。
PLC的构成
从结构上分,PLC分为固定式和组合式(模块式)两种。固定式PLC包括CPU板、I/O板、显示面板、内存块、电源等,这些元素组合成一个不可拆卸的整体。模块式PLC包括CPU模块、I/O模块、内存、电源模块、底板或机架,这些模块可以按照一定规则组合配置。
CPU的构成
CPU是PLC的核心,起神经中枢的作用,每套PLC至少有一个CPU,它按PLC的系统程序赋予的功能接收并存贮用户程序和数据,用扫描的方式采集由现场输入装置送来的状态或数据,并存入规定的寄存器中,同时,诊断电源和PLC内部电路的工作状态和编程过程中的语法错误等。进入运行后,从用户程序存贮器中逐条读取指令,经分析后再按指令规定的任务产生相应的控制信号,去指挥有关的控制电路。
CPU主要由运算器、控制器、寄存器及实现它们之间联系的数据、控制及状态总线构成,CPU单元还包括外围芯片、总线接口及有关电路。内存主要用于存储程序及数据,是PLC不可缺少的组成单元。
在使用者看来,不必要详细分析CPU的内部电路,但对各部分的工作机制还是应有足够的理解。CPU的控制器控制CPU工作,由它读取指令、解释指令及执行指令。但工作节奏由震荡信号控制。运算器用于进行数字或逻辑运算,在控制器指挥下工作。寄存器参与运算,并存储运算的中间结果,它也是在控制器指挥下工作。
CPU速度和内存容量是PLC的重要参数,它们决定着PLC的工作速度,IO数量及软件容量等,因此限制着控制规模
91:采用CP342-5的DP通讯口与采用CPU集成的DP通讯口进行通讯有什么不同,这两种通讯口功能有什么不同?
可以通过CPU集成的DP通讯口或CP443-5模板的DP通讯口,调用Load/Transfer指令(语句表编程,如图2)、Mov指令(梯形图编程)或系统功能块SFC14/15访问从站上的I/O数据;
如果您使用342-5模块的DP通讯口进行通讯,那么您就不能使用Load/Transfer指令(语句表编程)、Mov指令(梯形图编程)直接访问PROFIBUS从站的I/O数据。采用CP342进行PROFIBUS通讯包括两个步骤:
1.CPU将数据传输到CP通讯卡的数据寄存器当中;
2.数据从CP342-5的数据寄存器当中写到PROFIBUS从站的Output数据区(反过来就是CPU读取从站Input数据的过程);CP342-5与从站的Input/Output数据区的通讯过程是自动进行的,但是您还必须自己手动的调用功能块FC1(”SEND”)和FC2 (”RECV”),完成CP342-5与CPU之间的数据交换。
92:功能块DP_SEND、DP_RECV"的返回值代表什么意思,如何理解?
"DP_SEND"功能块包括有"DONE","ERROR" 和 "STATUS"三个参数,用来指示数据传输的状态和成功与否。"DP_RECV"功能块包括有"NDR", "ERROR", "STATUS" 和 "DPSTATUS"四个参数,用来指示数据传输的状态和成功与否。您可以定义相应的数据地址区,存放这些返回值,分析返回的值的意思,当Error=False,STATUS=0,DONE=True,NDR=True时,说明CPU与CP342-5之间的数据交换成功进行。
93: DP从站,CP模板以及CPU之间的数据通讯过程是如何进行的?
使用CP342-5模块,无论调用"DP_SEND" 功能块还是"DP_RECV" 功能块,您都不能直接读写某个PROFIBUS从站的I/O数据。CP342-5模块有一个内部的Input和Output存储区 ,用来存放所有PROFIBUS从站的的I/O数据,较新版本的CP342-5模板内部存储器的Input和Output区分别为2160个字节,Output区的数据循环写到从站的输出通道上,循环读出从站输入通道的数值存放在Input区,整个过程是CP342-5与PROFIBUS从站之间自动协调完成的,您不需编写程序。您可以在PLC的用户程序中调用"DP_SEND"和"DP_RECV"功能块,读写CP342-5这个内部的存储器。
94:通过CP342-5,如何实现对PROFIBUS网络和站点的诊断功能?
用功能块"DP_DIAG" (FC 3) 可以在程序中对cp模块进行诊断和分析,可以通过job类型如DP 诊断列表,诊断单个dp状态,读取dp从站数据,读取cp或cpu的操作模式,读取从站状态等等。
95:为什么当CP342-5模块作为PROFIBUS DP主站,而ET200(如IM151-1或IM153-2)作为从站时,CP342-5上的SF等不停闪烁?
当S7-300系统中的CP342-5作为DP主站,下挂IM153-2 模块时,IM153-2只能作为DP主站,而不是S7从站运行。 可以采取通过GSD文件将ET200从站组态进你的系统。随后IM153模块可作为 DP 标准从站运行。为此,您必须将GSD文件安装到硬件目录中(通过菜单序列Tools > "Install new GSD file")。在更新了硬件目录后您会在"PROFIBUS-DP > Additional Field Devices".中发现DP从站。
96:在STEP7中打开一些对象时出错是什么原因?
有的时候您在打开某些项目中的对象时,STEP7会弹出报错窗口,错误信息为 ’*.dll’文件无法被装载,代码是257:5,
错误信息是一个或多个对象不能被显示,出现这种错误的原因是您没有安装与要打开对象相关的软件包。
97:如果想通过上位或触摸屏对PLC中S5TIME类型的参数进行设定,有什么方法?
1、 从上位机写整型数INT或实数REAL到PLC,首先该数值需包含以毫秒为单位的时间值,在写入PLC的数据存储区后,利用ITD(Integer to Double Integer)或RND(Real to Double Integer with Rounding Off)将该值转换为双整形,然后将该值写到类型为TIME的变量里,在程序中调用FC40,将TIME转换成S5TIME即可。
2、 从上位机写WORD到PLC,首先该数值需包含以某时基为单位的时间值,在写入PLC的数据存储区后,用Word Logic下的WOR_W指令将该值与其时基相或,再利用MOVE指令将得到的数值写入S5TIME类型的变量中。
3、 如果使用WinCC作为上位软件,或上位软件支持32位带符号浮点数,可以从上位写32位带符号浮点数到PLC中定义为TIME的变量,然后在程序中调用FC40,将TIME转换成S5TIME即可。
98:STEP 7中相关时间处理和转换的功能块有哪些?
SFC 0 "SET_CLK" 设置CPU时钟
SFC 1 "READ_CLK" 读出CPU时钟
FC 3 "D_TOD_DT" 从DATE_AND_TIME 中取出DATE。
FC 6 "DT_DATE" 从DATE_AND_TIME 中取出the day of the week,即星期几
FC 7 "DT_DAY" 从DATE_AND_TIME 中取出时间
FC 8 "DT_TOD"
FC33用于S5TIME到TIME的转换
FC40用于TIME到S5TIME的转换
99:如何实现带电拔出或插入模板,即热插拔功能?
硬件要求:
使用普通的S7-300导轨和U型总线连接器是不能实现热插拔功能的,您必须购买有源总线底板,才能实现该功能。另外,您在配置时,必须使用MLFB 6ES7 153-1AA02-0XB0版本以上的接口模块,因为它支持DP协议的DPV1版本,而MLFB IM153-1AA00-0XB0模块是不支持该功能的。目前您能够购买到的IM153接口模块都支持热插拔,只有2-3年以前的IM153接口模块不支持热插拔。
软件要求:您必须在STEP7 5.1版本以上进行配置;
如果您采用S7-400 CPU或S7-400 CP作为DP主站,那么您可以直接在IM153的属性窗口的"Operating Parameters"标签页里配置热插拔功能。
1:在STEP7的硬件组态窗口的PROFIBUS DP目录中选择相应IM153模块,可以看出该模块支持“module exchange in opration”(热插拔);
2:将IM153模块拖到PROFIBUS总线上;
3:选择I/O模块,插入到ET200M站的各个槽位中;
4:双击ET200M站,打开属性窗口,选中“Replace modules during operation“(热插拔)选项;
5:属性窗口中提供了ET200M站热插拔功能所需的有源总线导轨的订货号;
6:属性窗口中提供了该型号IM153,插入的I/O模块对应使用的有源总线底板的订货号;
除了以上的硬件组态之外,还要向S7-400中下载OB82、OB83、OB84、OB85、OB86、OB87、OB121、OB122等组织块。当ET200M从站上进行模块的热插拔时,中断组织块OB83 ,OB85,OB122被调用。
如果您采用S7-300 CPU 或 CP 342-5作为DP主站,那么您只能够通过安装GSD文件的方式将IM153模块组态成DP从站,并双击IM153,打开它的属性窗口,进行设置。否则您在STEP7的硬件组态窗口中直接将PROFIBUS DP目录ET200M文件夹下IM153模块挂在PROFIBUS总线上。
100:我如何做到对自己的程序块进行加密保护?
您能够通过STEP7软件的KNOW_HOW_PROTECT功能实现对您程序代码的加密保护。
如果您双击鼠标打开经过加密的程序块时,您只能看到该程序块的接口数据(即IN, OUT 和 IN/OUT 等类型的参数)和注释信息,而程序块中的代码及代码的注释,临时/静态变量是不能被看到的。同时您也无法对加密保护的程序块做出任何改动。
如何实现程序块保护:
1. 打开程序编辑窗口LAD/FBD/STL;
2. 将要进行加密保护的程序块生成转换为源代码文件(通过选择菜单 File— ;Generate source 生成);
3. 在LAD/FBD/STL 窗口中关闭您的程序块,并在SIMATIC
Manager项目管理窗口的source文件夹中打开上一步所生成的source文件;
4. 在程序块的声明部分,TITLE行下面的一行中输入”KNOW_HOW_PROTECT”;
5. 存盘并编译该source文件(选择菜单FileàSave,FileàCompile);
6. 现在就完成了您程序块的加密保护;
101:我如何做到对自己的程序块进行<此处内容被屏蔽>?
取消对程序块的加密保护
1. 打开程序块的Source源文件;
2. 删除文件中的KNOW_HOW_PROTECT;
3. 存盘并编译该source文件;
现在程序块的加密保护已经取消。
注意: 如果没有 STL source 源文件,您是无法对已经加密的程序块进行编辑的.
系统存储器用于存放输入输出过程映像区(PII,PIQ)、位存储器(M)、定时器(T)和计数器(C))、块堆栈和中断堆栈以及临时存储器(本地数据堆栈)。
工作存储器:
工作存储器仅包含运行时使用的程序和数据。RAM 工作存储器集成在CPU中, RAM中的内容通过电源模块供电或后备电池保持。除了S7 417-4 CPU可以通过插入的存储卡来扩展工作存储器外,其他PLC的工作存储器都无法扩展。
3. 装载存储器:
装载存储器是用于存放不包含符号地址分配或注释(这些保留在编程设备的存储器中)的用户程序。装载存储器可以是存储器卡、内部集成的RAM或内部集成的EPROM.
4. 保持存储器:
保持存储器是非易失性的RAM,通过组态可以在PLC掉电后即使没有安装后备电池的情况下,保存一部分位存储器(M)、定时器(T)、计数器(C)和数据块(DB)。在设置CPU参数时一定要要保持的区域。(注意:由于S7-400 PLC没有非易失性RAM,即使组态了保持区域,再掉电时若没有后备电池,也将丢失所有数据。这是S7-300 PLC 与S7-400 PLC 的重要区别)
1) 当在step7 中执行下装(download)时,会把编程设备中的用户程序下装到CPU的装载存储区,同时会把运行时使用的程序和数据写入工作存储区(如OB1和数据块)。
2) 若CPU没有后备电池,当系统断电时,在工作存储器中定义了保持特性的数据块会把数据写入保持存储器中,上电后保持存储器会把断电时的数据写入到工作存储区, 保证了运行数据断电不丢失(过程如图7-1中与箭头所示)。
3) 若CPU没有后备电池,当系统断电时,系统存储区中定义n的保持位存储器(M)、定时器(T)和计数器(C))断电时也会写入保持存储器,恢复上电时断电时的数据重新写入,保证了运行数据断电不丢失(如图7-1中与箭头所示)。
按照CPU 的装载存储器来分类:新型S7-300 CPU、标准型S7-300 CPU、带内置EPROM 的S7300 CPU,具体描述如下:
新型S7-300 CPU是指使用MMC卡作为其装载存储器的CPU,此类CPU不用安装后备电池,免维护。由于新型S7300-CPU它不含内置的装载存储器,因此必须使用MMC卡。新型的S7-300 CPU包括紧凑型 (即CPU31xC系列)和由标准型更新的新型CPU。任何程序的下载方式都直接保存到卡中, 没有MMC卡,是无法把程序下载到CPU中的。
MMC卡需要用户根据程序大小单独订货,选型时建议大于CPU工作内存,CPU313,CPU314,CPU315-2DP,CPU317-2DP 系列CPU的可插拔MMC卡大支持8 MB ,其他高支持4 MB
用于新型S7-300 CPU的MMC 卡(Micro Memory Card )型号如下:
64 KB 6ES7 953-8LF11-0AA0
128 KB 6ES7 953-8LG11-0AA0
512 KB 6ES7 953-8LJ11-0AA0
2 MB 6ES7 953-8LL11-0AA0
4 MB 6ES7 953-8LM11-0AA0
8 MB 6ES7 953-8LP11-0AA0
注:以上产品的订货号会因为产品软硬件的升级略有调整,产品特性以产品名称为准。
图8-1
MMC的使用寿命主要取决于以下因素:
1. 删除或编程步骤的数量。
使用MMC的CPU有SFC 82,83,84等特性,可以进行数据的读写:
² SFC82“CREA_DBL”:在装载内存(Load Memory)中生成数据块
² SFC83“READ_DBL”:读装载内存(Load Memory)中的数据块
² SFC84“WRIT_DBL”:写数据块(内容)到装载内存(Load Memory)即MMC卡中。
但是,请注意由于MMC卡重复写入的次数是有限的,所以当调用SFC 84向MMC卡写数据时只在相应的时间间隔(例如每小时,每天...)调用。如果MMC卡在保存时发生故障,相关的调用块会发出否定应答,其结果存放在程序的返回值(RET_VAL)中。错误就会记录在CPU的诊断缓冲区中。
关于SFC 82,83,84 的使用参见文档“MMC卡数据的读写”。
当周围温度超过为60℃时,会影响MMC的使用寿命,0-60℃的工作环境下,MMC卡可进行删除/ 写 操作100,000次
3. MMC卡严禁带电插拔。务必在电源关闭的条件下拆卸该卡。带电插拔时会使卡烧坏。
4. 一些意外情况情况也会损坏MMC卡
1) 当装载用户程序时突然断电
2) 当执行 “copy RAM to ROM”时突然断电。
3) 当存储器复位时出现模块存储赋值错误。
4) 错误格式化或格式化不能进行。
5) 当用户用手触摸MMC卡金属部分时,如果有静电,也可能使卡损坏。
注意:MMC 卡只能使用西门子的PG或西门子专有的读卡器(prommer)进行格式化,使用其它第三方的读卡器进行读卡和格式化操作都将破坏此卡。
MMC是新型CP的装载存储器,任何程序的下载方式都直接保存到卡中。
下载的方法有如下几种:
1. 直接下载:用快捷栏中的下载按键直接下载。或使用STEP7中的“PLC >“Download”菜单命令下载。(如图8-2)
图8-2
2. 使用STEP7中的“PLC >“Download User Program to Memory Card”菜单命令将整个程序下载(如图8-2),注意使用该指令时不能下载单个或部分程序块,只能整体下载,同时会将MMC卡中原来的内容清除。此方法也同样适用于FEPROM卡。
3. 使用STEP7中的“PLC >Copy RAM to ROM” (如图8-2) 菜单命令,可以把工作存储器的内容拷贝到MMC卡中,同时会将MMC卡中原来的内容清除。此操作只能是 CPU 在STOP模式下才能执行。这个指令用于把CPU中当前运行值 如DB块的运行值拷贝到FEPROM卡中,这样下次用MRES复位时,DB块的值就会复位为保存过的值。此操作对于FEPROM卡同样有效,
4. 使用PG时可以使用STEP7中的“File > S7-Memory Card > Open” 菜单命令(如图8-3)打开存储卡,再用“PLC > Save to Memory Card ”将文件写入MMC.此方法也同样适用于FEPROM卡。
图8-3
5. 在程序中通过调用SFC84“WRIT_DBL”(向装载存储器写数据块),可以将工作存储器中的数据块(内容)写入装载存储器(存储卡)中。
使用MRES或者“Clear/Reset”不能删除MMC卡中的数据,只能删除工作存储器中的内容,并复位所有的M,T,C以及DB块的实际值。完成复位后会自动将MMC卡中的程序拷贝到工作存储器中,
如下方法可以删除MMC卡中的数据。
1. 使用STEP7中的“View > Online” 菜单命令,在线打开Blocks,选中要删除的块,用“Delete”键,即可直接删除卡中的程序块。这点类似于RAM 卡。
2. 用“PLC >Download User Program to Memory Card” (如图8-2)下载一个空的程序。
3. 使用西门子编程器PG或西门子读卡器来删除或执行格式化。
在下列情况出现时,有可能会要求进行被动格式化:
1) 装入应用程序指令由于掉电而中断
2) 向MMC卡写数据时由于掉电而中断
3) 卡中程序的组态与实际的硬件配置不相符时
4) 卡中有CPU无法正确识别的数据
可以执行被动格式化的标志为CPU 的STOP 灯出现慢闪,这是CPU在请求被动格式化,只有此时可以用MRES按钮格式化MMC卡,把卡中的错误信息清除,具体操作方法如下:
将模式开关拨到MRES并保持直到STOP 灯保持常亮(约九秒),并在其后三秒内迅速拨动模式开关,即在三秒内使模式开关返回到STOP后再迅速拨回到MRES位置,此时,STOP 灯快速闪烁,表示正在格式化。保持开关在MRES位置,直到STOP 灯常亮,格式化完成。
注意:一定要使用规定的操作顺序。否则,MMC就不能进行格式化,而是返回存储器复位状态。这种情况是在CPU的STOP 灯慢速闪烁时使用,是一种被动的格式化,在正常使用的情况下无法用MRES格式化MMC卡。
标准型S7-300 CPU指的是不使用MMC卡的S7-300 PLC,也称为老式的S7- 300 CPU。除了CPU318- 2DP外,其它的老式CPU已不再出售。标准型S7-300含有内置的RAM装载存储器,并可以使用FEPROM卡来扩充装载存储器。另外,只有CPU 318-2DP可以使用RAM卡来扩充装载存储器。
标准型的S7-300CPU有内置的Load memory ,通过插入FEPROM(Flash FEPROM)卡扩展装载存储器,Flash FEPROM卡更重要的是作为程序备份。在没有后备电池时PLC掉电,在PLC上电后都会自动从FEPROM卡中拷贝程序到CPU的工作存储器中。CPU318的存储区与S7-400CPU 类似,工作存储器分为存储数据和存储程序两部分,分别存储指令代码和数据块。过程如图8-4所示: