搜索
写经验 领红包
 > 家居

西门子1200plc高速计数器实例(西门子1200plc高速计数块怎么使用)

导语:西门子1200系列PLC-高速计数器

高速计数器

S7-1200 CPU 本体提供了最多 6 路高速计数器,其独立于 CPU 的扫描周期进行计数。其中 CPU1217C 可测量的脉冲频率最高为 1 MHz(差分信号),其它型号的 S7-1200 CPU 可测量到的单相脉冲频率最高为 100 kHz,A/B 相最高为 80 kHz。如果使用信号板还可以测量单相脉冲频率高达 200kHz 的信号,A/B 相最高为 160 kHz。

S7-1200 CPU 和信号板具有可组态的硬件输入地址,因此可测量到的高速计数器频率与高速计数器号无关,而与所使用的 CPU 和信号板的硬件输入地址有关。

表 1 和表 2 显示了 CPU 集成输入点与信号板可用于高速计数器的信息。

一、编码器基础

1.光电编码器

编码器是传感器的一种,主要用来检测机械运动的速度、位置、角度、距离和计数等,许多马达控制均需配备编码器以供马达控制器作为换相、速度及位置的检出等,应用范围相当广泛。按照不同的分类方法,编码器可以分为以下几种类型:

Ø 根据检测原理,可分为光学式、磁电式、感应式和电容式。

Ø 根据输出信号形式,可以分为模拟量编码器、数字量编码器。

Ø 根据编码器方式,分为增量式编码器、绝对式编码器和混合式编码器。

光电编码器是集光、机、电技术于一体的数字化传感器,主要利用光栅衍射的原理来实现位移—数字变换,通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。典型的光电编码器由码盘、检测光栅、光电转换电路(包括光源、光敏器件、信号转换电路)、机械部件等组成。光电编码器具有结构简单、精度高、寿命长等优点,广泛应用于精密定位、速度、长度、加速度、振动等方面。

2.增量式编码器

增量式编码器提供了一种对连续位移量离散化、增量化以及位移变化(速度)的传感方法。增量式编码器的特点是每产生一个输出脉冲信号就对应于一个增量位移,它能够产生与位移增量等值的脉冲信号。增量式编码器测量的是相对于某个基准点的相对位置增量,而不能够直接检测出绝对位置信息。

如图1-1 所示,增量式编码器主要由光源、码盘、检测光栅、光电检测器件和转换电路组成。在码盘上刻有节距相等的辐射状透光缝隙,相邻两个透光缝隙之间代表一个增量周期。检测光栅上刻有A、B 两组与码盘相对应的透光缝隙,用以通过或阻挡光源和光电检测器件之间的光线,它们的节距和码盘上的节距相等,并且两组透光缝隙错开1/4 节距,使得光电检测器件输出的信号在相位上相差 90°。当码盘随着被测转轴转动时,检测光栅不动,光线透过码盘和检测光栅上的透过缝隙照射到光电检测器件上,光电检测器件就输出两组相位相差 90°的近似于正弦波的电信号,电信号经过转换电路的信号处理,就可以得到被测轴的转角或速度信息。

一般来说,增量式光电编码器输出 A、B 两相相位差为 90°的脉冲信号(即所谓的两相正交输出信号),根据 A、B 两相的先后位置关系,可以方便地判断出编码器的旋转方向。另外,码盘一般还提供用作参考零位的 N 相标志(指示)脉冲信号,码盘每旋转一周,会发出一个零位标志信号。

如图1-3所示,绝对式编码器的圆形码盘上沿径向有若干同心码道,每条码道上由透光和不透光的扇形区相间组成,相邻码道的扇区数目是双倍关系,码盘上的码道数就是它的二进制数码的位数。在码盘的一侧是光源,另一侧对应每一码道有一光敏元件。当码盘处于不同位置时,各光敏元件根据受光照与否转换出相应的电平信号,形成二进制数。显然,码道越多,分辨率就越高,对于一个具有 n 位二进制分辨率的编码器,其码盘必须有 n 条码道。

根据编码方式的不同,绝对式编码器的两种类型码盘(二进制码盘和格雷码码盘),如图1-4 所示。

