第七章S7-300PLC概述
第一节S7-300系列PLC的硬件系统
SIMATICS7-300是一种通用型的PLC,能适合自动化工程中的各种应用场合,尤其是在生产制造工程中的应用。模块化、无风扇结构、易于实现分布式的配置以及易于掌握等特点,使得S7-300在各种工业领域中实施各种控制任务时,成为一种既经济又切合实际的解决方案。SIMATICS7-300的大量功能能够支持和帮助用户进行编程、启动和维护,其主要功能如下:
(1)高速的指令处理。0.1~0.6us的指令处理时间在中等到较低的性能要求范围内开辟了全新的应用领域。
(2)人机界面(HMI)。方便的人机界面服务已经集成在S7-300操作系统内,因此人机对话的编程要求大大减少。
(3)诊断功能。CPU的智能化的诊断系统可连续监控系统的功能是否正常,记录错误和特殊系统事件。
(4)口令保护。多级口令保护可以使用户高度、有效地保护其技术机密,防止未经允许的复制和修改。
一、SIMATICS7-300系列PLC系统基本构成
1.SIMATICS7-300的组成
SIMATICS7-300系列PLC是模块化结构设计,各种单独模块之间可进行广泛组合和扩展。其系统构成如图7.1所示。它的主要组成部分有导轨(RACK)、电源模块(PS)、中央处理单元模块(CPU)、接口模块(IM)、信号模块(SM)、功能模块(FM)等。它通过MPI网的接口直接与编程器PG、操作员面板OP和其它S7PLC相连。
图7.1S7-300系列PLC系统构成框图
2.S7-300的扩展能力
S7-300是模块化的组合结构,根据应用对象的不同,可选用不同型号和不同数量的模块,并可以将这些模块安装在同一机架(导轨)或多个机架上。与CPU312IFM和CPU313配套的模块只能安装在一个机架上。除了电源模块、CPU模块和接口模块外,一个机架上最多只能再安装8个信号模块或功能模块。
CPU314/315/315-2DP最多可扩展4个机架,IM360/IM361接口模块将S7-300背板总线从一个机架连接到下一个机架。
3.S7-300模块地址的确定
根据机架上模块的类型,地址可以为输入(I)或输出(O)。数字I/O模块每个槽划分为4B(等于32个I/O点)。模拟I/O模块每个槽划分为16B(等于8个模拟量通道),每个模拟量输入通道或输出通道的地址总是一个字地址。表7.1为S7-300信号模板的起始地址。
表7.1S7-300信号模板的起始地址
0机架的第一个信号模块槽(4号槽)的地址为0.0~3.7,一个16点的输入模块只占用地址0.0~1.7,地址2.0~3.7未用。数字量模块中的输入点和输出点的地址由字节部分和位部分组成。S7-300的存储区见下图:
图7.2S7-300存储区示意图
(1)系统存储区:RAM类型,用于存放操作数据(I/O、位存储、定时器、计数器等)。
(2)装载存储区:物理上是CPU模块中的部分RAM,加上内置的EEPROM或选用的可拆卸FEPROM卡,用于存放用户程序。
(3)工作存储区:物理上占用CPU模块中的部分RAM,其存储内容是CPU运行时所执行的用户程序单元(逻辑块和数据块)的复制件。
CPU程序所能访问的存储区为系统存储区的全部、工作存储区中的数据块DB、暂时局部数据存储区、外设I/O存储区(P)等,其功能见表7.2。
表7.2程序可访问的存储区及功能
二、S7-300PLC硬件简介
S7-300(见图7.3)由多种模块部件组成,包括导轨(Rack)、电源模块(PS)、CPU模块、接口模块(IM)、输入输出模块(SM)。各种模块能以不同方式组合在一起,从而可使控制系统设计更加灵活,满足不同的应用需求。
图7.3S7-300PLC的基本结构
1.1.1S7-300系列PLC系统供电
1.PS307电源模块
PS307是西门子公司为S7-300专配的24VDC电源。PS307系列模块除输出额定电流不同外(有2A、5A、10A三种),其工作原理和各种参数都相同。
PS307可安装在S7-300的专用导轨上,除了给S7-300CPU供电外,也可给I/O模块提供负载电源。
2.S7-300的电流耗量和功率损耗
S7-300模块使用的电源由S7-300背板总线提供,一些模块还需从外部负载电源供电。在组建S7-300应用系统时,考虑每块模块的电流耗量和功率损耗是非常必要的。
一个实际的S7-300PLC系统,确定所有的模块后,要选择合适的电源模块,所选定的电源模块的输出功率必须大于CPU模块、所有I/O模块、各种智能模块等总消耗功率之和,并且要留有30%左右的裕量。当同一电源模块既要为主机单元又要为扩展单元供电时,从主机单元到最远一个扩展单元的线路压降必须小于0.25V。
例如,一个S7-300PLC系统由下面的模块组成:
1块中央处理单元CPU314
2块数字量输入模块SM321,16×24V
l块继电器输出模块SM322,8×230VAC
l块数字量输出模块SM322,16×24VDC
l块模拟量输入模块SM331,8×12位
2块模拟量输出模块SM332,4×12位
各模块从S7-300背板总线吸取的电流=2×25+40+70+60+2×60=340mA
各模块从24V负载电源吸取的电流=1000+2×1+75+100+200+2×240=1857mA
各模块的功率损耗=8+2×3.5+2.2+4.9+1.3+2×3=29.4
从上面计算可知,信号模块从S7-300背板总线吸取的总电流是340mA,没有超过CPU314提供的1.2A电流。各模块从24V电源吸取的总电流约为1.857A,虽没有超过2A,但考虑到电源应留有一定裕量,所以电源模块应选PS3075A。上述计算没有考虑接输出执行机构或其它负荷时的电流消耗,设计中不应忽略这一点。PS3075A的功率损耗为18W,所以该S7-300结构总的功率损耗是18+29.4=47.4W。该功率不应超过机柜所能散发的最大功率,在确定机柜的大小时要确保这一点。
1.1.2CPU模块
1.CPU模块概述
S7-300有CPU312IFM、CPU313、CPU314、CPU314IFM、CPU315/315-2DP、CPU316-2DP、CPU318-2DP等8种不同的中央处理单元可供选择。CPU315-2DP、CPU316-2DP、CPU318-2DP都具有现场总线扩展功能。CPU以梯形图LAD、功能块FBD或语句表STL进行编程。
CPU315/CPU315-2DP:CPU315是具有中到大容量程序存储器和大规模I/O配置的CPU。CPU315-2DP是具有中到大容量程序存储器和PROFIBUS-DP主/从接口的CPU,它用于包括分布式及集中式I/O的任务中。CPU315/CPU315-2DP具有48KB/64KB,内置80/96KB的装载存储器(RAM),可用存储卡扩充装载存储器,最大容量为512KB,指令执行速度为300ns/二进制指令,最大可扩展1024/2048点数字量或128/256个模拟量通道。
CPU315-2DP是带现场总线(PROFIBUS)SINECL2-DP接口的CPU模块,其他特性与CPU315模块相同。
2.CPU模块的方式选择和状态指示
S7-300系列的CPU312IFM/313/314/314IFM/315/315-2DP/316-2DP/318-2DP模块的方式选择开关都一样,有以下4种工作方式,通过可卸的专用钥匙来控制选择。
图7.4CPU模块面板布置示意图
(1)RUN-P:可编程运行方式。CPU扫描用户程序,既可以用编程装置从CPU中读出,也可以由编程装置装入CPU中。用编程装置可监控程序的运行。在此位置钥匙不能拔出。
(2)RUN:运行方式。CPU扫描用户程序,可以用编程装置读出并监控PLCCPU中的程序,但不能改变装载存储器中的程序。在此位置可以拔出钥匙,以防止程序在正常运行时被改变操作方式。
(3)STOP:停止方式。CPU不扫描用户程序,可以通过编程装置从CPU中读出,也可以下载程序到CPU。在此位置可以拔出钥匙。
(4)MRES:该位置瞬间接通,用以清除CPU的存储器。
2.存储器区域
PLC的系统程序相当于个人计算机的操作系统,它使PLC具有基本的智能,能够完成PLC设计者规定的各种工作。系统程序由PLC生产厂家设计并固化在ROM中,用户不能读取。用户程序由用户设计,它使PLC能完成用户要求的特定功能。用户程序存储器的容量以字节为单位,不同的程序对应不同的存储区域。
(1)装载存储器
装载存储器位于SIMATIC微型存储卡(MMC)中。装载存储器的容量与MMC的容量一致。用于保存程序指令块和数据块以及系统数据,也可以将项目的整个组态数据保存在MMC中。
(2)工作存储器(RAM)
RAM集成在CPU中,不能被扩展。它可用于运行程序指令,并处理用户程序数据。程序只能在RAM和系统存储器中运行。
(3)系统存储区
RAM系统存储区集成在CPU中,不能被扩展。它包括:
①标志位、定时器和计数器的地址区
②I/O的过程映像
③局域数据
3.介绍几种典型CPU模块
(1)CPU313:CPU313是标准型CPU。具有更大的程序存储器、低成本的解决方案,适用于对速度要求较高、程序较大的小型应用领域。CPU313内置12KB的RAM,其装载存储器为内置20KB的RAM,可用存储卡扩充装载存储器,最大容量为4MB,指令执行速度为600ns/二进制指令。扩展模块只能装在一个导轨上,最大扩展128点数字量和32路模拟量。
CPU313采用的是软件时钟,它给用户提供一个工作时间计时器。该计时器可用来计量CPU或所连接设备的工作时间长度。
(2)CPU313C:CPU313C是紧凑型CPU,带集成的数字量和模拟量的输入和输出。无内置装载存储器,操作时必须用MMC卡扩充装载存储器。适用于具有较高要求的系统中。
(3)CPU313C-2DP:紧凑型CPU,带集成的数字量输入和输出,以及PROFIBUSDP主站/从站接口。操作时也必须用MMC卡扩充装载存储器。
(4)CPU315/CPU315-2DP:CPU315是具有中到大容量程序存储器和大规模I/O配置的CPU。CPU315-2DP是具有中到大容量程序存储器和PROFIBUS-DP主/从接口的CPU,它用于包括分布式及集中式I/O的任务中。CPU315/CPU315-2DP具有48KB/64KB,内置80/96KB的装载存储器(RAM),可用存储卡扩充装载存储器,最大容量为512KB,指令执行速度为300ns/二进制指令,最大可扩展1024/2048点数字量或128/256个模拟量通道。其他特性与CPU314相同。
CPU315-2DP是带现场总线(PROFIBUS)SINECL2-DP接口的CPU模块,其他特性与CPU315模块相同。
1.1.3SM模块
信号模块(SM)也叫输入/输出模块,是CPU模块与现场输入输出元件和设备连接的桥梁,用户可根据现场输入/输出设备选择各种用途的I/O模块。
S7-300的输入/输出模块外部连线接在插入式的前连接器的端子上,前连接器插在前盖后面的凹槽内。不需断开前连接器上的外部连线,就可以迅速的更换模块。
信号模块面板上的LED用来显示各数字量输入/输出点的信号状态,模块安装在DIN标准导轨上,通过总线连接器与相邻的模块连接。
信号模块和接口模块的尺寸为40mm(宽)x125mm(高)x120mm.(深)。有少量模块的宽度为80mm。
1.数字量模块
S7-300有多种型号的数字量I/O模块供选择。我们主要介绍数字量输入模块SM321、数字量输出模块SM322、数字量I/O模块SM323和仿真模块SM374。
(1)数字量输入模块SM321
数字量输入模块将现场送来的数字信号电平转换成S7-300内部信号电平。数字量输入模块有直流输入方式和交流输入方式。对现场输入元件,仅要求提供开关触点即可。输入信号进入模块后,一般都经过光电隔离和滤波,然后才送至输入缓冲器等待CPU采样。采样时,信号经过背板总线进入到输入映像区。
数字量输入模块SM321有四种型号模块可供选择,即直流16点输入、直流32点输入、交流16点输入、交流8点输入模块。
模块的每个输入点有一个绿色发光二极管显示输入状态,输入开关闭合即有输入电压时,二极管点亮。
(2)数字量输出模块SM322
数字量输出模块SM322将S7-300内部信号电平转换成过程所要求的外部信号电平,可直接用于驱动电磁阀、接触器、小型电动机、灯和电动机启动器等。按负载回路使用的电源不同,它可分为直流输出模块、交流输出模块和交直流两用输出模块。按输出开关器件的种类不同,它又可分为晶体管输出方式、可控硅输出方式和继电器触点输出方式。晶体管输出方式的模块只能带直流负载,属于直流输出模块;可控硅输出方式属于交流输出模块;继电器触点输出方式的模块属于交直流两用输出模块。从响应速度上看,晶体管响应最快,继电器响应最慢;从安全隔离效果及应用灵活性角度来看,以继电器触点输出型最佳。
数字量输出模块SM322有多种型号输出模块可供选择,常用模块的有8点晶体管输出、16点晶体管输出、32点晶体管输出、8点可控硅输出、16点可控硅输出、8点继电器输出和16点继电器输出。模块的每个输出点有一个绿色发光二极管显示输出状态,输出逻辑“1”时,二极管点亮。
(3)数字量I/O模块SM323
SM323模块有两种类型,一种是带有8个共地输入端和8个共地输出端,另一种是带有16个共地输入端和16个共地输出端,两种特性相同。图1-7是8个共地的输入端、输出端SM323模块的端子连接及电气原理图,端子1~10用于输入,端子11~20用于输出。I/O额定负载电压24VDC,输入电压“1”信号电平为11~30V,“0”信号电平为-3~+5V,I/O通过光耦与背板总线隔离。在额定输入电压下,输入延迟为1.2~4.8ms。输出具有电子短路保护功能。
3.2.3模拟量模块
1.模拟量值的表示方法
S7-300的CPU用16位的二进制补码表示模拟量值。其中最高位为符号位S,“0”表示正值,“1”表示负值,被测值的精度可以调整,取决于模拟量模块的性能和它的设定参数,对于精度小于15位的模拟量值,低字节中幂项低的位不用。表3.7表示了S7-300模拟量值所有可能的精度,标有“×”的位就是不用的位,一般填入“0”。
S7-300模拟量输入模块可以直接输入电压、电流、电阻、热电偶等信号,而模拟量输出模块可以输出0~10V,1~5V,-10V~10V,0~20mA,4~20mA,-20~20mA等模拟信号。
2.模拟量输入模块SM331
模拟量输入(简称模入(AI))模块SM331目前有三种规格型号,即8AI×l2位模块、2AI×l2位模块和8AI×l6位模块。
1)SM331概述
SM331主要由A/D转换部件、模拟切换开关、补偿电路、恒流源、光电隔离部件、逻辑电路等组成。A/D转换部件是模块的核心,其转换原理采用积分方法,被测模拟量的精度是所设定的积分时间的正函数,也即积分时间越长,被测值的精度越高。SM331可选四档积分时间:2.5ms、16.7ms、20ms和l00ms,相对应的以位表示的精度为8、12、12和14。
3.模拟量输出模块SM332
模拟量输出(简称模出(AO))模块SM332目前有三种规格型号,即4AO×l2位模块、2AO×12位模块和4AO×l6位模块,分别为4通道的12位模拟量输出模块、2通道的12位模拟量输出模块、4通道的16位模拟量输出模块。
1)SM332与负载/执行装置的连接
SM332可以输出电压,也可以输出电流。在输出电压时,可以采用2线回路和4线回路两种方式与负载相连。采用4线回路能获得比较高的输出精度。
4.模拟量I/O模块SM334
模拟量I/O模块SM334有两种规格,一种是有4模入/2模出的模拟量模块,其输入、输出精度为8位,另一种也是有4模入/2模出的模拟量模块,其输入、输出精度为12位。SM334模块输入测量范围为0~10V或0~20mA,输出范围为0~10V或0~20mA。它的I/O测量范围的选择是通过恰当的接线而不是通过组态软件编程设定的。
3.特殊模块
除了最通用的I/O模块,我们还要重点介绍仿真模块SM374的使用。
仿真模块SM374可以仿真16点输入、16点输出、8点输入和8点输出的数字量模块。仿真模块没有列入S7组态工具的模块目录中,也即S7的结构不承认仿真模块的工作方式,但组态时可以填入被仿真模块的代号。例如,组态时若SM374仿真16点输入的模块,就填入16点数字量输入模块的代号:6ES7311-1BH00-0AA00;若SM374仿真16点输出的模块,就填入16点数字量输出模块的代号:6ES7322-1BH00-0AA00。SM374面板上有16个开关,用于输入状态的设置,还有16个绿色LED,用于指示I/O状态。使用SM374后,PLC应用系统的模拟调试变得简单而方便。
1.1.4FM模块
功能模块主要用于对实时性和存储容量要求高的控制任务,例如计数器模块、快速/慢速进给驱动位置控制模块、电子凸轮控制其模块、步进电动机定位模块、伺服电动机定位模块、定位和连苏路径控制模块、闭环控制模块、工业标示系统的接口模块、称重模块、位置输入模块、超声波位置解码器等。
1.1.5CP模块
S7-300系列PLC有多种用途的通信处理器模块,如CP340、CP342-5DP、CP343-FMS等,其中既有为装置进行点对点通信设计的模块,也有为PLC上网到西门子的低速现场总线网SINECL2和高速SINECH1网设计的网络接口模块。下面重点介绍CP342-5DP模块。
CP342-5DP是为把S7-300系列PLC连接到西门子SINECL2网络上而设计的成本优化的通信模块。它是一个智能化的通信模块,能大大减轻CPU的负担,也支持很多其它通信电路。
CP342-5DP应用于S7-300系统中,提供给用户SINECL2网的各种通信服务。它既可以作为主机或从机,将ET200远程I/O系统连接到PROFIBUS现场总线中去,也可以与编程装置或人机接口(MMI)通信,还可以与其它SIMATICS7PLC或SIMATICS5通信,并且可以与配有CP5412(A2)的ATPC机以及来自其它制造商的具有FBL(FieldBusLink)接口的系统建立连接,还能与MPI分支网上的其它CPU进行全局数据通信。
NCMS7-L2组态软件可以为实现以上功能进行参数配置。CP342-5DP内部有128KB的FlashEPROM,可以可靠地对参数进行备份,在掉电时参数也能被保持。CP342-5DP主要技术数据如下:
●用户存储器(FlashEPROM)128KB;
●SINECL2LAN标准符合DIN19245;
●RS-485传输方式,波特率为9.6~1500kb/s;
●可连接的设备数量达127个。
另外,CP343-FMS是采用PROFIBUS-FMS协议的现场总线通信模块,可以用于更加复杂的现场通信任务。
1.1.6通讯接口
CPU模块上有三种通讯接口。
(1)MPI接口:多点接口MPI(MultipointInterface)是用于连接CPU和PG/OP的接口,或用于MPI子网中的通讯接口。一般传输速率为187.5kbps。如果与S7-200进行通讯,也可以指定19.2kbps的传输速率。不能指定其他传输速率。编程器可以自动侦测到CPUMPI接口的正确参数,并建立连接。
(2)PROFIBUS-DP接口:PROFIBUS-DP接口主要用于连接分布式I/O。PROFIBUS-DP,用于创建大型、扩展子网。例如:PROFIBUS-DP接口既可组态为主站,也可组态为从站,传输速率可达12Mbps。编程器也可以自动侦测到CPUDP接口的正确参数,并建立连接。
(3)PtP接口:可在CPU上使用PtP(点到点)接口,来连接外部设备至串口,例如条形码阅读器、打印机等。对于全双工(RS422)模式,波特率对打为19.2kbps,对于半双工(RS485)模式,波特率对打为38.4kbps。在CPUPtP的接口中安装有以下通讯驱动程序,其报文格式是公开的:
●ASCII驱动
●协议
●只适用于CPU314C-2
1.2S7-300PLC电气安装规范
正确的硬件安装是系统正常工作的前提,要严格按照电气安装规范安装。
1.2.1安装导轨
●在安装导轨时,应留有足够的空间用于安装模板和散热(模板上下至少应有40mm的空间,左右至少应有20mm空间);
●在安装表面划安装孔。在所划线的孔上钻直径为6.5+.2mm的孔;
●用M6螺钉安装导轨;
●把保护地连到导轨上(通过保护地螺丝,导线的最小截面积为10mm2)。应注意,在导轨和安装表面(接地金属板或设备安装板)之间会产生一个低阻抗连接。如果在表面涂漆或者经阳极氧化处理,应使用合适的接触剂或接触垫片。
1.2.2安装和更换模块
从左边开始,按照如图7.5顺序装上:
①电源模块
②CPU
③信号模块、功能模块、通讯模块、接口模块
图7.5模块安装导轨顺序
需要更换模块时,应先解锁前连接器,然后取下模块。在开始安装一个新的模块之前,应将前连接器的上半部编码插针从该模块上取下来,这样做是因为该编码部件早已插入到已接线的前连接器,如不把它取下,会阻碍前连接器插回原位置。
1.2.3电气屏蔽与接地
在实时控制系统中,接地是抑制干扰以使系统可靠工作的主要方法。在设计中如能把接地和屏蔽正确地结合起来使用,则可以解决大部分干扰问题。
PS307除了给CPU供电外,还给24VDC模块提供负载电流,在一些场合,可能需要参考电位不接地的S7-300系统,此时应该把在CPU313/314上M端子和功能性地之间跨接线拆下。对CPU312IFM,只能实现一个接地结构,参考电位和地在内部已连接好。在带隔离的模块结构中,控制回路的参考电位和负载回路的参考电位是隔离的。
1.2.4机柜的选型与安装
对于大型设备的运行或安装环境中有干扰或污染时,应该将S7-300安装在一个机柜中。在选择机柜时,应注意以下事项:
●机柜安装位置处的环境条件(温度、湿度、尘埃、化学影响、爆炸危险)决定了机柜所需的防护等级(IPxx)
●模块导轨间的安装间隙
●机柜中所有组建的总功率消耗
在确定S7-300机柜安装尺寸时,应注意以下技术参数:
●模块导轨所需安装空间
●模块导轨和机柜柜壁之间的最小间隙
●模块导轨之间的最小间隙
●电缆导管或风扇的所需安装空间
●机柜固定位置
第二节S7-300编程软件STEP7V5.2
STEP7编程软件用于SIMATICS7、M7、C7和基于PC的WinAC,是供它们编程、监控和参数设置的标准工具。本节将讲述Step7软件的安装、授权过程,并介绍用STEP7软件进行硬件组态的基本方法。
2.1.STEP7V5.2软件安装
●能够运行所需操作系统的编程器(PG)或者PC。PG是专门为在工业环境中使用而设计的PC机。它已经预装了包括STEP7在内的,用于SIMATICPLC组态、编程所需的软件;
●CPU:主频600MHZ以上;
●RAM:128MB内存以上;
●剩余硬盘空间:300~600MB(视安装选项不同而定);
●显示设备:XGA,支持1024×768分辨率,16bit以上色彩深度。
2.软件要求
STEP7V5.2可以安装在下列操作系统平台上:
●MSWindows2000(至少SP1);
●MSWindowsXP(建议SP1)。
上述操作系统需要安装MicrosoftInternetExplorer5.0(或以上)版本。一般安装在MSWindows2000/XP下较为稳定。
2.2.STEP7项目创建
在STEP7中,用项目来管理一个自动化系统的硬件和软件。STEP7用SIMATIC管理器对项目进行集中管理,它可以方便的浏览SIMATICS7、C7、和WinAC的数据。因此,掌握项目创建的方法就非常重要。
2.2.1使用向导创建项目
首先双击桌面上的STEP7图标,进入SIMATICManager窗口,进入主菜单【File】,选择【’NewProject’Wizard…】,弹出标题为“STEP7Wizard:NewProject”(新项目向导)的小窗口。
●点击【NEXT】按钮,在新项目中选择CPU模块的型号为CPU313C-2DP。
●点击【NEXT】按钮,选择需要生成的逻辑块,至少需要生成作为主程序的组织块OB1。
●点击【NEXT】按钮,输入项目的名称,按【Finish】生成的项目。过程如图2-8所示。
生成项目后,可以先组态硬件,然后生成软件程序。也可以在没有组态硬件的情况下,首先生成软件。
2.2.2直接创建项目
进入主菜单【File】,【选择New…】,将出现如图2-9的一个对话框,在该对话框中分别输入“文件名”、“目录路径”等内容,并确定,完成一个空项目的创建工作。
2.2.3硬件组态
1.硬件组态的任务
硬件组态的任务就是在STEP7种生成一个与实际的硬件系统完全相同的系统,例如要生成网络、网络中各个站的导轨和模块,以及设置各硬件组成部分的参数,即给参数赋值。所有模块的参数都是用编程软件来设置的,完全取消了过去用来设置参数的硬件DIP开关。硬件组态确定了PLC输入/输出变量的地址,为设计用户程序打下了基础。
组态时设置的CPU的参数保存在系统数据块SDB中,其他模块的参数保存在CPU中。在PLC启动时CPU自动的向其他模块传送设置的参数,因此在更换CPU之外的模块后不需要重新对它们赋值。
PLC在启动时,将STEP7中生成的硬件设置与实际的硬件配置进行比较,如果二者不符,将立即产生错误报告。
2.硬件组态的步骤
①生成站,双击Hardware图标,进入硬件组态窗口;
②生成导轨,在导轨中放置模块;
③双击模块,在打开的对话框中设置模块的参数,包括模块的属性和DP主站、从站的参数;
④保存编译硬件设置,并将它下载到PLC中去。
在项目管理器左边的树中选择SIMATIC300Station对象,双击工作区中的Hardware图标,进入“HWConfig”窗口。
窗口的左上部是一个组态简表,它下面的窗口列出了各模块详细的信息,例如订货号、MPI地址和I/O地址等。右边是硬件目录窗口,可以用菜单命令【View】→【Catalog】打开或关闭它。左下角的窗口中向左和向右的箭头用来切换导轨。通常1号槽放电源模块,二号槽放CPU,3号槽放接口模块(使用多机架安装,单机架安装则保留),从4到11号则安放信号模块(SM、FM、CP)。
组态时用组态表来表示导轨,可以用鼠标将右边硬件目录中的元件“拖放”到组态表的某一行中,就好像将真正的模块插入导轨上的某个槽位一样。也可以双击硬件目录中选择的硬件,它将被放置到组态表中预先被鼠标选中的槽位上。
用鼠标右键点击I/O模块,在出现的下拉菜单选择【EditSymbolicNames】,可以打开和编辑该模块的I/O元件的符号表。
2.3.1SIMATICManager主界面
提供了STEP7软件包的集成统一的界面。在SIMATIC管理器中进行项目的编程和组态,每一个操作所需的工具均由SIMATICManager自动运行,用户不需要分别启动各个不同的工具。
STEP7安装完成后,通过Windows的【开始】→【SIMATIC】→【IDS_SN_S7TGTO
PX.EXE】,或者在桌面上双击图标启动SIMATICManager。运行界面如图7.6所示
图7.6SIMATICManager运行界面
2.3.2HWConfig硬件组态界面
为自动化项目的硬件进行组态和参数设置。可以对PLC导轨上的硬件进行配置,设置各种硬件模块的参数。如图7.7所示
图7.7硬件模块的参数
2.3.3LAD/STL/FBD编程界面
该工具集成了梯形逻辑图LAD(LadderLogic)、语句表STL(StatementList)、功能块图FBD(FunctionBlockDiagram)三种语言的编辑、编译和调试功能。如图7.8所示。
STEP7程序编辑器的界面主要由编程元素窗口、变量声明窗口、代码窗口、信息窗口等构成。
图7.8STEP7程序编辑器的界面
第三节STEP7编程技术
一、S7-300编程方式简介
S7-300系列PLC的编程语言是STEP7。用文件块的形式管理用户编写的程序及程序运行所需的数据,组成结构化的用户程序。这样,PLC的程序组织明确,结构清晰,易于修改。
为支持结构化程序设计,STEP7用户程序通常由组织块(OB)、功能块(FB)或功能块(FC)等三种类型的逻辑块和数据块(DB)组成。
OB1是主程序循环块,在任何情况下,它都是需要的。
图7.9STEP7调用过程示意图
功能块(FB、FC)实际上是用户子程序,分为带“记忆”的功能块FB和不带“记忆”的功能块FC。FB带有背景数据块(InstanceDataBlock),在FB块结束时继续保持,即被“记忆”。功能块FC没有背景数据块。
数据块(DB)是用户定义的用于存取数据的存储区,可以被打开或关闭。DB可以是属于某个FB的情景数据块,也可以是通用的全局数据块,用于FB或FC。
S7CPU还提供标准系统功能块(SFB、SFC),集成在S7CPU中的功能程序库。用户可以直接调用它们,由于它们是操作系统的一部分,因此不需将其作为用户程序下载到PLC。
3.1STEP7中的块
在STEP7软件中主要有以下几种类型的块:
组织块OB(OrganizationBlock)功能:FC(Function)功能块:FB(FunctionBlock)系统功能:SFC(SystemFunction)系统功能块:SFB(SystemFunction
Block)背景数据块:DB(InstanceDataBlock)共享数据块:DB(ShareDataBlock)
3.1.1组织块OB
1.启动组织块
(1)OB100为完全再启动类型(暖启动)。启动时,过程映像区和不保持的标志存储器、定时器及计数器被清零,保持的标志存储器、定时器和计数器以及数据块的当前值保持原状态,执行OB100,然后开始执行循环程序OB1。一般S7-300PLC都采用此种启动方式。
(2)OB101为再启动类型(热启动)。启动时,所有数据(无论是保持型和非保持型)都将保持原状态,并且将OB101中的程序执行一次。然后程序从断点处开始执行。剩余循环执行完以后,开始执行循环程序。热启动一般只有S7-400具有此功能。
(3)OB102为冷启动方式。CPU318-2和CPU417-4具有冷启动型的启动方式,冷启动时,所有过程映像区和标志存储器、定时器和计数器(无论是保持型还是非保持型)都将被清零,而且数据块的当前值被装载存储器的原始值覆盖。然后将OB102中的程序执行一次后执行循环程序。
2.循环执行的程序组织块
OB1是循环执行的组织块。其优先级为最低。PLC在运行时将反复循环执行OB1中的程序,当有优先级较高的事件发生时,CPU将中断当前的任务,去执行优先级较高的组织块,执行完成以后,CPU将回到断点处继续执行OB1中的程序,并反复循环下去,直到停机或者是下一个中断发生。一般用户主程序写在OB1中。
3.定期的程序执行组织块
OB10、OB11~OB17为日期中断组织块。通过日期中断组织块可以在指定的日期时间执行一次程序,或者从某个特定的日期时间开始,间隔指定的时间(如一天,一个星期,一个月等)执行一次程序。
OB30、OB31~OB38为循环中断组织块。通过循环中断组织块可以每隔一段预定的时间执行一次程序。循环中断组织块的间隔时间较短,最长为1分钟。最短为1毫秒。在使用循环中断组织块时,应该保证设定的循环间隔时间大于执行该程序块的时间,否则CPU将出错。
4.事件驱动的程序执行组织块
1)延时中断组织块
OB20~OB27:延时中断,当某一事件发生后,延时中断组织块(OB20)将延时指定的时间后执行。OB20~OB27只能通过调用系统功能SFC32而激活,同时可以设置延时时间。
2)硬件中断组织块
OB40~OB47:硬件中断。一旦硬件中断事件发生,硬件中断组织块OB40~OB47将被调用。硬件中断可以由不同的模块触发,对于可分配参数的信号模块DI、DO、AI、AO等,可使用硬件组态工具来定义触发硬件中断的信号;对于CP模块和FM模块,利用相应的组态软件可以定义中断的特性。
3)异步错误组织块
OB80~OB87:异步错误中断。异步错误是PLC的功能性错误。它们与程序执行时不同步地出现,不能跟踪到程序中的某个具体位置。在运行模式下检测到一个故障后,如果已经编写了相关的组织块,则调用并执行该组织块中的程序。如果,发生故障时,相应的故障组织块不存在,则CPU将进入STOP模式。
4)同步错误组织块
OB121、OB122:同步错误中断。如果在某特定的语句执行时出现错误,CPU可以跟踪到程序中某一具体的位置。由同步错误所触发的错误处理组织块,将作为程序的一部分来执行,与错误出现时正在执行的块具有相同的优先级。
编程错误,例如在程序中调用一个不存在的块,将调用OB121。
访问错误,例如程序中访问了一个有故障或不存在的模块,将调用OB122。
3.1.2功能FC和功能块FB
FC和FB都是用户自己编写的程序块,用户可以将具有相同控制过程的程序编写在FC或FB中,然后在主程序OB1或其他程序块中(包括组织块和功能、功能块)调用FC或FB。FC或FB相当于子程序的功能,都可以定义自己的参数
3.1.3系统功能SFC和系统功能块SFB
SFC和SFB是预先编好的可供用户调用的程序块,它们已经固化在S7PLC的CPU中,其功能和参数已经确定。一台PLC具有哪些SFC和SFB功能,是由CPU型号决定的。具体信息可查阅CPU的相关技术手册。通常SFC和SFB提供一些系统级的功能调用,如通讯功能、高速处理功能等。注意:在调用SFB时,需要用户指定其背景数据块(CPU中不包含其背景数据块),并确定将背景数据块下载到PLC中。
3.1.4背景数据块和共享数据块
背景DB是和某个FB或SFB相关联,其内部数据的结构与其对应的FB或SFB的变量声明表一致。
共享DB的主要目的是为用户程序提供一个可保存的数据区,它的数据结构和大小并不依赖于特定的程序块,而是用户自己定义。需要说明的是,背景DB和共享DB没有本质的区别,它们的数据可以被任何一个程序块读写。
3.3数据类型
数据是程序处理和控制的对象,在程序运行过程中,CPU处理的一串二进制符号所代表的意义是由数据类型决定的,数据类型决定了数据的属性,例如数据长度,取值范围等。
STEP7中的数据可分为以下三大类:基本数据类型、复合数据类型、参数数据类型。
基本数据类型有:位(BOOL)、字节(BYTE)、字(WORD)、双字(DOUBLEWORD)
整数(INT)、双整数(DOUBLEINT)、浮点数(REAL)、基本数据类型S5TIME(SIMATIC时间)、IEC时间(TIME)、IEC日期(date)、日计时(TIME_OF_DAY)、字符(CHAR)
复杂数据类型有:日期时间数据类型(Data_And_Time)、字符串类型(String)、数组类型Array、结构(STRUCT)、用户定义类型(UDT)
参数数据类型是一类用于功能FC或功能块FB的数据类型,主要包括以下两种:Pointe指针类型、Any指针类型
第四节S7-300PLC故障诊断
PLC是运行在工业环境中的控制器,一般而言可靠性比较高,出现故障的概率较低,但是,出现故障也是难以避免的。一般引发故障的原因有很多,故障的后果也有很多种。
引发故障的原因虽然我们不能完全控制,但是我们可以通过日常的检查和定期的维护来消除多种隐患,把故障率降到最低。故障的后果轻的可能造成设备的停机,影响生产的数量;重的可能造成财产损失和人员伤亡,如果是一些特殊的控制对象,一旦出现故障可能会引发更严重的后果。
故障发生后,对于维护人员来说最重要的是找到故障的原因,迅速排除故障,尽快恢复系统的运行。对于系统设计人员在设计时要考虑到系统出现故障后的系统的自我保护措施力争使故障的停机时间最短,故障的产生的损失最小。
一、了解S7-300PLC的基本故障种类
一般PLC的故障主要有外部故障或是内部错误造成。外部故障时由外部传感器或执行机构的故障等引发PLC产生故障,可能会使整个系统停机,甚至烧坏PLC。而内部错误是PLC内部的功能性错误或编成错误造成的,可以使系统停机。S7-300具有很强的错误(或称故障)检测和处理能力,CPU检测到某种错误后,操作系统调用对应得组织块,用户可以在组织块中编程,对发生的错误采取相应的措施。对于大多数错误,如果没有给组织块编程,出现错误时CPU将进入STOP模式。被S7CPU检测到并且用户可以通过组织块对其进行处理的错误分为两类:
1、异步错误
异步错误是与PLC的硬件或操作系统密切相关的错误,与程序执行无关,但异步错误的后果一般比较严重。
2、同步错误
同步错误是与执行用户程序有关的错误,程序中如果有不正确的地址区,错误的编号或错误的地址,都会出现同步错误,操作系统将调用同步错误OB。
二、PLC的常规维护及故障排除的方法
为了保障系统的正常运行,定期对PLC系统进行维护和检查是必不可少的,而且还必须熟悉一些故障诊断和排除方法。
1、定期检查
PLC是一种工业控制设备,尽管在可靠性方面采取了许多措施,但工作环境对PLC影响还是很大的。所以,通常每隔半年时间应对PLC作定期检查。如果PLC的工作条件不符合表7-1规定的标准,就要做一些应急处理,以便使PLC工作在规定的标准环境。
2、日常维护
PLC除了锂电池和继电器输出触点外,基本上没有其它易损元器件。由于存放用户程序的随机内存(RAM),计数器和具有保持功能的辅助继电器等均用锂电池保护,锂电池的寿命大约5年,当锂电池的电压逐渐降低达一定程度时,PLC基本单元上的电池电压跌落指示灯会亮。提示用户注意,有锂电池所支持的程序还可以保持一周左右,必须更换电池,这是日常维护的主要内容。
三、外部故障的排除方法
PLC有很强的自诊断能力,当PLC自身故障或外围设备发生故障,都可用PLC上具有诊断指示功能的发光二极管的亮灭来诊断。
一、故障查找
1、总体检查
根据总体检查流程图找出故障点的大方向,逐渐细化,以找出具体故障,如图7.10所示。
图7.10总体检查流程图
2、电源故障检查
电源等不亮部需要对供电系统进行检查,检查流程图如图7.11所示。
图7.11电源检查流程图
电源正常,运行指示灯不亮,说明系统已因某种异常而终止了正常运行,检查流程图如图7.12所示。
图7.12指示灯不亮时检查流程图
4、输入输出故障检查
输入输出是PLC与外部设备进行信息交流的信道,其是否正常工作,除了和输入输出单元有关外,还与联接配线、接线端子、保险管等组件状态有关。图7.13和图7.14分别所示的是输入检查流程和输出检查流程。
图7.13输入检查流程图
图7.14输出检查流程图
5、外围环境的检查
影响PLC工作的环境因素主要有温度、湿度、噪音与粉尘,以及腐蚀性酸碱等。
二、故障的处理
不同故障产生的原因不同,它们也有不同的方法,具体请见下表所列。
表7.3常见故障处理方法
序号 异常现象 可能原因 处理 1 [POWER]LED灯不亮 1、电压切换端子设定不良
2、保险丝熔断 正确设定切换端子
更换保险丝 2 保险丝多次熔断 1、电压切换端子设定不良
2、线路短路或烧坏 正确设定切换端子
更换电源单元 3 [RUN]LED灯不亮 1、程序错误
2、电源线路不良3、I/O单元号重复4、远程I/O电源关,无终端 修改程序
更换CPU单元
修改I/O单元号
接通电源 4 运行中输出端没闭合([POWER]灯亮) 电源回路不良 更换CPU单元 5 编号以后的继电器不动作 I/O总线不良 更换基板单元 6 特定的继电器编号的输出(入)接通 I/O总线不良 更换基板单元 7 特定单元的所有继电器不接通 I/O总线不良 更换基板单元
1
机架 模块起始地址 槽位号 1 2 3 4 5 6 7 8 9 10 11 0 数字量模拟量 PS CPU IM 0
256 4
272 8
288 12
304 16
320 20
336 24
352 28
368 1① 数字量模拟量 — IM 32
384 36
400 40
416 44
432 48
448 52
464 56
480 60
496 2① 数字量模拟量 — IM 64
512 68
528 72
544 76
560 80
576 84
592 88
608 92
624 3① 数字量模拟量 — IM 96
640 100
656 104
672 108
688 112
704 116
720 120
736 124②
752②
名称 存储区 存储区功能 输入(I) 过程输入映像表 扫描周期开始,操作系统读取过程输入值并录入表中,在处理过程中,程序使用这些值。每个CPU周期,输入存储区在输入映像表中存放输入状态值。输入映像表是外设输入存储区首128B的映像 输出(Q) 过程输出映像表 在扫描周期中,程序计算输出值并存储在该表中;在扫描周期结束后,操作系统从表中读取输出值,并传送到过程输出口。过程输出映像表是外设输出存储区的首128B的映像 位存储区(M) 存储位 存放程序运算的中间结果 外设输入(PI)
外设输出(PQ) I/O:外设输入
I/O:外设输出 外设存储区允许直接访问现场设备(物理的或外部的输入和输出),外设存储区可以以字节、字和双字格式访问,但不可以以位方式访问 定时器(T) 定时器 为定时器提供存储区,计时时钟访问该存储区中的计时单元,并以减法更新计时值。定时器指令可以访问该存储区和计时单元 计数器(C) 计数器 为计数器提供存储区,计数指令访问该存储区 临时本地数据(L) 本地数据堆栈
(L堆栈) 在FB、FC或OB运行时设定,将在块变量声明表中声明的暂时变量存在该存储区中,提供空间以传送某些类型参数和存放梯形图中间结果。块结束执行时,临时本地存储区再行分配,不同的CPU提供不同数量的临时本地存储区 数据块(DB) 数据块 存放程序数据信息,可被所有逻辑块公用(“共享”数据块)或被FB特定占用“背景”数据块
|
|