TIO_DI_ONCE:读入数字量输入中的沿和关联时间戳一次 (S7-1200, S7-1500) 说明TIO_DI_ONCE 会检测一次 TIO 模块数字量输入中的边沿,并返回关联时间戳。或者,可以使用此指令对组态为另一个通道的沿触发使能信号的定时器 DI 通道进行控制。 启动特性 CPU 启动期间,TIO_DI_ONCE指令将应用一次输入参数并检查以下内容: • 检查 HWID • 检查数字量输入 (Channel)的编号是否处于允许的范围(取决于已寻址模块和通道组态) • 检查 TIO_SYNC_Data.ERROR:TIO_SYNC中是否存在错误? • 检查 TIO_SYNC_Data.TO_TIMES 的似然性(0 ms 至 4 ms) •检查 OB 是否为等时 OB 如果启动时没有错误,该指令将切换为正常运行状态。出现错误时,指令不会切换到正常运行状态,并且会生成错误消息。 功能说明:时间戳检测 正常运行期间,指令会检测数字量输入中的边沿和在启动读取作业后第一个有效的已定义边沿对的关联时间戳。使用输入参数 EdgeSel 来确定要检测时间戳的沿。为了检测新沿对,需 要该指令 REQ 输入参数的一个新上升沿。将输入 TIO_SYNC_Data 与 TIO_SYNC 指令中的同名输出相连。这样可确保共享时间基准。 下图显示了在读取作业开始时(EdgeSel = 4),位 DONE 和 BUSY 响应的示例:参数 库版本中的 声明 数据类型 默认值 说明 < V2.0≥ V2.0 S7-1500 Error 输出 Bool False Error = True: 发生错误。有关详细信息,请参见Status 参 数。 修正错误后,会立即复位 Error。 TIO_SYNC_D ata* 输入 InOu t "TIO_SYNC_ Data" TIO_SYNC 指令为 TIO 模块 的 TIO 指令提供的系统时间。 请参见“UDTTIO_SYNC_Data (页 5474)”。 将此输入参数与 TIO_SYNC 指令的“TIO_SYNC_Data”输出参数相连。错误代码表 错误代码 含义 解决方案 (DW#16#. ..) 00000000 无错误。 — 10010000Channel 输入参数中分配的数字量输入的编号超出 允许的范围(取决于已寻址模块和通道组态)。 更正 Channel输入参数中的值。 10020000 未在等时 OB 中调用 TIO_DI 指令。该指令只能在没 有错误时在等时 OB 中使用。 确保在"Synchronous Cycle" 或“MCPostServo”OB 中调用 TIO_DI。 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_DI。 10060000 未找到 TIO 模块。 可能原因:使用硬件标识符组态的模块不是 TIO 模块。 • 确保组态的模块是 TIO 模块。 • 检查 HWID 输入参数中的值。在硬件配置中通过 TIO 模块的属性指定 TIO 模块的硬 件标识符。 10070000 地址计算期间发生内部错误。 检查 HWID输入参数中的值。在硬件配置中 通过 TIO 模块的属性指定 TIO 模块的硬件标 识符。数据类型 Hw_SubModule 的内部系统常数可用于符号寻址。 00080000 未使用 TIO_SYNC 指令同步 TIO 模块。 错误代码也可能指示: •首次运行该指令前作业已经存在。 • Channel 输入参数中分配的编号不是数字量输入。 检查指令 TIO_SYNC。10090000 等时 OB 的读取周期时间超出 0 < TAPP <= 16 ms 的允许范围,无效。 该指令只能在没有错误时在等时 OB 中使用。 • 更正周期时间。 • 确保在 "SynchronousCycle" 或“MCPostServo”OB 中调用 TIO_DI。 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 转换的时间戳无效。 错误原因: 通信错误 检查与 TIO 模块的通信。 000D0000 数字量输入的Quality Information 指示数字量输入 中已发生错误。 检查电源电压 L+/1L+/2L+。 000E0000Channel 输入参数中分配的编号不是组态为 Timer DI 数字量输入。 • 检查通道组态(jinxianTM Timer DIDQ 16x24V)。 • 检查数字量输入的工作模式。 000F0000EdgeSel 输入参数中分配的值在有效范围 1 到 5 之 外。 更正 EdgeSel 输入参数中的值。 10100000发送时钟超出 0 < SendClock <= 4 ms 的允许范围, 无效。 错误代码也可能指示: •TIO_SYNC_Data 中的数据无效或不存在。 • 未在等时 OB 中调用 TIO_DI 指令。 更正发送时钟。 x0130000MC-Servo (OB91) 未与总线周期等时同步。 将 MC-Servo 的周期时间的值更正为总线周 期时间的值。 注意:在类型为“MC-PostServo”的 OB(减速比为 "MC-Servo")中调用 TIO 指令会导致计算出 的时间戳不正确。10140000 在 HWID 输入参数中组态的值不存在于 TIO_SYNC_Data 参数的结构中。HWID 和TIO_SYNC_Data 参数不一致。 更正 HWID 输入参数中的值或 TIO_SYNC_Data参数的结构。功能说明:沿触发使能 可以使用此指令对组态为另一个通道的沿触发使能信号的定时器 DI 通道进行控制。 示例: 对于 TIO模块 TM Timer DIDQ 10x24V,在 DQ0/DI0 硬件配置中进行以下组态: • 组态 DQ/DI 组 = 使能定时器DQ • 通过 DI0 使能硬件 = 沿触发 • DQ0 不反转 在该示例中,指令 TIO_DQ 用于 DQ0,指令TIO_DI_ONCE 用于 DI0。可通过 TIO_DI_ONCE 的参数 REQ 和 EdgeSel控制使能。TIO_DI_ONCE 根据 EdgeSel 值记录时间戳后,便会视为 使能有效。复位 REQ 可取消使能。 下图显示了EdgeSel = 4n 时的示例(先是上升沿,是下降沿)。在这种情况下,DI0 的 第一个有效上升沿在读入作业开始后确认使能DQ0。1 在使能输入的上升沿开始使能 2 REQ 出现下降沿时结束使能 必要时,可为应用使用指令检测到的时间戳。 对错误的响应Error 输出指示指令处理是否正确。发生错误时,会在 Status 输出中显示错误原因。 参数 下表列出了 TIO_DI_ONCE指令的参数。 参数 声明 数据类型 默认值 说明 S7-1500 REQ 输入 Bool False 在上升沿开始作业。 HWID*输入 HW_IO 0 硬件配置中 TIO 模块的硬件标识符 Channel* 输入 UInt 0 已连接的 TIO模块的数字量输入的编号参数 声明 数据类型 默认值 说明 S7-1500 EdgeSel 输入 UInt 3 指定要检测时间戳的沿:0D:无效 1:两个上升沿 2:两个下降沿 3:上升沿和下降沿(顺序取决于发生时间) 4:先上升沿,后下降沿 5:先下降沿,后上升沿6 到 255:无效 如果使用沿触发使能,则以下内容也适用: 1:在第一个 DI 上升沿使能 2:在第一个 DI 下降沿使能3:在第一个 DI 沿使能 4:在第一个 DI 上升沿使能 5:在第一个 DI 下降沿使能 正常运行期间,可以更改 EdgeSel。DONE 输出 Bool False DONE = True: 作业已完成且没有错误。 BUSY 输出 Bool False BUSY= True:作业尚未完成。 Error 输出 Bool False Error = True: 发生错误。有关详细信息,请参见Status 参 数。 修正错误后,会立即复位 Error。 Status 输出 DWord 16#0 指令的状态:请参见Status 参数的描述 DI 输出 Bool False 数字量输入的状态。 如果组态了数字量输入的反转,则此参数也会反转。TimeStam pRE 输出 LTime LT#0ns 时间戳: EdgeSel = 1: 检测到上升沿的倒数第二个读入时间(如果出现多个上升沿)。 EdgeSel = 2: 检测到下降沿的Zui后读入时间(如果出现多 个下降沿)。EdgeSel = 3; 4; 5: 检测到下降沿的Zui后读入时间。