STEP7怎样使用多重背景数据块
STEP7-功能块全中文说明资料

18
35. S_ODT接通延时 S5定时器 36. S_ODTS保持接通延时 S5定时器 37. S_OFFDT断开延时 S5定时器
19
38. ---( SP ) 脉冲定时器线圈
---( SP )
39. ---( SE ) 扩展脉冲定时器线圈
---( SE ) 20
12
? 调用多重背景 ? 调用来自库的块 ? 使用 MCR 功能的重要注意事项 ? ---(MCR<) 主控制继电器打开 ? ---(MCR>) 主控制继电器关闭 ? ---(MCRA) 主控制继电器激活 ? ---(MCRD) 主控制继电器取消激活 ? RET 返回
移位和循环移位指令
? SHR_I 整数右移 ? SHR_DI 长整数右移 ? SHL_W 左移字 ? SHR_W 右移字 ? SHL_DW 双字左移 ? SHR_DW 右移双字 35. SHR_I 整数右移
两个 32 位 IEEE 浮点数
使用浮点运算指令,可对 一个 32 位 IEEE 浮点数 执行下列操作: ? 求绝对值 (ABS) ? 求平方 (SQR) 和平方根 (SQRT) ? 求自然对数 (LN) ? 求指数值 (EXP) 以 e (= 2,71828) 为底
8
? 求下列 32 位 IEEE 浮点数表示的角度的三角函数 - 正弦 (SIN) 和反正弦 (ASIN) - 余弦 (COS) 和反余弦 (ACOS) - 正切 (TAN) 和反正切 (ATAN)
11
32. ATAN 得到反正切值
33. MOVE分配值
34. 程序控制指令概述 说明 可使用下列程序控制指令: ? ---(CALL) 调用来自线圈的 FC SFC( 不带参数 ) ? CALL_FB 调用来自框的 FB ? CALL_FC 调用来自框的 FC ? CALL_SFB 调用来自框的系统 FB ? CALL_SFC 调用来自框的系统 FC
STEP7-功能块全中文说明资料

