SIEMENS西门子 转换器电缆套装 6EP53065BG00
Send_P2P:发送数据 (S7-300, S7-400) 说明 使用 CM1241 自模块的固件版本 V2.1 起,才能通过 CM1241 使用该指令。 说明 Send_P2P 指令(发送点对点数据)启动数据传输并向通信模块传输分配的缓冲区中的内容。 当 CM 以指定的数据传输速率发送数据时,CPU 程序仍然执行。任何时刻,每个通信模块都 只能有一条发送指令处于待定状态。当 CM 已经在发送帧时,如果执行第二条 Send_P2P 指 令,则 CM 会指示错误。
在此输入的上升沿开始向 CM 传输数据。 PORT IN PORT (UInt) Word 0 指定用于以下通信的通信模块: • 对于 S7-1500/S7-1200:设备组态中的“硬件标 识符”。 符号端口名称在 PLC 变量表的“系统常 数”(System constants) 选项卡中指定并可应用于 此处。 • 对于 S7-300/S7-400:设备组态中的“输入地 址”。 在 S7-300/400/WinAC 系统中,在 HWCN 中分配 的输入地址中分配端口参数。 BUFFER IN Variant Any 0 此参数指向发送缓冲区的存储区。 注意: • 不支持布尔数据和布尔字段。 • 如果发送缓冲区在优化存储区中,则发送数据的 Zui大允许长度为 1024 字节。 例外:字节,字或者双字的数组可支持Zui大长度 4096 字节。 • 如果发送缓冲区是字符串或宽字符串,则不使用 当前长度和Zui大长度传送字符串内容。 更多信息,请参见“使用 BUFFER 和 LENGTH 参数 进行通信操作 (页 8835)” LENGTH IN UInt Word 0 要传输的数据长度(字节)。 在 BUFFER 参数中被寻址的存储区完全通过 LENGTH = 0 传输。 更多信息,请参见“使用 BUFFER 和 LENGTH 参数 进行通信操作 (页 8835)” COM_RST IN/OUT --- Bool FALSE 初始化 Send_P2P 指令 将使用 1 对指令进行初始化。随后会将 COM_RST 复 位为 0。 注: 该参数仅适用于 S7-300/400 指令。在 CPU 和通过 PORT 指定的 CM 之间进行数据通信 的类型: FALSE:性能优化(周期性) • 接收帧Zui多 24 个字节 • 发送帧Zui多 30 个字节 TRUE:Universal(非周期性) • 根据 CM 将帧长度限制为 1、2 或 4 KB DONE OUT Bool FALSE 如果上一个请求无错完成,将变为 TRUE 并保持一 个周期 ERROR OUT Bool FALSE 如果上一个请求有错完成,将变为 TRUE 并保持一 个周期 STATUS OUT Word 16#7000 错误代码(请参见错误消息 (页 8847)) 1) 库版本 V4.0 提供 有关通用参数的其它信息,请参见“用于自由口操作的通用参数 (页 8816)”。 参数 正在处理发送指令时,DONE 和 ERROR 输出处于 FALSE 状态。发送指令结束时,DONE 或 ERROR 输出中会有一个设为 TRUE 并保持一个周期,以指示发送指令的状态。当 ERROR 的 状态为 TRUE 时,可以评估 STATUS 输出中的错误代码。 通信接口接受发送数据时,指令输出状态 16#7001。如果 CM 仍在发送,随后执行的 Send_P2P 输出值 16#7002。发送指令结束时,CM 输出发送指令状态 16#0000(如果未发 生错误)。随后执行的 Send_P2P (REQ = 0) 输出状态 16#7000(空闲)。 下图显示输出值与 REQ 之间的关系。它的假设条件是周期性调用指令检查发送过程的状态 (由 STATUS 值指示)。使用 BUFFER 和 LENGTH 参数进行通信操作 (S7-300, S7-400) 为 Send_P2P 交互 BUFFER 和 LENGTH 参数 Send_P2P 指令发送的Zui小数据大小为 1 字节。 调用期间,当 LENGTH 参数中传递“0”时,BUFFER 参数会指定要发送数据的大小。对此,变 量的规格足够。无法对 BUFFER 参数使用 Bool 数据类型或 Bool 类型的数组。如果要传输大量数据,我们建 议对阵列或结构数据类型进行映射。 表格 4-375 BUFFER 参数 BUFFER 说明 基本数据类型 发送时:LENGTH 值必须包括此数据类型的字节大小。 示例:对于 Word 值,LENGTH 必须为 2。对于 DWord 值或 Real 值,LENGTH 必须为 4。 结构 如果未激活性能优化选项: • 对于优化存储器:允许的Zui大 BUFFER 长度为 1024 Byte;否则,根据模块的不同,允 许的Zui大长度为 4 KB。 • 传输时,如下要求适用:LENGTH 值可以包括小于结构完整字节长度的字节大小;这 种情况下,只发送 BUFFER 的第一个 LENGTH 结构字节。 如果激活了性能优化选项: • BUFFER 允许的Zui大长度为 30 字节。 Array 对于优化存储器:如果数组数据类型不等于 Byte、Word 或 DWord,则允许的Zui大缓冲 区长度为 1024 字节。如果存储器未经过优化,则根据数据结构的不同,传输的Zui大缓 冲区长度可达 4 KB,与数据结构无关。 对于发送:LENGTH 值可包括小于数组完整字节长度的字节大小,其中,此字节大小是 数据元素字节大小的倍数。示例:Word 类型的数组的 LENGTH 参数必须是 2 的倍数,而 对 Real 类型的数组来说必须是 4 的倍数。 例如,如果 BUFFER 包括一个具有 15 个 DWord 元素(总计 60 字节)的数组并指定 LENGTH = 20,则传输数组前 5 个 DWord 元素。如果 LENGTH 未指定或值为 0,则传输 整个数组。 String LENGTH 参数包括要发送的数字或字符。只传输 String 的字符。不发送具有Zui大和实际 String 长度的字节。 表格 4-376 LENGTH 参数 LENGTH 说明 = 0 传送 BUFFER 指定的存储区的完整内容。 如果 BUFFER 指向字符串,则除包含Zui大长度和实际长度的字节外,将传送 全部字符串内容。 > 0 传送 BUFFER 指定的存储区的长达组态长度的内容。Receive_P2P:接收数据 (S7-300, S7-400) 说明 使用 CM1241 自模块的固件版本 V2.1 起,才能通过 CM1241 使用该指令。 说明 Receive_P2P 指令(使用点对点通信接收数据)用于检查 CM 中接收到的帧。如果帧可用,则 将其从 CM 传输至 CPU。在 STATUS 参数中指示接收错误。指定用于以下通信的通信模块: • 对于 S7-1500/S7-1200:设备组态中的“硬件标 识符”。 符号端口名称在 PLC 变量表的“系统常 数”(System constants) 选项卡中指定并可应用于 此处。 • 对于 S7-300/S7-400:设备组态中的“输入地 址”。 在 S7-300/400/WinAC 系统中,在 HWCN 中分配 的输入地址中分配端口参数。 BUFFER IN Variant Any 0 此参数指向接收缓冲区的起始地址。此缓冲区必须 足够大,以便接收Zui大帧长度。 注意: • 不支持布尔数据或布尔字段。 • 如果接收缓冲区在优化存储区中,则接收数据的 Zui大允许长度为 1024 字节。 例外:支持的字节数组、字或双字的长度Zui大为 4096 字节。 • 如果接收缓冲区是字符串或宽字符串,则接收数 据将写入字符串的内容中,并据此设置字符串当 前长度。 更多信息,请参见“使用 BUFFER 和 LENGTH 参数 进行通信操作 (页 8835)” UNIVERS AL 1) OUT Bool --- FALSE 在 CPU 和通过 PORT 指定的 CM 之间进行数据通信 的类型: FALSE:性能优化(周期性) • 接收帧Zui多 24 个字节 • 发送帧Zui多 30 个字节 TRUE:Universal(非周期性) • 根据 CM 将帧长度限制为 1、2 或 4 KB NDR OUT Bool FALSE 如果新数据可用且指令无错完成,则为 TRUE 且保 持一个周期。指令的初始化 将使用 TRUE 对指令进行初始化。随后会将 COM_RST 复位为 FALSE。 ERROR OUT Bool FALSE 如果指令完成但出现错误,则为 TRUE 且保持一个 周期。 STATUS OUT Word 16#7000 错误代码(请参见错误消息 (页 8847)) LENGTH OUT UInt Word 0 接收到的帧的长度(以字节为单位) 更多信息,请参见“使用 BUFFER 和 LENGTH 参数 进行通信操作 (页 8835)”。 1) 自库版本 V4.0 开始提供 有关通用参数的其它信息,请参见“用于自由口操作的通用参数 (页 8816)”。 当 ERROR 的状态为 TRUE 时,可以评估 STATUS 输出中的错误代码。STATUS 值提供 CM 中 终止接收操作的原因。 它通常是正值,表示接收操作成功且已检测到帧标准。 如果 STATUS 值为负(十六进制值的Zui高有效位置位),则接收操作因出错而终止,例如奇 偶效验、帧或溢出错误。 每个通信模块均可缓冲模块特定的帧数。如果 CM 中存在多个帧,则 Receive_P2P 指令输出 Zui早存在的帧 (FIFO)。