5 S7-200可编程控制器 编程.

Slides:



Advertisements
Similar presentations
第六 章数据库访问页 6.1 数据访问页视图 6.2 创建数据访问页 6.3 编辑数据访问页 6.4 查看数据访问页 退出.
Advertisements

LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
项目2 字符格式和段落编排 2017年3月7日6时54分.
学习情境3 西门子编程软件应用 黄有全 2008年6月30日.
Oracle数据库 Oracle 子程序.
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
在PHP和MYSQL中实现完美的中文显示
施耐德电气(中国)投资有限公司 运动控制部技术经理 李幼涵 高级工程师
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
第八章 菜单设计 §8.1 Visual FoxPro 系统菜单 §8.2 为自己的程序添加菜单 §8.3 创建快捷菜单.
走进编程 程序的顺序结构(二).
辅导课程六.
网络常用常用命令 课件制作人:谢希仁.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
Windows网络操作系统管理 ——Windows Server 2008 R2.
第一讲: 基本流程(1).
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
以ISI平台为例,为您演示一下如何在Endnote文献中查看该文献的References
逆向工程-汇编语言
数据挖掘工具性能比较.
ENS 10.1安装配置指南 王俊涛 | SE.
CPU结构和功能.
Windows 7 的系统设置.
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
第一章 函数与极限.
第二章 登录UNIX操作系统.
C语言程序设计 主讲教师:陆幼利.
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
模块6 S7-200 PLC基本逻辑指令 项目 6.2 电动机Y-减压起动控制设计 项目 6.2 电动机Y-减压起动控制设计
ASP New and other UIs: Medical Videos Searchasaurus
顺序表的删除.
第1章 c++概述 1.1 C++语言的简史及特点 1.2 简单的C++程序 1.3 C++语言的基本组成
VB与Access数据库的连接.
姚金宇 MIT SCHEME 使用说明 姚金宇
实验七 安全FTP服务器实验 2019/4/28.
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
项目二:HTML语言基础.
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
第4章 Excel电子表格制作软件 4.4 函数(一).
8 可编程控制器编程软件.
iSIGHT 基本培训 使用 Excel的栅栏问题
本节内容 结构体 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
LOGIX500软件入门 西安华光信息技术有限公司 2008年7月11日.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
Visual Basic程序设计 第13章 访问数据库
魏新宇 MATLAB/Simulink 与控制系统仿真 魏新宇
HSC高速输出例程 HORNER APG.
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
Python 环境搭建 基于Anaconda和VSCode.
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
第5章 S7-200 PLC编程软件及应用 5.1 编程软件系统概述 5.2 STEP 7-Micro/WIN 32软件功能
第六章 Excel的应用 五、EXCEL的数据库功能 1、Excel的数据库及其结构 2、Excel下的数据排序 (1)Excel的字段名行
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
第8章 创建与使用图块 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块。图块中的各实体可以具有各自的图层、线性、颜色等特征。在应用时,图块作为一个独立的、完整的对象进行操作,可以根据需要按一定比例和角度将图块插入到需要的位置。 2019/6/30.
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第四章 UNIX文件系统.
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
顺序结构程序设计 ——关于“字符串”和数值.
LOGO HERE 单击此处添加 您的标题标题标题 PRESENTED BY JANE DOE
工业机器人入门使用教程 ESTUN机器人 主讲人:李老师
培训课件 AB 变频器的接线、操作及参数的备份 设备动力科.
第四章 基本指令 要求: 熟练掌握基本逻辑指令及应用。 掌握梯形图编程规则。.
百万行、千万行数据查询教程 老黄牛.
Presentation transcript:

5 S7-200可编程控制器 编程

S7--200周而复始地执行应用程序,控制一个任务或过程。利用STEP 7--Micro/WIN可以创建一个用户程序并将它下载到S7--200中。STEP 7--Micro/WIN软件中提供了多种工具和特性用于完成和调试应用程序。

