- 1、本文档共50页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
访问数据块 用指令“OPN DB...”打开共享数据块(自动关闭之前打开的共享数据块),如果DB已经打开,则可用装入(L)或传送(T)指令访问数据块。 【例5-2-3】 打开并访问背景数据块。 直接访问数据块 所谓直接访问数据块,就是在指令中同时给出数据块的编号和数据在数据块中的地址。可以用绝对地址,也可以用符号地址直接访问数据块。 用绝对地址直接访问数据块,如: 用符号地址直接访问数据块 ,如: 功能(FC)、功能块(FB)和组织块(OB)统称为逻辑块(或程序块)。功能块(FB)有一个数据结构与该功能块的参数完全相同的数据块,称为背景数据块,背景数据块依附于功能块,它随着功能块的调用而打开,随着功能块的结束而关闭。存放在背景数据块中的数据在功能块结束时继续保持。而功能(FC)则不需要背景数据块,功能调用结束后数据不能保持。组织块(OB)是由操作系统直接调用的逻辑块。 §5.3.1 逻辑块(FC和FB)的结构 §5.3.1 逻辑块(FC和FB)的编程 §5.3 逻辑块(FC和FB)的结构及编程 逻辑块(OB、FB、FC)由变量声明表、代码段及其属性等几部分组成。 局部变量声明表(局部数据) 逻辑块局部变量的数据类型 逻辑块的调用过程及内存分配 §5.3.1 逻辑块(FC和FB)的结构 每个逻辑块前部都有一个变量声明表,称为局部变量声明表。 1. 局部变量声明表 局部数据分为参数和局部变量两大类,局部变量又包括静态变量和临时变量(暂态变量)两种。 对于功能块(FB),操作系统为参数及静态变量分配的存储空间是背景数据块。这样参数变量在背景数据块中留有运行结果备份。在调用FB时,若没有提供实参,则功能块使用背景数据块中的数值。操作系统在L堆栈中给FB的临时变量分配存储空间。 对于功能(FC),操作系统在L堆栈中给FC的临时变量分配存储空间。由于没有背景数据块,因而FC不能使用静态变量。输入、输出、I/O参数以指向实参的指针形式存储在操作系统为参数传递而保留的额外空间中。 对于组织块(OB)来说,其调用是由操作系统管理的,用户不能参与。因此,OB只有定义在L堆栈中的临时变量。 局部变量可以是基本数据类型或复式数据类型,也可以是专门用于参数传递的所谓的“参数类型”。参数类型包括定时器、计数器、块的地址或指针等。 2.逻辑块局部变量的数据类型 CPU提供块堆栈(B堆栈)来存储与处理被中断块的有关信息。 3.逻辑块的调用过程及内存分配 局部数据堆栈简称L堆栈,是CPU中单独的存储器区,可用来存储逻辑块的局部变量(包括OB的起始信息)、调用功能(FC)时要传递的实际参数、梯形图程序中的中间逻辑结果等。可以按位、字节、字和双字来存取。 块堆栈简称B堆栈,是CPU系统内存中的一部分,用来存储被中断的块的类型、编号、优先级和返回地址;中断时打开的共享数据块和背景数据块的编号;临时变量的指针(被中断块的L堆栈地址)。 中断堆栈简称I堆栈,用来存储当前累加器和地址寄存器的内容、数据块寄存器DB和DI的内容、局域数据的指针、状态字、MCR(主控继电器)寄存器和B堆栈的指针。 用户程序使用的堆栈 当调用功能块(FB)时,会有以下事件发生: ①调用块的地址和返回位置存储在块堆栈中,调用块的临时变量压入L堆栈;②数据块DB寄存器内容与DI寄存器内容交换;③新的数据块地址装入DI寄存器;④被调用块的实参装入DB和L堆栈上部;⑤当功能块FB结束时,先前块的现场信息从块堆栈中弹出,临时变量弹出L堆栈;⑥DB和DI寄存器内容交换。 当调用功能块(FB)时,STEP 7并不一定要求给FB形参赋予实参,除非参数是复式数据类型的I/O形参或参数类型形参。如果没有给FB的形参赋予实参,则功能块(FB)就调用背景数据块内的数值,该数值是在功能块(FB)的变量声明表或背景数据块内为形参所设置初始数值。 调用功能块(FB)时的堆栈操作 当调用功能(FC)时会有以下事件发生: 功能(FC)实参的指针存到调用块的L堆栈;调用块的地址和返回位置存储在块堆栈,调用块的局部数据压入L堆栈;功能(FC)存储临时变量的L堆栈区被推入L堆栈上部;当被调用功能(FC)结束时,先前块的信息存储在块堆栈中,临时变量弹出L堆栈。 因为功能(FC)不用背景数据块,不能分配初始数值给功能(FC)的局部数据,所以必须给功能(FC)提供实参。 调用功能(FC)时的堆栈操作 以功能(FC)调用为例,L堆栈操作示意如图所示。 调用功能(FC)时的堆栈操作 对逻辑块编程时必须编辑
您可能关注的文档
最近下载
- 智慧国资管理系统需求说明.docx VIP
- 认识显微镜练习使用显微镜.ppt VIP
- 护士招聘综合知识考核题库900题(历年真题)2.doc VIP
- 盾构施工技术(施工工艺与控制要点).pptx VIP
- 第18讲 合并同类项 整式的加减(教师版)-新七年级数学暑假讲义(浙教版).docx VIP
- 2023江西省数字产业集团有限公司招聘试题及答案解析.docx
- 文言文实词和虚词.pptx VIP
- 第16讲 用字母表示数 代数式及其求值(教师版)-新七年级数学暑假讲义(浙教版).docx VIP
- JGJT178-2009 补偿收缩混凝土应用技术规程-行业标准.pdf
- 护理教学秘书竞聘ppt.pptx
文档评论(0)