电气控制及PLC应用技术(基于西门子S7-1200)(中篇共上中下3篇)_第1页
电气控制及PLC应用技术(基于西门子S7-1200)(中篇共上中下3篇)_第2页
电气控制及PLC应用技术(基于西门子S7-1200)(中篇共上中下3篇)_第3页
电气控制及PLC应用技术(基于西门子S7-1200)(中篇共上中下3篇)_第4页
电气控制及PLC应用技术(基于西门子S7-1200)(中篇共上中下3篇)_第5页
已阅读5页,还剩302页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

知识卡7西门子博途开发软件

知识卡8S7-1200的编程基础项目四可编程控制器基础知识本项目主要介绍西门子博途软件的使用、S7-1200的编程语言、编程所需的数据类型、存储器地址、基本指令和扩展指令等基础知识,为编写控制程序打好基础。【知识目标】能区分西门子开发软件的博途视图和项目视图;掌握S7-1200的梯形图设计语言基础知识;掌握基本的数据类型及常用的存储器地址;掌握常用的位逻辑、定时器、计数器、基本的计算指令;初步理解跳转、中断、组织块、函数块、函数、数据块等概念。【能力目标】能使用博途软件编写、调试简单的控制程序;能熟练使用位逻辑、定时器、计数器等基本指令编程,能在组织块中编写常用程序,并会编写及调用函数块、函数,设置数据块。【素质目标】会使用西门子S7-1200的技术手册查阅指令使用方法;初步理解并建立模块化程序设计的思维;耐心细致。知识卡9S7-1200指令及应用知识卡7西门子博途开发软件一、开发环境

TIAPortal,简称“博途”,是西门子发布的一款全新的全集成自动化软件。它是业内首个采用统一的工程组态和软件项目环境的自动化软件,几乎适用于所有自动化任务。借助该全新的工程技术软件平台,用户能够快速、直观地开发和调试自动化系统,可对西门子全集成自动化中所涉及的所有自动化和驱动产品进行组态、编程和调试。2.软件组成及功能

1.简介专业版的博途软件由五部分组成:用于硬件组态和编写PLC程序的SIMATICStep7;用于仿真调试的SIMATICStep7PLCSIM;用于组态可视化监控系统、支持触摸屏和PC工作站的SIMATICWinCC;用于设置和调试变频器的SINAMICSStartdrive;用于安全性S7系统的Step7Safety。知识卡7西门子博途开发软件一、开发环境

博途对安装环境的要求较高,软件环境必须为WIN7系统32位或64位。硬件环境要求个人计算机(PC)的配置为:微处理器为Intel®Core™i5-3320M3.3GHz或更高版本,8GB内存(不少于4GB);屏幕分辨率1920×1080(建议);20Mbit/s以太网。安装时注意:1)Windows系统安装64位纯净版(不要安装镜像版),安装完成后不要安装杀毒软件及其它办公软件。2)安装完成要进行授权,当许可证管理中出现licensetype为Unlimited时表明安装成功,如图4.1所示。

3.软件安装要求知识卡7西门子博途开发软件一、开发环境

3.软件安装要求图4.1博途软件授权管理知识卡7西门子博途开发软件二、博途v14基本使用

1.博途视图博途v14有两种视图:博途视图(PORTAL视图)和项目视图。博途视图是根据工具功能组织的面向任务的视图,博途视图如图4.2所示;项目视图是由项目中各元素组成的面向项目的视图。博途视图提供了面向任务的视图,类似于操作向导,选择不同的任务入口可处理:启动、设备与网络、PLC编程、运动与控制技术、可视化及在线与诊断等各种工程任务功能。例如选择打开“启动”,可以进行打开、新建、移除、关闭项目等项目操作。知识卡7西门子博途开发软件二、博途v14基本使用

1.博途视图图4.2博途视图(PORTAL视图)知识卡7西门子博途开发软件二、博途v14基本使用

1.博途视图

在博途视图中,单击“启动—创建新项目”,在右边栏目中输入项目名称、保存路径、作者、注释信息等,单击“创建”,就可以启动一个新项目。

在博途视图左下角单击“项目视图”,打开项目视图,项目视图图4.3所示。项目视图类似于Windows界面,包含标题栏、工具栏、编辑区和状态栏等元素。项目视图的左侧为项目树,可以访问所有的设备和项目数据,也可以在直接执行任务,例如添加新组件、编辑组件、项目数据等;项目视图中间为编辑区,在此编写控制程序;项目视图右侧为任务卡,根据已编辑或选择的对象,查找或替换项目对象;项目视图下方为检查窗口,显示工作中已选择的对象或执行操作的附加信息。可通过单击左下角“Portal视图”切换到Portal视图。

知识卡7西门子博途开发软件二、博途v14基本使用

1.博途视图图4.3项目视图知识卡7西门子博途开发软件二、博途v14基本使用

2.S7-1200与编程计算机的连接S7-1200CPU与计算机通信时,首先需要进行硬件配置,如果是一对一通信,不需要以太网交换机;接着需要为CPU或网络设备分配IP地址。在PROFINET网络中,每个设备必须具有一个MAC地址和Internet协议(IP)地址。设备与组态的大致步骤如下:①添加设备;②设备组态;③组态网络:组态网络之前,不能分配I/O设备的I/O地址;④设置网络参数。1)硬件连接在编程设备和S7-1200CPU之间创建硬件连接时,首先安装S7-1200CPU,将以太网电缆插入PROFINET端口中,再将以太网电缆连接到编程设备上知识卡7西门子博途开发软件二、博途v14基本使用

2.S7-1200与编程计算机的连接图4.4创建新项目2)组态打开软件TIAPortalV14,创建一个新项目,命名为“电动机启停控制”,如图4.4所示。再单击“创建”,建立项目。知识卡7西门子博途开发软件二、博途v14基本使用

2.S7-1200与编程计算机的连接图4.5组态设备对话框在“电动机启停控制”项目对话框中,点击“组态设备”,如图4.5所示。知识卡7西门子博途开发软件二、博途v14基本使用

2.S7-1200与编程计算机的连接图4.5组态设备对话框在组态设备与网络对话框中,单击“添加新设备”,选择“控制器”→“SIMATICS7-1200”→“CPU”→“CPU1214CAC/DC/Rly”(具体的型号可以根据实际产品确定)。选中PLC后,右侧会显示该PLC的图形及订货号、版本及简要的说明信息,如图4.6所示。单击“确定”按钮,即可进入项目视图。知识卡7西门子博途开发软件二、博途v14基本使用

2.S7-1200与编程计算机的连接图4.6添加新设备对话框知识卡7西门子博途开发软件二、博途v14基本使用

2.S7-1200与编程计算机的连接3)为编程设备和网络设备分配IP地址通过编程计算机与运行STEP7Basic的计算机进行以太网通信,可以执行项目的下载、上传、监控和故障诊断等任务。(1)编程计算机IP地址设置用户可以使用桌面上的“网上邻居”分配或检查编程设备的IP地址:右键单击“网上邻居”→“属性”→“本地”→“属性”选项。在“本地连接属性”对话框中,在“此连接使用下列项目:”区域向下滚动到“Internet协议(TCP/IP)”,单击“Internet协议(TCP/IP)”,然后单击“属性”按钮。选择“自动获得IP地址(DHCP)”或在“使用下面的IP地址”下输入静态IP地址。计算机的IP地址一般采用默认的192.168.0.2,第4个字节是子网内设备的地址。子网掩码一般采用默认的255.255.255.0,如图4.7所示。知识卡7西门子博途开发软件二、博途v14基本使用

2.S7-1200与编程计算机的连接图4.7计算机IP地址设置知识卡7西门子博途开发软件二、博途v14基本使用

