SIEMENS西门子 中国荆门市智能化工控设备代理商
定时器操作S7-1200 支持以下定时器● TP 定时器可生成具有预设宽度时间的脉冲。● TON 定时器在预设的延时过后将输出 (Q) 设置为 ON。● TOF 定时器在预设的延时过后将输出 (Q) 设置为 ON,然后将输出复位为 OFF。● TONR 定时器在预设的延时过后将输出 (Q) 设置为 ON。 在使用复位 (R)输入复位经过的时间之前,会一直累加多个定时时段内经过的时间。● PT(预设定时器)线圈会在指定的定时器中装载新的预设时间值。● RT(预设定时器)线圈会复位指定的定时器。对于 LAD 和 FBD,这些指令通过功能框指令或输出线圈的形式提供。用户程序中可以使用的定时器数仅受 CPU 存储器容量限制。 每个定时器占用 16个字节的存储器空间。每个定时器都使用一个存储在数据块中的结构来保存定时器数据。 对于SCL,必须首先为各个定时器指令创建 DB 方可引用相应指令。 对于 LAD 和FBD,STEP 7 会在插入指令时自动创建 DB。创建 DB 时,还可以使用多重背景数据块。 由于定时器数据位于单个 DB中,且不需要为每个定时器使用单独的 DB,因此会缩短处理定时器的处理时间。在共享的多重背景数据块中的定时器数据结构之间不存在交互作用。与功能框定时器或线圈定时器一起使用预设定时器 -(PT)- 和重置定时器 -(RT)- 线圈指令。可将这些线圈指令置于中间位置。线圈输出能流状态始终与线圈输入状态相同。• 激活 -(PT)- 线圈时,指定 IEC_Timer DB 数据的PRESET 时间元素设置为“PRESET_Tag”持续时间。• 激活 -(RT)- 线圈时,指定 IEC_Timer DB 数据的ELAPSED 时间元素复位为 0。参数的数据类型参数 数据类型 说明功能框: IN线圈: 能流Bool TP、TON 和 TONR:功能框: 0=禁用定时器,1=启用定时器线圈: 无能流=禁用定时器,能流=启用定时器TOF:功能框: 0=启用定时器,1=禁用定时器线圈: 无能流=启用定时器,能流=禁用定时器R Bool 仅 TONR 功能框:0=不重置1= 将经过的时间和 Q 位重置为 0功能框: PT线圈: "PRESET_Tag"Time 定时器功能框或线圈: 预设的时间输入功能框: Q线圈: DBdata.QBool 定时器功能框: Q 功能框输出或定时器 DB 数据中的 Q 位定时器线圈: 仅可寻址定时器 DB 数据中的 Q 位功能框: ET线圈: DBdata.ETTime 定时器功能框: ET(经历的时间)功能框输出或定时器 DB数据中的 ET 时间值定时器线圈: 仅可寻址定时器 DB 数据中的 ET 时间值。 PT 和 IN 参数值变化的影响定时器 PT 和 IN 功能框参数和相应线圈参数的变化TP • 定时器运行期间,更改 PT 没有任何影响。• 定时器运行期间,更改 IN 没有任何影响。TON • 定时器运行期间,更改 PT 没有任何影响。• 定时器运行期间,将 IN 更改为 FALSE 会复位并停止定时器。TOF • 定时器运行期间,更改 PT 没有任何影响。• 定时器运行期间,将 IN 更改为 TRUE 会复位并停止定时器。TONR • 定时器运行期间,更改 PT 没有任何影响,但对定时器中断后继续运行会有影响。• 定时器运行期间,将 IN 更改为 FALSE 会停止定时器但不会复位定时器。 将 IN重新变为 TRUE 将使定时器从累积的时间值开始定时。PT(预设时间)和 ET(经过的时间)值存储在指定 IEC_TIMER DB数据中,以有符号双整型形式表示毫秒时间。TIME 数据使用 T#标识符,可以简单时间单元(T#200ms 或 200)或复合时间单元(如T#2s_200ms)的形式输入。TIME 数据类型的大小和范围数据类型 大小 有效数值范围 1TIME 32 位,以 DInt数据的形式存储T#-24d_20h_31m_23s_648ms 到 T#24d_20h_31m_23s_647ms以 -2,147,483,648 ms 到 +2,147,483,647 ms 的形式存储1 在定时器指令中,无法使用上面所示 TIME 数据类型的负数范围。 负的PT(预设时间)值在定时器指令执行时被设置为零。 ET(经过的时间)始终为正值。定时器编程规划和创建用户程序时应考虑以下定时器运行说明:● 可在同一个扫描周期内多次更新定时器。每次执行定时器指令(TP、TON、TOF、TONR)和每次将定时器结构的 ELAPSED或 Q 成员用作其它已执行指令的参数时,都会更新定时器。这在需要Zui新时间数据(本质上是立即读取定时器)时会是一项优点。但是,如果希望在整个程序扫描周期内保持一致的值,则请将定时器指令放置在需要这些值的其它所有指令之前,并使用定时器指令的 Q 和 ET输出中的变量而不是定时器 DB 结构的 ELAPSED 和 Q 成员。● 扫描期间可以不执行定时器更新。可以在函数中启动定时器,然后在一个或多个扫描周期内不再调用该函数。如果没有执行引用定时器结构中 ELAPSED 或 Q成员的其它指令,则不会更新定时器。直到再次执行定时器指令或执行将定时器结构的 ELAPSED 或 Q用作参数的其它指令时,才会再次更新定时器。● 尽管并不常见,但可以将同一个 DB 定时器结构分配给多个定时器指令。通常,为避免意外交互作用,应当使每个 DB定时器结构仅对应一个定时器指令(TP、TON、TOF、TONR)。自复位定时器适合用于触发需要周期性发生的动作。通常,将引用定时器位的常闭触点放置在定时器指令前面可创建自复位定时器。该定时器网络通常位于使用该定时器位来触发动作的一个或多个依赖型网络上面。当定时器时间已到(经过的时间达到预设值)时,定时器位将在一个扫描周期内为ON,因而可执行由该定时器位控制的依赖型网络逻辑。下次执行定时器网络时,常闭触点将为 OFF,从而复位定时器并清除定时器位。下次扫描期间,常闭触点将为 ON,因此将重启定时器。创建此类自复位定时器时,请勿将定时器 DB结构的“Q”成员用作该定时器指令前面常闭触点的参数。而是要使用与该定时器指令的“Q”输出相连的变量。 如果访问定时器 DB 结构的 Q成员,将导致定时器更新,且如果因常闭触点而更新定时器,该触点将立即复位该定时器。 定时器指令的 Q 输出将在一个扫描周期内不为 ON,并且依赖型网络不会执行。-(TP)-、-(TON)-、-(TOF)- 和 -(TONR)- 定时器线圈必须是网络中的Zui后一个指令。如定时器示例中所示,后面网络中的触点指令会求出定时器线圈 IEC_Timer DB 数据中的Q 位值。 同样,如果要在程序中使用经过的时间值,必须访问 IEC_timer DB 数据中的ELAPSED 元素。简化了编程6.3 功能强大的指令使编程更加轻松入门手册设备手册, 01/2015, A5E02486780-AG 125当 Tag_Input 位的值由 0 转换为 1 时,脉冲定时器启动。 定时器开始运行并持续Tag_Time 时间值指定的时间。只要定时器运行,就存在 DB1.MyIEC_Timer.Q 状态=1 且 Tag_Output 值=1。当经过Tag_Time 值后,DB1.MyIEC_Timer.Q=0 且 Tag_Output 值=0。6.3.6 计数器操作可使用计数器指令对内部程序事件和外部过程事件进行计数。● 输入参数 CU 的值从 0 变为 1 时,“加计数”计数器 (CTU) 就会加 1。● 输入参数 CD 的值从 0 变为 1 时,“减计数”计数器 (CTD) 就会减 1。● “加计数和减计数”计数器 (CTUD) 在加计数 (CU) 或减计数 (CD) 输入从 0 转换为 1时加 1 或减 1。S7-1200 还提供高速计数器 (页 136) (HSC),用于计算发生速率快于 OB执行速率的事件。CU、CD 和 CTUD 指令使用软件计数器,软件计数器的Zui大计数速率受其所在 OB的执行速率限制。说明如果待计数事件的发生速率处于 OB 执行速率范围内,请使用 CTU、CTD 或 CTUD计数器指令。 如果事件的发生速率快于 OB 的执行速率,则应使用 HSC。每个计数器都使用数据块中存储的结构来保存计数器数据。 对于SCL,必须首先为各个计数器指令创建 DB 方可引用相应指令。 对于 LAD 和FBD,STEP 7 会在插入指令时自动创建 DB。用户程序中可以使用的计数器数仅受 CPU 存储器容量限制。 各个计数器使用 3个字节(表示 SInt 或 USInt)、6 个字节(表示 Int 或 UInt)或 12 个字节(表示 DInt 或UDInt)。如上时序图显示了具有无符号整数计数值的 CTU 计数器的运行(其中 PV = 3)。● 如果参数 CV(当前计数值)的值大于或等于参数PV(预设计数值)的值,则计数器输出参数 Q = 1。● 如果复位参数 R 的值从 0 变为 1,则 CV 复位为 0。如上时序图显示了具有无符号整数计数值的 CTD 计数器的运行(其中 PV = 3)。● 如果参数 CV(当前计数值)的值等于或小于 0,则计数器输出参数 Q = 1。● 如果参数 LD 的值从 0 变为 1,参数 PV 的值(预设值)将作为新的 CV加载到计数器。如上时序图显示了具有无符号整数计数值的 CTUD 计数器的运行(其中 PV = 4)。● 如果参数 CV(当前计数值)的值等于或大于参数PV(预设值)的值,则计数器输出参数 QU = 1。● 如果参数 CV 的值小于或等于零,则计数器输出参数 QD = 1。● 如果参数 LD 的值从 0 变为 1,则参数 PV 的值将作为新的 CV 加载到计数器。● 如果复位参数 R 的值从 0 变为 1,则 CV 复位为 0。CTRL_PWM指令可提供占空比可变的固定循环时间输出。 PWM输出以指定频率(循环时间)启动之后将连续运行。脉冲宽度会根据需要进行变化以影响所需的控制。在代码块中插入 CTRL_PWM 指令时,可从“调用选项”(Call options) 对话框为指令创建DB。 CTRL_PWM 指令将参数信息存储在 DB 中,并控制数据块参数。CPU 第一次进入 RUN 模式时,脉冲宽度将设置为在设备配置中组态的初始值。根据需要将值写入设备配置中指定的字长度输出 (Q)地址(“输出地址”/“起始地址”)以更改脉冲宽度。使用指令(例如,Move、Convert、数学运算或PID)将指定的脉冲宽度写入相应的字长度输出 (Q)。必须使用输出值的有效范围(百分数、千分数、万分数或 S7 模拟格式)。占空比可表示为循环时间的百分数或相对量(例如,0 到 1000,或者 0 到 10000)。 脉冲宽度可从0(无脉冲,始终关闭)到满刻度(无脉冲,始终打开)变化。① 循环时间② 脉冲宽度时间PWM 输出可在 0到满量程之间变化,因此可提供在许多方面都与模拟量输出相同的数字量输出。例如,PWM输出可用于控制电机的速度,速度范围可以是从停止到全速;也可用于控制阀的位置,位置范围可以是从闭合到完全打开。 轻松创建数据日志控制程序可以使用 Data log 指令将运行数据值存储在yongjiu性日志文件中。数据日志文件存储在闪存(CPU 或存储卡)中。 日志文件数据按照标准CSV(逗号分隔值)格式进行存储。 数据记录按大小预定的循环日志文件形式组织。Data log 指令用于在程序中创建、打开、写入记录以及关闭日志文件。通过创建定义单个日志记录的数据缓冲区来确定要记录的程序值。数据缓冲区用作新日志记录的临时存储空间。运行期间,必须通过程序将新的过程值移到缓冲区中。更新所有过程数据值之后,即可执行 DataLogWrite指令,以将数据由缓冲区传送至数据日志记录中。可以从 Web服务器的“文件浏览器”页面打开、编辑、保存、重命名或删除数据日志文件。必须有读取权限才能查看文件浏览器,必须有修改权限才能编辑、删除或重命名数据日志文件。使用 DataLog 指令通过程序将运行期过程数据存储在 CPU 的闪存中。数据记录按大小预定的循环日志文件形式组织。 新记录会不断添加到数据日志文件。当数据日志文件存储的记录达到Zui大数量时,随后写入的记录会覆盖Zui早的记录。为了避免覆盖任何数据记录,请使用 DataLogNewFile 指令。这样,新数据记录会存储在新数据日志文件中,而旧数据日志文件仍保留在 CPU 中。DataLogWrite 用于将数据记录写入指定的数据日志。必须打开已有目标数据日志。必须通过程序用当前运行期数据值装载记录缓冲区,然后执行 DataLogWrite指令将新记录数据由缓冲区移到数据日志中。如果未完成 DataLogWrite操作时出现电源故障,则可能丢失当前正传送到数据日志中的数据记录。