UDTTIO_SYNC_Data (S7-1200, S7-1500) 说明 数据类型 UDT TIO_SYNC_Data包含用于同步模块和传递 TIO_Time 的中央结构和数据。 参数 参数 数据类型 说明 S7-1500 TIO_TIME LTimeTIO 模块的共享时间基准(相对时间) PIP_MODE USInt 数据更新的模式(由 TIO_SYNC 指令的 PIP_Mode输 入参数转发) APP_CYC LTime "MC-PostServo" 或“"Synchronous Cycle","MCPreServo"”OB 的应用周期 SEND_CLOCK LTime 同步域的发送时钟(由 TIO_SYNC 指令的SendClock 参数转发) SYNC_MODULE S HW_IO 数组 [1...8] 硬件配置中 TIO 模块的硬件标识符TO_TIMES UDInt 数组 [1...8] 各 TIO 模块的 TO: TIO_TIME_BASE LTime 内部使用TBASE LTime ERROR Bool参数 库版本中的 声明 数据类型 默认值 说明 < V2.0 ≥ V2.0S7-1500 Error 输出 Bool False Error = True: 发生错误。在这种情况下,BUSY 和 DONE 设置为 False。有关详细信息,请参见 Status 参数。 修正错误后,会立即复位 Error。 Status 输出 DWord16#0 指令的状态:请参见 Status 参数的描述 TIO_SYNC_D ata* 输入 InOu t "TIO_ SYNC_Data" TIO_SYNC 指令为 TIO 模块 的 TIO 指令提供的系统时间。 请参见“UDT TIO_SYNC_Data(页 5474)”。 将此参数与 TIO_SYNC 指令的 TIO_SYNC_Data 输出参数相 连。状态参数错误代码或状态信息以双字形式在 Status 输出中输出。 双字按以下方式划分: 错误代码 含义 (DW#16#.. .)z0yywww w 系统函数错误: • 启动期间 (z = 1) • 正常运行期间 (z = 0) 具有从属用途的系统函数以 yy编码:请参见错误代码表。 wwww 指定系统函数的 RET_VAL。有关错误信息,请参见系统函数帮助。 z0yy0000不是由系统函数产生的错误。此错误接收连续错误编号 yy。 以下情况下可能发生此错误: • 启动期间 (z = 1) • 正常运行期间(z = 0)错误代码表 错误代码 含义 解决方案 (DW#16#. ..) 00000000 无错误。 — 10010000Channel 输出参数中分配的数字量输入的编号超出允 许的范围(取决于已寻址模块和通道组态)。 更正 Channel输入参数中的值。 10020000 未在等时 OB 中调用 TIO_DQ 指令。该指令只能在没 有错误时在等时 OB 中使用。 确保在"Synchronous Cycle" 或“MCPostServo”类型的 OB 中调用 TIO_DQ。 10030000 读取HWID 输入参数时出错。 检查 HWID 输入参数中的值。在硬件配置中 通过 TIO 模块的属性指定 TIO 模块的硬件标识符。数据类型 Hw_SubModule 的内部系 统常数可用于符号寻址。 x0040000 TIO_SYNC_Data中的数据无效/不正确。 检查 TIO_SYNC 指令和其 TIO_SYNC_Data 输出的互连。 1005xxxx 执行RD_SINFO 系统函数期间出错。低位字 xxxx 显 示 RD_SINFO 中返回值 RET_VAL 的错误信息。 • 在STEP 7 (TIA Portal) 信息系统中读取 RD_SINFO 的描述。 • 确保在 "Synchronous Cycle"或“MCPostServo”OB 中调用 TIO_DQ。 10060000 未找到 TIO 模块。 可能原因:使用硬件标识符组态的模块不是 TIO 模块。 • 确保组态的模块是 TIO 模块。 • 检查 HWID 输入参数中的值。在硬件配置中通过 TIO 模块的属性指定 TIO 模块 的硬件标识符。 10070000 地址计算期间发生内部错误。 检查 HWID输入参数中的值。在硬件配置中 通过 TIO 模块的属性指定 TIO 模块的硬件标 识符。数据类型 Hw_SubModule 的内部系统常数可用于符号寻址。 x0080000 未使用 TIO_SYNC 指令同步 TIO 模块。 错误代码也可能指示: •首次运行该指令前作业已经存在。 • Channel 输入参数中分配的编号不是数字量输出。 检查 TIO_SYNC. 指令10090000 等时 OB 的读取周期时间为 LT#0ms 或值为负,无效。更正该值。 该指令只能在没有错误时在等时 OB中使用。 • 更正周期时间。 • 确保在 "Synchronous Cycle" 或“MCPostServo”OB 中调用TIO_DQ。 100A0000 存储在 TIO_SYNC_Data 中的 TIO 模块的时间 TO 超出 允许范围 (0 <To <= 4 ms)。 检查指令 TIO_SYNC。
错误代码 含义解决方案 (DW#16#. ..) 100Bxxxx 执行 RD_ADDR 系统函数期间出错。低位字 xxxx 显示 RD_ADDR中返回值 RET_VAL 的错误信息。 在 STEP 7 (TIA Portal) 信息系统中读取 RD_ADDR 的描述。000C0000 TimeStampRE 和 TimeStampFE 输入参数中的一个或 两个时间戳无效。错误信号发送仅持续一个应用周期。 检查 TimeStampRE 和 TimeStampFE 输入 参数。 000D0000 数字量输出的 QualityInformation 指示数字量输出中 已发生错误。 • 检查数字量输出的参数分配。 • 检查电源电压 L+/1L+/2L+。 •检查数字量输出的接线是否有短路、过 载或过热情况。 000E0000 Channel 输入参数中组态的编号不是组态为 Timer DQ的数字量输出。 • 检查通道组态(jinxian TM Timer DIDQ 16x24V)。 •检查数字量输出的工作模式。 100F0000 “Synchronous Cycle”类型的 OB 的读取周期时间过 长:TAPP> 16 ms。 将较少倍数的发送时钟组态为周期时间。 10100000 发送时钟超出 0 <SEND_CLOCK <= 4 ms 的允许范 围,无效。 错误代码也可能指示: •TIO_SYNC_Data 中的数据无效或不存在。 • 未在等时 OB 中调用 TIO_DQ 指令。 更正发送时钟。 00110000Out_Mode 输入参数中分配的值在有效范围 0 到 3 之 外。 更正 Out_Mode 输入参数中的值。 x0130000MC-Servo (OB91) 未与总线周期等时同步。 将 MC-Servo 的周期时间的值更正为总线周 期时间的值。 注意:在类型为“MC-PostServo”的 OB(减速比为 "MC-Servo")中调用 TIO 指令会导致计算出 的时间戳不正确。10140000 在 HWID 输入参数中组态的值不存在于 TIO_SYNC_Data 参数的结构中。HWID 和TIO_SYNC_Data 参数不一致。 更正 HWID 输入参数中的值或 TIO_SYNC_Data 参数的结构。S7 通信(S7-1200, S7-1500) 数据一致性 (S7-1200, S7-1500) 定义并发过程无法修改的数据块称为一致性数据区。大于一致性数据区的数据块在传输过程中可作为一个整体。这意味着,其大小超出一致性数据区的连续数据块中,可能包含 新的和旧的一致性数据。 示例在中断通信指令时(例如,由高优先级的硬件中断 OB 进行中断),则会发生不一致现象。 如果该 OB中的用户程序对该指令已部分处理的数据进行了更改,则所传送的数据包括: • 部分开始于处理硬件中断之前 • 部分开始于处理硬件中断之后这意味着,这些数据是不一致的(不连续)。 确保数据的一致性 如果通信过程可由中断 OB 中断,则必须确保已一致地传输了数据。请确保中断OB 不会直 接更改数据映像,而不是待传输的数据。在下一次数据传输之前,需将数据映像复制到通信 指令的传输区域。 •如果用户程序中包含有访问通用数据的通信指令,则可以通过 DONE 参数协调对该数据区域的访问。据此,在用户程序中,可以确保采用通信指令本地传输的通信区的数据一 致性。 • 对于 S7 通信指令“PUT(页 5486)”/“GET (页 5480)”,在编程和组态过程中必须考虑到一致性数据区域的大小。这是因为在目标设备(服务器)的用户程序中没有可以用于与用 户程序进行通信数据同步的通信块。• 对于 S7-300和 C7-300(除 CPU 318-2 DP 之外),在操作系统的循环控制点,在保持数 据一致性的情况下将通信数据逐块(一块为 32字节)复制到用户存储器中。对于大型数 据区域,无法确保数据的一致性。如果要求 达到规定的数据一致性,则用户程序中的通信数据不应超过32 个字节(Zui多为 8 个字节, 视具体版本而定)。 • 另一方面,在 S7-400 和 S7-1500 中,大小为 462字节的块中的通信数据不在循环控制 点处理,而是在程序循环期间的固定时间片内完成。变量的一致性则由系统保证。使用指令 "PUT(页 5486)" / "GET (页 5480)" 或者在读/写变量(例如,由 OP 或 OS 读/写)时可以在保持一致性的情况下访问这些通信区。 说明 关于数据一致性的其它信息,请参见具体指令的描述信息。 在 S7-1500模块系列中,可在操作过程中使用 S7 通信指令更改参数。即便作业仍在运行,系统也将立用更改后的参数。这两种操作都将导致数据不一致!为了避免数据不一致, 不建议在作业运行过程中更改参数。对中断响应时间的影响 CPU 的中断响应时间通过复制数据稍微进行了延长。在必须保持juedui一致性的情况下,传输的数据量越大,系统的中断响应时间也越长。 有关 S7 通信指令的有用信息 (S7-1200, S7-1500) 分类 S7通信指令的参数按照功能可以分为以下五类: 1. 控制参数用于激活某条指令。 2. 寻址参数用于远程通信伙伴的寻址。 3.发送参数用于指向将发送至远程伙伴的数据区。 4. 接收参数用于指向将从远程伙伴接收数据的存放数据区。 5.状态参数用于监控指令是否正确地完成任务,也可以用来分析已经出现的错误。 功能描述 S7通信指令为异步指令,这意味着其执行可以扩展到多个调用上。在 CPU 中,异步指令的 执行与循环用户程序同步进行,直至达到 CPU特定的Zui大次数。 另请参见同步指令和异步指令之间的区别 。