张清
摘 要:本文介绍了一种PLC高速计数模块的一种设计方法,内容包括了应用高速模块所需要的软件,硬件环境,并用工程实例加以说明。
关键词:高速计数;PLC;测量
1 引言
随着生产力的不断发展和自动化程度的持续提高,在很多场合中,普通的计数模式对高速脉冲信号的处理已经提出了更高的要求。比如说普通的PLC受扫描周期的限制,只能处理几十Hz的脉冲信号,为此很多厂家为PLC配套开发了高速计数模块,如西门子的FM350-2,罗克韦尔的1746-HSCE2,施耐德的TSX CTY 2A/4A/2C等等。他们可以对几十KHz,甚至上MHz的脉冲信号进行计数处理。本文将以施耐德的TSX CTY 4A为例讲述高速计数器的应用实现,包括硬件配置,软件设置,外围电路构建及其应用实例。
2 TSX CTY 4A的硬件配置和软件设置
TSX CTY 4A主要是配合施耐德中型PLC Premium而推出的产品,该产品使用现今流行的插槽式,模块化设计,他一出现就以其稳定的性能和其强大的兼容性在PLC控制系统中占据了一席之地。
2.1 TSX CTY4A的硬件描述
TSXCTY4A的硬件主要由两部分组成,第一部分4通道,SUB D15针的4通道计数输入通道,通道最高可接受40KHz的信号,输入兼容增量型编码器,5V或10至30VDC均可。第二部分为HE10标准的20针辅助输入输出接口,主要用于复位计数器,设定计数器预设值,捕获计数器的当前值,输出至外部继电器。
2.2 TSX CTY 4A的硬件配置
TSX CTY 4A使用Unity Pro进行硬件配置,Unity Pro主要使用图形拖拽式来添加硬件,并提供丰富的选项供使用者进行基本配置
2.3 TSX CTY 4A的软件设置
如果需要在Unity Pro中调用所配置的高速计数模块,还需要在软件中做一些配置,在变量申明表中创建变量名,名称可以任意定义,选择相应的高速计数类型,然后将对应的硬件地址输入到地址栏中,这样就完成了软件上的设置。这个变量实际上是一个变量组,如果展开这个变量组,你将看到这个地址上所有的和高速计数有关的变量,通过这些变量实现对高速计数接口进行参数设定,调用等等。
3 TSX CTY 4A的高速计数模式
TSX CTY 4A模块对于每个通道有三个计数输入:IA、IB 和IZ,如图一所示,不能更改这些输入的位置。在使用模块时,对应不同的应用要求,三个计数输入担负着不同的功能。下面会介绍下3种不同的计数模式。
3.1 IA加/减计数,方向取决于IB
在IA引脚上脉冲的上升沿进行加/减计数,当IB为1时,进行加计数,当IB为0时,进行减计数。
3.2 IA加计数,IB减计数
加/减计数器考虑当前物理输入的上升沿上的脉冲。IA输入递增计数器(加计数)而IB输入递减此计数器(减计数)。如果两个输入上的脉冲是同步的,则加/减计数器不发生更改。
3.3 递增编码器,通过IA IB两个计数输入配合,来确定该计数通道的状态
在此操作模式下,物理输入IA和IB连接到一个递增编码器,此递增编码器提供两个成900的相位抵消信号。输入IA和IB相位抵消的程度决定加/减计数的方向。如果IA先于IB 900的相位,则为加计数,反之IA晚于IB 900的相位,则为减计数。
另外在选择了递增编码器后,还有一个选项是选择乘数(1或者4),通过选择数乘4,可以将计数的精度增加4倍。
4 TSX CTY计数模块的应用实例
4.1 任务要求及模型建立
此例为高速计数模块测量距离的应用,任务要求测量过载继电器的三个双金属触头至参考点O的距离,从而为剪切脱扣器提供参考。为了更直观地理解任务的要求和解决的方案,做出模型图来解释,如图二所示。
4.1.1 硬件介绍
红宝石测量头M1,M2,M3
此测量头品牌为Ranishaw,型号为PH1,此测量头在三坐标测量设备中应用较为广泛,主要特点是触发灵敏,而且由于头部使用红宝石,有很强的硬度,所以在使用寿命上和精度上都表现优异。
力传感器F1
此力传感器品牌为Kistler,型号为9203,此传感器要配合Kistler的力传感器适配器5855B21一起使用,主要特点是灵敏度高,能感测0.1g的微小力。
步进电机
对于精确测量,步进电机作为所有机构的驱动,是有精度要求的,在本实例中电机配合滚珠丝杆,最终要求达到1微米的精度,此处选择了PHYTRON品牌的步进电机和精密滚珠丝杆。
位移传感器D1,D2,D3
此位移传感器品牌为Heidenhain ST3078,内部检测单元为光栅尺,测量精度为±1微米,信号输出为TTL电平,需要配合高速计数模块使用,通过高速计数模块内嵌的指令来获取测量值。
4.1.2 模型功能介绍
4.1.2.1 测量系统的标定
标定的目的是要得到a,b,c的值。在标定模式下,我们需要一个标准件,此标准件的外形与产品相似,通过三坐标测量,此标准件的l1,l2,l3已知,标定步骤为1.步进电机往左运动,直至触发力传感器F1。2.将位移传感器D1,D2,D3复位为0。3.步进电机往右运动。4.在运动的过程中将会触发红宝石探头,如果触发了M1,就捕获D1的值为d1,触发M2,捕获D2的值为d2,触发M3,则捕获D3的值为d3。最终可以得到结果:a=l1+d1, b=l2+d2,c=l3+d3。
4.1.2.2 常规测量
常规测量时,a,b,c的值通过标定过程已知,测量步骤为1.步进电机往左运动,直至触发力传感器F1。2.将位移传感器D1,D2,D3复位为0。3.步进电机往右运动。4.在运动的过程中将会触发红宝石探头,如果触发了M1,就捕获D1的值为d1,触发M2,捕获D2的值为d2,触发M3,则捕获D3的值为d3。所示,最终可以得到结果:l1=a-d1,l2=b-d2,l3=c-d3。
4.2 构建硬件电路图
为了快速响应位移传感器,准确及时得捕获位移传感器的读值,在硬件电路设计时,对于位移传感器的读取,复位都采用硬件中断触发,这样可以避免由于PLC软件程序段的冗长而影响数据处理的速度。使得测量系统能正确的反映测量值,电路示意图如图三所示。
4.3 任务的软件实现
在软件设计时,由于位移传感器的读取复位都已经使用了硬件触发模式,所以只要确立好软件读取的时机即可,相对来说就容易设计,保证每次测量结束的周期里,将寄存器里的读值取出即可。程序的编写可以多种方式,下面以指令语句为例。
第一步:启动步进电机往左运动
IF Re(Start_measure) then
SMOVE(%ch0.6.0,2,91,9,-10000,5000,0);
End_If;
第二步:步进电机往左运动后,一旦触发力传感器F1,位移传感器D1,D2,D3通过辅助输入输出接口的信号复位为0,然后电机往右运动
IF (D1_Rst_Ok and D2_Rst_Ok and D3_Rst_Ok and F1_Force_Reach) then
SMOVE (%ch0.6.0, 2, 91, 9,12000, 5000, 0);
End_If;
第三步:步进电机在往右的过程中将会触发红宝石探头,硬件启动捕获,软件适时读取寄存器的读值,至红宝石均触发后,测量完成
IF (M1_Reach and M2_Reach and M3_Reach) then
End_Measure:=1;
Measure_Value1:=D1_Capt;
Measure_Value2:=D2_Capt;
Measure_Value3:=D3_Capt;
End_If;
最后,通过简单的换算,很容易得到最终的l1,l2,l3的值
5 结语
本文论述了在PLC控制系统下,应用高数计数模块实现精确测量的一种设计思路。该设计整体测量精度高,系统稳定,速度快,适合用于快节奏的流水生产线上。
[参考文献]
[1]施耐德公司.使用Unity Pro的Premium和Atrium计数器模块用户手册.05/2010.
[2]施耐德公司.Unity Pro程序语言和结构参考手册.05/2010.