STEP7怎样使用多重背景数据块

合集下载

STEP7-功能块全中文说明资料

STEP7-功能块全中文说明资料
34. S_PEXT 扩展脉冲 S5定
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-功能块全中文说明资料

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的使用方法

step7的使用方法
使用S7-300PLC实现一台电动机的正反转控制。控制要求如下:要求 能实现电机的正转和反转控制,并能进行正反转的直接切换。另外 ,还可进行正反向的点动控制,当电机处于正常运行时,点动按钮 不起作用。
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一般操作提示

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一般操作提示

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中如何调试多重背景

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-功能块全中文说明全解

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的多重背景数据块使用,教你事半功倍!

实例解析西门子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、块调用和多重背景模型

西门子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的功能块忘记选择多重实例背景功能,如何修改

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的编程。

STEP7常用功能块说明

STEP7常用功能块说明

S T E P7?常用功能块说明1. SFB0"CTU" SFB1"CTD" SFB2"CTUD" SFB4"TON" SFB5TOF兼容IEC61131-3的计数和计时功能块2.SFB41"CONT_C" SFB42"CONT_S" SFB43"PULSEGEN"用于PID控制41---连续42---离散10.Ti-S7ConvertingBlocksFC105"SCALE"FC106"UNSCALE"模拟量输入输出的比例和数据类型转换11、SFC1 读取系统时钟12、SFC3 启动/停止运行时间定时器13、OB1:主程序循环14、OB10--OB17:在设置的日期和时间启动15、OB20--OB23:延时后启动16、OB30--OB38:以设定的时间为周期17、OB40--OB47:检测到来自外部模块的中断请求时启动18、1、等常规信号)输入的功能块,在中,打开MD200;模块是进行模拟量控制的模块,可以完成恒压、恒温等控制功能在4PIDControlblock\FB43,将其调入OB1中,首先分配背景数据块DB43,再给各个管脚输入地址;如下:将程序下载调试,看PID的温度调节作用如何?如果控制的不好,改变P、I参数!5、果现场是阀门等执行机构,只需要将通道地址输入PID的输出通道,如下:6、如果单独控制变量输出通道,可使用FC106模块,FC106是处理模拟量(1~5V、4~20MA等常规信号)输出的功能块,在中,打开Libraries\standardlibrary\Ti-S7ConvertingBlocks\fc106,将其调入OB1中,给各个管脚输入地址;如下:。

STEP7怎样使用多重背景数据块

STEP7怎样使用多重背景数据块

STEP7怎样使用多重背景数据块多重数据块是数据块的一种特殊形式,如在OB1中调用FB10,在FB10中又调用FB1和FB2,则只要FB10的背景数据块选择为多重背景数据块就可以了,FB1和FB2不需要建立背景数据块,其接口参数都保存在FB10的多重背景数据块中。

建立多重背景数据块的方法是:在建立数据块只要在数据类型选项中选择“实例的DB”就可以了,见下例。

下面通过一例简单介绍一下多重背景数据块使用的一些注意事项和方法。

例如,PLC控制两台电机,且控制两台电机的接口参数均相同。

一般的作法,我们可以编写功能块FB1控制两台电机,当控制不同的电机时,分别使用不同的背景数据块就可以控制不同的电机了(如第一台电机的控制参数保存在DB1中,第二台电机的控制参数保存在DB2中,我们可以在控制第一台电机调用FB1时以DB1为背景数据就可以了,第二台同样以DB2为背景数据块)。

这样就需要使用两个背景数据,如果控制的电机台数更多,则会使用更多的数据块。

使用多重背景数据块就是为了减少数据块的数量。

像这种情况,我们就可以利用多重背景数据块来减少数据块的使用量。

拿本例来说,我们就可以在OB1中调用FB10,再在FB10中分别调用(每台电机各调用一次)FB1来控制两台电机的运转。

对于每次调用,FB1都将它的数据存储在FB1的背景数据块DB1中。

这样就无需再为FB1分配数据块,所有的功能块都指向FB10的数据块DB10。

