- 1、本文档共114页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PLC课程培训概要
PLC 课 程 培 训 第二章 S7-400系列PLC的硬件组成 4.功能块(FB) 功能块是用户编写的有自己的存储区(背景数据块)的块,每次调用功能块时需要提供各种类型的数据给功能块,功能块也要返回变量给调用它的块。这些数据以静态变量(STAT)的形式存放在指定的背景数据块 (DI) 中,临时变量TEMP存储在局域数据堆栈中。 调用FB或SFB时,必须指定DI的编号。在编译FB或SFB时自动生成背景数据块中的数据。一个功能块可以有多个背景数据块,用于不同的被控对象。 可以在FB的变量声明表中给形参赋初值。如果调用块时没有提供实参,将使用上一次存储在DI中的参数。 5.数据块 数据块中没有STEP 7的指令,STEP 7按数据生成的顺序自动地为数据块中的变量分配地址。数据块分为共享数据块和背景数据块。 应首先生成功能块,然后生成它的背景数据块。在生成背景数据块时指明它的类型为背景数据块(Instance)和它的功能块的编号。 6.系统功能块SFB和系统功能SFC 系统功能块和系统功能是为用户提供的已经编好程序的块,可以调用不能修改。操作系统的一部分,不占用户程序空间。SFB有存储功能,其变量保存在指定给它的背景数据块中。 7.系统数据块(SDB)包含系统组态数据,例如硬件模块参数和通信连接参数等。 CALL、CU(无条件调用)和CC(RLO = 1时调用)指令调用没有参数的FC和FB。 6.1.2 用户程序使用的堆栈 堆栈采用“先入后出”的规则存入和取出数据。最上面的存储单元称为栈顶。 1.局域数据堆栈(L) 存储块的局域数据区的临时变量、组织块的启动信息、块传递参数的信息和梯形图程序的中间结果。可以按位、字节、字和双字来存取,例如L 0.0,LB9,LW4和LD52。各逻辑块均有自己的局域变量表,局域变量仅在它被创建的逻辑块中有效。 2.块堆栈(B堆栈) 存储被中断的块的类型、编号和返回地址;从DB和DI寄存器中获得的块被中断时打开的共享数据块和背景数据块的编号;局域数据堆栈的指针。 3.中断堆栈(I堆栈) 当前的累加器和地址寄存器的内容、数据块寄存器DB和DI的内容、局域数据的指针、状态字、MCR(主控继电器)寄存器和B堆栈的指针。 6.1.3 线性化编程与结构化编程 1.线性化编程:整个用户程序放在循环控制组织块OB1(主程序)中。 2.模块化编程:程序被分为不同的逻辑块,每个块包含完成某些任务的逻辑指令。 3.结构化编程:将复杂的自动化任务分解为小任务,这些任务由相应的逻辑块来表示,程序运行时所需的大量数据和变量存储在数据块中。调用时将“实参”赋值给形参。 创建顺序:FC1→FB1及其背景数据块→OB1,被调用的块应该是已经存在的。 6.2.1 发动机控制系统的用户程序结构 3.局域变量的类型 (1)IN(输入变量):由调用它的块提供的输入参数。 (2)OUT(输出变量):返回给调用它的块的输出参数。 (3)IN_OUT:初值由调用它的块提供,被子程序修改后返回给调用它的块。 (4)TEMP (临时变量):暂时保存在局域数据区中的变量。 (5)STAT(静态变量):在功能块的背景数据块中使用。关闭功能块后,其静态数据保持不变。功能(FC)没有静态变量。 6.2.3 功能块与功能 6.2.4 功能块与功能的调用 Network3:汽油机风扇控制 CALL 风扇控制 Engine_On := 汽油机运行 Timer_Function := 汽油机风扇延时 Fan_On := 汽油机风扇运行 6.3 数据块 6.3.1 数据块中的数据类型 1.基本数据类型 基本数据类型包括位(Bool),字节(Byte)、字(Word)、双字(Dword)、整数(INT)、双整数(DINT)和浮点数(Float,或称实数Real)等。 2.复合数据类型 日期和时间用8个字节的BCD码来存储。第0~5号字节分别存储年、月、日、时、分和秒,毫秒存储在字节6和字节7的高4位,星期存放在字节7的低4位。例如2004年7月27日12点30分25.123秒可以表示为DT#04-07-27-12:30:25.123。 字符串(STRING)由最多254个字符(CHAR)和2字节的头部组成。字符串的默认长度为254,通过定义字符串的长度可以减少它占用的存储空间。 3.数组 数组(ARRAY)是同一类型的数据组合而成的一个单元。ARRAY[1..2,1..3]是一个二维数组,共有6个整数元素。最多为6维。 数组元素”TANK”.PRESS[2,1]:TANK是数据块的符号名,PRESS是数组的名称。方括号中是数组元素的下标。如果在块
文档评论(0)