主要内容 5.1 设计一个微型PLC系统的指导原则 5.2 程序的基本组件 5.3 用STEP 7--Micro/WIN创建用户程序 5.4 选择SIMATIC和IEC 1131--3指令集 5.5 理解程序编辑器中使用的惯例 5.6 使用向导帮您创建控制程序 5.7 S7--200中的出错处理 5.8 在数据块中指定地址和初始值 5.9 用符号表来定义变量的符号地址 5.10 使用局部变量 5.11 用状态图来监视用户程序 5.12 创建一个指令库 5.13 应用程序的调试

5.1 设计一个微型PLC系统的指导原则 1 分解控制过程或者机器 2 创建功能说明 3 安全电路的设计 4 指定操作员站 5 创建配置图 6 建立符号名表(可选)

1 分解控制过程或者机器 将控制过程或者机器分解成相互独立的部分。分解决定了控制器之间的界限,并将影响功能描述和资源的分配。

2 创建功能说明 写出过程或者机器每一部分的操作描述。它包括以下内容:I/O点、操作的功能描述、每个执行机构(例如线圈、电机和驱动器等)在动作之前需要满足的状态、操作员接口的描述以及过程或机器与其他部分的接口。

3 安全电路的设计 识别要求设计硬件安全线路的设备。控制设备在不安全的条件下出现故障,会造成不可预料的启动或者机器操作的变化。在不可预料或者不正确的机器操作会造成人身伤害或严重的财产损失的场合,应该考虑采用独立于S7--200的机电超驰控制来防止不安全的操作。在设计安全电路时,应考虑以下几点:

识别有可能不合适或者不可预料操作有可能会造成危害的执行机构。 识别确保操作不发生危害的条件,并决定如何独立于CPU来检测这些条件。 识别上电或断电时,CPU和I/O对过程有何影响,识别错误何时被检测出来。这个信息只能用于常规的和可以预料的异常操作,不能用于保障安全的目的。 设计独立于CPU的手动或机电超驰控制来阻止危险的操作。 向CPU提供独立电路的状态信息,便于程序和操作员界面得到需要的信息。 识别其它与过程安全操作相关的安全要求。

4 指定操作员站 根据功能描述的要求建立操作员站的配置图。包括如下内容: 与过程或者机器有关的每个操作员站的位置总图。 操作员站 与CPU或扩展模块有关的电气图

5 创建配置图 根据功能描述的要求建立控制设备的配置图。包括如下内容: 和过程或者机器有关的每个CPU的位置图。 CPU和扩展I/O模块的机械布局图(包括控制柜和其它设备)。 每个CPU和扩展模块的电气图(包括设备型号、通讯地址和I/O地址)。

6 建立符号名表(可选) 如果选择了符号名寻址,需要对绝对地址建立一个符号名表。符号名表不仅包括物理输入/输出信号,还包括程序中用到的其它元件。

5.2 程序的基本组件 一个程序块由 可执行代码和注释组成。 可执行代码由 主程序和若干子程序或者中断服务程序组成。 可执行代码被编译并下载到S7--200中,而程序注释不会被下载。您可以使用组织组件(主程序、子程序和中断服务程序)来结构化您的控制程序。 以下例子程序包括一个子程序和一个中断服务程序。该例子程序使用一个定时中断,每100 ms读一次模拟量的输入值。

⑴主程序 ⑵子程序 主程序中包括控制应用的指令。S7--200在每一个扫描周期中顺序执行这些指令。主程序也被表示为OB1。 子程序是应用程序中的可选组件。只有被主程序、中断服务程序或者其它子程序调用时,子程序才会执行。当希望重复执行某项功能时,子程序是非常有用的。与其在主程序中的不同位置多次使用相同的程序代码,不如将这段程序逻辑写在子程序中,然后在主程序中需要的地方调用。

⑶中断服务程序 中断服务程序是应用程序中的可选组件。当特定的中断事件发生时,中断服务程序执行。可以为一个预先定义好的中断事件设计一个中断服务程序。当特定的事件发生时,S7--200会执行中断服务程序。 中断服务程序不会被主程序调用。只有当中断服务程序与一个中断事件相关联,且在该中断事件发生时,S7--200才会执行中断服务程序。

