第3章STEP7编程环境STEP7是一种用于对SIMATIC可编程逻辑控制器进行组态和编程的标准软件包。它是SIMATIC工业软件的一部分。其用户接口是基于当前最新水平的人机控制工程设计,可以方便使用。STEP7编程软件适用于SIMATICS7、M7、C7和基于PC的WinAC,是供其编程、监控和参数设置的标准工具。STEP7是一个强大的工程工具,用于整个项目流程的设计,从项目实施的计划配置、实施模块测试、集成测试调试到运行维护阶段,都需要不同功能的工程工具。STEP7工程工具包含了整个项目流程的各种功能要求:CAD/CAE支持、硬件组态、网络组态、仿真、过程诊断等。STEP7标准软件包提供一系列的应用程序:1.SIMATIC管理器SIMATICManager(SIMATIC管理器)可以集中管理一个自动化项目的所有数据,可以分布式地读/写各个项目的用户数据。其他的工具都可以在SIMATIC管理器中根据需要而启动。2.SymbolEditor(符号编辑器)使用SymbolEditor(符号编辑器),可以管理所有的共享符号。其具有以下功能:可以为过程I/O信号、位存储和块设定符号名和注释;为符号分类;导入/导出功能可以使STEP7生成的符号表供其他的Windows工具使用。3.硬件诊断硬件诊断功能可以提供可编程序控制器的状态概况。其中可以显示符号,指示每个模板是否正常或有故障。双击故障模板,可以显示有关故障的详细信息。例如,显示关于模板的订货号、版本、名称以及模板故障的状态,显示来自诊断缓存区的报文等。4.编程语言用于S7-300和S7-400的编程语言梯形图(LadderLogic)、语句表(StatementList)和功能块图(FunctionBlockDiagram)都集成在一个标准软件包中。梯形图是STEP7编程语言的图形表达方式,它的指令语法与继电器的梯形逻辑图相似。语句表是STEP7编程语言的文本表达方式,CPU执行程序时按每一条指令一步一步的执行。功能块图也是STEP7编程语言的图形表达方式,使用与布尔代数相类似的逻辑框来表达逻辑,复合功能可用逻辑框组合形式完成。此外,还有四种编程语言作为可选软件包使用,分别是S7SCL(结构化控制)编程语言;S7Graph(顺序控制)编程语言;S7HiGraph(状态图)编程语言;S7CFC(连续功能图)编程语言。5.硬件组态硬件组态工具可以为自动化项目的硬件进行组态和参数设置。可以对机架上的硬件进行配置,设置其参数及属性。通过在对话框中提供的有效选项,系统可以防止非法输入。6.NetPro(网络组态)NetPro工具用于组态通信网络连接,包括网络连接的参数设置和网络中各个通信设备的参数设置。选择系统集成的通信或功能块,可以轻松实现数据的传送。本章重点介绍如何使用编程器件,编写用户程序以及将用户程序传送到PLC中(DOWNLOAD);监视用户程序的运行以及查找故障等等。3.1启动SIMATIC管理器并创建一个项目在启动Windows后,您将发现一个代表SIMATIC管理器的图标:该管理器就是STEP7软件在Windows系统上的启动点。用户可以直接双击此图标,进入SIMATIC管理器窗口,缺省设置为启动STEP7向导(STEP7Wizard),它可以在您创建STEP7项目时提供支持,并用项目结构来按顺序存储和排列所有的数据和程序。用户跟随向导可以快速建立一个新用户程序(Project)对象:图3-1至3-4。如图3.1所示,通过“Preview”按钮,您可以显示或隐藏正在创建的项目结构的视图。要转到下一个对话框,请单击“Next”。图3-1跟随STEP7向导创建用户项目之一图3-2跟随STEP7向导创建用户项目之二在第二页里选择您所需的CPU类型,因为每个CPU都有某些特性,例如,关于其存储器组态或地址区域,这也是为什么在编程前必须要选择CPU的原因,同时为了使CPU与编程设备或PC之间进行通讯,需要设置MPI地址(多点接口),MPI地址的缺省设置为2,然后点击“NEXT”,进入下一个对话框。图3-3跟随STEP7向导创建用户项目之三选择组织块OB1(如果尚未选中),OB1代表最高的编程层次,它负责组织S7程序中的其它块,同时选择以下一种编程语言:梯形图(LAD)、语句表(STL)或功能块图(FBD),当然您也可以在以后的编程过程中重新选择编程语言,单击下一步确认设置。图3-4跟随STEP7向导创建用户项目之四在“项目名称”域中输入用户程序(project)名字,例如“GettingStarted”,然后单击“Finish”,计算机或编程器就会自动创建一个用户程序对象,见图3-5。图3-5创建的新对象GettingStarted在SIMATIC管理器中,按照与Windows资源管理器显示文件夹和文件的目录结构相同的方式将STEP7中用户对象显示出来,如图3-6所示。图3-6STEP7用户对象至此,完成了STEP7的启动(编程的准备工作)。如果用户程序已经存在,再次开机时,就不必理会向导(Wizard),点击Cancel直接跳过。然后通过SIMATIC管理窗口中菜单FileOpen打开已经存在的用户程序即可。如果想新建项目,但STEP7启动时没有出现向导窗口,则您可以通过File‘NewProject’Wizard...来打开。在编写新用户程序时,S7系列PLC还应该进行硬件组态工作(HardwareConfiguration)。组态最好在用户程序编写之前,也可以放在其后。3.2设置PG/PCPC/MPI适配器使用户能在PC和PLC之间建立数据联系。通常有两种接口:RS-232接口和USB接口。如果在PC上安装通信卡,就能使PC和PLC之间通过网络进行通信。用户可以选用能够连接到PLC的MPI、PROFIBUS、工业以太网等各种通信卡。根据实际的需求,用户可以选择不同的接口,那么如何能准确地使用好这些接口呢?基本的思路就是软硬结合,这里的软是指软件设置,具体就是在“SettingPG/PCInterface(设置PG/PC接口)”对话框中的设置,通过在SIMATIC管理器窗口中执行菜单命令“OptionSettingPG/PCInterface...”打开;或者可以在控制面板中双击“SettingPG/PCInterface”图标打开。只有在安装好STEP7软件的PC中才会在“控制面板”中出现这个设置图标。如果用户使用编程器(PG)并通过MPI(多点接口)进行连接,则不需要特别的设置,如果用户使用PC和MPI卡或通信处理器(CP),则应首先检查在Windows中“控制面板”里的中断和地址设置,以确保没有中断冲突和地址区重叠。下面以常见的PC/MPI适配器为例介绍一下PG/PC通讯接口参数设置方法:1.进入STEP7编程软件主界面(SIMATICManager),点击“Options”菜单下的“SetPG/PCInterface...”选项进入PG/PC设置界面。2.双击“PCAdapter(MPI)”进入RS232和MPI接口参数设置对话框。3.单击“LocalConnection”选项卡设置RS232接口参数,正确选择连接电脑的COM口(RS232),选择RS232通信的波特率19200bps或38400bps,这个数值必须和PC/MPI适配器上开关设置的数值相同。4.单击“MPI”选项卡,正确设置波特率参数,由于CPU上MPI口波特率的出厂默认值为187.5Kbps,所以将参数设置成187.5Kbps即可。完成以上设置后即可与PLC联机通信了,若连接不成功的话可以修改属性窗口的“COM?”数值;若再连接不成功的话可能就是您的硬件组态的CPU的MPI地址与您机架上的MPI地址不同造成的不能通讯。要考虑修改硬件组态的CPU的MPI地址。那么怎么能够知道您机架上的CPU的MPI地址呢?可以通过“SIMATICManager”主界面“PLC”下拉菜单中的“DisplayAccessibleNodes(显示可连接的接点)”的选项来“探测”机架上CPU的MPI的地址,然后把您的硬件组态中的CPU的MPI地址修改成对应的地址即可。如“显示可连接的接点”也不能显示的话,要么是COM口插的不对,要么是电缆本身不通造成的,应检查电缆的硬件部分。然后确认没有问题的话可以把CPU断电再送电一般就可排除问题。3.3硬件组态(HardwareConfiguration)STEP7软件中的硬件组态就是模拟真实的PLC硬件系统,将电源、CUP和信号模块等设备安装到相应的机架上,并对PLC硬件模块的参数进行设置和修改的过程。当用户需要修改模块的参数或地址,需要设置网络通信,或者需要将分布式外设连接到主站的时候,都要做硬件组态。假设已打开了SIMATIC管理器和“GettingStarted”项目,单击SIMATIC300站文件夹,并双击右侧分窗体“Hardware”小图标(图3-7),将打开“HWConfig”窗口(图3-8),您在创建项目时所选择的CPU将显示出来。此时用户可以根据实际硬件组成以及各种模块所在的槽号,先选中模块所在槽,然后在硬件目录窗体中逐一双击选择,这里需要注意的是,你在硬件目录中所选择模块的订货号将出现在简要信息栏中,这个订货号一定要和你现有硬件的订货号一一对应,否则就可能影响组态过程。图3-7Hardware图标图3-8例如“GettingStarted”项目的系统硬件包括:PS3072A6ES7307-1BA00-0AA0(电源模块),(位于1号槽);CPU314(1)6ES7314-1AE04-0AB0(CPU模块),(位于2号槽);DI32xDC24V6ES7321-1BL00-0AA0开关量输入模块),(位于4号槽);DO32xDC24V/0.5A6ES7322-1BL00-0AA0(开关量输出模块),(位于5号槽);组态后的硬件配置参见图3-9。图3-9组态后的实例在机架窗口和组态表中,双击每个模块都会弹出其“Properties(属性)”对话框,用户可以设置各类参数,例如在机架窗口中双击“CPU314(1)”弹出如图3-10所示对话框,在这里我们可以点击“Cycle/ClockMemory”选项卡,选中“Clockmemory”复选框,在“MemoryByte(时钟存储器字节)”文本框中填入一个0到255之间的数字(默认为0),这样我们就硬件目录所选元素的简要信息带有各个插槽的机架带有MPI地址和I/O地址的组态表得到一组时钟脉冲信号(M0.0周期0.1秒,M0.1周期0.2秒,M0.2周期0.4秒,M0.3周期0.5秒,M0.4周期0.8秒,M0.5周期1秒,M0.6周期1.6秒,M0.7周期2秒),我们可以选用不同周期的脉冲信号来实现报警闪光以及蜂鸣器的输出等。对于其他属性页及其他模块,用户可以根据实际需要进行设置,但是,您应该只在确信知道改变这些参数会对可编程控制器有何影响时方可改变它们。图3-10设置时钟脉冲存储器组态完成后使用菜单命令“SaveandCompile”为向CPU传送数据做好准备,然后通过菜单命令“PLCDownload...”将配置好的组态数据下载到CPU中(如图3-11)。图3-11菜单命令一旦关闭“HWConfig”应用程序,在Blocks文件夹中将会出现系统数据的符号。使用菜单命令“ConsistencyCheck”(一致性检查)还可以检查组态错误。对任何可能出现的错误,STEP7都为您提供了可能的解决方案。3.4用户编程用户使用所选的编程语言在程序编辑器中按相应的逻辑顺序输入语句时,编辑器立即起动句法检查,发现错误用红色和斜体显示。逻辑块的程序指令部分通常由若干段组成,而这些段又由一系列语句组成。用户可以编辑块标题,块注释,段标题,段注释和各程序段中的语句行。3.4.1符号编程每个输入、输出都有由硬件组态预定义的一个绝对地址,该地址是直接指定的,即绝对地址,如图3-12所示。该绝对地址可以由用户所选择的任意符号名替代,