西门子 6ES7148-4EB00-0AA0 西门子 6ES7148-4EB00-0AA0 西门子 6ES7148-4EB00-0AA0
SIMATIC DP,气动接口 用于 ET 200 PRO, 16DO 气动 用于耦合 Festo 阀岛 CPV-14; 包括总线模块
|
建议同时购买:
![]() ![]()
SIMATIC ET 200SP, Digital output module, DQ 16x 24V DC/0,5A Standard, Source output (PNP,P-switching) Packing unit: 1 piece, fits to BU-type A0, Colour Code CC00, substitute value output, module diagnostics for: short-circuit to L+ and ground, wire break, supply voltage
![]() ![]()
SIMATIC ET 200SP, 基础单元 BU15-P16+A0+2D, 类型 A0 的基础单元, 直插式端子, 不带 AUX 端子, 新的负载组, 宽x高:15x 117mm
![]() ![]()
SIMATIC DP,IM154-8 PN/DP CPU 用于 ET200 PRO, 384KB 内存, 内部 PROFINET 接口, 内部 PROFIBUS DP 主/从接口 防护等级 IP65/67, 需要微型存储卡(MMC)和 连接模块
![]() ![]()
SIMATIC DP,连接模块 用于 ET200PRO CPU IM 154-8 PN/DP, 4xM12 和 2x 7/8", 用于 PROFINET 和 PROFIBUS-
|
可以 使用组态控制功能来设置S7-1500控制器或者ET200MP的组态,即可以组态一个最大的硬件组态配置下载至 PLC 中,然后在程序中通过控制数据记录的方式,使该设备可在缺少模块或者更改模块排列顺序的情况下继续运行。如果以后更新了缺失的模块,则无需重新组态,也无 需重新加载硬件组态。组态控制功能为用户提供了灵活性,只要实际组态不超过设定的最大组态,就可以通过使用控制数据记录196进行控制,以指定所需的组 态。
对于 S7-1500中央机架实现组态控制的要求:
STEP7 Professional V13 或更高版本
CPU S7-1500 固 件版本 V1.5 或更高版本
首先在 TIA 博 途中组态 S7-1500 的 最大硬件配置。即目前存在的和以后更新硬件所使用的模块,都包含于此硬件组态中。本例中,共组态了 10 个插槽,槽号为 0 至 9,模块依次为 PS25W 24VDC 电源,S7-1516CPU,两个 DI16/DQ16 X24VDC模块,PS25W 24VDC电源,TM Count 2X24V计数模板,DI 16X24VDC 模 块,DQ 16X24VDC模块,AI 8XU/IRTD/TC 模 拟量输入模板,AQ 8XU/I HS 模 拟量输出模板。
实际安装的硬件依次为:S7-1516CPU,AI 8XU/IRTD/TC 模拟量输入模板,AQ 8XU/I HS 模拟量输出模板,TM Count 2X24V 计 数模板,PS25W 24VDC 电 源,DI 16X24VDC 模 块,DQ 16X24VDC 模 块。即最大硬件组态和实际硬件组态对应关系如图01 所示:
图01. 最大硬件组态与实际组态的对应关系
然 后需要启用 PLC 的 组态控制功能,在硬件组态 CPU 的 属性中,按照菜单命令“属性”->“常规”->“组态控制”下,激活“允许通过用户程序重新组态设备”选项,如图 02 所示:
图02. 激活组态控制功能
接 下来创建一个共享数据块,用来存储将要传送的数据记录。并在启动组织块(本例为 OB100)中对数据块赋值,作用是描述 实际安装的模块与最大组态之间的关系,规则如下表所示:
字节 | 含义 | 数值 | 说明 |
0 | 数据记录长度 | 4+ 插 槽数 | 数据记录头 |
1 | 数据记录 ID | 196 | |
2 | 版本 | 4 | |
3 | 版本 | 0 | |
4 | 对最大组态中插槽0 中的模板进行分配 | 硬件组态插槽 0 中的模板所对应的实际插槽号 |
如果模板仅在硬件 组态中存在,而实 际中不存在,则数值为 B#16#FF |
5 | 对最大组态中插槽1 中的模板进行分配 | 硬件组态插槽 1 中的模板所对应的实际插槽号 | |
. . |
. . |
. . |
|
4+插 槽数 | 对最大组态中最大插槽编号的模板进行分配 | 硬件组态中最大插槽编号的模板对应实际中的插槽号 |
表01. 数据记录含义
说 明:
前 四个字节为标头,第一个字节为块长度(4+ 插 槽数),第二个字节为块 ID(数 据记录号 196),第三 个和第四个字节为版本(S7-1500 对 应为 4 和 0)。
从 第五个字节开始,按照槽号由低到高的顺序,依次描述最大硬件组态中的模块在实际组态中的位置,组态中的模块在实际中不存在时,向数据块中写入“B#16#FF”。按照以上规则在共享数据 块中建立一个结构,包含有 14 个 字节的数据,如图 03 所 示:
图03. 建立数据块
必 须在启动组织块(本例中为 OB100) 调用“WRREC”指令传 送创建的数据记录。在右侧的指令栏中,按照顺序“扩展指令”-〉“分布式I/O”下找到“WRREC”指令。如果未能在启动 OB(本例为 OB100)中传输有效的控制数据记录, 则 CPU 会从启动模 式返回到停止模式。因此,需要“WRREC”指令执行完才能退出启动组织 块,本例中以功能块“WRREC”的完成信号“Done”为循环指令的结束条件,保证能够 完成数据记录的传输。
对 于S7-1500 CPU,使用硬件标识符 33(作为“WRREC” 指令的“ID”的参数)写 入数据记录,程序如图 04 所 示,其中,参数“WRREC_DONE”、 “WRREC_BUSY” 等是在组织块的接口参数中定义的临时变量:
图04. 在启动组织块中写入数据记录
编 译和下载程序至 S7-1500 CPU 中, 启动后,S7-1500 CPU 就 可以正确识别中央机架上现有的模板并启动。
注意:
对于在线显示以及诊断缓冲区的显示,都以硬件组 态中的最大组态显示,而不是实际的组态。
实现 S7-1500 中央机架的组态控制 时,不能有通信处理器 CP/CM(包 括点对点通信模板)。
系统电源模块(PS)也遵从组态控制,但是不建议对插槽 0 的系统电源模块进行组态控制。
固件版本 V2.0 以上的 IM155-5 PN ST 接口模板 或 IM155-5 PN HF 接 口模板支持组态控制功能。
首先在 TIA 博途中组态最大硬件配置,即以 后所能使用到模板都包含在这个组态中。本例中控制器为315-2PN DPCPU。ET200 MP 分布式 I/O 中共组态了 11 个模板,分别位于插槽 0~10 中,模 块依次为 PS25W 24VDC 电 源,IM 155-5 PN ST 接 口模板,TM Count 2X24V 计 数模板,AI 8XU/IRTD/TC 模 拟量输入模板,AQ 8XU/I HS 模 拟量输出模板,DI 16X24VDC 模 块,DQ 16X24VDC 模 块,PS25W 24VDC 电 源,两个 DI16/DQ16 x 24VDC 模 块,CM PTP RS422/485 通 信模板。
实际安装的硬件依次为:PS25W 24VDC 电源,IM 155-5 PN ST 接口模 板,AI 8XU/IRTD/TC 模 拟量输入模板,AQ 8XU/I HS 模 拟量输出模板,TM Count 2X24V 计 数模板,DI 16X24VDC 模 块,DQ 16X24VDC 模 块,CM PTP RS422/485 通 信模板。即最大硬件组态和实际硬件组态对应关系如图05 所示:
图05. 最 大硬件组态与实际组态中的对应关系
然后启用组态控制功能,选择 ET200MP 接口模板的“属性” -〉“常规”-〉“模块参数”->“常规”中,启用“允许通过用户程序重新组态设备”功能,如图06 所示:
图06. 激活组态控制 功能
然后新建一个共享数据块,用来存储要传送的数据记录,数据记录中的 数据规则如表02 所 示:
字节 | 含义 | 数值 | 说明 |
0 | 数据记录长度 | 4+ 插 槽数 -1 | 数据记录头,“-1” 是因为数据记录中不需要对接口模板作任何配置 |
1 | 数据记录 ID | 196 | |
2 | 版本 | 3 | |
3 | 版本 | 0 | |
4 | 对最大组态中插槽0 中的模板进行分配 | 硬件组态插槽 0 中的模板所对应的实际插槽号 | 如果模板仅在硬件组态中存在,而实际中不存在,则数值为 B#16#7F |
5 | 对最大组态中插槽2 中的模板进行分配 | 硬件组态插槽 2 中的模板所对应的实际插槽号 | |
. . |
. . |
. . |
|
4+ 插 槽数 -1 | 对最大组态中最大插槽编号的模板进行分配 | 硬件组态中最大插槽编号的模板对应实际中的插槽号 |
表02. 数据记录含义
说明:
前 四个字节为标头,第一个字节为块长度(4+ 插 槽数 -1,这是因为接口模板不需要作任何操作,所以数据记录中没有接口模板的描述),第二个字节为块 ID(数据记录号 196),第三个和第四个字节为版本(IM 155-5 PN 接口模板对应为 3 和 0)。
从 第五个字节开始,按照槽号由低到高的顺序,依次描述最大硬件组态中的模块在实际组态中的位置,组态中的模块在实际中不存在时,向数据块中写入“B#16#7F”。接口模板不需要作任何设 置。按照以上规则在共享数据块中建立一个结构,包含有14 个字节的数据,如图07 所示:
图07. 建立数据块
在 OB1 中调用“WRREC”指令传送创建的数据记录。在右 侧的指令栏中,按照顺序“扩展指令”-〉“分布式I/O”下找到“WRREC”指令。在S7-300/400 作为控制器时,使用ET200MP 接口模块的诊断地址作为“WRREC”指令接口参数“ID”的实参。当控制器为 S7-1500 时,使用 ET200MP 接口模板的名称为“IO_device_2[Head]”所对 应的硬件标识符作为“WRREC”指令接口参数“ID”的实参。程序如图08 和图09 所示,其中,参数“WRREC_DONE”、“WRREC_BUSY”等是在位存储区中定 义的变量:
图08. 315CPU 中将实际的配置对 应的数据记录写入数据块
描述
使用 "RUNTIME" 指令测量运行时间
使用 "RUNTIME" 指令可以测量整个程序、单个块或者命令序列的运行时间。该指令在 SCL (S7-1200/S7-1500) 语言和 STL (S7-1500) 语言中调用。下面的例子展示了如何测量一个程序块的运行时间。
例 1:在 S7-1500 中使用 STL 语言测量运行时间
第一次调用指令(调用 RUNTIME)时设置时间测量的起始点。这个起始点信息缓存在 DB 数据块的 "DB1".Mem 中,并作为第二次调用此命令的参考点。执行完 "TimeDelay" [FC2] 功能后,再次执行 "RUNTIME" 指令,然后计算出了功能的运行时间。结果存储在 DB 变量的 "DB1".Res (输出 "RET_VAL") 中。
图 01
例 2:在 S7-1500 中使用 SCL 语言测量运行时间
图 02
关于此方法的详细描述和示例,参考如下 STEP 7 (TIA 博途) 的在线帮助:
例 3:使用主程序 [OB1] 的临时变量测量循环时间
对于 S7-1500 的“程序循环 OB ”,可以将其从“优化的块访问”改成“标准兼容模式”。然后与在 STEP 7 V5.x 中类似,通过访问临时变量来得到测量出的循环时间。
图 03
现在,就像在 STEP 7 V5.x 中一样,可以使用临时变量得到系统信息,这些信息包括这个块的进入系统时的起始时间数据、故障原因和故障点。可以在块中评估这些数据。现在可以通过主程序 [OB1] 的临时变量确定循环时间。
图 04
改变块的访问方式后,这些参数已经被保存在声明的临时变量里了。这些 OB 块的临时变量名称都可以被修改,但是其内容不会改变。下表给出了测量循环时间的编程例子。
循环时间 | 指令 |
输出前一个循环时间:
|
![]() 图 05 |
输出最小循环时间:
|
![]() 图 06 |
输出最长循环时间:
|
![]() 图 07 |
西门子 6ES7148-4EB00-0AA0 西门子 6ES7148-4EB00-0AA0 西门子 6ES7148-4EB00-0AA0 西门子 6ES7148-4EB00-0AA0