2.S7-1200与编程计算机的连接3)为编程设备和网络设备分配IP地址(2)PLC的IP地址设置为S7-1200CPU分配IP地址时,采用的是在项目中组态IP地址的方法。使用S7-1200CPU配置机架之后,可组态PROFINET接口的参数。为此,单击CPU上的绿色PROFINET框以选择PROFINET接口。打开“属性”选项卡会显示PROFINET端口,如图4.8所示,在图中设置IP地址为192.168.0.1。知识卡7西门子博途开发软件二、博途v14基本使用

2.S7-1200与编程计算机的连接图4.8设置IP地址知识卡7西门子博途开发软件二、博途v14基本使用

2.S7-1200与编程计算机的连接3)为编程设备和网络设备分配IP地址(2)PLC的IP地址设置以太网相关地址包括以太网(MAC)地址、IP地址和子网掩码等。①以太网(MAC)地址在PROFINET网络中,制造商会为每个设备都分配一个介质访问控制地址(MAC)地址,以进行标识。MAC地址由六组数字组成,每组两个十六进制数,这些数字用“—”或“:”符号分隔,并按传输顺序排列,例如(01—23—45—67—89—AB)或01:23:45:67:89:AB。②IP地址联网的每个设备也都必须具有一个Internet协议(IP)地址,该地址相当于网络设备的身份证号码,使该设备可以在更加复杂的路由网络中传送数据。IP地址有IPV4和IPV6两种格式,其中IPV4的每个IP地址分为四段,每段由八位二进制数组成,并以圆点分隔的十进制数格式表示,例如211.154.184.16。IP地址的第一部分用于表示网络ID,第二部分表示主机ID。知识卡7西门子博途开发软件二、博途v14基本使用

2.S7-1200与编程计算机的连接3)为编程设备和网络设备分配IP地址(2)PLC的IP地址设置以太网相关地址包括以太网(MAC)地址、IP地址和子网掩码等。③子网掩码子网掩码用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。例如在小型本地网络中为设备分配子网掩码255.255.255.0和IP地址192.168.0.1到192.168.0.255。④不同子网间唯一的连接通过路由器实现。如果使用子网,则必须部署IP路由器,IP路由器实现LAN之间的链接。通过使用路由器,LAN中计算机可向其他任何网络发送消息,这些网络可能还隐含着其他LAN。如果数据的目的地不在LAN内,路由器会将数据转发给可将数据传送到目的地的另一个网络或网络组。路由器依靠IP地址来传送和接收数据包。知识卡7西门子博途开发软件二、博途v14基本使用

2.S7-1200与编程计算机的连接4)测试运行在完成组态后,使用“扩展的下载到设备”对话框测试所连接的网络设备。S7-1200CPU“下载到设备”功能及其“扩展的下载到设备”对话框可以显示所有可访问的网络设备,以及是否为所有设备都分配了唯一的IP地址(PG/PC接口的类型:PN/IE;PG/PC接口:RealtekPCIeGBEFamilyController)。选中图中虚线框内“显示所有兼容设备”复选框,能够显示全部可访问和可用设备以及为其分配的MAC和IP地址。如图4.9所示。知识卡7西门子博途开发软件二、博途v14基本使用

2.S7-1200与编程计算机的连接4)测试运行

图4.9“扩展的下载到设备”对话框知识卡7西门子博途开发软件三、博途软件编程

1.程序块新建的项目中只有一个用户程序块(OB1)。要添加程序块,需要在项目树的程序块中,双击“添加新块”,然后选择块的名称、类型、编号和编程语言。如图4.10所示。图4.10添加程序块可供选择的块类型有四种:组织块(OB)、函数块(FB)、函数(FC)、数据块(DB)。OB、FC块可供选择的编程语言有4种:LAD、FBD、STL和SCL。FB块可供选择的编程语言有5种:LAD、FBD、STL、SCL和GRAPH。知识卡7西门子博途开发软件

2.指令系统提供的指令可以在指令目录和库目录窗口中选择。双击项目树中要编辑的程序块,就可以打开程序编辑器。双击项目树窗口中的PLC变量的“显示所有变量”项目,就进入符号编辑器。编写PLC程序之前先创建变量有利于程序的阅读、分析和修改。PLC变量的名称在CPU范围内具有唯一性,即使变量位于CPU的不同变量表中。块已经使用的名称、CPU内其他PLC变量或常量的名称,不能用于新的PLC变量的命名。变量名的唯一性检查不区分大小写字母。如果输入了一个已经存在的变量名,系统会自动为第二次输入的名称后加上序号(1)。三、博途软件编程知识卡7西门子博途开发软件

3.用户程序用户程序,是在博图软件环境中,由用户编写的、用于实现特殊控制任务和功能的程序。编程界面如图4.11所示。打开Main[OB1],在编辑区中会出现程序段1.再单击右侧的“指令”,展开指令选项,用其中的常开触点

常闭触点

、线圈

这3个符号完成第一行程序输入。例如按住鼠标左键将常开触点拖到中间的程序编辑区的黑色线上方位置,当线上显示绿色正方形的时候,松开鼠标,输入常开触点的地址“I0.0”,然后回车确认;以同样的方法输入常闭触点“I0.1”和线圈“Q0.0”。完成第一行程序输入后,单击左侧母线与“I0.0”之间的线条,再选择右侧的“

”打开分支,添加第二行程序。在第二行输入常开触点的地址“Q0.0”,然后选择

,按住鼠标左键,将连线拖动到第一行的“I0.0”和“I0.1”触点之间,当这个位置出现绿色的小正方形,松开鼠标,连线完成,编辑完成的程序如图4.11所示。三、博途软件编程知识卡7西门子博途开发软件

3.用户程序三、博途软件编程图4.11编程界面知识卡7西门子博途开发软件

博途是一个集成软件,不仅集成了Step7Basic,还集成了仿真软件PLCSIM。仿真PLC与实际PLC既有相通之处,也有较多区别。通过仿真,可以检查一些常见的错误,帮助快速学习掌握基本的编程能力,但是最终程序是否能完成控制功能,还是需要下载到实际的控制系统中检验。四、程序的调试、运行监控与故障诊断

1.仿真程序PLCSIM软件几乎支持仿真S7-1200的所有指令,允许用户在没有硬件的情况下模拟调试S7-1200程序。S7-1200PLC使用仿真功能对软件、硬件都有一定的要求。使用仿真软件对S7-1200PLC硬件的要求是固件版本必须4.0或更高版本。使用仿真软件对软件的要求是仿真软件版本在S7-PLCSIMV13SP1及以上。仿真软件S7-PLCSIM几乎支持S7-1200的所有指令(系统函数和系统函数块)。知识卡7西门子博途开发软件四、程序的调试、运行监控与故障诊断表4.1Step7Basic的修改和监视功能

2.监视和修改CPU中的数据使用Step7Basic可以监视和在线修改CPU中的数据,Step7Basic编辑器的修改和监视功能如表4.1所示。编辑器监视修改强制监视表格有有无强制表格有无有程序编辑器有有无变量表有无无DB编辑器有无无知识卡7西门子博途开发软件四、程序的调试、运行监控与故障诊断

2.监视和修改CPU中的数据

在CPU执行用户程序时,用户可以通过监视表格监视或修改变量值,如图4.12所示。可在项目中创建并保存不同的监视表格以支持各种测试环境。这使得用户可以在调试期间或出于维修和维护目的重新进行测试。通过监视表格,可监视CPU并与CPU交互,如同CPU执行用户程序一样。不仅可以显示或更改代码块和数据块的变量值,还可以显示或更改CPU存储区的值,包含输入和输出(I和Q)、外围设备输入(I_:P)、位存储器(M)和数据块(DB)。使用“修改”(Modify)功能可以更改变量的值。但是,此功能对输入(I)或输出(Q)不起作用,这是因为CPU会在读取已修改的值之前自动读取I/O值并覆盖更新。知识卡7西门子博途开发软件四、程序的调试、运行监控与故障诊断图4.12监视表格界面