其它块中也包含了S7--200的信息。当下载程序时,可以选择同时下载这些块。 ⑷程序中的其它组件 其它块中也包含了S7--200的信息。当下载程序时,可以选择同时下载这些块。 系统块 系统块允许您为S7--200配置不同的硬件参数。 数据块 数据块存储应用程序中所使用的不同变量值(V存储器)。可以用数据块输入数据的初始值。

5.3 用STEP 7--Micro/WIN创建用户程序 要打开STEP 7--Micro/WIN,可以双击STEP 7--Micro/WIN图标,也可以在命令菜单中选择开始 >SIMATIC > STEP 7 MicroWIN 32 V4.0。如图5-1所示,STEP 7--Micro/WIN项目窗口为创建控制程序提供了一个便利的工作环境。 工具栏提供有常用的菜单命令的快捷按钮。可以显示或者隐藏任意工具栏。

操作栏为访问STEP 7--Micro/WIN中不同的程序组件提供了一组图标。 指令树显示了所有的项目对象和创建控制程序所需要的指令。可以将指令从指令树中拖到应用程序中,也可用双击指令的方法将该指令插入到程序编辑器中的当前光标所在地。

程序编辑器中包括程序逻辑和局部变量表。可以在局部变量表中为临时的局部变量定义符号名。在程序编辑器的底部有子程序和中断服务程序的标签。点击这些标签,可以在主程序、子程序和中断服务程序之间切换。

STEP 7--Micro/WIN提供三种编辑器来创建用户程序:梯形图(LAD)、语句表(STL)和功能块图(FBD)。尽管有一定限制,但是用任何一种程序编辑器编写的程序都可以用另外一种程序编辑器来浏览和编辑。

STL编辑器的特点 STL编辑器按照文本语言的形式显示程序。STL编辑器允许输入指令助记符来创建控制程序。语句表也允许创建用LAD和FBD编辑器无法创建的程序。这是因为在使用S7--200的本族语言进行编程,而在图形编辑器中,为了正确地画出图形,必须遵守一些规则。如图5-2所示,文本方式与汇编语言的编程方式十分相象。

S7--200从上到下按照程序的次序执行每一条指令,然后回到程序的开始重新执行。STL使用一个逻辑堆栈来分析控制逻辑。插入STL指令来处理堆栈操作。

LAD编辑器的特点 LAD编辑器以图形方式显示程序,与电气接线图类似。梯形图程序允许程序仿真来自电源的电流通过一系列的逻辑输入条件,决定是否使能逻辑输出。一个LAD程序包括左侧提供能流的能量线。闭合的触点允许能量通过它们流到下一个元素,而打开的触点阻止能量的流动。

逻辑控制是分段的,程序在同一时间执行一段,从左到右,从上到下。图5-3给出了LAD程序的一个例子。不同的指令用不同的图形符号表示。它包括三种基本形式。 触点代表逻辑输入条件,例如;开关、按钮或者内部条件等。 线圈通常表示逻辑输出结果,例如:灯负载、电机启动器、中间继电器或者内部输出条件。 盒表示其它一些指令,例如:定时器、计数器或者数学运算指令。

FBD编辑器的特点 FBD编辑器以图形方式显示程序,由通用逻辑门图形组成。在LAD编辑器中看不到触点和线圈,但是有等价的、以盒指令形式出现的指令。 图5-4中给出了FBD程序的一个例子。 FBD不使用左右能量线,因此“能流”这个术语用于表示通过FBD逻辑块控制流这样一个类似的概念。

逻辑“1”通过FBD元素称为能流。能流的原始输入和最终的输出可以直接分配给操作数。 程序逻辑由这些盒指令之间的连接决定。也就是说,一条指令(例如AND盒)的输出可以用来允许另一条指令(例如定时器),这样可以建立所需要的控制逻辑。这样的连接概念使我们可以解决各种各样的逻辑问题。

5.4 选择SIMATIC和IEC 1131--3指令集 大部分PLC产品提供相似的基本指令,但是不同厂商的PLC产品在它们的表示和操作上常常有小的差别。近年来,国际电工委员会(IEC)推出了一个有关PLC编程各个方面的一个全球标准。这个标准鼓励不同的PLC厂商向用户提供与IEC指令集的表示和操作一致的指令。 S7--200提供两种指令集用于完成各种自动化任务。IEC指令集符合PLC编程的IEC 1131--3标准,而SIMATIC指令集是专门为S7--200设计的。

