西门子S7-1200PLC的HSC高速计数器应用实例
高速计数器与cpu的数据交互
在高速计数器的应用中,cpu会将每个计数器的测量值存储于一个特定的输入过程映像区,这一数据类型被标识为32位双整型有符号数。用户具备在设备组态中修改这些存储地址的权限,并且能够在程序中直接访问这些地址。但值得注意的是,由于过程映像区受到扫描周期的制约,所读取到的值可能并非当前时刻的实际数值。在一个扫描周期内,这一数值会保持恒定,而计数器内的实际值却可能在此周期内发生变化,但这些变化并不会被用户所捕获。为了获取当前时刻的实际值,用户可以通过读取外设地址的方式来实现,例如id1000的外设地址就是“id1000:p”。详细的高速计数器寻址信息可见表1,它列出了各计数器的访问路径。
表1.高速计数器寻址中断功能的应用
s7-1200 plc在高速计数器中集成了中断功能,这一功能允许在特定条件下触发相应的程序。具体来说,有三种中断事件可以触发:一是当前计数值达到预设的数值;二是使用外部信号进行复位操作;三是在使用外部方向控制时,计数方向发生变化。
频率测量的特性
除了基本的计数功能,s7-1200 plc还提供了频率测量功能。这一功能支持三种不同的测量周期:1.0秒、0.1秒和0.01秒。频率测量周期是指计算并返回新的频率值所需的时间间隔。不论选择哪种测量周期,所得到的频率值都会以hz(每秒脉冲数)为单位,并且该值是基于上一个测量周期内所有测量值的平均。
高速计数器指令块的应用
为了使用高速计数器指令块,需要指定一个背景数据块来存储相关参数,如图1所示。详细的参数说明可参考表2,而可能出现的错误代码则列在表3中。
图1.高速计数器指令块表3.status 错误代码
应用实例分析
假设我们有一个旋转机械,其上安装了单相增量编码器作为反馈装置,并将其接入到s7-1200 cpu。我们的需求是当计数达到25个脉冲时,计数器复位,并将m0.5置位,同时设定新的预置值为50个脉冲。当计数满50个脉冲后,m0.5复位,并将预置值重设为25,如此循环执行。针对这一应用,我们选择cpu 1214c,并设定高速计数器为hsc1,采用单相计数模式,内部方向控制,无需外部复位。为实现这一功能,我们将脉冲输入接入i0.0,并利用hsc1的预置值中断(cv=rv)功能。
硬件组态
1、选择cpu:首先,在plc编程软件中选择适当的cpu型号。
图1.选中cpu2、打开组态界面:选择cpu后,进入其属性以进行组态。
图2.选择属性打开组态界面3、激活高速计数功能:在cpu属性中,找到并激活高速计数功能。
图3.激活高速计数功能4、设置计数类型和方向:
图4.计数类型,计数方向计数类型:选择counting(计数)作为您需要的类型。
模式:根据您的输入信号类型,选择适当的模式。对于简单的脉冲输入,single phase(单相)可能就足够了。
输入源:使用cpu集成的输入点作为计数器的输入。
计数方向:选择user program (internal direction control)(内部方向控制)允许您在程序中控制计数的方向。
初始计数方向:选择count up(向上计数)作为初始方向。
5、初始值及复位组态:设置计数器的初始值和复位条件。
图5.初始值及复位组态6、预置值中断组态:当计数器达到预置值时,配置中断以执行特定操作。
图6. 预置值中断组态7、添加硬件中断:在cpu属性或中断配置中,添加与高速计数器相关的硬件中断。
图7.添加硬件中断图8.组态添加的硬件中断
8、地址分配与硬件识别号:确认plc为高速计数器分配的地址和硬件识别号。
图9.地址分配与硬件识别号程序编写
1、打开硬件中断块:在plc编程环境中,找到并打开与高速计数器相关的硬件中断块。
图10. 打开硬件中断块2、添加高速计数器:在中断块中,添加高速计数器指令块或函数块。
图11.添加高速计数器3、定义高速计数器背景数据块:为背景数据块分配适当的地址和参数。
4、程序视图:在程序视图中,确保正确设置了高速计数器的参数,包括硬件识别号、使能更新初值、使能更新预置值、新的初始值和新的预置值。
5、硬件标识符:确保在程序中使用的硬件识别号与在硬件组态中设置的相匹配。
图 14. 硬件标识符6、下载程序:将完成的组态和程序下载到plc cpu中。
7、执行与监控:一旦程序开始执行,您可以通过plc编程软件读取当前的计数值(如id1000)。
- 供应商
- 广东湘恒智能科技有限公司
- 联系电话
- 13922889745
- 手机号
- 18475208684
- 经理
- 向小姐
- 所在地
- 惠州大亚湾澳头石化大道中480号太东天地花园2栋二单元9层01号房