570 likes | 684 Views
第 4 章 S7-200 系列 PLC 的编程语言及程序结构. STEP7-Micro/WIN32 编程软件介绍. 4.1 常见的编程语言. 4.1.1 梯形图 4.1.2 语句表 4.1.3 顺序功能图 4.1.4 功能块图. 4.1.1 梯形图 梯形图是 PLC 使用得最多的图形编程语言,被称为 PLC 的第一编程语言。梯形图与电器控制系统的电路图很相似,具有直观易懂的优点,很容易被工厂电气人员掌握,特别适用于开关量逻辑控制。梯形图常被称为电路或程序,梯形图的设计称为编程。. 4.1 常见的编程语言. 4.1 常见的编程语言. 1 .软继电器
E N D
第4章 S7-200系列PLC的编程语言及程序结构 STEP7-Micro/WIN32编程软件介绍
4.1 常见的编程语言 • 4.1.1 梯形图 • 4.1.2 语句表 • 4.1.3 顺序功能图 • 4.1.4 功能块图 • 4.1.1 梯形图 • 梯形图是PLC使用得最多的图形编程语言,被称为PLC的第一编程语言。梯形图与电器控制系统的电路图很相似,具有直观易懂的优点,很容易被工厂电气人员掌握,特别适用于开关量逻辑控制。梯形图常被称为电路或程序,梯形图的设计称为编程。
4.1 常见的编程语言 • 1.软继电器 • PLC梯形图中的某些编程元件沿用了继电器这一名称,如输入继电器、输出继电器、内部辅助继电器等,但是它们不是真实的物理继电器,而是一些存储单元(软继电器),每一软继电器与PLC存储器中映像寄存器的一个存储单元相对应。该存储单元如果为“1”状态,则表示梯形图中对应软继电器的线圈“通电”,其常开触点接通,常闭触点断开,称这种状态是该软继电器的“1”或“ON”状态。如果该存储单元为“0”状态,对应软继电器的线圈和触点的状态与上述的相反,称该软继电器为“0”或“OFF”状态。使用中也常将这些“软继电器”称为编程元件。
4.1 常见的编程语言 • 2.能流 • 如图所示正转按钮接通时,有一个假想的“概念电流”或“能流”(Power Flow)从左向右流动,这一方向与执行用户程序时的逻辑运算的顺序是一致的。能流只能从左向右流动。利用能流这一概念,可以帮助我们更好地理解和分析梯形图。
4.1 常见的编程语言 • 3.母线 • 梯形图两侧的垂直公共线称为母线(Bus bar)。在分析梯形图的逻辑关系时,为了借用继电器电路图的分析方法,可以想象左右两侧母线(左母线和右母线)之间有一个左正右负的直流电源电压,母线之间有“能流”从左向右流动。右母线可以不画出。 母线
4.1 常见的编程语言 • 4.梯形图的逻辑解算 • 根据梯形图中各触点的状态和逻辑关系,求出与图中各线圈对应的编程元件的状态,称为梯形图的逻辑解算。梯形图中逻辑解算是按从左至右、从上到下的顺序进行的。解算的结果,马上可以被后面的逻辑解算所利用。逻辑解算是根据输入映像寄存器中的值,而不是根据解算瞬时外部输入触点的状态来进行的。 • 梯形图具有形象、直观、简单明了,特别适合电气工程技术人员对电气设备控制原理图的阅读习惯,在开关量控制中,一般采用梯形图进行编程。
4.1 常见的编程语言 • 4.1.2 语句表(STL) • 语句表是由语句构成的,语句是程序的基本单元,应用程序的每个控制功能,均由一条指令或多条指令语句组成的应用程序来完成。PLC语句表是一种与汇编语言类似的助记符编程表达式,PLC的语句由操作码和操作数组成,其一般形式为操作码+操作数。操作码又称编程指令,用助记符表示它表明了PLC要完成的某种操作功能;操作数包含为执行某种操作所必需的信息,告诉PLC用什么地方的数据来执行此操作,语句表编程有键入方便编程灵活、能直接被PLC识别、能完成复杂运算的数据处理功能等优点,但不是很直观。
4.1 常见的编程语言 • 4.1.3 顺序功能图 • 顺序控制就是按照生产工艺预先规定的顺序,在各个输入信号作用下,根据内部状态和时间顺序,使生产过程中各个执行机构自动而有序地进行工作。用PLC进行生产过程的顺序控制时,首先要根据系统工艺过程画出顺序功能图,然后将顺序功能图转换成梯形图或指令语句表。 • 1. 顺序功能图组成要素 • 顺序功能图主要由步、有向连线、转换、转换条件和动作(或命令)等要素组成。 • 2. 顺序功能图基本结构 • 根据步与步之间的转换形式,顺序功能图有单序列结构、选择序列结构和并行序列结构三种基本形式。
4.1 常见的编程语言 • 4.1.3 顺序功能图 LD M8002 SET S0 STL S0 LD X5 SET S20 ANI X5 SET S0 STL S20 OUT Y11 OUT T3 K50 LD T3 SET S21 STL S21 OUT Y10 LD X0 ANDX2 SET S22 STLS22 OUT Y11 ANI X3 SET S0 RET END
4.1 常见的编程语言 • 4.1.4功能块图 • 功能框图(FBD)是一种类似于数字逻辑门电路的编程语言。该编程语言用类似与门、或门的方框来表示逻辑运算关系,方框的左侧为逻辑运算的输入变量,右侧为输出变量。输入、输出端的小圆圈表示非运算,方框被导线连接在一起,信号自左向右运动。
4.2 梯形图的特点与编程规则 • 4.2.1 梯形图的特点 • (1) 它是一种图形语言,沿用传统控制图中的继电器触点、线圈、串联等术语和一些图形符号构成,左右的竖线称为左右母线。 • (2) 梯形图中接点(触点)只有常开和常闭,接点可以是PLC输入点接的开关也可以是PLC内部继电器的接点或内部寄存器、计数器等的状态。 • (3) 梯形图中的接点可以任意串、并联,但线圈只能并联不能串联。 • (4)内部继电器、计数器、寄存器等均不能直接控制外部负载,只能做中间结果供CPU内部使用。 • (5) PLC是按循环扫描事件,沿梯形图先后顺序执行,在同一扫描周期中的结果留在输出状态暂存器中所以输出点的值在用户程序中可以当做条件使用。
4.2 梯形图的特点与编程规则 • 4.2.2 梯形图编程的基本规则 • 1)梯形图按自上而下,自左到右的顺序绘制。每个输出线圈构成一个逻辑行,控制一个动作。输出线圈右侧无触点,左侧必须有触点。 同一网络中,自母线出发的各触点组合只能与一个线圈并联,不能单独输出另外的线圈。触点中间可以分支输出到线圈。
4.2 梯形图的特点与编程规则 • (2)在每一个逻辑行上,当几条支路并联时串联触点多的支路应安排在上面;几条支路串联时,并联触点安排在左面,可以减少编程指令。 • (3)梯形图中触点应画在水平支路上,不应画在垂直之路上。 • (4)一个触点上不应有双向电流流过。 • (5)在梯形图中,如果两个逻辑行之间互有牵连,逻辑关系又不清晰应将梯形图进行变换,以便于编程。 • (6)在梯形图中任一支路上的串联触点、并联触点及内部并联线圈的个数一般不受限制,但在小型机中,串并联的操作次数一般不超过8次。
4.2 梯形图的特点与编程规则 • 4.2.3 梯形图与继电-接触器控制电路比较 • 梯形图语言起源于继电器逻辑和执行线圈,它用不同的图符来表示不同的指令,用串、并联等拓扑关系组织图符的顺序位置来表述逻辑。 • 继电接触器原理图是由各种电器及导线连接起来的电路,用来表明设备电气的工作原理及各电器元件之间相互作用关系的电路图。 • 梯形图作为PLC的第一编程语言,具有形象、直观的优点,容易被熟悉继电器控制的技术人员掌握。它虽源于继电接触器电气原理图,也与其十分相似,但它们只是形式上的相似,实质上却存在着本质的差别。
4.3 PLC的程序结构 • 控制一个任务或者是过程,是通过在“RUN”方式下,使主机循环扫描并连续执行用户程序来实现的,用户程序决定了一个控制系统的功能。程序的编制是可以使用编程软件在计算机或其他编程设备中进行。 • S7-200系列PLC的程序结构一般有3部分构成:用户程序、数据块和系统块。 • 4.3.1 用户程序 • 用户程序作为程序块是程序的必选项。用户程序在存储器空间也称为组织块,它处于最高层次,可以管理其他功能块,使用各种语言编写的程序。 • 用户程序包括主程序、子程序和中断程序。
4.3 PLC的程序结构 • 1.主程序 • 主程序是应用程序中的必选组件,CPU在每一个扫描周期中顺序执行这些指令。在S7-200中主程序被表示成OB1。STEP7-Micro/Win中在程序编译时自动加入。 • 2.子程序 • 子程序是应用程序中的可选组件。只有被主程序、中断服务程序或者其他子程序调用时子程序才会执行,用于执行重复的任务。 • 3.中断服务程序 • 中断服务程序也是可选组件,正常工作时,中断服务程序不会被调用,只有中断事件发生时,才被执行。
4.3 PLC的程序结构 • 4.3.2 数据块 • 数据块为可选部分,又称为DB1,在存储空间中使用V存储器。它主要存放控制程序运行时所需的数据,数据块进允许对V存储区进行数据初始值或ASCII字符赋值。 • 4.3.3 系统块 • 系统块也是可选部分,他存放的是CPU组态数据,如果在编程软件或其他编程工具上未进行CPU组态,则系统以默认值进行自动配置。 程序结构
4.4 PLC程序编辑器的选择 • STEP7-Micro/Win提供了三种程序编辑器来创建用户程序。即:LAD、FBD、STL。 • 4.4.1 STL编辑器 • 文本语言的形式显示程序,使用指令助记符来创建控制程序,可以创建LAD和FBD无法创建的程序。 • CPU按照从上到下的次序执行每一条指令,然后返回到程序的开始重新执行。STL使用一个逻辑堆栈来分析控制逻辑,可以插入STL指令来处理堆栈操作。同时需要考虑: • 1)STL适合有经验的程序员;2)能解决其他两种语言不能解决的问题;3)只能使用SIMATIC指令集;4)LAD和FBD可转化成STL,而反之则不一定成立。
4.4 PLC程序编辑器的选择 • 4.4.2 LAD编辑器 • 特点:易于初学者使用;易于理解,通用性强;能够使用SIMATIC指令集和IEC1131-3指令集;可以使用STL编辑器显示所有LAD编辑器的程序。
4.4 PLC程序编辑器的选择 • 4.4.3 FBD编辑器 • FBD编辑器以图形方式显示程序,没有梯形图编辑器中的触点和线圈。 • 特点:有利于程序流的跟踪;能够使用SIMATIC指令集和IEC1131-3指令集;可以使用STL编辑器显示所有LAD编辑器的程序。
4.5 STEP7-Micro/WIN编程软件简介 • 简介:STEP 7-Micro/WIN 32编程软件是基于Windows的应用软件,由西门子公司专门为SIMATIC S7-200系列可编程序控制器设计开发。主要为用户开发控制程序使用,也可实时监控用户程序的执行状态。 • 本节主要内容: • 软件的安装 • 软件的基本功能 • 编程、调试、运行监控方法
4.5 STEP7-Micro/WIN编程软件简介 • 4.5.1 STEP7-Micro/WIN编程软件安装 • 软件来源:STEP 7-Micro/WIN32——西门子网站下载或光盘。 • 安装:双击STEP7-Micro/WIN32的安装程序setup.exe,根据在线提示,完成安装。 • 编程语言:选择英语。 • 界面汉化:安装完后可用STEP 7-Micro/WIN 32中文汉化软件将编程界面和帮助文件汉化,使编程环境为中文状态。 • 电缆连接:PC/PPI电缆RS-232与PC机相连,RS-485与PLC的RS-485相连。
4.5 STEP7-Micro/WIN编程软件简介 • 模式设置: PC/PPI电缆DIP开关中1、2、3设定波特率,4选择10位或11位数据传输模式,5选择RS-232为数据通讯设备模式或数据终端设备模式。没有调制解调器时开关4、5均应设置为0。
4.5 STEP7-Micro/WIN编程软件简介 • 通信参数的设置和修改 • 运行STEP 7- Micro/WIN 32,在引导条中单击“通讯”图标,或从主菜单中选择“检视”中的“通讯”项,则会出现一个通讯设定对话框。 • 双击PC/PPI电缆的图标,将出现设置PG/PC接口的对话框,这时可安装或删除通信接口、设置检查通信接口参数等操作。 • 设置好参数后,可双击通讯设定对话框中的刷新图标,STEP 7- Micro/WIN 32将检查所连接的所有S7-200 CPU站(默认站地址为2),并为每个站建立一个CPU图标。
4.5 STEP7-Micro/WIN编程软件简介 • 4.5.2 STEP7-Micro/WIN编程软件项目窗口 • 基本功能 • 创建用户程序、修改和编辑原有的用户程序。 • 设置PLC的工作方式和参数,上装和下装用户程序,进行程序的运行监控。 • 具有简单语法的检查、对用户程序的文档管理和加密等功能,并提供在线帮助。 • 1.打开STEP7-Micro/WIN • 双击STEP7-Micro/WIN图标,启动软件,打开一个项目窗口。 • 2.窗口功能介绍
4.5 STEP7-Micro/WIN编程软件简介 程序编辑器 状态图表 数据块 浏览条 指令树 符号表 菜单条 输出窗口 状态条 程序查看 局部变量表
4.5 STEP7-Micro/WIN编程软件简介 • 2.窗口功能介绍 • (1)菜单条 • (2)工具条 提供简便的鼠标操作,可用“检视”菜单的“工具栏”项自定义工具条。可添加和删除3种按钮:标准、调试和指令。 • (3)引导条 提供按钮控制的快速窗口切换功能。可用“检视”菜单的“浏览栏”项选择是否打开。引导条包括程序块(Program Block)、符号表(Symbol Table)、状态图表(Status Chart)、数据块(Data Block)、系统块(System Block)、交叉索引(Cross Reference)和通讯(Communications)七个组件。一个完整的项目文件(Project)通常包括前六个组件。
4.5 STEP7-Micro/WIN编程软件简介 • (4)指令树 提供编程时用到的所有快捷操作命令和PLC指令。可用“检视”菜单的“指令树”项决定是否将其打开。 • (5)输出窗口 显示程序编译的结果信息。 • (6)状态条 显示软件执行状态,编辑程序时,显示当前网络号、行号、列号;运行时,显示运行状态、通讯波特率、远程地址等。 • (7)程序编辑器 梯形图、语句表或功能图表编辑器编写用户程序,或在联机状态下从PLC上装用户程序进行程序的编辑或修改。 • (8)局部变量表 每个程序块都对应一个局部变量表,在带参数的子程序调用中,参数的传递就是通过局部变量表进行的。
4.5 STEP7-Micro/WIN编程软件简介 • 4.5.3程序的创建、下载和运行 • 图为一个完整的梯形图程序,这个程序在3个程序段中用6条指令完成了一个定时器的自启动、自复位的简单功能。
4.5 STEP7-Micro/WIN编程软件简介 • (1)打开程序编辑器 双击STEP7-Micro/WIN图标,打开程序编辑器,如图所示。
4.5 STEP7-Micro/WIN编程软件简介 • (2)输入程序段网络1,启动定时器,当M0.0的状态为0时,常闭触点接通,启动定时器T37。 1)常闭触点M0.0的输入步骤; 2)定时器T37的输入步骤 课堂演示
4.5 STEP7-Micro/WIN编程软件简介 • (3)输入程序段网络2,使输出点闭合 当定时器值大于等于40时,输出点Q0.0闭合。 1)输入比较指令的步骤步骤; 2)输出指令的输出步骤。 课堂演示
4.5 STEP7-Micro/WIN编程软件简介 • (5)保存新创建程序 完成以上3个程序段输入后,也就创建了一个完整的程序,单击保存按钮可以进行保存。 课堂演示
4.5 STEP7-Micro/WIN编程软件简介 • 2. 程序下载 • 编写完一个程序后,需要下载到PLC进行运行,单击下载按钮,出现下载对话框。 课堂演示 应根据提示检查系统硬件及通讯配置,直至通信连接正确。 根据默认值,在初次下载命令时,下载PB、DB和SB。 连接正常后会出现下载按钮。
4.5 STEP7-Micro/WIN编程软件简介 • 3. 程序的运行 • 要通过STEP7-Micro/WIN软件将S7200系列PLC转入运行模式,S7200的模式开关必须设置为“TERM”或“RUN”。单击工具条上的运行按钮,出现一个对话框提示是否切换运行模式,单击“是”,即可切换到运行模式。 • 4.监控程序状态 • 在通信连接正确的情况下,单击工具条上的程序状态按钮或在菜单中选择“调试”、“开始程序状态”,监控程序的执行状态。本程序执行后,会使Q0.0输出状态指示灯时亮时暗。 • 注意:图中线条加重和触点涂黑表示有“能流”通过。
4.5 STEP7-Micro/WIN编程软件简介 • 4.5.4 系统组态 • 1.数字量输入滤波允许为部分或全部数字量输入点设置输入滤波。 • 检视系统块输入过滤器。延时时间范围为0.2~12.8ms,默认值为6.4ms。
4.5 STEP7-Micro/WIN编程软件简介 2.模拟量输入滤波 • S7-200CPU222、224和226在模拟量输入信号变化缓慢的场合,可以对不同的模拟量输入选择软件滤波。 • 检视系统块模拟量输入过滤器。系统默认参数为:模拟量输入点全部滤波、采样次数为64、静区值为320。
4.5 STEP7-Micro/WIN编程软件简介 • 3.设置脉冲捕捉 • 如果数字量输入点有一个持续时间小于扫描周期的脉冲,则CPU不能捕捉到此脉冲,S7-200CPU为每个主机数字量输入点提供脉冲捕捉功能。
4.5 STEP7-Micro/WIN编程软件简介 • 4.输出表的设置 • 系统块 输出表。冻结输出: • RUNSTOP后,所有数字量输出点将冻结在CPU进入STOP方式之前的状态;否则:数字量输出点的状态用输出表来设置。
4.5 STEP7-Micro/WIN编程软件简介 • 5.PLC断电后的数据保存方式 • CPU用EEPROM保存用户程序、程序数据及CPU组态数据;用一个超级电容器,使PLC在掉电时保存整个RAM存储器中的信息。S7-200PLC还可选用存储器卡保持用户程序。CPU模块在STOP方式下,点击菜单“PLC”中的“程序存储器卡”项就可将用户程序、CPU组态信息及V、M、T、C的当前值复制到存储器卡中。单击“系统块”的“保存范围”标签,可选择PLC断电时希望保持的内存区域。最多可定义六个要保存的存储区范围,设置保存的存储区有V、M、C和T。对于定时器,只能保存定时器TONR,而且只能保持定时器和计数器的当前值,定时器位和计数器位不能保持,上电时定时器位和计数器位均被消除。对M存储区的前14个字节,系统缺省设置为不保持。
4.5 STEP7-Micro/WIN编程软件简介 • 6.CPU密码的设置默认是1级,相当于关闭了密码功能。在“系统块”窗口中点击“密码”标签。首先选择适当的限制级别(如2、3级),需输入密码(密码不区分大小写)并确认密码。要使密码设置生效,必须先运行一次程序。如果忘记了密码,必须清除存储器,重新下载程序。
4.6 STEP7-Micro/WIN编程软件的使用 • 4.6.1项目生成 • 1.新建项目 • (1) 确定PLC的CPU型号 • (2) 项目文件更名 • (3) 添加一个子程序 • (4) 添加一个中断程序 • (5) 编辑程序 • 2.打开已有项目文件 • 3.上装和下装项目文件
4.6 STEP7-Micro/WIN编程软件的使用 • 4.6.2 程序的编辑与传送 • 以梯形图编辑器为例,语句表和功能块图编辑器的操作类似。 • 1.输入编程元件 梯形图的编程元件(编程元素)主要有线圈、触点、指令盒、标号及连接线。输入方法:指令树窗口中双击要输入的指令,就可在矩形光标处放置一个编程元件。工具条上的编程按钮。单击触点、线圈或指令盒按钮,从弹出的窗口下拉菜单所列出的指令中选择要输入指令单击即可。 • 2.插入和删除 在编辑区右击要进行操作的位置,弹出图示的下拉菜单,选择“插入”或“删除”选项,弹出子菜单,单击要插入或删除的项,然后进行编辑。也可用菜单“编辑”中相应的“插入”或“编辑”中的“删除”项完成相同的操作。
4.6 STEP7-Micro/WIN编程软件的使用 • 3.符号表 • 将梯形图中的直接地址编号用具有实际含义的符号代替。方法:在编程时使用直接地址(如I0.0),然后打开符号表,编写与直接地址对应的符号(如与I0.0对应的符号为start),编译后由软件自动转换名称。另一种是在编程时直接使用符号名称,然后打开符号表,编写与符号对应的直接地址,编译后得到相同的结果。
4.6 STEP7-Micro/WIN编程软件的使用 • 4.局部变量表 • (1)局部变量与全局变量 程序中的每个POU(Program Organizational Unit,程序组织单元)都有64K字节L存储器组成的局部变量表。局部变量只在它被创建POU中有效。全局变量在各POU中均有效,只能在符号表(全局变量表)做定义。 • (2)局部变量的设置 将光标移到编辑器的程序编辑区的上边缘,向下拖动上边缘,则自动出现局部变量表,此时可为子程序和中断服务程序设置局部变量。
4.6 STEP7-Micro/WIN编程软件的使用 • 5.语言转换 语句表、梯形图和功能块图三种编程语言(编辑器)之间的任意切换。检视STL(语句表)、LAD(梯形图)或FBD(功能块图)便可进入对应的编程环境。
4.6 STEP7-Micro/WIN编程软件的使用 • 6.编译用户程序程序编辑完成,可用菜单“PLC”中的“编译”项进行离线编译。编译结束后在输出窗口显示程序中的语法错误的数量、各条错误的原因和错误在程序中的位置。双击输出窗口中的某一条错误,程序编辑器中的矩形光标将会移到程序中该错误所在的位置。必须改正程序中的所有错误,编译成功后才能下载程序。
4.6 STEP7-Micro/WIN编程软件的使用 • 7.程序的下载和清除 • 下载之前,PLC应处于STOP方式。单击工具栏的“停止”按钮,或选择菜单命令“PLC”中的“停止”项,可以进入STOP状态。如果不在STOP状态,可将CPU模块上的方式开关扳到STOP位置。 • 为了使下载的程序能正确执行,下载前必须将PLC存储器中的原程序清除。清除的方法是:单击菜单“PLC”中的“清除”项,会出现清除对话框,选择“清除全部”即可。