SIEMENS西门子 数字量输出 6ES7522-1BH10-0AA0
TIO_DI:读取数字量输入中的沿和关联时间戳 (S7-1200, S7-1500) 说明 TIO_DI 会持续检测 TIO 模块数字量输入中的边沿,并返回关联时间戳。 启动特性 CPU 启动期间,TIO_DI 指令将应用一次输入参数并检查以下内容: • 检查 HWID • 检查数字量输入 (Channel) 的编号是否处于允许的范围(取决于已寻址模块和通道组态) • 检查 TIO_SYNC_Data.ERROR:TIO_SYNC 中是否存在错误? • 检查 TIO_SYNC_Data.TO_TIMES 的似然性(0 ms 至 4 ms) • 检查 OB 是否为等时 OB 如果启动时没有错误,该指令将切换为正常运行状态。出现错误时,指令不会切换到正常运 行状态,并且会生成错误消息。 功能说明 正常运行期间,指令会检测数字量输入中的边沿和先前等时同步周期中上一个有效的已定义 边沿对的关联时间戳。使用输入参数 EdgeSel 来确定要检测时间戳的沿。 将输入 TIO_SYNC_Data 与 TIO_SYNC 指令中的同名输出相连。这样可确保共享时间基准。 下图举例说明了在 EdgeSel = 3 的条件下启动读入作业时 LEC 的行为(上升沿和下降沿,顺 序取决于发生时间)。 • 检查 OB 是否为“Synchronous Cycle”OB • 检查 PortQualifier 如果启动时没有错误,该指令将切换为正常运行状态。出现错误时,指令不会切换到正常运 行状态,并且会生成错误消息。 功能说明 正常运行期间,指令可以检测上次有效更改的 IO-Link Device 的过程数据 (SA_Data) 和关联 时间戳(时间 = TIO_Time)。每次使用正常工作的端口对 SA_Data 进行的有效更改都伴随 一个有效的时间戳。 将输入 TIO_SYNC_Data 与 TIO_SYNC 指令中的同名输出相连。这样可确保共享时间基准。 对错误的响应 Error 输出指示指令处理是否正确。错误原因在 Status 输出中显示。 参数 下表列出了 TIO_IOLink_IN 指令的参数。 参数 声明 数据类型 默认值 说明 S7-1500 HWID* 输入 HW_IO 0 HWCN 中 TIO 模块的硬件标识符 Port* 输入 USInt 0 已连接的 IO-Link Device 的 Port 编号(1 到 4) TIO_SYNC_ Data* 输入 "TIO_SYNC _Data" TIO_SYNC 指令为 TIO 模块 的 TIO 指令提供的系统时间。 请参见“UDT TIO_SYNC_Data (页 5474)”。 将此输入参数与 TIO_SYNC 指令的“TIO_SYNC_Data”输出 参数相连。 TO* 输入 LTime LT#0ns To:等时输出数据的输出时间。 通过 ET 200 站(PROFINET 接口的属性)应用 To。 SA_Bit0 输出 Bool False 显示过程数据更改(SA_Data 的位 0)。 SA_Bit0 基于事件。只要未采集到有效的时间戳 (EventCount = 0),过程数据就无效。 SA_Bit1 输出 Bool False 显示过程数据更改(SA_Data 的位 1)。 SA_Bit1 基于事件。只要未采集到有效的时间戳 (EventCount = 0),过程数据就无效。
参数 声明 数据类型 默认值 说明 S7-1500 SA_Data 输出 DWord 16#0 过程数据 SA_Data(传感器应用数据) TimeStam p 输出 LTime LT#0ns 时间戳:过程信号 SA-Data 在 IO-Link Device 中发生变化 的时间。 EventCoun t 输出 UInt 0 计数器:每次出现新的有效时间戳时递增。计数器在每次 CPU 启动时复位。 Status 输出 DWord 16#0 指令的状态:请参见 Status 参数的描述 Error 输出 Bool False Error = True: 发生错误。有关详细信息,请参见 Status 参 数。 修正错误后,会立即复位 Error。 * 启动 CPU 时检查一次 状态参数 错误代码或状态信息以双字形式在 Status 输出中输出。 双字按以下方式划分: 错误代码 含义 (DW#16#.. .) z0yywww w 系统函数错误: • 启动期间 (z = 1) • 正常运行期间 (z = 0) 具有从属用途的系统函数以 yy 编码:请参见错误代码表。 wwww 指定系统函数的 RET_VAL。有关错误信息,请参见系统函数帮助。 z0yy0000 不是由系统函数产生的错误。此错误接收连续错误编号 yy。 以下情况下可能发生此错误: • 启动期间 (z = 1) • 正常运行期间 (z = 0)错误代码表 错误代码 含义 解决方案 (DW#16#. ..) 00000000 无错误。 — 10010000 Port 输入参数中分配的编号在有效范围 1 到 4 之外。 更正 Port 输入参数中的值。 10020000 未在等时 OB 中调用 TIO_IOLink_IN 指令。该指令只 能在没有错误时在等时 OB 中使用。 确保在“Synchronous Cycle”OB 中调用 TIO_IOLink_IN。 10030000 读取 HWID 输入参数时出错。 检查 HWID 输入参数中的值。在硬件配置中 通过 TIO 模块的属性指定 TIO 模块的硬件标 识符。数据类型 Hw_SubModule 的内部系 统常数可用于符号寻址。 x0040000 TIO_SYNC_Data 中的数据无效/不正确。 检查 TIO_SYNC 指令和其 TIO_SYNC_Data 输出的互连。 1005xxxx 执行 RD_SINFO 系统函数期间出错。低位字 xxxx 显 示 RD_SINFO 中返回值 RET_VAL 的错误信息。 • 在 TIA Portal 信息系统中读取 RD_SINFO 的描述。 • 确保在“Synchronous Cycle”OB 中调用 TIO_IOLink_IN。 10060000 无法找到 IO-Link Device。 可能原因: 使用硬件标识符组态的模块不是 Time‑based IO 的 IO‑Link Master。 • 确保组态的模块是 Time‑based IO 的 IO‑Link Master。 • 检查 HWID 输入参数中的值。在硬件配 置中通过 TIO 模块的属性指定 TIO 模块的 硬件标识符。 10070000 地址计算期间发生内部错误。 检查 HWID 输入参数中的值。在硬件配置中 通过 TIO 模块的属性指定 TIO 模块的硬件标 识符。数据类型 Hw_SubModule 的内部系 统常数可用于符号寻址。 00080000 未使用 TIO_SYNC 指令同步 TIO 模块。 检查 TIO_SYNC. 指令 10090000 等时 OB 的读取周期时间超出 0 < TAPP <= 16 ms 的允 许范围,因此无效。 该指令只能在没有错误时在等时 OB 中使用。 • 更正周期时间。 • 确保在“Synchronous Cycle”OB 中调用 TIO_IOLink_IN。 100A0000 在 TO 输入参数中分配的时间超出 0 < To <= 4 ms 的 允许范围。 更正 TO 输入参数中的值。 100Bxxxx 执行 RD_ADDR 系统函数期间出错。低位字 xxxx 显 示 RD_ADDR 中返回值 RET_VAL 的错误信息。 在 TIA Portal 信息系统中读取 RD_ADDR 的 描述。TAPP 应用周期 Rn DI 上升沿的指定时间 Fn DI 下降沿的指定时间 模块在每个应用周期Zui多可以计数七个沿。因此,LEC = 7 表示已经计数了七个或更多沿。 对错误的响应 Error 输出指示指令处理是否正确。发生错误时,会在 Status 输出中显示错误原因。 参数 下表列出了 TIO_DI 指令的参数。 参数 库版本中的 声明 数据类型 默认值 说明 < V2.0 ≥ V2.0 S7-1500 HWID* 输入 HW_IO 0 硬件配置中 TIO 模块的硬件标识符 Channel* 输入 UInt 0 已连接的 TIO 模块的数字量输入的编号 (0 ... m)参数 库版本中的 声明 数据类型 默认值 说明 < V2.0 ≥ V2.0 S7-1500 EdgeSel 输入 UInt 3 指定要检测时间戳的沿: 0D:无效 1:两个上升沿 2:两个下降沿 3:上升沿和下降沿(顺序取决于发生时间) 4:先上升沿,后下降沿 5:先下降沿,后上升沿 6 到 255:无效 正常运行期间,可以更改 EdgeSel。 DI 输出 Bool False 数字量输入的状态。 如果组态了数字量输入的反转,则此参数也会反转。 TimeStampR E 输出 LTime LT#0ns 时间戳:检测到上升沿的时间。 例外: EdgeSel = 2:检测到下降沿的时间(如果在应用程序周期 内出现多个下降沿)。 TimeStampF E 输出 LTime LT#0ns 时间戳:检测到下降沿的时间。 例外: EdgeSel = 1:检测到上升沿的时间(如果在应用程序周期 内出现多个上升沿)。 EventCountR E 输出 UInt 0 计数器:在上升沿每次出现新的有效时间戳时递增。计数 器在每次 CPU 启动时复位。 EventCountF E 输出 UInt 0 计数器:在下降沿每次出现新的有效时间戳时递增。计数 器在每次 CPU 启动时复位。 LEC 输出 UInt 0 计数器:无法为其保存时间戳的沿的数量。模块在每个应 用周期Zui多可以计数七个沿。计数器在每个新的应用周期 都会复位。 Status 输出 DWord 16#0 指令的状态:请参见 Status 参数的描述。