5.5 理解程序编辑器中使用的惯例 STEP 7--Micro/WIN在所有程序编辑器中使用以下惯例: 在符号名前加#(#Var1)表示该符号为局部变量。 在IEC指令中 % 表示直接地址。 操作数符号“?.?”或“????”表示需要一个操作数组态。

LAD程序被分为程序段。一个程序段是按照顺序安排的以一个完整电路的形式连接在一起的触点、线圈和盒,不能短路或者开路,也不能有能流倒流的现象存在。STEP 7--Micro/WIN允许您为LAD程序中的每一个程序段加注释。FBD编程使用程序段的概念对程序进行分段和注释。 STL程序不用分段,但是您可以用关键词NETWORK将程序分段。

LAD编辑器中使用的惯例 FBD编辑器中使用的惯例(省略) 在LAD编辑器中,您可以使用F4、F6和F9来快速输入触点、盒和线圈指令。LAD编辑器使用下列惯 例: 符号“------>>”表示开路或者需要能流连接。 符号“ ”表示指令输出能流,可以级连或串联。 符号“>>”表示您可以使用能流。 FBD编辑器中使用的惯例(省略)

S7--200编程的通用惯例 EN/ENO的定义 EN(使能输入)是LAD和FBD中盒的布尔输入。要使盒指令执行,必须使能流到达这个输入。在STL中,指令没有EN输入,但是要想使STL指令执行,堆栈顶部的逻辑值必须是“1”。 ENO(使能输出)是LAD和FBD中盒的布尔输出。如果盒的EN输入有能流并且指令正确执行,则ENO输出会将能流传递给下一元素。如果指令的执行出错,则能流在出错的盒指令处被中断。 在STL中没有使能输出,但是STL指令象相关的有ENO输出的LAD和FBD指令一样,置位一个特殊的ENO位。这个位可以用AND ENO(AENO)指令访问,并且可以产生与盒的ENO位相同的作用。

5.6 使用向导创建控制程序 STEP 7--Micro/WIN提供向导编程变得更自动更容易。在第6章中,具有相关向导的指令会有以下指令向导图标:

5.7 S7--200中的出错处理 S7--200将错误分为致命错误和非致命错误。可以通过选择PLC > Information菜单命令,来查看因错误而产生的错误代码。 图5-6给出了PLC信息对话框,其中包括错误代码和错误描述。 Last Fatal 区显示S7--200发生的前一致命错误代码。如果RAM区是掉电保持的,这个数据也会保持。当S7--200全清或者RAM区掉电保持失败时,该区也被清除。 Total Fatal区是前一次CPU清除所有存储区后产生致命错误的次数。如果RAM区是掉电保持的,这个次数也会保持。当S7--200全清或者RAM区掉电保持失败时,该区也被清除。

关于错误代码参照SIEMENS公司的手册说明。

5.8 在数据块中指定地址和初始值 数据块编辑器只用于为V存储器(变量存储器)指定初始值。可以以字节、字或者双字的形式来分配V存储器,注释是可选的。 数据块编辑器是一个自由格式的文本编辑器,也就是说,没有特定的区域被定义用于特定类型的信息。当完成一行的输入并按回车键确认后,数据块编辑器将该行格式化(将地址、数据和注释分别列对齐,V存储器地址大写)并重新显示。按下CTRL--ENTER,设置行完成后,地址将自动增加到下一个可用的地址处。

数据块编辑器根据所定义变量的地址和长度(字节、字或者双字)为V存储器分配空间。 数据块的第一行必须有一个明确的地址分配。接下来的行中可以是明确的地址,也可以使用隐含地址。隐含地址是由编辑器分配的。当在一个地址后面输入多个数据或者在一行中只输入数据时使用的是隐含地址。 数据块编辑器接受大小写字母,并且用逗号、制表符或者空格作为地址与数据之间的分隔符。