2.监视和修改CPU中的数据

可在LAD和FBD程序编辑器中监控多达50个变量的状态。在程序编辑器的工具栏中,单击“接通/断开监视”(Monitoringon/off)按钮,以显示用户程序的状态,如图4.所示。还可以右键单击指令或参数,以修改指令值。知识卡7西门子博途开发软件四、程序的调试、运行监控与故障诊断

2.监视和修改CPU中的数据

在分析梯形图的逻辑关系时,为了借用继电器电路图的分析方法,可以想象在梯形图的左右两侧垂直“母线”(电源线)之间有一个左正右负的直流电源电压,如图4.13所示,图中“On”或“Run”接通,“Off”断开时有一个假想的“能流”(PowerFlow)流过“Run”线圈,利用能流这一概念,可以借用继电器电路的术语和分析方法,帮助我们更好的理解和分析,梯形图。需要注意的是能流只能从左向右流动。程序段内的逻辑运算按从左向右的方向执行,与能流的方向一致。如果没有跳转指令,程序段之间按从上到下的顺序执行,执行完所有的程序段后,下一次扫描循环返回最上面的程序段,重新开始执行。在程序监控过程中,网络以绿色显示能流。左侧的母线相当于电源,右侧母线相当于地,程序正确运行,能流从左侧母线流向右侧母线。知识卡7西门子博途开发软件四、程序的调试、运行监控与故障诊断

2.监视和修改CPU中的数据

除上述仿真、监控功能外,Step7Basic软件还提供捕获

DB的在线值、重设起始值、监视或修改PLC变量时使用触发器、在CPU处于STOP模式时写入输出、“强制”功能、在RUN模式下的下载等操作功能。图4.13梯形图运行界面知识卡8S7-1200的编程基础一、编程语言

1.PLC编程语言

IEC61131-3是世界上第一个,也是至今唯一的工业控制系统的编程语言标准,已成为DCS、IPC、FCS、SCADA和运动控制系统的软件标准。IEC61131-3的五种编程语言分别是:

梯形图(LadderDiagram,LD),简称LAD;基于电路图来表示的一种图形编程语言

函数块图(FunctionBlockDiagram,FBD);

结构文本(StructuredText,ST),西门子S7-1200为结构化控制语言(StructuredControlLanguage,SCL);

指令表(InstructionList,IL)

顺序功能图(SequentialFunctionChart,SFC)。西门子公司为S7-1200PLC提供3种标准编程语言:梯形图(LAD)、功能块图(FBD)和结构化控制语言(SCL)。知识卡8S7-1200的编程基础一、编程语言

1.PLC编程语言

1)梯形图梯形图沿用了继电器、触头、串/并联等类似的图形符号,并简化了符号,还向多种功能(如数学、定时器、计数器和移动等)提供功能框指令。梯形图是融逻辑操作、控制于一体,面向对象的、实时的、图形化的编程语言。梯形图按自上而下、从左到右的顺序排列,最左边的竖线称为起始母线(也称左母线),然后按一定的控制要求和规则连接各个节点,最后以继电器线圈或功能框指令(或再接右母线)结束,称为一个逻辑行或一个“梯级”。通常一个LAD程序段中有若干逻辑行(梯级),形似梯子,如图4.14所示,梯形图由此而得名。梯形图信号流向清楚、简单、直观、易懂,很适合电气工程人员及初学者使用。梯形图在PLC中应用非常广泛。各厂家、各型号PLC都把梯形图作为第一编程语言。知识卡8S7-1200的编程基础一、编程语言

1.PLC编程语言

1)梯形图图4.14梯形图程序梯形图由触点、线圈和用方框表示的指令框组成。触点代表逻辑输入条件,例如外部的开关、按钮、传感器、内部的定时器、计数器触点等内部条件。线圈代表逻辑运算的结果,常用来控制外部的负载和内部的标志位等。指令框用来表示定时器、计数器或运算、控制等指令。触点和线圈等元素组成的电路称为程序段,英文名称为Network(网络),STEP7自动为程序段编号。可在程序段编号右边加程序段的标题,程序段编号下方输入其注释。知识卡8S7-1200的编程基础一、编程语言

1.PLC编程语言

1)梯形图图4.15梯形图编程规则创建LAD程序段时应注意以下规则:①不能创建如图4.15(a)所示可能导致反向能流的分支;②不能创建如图4.15(b)所示可能导致短路的分支。知识卡8S7-1200的编程基础一、编程语言

1.PLC编程语言

2)函数块图图4.16函数块图类似于普通的逻辑功能图,它沿用了半导体逻辑电路的逻辑框图的表达方式,使用布尔代数的图形逻辑符号来表示控制逻辑,使用指令框来表示复杂的功能,有基本功能模块和特殊功能模块两类。基本功能模块如AND、OR、XOR等,特殊功能模块如脉冲输出、计数器等。一般用一种功能方框表示一种特定的功能,框图内的符号表达了该功能块图的功能。如图4.16所示,第一个框表示进行时间比较,比较的结果和第二个框的“I0.0”进行与运算,与运算的结果控制“Q0.0”的状态。知识卡8S7-1200的编程基础一、编程语言

1.PLC编程语言

3)SCL图4.17SCL语言结构化控制语言(StructuredControlLanguage,SCL)是用于SIMATICS7CPU的基于PASCAL的高级编程语言。SCL指令使用标准编程运算符,其程序结构如图4.17所示。例如,用(:=)表示赋值,+表示相加,-表示相减,*表示相乘,/表示相除。SCL也使用标准的PASCAL程序控制操作,如IF-THEN-END_IF、CASE、REPEAT-UNTIL、GOTO和RETURN等。知识卡8S7-1200的编程基础二、数据类型

1.常数1)数制(1)二进制数二进制数的1位只能为0和1。用1位二进制数来表示开关量的两种不同的状态。如果该位为1,梯形图中对应的位编程元件的线圈通电、常开触点接通、常闭触点断开,称该编程元件为TRUE或1状态。该位为0则反之,称该编程元件为FALSE或0状态。二进制位的数据类型为BOOL(布尔)型。(3)十六进制数十六进制数用于简化二进制数的表示方法,16个数为0~9和A~F(10~15),1位十六进制数对应于4位二进制数,例如2#0001001110101111可以转换为16#13AF或13AFH。十六进制数“逢16进1”,第n位的权值为16n。16#2F对应的十进制数为2×161+15×160=47。知识卡8S7-1200的编程基础二、数据类型

1.常数2)编码

(1)补码有符号二进制整数用补码来表示,其最高位为符号位,符号位为0时为正数,为1时为负数。正数的补码就是它本身,最大的16位二进制正数为32767。将正数的补码逐位取反后加1,得到绝对值与它相同的负数的补码。例如1158对应的补码为2#0000010010000110,-1158对应的补码为2#1111101101111010。(2)ASCII码ASCII码即美国信息交换标准代码,是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。其中数字0~9的ASCII码为十六进制数30H~39H,英语大写字母A~Z的ASCII码为41H~5AH,英语小写字母a~z的ASCII码为61H~7AH。详细情况可查阅ASCII码表。知识卡8S7-1200的编程基础二、数据类型

1.常数2)编码