绝对式编码器的特点是不需要计数器,在转轴的任意位置都可读出一个固定的与位置相对应的数字码,即直接读出角度坐标的绝对值。另外,相对于增量式编码器,绝对式编码器不存在累积误差,并且当电源切除后位置信息也不会丢失。

3.编码器输出信号类型

一般情况下,从编码器的光电检测器件获取的信号电平较低,波形也不规则,不能直接用于控制、信号处理和远距离传输,所以在编码器内还需要对信号进行放大、整形等处理。经过处理的输出信号一般近似于正弦波或矩形波,因为矩形波输出信号容易进行数字处理,所以在控制系统中应用比较广泛。

增量式光电编码器的信号输出有集电极开路输出、电压输出、线驱动输出和推挽式输出等多种信号形式。

3.1集电极开路输出

集电极开路输出是以输出电路的晶体管发射极作为公共端,并且集电极悬空的输出电路。根据使用的晶体管类型不同,可以分为NPN集电极开路输出(也称作漏型输出,当逻辑 1 时输出电压为 0V,如图2-1所示)和PNP集电极开路输出(也称作源型输出,当逻辑 1 时,输出电压为电源电压,如图2-2所示)两种形式。在编码器供电电压和信号接受装置的电压不一致的情况下可以使用这种类型的输出电路。

对于PNP型的集电极开路输出的编码器信号,可以接入到漏型输入的模块中,具体的接线原理如图2-3所示。

注意:PNP型的集电极开路输出的编码器信号不能直接接入源型输入的模块中。

对于NPN型的集电极开路输出的编码器信号,可以接入到源型输入的模块中,具体的接线原理如图2-4所示。

注意:NPN型的集电极开路输出的编码器信号不能直接接入漏型输入的模块中。

3.2 电压输出型

电压输出是在集电极开路输出电路的基础上,在电源和集电极之间接了一个上拉电阻,这样就使得集电极和电源之间能有了一个稳定的电压状态,如图2-5。一般在编码器供电电压和信号接受装置的电压一致的情况下使用这种类型的输出电路。

3.3 推挽式输出

推挽式输出方式由两个分别为 PNP 型和 NPN 型的三极管组成,如图2-6所示。当其中一个三极管导通时,另外一个三极管则关断,两个输出晶体管交互进行动作。

这种输出形式具有高输入阻抗和低输出阻抗,因此在低阻抗情况下它也可以提供大范围的电源。由于输入、输出信号相位相同且频率范围宽,因此它还适用于长距离传输。

推挽式输出电路可以直接与 NPN 和 PNP 集电极开路输入的电路连接,即可以接入源型或漏型输入的模块中。

3.4 线驱动输出

如图 2-7所示,线驱动输出接口采用了专用的 IC 芯片,输出信号符合RS-422 标准,以差分的形式输出,因此线驱动输出信号抗干扰能力更强,可以应用于高速、长距离数据传输的场合,同时还具有响应速度快和抗噪声性能强的特点。

4.高速计数模块与编码器的兼容性

高速计数模块主要用于评估接入模块的各种脉冲信号,用于对编码器输出的脉冲信号进行计数和测量等。西门子SIMATIC S7的全系列产品都有支持高速计数功能的模块,可以适应于各种不同场合的应用。

根据产品功能的不同,每种产品高速计数功能所支持的输入信号类型也各不相同,在系统设计或产品选型时要特别注意。下表3-1给出了西门子高速计数产品与编码器的兼容性信息,供选型时参考。

5.编码器使用的常见问题5.1 编码器选型时要考虑哪些参数

在编码器选型时,可以综合考虑以下几个参数:

Ø 编码器类型:根据应用场合和控制要求确定选用增量型编码器还是绝对性编码器。

Ø 输出信号类型:对于增量型编码根据需要确定输出接口类型(源型、漏型)。

Ø 信号电压等级:确认信号的电压等级(DC24V、DC5V等)。

Ø 最大输出频率:根据应用场合和需求确认最大输出频率及分辨率、位数等参数。

Ø 安装方式、外形尺寸:综合考虑安装空间、机械强度、轴的状态、外观规格、机械寿命等要求。

5.2 如何判断编码器的好坏

可以通过以下几种方法判断编码器的好坏:

Ø 将编码器接入 PLC的高速计数模块,通过读取实际脉冲个数或码值来判断编码器输出是否正确。

Ø 通过示波器查看编码器输出波形,根据实际的输出波形来判断编码器是否正常。

