全国服务热线 15801815554

SIEMENS西门子 操作面板KTP700 6AV21232GB030AX0

更新时间:2024-11-26 08:00:00
价格:请来电询价
西门子:代理经销商
精智面板:全新原装 假一罚十
德国:现货 实体经营
联系电话:15801815554
联系手机: 15801815554
联系人:邓经理
让卖家联系我
详细介绍


             BSEND 和 BRCV 的编程示例 (S7-1200, S7-1500) 简介 在以下示例中,将在 S7-1500 系列的两个 CPU 间创建一个 S7 连接。使用 BSEND 和 BRCV, 可将数据记录从 CPU 1 发送到 CPU 2 中。但数据传送需要 BRCV 进行确认。 要求 • 两个 S7-1500 系列的 CPU 通过 PROFINET 进行互连,并且组态了一个 S7 连接。 • “> 属性 > 保护”(> Properties > Protection) 中的低保护级别,可确保各 CPU 可进行读写访问。 CPU 1 中的程序 创建以下变量,在全局数据块中进行存储 BSEND 的数据: 为数据记录,创建以下 PLC 数据类型。

            要进行数据传送,需基于所创建的 PLC 数据类型(“BSEND_User”),创建以下数据块。 创建函数块“SLI_FB_BSEND”。在其中创建以下局部变量。 程序段 1:互连“BSEND”指令的参数,如下所示: 程序段 2:如果 BSEND 出错,则保存状态信息,如下所示。CPU 2 中的程序 创建以下变量,在全局数据块中进行存储 BRCV 的数据: 为数据记录,创建以下 PLC 数据类型。 要进行数据传送,需基于所创建的 PLC 数据类型(“BSEND_User”),创建以下数据块。 创建函数块“SLI_FB_BSEND”。在其中创建以下局部变量。 程序段 1:互连“BRCV”指令的参数,如下所示:分配通信连接 连接两个 CPU 的寻址参数和定义指令对的寻址参数必须一致。 • 在任何情况下,所组态 S7 连接中硬件 ID 的十六进制值都将存储到输入参数 ID (“connectionID”)中。 该硬件 ID 位于“连接”(Connections) 中的“网络视图”(Network view) 内。 • 在任何情况下,指令对的自选 ID(十六进制值,单位为字节)都将存储在输入参数 R_ID (“instructionPair”)中。该标识符不得已分配给其它指令对。CPU 1 的行为 与输入参数 ID(“connectionID”)和 R_ID(“instructionPair”)相对应,CPU 2 的指令“BRCV” 将作为数据记录(“SLI_plcDB_sendData_BSEND”)的接收器进行寻址。 输入参数 REQ(“start”)的信号状态为“TRUE”时,启动指令“BSEND”。进行多次调用时,指令 “BSEND”将输入参数 SD_1(“SLI_plcDB_sendData_BSEND”)中检测到的数据记录分段传送到 CPU 2 中输入参数 0(“maxLength”)的值“LEN”,将作为数据记录的长度。 数据记录 () 成功传送后,输出参数 DONE(“#done”)中的信号状态为“TRUE”。由于输出参 数的值仅在有效时才显示,因此成功状态将保存在变量“done”中。 输出参数 ERROR(“error”)或变量“memErrStatus”)可用于指示本示例中的执行过程是否出 错。 仅当 BRCV 调用获得之前的数据后,才能启动新的数据传送。 CPU 2 的行为 CPU 2 通过 S7 连接接收 CPU 1 中的数据记录(分段)。与输入参数 ID(“connectionID”)和 R_ID(“instructionPair”)相对应,指令“BRCV 将”作为该数据记录的接收器。 输入参数 EN_R(“start”)的信号状态为“TRUE”时,启动指令“BRCV”且准备就绪可以接收。多 次调用后,指令“BRCV”将分段读取该数据记录,并将该数据保存在输入参数 RD_1 (“SLI_plcDB_rcvData_BRCV”)中。 成功接收整个数据记录之后,输出参数 NDR(“#done”)的信号状态为“TRUE”。并通过输出 参数 LEN(“#length”),确定 BYTE 中实际传送的数据记录长度。仅当传送成功时,才显示该值。之后,将检查“0”。由于输出参数的值仅在有效时才显示,因此将在变量“done”中保存 “#done”的成功状态,在变量“readLength”中保存 BYTE 的长度。 输出参数 ERROR(“error”)或变量“memErrStatus”)可用于指示本示例中的执行过程是否出 错。 程序代码 有关上述示例的更多信息和程序代码,请参见“指令的示例库 ”。

             数据的一致性 (S7-1200, S7-1500) 确保数据的一致性 在 S7-1500 模块系列中,可在操作过程中使用开放式用户通信指令更改参数。即便作业仍 在运行,系统也将立即使用更改后的参数。这两种操作都将导致数据不一致!为了避免数据 不一致,不建议在作业运行过程中更改参数。TSEND_C:建立连接并发送数据 (S7-1200, S7-1500) TSEND_C: 通过以太网发送数据 (S7-1200) 有效性 以下“TSEND_C”说明适用于 S7-1200 CPU 固件版本 V4.0 及更低版本。 说明 “TSEND_C”指令设置并建立 TCP 或 ISO-on-TCP 通信连接。设置并建立连接后,CPU 会自动保 持和监视该连接。参数 CONNECT 中指定的连接描述用于设置通信连接。 该指令异步执行且具有以下功能: • 设置并建立通信连接: 通过 CONT=1 设置并建立通信连接。连接成功建立后,参数 DONE 将置位为“1”并持续一 个周期。CPU 进入 STOP 模式后,将终止现有连接并移除已设置的连接。要再次设置并建 立该连接,需要再次执行“TSEND_C”。有关可能的通信连接数量信息,请参见 CPU 的技 术规范。 • 通过现有通信连接发送数据: 通过参数 DATA 可指定发送区。这包括要发送数据的地址和长度。请勿在 DATA 参数中使 用数据类型为 BOOL 或 Array of BOOL 的数据区。如果在参数 DATA 中使用纯符号值,则 LEN 参数的值必须为“0”。 • 在参数 REQ 中检测到上升沿时执行发送作业。使用参数 LEN 可指定通过一个发送作业发 送的Zui大字节数。发送数据(在参数 REQ 的上升沿)时,参数 CONT 的值必须为“1”才能 建立或保持连接。在发送作业完成前不允许编辑要发送的数据。如果发送作业成功执行, 则参数 DONE 将设置为“1”。参数 DONE 的信号状态“1”并不能确定通信伙伴已读取所发送 的数据。 • 终止通信连接: 参数 CONT 置位为“0”时,即使当前进行的数据传送尚未完成,也将终止通信连接。但如 果对“TSEND_C”使用了已组态连接,将不会终止连接。 将 COM_RST 参数设置为“1”时,可以随时重置当前建立的连接或当前数据传输。这会终止现 有通信连接并建立新连接。如果再次执行该指令时正在传送数据,可能会导致数据丢失。要在执行 (DONE = 1) 后再次启用“TSEND_C”,使用 REQ = 0 调用一次指令。 说明 编程连接时的技术支持 如果在程序块中选择通信指令 TCON、TSEND_C 或 TRCV_C 创建类型为 TCP、UDP 或 ISO-onTCP 的连接,并为这些连接分配参数,则可使用连接参数分配支持功能。 在程序编辑器的巡视窗口中,可进行连接参数分配。 参数 下表列出了“TSEND_C”指令的参数: 参数 声明 数据类型 存储区 说明 REQ Input BOOL I、Q、M、D、L 在上升沿启动发送作业。 CONT Input BOOL I、Q、M、D、L 控制通信连接: • 0:断开通信连接 • 1:建立并保持通信连接 发送数据(在参数 REQ 的上升沿)时,参数 CONT 的值必须为 TRUE 才能建立或保持连接。 LEN Input UINT I、Q、M、D、L 或常量 要通过作业发送的Zui大字节数。如果在参数 DATA 中使用纯符号值,则 LEN 参数的值必须 为“0”。 CONNECT InOut TCON_Param D 指向连接描述的指针 另请参见“AUTOHOTSPOT” DATA InOut VARIANT I、Q、M、D、L 指向发送区的指针,该发送区包含待发送数据 的地址和长度(Zui大长度:8192 字节)。 传送结构时,发送端和接收端的结构必须相 同。 COM_RST InOut BOOL I、Q、M、D、L 重新启动该指令: • 0:不相关 • 1:该指令重新启动完成后,将导致现有连 接终止并建立一个新连接。 DONE Output BOOL I、Q、M、D、L 状态参数,可具有以下值: • 0:作业尚未启动,或仍在执行过程中 • 1:作业已执行,且无任何错误。

联系方式

  • 地址:上海市松江区石湖荡镇塔汇路755弄29号1幢一层A区213室
  • 邮编:201100
  • 电话:15801815554
  • 联系人:邓经理
  • 手机:15801815554
  • 微信:15801815554
  • QQ:190755061