西门子Step7培训教程——第5a章--S7程序结构ppt课件.ppt
《西门子Step7培训教程——第5a章--S7程序结构ppt课件.ppt》由会员分享,可在线阅读,更多相关《西门子Step7培训教程——第5a章--S7程序结构ppt课件.ppt(50页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物第第5 5章章 S7S7程序结构和程序设计程序结构和程序设计夏日杂诗【清】陈文述水窗低傍画栏开,枕簟萧疏玉漏催。一夜雨声凉到梦,万荷叶上送秋来。讲解人:feilt我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物第第5 5章章 S7S7程序结构与程序设计程序结构与程序设计 5.15.1 S7 CPU S7 CPU中的程序中的程序5.25.2 数据块中的数据存储数据块中的数据存
2、储 5.35.3 逻辑块(逻辑块(FCFC和和FBFB)的结构及编程)的结构及编程 5.45.4 编辑并调用无参功能(编辑并调用无参功能(FCFC)分部程序设计分部程序设计5.55.5 编辑并调用有参功能(编辑并调用有参功能(FCFC)结构化程序设计结构化程序设计5.65.6 编辑并调用无静态参数的功能块(编辑并调用无静态参数的功能块(FBFB)5.75.7 编辑并调用有静态参数的功能块(编辑并调用有静态参数的功能块(FBFB)5.85.8 使用多重背景使用多重背景结构化程序设计结构化程序设计我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我
3、的猜测没有错:表里边有一个活的生物5.1 S7 CPU中的程序中的程序 5.1.1 5.1.1 用户程序中的块结构用户程序中的块结构5.1.2 5.1.2 用户程序结构用户程序结构5.1.3 I/O5.1.3 I/O过程映像过程映像5.1.4 5.1.4 程序循环执行程序循环执行我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物5.1.1 5.1.1 用户程序中的块结构用户程序中的块结构 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边
4、有一个活的生物5.1.2 用户程序结构用户程序结构 线性程序(线性编程)线性程序(线性编程)分部式程序(分部编程、分块编程)分部式程序(分部编程、分块编程) 结构化程序(结构化编程或模块化编程)结构化程序(结构化编程或模块化编程) 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物1. 线性程序(线性编程)线性程序(线性编程) 所谓线性程序结构,就是将整个用户程序连续放置在所谓线性程序结构,就是将整个用户程序连续放置在一个循环程序块(一个循环程序块(OB1OB1)中,块中的程序按顺序执行,)中,块中的程序按顺
5、序执行,CPUCPU通过反复执行通过反复执行OB1OB1来实现自动化控制任务。这种结构和来实现自动化控制任务。这种结构和PLCPLC所代替的硬接线继电器控制类似,所代替的硬接线继电器控制类似,CPUCPU逐条地处理指令。事逐条地处理指令。事实上所有的程序都可以用线性结构实现,不过,线性结构实上所有的程序都可以用线性结构实现,不过,线性结构一般适用于相对简单的程序编写。一般适用于相对简单的程序编写。我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2.2.分部式程序(分部编程、分块编程)分部式程序(分部编程、分
6、块编程) 所谓分部程序,就是将整个程序按任务分成若干个部所谓分部程序,就是将整个程序按任务分成若干个部分,并分别放置在不同的功能(分,并分别放置在不同的功能(FCFC)、功能块()、功能块(FBFB)及组)及组织块中,在一个块中可以进一步分解成段。在组织块织块中,在一个块中可以进一步分解成段。在组织块OB1OB1中中包含按顺序调用其他块的指令,并控制程序执行。包含按顺序调用其他块的指令,并控制程序执行。 在分部程序中,既无数据交换,也不存在重复利用的在分部程序中,既无数据交换,也不存在重复利用的程序代码。功能(程序代码。功能(FCFC)和功能块()和功能块(FBFB)不传递也不接收参)不传递也
7、不接收参数,分部程序结构的编程效率比线性程序有所提高,程序数,分部程序结构的编程效率比线性程序有所提高,程序测试也较方便,对程序员的要求也不太高。对不太复杂的测试也较方便,对程序员的要求也不太高。对不太复杂的控制程序可考虑采用这种程序结构。控制程序可考虑采用这种程序结构。 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物3. 3. 结构化程序(结构化编程或模块化编程)结构化程序(结构化编程或模块化编程) 所谓结构化程序,就是处理复杂自动化控制任务的过所谓结构化程序,就是处理复杂自动化控制任务的过程中,为了使
8、任务更易于控制,常把过程要求类似或相关程中,为了使任务更易于控制,常把过程要求类似或相关的功能进行分类,分割为可用于几个任务的通用解决方案的功能进行分类,分割为可用于几个任务的通用解决方案的小任务,这些小任务以相应的程序段表示,称为块(的小任务,这些小任务以相应的程序段表示,称为块(FCFC或或FBFB)。)。OB1OB1通过调用这些程序块来完成整个自动化控制任通过调用这些程序块来完成整个自动化控制任务。务。 结构化程序的特点是每个块(结构化程序的特点是每个块(FCFC或或FBFB)在)在OB1OB1中可能会中可能会被多次调用,以完成具有相同过程工艺要求的不同控制对被多次调用,以完成具有相同过
9、程工艺要求的不同控制对象。这种结构可简化程序设计过程、减小代码长度、提高象。这种结构可简化程序设计过程、减小代码长度、提高编程效率,比较适合于较复杂自动化控制任务的设计。编程效率,比较适合于较复杂自动化控制任务的设计。我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物5.1.3 I/O5.1.3 I/O过程映像过程映像 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物5.1.4 5.1.4 程序循环执行程序循环执行 我吓了
10、一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物5.2 5.2 数据块中的数据存储数据块中的数据存储 5.2.1 数据存储区数据存储区5.2.2 数据块数据块5.2.3 数据块的数据结构数据块的数据结构5.2.4 建立数据块建立数据块5.2.5 访问数据块访问数据块我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物5.2.1 5.2.1 数据存储区数据存储区 数据以用户程序变量的形式存储,且具有唯一性。数数据以用户程序变量的形式
11、存储,且具有唯一性。数据可以存储在输入过程映像存储器(据可以存储在输入过程映像存储器(PIIPII)、输出过程映像)、输出过程映像存储器(存储器(PIQPIQ)、位存储器()、位存储器(M M)、局部数据堆栈()、局部数据堆栈(L L堆栈)堆栈)及数据块(及数据块(DBDB)中。可以采用基本数据类型、复杂数据类)中。可以采用基本数据类型、复杂数据类型或参数类型。型或参数类型。 根据访问方式的不同,这些数据可以在全局符号表或根据访问方式的不同,这些数据可以在全局符号表或共享数据块中声明,称为全局变量;也可以在共享数据块中声明,称为全局变量;也可以在OBOB、FCFC和和FBFB的变量声明表中声明
12、,称为局部变量。当块被执行时,变的变量声明表中声明,称为局部变量。当块被执行时,变量将固定地存储在过程映像区(量将固定地存储在过程映像区(PIIPII或或PIQPIQ)、位存储器区)、位存储器区(M M)、数据块()、数据块(DBDB)或局部堆栈()或局部堆栈(L L)中。)中。我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物5.2.2 5.2.2 数据块数据块 数据块定义在数据块定义在S7 CPUS7 CPU的存储器中,用户可在存储器中的存储器中,用户可在存储器中建立一个或多个数据块。每个数据块可大可小,
13、但建立一个或多个数据块。每个数据块可大可小,但CPUCPU对数对数据块数量及数据总量有限制。据块数量及数据总量有限制。 数据块(数据块(DBDB)可用来存储用户程序中逻辑块的变量数)可用来存储用户程序中逻辑块的变量数据(如:数值)。与临时数据不同,当逻辑块执行结束或据(如:数值)。与临时数据不同,当逻辑块执行结束或数据块关闭时,数据块中的数据保持不变。数据块关闭时,数据块中的数据保持不变。 用户程序可以位、字节、字或双字操作访问数据块中用户程序可以位、字节、字或双字操作访问数据块中的数据,可以使用符号或绝对地址。的数据,可以使用符号或绝对地址。 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把
14、它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物1.1.数据块的分类数据块的分类 共享数据块共享数据块又称全局数据块。用于存储全局数据,所又称全局数据块。用于存储全局数据,所有逻辑块(有逻辑块(OBOB、FCFC、FBFB)都可以访问共享数据块存储的信。)都可以访问共享数据块存储的信。 背景数据块背景数据块用作用作“私有存储器区私有存储器区”,即用作功能块,即用作功能块(FBFB)的)的“存储器存储器”。FBFB的参数和静态变量安排在它的背的参数和静态变量安排在它的背景数据块中。背景数据块不是由用户编辑的,而是由编辑景数据块中。背景数据块不是由用户编辑的
15、,而是由编辑器生成的。器生成的。 用户定义数据块用户定义数据块(DB of TypeDB of Type)是以)是以UDTUDT为模板所生成为模板所生成的数据块。创建用户定义数据块(的数据块。创建用户定义数据块(DB of TypeDB of Type)之前,必)之前,必须先创建一个用户定义数据类型,如须先创建一个用户定义数据类型,如UDT1UDT1,并在,并在LAD/STL/ LAD/STL/ FBD S7FBD S7程序编辑器内定义。程序编辑器内定义。我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物2.
16、2.数据块寄存器数据块寄存器 CPU有两个数据块寄存器:有两个数据块寄存器:DB和和DI寄存器。这样,可以寄存器。这样,可以同时打开两个数据块。同时打开两个数据块。 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物5.2.3 5.2.3 数据块的数据结构数据块的数据结构 在在STEP 7STEP 7中数据块的数据类型可以采用基本数据类型、中数据块的数据类型可以采用基本数据类型、复杂数据类型或用户定义数据类型(复杂数据类型或用户定义数据类型(UDTUDT)。)。基本数据类型基本数据类型复杂数据类型复杂数据类型
17、用户定义数据类型用户定义数据类型 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物基本数据类型基本数据类型 根据根据IEC1131-3IEC1131-3定义,长度不超过定义,长度不超过3232位,可利用位,可利用STEP 7STEP 7基本指令处理,能完全装入基本指令处理,能完全装入S7S7处理器的累加器中。基本数处理器的累加器中。基本数据类型包括:据类型包括:位数据类型位数据类型:BOOLBOOL、BYTEBYTE、WORDWORD、DWORDDWORD、CHARCHAR数字数据类型数字数据类型:INTI
18、NT、DINTDINT、REALREAL定时器类型定时器类型:S5TIMES5TIME、TIMETIME、DATEDATE、TIME_OF_DAY TIME_OF_DAY 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物复杂数据类型复杂数据类型 复杂数据类型只能结合共享数据块的变量声明使用。复杂数据类型只能结合共享数据块的变量声明使用。复杂数据类型可大于复杂数据类型可大于3232位,用装入指令不能把复杂数据类位,用装入指令不能把复杂数据类型完全装入累加器,一般利用库中的标准块(型完全装入累加器,一般利用库中
19、的标准块(“IECIEC”S7S7程程序 ) 处 理 复 杂 数 据 类 型 。 复 杂 数 据 类 型 包 括 :序 ) 处 理 复 杂 数 据 类 型 。 复 杂 数 据 类 型 包 括 :时间时间(DATE_AND_TIMEDATE_AND_TIME)类型)类型矩阵矩阵(ARRAYARRAY)类型)类型结构结构(STRUCTSTRUCT)类型)类型字符串字符串(STRINGSTRING)类型)类型我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物用户定义数据类型(用户定义数据类型(UDTUDT) STE
20、P 7允许利用数据块编辑器,将基本数据类型和复允许利用数据块编辑器,将基本数据类型和复杂数据类型组合成长度大于杂数据类型组合成长度大于32位用户定义数据类型(位用户定义数据类型(UDT:User-Defined dataType)。用户定义数据类型不能存储在)。用户定义数据类型不能存储在PLC中,只能存放在硬盘上的中,只能存放在硬盘上的UDT块中。可以用用户定义块中。可以用用户定义数据类型作数据类型作“模板模板”建立数据块,以节省录入时间。可用建立数据块,以节省录入时间。可用于建立结构化数据块、建立包含几个相同单元的矩阵、在于建立结构化数据块、建立包含几个相同单元的矩阵、在带有给定结构的带有给
21、定结构的FC和和FB中建立局部变量。中建立局部变量。 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物【5-2-1】 创建用户定义数据类型:创建用户定义数据类型:UDT1。 创建一个名称为创建一个名称为UDT1UDT1的用户定义数据类型,数据结构的用户定义数据类型,数据结构如下,则可按以下几个步骤完成。如下,则可按以下几个步骤完成。 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物【5-2-1】 数据类型属性 对话框 选
22、择插入“数据类型” 点击块文件夹 输入 UDT 的名称 确认 创建创建用户定义用户定义数据类型数据类型我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物【5-2-1】编辑编辑UDT1UDT1 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物5.2.4 5.2.4 建立数据块建立数据块 在在STEP 7STEP 7中,为了避免出现系统错误,在使用数据块中,为了避免出现系统错误,在使用数据块之前,必须先建立数据块,并在块中定义
23、变量(包括变量之前,必须先建立数据块,并在块中定义变量(包括变量符号名、数据类型以及初始值等)。数据块中变量的顺序符号名、数据类型以及初始值等)。数据块中变量的顺序及类型决定了数据块的数据结构,变量的数量决定了数据及类型决定了数据块的数据结构,变量的数量决定了数据块的大小。数据块建立后,还必须同程序块一起下载到块的大小。数据块建立后,还必须同程序块一起下载到CPUCPU中,才能被程序块访问。中,才能被程序块访问。建立数据块建立数据块 定义变量并下载数据块定义变量并下载数据块 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里
24、边有一个活的生物 数据块属性 对话框 选择 DB 的类型 输入 DB 的名称 选择插入 DB 点 击 块 文 件夹 可选择输入数据块的符号名 My_DB 方法方法1 1:用用SIMATIC SIMATIC ManagerManager创建数据块。创建数据块。 我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物 选择项目类型 选择S7 项目 选择 “数据块” 类型 输入数据块名称 点击“新建”图标 方法方法2 2:用用LAD/STL/FBD S7LAD/STL/FBD S7程序编辑器创建数据块。程序编辑器创建数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西门子 Step7 培训 教程 S7 程序结构 ppt 课件
限制150内