西门子S120连接电缆6SL3060-4AC50-0AA0
工艺模块 tm count 2x24v 的主要属性:
支持的编码器/信号类型:
24 v 增量编码器;
具有方向信号的 24 v 脉冲编码器;
不具有方向信号的 24 v 脉冲编码器;
用于向上和向下计数脉冲的 24 v 脉冲编码器;
支持的技术功能:
高速计数
测量 (频率, 速度, 脉冲周期)
作为运动控制的位置反馈
集中式应用/分布式应用:
可以在 s7-1500 自动化系统中集中使用工艺模块。
可以通过 et 200mp 分布式 i/o 的接口模块在分布式系统中使用工艺模块,如在 s7-300/400 系统中的分布式运行或者在第三方系统中的分布式运行。
工艺模块 tm count 2x24v 的接线:
工艺模块 tm count 2x24v 可以接两路 24v 脉冲信号编码器,每个通道同时提供了三个数字量输入和两个数字量输出信号,具体接线方式请参考图02 和图03。
图02. tm count 2x24v 端子分配
图03. tm count 2x24v 模块的接线
在本例中,使用的是带有方向信号的 24v 脉冲编码器,所以将脉冲信号接到模块的1号端子,将方向信号接到模块的2号端子。
计数功能概述:
计数是指对事件进行记录和统计,工艺模块的计数器 捕获编码器信号和脉冲,并对其进行相应的评估。可以使用编码器或脉冲信号或通过用户程序指定计数的方向。也可以通过数字量输入控制计数过程。模块内置的比 较值功能可在定义的计数值处准确切换数字量输出(不受用户程序及 cpu 扫描周期的影响)。
计数功能组态实例:
1. 本文中所使用的系统硬件及软件信息:
名称 | 订货号 | 版本 |
cpu 1511 | 6es7511-1ak00-0ab0 | fw v1.5 |
tm 2x24v | 6es7550-1aa00-0ab0 | fw v1.0 |
step7 tia portal | 6es7822-1aa03-0ya5 | v13 |
硬件配置:
首先将项目切换到项目视图,然后从左侧的硬件目录中找到:工艺模块->;计数->;tm count 2x24v, 并将计数模块拖拽到设备机架上(图04);
图04. tm count 2x24v 硬件配置 01
在模板下方点击属性,进入模板的基本参数设置界面,将通道 0 的工作模式选择为:通过工艺对象组态通道(图05);
图05. tm count 2x24v 硬件配置 02
组态工艺对象:
硬件配置完成后需要组态计数器的工艺对象。首先从左侧的项目树中,选择工艺对象下面的:插入新对象(图06);
图06. 插入新对象
在插入新对象时选择:计数和测量,并填入对象名称(图07);
图07. 选择新对象类型
插 入对象后,在左侧的项目树下就能看到新建的计数器工艺对象,选择这个计数器工艺对象,点击“组态”即可在中间的工作区域看到工艺对象的参数配置界面。参数界面可以通过 状态图标反映出参数分配状态:红色图标表示参数里包含错误或者不可用的参数;绿色图标表示配置里面包含手动修改过得可用参数;蓝色图标表示系统默认可用的 配置参数(图08);
图08. 组态工艺对象
在工艺对象的基本参数中,首先需要给这个计数器工艺对象分配一个硬件,也就是前面组态的高速计数模块,并选择相应的模块通道,完成工艺对象与硬件的关联(图09);
图09. 为工艺对象分配硬件
在计数器输入参数中选择输入信号的类型,可选择的类型参见下表,在附加参数里面还可以选择对脉冲的滤波和类型(图10),可以支持的信号类型请参见表01
图10. 选择计数器工艺对象的信号类型
计数器工艺对象支持的信号类型:
图例 | 名称 | 信号类型 |
增量编码器(a、b 相差) | 带有 a 和 b 相位差信号的增量编码器。 | |
增量编码器(a、b、n) | 带有 a 和 b 相位差信号以及零信号 n 的增量编码器。 | |
脉冲 (a) 和方向 (b) | 带有方向信号(信号 b)的脉冲编码器(信号 a)。 | |
单相脉冲 (a) | 不带方向信号的脉冲编码器(信号 a)。可以通过控制接口指定计数方向。 | |
向上计数 (a),向下计数 (b) | 向上计数(信号 a)和向下计数(信号 b)的信号。 |
表01. 计数器工艺对象支持的信号类型
在计数器特性里面可以配置计数器的起始值,上下极限值和计数值到达极限时的状态,以及门启动时计数值的状态。在本例中设置起始值为0,上下极限为+/-10000,设置当计数值到达极限时计数器将停止,并且将计数值重置为起始值,将门功能设置为继续计数(图11)。
图11. 设置计数器的上下限及门功能
组态 do 在计数值大于比较值时输出:
该 计数模块内置了两个比较器,可以将计数值与预设的比较值之间进行比较,在 do 特性里面可以设置计数模块本体的两个数字量输出根据比较器的状态做相应的响应。在本例中,将 dq0 设置为当计数值大于比较值且小于上限值时输出,也就是当计数值大于1000且小于10000的时候,第一个数字量dq 会输出为 1 ,同时,比较器的状态还可以在后面的程序块输出管脚的“compresult”中显示(图12)。该参数界面还可以设置do更多的响应特性,具体细节请参 见模板手册。
图12. 组态 do 在计数值大于比较值时输出
调试工艺对象:计数功能中必要的参数基本配置完毕,其他功能如数字量输入/输出,测量等,可根据实际需要来做一定的修改,具体功能和使用方法请参考功能手册。接下来进入计 数功能的调试阶段。计数工艺对象提供了一个可以调试的控制面板,在这个调试界面下可以进行计数器的基本操作和错误诊断。需要注意的是,使用调试界面前,需 要先在主程序中调用高速计数功能块才能正常使用。
将主画面切换到 ob1 编辑界面,从右侧的指令列表里面找到工艺类->;计数和测量,找到 high_speed_counter 功能块并拖拽到程序段中,并在背景数据块中选择之前建立的计数器工艺对象(图13):
图13. 在程序中调用功能块
将项目存盘编译并下载之后,可以通过项目树或者功能块的快捷图标进入到工艺对象的调试功能(图14);
图14. 在程序中调用功能块
进 入调试界面后,首先点击左上角的在线图标切换到在线模式,在在线模式下首先要使能软件门”swgate”,然后观察反馈的门状态”statusgate” 是否为 true,如果为 true 说明计数器已经开始工作,这时候如果有外部脉冲信号的话,计数器将进行计数并将计数值反馈到”countvalue”处(图15)。
图15. 计数器工艺对象的调试界面
故障诊断:
可以通过项目树或功能块上的快捷图标切换到诊断界面。在诊断界面可以看到错误的id、描述和相关的状态位(图16):
图16. 计数器工艺对象的诊断界面
编程:
如果调试面板没有问题可以回到程序块进行编程,程序块的管脚及使用方法与之前的调试面板完全一致,所以非常方便的参考调试面板进行编程(图17),工艺功能块的部分主要参数及功能请参见表02。
图17. 高速计数程序功能块
计数器工艺功能的主要参数:
序号 | 名称 | 功能 |
1 | swgate | 软件门:通过该控制位来控制计数器启动和停止; |
2 | errorack | 错误应答:出现错误并处理错误后通过此控制位来复位故障状态; |
3 | eventack | 事件应答:确认计数器事件状态,如:计数值超限等; |
4 | setcountvalue | 设置计数值:通过该控制位可以将当前计数值更改为其他值,注意:修改值需要写到工艺对象静态变量“newcountvalue”中; |
5 | statushw | 工艺模块状态位: 模块已组态并准备好运行, 模块数据有效; |
6 | statusgate | 门状态位:该状态位反映了内部门的实际状态,只有改状态为为"true"时,计数器才会工作; |
7 | statusup | 增计数状态位:表示当前计数方向为增计数; |
8 | statusdown | 减计数状态位:表示当前计数方向为减计数; |
9 | posoverflow | 超上限状态位:表示当前计数值已经超过设定的计数值上限; |
10 | negoverflow | 超下限状态位:表示当前计数值已经超过设定的计数值下限; |
11 | error | 错误状态位:表示当前计数工艺对象有错误; |
12 | errorid | 错误代码:显示当前工艺对象错误的故障代码; |
13 | countervalue | 计数值:计数器工艺对象的实际计数值; |
表02. 计数器工艺功能的主要参数
7. 通过用户程序修改实际计数值:
在很多情况下都有可能需要人工修改一下当前的实际计数值,这需要首先将要修改的值传送到工艺db的新计数值"newcountvalue"中,然后置位功能块输入管脚“setcountvalue” 则新计数值生效(图18)。具体步骤如下:
(1). 选中左面项目树的"high_speed_couter"工艺对象;
(2). 展开下面的详细视图,则可以看到工艺db中的所有变量;
(3). 找到"newcountvalue"变量,并将其拖拽到用户程序的传送指令输出端;
(4). 将新的计数值传送到"newcountvalue";
(5). 置位功能块输入管脚“setcountvalue” ;
(6). 新的计数值生效。
图18. 通过用户程序修改实际计数值
8. 通过用户程序修改比较值:
同修改实际计数值的方法类似,用户也可以通过用户程序修改该组态里面预制的比较值(图19),具体步骤如下:
(3). 找到"newreferencbbbbue0"变量,并将其拖拽到用户程序中进行赋值;
(4). 找到"setreferencbbbbue0"变量,并将其拖拽到用户程序中进行置位,就可以将刚刚修改的新比较值写到计数器模块中。
图19. 通过用户程序修改比较值
9. 查看工艺对象 db 中的所有变量
上 述查找工艺对象变量的方法适用于 step 7 tia protal v13 以上版本,之前的版本可以通过鼠标右键点击工艺对象名称,选则*下面的"打开 db 编辑器" ,这样可以通过数据视图显示工艺对象 db 里面的所有变量,使用变量的时候可以在用户程序中直接敲入相应的变量名即可(图20)。
图20. 查看工艺对象 db 中的所有变量