原理图如下:500)this.width=500" border=0>首先,我们需要先后插入一个功能块FB10和数据块DB10,DB10就为FB10的多重背景多重数据块。

如下图:500)this.width=500" border=0>其次,需要在FB10中指定其所包含的背景数据块。

方法如下:在FB10局部变量定义窗口中,在“STAT”变量区中(必须在此变量区中)为每台电机的控制取好名称后,数据类型选择FB ,确认后,再把改为1,即功能块FB1。

STEP7功能块说明

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-1200PLC多重背景数据块DB使用方法

S7-1200PLC多重背景数据块DB使用方法

S7-1200PLC多重背景数据块DB使用方法前两次文章和大家讲解了FB FC块使用方法,其中包含带参数、多次调用、全局库知识点,那么结合前两次内容给大家补充一个技巧,如何通过多次调用FB或FC块并产生一个DB背景数据块,统称为:多重背景数据DB块。

一、创建一个FB块(电机正反转互锁)第一步:(添加FB块,命名为:正反转)二、编写FB块参数与程序第一步:(填写接口参数地址与数据类型)Input(输入接口)正转启动(数据类型BOOL)反转启动(数据类型BOOL)停止按钮(数据类型BOOL)InOut(输入输出接口)正转启动(数据类型BOOL)反转启动(数据类型BOOL)第二步:(编写正反转程序)三、创建一个FB块作为多重背景存放第一步:(创建FB100块,作为多重背景存放区)FB编号可以根据调用的FB多少来确定,当然越大越好。

第二步:(在FB100接口Static(静态变量)参数中创建调用FB 块多重背景名称)根据自己需要调用次数来填写,比如我需要调用三次,那么就创建三个即可,其它以此类推,FB块多重背景名称可以随意定义,没有固定的名称。

四、调用FB块第一步:(在FB100中调用FB1正反转程序)调用时选择多重背景,然后在多重背景接口参数中的名称选择在FB100接口参数中Static(静态变量)创建的名称,通过编号1 2 3排列。

第二步:(填写FB1正反转管脚地址)五、查看背景数据DB块第一步:(创建DB块,命名为:正反转背景DB块)第二步:(调用三次FB块,背景数据块全部集成在一个背景DB 块中)按照正常调用法,每次调用一个FB或FC块都要产生一个DB背景数据块,这样浪费并占地方,一个背景DB块可以存入1万6千多个数据,所以这样很浪费,因此采用多重背景数据DB,把所有数据都放在一个背景数据块中。

六、演示效果第一步:(三个FB正反转块全部同时启动电机正转)它们之间相互互不影响,可以同时启动,同时停止,同时反转。

块调用与多重背景模型

块调用与多重背景模型

程序 执行
CALL FC10
On_1 := On_2 := Off := I 0.1 I 0.2 Q8.0 BLD = UC 1 L FC P#I P#I P#Q 2 20.0 10 0.1 0.2 8.0
BLD
... A A = ...
#On_1 #On_2 #Off
块参数
实际参数
形式参数
SIMATIC S7
SITRAIN Training for
Automation and Drives
功能及功能块中的参数声明
参数是信息传递的通道
输入参数: 输入参数: Caller -> Block 输出参数: 输出参数: Block -> Caller 输入/输出参数 输出参数: 输入 输出参数: Caller <-> Block 地址 0.0 0.1 2.0 2.0 8.0 10.0 ... ... 声明 输入 输入 输入 输出 输出
FB 1
地址 0.0 0.1 2.0 4.0 6.0 0.0 . . . A AN = .
. .
#Start #Stop #Motor_on
SIMATIC S7
Siemens AG 2001. All rights reserved.
Date: File:
2010-9-4 PRO2_06E.2
SITRAIN Training for
输入 输入 输出 ...
On_1 On_2 Off
BOOL BOOL BOOL
扩展了处理器的指令集
... A A = ...
#On_1 #On_2 #Off
SIMATIC S7
Siemens AG 2001. All rights reserved.

STEP7-功能块全中文说明书

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数据类型。

STEP 7中FB生成多重背景数据块