图4.17BCD码格式(3)BCD码BCD是二进制编码的十进制数的缩写,用4位二进制数表示一位十进制数,每位BCD码允许的数值范围为2#0000~2#1001,对应于十进制数0~9。BCD码的最高4位表示符号,负数为1111,正数为0000。16位BCD码的范围为-999~+999,32位BCD码的范围为-9999999~+9999999。图4.17中的BCD码为-829。BCD码用于PLC的输入和输出。知识卡8S7-1200的编程基础二、数据类型

2.数据类型数据类型用来描述数据的长度(即二进制的位数)和属性。1)基本数据类型S7-1200PLC的指令参数所用的基本数据类型有布尔型(Bool)、字节型(Byte)、字型(Word)、双字型(DWord)、无符号8位整数USInt、有符号8位整数SInt、无符号16位整数UInt、有符号16位整数Int、无符号32位整数UDInt、有符号32位整数DInt、32位实数型Real、64位实数型LReal、IEC时间值Time、日期值Date,以及时钟值TOD、字节日期和时间结构DTL、单字符Char、双字符WChar、单字节字符串String、双字节字符串WString。知识卡8S7-1200的编程基础二、数据类型

2.数据类型数据类型用来描述数据的长度(即二进制的位数)和属性。2)扩展数据类型扩展数据类型包含全局数据块、数组、指针等。在此仅简单介绍全局数据块和数组。(1)全局数据块单击项目树中的“添加新块”,单击打开的对话框中的“数据块(DB)”按钮,生成一个数据块,如图4.18所示。可以修改其名称,其类型为默认的“全局DB”。知识卡8S7-1200的编程基础二、数据类型

2.数据类型

2)扩展数据类型(2)数组数组(Array)是由固定数目的同一种数据类型元素组成的数据结构。允许使用除了Array之外的所有数据类型作为数组的元素,最多为6维。图4.20是名为“电流”的二维数组Array[1..2,1..3]ofByte的内部结构。第一维的下标1、2是电动机的编号,第二维的下标1~3是三相电流的序号。数组元素“电流[1,2]”是一号电动机的第2相的电流。图4.20数组定义知识卡8S7-1200的编程基础二、数据类型

3.数据长度与数值范围表4.3S7-1200的常用数据类型、长度及其范围序号变量类型符号位数取值范围常数举例1位Bool11,0TRUE,FALSE或1,02字节Byte816#00~16#FF16#12,16#AB3字Word1616#0000~16#FFFF16#ABCD,16#00014双字DWord3216#00000000~16#FFFFFFFF16#02468ACE5字符Char816#00~16#FF‘A’,‘t’,‘@’6有符号字节SInt8-128~127110,-887有符号整数Int16-32768~3276730000,-123008有符号双整数DInt32-2147483648~214748364712300,-123009无符号字节USInt80~25522310无符号整数UInt160~655356500011无符号双整数UDInt320~429496729586500012单精度浮点数(实数)Real32±1.175495×10-38~±3.402823×103812.45,-3.4,-1.2E+313双精度浮点数(实数)LReal64±2.2250738585072020×10-308~±1.7976931348623157×1030812345.12345-1,2E+4014时间Time32T#-24d_20h_31m_23s_648ms~T#24d_20h_31m_23s_647msT#1d_2h_15m_30s_45ms15日期Date16D#1990-1-1~D#2168-12-31D#2009-12-31知识卡8S7-1200的编程基础三、存储区与地址1.西门子S7-1200的存储区西门子S7-1200的CPU内有用于存储用户程序、数据和组态的存储区,包括装载存储器、工作存储器、保持性存储器和存储卡四种存储器。装载存储器,用于非易失性地存储用户程序、数据和组态。将项目下载到CPU后,CPU会先将程序存储在装载存储区中。该存储区位于存储卡(如存在)或CPU中。CPU能够在断电后继续保持该非易失性存储区。存储卡支持的存储空间比CPU内置的存储空间更大。工作存储器,是易失性存储器,集成在CPU中的高速存取的RAM。类似于计算机的内存,用于在执行用户程序时存储用户项目的某些内容。CPU会将一些项目内容从装载存储器复制到工作存储器中。该易失性存储区将在断电后丢失,而在恢复供电时由CPU恢复。保持性存储器,用于非易失性地存储限量的工作存储器值。断电过程中,CPU使用保持性存储器存储所选用户存储单元的值。如果发生断电或掉电,CPU将在上电时恢复这些保持性值。可选的存储卡,用来存储用户程序,或用于传送程序。知识卡8S7-1200的编程基础三、存储区与地址1.西门子S7-1200的存储区存储器按用途可以分为程序区、系统区、数据区。程序区用于存放用户程序,存储器为EEPROM。系统区用于存放有关PLC配置结构的参数,如PLC主机及扩展模块的I/O配置和编址、配置PLC站地址,设置保护口令、停电记忆保持区、软件滤波功能等,存储器为EEPROM。数据区是S7-1200CPU提供的存储器特定区域。它包括过程映象输入(I)、物理输入(I_:P)、过程映象输出(Q)、物理输出(Q_:P)、位存储器(M)、临时存储器(L)、函数块(FB)的变量、数据块(DB)。数据区空间是用户程序执行过程中的内部工作区域。数据区使CPU的运行更快、更有效。存储器为EEPROM和RAM。用户对程序区、系统区和部分数据区进行编辑,编辑后写入PLC的EEPROM。RAM为EEPROM存储器提供备份存储区,用于PLC运行时动态使用。RAM由大容量电容进行停电保持。知识卡8S7-1200的编程基础三、存储区与地址2.数据区存储器的地址表示格式1)寻址方式S7-1200提供存储用户程序、数据和组态的存储区。寻址方式就是对数据存储区进行读写访问的方式。STEP7的寻址方式有:立即数寻址、直接寻址、间接寻址三大类。其中:

立即数寻址的数据在指令中以常数形式出现;

直接寻址是指在指令中直接给出要访问的存储器或寄存器的名称和地址编号;STEP7的直接寻址有:位寻址;字节寻址;字寻址;双字寻址。

间接寻址是指使用地址指针间接给出要访问的存储器或寄存器地址。知识卡8S7-1200的编程基础三、存储区与地址2.数据区存储器的地址表示格式2)数据存储区地址格式每个存储单元都有唯一的地址。用户程序利用这些地址访问存储单元中的信息。如图4.21所示,由以下元素组成:存储区标识符(如I、Q或M);要访问的数据的大小(“B”表示Byte、“W”表示Word或“D”表示DWord);数据的起始地址(如字节3或字3);A—存储区标识符B—字节地址:字节3C—分隔符(“字节.位”)D—位在字节中的位置(位4,共8位)E—存储区的字节F—选定字节的位图4.21存储地址访问方式知识卡8S7-1200的编程基础三、存储区与地址2.数据区存储器的地址表示格式

(1)位地址访问位地址中的位时,不需要输入数据大小的助记符,格式为:地址标识符+字节起始地址.位地址,例如I0.0、Q0.1或M3.4。图4.21存储地址访问方式(2)字节、字、双字地址访问字节、字、双字地址数据区存储器的区域格式为:地址标识符+数据长度类型+字节起始地址例如MB2、MW2、MD2分别表示字节、字、双字地址。MW2由MB2和MB3两个字节组成;MD2由MB2~MB5四个字节组成。知识卡8S7-1200的编程基础三、存储区与地址2.数据区存储器的地址表示格式

图4.22MB2、MW2、MD2三种寻址方式对应的存储空间(2)字节、字、双字地址其中数据长度类型包含字节、字和双字,分别使用“B”(BYTE)、“W”(WORD)、“D”(DoubleWORD)表示。当数据长度为多字节时,各字节按字节起始地址由高到低排序,如图4.22所示为MB2、MW2、MD2三种寻址方式对应的存储空间。知识卡8S7-1200的编程基础三、存储区与地址2.数据区存储器的地址表示格式

