德国西门子CPU模块授权代理商
德国西门子CPU模块授权代理商公司国际化工业自动化科技产品供应商,是专业从事工业自动化控制系统、机电一体化装备和信息化软件系统
集成和硬件维护服务的综合性企业。西部科技园,东边是松江大学城,西边和芯片制造商台积电毗邻,作为西门子授权代理商,西门子模块代理商,西门子一级代理商,西门子PLC代理商,西门子PLC模块代理商,标准技术的时间特性
标准技术的输入/输出时间特性取决于下列因素:
● CPU 程序(程序结构)
● 总线周期时间(现场总线、背板总线)
● I/O 模块的周期时间
● 传感器/执行器的内部周期时间
发生下列情况时
● 发生输入事件(如传感器信号)时
● 输出事件对输入事件造成影响(如输出切换)时
确定性语句将因上面列出的时间因素而变得不准确。ime-based IO 表示基于时间的 I/O 信号处理。所有输入信号都会参考同一个时间
(TIO_Time)。输入信号接收时间戳 t1。信号处理后,输出事件也可与 TIO_Time 相链接并
在所需时间内输出。输出在时间 t2 发生。
下面是 Time-based IO 的示例:的独立性和关注点
所有相关组件的共享时间基准 (TIO_Time) 是 Time-based IO 的基础。通过使用
TIO_Time,Time-based IO 的输出精度将不依赖于:
● CPU 程序(程序结构)
● 总线周期时间(现场总线、背板总线)
● I/O 模块的周期时间
Time-based IO 的关注点的不是 I/O 响应时间,而是 I/O 信号的可预测性(确定性)。利
用 Time-based IO,可以在定义的时间内通过输出信号来响应输入信号。使用 Timebased IO 时,请记住与系统有关的小响应时间。
Time-based IO 表示:
● 以高精度执行的 I/O 功能
● 带时间戳的 I/O 过程精度是确保 Time-based IO 性能的关键因素。
精度是 TIO 模块的一项属性,并且指示获得所需响应时所采用的偏差。对于 Time-based
IO,响应的精度和再现性处于毫秒范围内。
响应时间
除了非常高的精度外,根据组态,也可以实现对输入事件的小响应时间。
响应时间是输入事件与所需输出事件之间的时间间隔。TIO_Time 具有以下属性:
● 通过 TIO 指令 TIO_SYNC 同步的所有 TIO 模块的共享时间基准。
● 每次 CPU 启动时开始计时。
● TIO_Time 的数据类型为 LTime(例如 LT#14s830ms652us315ns)。
● 所有有效的时间戳都参考 TIO_Time:
– 在 TIO 指令 TIO_DI 和 TIO_DI_ONCE 中将 TIO 模块的输入时间戳转换为
TIO_Time。
– 在 TIO 指令 TIO_DQ 中,将输出时间戳转换为 TIO 模块的输出时间戳。
● TIO_TIME 的值对应于 TIO 指令相关的当前时间,通过调用 TIO_SYNC 新。如果
要取消输出与之前的输入时间戳的关联,但要将其关联到当前时间,则可使用
TIO_TIME 的值作为输出时间戳的基础。示例:在 20 ms 内输出边沿:
TIO_DQ.TimeStampRE=TIO_SYNC_DATA.TIO_TIME+LT#20ms)必须在 "Synchronous Cycle" 或“MC-PostServo”OB 中调用 TIO 指令。
有关多信息,请参见编程 (页 29)一章。
说明
TIO 指令也支持减速等时同步模式。根据时钟减速比,应用周期大于发送时钟。
说明
必须在 "MC-PreServo" OB 中调用 TIO 指令。
如果使用“MC-PostServo”类型的 OB,可单独为每个 TIO 模型确定是与 Motion Control
工艺对象配合使用还是与 TIO 指令配合使用。
如果在“MC-PostServo”类型的 OB 中调用 TIO 指令,则需要使用 IPO 模型,并且也不能
使用任何减速比。
在类型为“MC-PostServo”的 OB(减速比为 "MC-Servo")中调用 TIO 指令会导致计算出
的时间戳不正确。
新过程映像的模式
在等时模式下,可以改变输入和输出数据的过程映像分区的新顺序。为此,可以选择以
下程序执行模型:
● IPO 模型(应用周期系数 = 1)
● OIP 模型(应用周期系数 >= 1)
其中缩写 I、P、O 代表以下过程:I = 输入,P= 处理,O = 输出。
有关应用周期系数的多信息,请参见使用 STEP 7 组态 PROFINETTime-based IO 与特殊指令(TIO 指令)结合使用。TIO_SYNC TIO 指令负责同步所有相
关的 TIO 模块,并创建所有操作参考的一时间基准 (TIO_Time)。
其它指令负责读入带相关时间戳的过程输入信号和/或过程输出信号的时间控制输出。
说明
TIO 指令可用于基于时间的一般 IO 应用。对于特殊应用(例如凸轮控制器),也有单独
的工艺对象,例如 TO_CamOutput。
说明
TIO 指令使用 TIO 模块的时间戳功能。TIO 模块的其他功能可以独立于应用中的 TIO 指
令使用。
TIO 指令
指令 简介
TIO_SYNC TIO 模块并为 Time-based IO 提供时间基准
TIO_DI 检测数字量输入(定时器 DI)中的沿并提供相关的时间戳
TIO_DI_ONCE • 检测数字量输入(定时器 DI)中的沿一次并提供相关的时
间戳
• 对组态为另一个通道的沿触发使能信号的定时器 DI 通道进
行控制。
TIO_DQ 在数字量输出(定时器 DQ)中输出时间控制的要使用 Time-based IO,则必须在等时同步 OB 中调用 TIO 指令。应用也可以在另一个
OB 中运行。这样可以缩短该等时同步 OB 的运行时间。
根据所需任务,您需要以下 TIO 指令:
TIO 模块 TIO 指令
• TM Timer
DIDQ 16x24V
• TM Timer
DIDQ 10x24V
• 对于数字量输入,需要一个 TIO_DI 或 TIO_DI_ONCE
用于读入
• 对于数字量输出,需要一个 TIO_DQ 用于输出
• 需要一个 TIO_SYNC(用于多八个 TIO 模块)
以下部分将介绍 Time-based IO 的 CPU 编程。
要求
STEP 7 (TIA Portal) 中的硬件配置:
● 已将 TIO 模块分配给等时网络。
● 已将 TIO 模块分配给共享的过程映像分区。
● 已将过程映像分区分配给等时同步 OB。
● TIO 模块组态为与 "Time-based IO" 库中的指令配合使用。
有关 Time-based IO 组态的其它信息,请参见 Time-based IO 设置 (页 27)部分。
操作步骤
1. 在等时同步 OB 中创建 TIO 指令 TIO_SYNC。
2. 通过参数 HWID_1 到 HWID_8 将要在 TIO_SYNC TIO 指令中同步的所有 TIO 模块相
连。
可以在硬件配置的“属性 > 系统常数”(Properties > System constants) 下找到 HWID。
说明
互连时,通常**选择符号常数而不是**数值6. 在用于读入/输出的 TIO 指令中,根据情况将输入/输出 TIO_SYNC_Data 与
TIO_SYNC 上具有相同名称的输出互连。
7. 在用于读入/输出的 TIO 指令中,为输入参数 HWID 和 Channel 分配参数(请参见硬
件配置中的“属性 > 系统常数”(Properties > System constants))。
Time-based IO 功能已成功编程。
8. 将 Time-based IO 功能与应用互连,例如在另一个 OB 中按步序评估读入时间戳。
9. 如果 TIO_SYNC 未自动读取发送时钟:手动定义发送时钟(例如在 OB100 中)。
10. 编译并将整个项目下载到 CPU。
结果
您已完成 Time-based IO 使用的编程。
常见问题解答
有关详细信息,请参见西门子工业在线支持中的以下常见问题解TIO_SYNC 是其它所有 TIO 指令的基础。TIO_SYNC 根据共享时间基准 TIO_Time 来同
步 TIO 模块。
通过 TIO_SYNC 多可以同步 8 个 TIO 模块。必须将所有 TIO 模块分配给同一个过程映
像分区 (PIP)。如果为输入参数 PIP_Mode 选择“0”,则在 PIP_PART 输入参数中分配过
程映像分区的编号。
有关 Time-based IO 组态的其它信息,请参见组态和参数分配部分。
启动特性
启动 CPU 时,TIO_SYNC 指令将接收和检查一次输入参数并对 TIO_Time 进行初始化。
可通过以下方式来处理可选参数 SendClock, AppCycleFactor 和 ToTimes:
● 每次启动系统时自动读入 SendClock, AppCycleFactor 和 ToTimes。这会导致启动期
间发生延时,但参数值可以始终保持一致。
● 每次启动时自动读入 SendClock, AppCycleFactor 和 ToTimes,然后在调试时将读取
值用作设定值。这样可以实现后续快速启动,但在硬件配置发生变化后会出现不一致
的情况(需要重复调试)。
● 在次调用指令前手动定义 SendClock, AppCycleFactor 和 ToTime