STEP 7中FB生成多重背景数据块
4 一旦修改过了多重背景,并打开调用它的功能块。当功能块被打开时,会出 现一个消息显示在 FB 接口声明中有一个 UDT 或本地标签的被修改,并显 示在功能块调用中至少有一个时间标签冲突。确认此信息,修改过的背景调 用在 LAD/STL/FBD 编辑器中将会以亮红色显示。 为了更新功能块调用,右击功能块,然后在弹出菜单中选择“Update Block Call...”。
*************************************************************************************
************************************************************************************* 以下详细讲解西门子多重背景数据块的使用。
程序的结构。 通过工具栏中的第二个按钮或者“Program > Compile All”功能编译程序。在
编译后,STEP 7 程序一致性将统一。
图5 当新生成一个新的功能块,在功能块属性中多重背景功能默认被选择(图 6)。 也可以改变此设置:
图6 一旦已经生成了功能块,多重背景功能就不可以被重新设置,是否具有多重背景 的属性只可以显示,除非按照一个冗长的过程来修改它。
图3
5
在后续的对话框中,点击 OK 来执行接口更新。
图4 在 STEP 7 V5.3 中的注意事项: 当尝试通过“File > Check and Update Accesses”来更新程序块调用时, STEP7 V5.3 不能发现变量间的唯一分配,调用还是保持红颜色,也无法通 过“Edit > Call > Update”改正调用错误。更新调用的唯一办法是删除调用, 在声明中更新接口,然后再以多重背景方式调用功能块。如果已经删除了 FB 接口中的变量,应该通过“Edit > Call > Update”来改正所有的多重背景调用, 而不需使用前面的“Check and Update Accesses”功能。一旦已经更新了这些 多重背景,就又可以与平时一样使用“Check and Update Accesses”功能了。 6 推荐在更新功能块调用后进行一致性检查。在 SIMATIC Manager 中,右击 S7 program 文件夹,选择“Check block consistency...”功能,系统会显示 S7

STEP7如何使用多重背景数据块

STEP7如何使用多重背景数据块

STEP7如何使用多重背景数据块多重数据块是数据块的一种特殊形式,如在OB1中调用FB10,在FB10中又调用FB1和FB2,则只要FB10的背景数据块选择为多重背景数据块就可以了,FB1和FB2不需要建立背景数据块,其接口参数都保存在FB10的多重背景数据块中。

建立多重背景数据块的方法是:在建立数据块只要在数据类型选项中选择“实例的DB”就可以了,见下例。

下面通过一例简单介绍一下多重背景数据块使用的一些注意事项和方法。

例如,PLC控制两台电机,且控制两台电机的接口参数均相同。

一般的作法,我们可以编写功能块FB1控制两台电机,当控制不同的电机时,分别使用不同的背景数据块就可以控制不同的电机了(如第一台电机的控制参数保存在DB1中,第二台电机的控制参数保存在DB2中,我们可以在控制第一台电机调用FB1时以DB1为背景数据就可以了,第二台同样以DB2为背景数据块)。

这样就需要使用两个背景数据,如果控制的电机台数更多,则会使用更多的数据块。

使用多重背景数据块就是为了减少数据块的数量。

像这种情况,我们就可以利用多重背景数据块来减少数据块的使用量。

拿本例来说,我们就可以在OB1中调用FB10,再在FB10中分别调用(每台电机各调用一次)FB1来控制两台电机的运转。

对于每次调用,FB1都将它的数据存储在FB1的背景数据块DB1中。

这样就无需再为FB1分配数据块,所有的功能块都指向FB10的数据块DB10。

原理图如下:首先,我们需要先后插入一个功能块FB10和数据块DB10,DB10就为FB10的多重背景多重数据块。

如下图:其次,需要在FB10中指定其所包含的背景数据块。

方法如下:在FB10局部变量定义窗口中,在“STAT”变量区中(必须在此变量区中)为每台电机的控制取好名称后,数据类型选择FB ,确认后,再把改为1,即功能块FB1。

如果你在变量表中已经定义了FB1的符号,则会自动出现其符号名。

地址一般由CPU根据FB1的接口参数数量自动计算得到,采用默认值就可以了。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档