3)数据区存储器区域(1)输入/输出映像寄存器(I/Q)①输入映像寄存器(I)过程映像输入(I)也称为输入映像寄存器(I)。PLC的输入端子是从外部接收输入信号的窗口。每个输入端子与输入映像寄存器(I)的相应位相对应。输入点的状态在每次扫描周期开始(或结束)时进行采样,并将采样值存于输入映像寄存器,作为程序处理时输入点状态的依据。输入映像寄存器的状态只能由外部输入信号驱动,而不能在内部由程序指令来改变。输入映像寄存器(I)的地址格式为:位地址:I[字节地址].[位地址],如I0.1。字节、字、双字地址:I[数据长度][起始字节地址],如IB4、IW6、ID10。知识卡8S7-1200的编程基础三、存储区与地址2.数据区存储器的地址表示格式

3)数据区存储器区域(1)输入/输出映像寄存器(I/Q)②物理输入(I_:P)物理输入(I_:P)也称为物理输入点(输入端子),其功能是通过在读指令的位地址I偏移量后追加“:P”,可执行立即读取物理输入点的状态(例如:“%I3.4:P”)。对于立即读取,直接从物理输入读取位数据值,而非从过程映像中读取。立即读取不会更新对应的过程映像。知识卡8S7-1200的编程基础三、存储区与地址2.数据区存储器的地址表示格式

3)数据区存储器区域(1)输入/输出映像寄存器(I/Q)③过程映像输出(Q)也称为输出映像寄存器(Q)。每个输出模块的端子与输出映像寄存器的相应位相对应。CPU将输出判断结果存放在输出映像寄存器中,在扫描周期的结尾,CPU以批处理方式将输出映像寄存器的数值复制到相应的输出端子上,通过输出模块将输出信号传送给外部负载。可见,PLC的输出端子是PLC向外部负载发出控制命令的窗口。输出映像寄存器(Q)地址格式为:位地址:Q[字节地址].[位地址],如Q1.1。字节、字、双字地址:Q[数据长度][起始字节地址],如QB5、QW8、QD11。知识卡8S7-1200的编程基础三、存储区与地址2.数据区存储器的地址表示格式

3)数据区存储器区域(1)输入/输出映像寄存器(I/Q)④物理输出(Q_:P)物理输出(Q_:P)也称为物理输出点(输出端子),其功能是通过在写指令的位地址Q偏移量后追加“:P”,可执行立即输出结果到物理输出点(例如:“%Q3.4:P”)。对于立即输出,将位数据值写入输出过程映像输出并直接写入物理输出点。知识卡8S7-1200的编程基础三、存储区与地址2.数据区存储器的地址表示格式

3)数据区存储器区域(2)位存储器(M)内部全局标志位存储器(M),用于中间运算结果或标志位的存储,是模拟继电器控制系统中的中间继电器,针对控制继电器及数据的位存储区(M存储器)用于存储操作的中间状态或其它控制信息。可以按位、字节、字或双字访问位存储区。M存储器允许读访问和写访问。位存储器(M)的地址格式为:位地址:M[字节地址].[位地址],如M26.7。字节、字、双字地址:M[数据长度][起始字节地址],如MB11、MW23、MD26。知识卡8S7-1200的编程基础三、存储区与地址2.数据区存储器的地址表示格式

3)数据区存储器区域(3)临时存储器(L)CPU根据需要分配临时存储器。启动代码块(对于OB)或调用代码块(对于FC或FB)时,CPU将为代码块分配临时存储器并将存储单元初始化为0。临时存储器与M存储器类似,但有一个主要的区别:M存储器在“全局”范围内有效,而临时存储器只在“局部”范围内有效。M存储器:任何OB、FC或FB都可以访问M存储器中的数据,也就是说,这些数据可以全局性地用于用户程序中的所有元素。CPU限定只有创建或声明了临时存储单元的OB、FC或FB才可以访问临时存储器中的数据。临时存储单元是局部有效的,并且其他代码块不会共享临时存储器,即使在代码块调用其他代码块时也是如此。例如:当OB调用FC时,FC无法访问对其进行调用的OB的临时存储器。可以按位、字节、字、双字访问局部存储器,局部存储器(L)的地址格式为:位地址:L[字节地址].[位地址],如L0.0。字节、字、双字地址:L[数据长度][起始字节地址],如LB33、LW44、LD55。知识卡8S7-1200的编程基础三、存储区与地址2.数据区存储器的地址表示格式

3)数据区存储器区域(4)数据块(DB)DB存储器用于存储各种类型的数据,其中包括操作的中间状态或FB的其它控制信息参数,以及许多指令(如定时器和计数器)所需的数据结构。可以按位、字节、字或双字访问数据块存储器。读/写数据块允许读访问和写访问,只读数据块只允许读访问。位地址:DB[数据块编号].DBX[字节地址].[位地址],如DB1.DBX2.3。字节、字、双字地址:DB[数据块编号].DB[大小][起始字节地址],如DB1.DBB4、DB10.DBW2、DB20.DBD8。S7-1200PLC的常用存储区(寄存器)、基本功能以及相关约定可参阅表4.3所示内容。知识卡8S7-1200的编程基础三、存储区与地址2.数据区存储器的地址表示格式

3)数据区存储器区域(4)数据块(DB)表4.3常用存储区存储区(符号)功能说明强制保持过程映像输入(I)在扫描循环开始时,从物理输入复制的输入值无无物理输入(I_:P)通过该区域立即读取物理输入支持无过程映像输出(Q)在扫描循环开始时,将输出值写入物理输出无无物理输出(Q_:P)通过该区域立即写物理输出支持无位存储器(M)用于存储用户程序的中间运算结果或标志位无支持临时存储器(L)块的临时局部数据,只能供块内部使用,只可以通过符号方式来访问无无数据块(DB)数据存储器与FB的参数存储器无支持知识卡9S7-1200指令及应用一、指令的知识1、指令的概念

一条语句就是给CPU的一条命令,规定其对谁(操作数)做什么工作(操作码)。一个控制动作由一句或多句语句组成的应用程序来实现。指令一般由操作码和操作数构成。其中:操作码:是PLC指令系统的指令代码,或称指令助记符,表示需要进行的工作。操作数:是指令的操作对象,主要是存储区地址,每一个存储区地址都用一个字母或特殊的数字开头,表示所属存储区的类型;后缀的数字则表示该存储区中的位号。操作数也可以表示用户对时间和计数常数的设置、跳转地址的编号等,也有个别指令不含操作数,如空操作指令。例如:ADDIN1IN2指令的操作码是ADD(加法),操作数是IN1和IN2。知识卡9S7-1200指令及应用一、指令的知识2、指令的分类