parator== IN1等于IN2<> IN1不等于IN2> IN1大于IN2< IN1小于IN2>= IN1大于或等于IN2<= IN1小于或等于IN22.整数就是没有小数位都是零的数,即能被1整除的数(如-1,-2,0,1,……)CMP ?I(INT)整数比较CMP ?D (DINT)比较双精度整数CMP ?R (REAL)比较实数3.转换指令概述BCD_I BCD码转换为整数I_BCD 整型转换为BCD码BCD_DI BCD码转换为双精度整数I_DINT 整型转换为长整型DI_BCD 长整型转换为BCD码DI_REAL 长整型转换为浮点型4 计数器指令S_CUD 双向计数器S_CD 降值计数器S_CU 升值计数器---( SC ) 设置计数器线圈•---( CU ) 升值计数器线圈•---( CD ) 降值计数器线圈5.S_CUD 双向计数器`6. S_CU 升值计数器7. S_CD 降值计数器8. ---( SC ) 设置计数器值9. ---( CU ) 升值计数器线圈10. ---( CD ) 降值计数器线圈11. ---(OPN)打开数据块:DB或DI如果想将数据块中的数据读出(如DB和DI),需要通过(OPN)打开数据块后才可读出。
12. ---(JMP)--- 无条件跳转13. ---(JMPN) 若“否”则跳转14. LABEL标号【整型数学运算指令】整型数学运算指令概述说明使用整数运算,您可以对两个整数(16和32位)执行以下运算:•ADD_I 加整数•SUB_I 减整型•MUL_I 乘整型•DIV_I 除整型•ADD_DI 加双精度整数•SUB_DI 减长整型•MUL_DI 乘长整型•DIV_DI 除长整型•MOD_DI 返回分数长整型15. ADD_I 整数加16. SUB_I 整数减17. MUL_I 整数乘18. DIV_I 整数除19. MOD_DI 返回长整数余数20. 浮点运算指令概述IEEE32位浮点数属于REAL数据类型。
step7的使用方法

Page 46
访问错误,例如程序中访问了一个有故障或不存在的模 块,将调用OB122。
Page 11
LOGO
3.1.2功能FC和功能块FB
FC和FB都是用户自己编写的程序块,用户可以将具有相同控制过程 的程序编写在FC或FB中,然后在主程序OB1或其他程序块中(包括 组织块和功能、功能块)调用FC或FB。 FC或FB相当于子程序的功 能,都可以定义自己的参数
Page 21
LOGO
3.3.3参数数据类型
参数数据类型是一类用于功能FC或功能块FB的数据类型,主要包括以 下两种:
Pointe指针类型 6字节指针类型,传递数据块号和数据地址
Any指针类型 10字节指针类型,传递数据块号、数据地址、数据数量以及数据类型
Page 22
LOGO
3.4S7的系统存储区和寻址方式
(2) OB101为再启动类型(热启动)。启动时,所有数据(无论是 保持型和非保持型)都将保持原状态,并且将OB101中的程序执行一次 。然后程序从断点处开始执行。剩余循环执行完以后,开始执行循环程 序。热启动一般只有S7-400具有此功能。
(3) OB102为冷启动方式。CPU318-2和CPU417-4具有冷启动型的 启动方式,冷启动时,所有过程映像区和标志存储器、定时器和计数器 (无论是保持型还是非保持型)都将被清零,而且数据块的当前值被装 载存储器的原始值覆盖。然后将OB102中的程序执行一次后执行循环程 序。
LOGO
基本数据类型(二)
STEP7一般操作提示

S7-300系统维修ABCS7-300系统是目前比较普遍采用的PLC系统之一,其使用比照AB、日本的PLC系统有较多的特殊性,这里针对其常用的概念及维修操作做出索引,希望对维修人员的日常维修有帮助。
一.基本硬件连接以下是主机架的基本硬件连接方式。
二.新建工程按如下方法新建一个工程。
1.使用菜单命令“文件/新建项目向导”,弹出向导窗口。
2.点击中间的“预览”按钮,下部窗口显示你的项目预览。
3.点“下一步”,在上部方框中选择CPU型号。
如CPU314。
4.点“下一步”,选择上部窗口中的OB1(循环组织块,即主程序,必须)及其它需要建立的OB块。
每个块后面有名称,并且可以通过“OB的有关帮助”按钮查询其作用。
5.在窗口中部选择语言:STL(指令表)、LAD(梯形图)、FDB(功能块)。
6.点“下一步”,定义“项目名称”。
7.点“完成”按钮,新工程被建立。
新建工程默认存储目录为:step7\s7proj。
下面就是要进行硬件组态及编辑程序了。
三.基本硬件组态硬件组态四.绝对地址地址有两种,绝对地址和符号地址。
绝对地址:是系统分配的唯一的物理地址,也是维修和接线时必须查询的用以定位接点位置的地址。
符号地址:是用户定义的,便于阅读的一个符号名称。
它要在符号表中予以说明才有效。
上图中给出的就是I/O点的绝对地址示意图。
除此之外,内部元件也有其绝对地址。
五.编程相关(一)基本程序结构1.常见块类型:OB:组织块,FC:功能,FB:功能块,DB:数据块,SFC:系统功能。
2.块的作用:OB1为主程序,FC、FB为子程序块,DB为数据块,DB1为掉电保持数据清单。
SFC为系统功能,在PLC内存自动驻留,无法修改。
3.组织块:除主循环程序OB1外,其它大多数也都有固定作用,如时间中断OB10-17、硬件中断OB40-47、循环中断OB30-37、循环时间故障OB80、电源故障OB81、I/O故障OB82-83、CPU故障OB84、机架丢失故障OB86、通讯故障OB87、程序错误OB121、暖重启OB100、热重启OB101、冷重启OB102等等。
STEP7一般操作提示

S7-300系统维修ABCS7-300系统是目前比较普遍采用的PLC系统之一,其使用比照AB、日本的PLC系统有较多的特殊性,这里针对其常用的概念及维修操作做出索引,希望对维修人员的日常维修有帮助。
一.基本硬件连接以下是主机架的基本硬件连接方式。
二.新建工程按如下方法新建一个工程。
1.使用菜单命令“文件/新建项目向导”,弹出向导窗口。
2.点击中间的“预览”按钮,下部窗口显示你的项目预览。
3.点“下一步”,在上部方框中选择CPU型号。
如CPU314。
4.点“下一步”,选择上部窗口中的OB1(循环组织块,即主程序,必须)及其它需要建立的OB块。
每个块后面有名称,并且可以通过“OB的有关帮助”按钮查询其作用。
5.在窗口中部选择语言:STL(指令表)、LAD(梯形图)、FDB(功能块)。
6.点“下一步”,定义“项目名称”。
7.点“完成”按钮,新工程被建立。
新建工程默认存储目录为:step7\s7proj。
下面就是要进行硬件组态及编辑程序了。
三.基本硬件组态硬件组态四.绝对地址地址有两种,绝对地址和符号地址。
绝对地址:是系统分配的唯一的物理地址,也是维修和接线时必须查询的用以定位接点位置的地址。
符号地址:是用户定义的,便于阅读的一个符号名称。
它要在符号表中予以说明才有效。
上图中给出的就是I/O点的绝对地址示意图。
除此之外,内部元件也有其绝对地址。
五.编程相关(一)基本程序结构1.常见块类型:OB:组织块,FC:功能,FB:功能块,DB:数据块,SFC:系统功能。
2.块的作用:OB1为主程序,FC、FB为子程序块,DB为数据块,DB1为掉电保持数据清单。
SFC为系统功能,在PLC内存自动驻留,无法修改。
3.组织块:除主循环程序OB1外,其它大多数也都有固定作用,如时间中断OB10-17、硬件中断OB40-47、循环中断OB30-37、循环时间故障OB80、电源故障OB81、I/O故障OB82-83、CPU故障OB84、机架丢失故障OB86、通讯故障OB87、程序错误OB121、暖重启OB100、热重启OB101、冷重启OB102等等。
STEP7在S7-SCL中如何调试多重背景

介绍:在S7-SCL 中,可以像在STEP 7 LAD/STL/FBD编辑器一样编辑多重背景。
可以在如下条目中查找到关于断点的详细描述:« "How can you test a STEP 7 program with breakpoints?" 在条目 ID: 21336333过程描述见下表:编步骤号5 通过"Test > Breakpoints active" 切换至测试模式6 S7-SCL 编辑器窗口将被分割为两部分, 并且程序将运行到下一个断点。
如果程序停止在块调用的行(多 重背景),则选择 "Test > Execute call"。
在测试模式下,低等级的块被打开并被处理。
在处理后,程序返回调用位置。
1 234通过 S7-SCL 菜单命令"Tools > Settings..."打开"Settings"对话框,并选择"Compiler" 选项"Create Debug Info"并确认。
通过"Test > Operation > Test operation"操作,改变 CPU 模式至测试模式 保存并编译S7-SCL 程序,并下载到 CPU 中。
把光标移动至相应的程序行,并执行 "Test > Set breakpoint",来为多重背景设置断点。
在 令临近位置,断点以一个彩色的小圆圈显示。
页面。
激活 S7-SCL 指。
STEP7-功能块全中文说明全解
parator== IN1等于IN2<> IN1不等于IN2> IN1大于IN2< IN1小于IN2>= IN1大于或等于IN2<= IN1小于或等于IN22.整数就是没有小数位都是零的数,即能被1整除的数(如-1,-2,0,1,……)CMP ?I(INT)整数比较CMP ?D (DINT)比较双精度整数CMP ?R (REAL)比较实数3.转换指令概述BCD_I BCD码转换为整数I_BCD 整型转换为BCD码BCD_DI BCD码转换为双精度整数I_DINT 整型转换为长整型DI_BCD 长整型转换为BCD码DI_REAL 长整型转换为浮点型4 计数器指令S_CUD 双向计数器S_CD 降值计数器S_CU 升值计数器---( SC ) 设置计数器线圈•---( CU ) 升值计数器线圈•---( CD ) 降值计数器线圈5.S_CUD 双向计数器`6. S_CU 升值计数器7. S_CD 降值计数器8. ---( SC ) 设置计数器值9. ---( CU ) 升值计数器线圈10. ---( CD ) 降值计数器线圈11. ---(OPN)打开数据块:DB或DI如果想将数据块中的数据读出(如DB和DI),需要通过(OPN)打开数据块后才可读出。
12. ---(JMP)--- 无条件跳转13. ---(JMPN) 若“否”则跳转14. LABEL标号【整型数学运算指令】整型数学运算指令概述说明使用整数运算,您可以对两个整数(16和32位)执行以下运算:•ADD_I 加整数•SUB_I 减整型•MUL_I 乘整型•DIV_I 除整型•ADD_DI 加双精度整数•SUB_DI 减长整型•MUL_DI 乘长整型•DIV_DI 除长整型•MOD_DI 返回分数长整型15. ADD_I 整数加16. SUB_I 整数减17. MUL_I 整数乘18. DIV_I 整数除19. MOD_DI 返回长整数余数20. 浮点运算指令概述IEEE32位浮点数属于REAL数据类型。
实例解析西门子S7-300的多重背景数据块使用,教你事半功倍!
实例解析西门子S7-300的多重背景数据块使用,教你事半功倍!BFH当功能块FB1在组织块中被调用时,使用了与FB1相关联的背景数据块。
这样FB1有几次调用,就必须配套相应数量的背景数据块。
当FB1的调用次数较多时,就会占用更多的数据块。
使用多重背景数据块可以有效地减少数据块的数量,其编程思路是创建一个比FB1级别更高的功能块,如FB10,对于FB1的每一次调用,都将数据存储在FB10的背景数据块中。
这样就不需要为FB1分配任何背景数据块。
下面以发动机组控制系统为例,介绍如何编辑和使用多重背景数据块。
例发动机组控制系统设计——使用多重背景设某发动机组由1台汽油发动机和1台柴油发动机组成,现要求用PLC控制发动机组,使各台发动机的转速稳定在设定的速度上,并控制散热风扇的启动和延时关闭。
每台发动机均设置一个启动按钮和一个停止按钮。
项目的编程步骤如下:(1)创建S7项目。
使用菜单“文件”à“新建工程”向导创建发动机组控制系统的S7项目,并命名为“多重背景”。
CPU选择CPU 315- 2DP,项目包含组织块OB1。
(2)硬件配置。
在“多重背景”项目内打开“SIMATIC 300(1)”文件夹,打开硬件配置窗口,并按图1完成硬件配置。
图1 硬件配置(3)编辑如图2所示的符号表。
(4)规划程序结构。
程序结构规划如图3所示。
FB10为上层功能块,它把FB1作为其“局部实例”,通过二次调用本地实例,分别实现对汽油机和柴油机的控制。
这种调用不占用数据块DB1和DB2,它将每次调用(对于每个调用实例)的数据存储到体系的上层功能块FB10的背景数据块DB10中。
(5)编辑功能(FC)。
FC1用来实现发动机(汽油机或柴油机)的风扇控制,按照控制要求,当发动机启动时,风扇应立即启动;当发动机停止后,风扇应延时关闭。
因此FC1需要一个发动机启动信号、一个风扇控制信号和一个延时定时器。
1)定义局部变量声明表。
局部变量声明表如表1所示,表中包含3个变量,两个IN变量,1个OUT变量。
西门子S7-300高级编程培训教材,内部教材_6、块调用和多重背景模型
系统功能块(SFB) - FB(具有存储空间),存储在CPU的操作系统中并可由用户调用
系统功能(SFC)
- FB(无存储空间),存储在CPU的操作系统中并可由用户调用
系统数据块(SDB) - 用于配置数据和参数的数据块
SIMATIC S7
Siemens AG 2001. All rights reserved.
编程人员将用于进行数据处理或过程控制的程序指令,存储在这些块(OB, FB和FC)中。 数据块(DB)中,程序员可以将程序执行期间产生的数据保存起来,以备后 来使用。
用户块是在编程设备中创建的,并从编程设备中下载到CPU中去。 • 系统块:系统块包括系统功能块(SFB),系统功能(SFC),以及系统数 据块(SDB) 。
功能的属性
…………......................................................................................................... 5
基本数据类型传送机理
…..................................................................... 6
OOBB 11
FFBB11 电电电电机机机机1111
FFBB22 阀阀 阀阀
FFBB1100 控控制制器器 控控制制器器
FFCC 55 限限制制 阀阀
.. .. .. SSFFCC
复复制制
OOBB 11
.. ..
CCAALLLL FFBB11,,DDBB22 SSttaarrtt ::==II00..00 SSttoopp ::==II00..11 MMoottoorr__oonn ::==QQ1122..00 SSppeeeedd ::==QQWW1144
S7-300的功能块忘记选择多重实例背景功能,如何修改
S7-300的功能块忘记选择多重实例背景功能,如何修改?
难道必须要删掉重新建立吗?
还有我建立好的FB FC在主程序已经调用了,
之后我又修改了调用的地方就是红的必须要重新调用吗?没有什么简单的方法可以更新吗?
Step1:在LAD编辑器开启你需要修改的FB.
Step2:执行菜单File——Generate Sourece(中文版可能译为文件——生成源文件),给Object Name文件名,单击OK。
Step3:将需要生成.源.代.码的FB拖入右边的框中,确认。
Step4:在Step7的项目树中的Source源文件夹中你能看到刚才转换的文件。
Step5:双击打开刚才的文件,然后删除CODE_VERSION1行。
Step6:执行File——Compile(文件——编译),编译前应确保先前开启的FB编辑器关闭,否则将提示错误。
经过上述过程,你可以为没有多背景的FB添加该功能,反之,可以为FB的多背景属性取消,如果你的FB不需要多背景功能,建议不要选择多背景选项,因为多背景选项会限制STL的编程。