版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SIEMENS公司S7PLC标准工具软件
STEP7介绍12/29/2022112/22/20221S7PLC的STEP7编程软件介绍
这一讲通过以西门子公司的STEP7编程语言为例,来介绍实际PLC应用的编程语言,在第4讲中将介绍PLC编程语言的国际标准,即IEC61131-3标准。STEP7编程软件是用来对西门子公司的系列PLC产品,包括S7300系列、S7400系列、M7系列以及基于PC的PLC等产品,进行编程、调试、监视的软件。为了组态PLC硬件配置或开始编写S7用户程序,首先必须在PC计算机中安装STEP7软件(如果使用的是编程器,则STEP7软件已经预装在编程器内)。在STEP7CD光盘的Readme.wri
文件中,有关于安装STEP7对PC计算机的软件和硬件配置要求。
将STEP7的
CD
光盘插入PC机的光驱中,安装程序能自动执行,按照屏幕上的提示操作,可一步一步完成STEP7软件的安装。完成STEP7的安装后,要重新启动计算机,在PC的Windows桌面上会出现一个
SIMATICManager的小图标
。
12/29/20222S7PLC的STEP7编程软件介绍这一讲通过以西门子公应用STEP7软件,能在一个“项目”(project)内建立起S7用户程序。可编程序控制器是由电源模板、CPU以及输入/输出模板(I/O模板)组成。可编程逻辑控制器(PLC)通过S7程序,监视和控制被控对象。在S7程序内通过地址,对I/O模板进行寻址。图3.1所示为PLC控制被控对象的过程,图3.2所示为STEP-7软件的应用过程。S7PLC和STEP7编程软件应用示意图12/29/20223应用STEP7软件,能在一个“项目”(projectS7PLC和STEP7编程软件应用示意图12/29/20224S7PLC和STEP7编程软件应用示意图12/22/20应用STEP7的基本步骤12/29/20225应用STEP7的基本步骤12/22/20225有两个选择项,如果要解决的自动化任务比较复杂,编写的程序量比较大,涉及的输入、输出点数多,建议采用选择项1,即先对PLC的硬件进行组态,然后编写用户程序,这样做的优点是通过STEP7对所有输入、输出点的绝对地址先进行了定义和分配,在以后的程序编写过程中就不会混淆,另外,在组态过程中还可以改变模板的参数和属性,例如,对模拟量输入模板,在组态过程中,可以确定它是电压输入信号(0-10V,+/-10V)还是电流输入信号(4-20mA),对一个多CPU项目,在组态过程中,可以确定各个CPU的MPI地址。对于比较简单的项目,涉及的输入、输出点数不多,也可以采用选择项2的步骤。应用STEP7软件于PLC实现自动化任务的过程12/29/20226有两个选择项,如果要解决的自动化任务比较复杂,编写的程序启动STEP7时将激活SIMATICmanager(SIMATIC管理器)的中央窗口。一般默认设置是启动STEP7Wizard(STEP7向导),在“向导”帮助下建立一个STEP7项目,STEP7项目的结构按一定的次序安排数据和程序并被保存。项目内的数据是以对象的形式按分层结构保存。SIMATIC站和CPU包含硬件的组态和参数数据。S7程序是由所有的方块组成,这些方块包含控制对象的程序。下面介绍SIMATIC管理器的项目结构。启动SIMATIC管理器(SIMATICManager)12/29/20227启动STEP7时将激活SIMATICmanagerSTEP7编程语言的主窗口界面打开“项目”窗口,左边页面显示项目结构,右边页面显示左边页面所选文件夹中的对象和其他文件夹图所示。
12/29/20228STEP7打开“项目”窗口,左边页面显示项目结构,右边SIMATIC管理器窗口的菜单项:打开SIMATIC管理器的窗口能见到以下菜单项:File打开、组织和打印“项目”(project)。Edit复制、粘贴、删除、全选、对象属性等。Insert插入程序单元。PLC下载程序和监视硬件。View选择“在线/离线”和编程语言。Options用户定义。Window设置窗口显示。Help帮助信息。12/29/20229SIMATIC管理器窗口的菜单项:打开SIMATIC管理建立一个项目和SIMATIC站后,就可以对PLC进行硬件组态了。下面介绍S7PLC中央机架模板的组态过程。打开“项目”中的“站”,在窗口的右边页面出现“硬件”图标和所建项目中选择的CPU图标,如下面的图所示。双击“硬件”图标,“硬件”组态窗口自动打开,在组态窗口的右边面会显示硬件组态单元库目录菜单。应用STEP7对PLC进行硬件组态12/29/202210建立一个项目和SIMATIC站后,就可以对PLC进行硬件选择目录菜单中的某一项,例如SIMATIC300,在其下拉菜单中再选择RACK-300,双击RACK-300下面的图标,这时在窗口左边页面上就会出现0(UL)机架带槽位的rack表。为了在0(UL)的1号槽位上放置PS307电源模板,导航目录菜单,找到PS3075A(6ES7307-1EA00-0AA0),用鼠标拖至0(UL)机架的1号槽位上。为了在0(UL)的2号槽位上放置CPU模板,导航目录菜单,打开CPU-300项,在其下拉菜单中找到CPU314C-2DP(6ES7314-6CF01-0AB0),用鼠标将其拖至0(UL)机架上的2号槽位,由于CPU314C-2DP占用2个槽位,从第4个槽位开始,可以组态配置其他的I/O模板。
应用STEP7对PLC进行硬件组态12/29/202211选择目录菜单中的某一项,例如SIMATIC300,在其用同样的方法,在4号槽位上配置了32点的直流输入模板(6ES7312-1BL00-0AA0),在5号槽位上配置了32点的直流输出模板(6ES7322-1BLL00-0AA0)。下面的图表示了用上面的方法组态完成后的STEP7硬件组态界面,从图上还能看到所选模板的订货号,I/O模板组态定义的绝对地址以及分配给CPU模板的MPI地址。以上完成了硬件中央机架的模板组态。应用STEP7对PLC进行硬件组态12/29/202212用同样的方法,在4号槽位上配置了32点的直流输入模板(6STEP7主窗口右边页面上的硬件组态图标
12/29/202213STEP7主窗口右边页面上的硬件组态图标12/22/202STEP7
硬件组态界面
12/29/202214STEP7
硬件组态界面12/22/202214S7PLC分布式I/O模板的组态
12/29/202215S7PLC分布式I/O模板的组态12/22/20S7PLC分布式I/O模板的组态在常用配置的自动化系统中,中央可编程控制器的I/O模板与传感器、执行机构之间需要大量的连接电缆,这不仅增加了安装的工作量,也增加了安装费用和发生故障的机率。应用分布式I/O,将I/O模板就近放置于传感器和执行机构附近,在可编程控制器和I/O模板及现场器件之间用现场总线Profibus-DP连接,就可克服中央I/O模板的上述缺点。12/29/202216S7PLC分布式I/O模板的组态在常用配置的自S7PLC分布式I/O模板的组态分布式I/O模板的硬件组态与中央机架模板的硬件组态类似,从导航窗口右边页面的目录菜单,选择分布式I/O模板单元,对它们进行硬件组态和属性定义。下图表示了S7PLC的分布式I/O结构举例和通过Profibus-DP网络进行连接。下面用图解说明,怎样建立一个新的项目来组态分布式I/O系统。12/29/202217S7PLC分布式I/O模板的组态分布式I/O模建立一个新的项目来组态
分布式
I/O系统12/29/202218建立一个新的项目来组态
分布式
I/O系统12/22/
建立一个新的项目来组态分布式I/O系统
12/29/202219建立一个新的项目来组态分布式I/O系统12/22/202
组态建立一个站
12/29/202220组态建立一个站12/22/202220组态建立一个站12/29/202221组态建立一个站12/22/202221组态DP主站和分布式I/O上面用图解说明怎样组态一个可以配置分布式I/O的站,到目前为止,所描述的步骤和中央机架的组态步骤是类似的,得到的组态界面也类似。下面一些图的画面进一步说明,怎样将分布式I/O单元,组态到上述已经建立起来的站中,并设置或修改他们的属性参数。12/29/202222组态DP主站和分布式I/O上面用图解说明怎样组态一个可以配组态DP主站和分布式I/O12/29/202223组态DP主站和分布式I/O12/22/202223组态DP主站和分布式I/O12/29/202224组态DP主站和分布式I/O12/22/202224组态分布式I/OET200M12/29/202225组态分布式I/OET200M12/22/202225组态分布式I/OET200M12/29/202226组态分布式I/OET200M12/22/202226组态分布式I/OET200M前面用图解方法,说明怎样在主站上组态一个分布式I/O的从站,这种从站是模块化结构的,从站是由Profibus-DP通信模板IM153-2和若干块标准的I/O模板(例如,图上的DI32xDC24V)组成。12/29/202227组态分布式I/OET200M前面用图解方法,说明怎样在主站在组态过程中改变节点和I/O的地址12/29/202228在组态过程中改变节点和I/O的地址12/22/202228在组态过程中改变节点和I/O的地址12/29/202229在组态过程中改变节点和I/O的地址12/22/202229在组态过程中改变节点和I/O的地址
如果用户有需要改变已经组态完成的I/O模板的地址,上面的图解说明了这一改变的过程和步骤。12/29/202230在组态过程中改变节点和I/O的地址如果用户有需要改变已经组应用符号地址编程在对PLC进行硬件组态时,事先定义其输入和输出的绝对地址。因为,这些地址是直接指定,亦即绝对地址。也可以选择用任意符号名来替代绝对地址。
为了应用符号地址进行编程,需要建立一个符号表,对在以后的程序中将要用到的所有绝对地址,在符号表中给他们每一个分配一个符号名,同时定义它们的数据类型。例如,对于输入I1.2,其符号名为PE_Failure,表示汽油发动机有故障。这一符号名,适用于整个程序,因此,称为全局变量。使用符号地址进行编程,使得所编的S7程序,可读性强。12/29/202231应用符号地址编程在对PLC进行硬件组态时,事先定义其输入和PLC及其输入/输出的绝对地址
12/29/202232PLC及其输入/输出的绝对地址12/22/202232
建立编程用的符号地址表12/29/202233建立编程用的符号地址表12/22/202233建立编程用的符号地址表12/29/202234建立编程用的符号地址表12/22/202234在STEP7程序中建立符号地址表举例
12/29/202235在STEP7程序中建立符号地址表举例12/22/202在STEP7程序中建立符号地址表举例
在完成对PLC进行硬件组态之后,开始编写用户程序之前,需要做的一件工作是建立编程用的符号地址表。前面用图解的方式,说明建立符号地址表的步骤,上图是为项目GettingStarted所编写的符号地址表。一般而言,每一个S7程序只建立一个符号地址表,这与在编程中使用哪一种编程语言进行编程无关系。所有可以打印的字母(例如特殊字母、空格),在符号表中都允许使用。在符号表中会自动加入的数据类型,取决于由CPU所处理的信号类型。下表给出在STEP7中使用的各种数据类型。12/29/202236在STEP7程序中建立符号地址表举例在完成对PLC进行在S7程序中使用的数据类型12/29/202237在S7程序中使用的数据类型12/22/202237在组织方块OB1中建立程序
根据所选择使用的编程语言,右面分别介绍用梯形图(LAD)、语句表(STL)和功能块图(FBD)来编写OB1程序。12/29/202238在组织方块OB1中建立根据所选择使用的编程语言,右面分别介绍在组织方块OB1中建立程序
在STEP7中,OB1是由CPU执行的主循环程序,CPU一行一行地读并且执行程序命令,当CPU返回到第一程序行时,它就精确地完成了一个循环周期。此过程所需要的时间就是扫描周期时间。在用STEP7建立S7程序时,可以选择3种标准编程语言中的一种,即梯形图逻辑语言LAD、语句表STL或者功能块图FBD。12/29/202239在组织方块OB1中建立程序在STEP7中,OB1是由CP在组织方块OB1中建立程序
梯形图逻辑LAD适合于熟悉继电器逻辑的电气工程师,语句表STL适合于熟悉计算机编程语言的工程师,功能块图FBD对习惯于使用逻辑图设计的工程师更为合适。前面的图是分别使用这3种编程语言的示例。为了打开OB1方块,在工具条上单击打开图标,在出现的对话框中选择项目GettingStarted,单击OK确认。为了选择用某一种编程语言来对OB1进行编程,单击打开对话框中的Browse按钮,在出现的路径菜单(SIEMENS>STEP7>EXAMPLES)中,选择打开以下的项目样板:12/29/202240在组织方块OB1中建立程序梯形图逻辑LAD适合于熟悉继电器在组织方块OB1中建立程序
Zen01_01_STEP7_STL_1-9,Zen01_03_STEP7_FBD_1-9或者Zen01_05_STEP7_LAD_1-9在图3.16的中间部分,显示了这3个样板项目。对选中的样板,例如Zen01_05_STEP7_LAD_1-9,采用导航的方法,一直到出现符号表Symbols,用“拖拉”的方法,将符号表复制到项目GettingStarted的S7程序文件夹中,然后关闭项目Zen01_05_STEP7_LAD_1-9的窗口。用“拖拉”方法是指,用鼠标选中目标并按住鼠标左键,拖动目标到所选择的位置,释放鼠标左键,完成复制。12/29/202241在组织方块OB1中建立程序Zen01_01_STEP7_S
选择打开以下的项目样板:12/29/202242选择打开以下的项目样板:12/22/202242
复制符号地址表和打开OB1程序组织方块12/29/202243复制符号地址表和打开OB1程序组织方块12/22/S7程序的编程窗口(以梯形图逻辑的编程为例)在GettingStarted项目的右边窗口,双击OB1,从而打开了用LDA(或STL/FBD)来编写OB1程序的编程窗口。图3.17表示这一窗口的各个部分。
12/29/202244S7程序的编程窗口在GettingStarted项目的用梯形图逻辑编写一个串联电路程序示例12/29/202245用梯形图逻辑编写一个串联电路程序示例12/22/20224用梯形图逻辑编写一个串联电路程序示例12/29/202246用梯形图逻辑编写一个串联电路程序示例12/22/202246用梯形图逻辑编写一个串联电路程序示例12/29/202247用梯形图逻辑编写一个串联电路程序示例12/22/202247用梯形图逻辑编写一个并联电路程序示例
12/29/202248用梯形图逻辑编写一个并联电路程序示例12/22/20224用梯形图逻辑编写一个并联电路程序示例
12/29/202249用梯形图逻辑编写一个并联电路程序示例12/22/20224
用梯形图逻辑编写SR单元(存储置位、复位)程序示例
前面用图解的方法示例说明,怎样用梯形图逻辑语言来编写一个串联电路和并联电路的程序。右图进一步说明怎样编写一个存储置位、复位电路。
12/29/202250用梯形图逻辑编写SR单元前面用图解的方法示例说明,怎样用梯
用梯形图逻辑编写SR单元(存储置位、复位)程序示例12/29/202251用梯形图逻辑编写SR单元12/22/202251梯形图逻辑编程中的绝对地址和符号地址前面分别表示用梯形图逻辑编程语言LAD编写的串联电路、并联电路和SR触发器的程序网络段。下面将用语句表语言STL和功能块图语言FBD来编写同样的电路程序。12/29/202252梯形图逻辑编程中的绝对地址和符号地址前面分别表示用梯形图逻用语句表语言完成“与”(AND)指令语句程序示例12/29/202253用语句表语言完成“与”(AND)指令语句12/22/2022用语句表语言完成“与”(AND)指令语句程序示例12/29/202254用语句表语言完成“与”(AND)指令语句12/22/2022用语句表语言编写“或”指令和“存储置位/复位”指令程序示例12/29/202255用语句表语言编写“或”指令和“存储置位/复位”指令程序示例1用语句表语言编写“或”指令和“存储置位/复位”指令程序示例12/29/202256用语句表语言编写“或”指令和“存储置位/复位”指令程序示例1用语句表语言编写“或”指令和“存储置位/复位”指令程序示例在用语句表语言编程的过程中,如果出现红色符号,这表明在已经建立的符号表中没有该符号,或者存在语法错误。在编程过程中,也可以直接从符号表中插入符号名。单击??.?符号,然后单击菜单命令Insert→Symbol,通过下拉表的滚动条,找到相应的符号名,选择这一符号名,即可自动地替代??.?地址。在前面的图中,网络段1的说明是:当两个输入点“Key_1”和“Key_2”都激活时(即,都是信号状态“1”=24V),则“Green_Light”激活。亦即,为了使“绿灯”接通,必须两个输入同时为“1“状态。12/29/202257用语句表语言编写“或”指令和“存储置位/复位”指令程序示例用语句表语言编写“或”指令和“存储置位/复位”指令程序示例网络段2的说明是:当两个输入点“Key_3”和“Key_4”中有一个激活时(即,有一个是信号状态“1”=24V),则输出“Red_Light”激活。亦即,为了使“红灯”接通,只须两个输入中有一个为“1“状态。网络段3的说明是:当输入“Automatic_On”激活时,由于S指令的作用,输出“Automatic_Mode”被激活,且一直保持激活状态,即使输入“Automatic_On”又变成非激活状态,对输出也没有影响。12/29/202258用语句表语言编写“或”指令和“存储置位/复位”指令程序示例网用语句表语言编写“或”指令和“存储置位/复位”指令程序示例当输入“Manual_On”激活时,R指令起作用,输出“Automatic_Mode”复位到非激活状态,且一直保持非激活状态,即使输入“Manual_On”又变成非激活状态,对输出也没有影响。输出的状态是由S(Set)和R(Reset)操作来决定的。如果两个输入同时被激活,则首先是置位功能,随后是复位功能被处理,由于主程序(OB1)是顺序执行,因此一个OB1周期结束时的结果使输出处于复位状态,在这种情况下,称复位优先。12/29/202259用语句表语言编写“或”指令和“存储置位/复位”指令程序示例当在用语句表编程中的绝对地址和符号地址
12/29/202260在用语句表编程中的绝对地址和符号地址12/22/20226PLC的用功能块图编写“与”(AND)逻辑功能程序示例工作原理12/29/202261PLC的用功能块图编写“与”(AND)逻辑功能程序示例工作原
用功能块图编写“与”(AND)逻辑功能程序示例
12/29/202262用功能块图编写“与”(AND)逻辑功能程序示例12/22用功能块图编写“或”OR)逻辑功能程序示例12/29/202263用功能块图编写“或”OR)逻辑功能12/22/202263用功能块图编写SR功能(存储置位/位)程序示例12/29/202264用功能块图编写SR功能(存储置位/位)程序示例12/22/功能块图编程中的绝对地址和符号地址12/29/202265功能块图编程中的绝对地址和符号地址12/22/20226用功能块和数据块建立一个程序在程序结构中功能块(FB)在组织块的下面,它包含一部分程序,能够被OB1调用很多次,所有功能块的形式参数和静态数据保存在一个分开的数据块(DB)中,这一数据块专门分配给功能块,称为背景数据块。12/29/202266用功能块和数据块建立一个程序在程序结构中功能块(FB)在组建立一个开放的功能块(FB)
12/29/202267建立一个开放的功能块(FB)12/22/202267建立一个开放的功能块(FB)
12/29/202268建立一个开放的功能块(FB)12/22/202268建立一个开放的功能块(FB)上图用图解说明怎样在LAD/STL/FBD窗口中,建立一个功能块程序(FB1,符号名为Engine,参看前面的符号地址表),在这里选择与编程OB1相同的编程语言LAD。单击Help→Contents之后,在ProgrammingBlocks和CreatingBlockandLibraries(“编程方块”和“建立方块和库”)项下,能找到更多的信息。12/29/202269建立一个开放的功能块(FB)上图用图解说明怎样在LAD/S在功能块编程中建立变量登记表
在编写功能块之前,首先要建立变量登记表,下图用图解说明变量登记表的建立和相关的属性。12/29/202270在功能块编程中建立变量登记表在编写功能块之前,首先要建在功能块编程中建立变量登记表
12/29/202271在功能块编程中建立变量登记表12/22/202271编程用于发动机(engine)启动/停止的功能块FB1
12/29/202272编程用于发动机(engine)启动/停止的功能块FB1编程用于发动机(engine)启动/停止的功能块FB112/29/202273编程用于发动机(engine)启动/停止的功能块FB112编程用于发动机(engine)启动/停止的功能块FB1上图用图解介绍怎样来编写一个功能块,例如要用两个不同的背景数据块,通过一个功能块,控制和监视“汽油引擎”和“柴油引擎”。所有的“引擎指标”信号,将作为参数块从组织方块传送到功能块,为此必须将输入和输出参数列在“变量登记表”(Variabledeclarationtable)内登记“输入和输出”。在前面的章节中已经介绍了如何编写一个串联电路、并联电路和一个存储功能的程序,这些在编程功能块时都很有用。12/29/202274编程用于发动机(engine)启动/停止的功能块FB1上图在FB1功能块中插入一段速度监视网络段
12/29/202275在FB1功能块中插入一段速度监视12/22/202275在FB1功能块中插入一段速度监视网络段
下面对功能块FB1作一些说明。1.“发动机”(engine)何时将“启动”或“停止”?当变量#Switch_On具有1状态,同时变量Automatic_Mode具有0状态,“发动机”将启动。如果“发动机”采用自动方式,Automatic_Mode=1,则这一功能是不允许的。当变量#Switch_Off具有1状态或者当变量#Fault具有0状态,“发动机”将停止(故障#Fault是0激活信号,在正常时#Fault的状态为1,在发生故障时#Fault的状态为0)。12/29/202276在FB1功能块中插入一段速度下面对功能块FB1作一些说明。1在FB1功能块中插入一段速度监视网络段2.怎样用比较器来监视“发动机”的速度?比较器将变量#Actual_Speed(实际速度)和变量#Setpoint_Speed(设定点速度)进行比较,而且将结果分配给变量#Setpoint_Speed_Reached(达到设定点速度),在大于、等于时,#Setpoint_Speed_Reached的状态变为1。12/29/202277在FB1功能块中插入一段速度2.怎样用比较器来监视“发动机”在FB1功能块中插入一段速度监视网络段单击Help→Contents之后,在ProgrammingBlocks和CreatingLogicBlock(“编程方块”和“建立逻辑方块”)和EditingtheVariableDeclaration和EditingLADInstruction(“编辑变量登记表”和“编辑梯形图指令”)项下,能找到更多的信息。上面已经编写了功能块FB1(engine),并在变量登记表中特别定义了与engine相关的参数。为了以后在OB1组织方块中能够调用功能块,必须生成相应的数据块,称为背景数据块,分配给功能块。12/29/202278在FB1功能块中插入一段速度单击Help→Content生成功能块(FB)的背景数据块及使用实际参数替代形式参数改变实际值下面通过控制和监视汽油发动机或柴油发动机来举例说明,由于这两种发动机的设定速度不同,因此分别把它们存储在不同的背景数据块中,其具体的值(#Setpoint_Speed)是不同的,而控制和监视这两种发动机的功能块相同,类似地,不同的其他参数,分别存放在不同的背景数据块中。由于对功能块只需集中编写一次,这样就减少了所涉及的编程工作量。下面说明怎样在一个项目下建立属于功能块(FB)的背景数据块(InstanceDB)。12/29/202279生成功能块(FB)的背景数据块及使用实际参数替代形式参数改变生成功能块(FB)的背景数据块及使用实际参数替代形式参数改变实际值打开SIMATIC管理器中的GettingStarted项目,用导航的方式找到Block,用鼠标右键单击右半窗口,在弹出菜单上单击DataBlock,插入一个数据块。在数据块属性对话框中,输入数据块名称DB1,同时在旁边标签的下拉菜单中选择InstanceDB,赋予功能块名字FB1,单击OK按钮,确认在属性窗口中显示的所有设置。这样就完成了在Gettingstart项目,加入DB1数据块的工作。12/29/202280生成功能块(FB)的背景数据块及使用实际参数替代形式参数改变生成功能块(FB)的背景数据块及使用实际参数替代形式参数改变实际值12/29/202281生成功能块(FB)的背景数据块及使用实际参数替代形式参数改变生成功能块(FB)的背景数据块及使用实际参数替代形式参数改变实际值双击DB1,打开这一方块,出现左面所示的对话窗口,单击Yes按钮确认,分配参数到背景数据块。对于汽油发动机,在背景数据块DB1设定速度项的实际值列中,写入1500。即定义了这一发动机的最大速度。单击存盘图标,保存DB1并关闭编程窗口12/29/202282生成功能块(FB)的背景数据块及使用实际参数替代形式参数改变生成功能块(FB)的背景数据块及使用实际参数替代形式参数改变实际值用建立DB1相同的方法,建立另一个用于FB1的背景数据块DB2,适用于柴油发动机,在背景数据块DB2设定速度项的实际值列中,输入1200,保存DB2,并关闭编程窗口。下一步就是在OB1中编写一个调用功能块FB1的程序。12/29/202283生成功能块(FB)的背景数据块及使用实际参数替代形式参数改变演讲完毕,谢谢观看!演讲完毕,谢谢观看!SIEMENS公司S7PLC标准工具软件
STEP7介绍12/29/20228512/22/20221S7PLC的STEP7编程软件介绍
这一讲通过以西门子公司的STEP7编程语言为例,来介绍实际PLC应用的编程语言,在第4讲中将介绍PLC编程语言的国际标准,即IEC61131-3标准。STEP7编程软件是用来对西门子公司的系列PLC产品,包括S7300系列、S7400系列、M7系列以及基于PC的PLC等产品,进行编程、调试、监视的软件。为了组态PLC硬件配置或开始编写S7用户程序,首先必须在PC计算机中安装STEP7软件(如果使用的是编程器,则STEP7软件已经预装在编程器内)。在STEP7CD光盘的Readme.wri
文件中,有关于安装STEP7对PC计算机的软件和硬件配置要求。
将STEP7的
CD
光盘插入PC机的光驱中,安装程序能自动执行,按照屏幕上的提示操作,可一步一步完成STEP7软件的安装。完成STEP7的安装后,要重新启动计算机,在PC的Windows桌面上会出现一个
SIMATICManager的小图标
。
12/29/202286S7PLC的STEP7编程软件介绍这一讲通过以西门子公应用STEP7软件,能在一个“项目”(project)内建立起S7用户程序。可编程序控制器是由电源模板、CPU以及输入/输出模板(I/O模板)组成。可编程逻辑控制器(PLC)通过S7程序,监视和控制被控对象。在S7程序内通过地址,对I/O模板进行寻址。图3.1所示为PLC控制被控对象的过程,图3.2所示为STEP-7软件的应用过程。S7PLC和STEP7编程软件应用示意图12/29/202287应用STEP7软件,能在一个“项目”(projectS7PLC和STEP7编程软件应用示意图12/29/202288S7PLC和STEP7编程软件应用示意图12/22/20应用STEP7的基本步骤12/29/202289应用STEP7的基本步骤12/22/20225有两个选择项,如果要解决的自动化任务比较复杂,编写的程序量比较大,涉及的输入、输出点数多,建议采用选择项1,即先对PLC的硬件进行组态,然后编写用户程序,这样做的优点是通过STEP7对所有输入、输出点的绝对地址先进行了定义和分配,在以后的程序编写过程中就不会混淆,另外,在组态过程中还可以改变模板的参数和属性,例如,对模拟量输入模板,在组态过程中,可以确定它是电压输入信号(0-10V,+/-10V)还是电流输入信号(4-20mA),对一个多CPU项目,在组态过程中,可以确定各个CPU的MPI地址。对于比较简单的项目,涉及的输入、输出点数不多,也可以采用选择项2的步骤。应用STEP7软件于PLC实现自动化任务的过程12/29/202290有两个选择项,如果要解决的自动化任务比较复杂,编写的程序启动STEP7时将激活SIMATICmanager(SIMATIC管理器)的中央窗口。一般默认设置是启动STEP7Wizard(STEP7向导),在“向导”帮助下建立一个STEP7项目,STEP7项目的结构按一定的次序安排数据和程序并被保存。项目内的数据是以对象的形式按分层结构保存。SIMATIC站和CPU包含硬件的组态和参数数据。S7程序是由所有的方块组成,这些方块包含控制对象的程序。下面介绍SIMATIC管理器的项目结构。启动SIMATIC管理器(SIMATICManager)12/29/202291启动STEP7时将激活SIMATICmanagerSTEP7编程语言的主窗口界面打开“项目”窗口,左边页面显示项目结构,右边页面显示左边页面所选文件夹中的对象和其他文件夹图所示。
12/29/202292STEP7打开“项目”窗口,左边页面显示项目结构,右边SIMATIC管理器窗口的菜单项:打开SIMATIC管理器的窗口能见到以下菜单项:File打开、组织和打印“项目”(project)。Edit复制、粘贴、删除、全选、对象属性等。Insert插入程序单元。PLC下载程序和监视硬件。View选择“在线/离线”和编程语言。Options用户定义。Window设置窗口显示。Help帮助信息。12/29/202293SIMATIC管理器窗口的菜单项:打开SIMATIC管理建立一个项目和SIMATIC站后,就可以对PLC进行硬件组态了。下面介绍S7PLC中央机架模板的组态过程。打开“项目”中的“站”,在窗口的右边页面出现“硬件”图标和所建项目中选择的CPU图标,如下面的图所示。双击“硬件”图标,“硬件”组态窗口自动打开,在组态窗口的右边面会显示硬件组态单元库目录菜单。应用STEP7对PLC进行硬件组态12/29/202294建立一个项目和SIMATIC站后,就可以对PLC进行硬件选择目录菜单中的某一项,例如SIMATIC300,在其下拉菜单中再选择RACK-300,双击RACK-300下面的图标,这时在窗口左边页面上就会出现0(UL)机架带槽位的rack表。为了在0(UL)的1号槽位上放置PS307电源模板,导航目录菜单,找到PS3075A(6ES7307-1EA00-0AA0),用鼠标拖至0(UL)机架的1号槽位上。为了在0(UL)的2号槽位上放置CPU模板,导航目录菜单,打开CPU-300项,在其下拉菜单中找到CPU314C-2DP(6ES7314-6CF01-0AB0),用鼠标将其拖至0(UL)机架上的2号槽位,由于CPU314C-2DP占用2个槽位,从第4个槽位开始,可以组态配置其他的I/O模板。
应用STEP7对PLC进行硬件组态12/29/202295选择目录菜单中的某一项,例如SIMATIC300,在其用同样的方法,在4号槽位上配置了32点的直流输入模板(6ES7312-1BL00-0AA0),在5号槽位上配置了32点的直流输出模板(6ES7322-1BLL00-0AA0)。下面的图表示了用上面的方法组态完成后的STEP7硬件组态界面,从图上还能看到所选模板的订货号,I/O模板组态定义的绝对地址以及分配给CPU模板的MPI地址。以上完成了硬件中央机架的模板组态。应用STEP7对PLC进行硬件组态12/29/202296用同样的方法,在4号槽位上配置了32点的直流输入模板(6STEP7主窗口右边页面上的硬件组态图标
12/29/202297STEP7主窗口右边页面上的硬件组态图标12/22/202STEP7
硬件组态界面
12/29/202298STEP7
硬件组态界面12/22/202214S7PLC分布式I/O模板的组态
12/29/202299S7PLC分布式I/O模板的组态12/22/20S7PLC分布式I/O模板的组态在常用配置的自动化系统中,中央可编程控制器的I/O模板与传感器、执行机构之间需要大量的连接电缆,这不仅增加了安装的工作量,也增加了安装费用和发生故障的机率。应用分布式I/O,将I/O模板就近放置于传感器和执行机构附近,在可编程控制器和I/O模板及现场器件之间用现场总线Profibus-DP连接,就可克服中央I/O模板的上述缺点。12/29/2022100S7PLC分布式I/O模板的组态在常用配置的自S7PLC分布式I/O模板的组态分布式I/O模板的硬件组态与中央机架模板的硬件组态类似,从导航窗口右边页面的目录菜单,选择分布式I/O模板单元,对它们进行硬件组态和属性定义。下图表示了S7PLC的分布式I/O结构举例和通过Profibus-DP网络进行连接。下面用图解说明,怎样建立一个新的项目来组态分布式I/O系统。12/29/2022101S7PLC分布式I/O模板的组态分布式I/O模建立一个新的项目来组态
分布式
I/O系统12/29/2022102建立一个新的项目来组态
分布式
I/O系统12/22/
建立一个新的项目来组态分布式I/O系统
12/29/2022103建立一个新的项目来组态分布式I/O系统12/22/202
组态建立一个站
12/29/2022104组态建立一个站12/22/202220组态建立一个站12/29/2022105组态建立一个站12/22/202221组态DP主站和分布式I/O上面用图解说明怎样组态一个可以配置分布式I/O的站,到目前为止,所描述的步骤和中央机架的组态步骤是类似的,得到的组态界面也类似。下面一些图的画面进一步说明,怎样将分布式I/O单元,组态到上述已经建立起来的站中,并设置或修改他们的属性参数。12/29/2022106组态DP主站和分布式I/O上面用图解说明怎样组态一个可以配组态DP主站和分布式I/O12/29/2022107组态DP主站和分布式I/O12/22/202223组态DP主站和分布式I/O12/29/2022108组态DP主站和分布式I/O12/22/202224组态分布式I/OET200M12/29/2022109组态分布式I/OET200M12/22/202225组态分布式I/OET200M12/29/2022110组态分布式I/OET200M12/22/202226组态分布式I/OET200M前面用图解方法,说明怎样在主站上组态一个分布式I/O的从站,这种从站是模块化结构的,从站是由Profibus-DP通信模板IM153-2和若干块标准的I/O模板(例如,图上的DI32xDC24V)组成。12/29/2022111组态分布式I/OET200M前面用图解方法,说明怎样在主站在组态过程中改变节点和I/O的地址12/29/2022112在组态过程中改变节点和I/O的地址12/22/202228在组态过程中改变节点和I/O的地址12/29/2022113在组态过程中改变节点和I/O的地址12/22/202229在组态过程中改变节点和I/O的地址
如果用户有需要改变已经组态完成的I/O模板的地址,上面的图解说明了这一改变的过程和步骤。12/29/2022114在组态过程中改变节点和I/O的地址如果用户有需要改变已经组应用符号地址编程在对PLC进行硬件组态时,事先定义其输入和输出的绝对地址。因为,这些地址是直接指定,亦即绝对地址。也可以选择用任意符号名来替代绝对地址。
为了应用符号地址进行编程,需要建立一个符号表,对在以后的程序中将要用到的所有绝对地址,在符号表中给他们每一个分配一个符号名,同时定义它们的数据类型。例如,对于输入I1.2,其符号名为PE_Failure,表示汽油发动机有故障。这一符号名,适用于整个程序,因此,称为全局变量。使用符号地址进行编程,使得所编的S7程序,可读性强。12/29/2022115应用符号地址编程在对PLC进行硬件组态时,事先定义其输入和PLC及其输入/输出的绝对地址
12/29/2022116PLC及其输入/输出的绝对地址12/22/202232
建立编程用的符号地址表12/29/2022117建立编程用的符号地址表12/22/202233建立编程用的符号地址表12/29/2022118建立编程用的符号地址表12/22/202234在STEP7程序中建立符号地址表举例
12/29/2022119在STEP7程序中建立符号地址表举例12/22/202在STEP7程序中建立符号地址表举例
在完成对PLC进行硬件组态之后,开始编写用户程序之前,需要做的一件工作是建立编程用的符号地址表。前面用图解的方式,说明建立符号地址表的步骤,上图是为项目GettingStarted所编写的符号地址表。一般而言,每一个S7程序只建立一个符号地址表,这与在编程中使用哪一种编程语言进行编程无关系。所有可以打印的字母(例如特殊字母、空格),在符号表中都允许使用。在符号表中会自动加入的数据类型,取决于由CPU所处理的信号类型。下表给出在STEP7中使用的各种数据类型。12/29/2022120在STEP7程序中建立符号地址表举例在完成对PLC进行在S7程序中使用的数据类型12/29/2022121在S7程序中使用的数据类型12/22/202237在组织方块OB1中建立程序
根据所选择使用的编程语言,右面分别介绍用梯形图(LAD)、语句表(STL)和功能块图(FBD)来编写OB1程序。12/29/2022122在组织方块OB1中建立根据所选择使用的编程语言,右面分别介绍在组织方块OB1中建立程序
在STEP7中,OB1是由CPU执行的主循环程序,CPU一行一行地读并且执行程序命令,当CPU返回到第一程序行时,它就精确地完成了一个循环周期。此过程所需要的时间就是扫描周期时间。在用STEP7建立S7程序时,可以选择3种标准编程语言中的一种,即梯形图逻辑语言LAD、语句表STL或者功能块图FBD。12/29/2022123在组织方块OB1中建立程序在STEP7中,OB1是由CP在组织方块OB1中建立程序
梯形图逻辑LAD适合于熟悉继电器逻辑的电气工程师,语句表STL适合于熟悉计算机编程语言的工程师,功能块图FBD对习惯于使用逻辑图设计的工程师更为合适。前面的图是分别使用这3种编程语言的示例。为了打开OB1方块,在工具条上单击打开图标,在出现的对话框中选择项目GettingStarted,单击OK确认。为了选择用某一种编程语言来对OB1进行编程,单击打开对话框中的Browse按钮,在出现的路径菜单(SIEMENS>STEP7>EXAMPLES)中,选择打开以下的项目样板:12/29/2022124在组织方块OB1中建立程序梯形图逻辑LAD适合于熟悉继电器在组织方块OB1中建立程序
Zen01_01_STEP7_STL_1-9,Zen01_03_STEP7_FBD_1-9或者Zen01_05_STEP7_LAD_1-9在图3.16的中间部分,显示了这3个样板项目。对选中的样板,例如Zen01_05_STEP7_LAD_1-9,采用导航的方法,一直到出现符号表Symbols,用“拖拉”的方法,将符号表复制到项目GettingStarted的S7程序文件夹中,然后关闭项目Zen01_05_STEP7_LAD_1-9的窗口。用“拖拉”方法是指,用鼠标选中目标并按住鼠标左键,拖动目标到所选择的位置,释放鼠标左键,完成复制。12/29/2022125在组织方块OB1中建立程序Zen01_01_STEP7_S
选择打开以下的项目样板:12/29/2022126选择打开以下的项目样板:12/22/202242
复制符号地址表和打开OB1程序组织方块12/29/2022127复制符号地址表和打开OB1程序组织方块12/22/S7程序的编程窗口(以梯形图逻辑的编程为例)在GettingStarted项目的右边窗口,双击OB1,从而打开了用LDA(或STL/FBD)来编写OB1程序的编程窗口。图3.17表示这一窗口的各个部分。
12/29/2022128S7程序的编程窗口在GettingStarted项目的用梯形图逻辑编写一个串联电路程序示例12/29/2022129用梯形图逻辑编写一个串联电路程序示例12/22/20224用梯形图逻辑编写一个串联电路程序示例12/29/2022130用梯形图逻辑编写一个串联电路程序示例12/22/202246用梯形图逻辑编写一个串联电路程序示例12/29/2022131用梯形图逻辑编写一个串联电路程序示例12/22/202247用梯形图逻辑编写一个并联电路程序示例
12/29/2022132用梯形图逻辑编写一个并联电路程序示例12/22/20224用梯形图逻辑编写一个并联电路程序示例
12/29/2022133用梯形图逻辑编写一个并联电路程序示例12/22/20224
用梯形图逻辑编写SR单元(存储置位、复位)程序示例
前面用图解的方法示例说明,怎样用梯形图逻辑语言来编写一个串联电路和并联电路的程序。右图进一步说明怎样编写一个存储置位、复位电路。
12/29/2022134用梯形图逻辑编写SR单元前面用图解的方法示例说明,怎样用梯
用梯形图逻辑编写SR单元(存储置位、复位)程序示例12/29/2022135用梯形图逻辑编写SR单元12/22/202251梯形图逻辑编程中的绝对地址和符号地址前面分别表示用梯形图逻辑编程语言LAD编写的串联电路、并联电路和SR触发器的程序网络段。下面将用语句表语言STL和功能块图语言FBD来编写同样的电路程序。12/29/2022136梯形图逻辑编程中的绝对地址和符号地址前面分别表示用梯形图逻用语句表语言完成“与”(AND)指令语句程序示例12/29/2022137用语句表语言完成“与”(AND)指令语句12/22/2022用语句表语言完成“与”(AND)指令语句程序示例12/29/2022138用语句表语言完成“与”(AND)指令语句12/22/2022用语句表语言编写“或”指令和“存储置位/复位”指令程序示例12/29/2022139用语句表语言编写“或”指令和“存储置位/复位”指令程序示例1用语句表语言编写“或”指令和“存储置位/复位”指令程序示例12/29/2022140用语句表语言编写“或”指令和“存储置位/复位”指令程序示例1用语句表语言编写“或”指令和“存储置位/复位”指令程序示例在用语句表语言编程的过程中,如果出现红色符号,这表明在已经建立的符号表中没有该符号,或者存在语法错误。在编程过程中,也可以直接从符号表中插入符号名。单击??.?符号,然后单击菜单命令Insert→Symbol,通过下拉表的滚动条,找到相应的符号名,选择这一符号名,即可自动地替代??.?地址。在前面的图中,网络段1的说明是:当两个输入点“Key_1”和“Key_2”都激活时(即,都是信号状态“1”=24V),则“Green_Light”激活。亦即,为了使“绿灯”接通,必须两个输入同时为“1“状态。12/29/2022141用语句表语言编写“或”指令和“存储置位/复位”指令程序示例用语句表语言编写“或”指令和“存储置位/复位”指令程序示例网络段2的说明是:当两个输入点“Key_3”和“Key_4”中有一个激活时(即,有一个是信号状态“1”=24V),则输出“Red_Light”激活。亦即,为了使“红灯”接通,只须两个输入中有一个为“1“状态。网络段3的说明是:当输入“Automatic_On”激活时,由于S指令的作用,输出“Automatic_Mode”被激活,且一直保持激活状态,即使输入“Automatic_On”又变成非激活状态,对输出也没有影响。12/29/2022142用语句表语言编写“或”指令和“存储置位/复位”指令程序示例网用语句表语言编写“或”指令和“存储置位/复位”指令程序示例当输入“Manual_On”激活时,R指令起作用,输出“Automatic_Mode”复位到非激活状态,且一直保持非激活状态,即使输入“Manual_On”又变成非激活状态,对输出也没有影响。输出的状态是由S(Set)和R(Reset)操作来决定的。如果两个输入同时被激活,则首先是置位功能,随后是复位功能被处理,由于主程序(OB1)是顺序执行,因此一个OB1周期结束时的结果使输出处于复位状态,在这种情况下,称复位优先。12/29/2022143用语句表语言编写“或”指令和“存储置位/复位”指令程序示例当在用语句表编程中的绝对地址和符号地址
12/29/2022144在用语句表编程中的绝对地址和符号地址12/22/20226PLC的用功能块图编写“与”(AND)逻辑功能程序示例工作原理12/29/2022145PLC的用功能块图编写“与”(AND)逻辑功能程序示例工作原
用功能块图编写“与”(AND)逻辑功能程序示例
12/29/2022146用功能块图编写“与”(AND)逻辑功能程序示例12/22用功能块图编写“或”OR)逻辑功能程序示例12/29/2022147用功能块图编写“或”OR)逻辑功能12/22/202263用功能块图编写SR功能(存储置位/位)程序示例12/29/2022148用功能块图编写SR功能(存储置位/位)程序示例12/22/功能块图编程中的绝对地址和符号地址12/29/2022149功能块图编程中的绝对地址和符号地址12/22/20226用功能块和数据块建立一个程序在程序结构中功能块(FB)在组织块的下面,它包含一部分程序,能够被OB1调用很多次,所有功能块的形式参数和静态数据保存在一个分开的数据块(DB)中,这一数据块专门分配给功能块,称为背景数据块。12/29/2022150用功能块和数据块建立一个程序在程序结构中功能块(FB)在组建立一个开放的功能块(FB)
12/29/2022151建立一个开放的功能块(FB)12/22/202267建立一个开放的功能块(FB)
12/29/2022152建立一个开放的功能块(FB)12/22/202268建立一个开放的功能块(FB)上图用图解说明怎样在LAD/STL/FBD窗口中,建立一个功能块程序(FB1,符号名为Engine,参看前面的符号地址表),在这里选择与编程OB1相同的编程语言LAD。单击Help→Contents之后,在ProgrammingBlocks和CreatingBlockandLibraries(“编程方块”和“建立方块和库”)项下,能找到更多的信息。12/29/2022153建立一个开放的功能块(FB)上图用图解说明怎样在LAD/S在功能块编程中建立变量登记表
在编写功能块之前,首先要建立变量登记表,下图用图解说明变量登记表的建立和相关的属性。12/29/2022154在功能块编程中建立变量登记表在编写功能块之前,首先要建在功能块编程中建立变量登记表
12/29/2022155在功能块编程中建立变量登
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 琥珀酰亚胺类中毒护理查房
- 鹦鹉热诊疗中国专家共识总结2026
- 2026七年级道德与法治下册 青春慈善事业关怀
- 2026 四年级上册《蟋蟀的住宅》课件
- 记账实操-物业成本构成明细表
- 2026年跳绳行业分析报告及未来发展趋势报告
- 2026年氢氧化镍钴(MHP)行业分析报告及未来发展趋势报告
- 2026年工程设计行业分析报告及未来发展趋势报告
- 2026年镇纸行业分析报告及未来发展趋势报告
- 2026年光通信系统行业分析报告及未来发展趋势报告
- 对外投资合作国别(地区)指南-马来西亚(2025年版)
- 心血管植入型电子器械植入术护理专家共识总结2026
- 2025年大学生提干选拔考试历年真题试卷及答案
- 2025四川宜宾市科技人才集团有限公司第三批员工招聘10人笔试历年参考题库附带答案详解
- 2025年中国邮政经济金融笔试及答案
- 2025年湖南省政府采购评审专家考试真题库及答案
- 《公路建设法律法规》课件 模块四 公路建设施工法律法规
- 钢结构劳务分包施工方案
- 旅店义工协议书
- 2025年大学大四(轻化工程)功能纺织品试题及答案
- 2026年及未来5年市场数据中国饲料用蛋氨酸行业市场调查研究及投资战略咨询报告
评论
0/150
提交评论