西门子S7-1200PLC的指令系统分为基本指令、扩展指令、工艺指令、通信指令和选件包指令5类。基本指令包含位逻辑运算指令(直接对输入和输出点进行操作的指令,如输入、输出及逻辑“与”、“或”、“非”等操作);定时器指令、计数器指令;数据传送、数据处理、数据运算、程序控制等操作的指令。基本指令是学习的重点,而扩展指令、工艺、通信及选件包指令可以查阅手册来学习并应用。知识卡9S7-1200指令及应用二、S7-1200基本指令S7-1200PLC有10种基本指令,包含:位逻辑运算指令;定时器操作指令;计数器操作指令;比较操作指令;数学运算指令;移动操作指令;转换操作指令;程序控制指令;逻辑运算指令;移位和循环移位指令。1.位逻辑运算指令位逻辑运算指令如图4.23所示。主要完成数字量信息的输入、运算和输出控制功能。位逻辑运算指令包含:触点和线圈等基本元素指令、置位和复位指令、上升沿和下降沿指令。位逻辑运算指令中如果有操作数,则为BOOL型,操作数的编址范围可以是:I、I_:P、Q、Q_:P、M、L、DB。知识卡9S7-1200指令及应用二、S7-1200基本指令1.位逻辑运算指令图4.23位逻辑运算指令知识卡9S7-1200指令及应用二、S7-1200基本指令1.位逻辑运算指令1)触点和线圈等基本元素指令触点和线圈等基本元素指令包括触点指令、NOT逻辑反相器指令、输出线圈指令,主要是与位相关的输入/输出及触点的简单连接。(1)触点指令在梯形图中,每个从左母线开始的单一逻辑行、每个程序块(逻辑梯级)的开始、指令框的输入端都必须使用触点指令,触点指令程序如图4.24所示。触点有常开触点(

)和常闭触点(

)两种,可将触点相互连接并创建用户自己的组合逻辑。LAD触点分配位IN为布尔型,IN值赋“1”时,常开触点闭合(ON),常闭触点断开(OFF);IN值赋“0”时,常开触点断开(OFF),常闭触点闭合(ON)。知识卡9S7-1200指令及应用二、S7-1200基本指令1.位逻辑运算指令1)触点和线圈等基本元素指令(1)触点指令通过在I偏移量后追加“:P”,可执行立即读取物理输入(例如,%I3.4:P)。对于立即读取,直接从物理输入读取位数据值,而非从过程映像输入寄存器中读取。立即读取不会更新过程映像输入寄存器。图4.24触点指令程序知识卡9S7-1200指令及应用二、S7-1200基本指令1.位逻辑运算指令1)触点和线圈等基本元素指令(1)触点指令

(2)NOT逻辑反相器指令NOT逻辑反相器指令可对输入的逻辑运算结果(RLO)进行取反。NOT指令能取反能流输入的逻辑状态,如图4.25所示。(3)输出线圈指令输出线圈有赋值线圈(

)和赋值取反线圈(

)两种,可向输出位OUT写入值,OUT数据类型为布尔型,如图4.25所示,Q0.2为赋值线圈。知识卡9S7-1200指令及应用二、S7-1200基本指令1.位逻辑运算指令1)触点和线圈等基本元素指令(1)触点指令

(2)NOT逻辑反相器指令图4.25NOT指令

如果有能流通过输出线圈,则赋值线圈输出位OUT设置为“1”,赋值取反线圈输出位OUT设置为“0”;如果没有能流通过输出线圈,则赋值线圈输出位OUT设置为“0”,赋值取反线圈输出位OUT设置为“1”。通过在Q偏移量后加上“:P”,可指定立即写入物理输出(例如,%Q3.4:P)。对于立即写入,将位数据值写入过程映像输出并直接写入物理输出。知识卡9S7-1200指令及应用二、S7-1200基本指令1.位逻辑运算指令触点串联方式连接,创建AND(与)逻辑程序段;触点并联方式连接,创建OR(或)逻辑程序段。【例4-1】编写两个输入点I0.0和I0.1的与运算(结果控制Q0.0)、或运算(结果控制Q0.1)、异或运算(结果控制Q0.2)和同或运算(结果控制Q0.3),程序如图4.26所示。知识卡9S7-1200指令及应用图4.26触点逻辑运算知识卡9S7-1200指令及应用二、S7-1200基本指令2)置位和复位指令置位和复位指令包含:置位线圈和复位线圈指令、置位和复位位域指令、置位优先和复位优先指令。置位即置1且保持,复位即置0且保持,即置位和复位指令具有“记忆”功能。

(1)S和R:置位和复位线圈指令

置位线圈(

)和复位线圈(

)指令,OUT分配位数据类型为布尔型。当线圈输入的逻辑运算结果(RLO)为“1”时,才执行S和R指令,S指令参数OUT的数据值设置为1,R指令参数OUT的数据值设置为0。当线圈输入的逻辑运算结果(RLO)为“0”时,不执行S和R指令。置位和复位线圈指令编程实例如图4.27所示。图4.27置位和复位线圈指令知识卡9S7-1200指令及应用二、S7-1200基本指令

(2)SET_BF和RESET_BF:置位和复位位域指令

置位和复位位域指令的参数OUT的数据类型为布尔型,用于指定置位或复位位域起始元素;参数n的数据类型为无符号整型,赋值为常量,用于指定要置位或复位的二进制位数。当指令输入的逻辑运算结果(RLO)为“1”时,执行SET_BF和RESET_BF指令;执行SET_BF时,置位从OUT开始的n位二进制数;执行RESET_BF时,复位从OUT开始的n位二进制数。当指令输入的逻辑运算结果(RLO)为“0”时,不执行指令。SET_BF和RESET_BF指令必须是梯形图分支中最右端的指令,指令的编程实例如图4.28所示。当I0.0接通,I0.1断开时,置位M0.0开始的4位二进制数,即M0.0~M0.3均为“1”,同时复位M1.4开始的4位二进制数,即M1.4~M1.7均为“0”。知识卡9S7-1200指令及应用二、S7-1200基本指令

(2)SET_BF和RESET_BF:置位和复位位域指令图4.28置位和复位位域指令知识卡9S7-1200指令及应用二、S7-1200基本指令

(3)RS和SR:置位优先和复位优先指令(a)RS置位优先指令(b)SR复位优先指令图4.29置位优先和复位优先指令RS和SR指令分配位S和S1为置位输入,S1表示置位优先;分配位R和R1为复位输入,R1表示复位优先;分配位INOUT为待置位或复位的数据;分配位Q遵循INOUT位的状态,指令如图4.29所示。分配位S、S1、R、R1、INOUT和Q的数据类型都为布尔型。知识卡9S7-1200指令及应用二、S7-1200基本指令

(3)RS和SR:置位优先和复位优先指令表4.4RS和SR指令的输入/输出变化指令S1RINOUTQRS00先前状态遵循INOUT位的状态010101111指令SR1INOUTQSR00先前状态遵循INOUT位的状态010101110知识卡9S7-1200指令及应用二、S7-1200基本指令

(3)RS和SR:置位优先和复位优先指令(a)RS置位优先指令(b)SR复位优先指令图4.29置位优先和复位优先指令【例4-2】设计一个单按钮启停控制程序,奇数次按下按钮灯亮,偶数次按下按钮灯灭。编程方法1:使用复位优先指令实现,奇数次按下I0.0,Q0.2接通;偶数次按下I0.0,由于S和R1同时高电平,由于复位优先,Q0.2断开。程序如图4.30(a)所示。编程方法2:使用置位优先指令实现,奇数次按下I0.0,Q0.2接通,Q0.2常闭触点断开;偶数次按下I0.0,由于R和S1同时高电平,由于置位优先,Q0.2断开。程序如图4.30(b)所示。知识卡9S7-1200指令及应用二、S7-1200基本指令

(3)RS和SR:置位优先和复位优先指令(a)使用RS指令(b)使用SR指令图4.30单按钮启停控制程序知识卡9S7-1200指令及应用二、S7-1200基本指令

3)上升沿和下降沿指令上升沿和下降沿指令包含:P和N触点指令、P和N线圈指令、P_TRIG和N_TRIG功能框指令、R_TRIG和F_TRIG功能框指令。

