S7-1200硬件篇之高速计数器(HSC)
高速计数器的英文名称为"High Speed Counter",简写为"HSC",它的作用之一是用来捕获工业现场中的高速脉冲信号。比如在现场为了测算距离,我们需要用到编码器。编码器以高速脉冲的形式向外发送距离的信息,这些脉冲信号的频率很高,其周期比PLC的扫描周期短,普通的输入点无法正确捕获,这种情况下就需要用到高速计数器。
我们先来对比一下外部的物理信号通过数字量通道进入到CPU的过程映像区和通过高速计数通道进入到过程映像区的过程有什么不同?
一个典型的信号输入过程是这样的:当物理信号产生后,首先经过光电隔离,然后经过数字滤波,再经过脉冲扑捉,最后进入到CPU的输入过程映像区。
对于高速计数器来说,当物理信号产生后,先经过光电隔离,接着经过数字滤波,然后进入到一个专用的高速计数芯片中。脉冲信号可以在高速计数芯片中存储,不会产生丢失的情况。这些脉冲数会在PLC的扫描周期内集中送入CPU的输入过程映像区,当然我们也可以直接访问外设的物理地址,读取脉冲数。高速计数芯片是高速计数器不同于普通输入通道的关键之处。
西门子充分考虑到现场采集高速脉冲信号的需求,S7-1200系列PLC的CPU模块最多可支持6组高速计数器(HSC), 可测量的单相脉冲的最高频率为1MHz(1217C),A/B相的脉冲频率最大可达80KHz。下图是在没有信号板(Signal board)的情况下,1200系列CPU内部集成的HSC的个数:
任何CPU都可以通过信号板来扩展HSC的个数,根据CPU与信号板(Signal board)的不同组合,可最多支持6个HSC(1211C最多支持5个)。如下图:
高速计数器的测量信号的种类包括三种:脉冲计数(Counting)、频率测量(Frequencey)和轴运动(Axis of motion); 工作模式包括四种:单相(Single phase),双相(Two phase),A/B正交1倍速(A/B Quadrature 1X)和A/B正交四倍速(A/B Quadrature 4X)。
高速计数器需要使用PLC的集成的输入点资源,当把某个输入点设置成高速计数器后,不能 同时做普通的输入点使用。输入点支持的最大输入频率也有所不同,当你选择输入点的时候,要考虑现场脉冲信号的频率。下图是各种CPU集成的输入点的在不同的工作模式下支持的最大频率:
各信号板模块(Signal board)输入点支持的频率如下:
根据工作模式的不同,HSC需要的输入点的数量也有所区别,单相模式下最少需要一个输入点,双相或A/B相都至少需要两个输入点,见下表:
其中:"[]"表示可选项,"CLK"表示输入时钟信号;"CLK_UP"表示时钟上升沿;"CLK_DN"表示时钟下降沿;"CLK_A"表示A相时钟信号;"CLK_B"表示B相时钟信号;"DIR"表示信号输入的方向;"R"外部复位信号(复位信号仅对脉冲计数有效);
6组HSC占用的CPU的输入点资源如下表:
占用的信号板输入点资源如下表:
所有的HSC均无需设置启动条件,当将硬件组态下载到CPU后,配置好的高速计数器便自动启动。
好了,关于高速计数器硬件相关的内容我们就介绍到这里,下一篇文章我们讲解高速计数器(HSC)的组态和编程。
结束!!!
西门子G120、Modbus通讯、 V20高速计数器、模拟量等必学困惑解答
关注“PLC发烧友 ”,一起涨知识!
回复:西门子全套,领西门子全系列电子资料包
技成周报 103期
1. G120L 工厂复位后报故障 F07862 的原因是?
答:首先在工厂复位后,系统会将以下四个参数进行修改:
P2117=R4022.0 P2108=R4022.1 P849=R4022.2 P845=R4022.3
P2117 是外部报警 3 的源,当它连接的开关量不为 1 时就会产生报警 A07852
P2108 是外部故障 3 的源,当它连接的开关量不为 1 时就会产生故障 F07862
P849 是 OFF3 的源,当它连接的开关量不为 1 时就会激活快速停车命令,而且无法启
动变频器
P845 是 OFF2 的源,当它连接的开关量不为 1 时就会激活变频器脉冲封锁功能,使它
无法启动。
2.如何消除故障 F07862 并使变频器可以正常启动?
答:通过修改参数将上面提到的四个参数所连接的开关量都修改为 1 即:
P2117=1 P2108=1 P849=1 P845=1
当 3,4 ,5,6,四个端子对应参考电位 7 号端子的电压在 15—30V 之间,则它们输入到变频器中的信号则为高电平。
当 3,4,5,6,四个端子对应参考电位 7 号端子的电压在-3V—+5V 之间,则它们输入
到变频器中的信号则为低电平。
注意:3,4,5,6 四个端子连接的功能是高电平无效(正常),低电平触发各自功能。
3.如何实现端子控制启停,modbus通讯调速控制?
答:设置P700=2,P1000=5,给40100寄存器发送16#0400(十六进制)确保由PLC控制。
4.通讯如何控制反转?(modbus)
答:可通过以下两种方式实现总线控制反转:
控制字(控制字说明)的第11位为反转功能,将该位设置为1时可控制其电机反转。
将速度设定值设置为负数时可控制其电机反转;
注意:如果同时使用以上两种方法无法实现电机反转。
5.通讯设定速度的范围是多大?
答:Modbus通讯的速度给定为0-4000H,对应变频器0-P2000基准频率,可通过控制字实现反向频率。
6.如何通过通讯复位变频器故障?
答:Modbus通讯:通过给控制字地址写04FE(十六进制)来复位故障。
7.Modbus通讯中,为什么相同频率,在正转和反转的时候读出的值不一样?
答:读取的频率值为有符号的16进制数,最高位为符号位,正数时为0,负数时为1。并且相同大小的负数需要使用正数二进制的补码来表示,如下表所示:
例:25Hz时对应的16进制为2000H,二进制为0010 0000 0000 0000
8.Modbus通讯中,读取浮点型数据时(如电流、功率等),读取的值为什么与原始数据不同?
答:由于MODBUS 协议数据传输有定标,需要将其进行换算。例如:对于斜坡上升时间P1120,从寄存器列表中可以看到40322的寄存器的定标系数是100,modbus读取过来的值为1000,所以参数P1120=1000/100=10s。
9.PLC带多台变频器时,如何加终端电阻?
答:必须在位于总线一端的装置的总线端子(P+,N-)之间连接一个120R 的总线终端电阻、在位于总线另一端的装置的总线端子之间连接一个终端网络。
终端网络由10 V 与P+端子间的1.5k电阻、P+与N-端子间的120R 电阻以及N-与0 V 端子间的470R 电阻组成。
RS485终端电阻订货号:订货号:6SL3255-0VC00-0HA0。
10.SINAMICS V20USS通讯设定速度的范围是多大?
答:USS通讯的速度给定范围是基准频率的±200%,基准频率为P2000参数中的值。
11.SINAMICS V20USS通讯如何通过通讯复位变频器故障?
答:USS通讯:可使用USS_CTRL(USS_DRV)的F_ACK管脚进行故障复位。
12.高速计数器的计数范围是什么?
答:高速计数器的计数范围是-231~231-1。当向上计数到最大值231-1时,会跳回到-231;当向下计数到最小值-231时,会跳回231-1。
13.断电停机或复位后,高速计数器的值会复位到什么值?
答:CPU 断电或重启后,高速计数器的值会复位到初始值;如果执行了外部复位,高速计数器的值会复位为0。
14.不编写 CTRL_HSC,高速计数器是否可以计数?
答:只要在硬件配置里使能并组态了高速计数器,不编写 CTRL_HSC,高速计数器就可以正常计数。CTRL_HSC 只是完成参数写入的功能。
15.为什么高速计数器的数值不增加,总是停在一个固定的值?
答:如果编程了 CTRL_HSC,当置位 CV 将 NEW_CV 写入当前值后,CV位不会自动复位为0,这时程序会一直将 NEW_CV写入当前值,导致高速计数器不继续计数而保持在固定的 NEW_CV 值。因此必须编程复位 CV,才能避免该错误的发生。
16.如果高速计数器定义为 "运动轴" 计数,程序中是否还可以访问 ID1000:P 的值?
答: 如果高速计数器用做内部的运动控制的计数,此时程序中不能再访问 ID1000:P 的值,否则会造成 I/O 访问错误。如果没有编程GET_ERROR 或 GET_ERR_ID 指令,还会造成 CPU 停机。
17.为什么 CTRL_HSC 的 "STATUS" 会返回 "80C0" 多次访问高速计数器错误?
答:如果高速计数器用做内部的运动控制的计数,则CTRL_HSC 的 "STATUS" 就会返回 "80C0" 多次访问高速计数器错误。
18.使用信号板 SB1221 4DI (CPU V3.0及早期版本)最多可以接入多少组高速计数器?
答: 最多2组,所使用的高速计数器号可以是 HSC1、HSC2、HSC5、HSC6其中2组。
19.为什么S7-1200 高速计数器只能检测到低频率的脉冲信号?
答:在 S7-1200 CPU 和 SB 信号板的属性中,数字量输入通道的输入滤波器默认设置值为 6.4 millisec,该输入滤波时间对应的高速计数器能检测到的最大频率为 78Hz。
因此如果使用该默认值,且 S7-1200 CPU 或 SB 信号板接入的高速输入脉冲超过 78Hz,则 S7-1200 CPU 或SB 信号板过滤掉该频率的输入脉冲。
20.如何进行S7-200的电源需求与计算?
答:S7-200CPU模块提供5VDC和24VDC电源:
当有扩展模块时CPU通过I/O总线为其提供5V电源,所有扩展模块的5V电源消耗之和不能超过该CPU提供的电源额定。若不够用不能外接5V电源。
每个CPU都有一个24VDC传感器电源,它为本机输入点和扩展模块输入点及扩展模块继电器线圈提供24VDC。如果电源要求超出了CPU模块的电源定额,你可以增加一个外部24VDC电源来提供给扩展模块。
所谓电源计算,就是用CPU所能提供的电源容量,减去各模块所需要的电源消耗量。
注意:
EM277模块本身不需要24VDC电源,这个电源是专供通讯端口用的。24VDC电源需求取决于通讯端口上的负载大小。
CPU上的通讯口,可以连接PC/PPI电缆和TD200并为它们供电,此电源消耗已经不必再纳入计算。
21.200PLC能在零下20度工作吗?
答:S7-200的工作环境要求为:
0°C-55°C,水平安装
0°C-45°C,垂直安装
相对湿度95%,不结露
西门子还提供S7-200的宽温度范围产品(SIPLUSS7-200):
工作温度范围:-25°C-+70°C
相对湿度:55°C时98%,70°C时45%
其他参数与普通S7-200产品相同
S7-200的宽温型产品,每种都有其单独的订货号,可以到SIPLUS产品主页查询。如果没有找到,则说明目前没有对应的SIPLUS产品。
文本和图形显示面板没有宽温型产品。
还要注意国内没有现货,如需要请和当地西门子办事处或经销商联系。
22.数字量输入/输出(DI/DO)响应速度有多快?能作高速输入和输出吗?
答:S7-200在CPU单元上设有硬件电路(芯片等)处理高速数字量I/O,如高速计数器(输入)、高速脉冲输出。这些硬件电路在用户程序的控制下工作,可以达到很高的频率;但点数受到硬件资源的限制。
S7-200CPU按照以下机制循环工作:
读取输入点的状态到输入映像区
执行用户程序,进行逻辑运算,得到输出信号的新状态
将输出信号写入到输出映像区
注意:只要CPU处于运行状态,上述步骤就周而复始地执行。在第二步中,CPU也执行通讯、自检等工作。
上述三个步骤是S7-200CPU的软件处理过程,可以认为就是程序扫描时间。实际上,S7-200对数字量的处理速度受到以下几个因素的限制:
输入硬件延时(从输入信号状态改变的那一刻开始,到CPU刷新输入映像区时能够识别其改变的时间)
CPU的内部处理时间,包括:
读取输入点的状态到输入映像区
执行用户程序,进行逻辑运算,得到输出信号的新状态
将输出信号写入到输出映像区
输出硬件延时(从输出缓冲区状态改变到输出点真实电平改变的时间)
上述A,B,C三段时间,就是限制西门子PLC处理数字量响应速度的主要因素。
一个实际的系统可能还需要考虑输入、输出器件的延时,如输出点外接的中间继电器动作时间等。
以上数据都在《S7-200系统手册》中标明,这里只是列表比较。CPU上的部分输入点延时(滤波)时间可以在编程软件Micro/WIN的“系统块”中设置,其缺省的滤波时间是6.4ms。
如果把容易受到干扰的信号接到CPU上可改变滤波时间的DI点上,调整滤波时间可能改善信号检测的质量。
支持高速计数器功能的输入点在相应功能开通时不受此滤波时间约束。滤波设置对输入映像区的刷新、开关量输入中断、脉冲捕捉功能同样有效。
有些输出点要比其他点更快些,是因为它们可以用于高速输出功能,在硬件上有特殊设计。没有专门使用硬件高速输出功能时,它们只是和普通点一样处理
继电器输出开关频率为1Hz。
23.S7-200处理快速响应信号的对策有那些?
答:使用CPU内置的高速计数器和高速脉冲发生器处理序列脉冲信号
使用部分CPU数字量输入点的硬件中断功能,在中断服务程序中处理;进入中断的延时可以忽略。
S7-200拥有“直接读输入”和“直接写输出”指令,可以越过程序扫描周期的时间限制
使用部分CPU数字量输入点的“脉冲捕捉”功能捕捉短暂的脉冲
注意:S7-200系统中最小周期的定时任务为1ms。
所有实现快速信号处理的措施,都要考虑所有限制因素的影响。例如,为一个需要毫秒级响应速度的信号选择500μs输出延时的硬件,显然是不合理的。
24.S7-200程序扫描时间和程序大小有关系吗?
答:程序扫描时间与用户程序的大小成正比。
《S7-200系统手册》中有每个指令所需执行时间的数据。实际上很难事先预先精确计算出程序扫描时间,特别是还没有开始编程序时。
可以看出,常规的PLC处理模式不适合时间响应要求高的数字量信号。可能需要根据具体任务采用一些特别的方法。
25.CPU224XP高速脉冲输出最快能达到多少?
答:CPU224XP的高速脉冲输出Q0.0和Q0.1支持高达100KHz的频率。
Q0.0和Q0.1支持5-24VDC输出。www.plcs.cn但是它们必须和Q0.2-Q0.4一起成组输出相同的电压。高速输出只能用在CPU224XPDC/DC/DC型号
26.CPU224XP本体上的模拟量输入也是高速响应的吗?
答:它的响应速度是250ms,不同于模拟量扩展模块的数据。CPU224XP本体上的模拟量I/O芯片与模拟量模块所用的不同,应用的转换原理不同,因此精度和速度不一样。
27.CPU224XP后面挂的模拟量模块的地址如何分配?
答:S7-200的模拟量I/O地址总是以2个通道/模块的规律增加。所以CPU224XP后面的第一个模拟量输入通道的地址为AIW4;第一个输出通道的地址为AQW4,AQW2不能用。
28.S7-200CPU上的通讯口支持哪些讯协议?
答:1)PPI协议:西门子专为S7-200开发的通讯协议
2)MPI协议:不完全支持,只能作从站
3)自由口模式:由用户自定义的通讯协议,用于与其他串行通讯设备通讯(如串行打印机等)。
S7-200编程软件Micro/WIN提供了通过自由口模式实现的通讯功能:
1)USS指令库:用于S7-200与西门子变频器(MM4系列、SINAMICSG110和老的MM3系列)
2)ModbusRTU指令库:用于与支持ModbusRTU主站协议的设备通讯
S7-200CPU上的两个通讯口基本一样,没有什么特殊的区别。它们可以各自在不同的模式、通讯速率下工作;它们的口地址甚至也可相同。分别连接到CPU上两个通讯口上的设备,不属于同一个网络。S7-200CPU不能充当网桥的作用。
29.S7-200CPU上的通讯口都能干什么用?
答:1)安装了编程软件Micro/WIN的编程电脑可以对plc编程
2)可以连接其他S7-200CPU的通讯口组成网络
3)可以与S7-300/400的MPI通讯口通讯
4)可以连接西门子的hmi设备(如TD200、TP170micro、TP170、TP270等)
5)可以通过OPCServer(PCAccessV1.0)进行数据发布
6)可以连接其他串行通讯设备
7)可以与第三方HMI通讯
30. 西门子S7-200SMART PLC QB0和QW0有区别嘛?
答:QB0和QW0是不同的数据类型,QB0是输出字节存储方式,QW0是字存储方式。
回复:西门子全套,领西门子全系列电子资料包
相关问答
四位减法计数器是什么芯片?
四位减法计数器是74LS193芯片。因为74LS193芯片是一种高速CMOS逻辑芯片,具有四位二进制计数器和四位二进制减法器的功能,能够实现多种计数和减法操作,广泛应用...
高速计数器干什么用的?
高速计数器是一种用于计数和记录脉冲信号频率的设备。它可以广泛应用于各种计量、控制、监测等领域。高速计数器通过记录输入信号每个脉冲的到达时间间隔,从而...
欧姆龙plc保存高速计数器0的当前值.低位4位:A270CH,高位4位:A271CH是什么意思?
A270和A271是高速计数0的计数值保存区,低位A270对多只能保存十六进制FFFF,当低位保存满之后,会在高位A271继续保存计数值A270和A271是高速计数0的计数值保存...
ab相高速计数器工作原理?
高速计数AB相计数是指编码器输出两路计数信号(A.B),它们在相位上相差90°,PLC可以根据两者的相位,判断编码器的转向进行所要执行的控制。它的工作原理是:A...
三菱PLCFX系列哪款有高速计数器?
FX系列都有高速计数器端口的,端口是X00-X07,根据手册,这些端口有单相计数功能,也有复合组成双相计数的功能。FX2N和FX3U还有高速计数模块FX2N-1HC。FX系列都...
plc中怎样利用高速计数器来计算距离?
加装编码器,通过编码器发生脉冲数和测距轮周长的比例关系计算距离。加装编码器,通过编码器发生脉冲数和测距轮周长的比例关系计算距离。
s7-200smartplc高速计数器显示为红色是什么意思?
高速计数程序在主程序只能调用一次,使用SM0.1或沿触发指令从MAIN程序块将该子程序调用一次。看看是不是这个问题。高速计数程序在主程序只能调用一次,使用SM0...
S7200plc中怎样利用高速计数器来计算距离?比喻我的设定距离...
[最佳回答]首先得有编码器,然后计算编码器一圈,物料走多远,也就是算出来编码器1个脉冲,物料行走多少距离,根据你设定的6米,除以这个距离,就算出来多少个脉冲了...
怎样消除PLC高速计数器的计数误差?
在应用PLC高速计数器时往往会碰到如下一系列问题,计数器与输入计数脉冲信号的脉冲电平不匹配。如旋转编码器、光栅尺数据输出是TTL电平,而PLC高速计数器为确保...
高速计数器的标识符为?
A531.00高速计数器0复位位A531.01高速计数器1复位位A531.02高速计数器2复位位A531.03高速计数器3复位位A531.04高速计数器4复位位A531.05高速...