- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 第4章 S7-300/400的用户程序结构4.1 用户程序的基本结构4.1.1 用户程序中的块 1.组织块(OB) 1)OB1用于循环处理,是用户程序中的主程序。 2)初始化程序OB100~OB102。 3)事件或故障出现时CPU自动调用的中断程序,用户生成和编写。 4)中断的优先级,高优先级的OB可以中断低优先级的OB。 2.临时局部(Local)数据只能在生成它们的逻辑块内使用。 7 .程序库 在线教务辅导网: 教材其余课件及动画素材请查阅在线教务辅导网 QQ:349134187 或者直接输入下面地址: 4.1.2 用户程序使用的堆栈 堆栈采用“先入后出”的规则存入和取出数据。最上面的存储单元称为栈顶。 1.局部数据堆栈(L) 局部数据可以按位、字节、字和双字来存取,例如L 0.0、LB9、LW4和LD52。 2.块堆栈(B堆栈) 存储被中断的块的类型、编号和返回地址; 3.中断堆栈(I堆栈) 保存当前的累加器、地址寄存器、数据块寄存器、局部数据的指针、状态字、MCR(主控继电器)寄存器和B堆栈的指针。因故障中断进入STOP模式后,可以在CPU模块信息对话框中查看各堆栈。 4.2 共享数据块与复杂数据类型 4.2.1 共享数据块与数据类型 数据块的分类 生成共享数据块 基本数据类型:包括位(Bool),字节(Byte)、字(Word)、双字(Dword)、整数(INT)、双整数(DINT)和浮点数(Float,或称实数Real)等。 2.复杂数据类型 日期和时间用8个字节的BCD码来存储。 字符串(STRING)由最多254个字符和2字节的头部组成。 数组(ARRAY)由同一类型的数据组合而成。ARRAY[1..2,1..3]是一个二维数组,共有6个整数元素。最多为6维。 数组元素”TANK”.PRESS[2,1]:TANK是数据块的符号名,PRESS是数组的名称。 数据视图方式的数组元素及初值,用数组定义数据块的大小。 结构(STRUCT)是不同类型的数据的组合。可以用基本数据类型、复杂数据类型作结构中的元素,可以嵌套8层。 4.2.2 复杂数据类型的生成与应用 生成数组 给数组元素赋初值 访问数组中的数据 用数组定义数据块的大小 结构的生成与应用 访问结构中的元素 4.3 功能块与功能的生成与调用 4.3.1 功能块 发动机控制系统中的功能块和功能 局部变量 1)IN(输入参数):用于将数据从调用块传送到被调用块 。 2)OUT(输出参数):用于将块的执行结果从被调用块返回给调用它的块 。 3)IN_OUT(输入_输出参数):初值由调用它的块提供,块执行后用同一个参数将执行结果返回给调用它的块。 4)TEMP (临时变量):暂时保存在局部数据区中的变量。 5)STAT(静态变量):用功能块的背景数据块保存。关闭功能块后,其静态数据保持不变。功能(FC)没有静态变量。 FB和FC的共性: 均为用户编写的子程序,局部数据变量均有IN、OUT、IN_OUT和TEMP。FC的RET_VAL属于OUT变量。临时变量TEMP存储在局部数据堆栈中。 FB和FC的区别: FB比FC多了静态变量STAT和背景数据块DI,后者用来保存TEMP之外的变量。 不能给功能的局部变量设置初始值 。 调用FB或SFB时,必须指定背景数据块。在编译FB或SFB时自动生成背景数据块中的数据。每次调用功能块都需要指定一个背景数据块,用于特定的被控对象。 4.3.2 功能 4.3.3 块调用与块结束指令 4.3.4 功能与功能块的调用 4.4 寄存器间接寻址与参数类型 4.4.1 寄存器间接寻址 地址寄存器AR1和AR2的内容加上偏移量形成地址指针,指向数值所在的存储单元。 地址指针的第0~2位(xxx)为被寻址地址中位的编号(0~7),第3~18位为被寻址地址的字节的编号。第24~26位(rrr)为被寻址地址的区域标识号,第31位x = 0为区域内间接寻址,第31位x = 1为区域间的间接寻址。 (1)存储区内部间接寻址 存储区的类型在指令中给出,第24~26位(rrr)和第31位为0。 指针常数P#5.0对应的二进制数为2#0000 0000 0000 0000 0000 0000 0010 1000。 L P#5.0 LAR1 A M
您可能关注的文档
- protel2004EDA技术及应用 作者 王廷才 王崇文主编 第4章 绘制单片机最小系统原理图.ppt
- protel2004EDA技术及应用 作者 王廷才 王崇文主编 第5章 原理图电气检查及报表.ppt
- protel2004EDA技术及应用 作者 王廷才 王崇文主编 第7章 集成元件库的创建与管理.ppt
- protel2004EDA技术及应用 作者 王廷才 王崇文主编 第8章 印制电路板(PCB)设计基础.ppt
- protel2004EDA技术及应用 作者 王廷才 王崇文主编 第9章 PCB单面布线设计.ppt
- protel2004EDA技术及应用 作者 王廷才 王崇文主编 封面.ppt
- Red Hat Enterprise Linux服务器配置实例教程 作者 白戈力 2.ppt
- Red Hat Enterprise Linux服务器配置实例教程 作者 白戈力 3.ppt
- Red Hat Enterprise Linux服务器配置实例教程 作者 白戈力 4.ppt
- Red Hat Enterprise Linux服务器配置实例教程 作者 白戈力 9.ppt
文档评论(0)