(1)P和N触点指令P和N触点指令扫描IN的上升沿和下降沿,如图4.31(a)所示为置位/复位触点指令。分配位IN为指令要扫描的信号,数据类型为布尔型;分配位M_BIT保存上次扫描的IN的信号状态,数据类型为布尔型。仅将M、全局DB或静态存储器(在背景DB中)用于M_BIT存储器分配。执行指令时,P和N触点指令比较IN的当前信号状态与保存在操作数M_BIT中的上一次扫描的信号状态。检测到操作数IN的上升沿时,P触点指令的信号状态将在一个程序周期内保持置位为“1”;检测到操作数IN的下降沿时,N触点指令的信号状态将在一个程序周期内保持置位为“1”;在其他任何情况下,P和N触点指令的信号状态均为“0”。P和N触点指令编程实例如图4.32所示。知识卡9S7-1200指令及应用二、S7-1200基本指令

3)上升沿和下降沿指令

(1)P和N触点指令(a)置位/复位触点指令(b)置位/复位线圈指令图4.31P和N指令图4.32P和N触点指令编程实例知识卡9S7-1200指令及应用二、S7-1200基本指令

3)上升沿和下降沿指令(2)P和N线圈指令P和N线圈指令在信号上升沿和下降沿,如图4.31(b)所示。将分配位OUT在一个程序周期内置位为“1”。分配位OUT数据类型为布尔型;分配位M_BIT保存上次查询的线圈输入信号状态,数据类型为布尔型。仅将M、全局DB或静态存储器(在背景DB中)用于M_BIT存储器分配。执行指令时,P和N线圈指令将比较当前线圈输入信号状态与保存在操作数M_BIT中的上一次查询的信号状态。P和N线圈指令编程实例如图4.33所示。知识卡9S7-1200指令及应用二、S7-1200基本指令

3)上升沿和下降沿指令(2)P和N线圈指令图4.33P和N线圈指令编程实例知识卡9S7-1200指令及应用二、S7-1200基本指令

3)上升沿和下降沿指令(3)P_TRIG和N_TRIG功能框指令图4.34P/N触发功能框指令P_TRIG和N_TRIG功能框指令,如图4.34所示。分配位CLK为指令要扫描的信号,数据类型为布尔型;分配位M_BIT保存上次扫描的CLK的信号状态,数据类型为布尔型;Q为指令边沿检测的结果,数据类型为布尔型。执行指令时,P_TRIG和N_TRIG指令比较CLK输入的RLO当前状态与保存在操作数M_BIT中上一次查询的信号状态。检测到CLK输入的RLO上升沿时,P_TRIG指令的Q将在一个程序周期内置位为“1”;检测到CLK输入的RLO下降沿时,N_TRIG指令的Q将在一个程序周期内置位为“1”;在其他任何情况下,输出Q的信号状态均为“0”。在LAD编程中,P_TRIG和N_TRIG指令不能放置在程序段的开头或结尾。知识卡9S7-1200指令及应用二、S7-1200基本指令

3)上升沿和下降沿指令(4)R_TRIG和F_TRIG功能框指令图4.35R/F触发功能框指令R_TRIG和F_TRIG功能框指令检测分配位CLK信号的上升沿和下降沿,指令如图4.35所示。分配位CLK为指令要扫描的信号,分配位Q为指令边沿检测的结果,分配位M_BIT保存上次扫描的CLK的信号状态,所有数据类型均为布尔型。指令调用时,分配的背景数据块可存储CLK输入的前一状态。使能输入EN为“1”时,执行R_TRIG和F_TRIG指令。执行指令时,R_TRIG和F_TRIG指令比较参数CLK输入的当前状态与保存在背景数据块中上一次查询的信号状态。检测到参数CLK输入信号上升沿时,R_TRIG指令的输出Q将在一个程序周期内置位为“1”;检测到参数CLK输入信号下降沿时,F_TRIG指令的输出Q将在一个程序周期内置位为“1”;在其他任何情况下,输出Q的信号状态均为“0”。知识卡9S7-1200指令及应用二、S7-1200基本指令

3)上升沿和下降沿指令(4)R_TRIG和F_TRIG功能框指令图4.36R_TRIG功能框指令编程在LAD编程中,R_TRIG和F_TRIG指令不能放置在程序段的开头或结尾,如图4.34所示为R_TRIG功能框指令编程实例。知识卡9S7-1200指令及应用二、S7-1200基本指令

3)上升沿和下降沿指令(4)R_TRIG和F_TRIG功能框指令例4-3】设计故障信息显示电路,从故障信号I0.0的上升沿开始,Q0.7控制的指示灯以1Hz的频率闪烁。操作人员按复位按钮I0.1后,如果故障已经消失,则指示灯熄灭。如果没有消失,则指示灯转为常亮,直至故障消失,故障信息显示的时序图如图4.35(a)所示。设置MB0为时钟存储器字节,M0.5提供周期为1s的时钟脉冲。出现故障时,将I0.0提供的故障信号用M2.1锁存起来,M2.1和M0.5的常开触点组成的串联电路使Q0.7控制的指示灯以1Hz的频率闪烁。按下复位按钮I0.1,故障锁存标志M2.1被复位为0状态。如果故障已经消失,指示灯熄灭。如果没有消失,M2.1的常闭触点与I0.0的常开触点组成的串联电路使指示灯转为常亮,直至I0.0变为0状态,故障消失,指示灯熄灭。故障信息显示的梯形图如图4.37(b)所示。知识卡9S7-1200指令及应用二、S7-1200基本指令

3)上升沿和下降沿指令(4)R_TRIG和F_TRIG功能框指令(a)故障信息显示时序图(b)故障信息显示梯形图图4.37故障信息显示电路图知识卡9S7-1200指令及应用二、S7-1200基本指令

2.定时器操作指令和计数器操作指令定时器和计数器由集成电路构成,是PLC中的重要硬件编程器件。两者电路结构基本相同,对内部固定脉冲信号计数即为定时器,对外部脉冲信号计数即为计数器。西门子S7-1200的定时器操作指令和计数器操作指令如图4.38所示。图4.38定时器和计数器操作指令知识卡9S7-1200指令及应用二、S7-1200基本指令

1)定时器操作指令定时器操作指令包括:脉冲型定时器TP、接通延时定时器TON、关断延时定时器TOF和保持性接通延时定时器TONR,四种定时器指令框如图4.39所示。(a)TP指令

(b)TON指令(c)TOF指令(d)TONR指令图4.39定时器操作指令知识卡9S7-1200指令及应用二、S7-1200基本指令

(1)TP指令(脉冲型定时器)脉冲型定时器可生成具有预设宽度时间的脉冲,指令标识符为TP。首次扫描,定时器输出Q为0,当前值ET为0。IN是指令使能输入,0为禁用定时器,1为启用定时器;PT表示预设时间的输入;Q表示定时器的输出状态;ET表示定时器的当前值,表示定时器从启用时刻开始经过的时间。PT和ET以前缀“T#”+“TIME”数据类型表示,取值范围0~2147483647ms。TP指令执行时的时序图如图4.40所示,当IN为1时启动定时器,此时Q输出为1,定时时间到,Q输出为0;在定时器启动工作后,Q输出为1状态,如果此时IN变为0,Q也要等到定时时间到才变为0。图4.40TP指令执行时序图知识卡9S7-1200指令及应用二、S7-1200基本指令

(1)TP指令(脉冲型定时器)TP指令的编程实例如图4.41所示,当I0.0为ON时,Q0.0接通,10秒后Q0.0断开,即实现产生10秒的脉冲功能。I0.1为1时,定时器复位线圈RT通电,定时器T1被复位。如果正在定时,且IN输入信号为0状态,将使当前时间值ET清零,Q输出也变为0状态。如果此时正在定时,且IN输入信号为1状态,将使当前时间清零,但是Q输出保持为1状态。复位信号I0.1变为0状态时,如果IN输入信号为1状态,将重新开始定时。图4.41TP编程实例知识卡9S7-1200指令及应用二、S7-1200基本指令

