S7-1500CPU一般本身是不带高速脉冲计数的,所以要选用高速计数模块,一般最常用的模块为TMcount2X24 ,其提供两路24V高速脉冲采集信号。两路高速脉冲采集通道,在一般项目应用中有点少。
在工业领域数据采集和处理中,经常会遇到如流量、转速、扭矩等高速脉冲信号形式的传感器。这种类型的传感器精确度高,抗干扰能力强,得到技术人员的青睐。
举例说明西门子S7-1500高速脉冲采集功能和应用,包括数据的处理。
1. 高速计数模块TM count2X24属性
1>.支持的编码器类型
●24V增量编码器;
●具有方向信号的24V脉冲编码器
●布局有方向信号的24V脉冲编码器
●用于向上和向下计数脉冲的24V脉冲编码器
2>.支持的技术功能
●高速计数
●测量评率
●作为运动控制的位置反馈
3>.接线(图)端子
2. 高速计数模块的组态和应用
下面举例子,来说明西门子S71500系列PLC高速脉冲采集的用法。
如图所示的扭矩转速传感器,转速码盘数为60,扭矩-50N.m-50 N.m对应5K-15K脉冲。
2.1硬件配置及组态
插入一个CPU模块,本例中用CPU1515,并插入TM count2X24模块,订货号:6ES7550-1AA00-0AB0
2.2 配置通道属性
双击模块2,下面出现高速计数模块的属性。
选择工作模式:通过工艺对象组态通道。当然也可以选用手动操作,手动操作和1200中的配置方法一样,就是配置为测量,配置为频率,配置更新时间,这些都可以在工艺里面完成,大同小异。
此处我们选择通过工艺对象组态通道。选择了通过工艺对象组态通道,下面的手动选项就会变灰,只能在工艺对象里面进行配置。
2.3新增工艺对象
在项目树底下的CPPU下面,找到工艺对象,新增对象。如图所示的方法,增加两个对象,一个命名为转速频率测量,一个命名为扭矩频率测量。完成这一步后,就可以在项目数下面看到新增的两个工艺对象。
2.4组态工艺对象
点击组态,配置相关参数。在参数选项卡,可以看到组态的相关参数及配置,还可以看到状态:公司图标表示参数里包含错误或不可用的参数;绿色图标表示参数配置里面包含修改过的参数;蓝色图标表示系统默认的配置参数,没经过修改。
下面完成上图中的参数配置
1>.基本参数
模块:选择我们插入的模块:TM COUNT 2×24
通道:模块有两个通道,转速分配第1通道,扭矩分配第2通道。
2>.配置计数器
选择技术器信号类型,这里选择脉冲A相。选择滤波器频率。
信号类型大概有以下几种:
3>.测量值
测量变量:频率
更新时间:100ms,0-25000ms可选。
通常,如高速脉冲型式的传感器,如流量传感器,转速扭矩传感器等,测量其相应的流量,转速、扭矩等,最终都是先得到其频率值,再对频率直接进行数据处理,即可得到相应的流量、转速、扭矩等物理量。S71200系列CPU直接可以通过硬件组态,将计数通道设置为频率测量。S71200系列CPU高速脉冲采集频率测量功能,有3种不同的频率测量周期:1.0秒,0.1秒和0.01秒,不同工况需求下,可以选择不同的测量周期。在1500PLC里面可以0-2500ms选择,根据不同的工况进行配置即可。
2.5调试工艺对象
计数工艺对象提供了一个可以调试的控制面板,在这个调试界面下可以进行技术器的基本操作和错误诊断。需要注意的是,使用调试界面前,需要在主程序中调用高速计数功能块才能正常使用。
1>.插入指令模块
在Main中,从指令表里面找到工艺类->计数和测量,找到High_Speed_Counter功能并拖拽到程序段中,并在背景数据块中选择之前建立的计数器工艺对象。
将项目存盘编译并下载后,就可以到项目树下面找到调试功能进行调试。
2>.工艺对象的调试
进入调试界面后,首先点击左上角的在线标志,使得PLC处于工作状态,在线模式下,使得软件门“SWGate”为真,观察反馈的门状态“StatusHW”是否为真,如果为真说明计数器已经开始工作,这时候如果外部有脉冲信号的话,计数器将进行计数并将计数值反馈到“CountValue”。
2.6编程
如果调试界面没问题,就可以回到Main程序块中进行编程,程序块的使用方法与调试界面完全一致。
有几个参数值得注意:
软件门:可以控制计数器什么时候开始计数。
countValue:计数值,这里区别于测量值。
MeasuredValue:测量值,此处就显示测得的频率值。
2.7数据处理
转速的处理:频率为f,表示一秒钟采集f个脉冲,则一分钟采集60f个脉冲。码盘数为60,表示转一转,转速传感器发出60个脉冲。则,一分钟60f个脉冲表示转了60f/60转,转速为f转/分。
及:转速的处理公式为:转速=60f/码盘数 (转/分)
扭矩的处理:扭矩处理比较简单,5K—15K线性对应-50N.m—50N.m。对频率值进行线性变换即可。
注意:无论是高速计数还是频率测量,读取到的ID1000值都是整数,要换算为相应的物理量,首先要进行数据转换,把双整数换算为浮点数,再进行数据转换。