Ø 通过万用表的电压档来测量编码器输出信号电压来判断编码器是否正常,具体操作方法如下:

1)编码器为NPN晶体管输出时,用万用表测量电源正极和信号输出线之间的电压

· 导通时输出电压接近供电电压

· 关断时输出电压接近 0V

2)编码器为PNP晶体管输出时,用万用表测量测量电源负极和信号输出线之间的电压

· 导通时输出电压接近供电电压

· 关断时输出电压接近 0V

5.3 计数不准确的原因及相应的避免措施

在实际应用中,导致计数或测量不准确的原因很多,其中主要应注意以下几点:

Ø 编码器安装的现场环境有抖动,编码器和电机轴之间有松动,没有固定紧。

Ø 旋转速度过快,超出编码器的最高响应频率。

Ø 编码器的脉冲输出频率大于计数器输入脉冲最高频率。

Ø 信号传输过程中受到干扰。

针对以上问题的避免措施:

Ø 检查编码器的机械安装,是否打滑、跳齿、齿轮齿隙是否过大等。

Ø 计算一下最高脉冲频率,是否接近或超过了极限值。

Ø 确保高速计数模块能够接收的最大脉冲频率大于编码器的脉冲输出频率。

Ø 检查信号线是否过长,是否使用屏蔽双绞线,按要求做好接地,并采取必要抗干扰措施。

5.4空闲的编码器信号线该如何处理

在实际的应用中,可能会遇到不需要或者模块不支持的信号线,例如:

Ø 对于带零位信号的AB正交编码器(A、B、N),模块不支持N相输入或者不需要Z信号。

Ø 对于差分输出信号(A、/A,B、/B,N、/N),模块不支持反向信号(/A,/B,/N)的输入。

对于这些信号线,不需要特殊的处理,可以直接放弃不用!

5.5增量信号多重评估能否提高计数频率

对于增量信号,可以组态多重评估模式,包括双重评估和四重评估。四重评估是指同时对信号 A 和B 的正跳沿和负跳沿进行判断,进而得到计数值,如图4-1所示。对于四重评估的模式,因为对一个脉冲进行了四倍的处理(四次评估),所以读到的计数值是实际输入脉冲数的四倍,通过对信号的多重评估可以提高测量的分辨率。

通过以上对增量信号多重评估原理的分析可以看出,多重评估只是在原计数脉冲的基础上对计数值作了倍频处理,而实际上对实际输入脉冲频率没有影响,所以也不会提高模块的最大计数频率。例如,FM350-2的最大计数频率为10kHz,那么即使配置为四重评估的模式,其最大的计数频率还是10kHz

二、高速计数器应用

在 S7-1200 的硬件组态中,可以配置高速计数器的参数,其中组态成计数模式、频率模式、周期模式需要在这里配置,如图 1 所示。如果是用于闭环运动控制,则此处无需配置。

①激活高速计数器

②设置计数类型:计数模式、频率模式、周期模式

③设置运行模式:单相、两相位、A/B 计数器、A/B 计数器四倍频,值得注意的是组态 A/B 计数器四倍频会使得计数值变为组态 A/B 计数器的 4 倍,但频率相比组态 A/B 计数器不会发生变化

④计数方向:取决于用户程序(通过指令修改),还是外部输入,该功能只与单相计数有关

⑤初始计数方向:正向、反向

⑥频率测量周期:与频率模式、周期模式有关,只能选择 1s、0.1s、0.01s,一般情况下当脉冲频率比较高时选择更小的测量周期可以更新的更加及时,当脉冲频率比较低时选择更大的测量周期可以测量的更准确。

然后在设置使用的硬件输入点,如图 2 所示。

注意:对于高速计数器的相关硬件输入点,一般情况下需要设置其滤波时间。

在 S7-1200 CPU 和 SB 信号板的属性中,数字量输入通道的输入滤波器默认设置值为 6.4 millisec,该输入滤波时间对应的高速计数器能检测到的最大频率为 78Hz。

因此如果使用该默认值,且 S7-1200 CPU 或 SB 信号板接入的高速输入脉冲超过 78Hz,则 S7-1200 CPU 或 SB 信号板过滤掉该频率的输入脉冲。