(2)TON指令(接通延时定时器)接通延时定时器在预设的延时过后将输出Q设置为ON,定时器的指令标识符为TON。指令中引脚定义与TP指令引脚定义一致。TON指令执行时的时序图如图4.42所示,当IN为1时启动定时器,此时Q输出为0,定时时间到,Q输出为1,此时IN为0,则Q输出马上变为0;如果IN为1,定时器启动工作,但是没有到设定时间IN变为0,则定时器被复位。图4.42TON指令执行时序图知识卡9S7-1200指令及应用二、S7-1200基本指令

(2)TON指令(接通延时定时器)TON指令的编程实例如图4.43所示,当I0.2为ON时,定时器10s后Q0.1接通,即实现延时接通功能。当I0.3为ON时,复位定时器。图4.43TON指令编程实例知识卡9S7-1200指令及应用二、S7-1200基本指令(2)TON指令(接通延时定时器)【例4-4】用接通延时定时器设计周期和占空比可调的振荡电路。图4.44中的串联电路接通后,定时器T5的IN输入信号为1状态,开始定时。2s后定时时间到,它的Q输出使定时器T6开始定时,同时Q0.7的线圈通电。3s后T6的定时时间到,它的输出“T6”.Q的常闭触点断开,使T5的IN输入电路断开,其Q输出变为0状态,使Q0.7和定时器T6的Q输出也变为0状态。下一个扫描周期因为“T6”.Q的常闭触点接通,T5又从预设值开始定时。Q0.7的线圈将这样周期性地通电和断电,直到串联电路断开。Q0.7线圈通电和断电的时间分别等于T6和T5的预设值。图4.44定时器设计振荡电路知识卡9S7-1200指令及应用二、S7-1200基本指令

(3)TOF指令(关断延时定时器)关断延时定时器在预设的延时过后将输出Q重置为OFF,定时器的指令标识符为TOF。指令中引脚定义与TP/TON指令引脚定义一致。TOF指令执行时的时序图如图4.45所示,当IN由0变为1时,Q为1;当IN由1变为0时,定时器开始定时,定时时间到,Q为0;如果IN为1的状态下,突然有一个小于定时时间的延时,则Q不会变为0。图4.45TOF指令时序图知识卡9S7-1200指令及应用二、S7-1200基本指令

(3)TOF指令(关断延时定时器)TOF指令的编程实例如图4.46所示,当I0.5为ON时,Q0.4输出为ON,当I0.5变为OFF时,Q0.4保持输出10s后自动断开为OFF,即实现延时关断功能。图4.46TOF编程实例知识卡9S7-1200指令及应用二、S7-1200基本指令

(4)TONR指令(保持性接通延时定时器)保持性接通延时定时器在预设的延时过后将输出Q设置为ON,标识符为TONR。保持性接通延时定时器的功能与接通延时定时器的功能基本一致,区别在于保持型接通延时定时器在定时器的输入端的状态变为OFF时,定时器的当前值不清零,在使用R输入重置经过的时间之前,会跨越多个定时时段一直累加经过的时间而接通延时定时器;在定时器的输入端的状态变为OFF时,定时器的当前值会自动清零。指令中引脚定义R表示重置定时器,其余与TP/TON指令引脚定义一致,TONR指令执行时的时序图如图4.47所示。图4.47TONR时序图知识卡9S7-1200指令及应用二、S7-1200基本指令

(4)TONR指令(保持性接通延时定时器)TONR指令的编程实例如图4.48所示,当I0.5接通为ON时,TONR指令执行延时功能,若在定时器的延时时间未到达10s时,I0.5变为OFF,则定时器的当前值保持不变,当I0.5再次变为ON时,定时器在原基础上继续往上计时。当定时器的延时时间到达10s时,Q0.4输出为ON。在任何时候,只要I1.1的状态为ON,则该定时器的当前值都会被清零,输出Q0.4复位。图4.48TONR编程实例知识卡9S7-1200指令及应用二、S7-1200基本指令

(4)TONR指令(保持性接通延时定时器)【例4-5】用3种定时器指令设计卫生间冲水控制电路,功能为当光电开关检测到有人使用,控制冲水电磁阀。当检测有人使用时,延时3秒后冲水4s,检测到人离开后冲水5s。图4.49是卫生间冲水时序图,图4.50是梯形图控制程序。I0.7是光电开关检测到的有使用者的信号,用Q1.0控制冲水电磁阀。从I0.7(有人使用)的上升沿开始,TON延时3s后其输出Q变为1状态,使TP的IN输入信号变为1状态,M2.0提供4s的脉冲。TOF的Q输出M2.1的波形减去I0.7的波形得到宽度为5s的脉冲波形,用两个触点的串联电路来实现上述要求。两块脉冲波形的叠加用并联电路来实现。M2.0的常开触点用于防止3s内有人进入和离开时冲水。知识卡9S7-1200指令及应用二、S7-1200基本指令

(4)TONR指令(保持性接通延时定时器)图4.49卫生间冲水控制时序图知识卡9S7-1200指令及应用二、S7-1200基本指令

(4)TONR指令(保持性接通延时定时器)图4.50卫生间冲水控制梯形图知识卡9S7-1200指令及应用二、S7-1200基本指令

(4)TONR指令(保持性接通延时定时器)【例4-6】两条传送带顺序相连,如图4.51所示,按下启动按钮I0.3,1号传送带开始运行,8s后2号传送带自动起动。按了停止按钮I0.2,先停2号传送带,8s后停1号传送带。图4.51传送带控制知识卡9S7-1200指令及应用二、S7-1200基本指令

(4)TONR指令(保持性接通延时定时器)在传送带控制程序中设置了一个用启动、停止按钮控制的辅助位M2.3,控制TON的IN输入端和TOF线圈。中间标有TOF的线圈上面是定时器的背景数据块,下面是时间预设值PT。TOF线圈和TOF方框定时器指令的功能相同。传送带控制梯形图程序如图4.52所示。图4.52传送带控制梯形图知识卡9S7-1200指令及应用二、S7-1200基本指令

2)计数器操作指令S7-1200有三种IEC计数器操作指令:加计数器(CTU)、减计数器(CTD)、加减计数器(CTUD),它们属于软计数器,其最大计数频率受到OB扫描周期的限制。如果需要频率更高的计数器,可以使用CPU内置的高速计数器。S7-1200的计数器属于函数块,调用时需要生成背景数据块。单击指令助记符下面的问号,用下拉式列表选择某种整数数据类型。CU和CD分别是加计数输入和减计数输入,在CU或CD信号的上升沿,当前计数器值CV被加1或减1。PV为预设计数值,CV为当前计数器值,R为复位输入,Q为布尔输出。知识卡9S7-1200指令及应用二、S7-1200基本指令

(1)加计数器CTU当接在R输入端的I1.1为0状态,在CU信号I1.0的上升沿,CV加1,直到达到指定的数据类型的上限值用,CV的值不再增加。CV大于等于PV时,输出Q为1状态,反之为0状态。第一次执行指令时,CV被清零。各类计数器的复位输入R为1状态时,计数器被复位,输出Q变为0状态,CV被清零。加计数指令及时序图如图4.53所示。图4.53加计数器指令及时序图知识卡9S7-1200指令及应用二、S7-1200基本指令(2)减计数器CTD减计数器的装载输入LD为1状态时,输出Q被复位为0,并把PV的值装入CV。在减计数输入CD的上升沿,CV减1,直到CV达到指定的数据类型的下限值。此后CV的值不再减小。CV

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论