5.9 用符号表来定义变量的符号地址 符号表允许定义和编辑符号名,使得能在程序中用符号地址访问变量。可以创建多个符号表。也可以在程序中使用系统定义的符号表。符号表还可以作为全局变量表进行参考。 可以使用绝对地址或者符号地址来输入指令操作数。绝对地址用存储区加上位或字节地址来标识地址。符号地址则用一串字母组合来标识地址。

在SIMATIC程序中,可以使用符号表中定义的全局符号。在IEC程序中,可以使用全局变量表中定义的全局符号。 为地址定义符号按如下步骤: 1. 在操作栏中单击符号表图标打开符号表。 2. 在Symbol Name列中输入一个符号名(例如:Input1),符号名的最大长度为23个字符。 3. 在Address列中输入地址(例如:I0.0)。 4. 对于IEC的全局变量表,在数据类型列中输入一个值或者从列表中选择一个。 可以创建多个符号表,但无论是在同一个符号表中还是在不同的符号表中,都不能多次使用同一个字符串作为全局符号。

5.10 使用局部变量 可以使用程序编辑器中的局部变量表来为子程序和中断服务程序分别指定变量,如图5--9所示。 局部变量可用于子程序传递参数,它增强了子程序的可移植性和再利用性。

5.11 用状态图监视用户程序 状态图允许在控制程序运行的过程中对过程变量的值进行监视和修改。可以跟踪程序的输入、输出或者变量,显示它们的当前值。状态表还允许强制或改变过程变量的值。 为了监控应用程序中不同部分的元素,可以创建多个状态图。 在命令菜单中选择View > Component > Status Chart或者在操作过程中单击Status Chart图标来访问状态图。

当创建状态图时,应该输入要监控的过程变量的地址。无法监视常数、累加器和局部变量的状态。可以按位或者字两种形式来显示定时器和计数器的值。以位形式显示的是定时器和计数器的状态位,而以字形式则显示定时器和计数器的当前值。

在命令菜单中选择Edit > Insert > Row可以在状态图中插入一行。 建立一个状态图来监视变量,按以下步骤: 1. 在地址区输入需要的地址。 2. 在格式列中选择数据类型。 3. 在命令菜单中选择 Debug > Chart Status来监视S7--200中过程变量的状态。 4. 要连续采样数值或者单次读取状态,可以点击工具栏中相应的按钮。状态图也允许强制或者修改过程变量的值。 在命令菜单中选择Edit > Insert > Row可以在状态图中插入一行。

5.12 创建一个指令库 STEP 7--Micro/WIN允许创建自己的指令库,也允许使用其它人已建好的库。参见图5-11 为了创建指令库,必须创建标准的STEP 7--Micro/WIN子程序和中断服务程序并把它们组合起来。可以在这些程序中隐藏代码来防止意外的改变或者防止机密技术(know--how)泄露。

在STEP 7--Micro/WIN的在线帮助中,可以得到有关指令库的更多信息。 要创建一个指令库,需要完成以下任务: 1. 创建一个标准的STEP 7--Micro/WIN项目,并且把指令库中包括的功能写入一个子程序或者中断服务程序中。 2. 确保在子程序或中断服务程序中使用的V存储器都定义了符号名。使用连续的V存储区来最小化其要求的数量。 3. 将子程序或者中断服务程序更名为希望在指令库中显示的名称。 4. 在命令菜单中选择File > Create Library来编译新的指令库。 在STEP 7--Micro/WIN的在线帮助中,可以得到有关指令库的更多信息。

用下列步骤访问指令库中的指令: 1. 在命令菜单中选择File > Add Libraries在指令树中增加一个库。 2. 选择特定的指令插入程序。(就象使用任何标准指令一样。) 如果库程序要求V存储器,STEP 7--Micro/WIN会提示分配一个存储器块。用库存储器对话框来分配存储器块。

5.13 应用程序的调试 STEP 7--Micro/WIN具备以下特点有助于调试应用程序: 书签允许在很长的程序中方便地来回移动。 交叉参考表允许检查程序的使用参考信息。 RUN模式下编辑允许在小规模修改程序的过程中,对过程控制产生最小的影响。当在RUN模式下编辑程序时,同样可以下载程序块。

谢谢, 欢迎批评指正!