内部门内部门表示硬件和软件门的逻辑 AND连接。 仅当硬件和软件门均打开时才会启用计数操作。 状态位 STS_GATE(状态内部门)显示此状态。如果尚未指定使用硬件门,则软件门组态便与之相关。计数操作通过内部门电路启动、中断、恢复和取消。在单独计数模式下,内部门电路在出现计数限值处的上溢/下溢时自动关闭。取消和中断门功能在进行门功能的参数分配时,可为内部门指定计数取消或计数中断操作:●设置为计数取消门操作时,在关闭并重新启动门后将从装载值开始重新开始计数操作。●设置为计数中断门操作时,在关闭门后将从Zui后的实际计数值开始恢复计数。下图显示了计数取消和计数中断门操作的响应:在“单独计数”模式中通过SW 和 HW 门进行门控制内部门自动关闭后,仅可通过以下方式重新打开:● 在 SW 门打开时在 HW 门处生成一个上升沿,或● 在HW 门处生成一个上升沿并随后打开 SW 门。计数器输出的响应引言该部分描述了数字量输出的响应。比较值在 CPU中,可以存储分配给数字量输出,状态位“状态比较器”(STS_CMP)中和到硬件中断的的比较值。可以根据计数值和比较值启用数字量输出。可以在参数分配窗口中指定比较值。 在您的用户程序中,可以通过 SFB的请求接口读取(JOB_ID = 84 十六进制)和写入(JOB_ID = 04十六进制)它们。数字量输出的响应可以通过参数分配窗口指定下列响应:● 不比较● 计数值 ≥ 比较值● 计数值 ≤ 比较值●比较值时刻的脉冲不比较将输出切换为标准输出。禁用 SFB 输入参数 CTRL_DO 和 SET_DO。状态位 STS_DO 和STS_CMP(IDB 中的状态比较器)保持复位状态。计数值 ≥ 比较值或计数值 ≤比较值在达到比较值时,比较器切换输出。此时,必须置位控制位 CTRL_DO。状态位 STS_CMP 显示比较运算的结果。仅在所有比较条件不再相关之后才可以复位该状态位。比较值时刻的脉冲当计数值达到比较值时,比较器将使输出持续激活指定的脉冲周期长度。如果已经组态了默认计数方向,则仅会在达到为默认方向指定的值之后才激活输出。此时,必须置位控制位 CTRL_DO。位 STS_DO的状态总是与数字量输出的状态相同。状态位 STS_CMP 显示比较运算的结果。 仅可在脉冲周期过后复位该状态位。状态位STS_CMP状态位 STS_CMP 指明是激活还是已经激活了相应的输出。 必须用 RES_STS 复位该状态位。如果输出仍处于激活状态,则将复位相应的位并立即置位。 如果使用SET_DO 启用禁用的输出(CTRL_DO =FALSE),该状态位也会置位。说明必须调用 SFB 两次,以便用 RES_STS复位该状态位。控制输出和比较器如果已选择了输出的比较功能,则可以使用 SET_DO控制输出(条件:CTRL_DO=TRUE)。 注意下列规则:● 比较器将输出状态从“0”切换为“1”:而当 SET_DO =FALSE 时,比较器将输出复位为“0”。 每个到达的计数脉冲都会重新触发比较器运算。输出将根据比较器运算的结果被复位或置位。● 比较器在 SET_DO=TRUE 从“0”变到“1”时进行切换:仅当 SET_DO= FALSE 时,比较器将输出复位为“0”。“比较值时刻的脉冲”组态的特性数字量输出的特性通过控制位 SET_DO置位数字量输出后,将在脉冲周期过后复位。● 在脉冲周期 = 0 并且计数值不在比较值范围内时,不能通过 SET_DO 控制输出。●在脉冲周期 = 0 并且计数值 = 比较值时,可以通过 SET_DO控制输出。脉冲宽度可以指定一个脉冲周期,使其适应您当前使用的执行器。 脉冲周期确定应当在多长时间内置位输出。 您可以在 0 到 510ms 内以 2 ms 为增量来指定脉冲周期。请注意,计数脉冲必须要比数字量输出的Zui小切换时间长。如果脉冲周期 =0,则直到比较条件不再适用时才置位输出。如果相应的数字量输出置位,将触发启动脉冲周期。 脉冲周期的误差 < 1ms。如果在脉冲输出期间超过或者达到比较值,不会重新触发脉冲周期。可以在参数分配窗口中自定义脉冲周期,并可以在用户程序中通过SFB 请求接口写入(JOB_ID = 10 十六进制)和读取(JOB_ID = 90十六进制)它们。在下一个脉冲到来之前,将不会应用在运行期间更改的脉冲周期。 滞后对计数器模式的影响说明编码器可能停止在某个位置,并且随后在该位置附近“颤动”。在此状态下,计数会围绕一个特定值波动。 例如,如果比较值位于该波动范围内,则关联的输出将按照波动的节奏打开和关闭。 CPU配有可分配的滞后,可防止发生微小波动时出现这种切换。您可以在 0 到 255 内选择一个范围。设置为 0 和 1时,将禁用滞后。滞后还作用于过零点和上溢/下溢。您可以在参数分配窗口中指定滞后,并可以在用户程序中通过 SFB的作业接口写入(JOB_ID = 08 [十六进制])或读取(JOB_ID = 88[十六进制])滞后。响应变化更改后,激活的滞后仍处于激活状态。 当达到下一个比较值时,应用新的滞后范围。“计数器值 ≥比较值”或“计数器值 ≥ 比较值”时的作用下图举例说明了滞后作用。 此图显示了当分配的滞后值为 0 (= 关闭)和 3时,输出特性的区别。 该示例中比较值 = 5。如下组态计数器:● “主计数方向向上”● 输出“计数器值 ≥比较值时打开”到达比较值时启用滞后。 滞后处于激活状态时,比较结果保持不变。如果计数值不在滞后范围内,则将禁用滞后。比较器根据其比较条件重新进行切换。“比较值时刻的脉冲”和“脉冲持续时间等于零”时的作用下图举例说明了滞后作用。此图显示了当分配的滞后值为 0 (= 关闭)和 3 时,输出特性的区别。 该示例中比较值 = 5。如下组态计数器:●“无主计数方向”● “达到比较值时的脉冲”● “脉冲持续时间 = 0”达到比较条件时,激活滞后。滞后处于激活状态时,比较结果保持不变。如果计数值不在滞后范围内,则滞后将不再处于激活状态。 “比较值时刻的脉冲”和“脉冲持续时间不等于零”时的作用下图举例说明了滞后作用。此图显示了当分配的滞后值为 0 (= 关闭)和 3 时,输出特性的区别。 该示例中比较值 = 5。如下组态计数器:●“无主计数方向”● “达到比较值时的脉冲”● “脉冲持续时间 >0”达到比较条件时,激活滞后且输出具有分配的持续时间的脉冲。如果计数值不在滞后范围内,则滞后将不再处于激活状态。滞后处于激活状态时,CPU会记住计数方向。如果计数值在记住的计数方向上超出滞后范围,则输出脉冲。计数运行期间的硬件中断设置硬件中断在参数分配窗口中启用硬件中断并指定触发硬件中断的事件:●当 SW 门关闭时打开 HW 门● 当 SW 门打开时关闭 HW 门● 上溢(超出计数上限)● 下溢(低于计数下限)●达到比较器(计数值 = 比较值)● 出现计数跳沿说明在每个计数跳沿上触发硬件中断会导致计数频率较高时 CPU 利用率很高。如果“计数”子模块中硬件中断的发生速度比硬件中断 OB (OB 40)中的处理速度快,则将产生诊断“硬件中断丢失”(假设启用了诊断中断)。高计数频率会导致 CPU利用率很高以至于超出了组态的扫描周期监视时间,或者导致CPU通信不再响应或响应速度很慢。建议您不要为所有计数跳沿启用硬件中断,除非确定各个跳沿至少间隔 10ms。频率测量功能描述5.6.1频率测量,步骤基本信息在此操作模式下,CPU 在指定的积分时间内对到达脉冲进行计数并将其作为频率值输出。您可以在 10 ms 到 10000 ms 之间设置积分时间值(以 1 ms为增量)。可以在参数分配窗口中设置积分时间,或者在用户程序中读写积分时间(请参见『通过用户程序控制频率计数器 (页238)』一节)。计算得到的频率值的单位是“mHz”。 您可以在用户程序中使用 SFB 参数 MEAS_VAL读出该值。测量步骤在指定的积分时间内执行测量。 在积分时间结束后更新测量值。如果测量频率的周期超过分配的积分时间,则返回 0值或平均值作为测量值(取决于参数分配)。第一个积分时间结束之前,返回该值 -1。反向如果在积分时间内发生反向,则该测量周期内的测量值是不确定的。 您可以通过判断方向的状态位 STS_C_UP、STS_C_DN来对可能的过程无规律性进行反应(请参见『通过用户程序控制频率计数器 (页238)』一节)。直接/平均频率值在积分时间结束时显示测量频率 (f ≥ 1 mHz)。如果测量频率的周期超过了分配的积分时间:●对于直接频率,在积分时间结束时输出“0”值。● 对于平均频率,在后续无上升沿的测量间隔内分布Zui后的值(f ≥ 1 mHz)。这会延长积分时间。 在这种情况下,使用Zui后测量的值除以无上升沿的测量间隔数。示例: 如果Zui后测量的值是 12 000mHz,则在三个测量间隔过后将输出值 4000 mHz。通过用户程序控制频率计数器SFB FREQUENC的功能范围要从用户程序控制频率计,请使用 SFB FREQUENC (SFB 48)。可使用下列功能:● 通过软件门 SW_GATE启动/停止● 启用/控制输出 DO● 读出状态位● 读出当前测量值●用于读取和写入内部频率计数寄存器的作业说明如果您已通过参数分配窗口将“输出特性”参数设置为“不比较”,则将进行以下操作:将输出切换为标准输出。 SFB 输入参数 MAN_DO 和 SET_DO 无效。 状态位 STS_DO 保持复位状态。● 调用SFB 之后立即处理作业。在一个 SFB 周期时间内,JOB_DONE 被设置为FALSE。● 如果出现错误,则 JOB_ERR =TRUE。将在 JOB_STAT 中显示确切的出错原因。● 可以通过 JOB_DONE = TRUE 来启动新作业。●仅用于读取作业:从背景数据块读取参数 JOB_OVAL 的当前值。频率计数器输入脉冲/A在此处连接要测量的信号或者编码器的轨迹 A。可通过单重判断模式连接编码器。方向/B在此处连接方向信号或传感器的轨迹 B。可以在参数分配窗口指定对方向信号取反。说明不会监视输入是否缺少脉冲。硬件门可以用数字输入“硬件门”来控制频率测量。频率测量的门功能基本信息频率测量可使用两个门:●通过用户程序控制的软件门(SW 门)。可通过 SFB 参数 SW_GATE 上的正跳沿打开软件门。 复位该参数以关闭它。●硬件门(HW 门)。 可以在参数分配窗口分配硬件门。 在数字输入“硬件门”处,通过正跳沿打开门,通过负跳沿关闭门。内部门内部门表示HW 门和 SW 门的逻辑 AND 连接。 仅当 HW 门和 SW 门都打开时,测量循环才激活。 状态位 STS_GATE(状态内部门)显示此状态。 如果未配置 HW 门,则仅有SW 门设置是相关的。仅通过 SW 门来控制门当 HW门打开/关闭时,测量启动/停止。频率测量输出的反应下限/上限在 CPU 中,可以存储分配给数字量输出和硬件中断的一个上限和一个下限。可以根据计数值和上/下限启用数字量输出。可以在参数分配窗口中设置限制值,并可以在用户程序中通过 SFB 的作业接口写入(JOB_ID= 01/02 [十六进制])和读取(JOB_ID = 81/82[十六进制])限制值。数字量输出的特性可以在参数分配窗口中指定以下特性:● 不比较● 频率超出限制● 频率低于下限●频率高于上限不比较将输出切换为标准输出。SFB 输入参数 MAN_DO 和 SET_DO 无效。状态位 STS_DO保持复位状态。所有其它设置可以手动或者用比较器控制输出:● 手动控制设置 SFB 参数 MAN_DO 以切换到手动控制模式。可通过 SET_DO 控制输出。● 通过比较器控制比较器在 MAN_DO = FALSE时执行控制。比较器监视频率的上/下限值。在达到比较条件时,比较器切换输出。如果当前频率低于下限,则置位位STS_UFLW。如果当前频率超过上限,则置位位 STS_OFLW。必须使用控制位 RES_STS复位这些位。如果测量值复位后,频率仍然或者超出限制,则会置位对应的状态位。说明必须调用 SFB 两次,以便用 RES_STS复位该状态位。频率测量和硬件中断设置硬件中断在参数分配窗口中启用硬件中断并指定触发硬件中断的事件:● 当 SW 门打开时打开 HW门。● 当 SW 门打开时关闭 HW 门● 超出上限● 超出下限● 测量结束