要正确使用 S7-1200 CPU 和 SB 信号板高速计数功能,需要根据实际接入的高速输入脉冲最大频率,在输入滤波器时间。

V4.0 或更高版本的 S7-1200 CPU 和 SB 信号板,每个数字量输入点都可设置输入滤波器时间, 如下图 12、13 所示:

在 I/O 地址处查看高速计数器起始地址,默认情况下,HSC1 为 1000,HSC2 为 1004,HSC3 为 1008,HSC4 为 1012,HSC5 为 1016,HSC6 为 1020,如图 3 所示。

如果组态计数模式、频率模式,可以在不使用指令情况下直接读取计数值与频率值。

在程序中读取基于起始地址的有符号双整数变量即为计数值或者频率值(单位:Hz),一般使用立即读取方式,这样数值更准确,如图 4 所示。

如果组态为计数模式,则计数启动后,计数值使用组态中的初始计数值开始计数,如图 5 所示。

当计数正方向达到上限后再继续从下限开始正方向计数,当计数反方向达到下限后再继续从上限开始反方向计数,参考图 5 下方红框设置的上下限。

三、指令编程

在 TIA Portal 软件集成的工艺指令文件夹中可以找到 CTRL_HSC_EXT 与 CTRL_HSC 指令,如图 6 所示。

其中 CTRL_HSC_EXT 指令支持所有功能,例如门功能、同步功能、捕捉功能、计数、频率测量、周期测量、修改参数等。

而 CTRL_HSC 指令是从 S7-1200 V1.0 版本就开始支持的旧指令,只支持修改计数方向、参考值、当前值、频率测量周期等参数的功能。

如果只需要计数或者测量频率,以及硬件门、复位计数值为零、比较输出等基本功能,而其他功能都不使用,可以只组态,然后去读取相应计数器地址即可,无需调用指令。

如果除基本功能以外,还需要修改计数方向、参考值、当前值、频率测量周期等参数,可以使用旧指令 CTRL_HSC,该指令使用更为简单。

如果有更多功能需求,则必须使用 CTRL_HSC_EXT 指令。

具体比较参考表 3。

CTRL_HSC_EXT 与 CTRL_HSC 指令如图 6 所示。

CTRL_HSC_EXT 指令各参数含义请参考表 4。CTRL_HSC 指令各参数含义请参考表 5。

其中 HSC 参数高速计数器硬件标识符,需要在 PLC 变量表 > 系统常量找到对应标识符,如图 8 所示。

四、CTRL_HSC_EXT指令-计数实现案例

CPU 硬件组态,启用高速计数器,计数类型选择计数,工作模式选择单相,如图 9 所示。

建立数据块,并建立数据类型为 HSC_Count 的变量,如图 10 所示。

HSC_Count 数据类型在 DB 块的数据类型中无法选择,需要完整输入后输入回车才会出现。

在 OB1 里调用指令块 CTRL_HSC_EXT,如图 11 所示。

CPU 高速计数器通道接入脉冲信号,如图 12 所示,通过程序对高速计数器软件门信号 EnHSC 信号置位,即可在 CurrentCount 处监控到计数值。

注意:将 HSC 配置成计数模式时调用 CTRL_HSC/CTRL_HSC_EXT 指令不是必须的。只要在硬件配置里使能并组态高速计数器即可正常计数,默认情况下 ID1000 的值即为 HSC1 的计数值。

五、CTRL_HSC_EXT指令-频率测量案例

CPU 硬件组态,启用高速计数器,计数类型选择频率,设定频率测量周期,如图 13 所示。

建立数据块,并建立数据类型为 HSC_Frequency 的变量,如图 14 所示。

HSC_Frequency 数据类型在 DB 块的数据类型中无法选择,需要完整输入后输入回车才会出现。

在 OB1 里调用指令块 CTRL_HSC_EXT,如图 15 所示。

CPU 高速计数器通道接入脉冲信号,如图 16 所示,通过程序对高速计数器软件门信号 EnHSC 信号置位,即可在 Frequency 处监控到频率值。

注意:将 HSC 配置成频率模式时调用 CTRL_HSC/CTRL_HSC_EXT 指令不是必须的。只要在硬件配置里使能并组态高速计数器即可正常计数,默认情况下 ID1000 的值即为 HSC1 的频率值。

本文内容由快快网络小滢创作整理编辑!