旋转增量值编码器
旋转增量值编码器以转动时输出脉冲,通过计数设备来计算其位置,当编码器不动或停电时,依靠计数设备的内部记忆来记住位置。这样,当停电后,编码器不能有任何的移动,当来电⼯作时,编码器输出脉冲过程中,也不能有⼲扰⽽丢失脉冲,不然,计数设备计算并记忆的零点就会偏移,⽽且这种偏移的量是⽆从知道的,只有错误的⽣产结果出现后才能知道。 解决的⽅法是增加参考点,编码器每经过参考点,将参考位置修正进计数设备的记忆位置。在参考点以前,是不能保证位置的准确性的。为此,在⼯控中就有每次操作先参考点,开机零等⽅法。
这样的⽅法对有些⼯控项⽬⽐较⿇烦,甚⾄不允许开机零(开机后就要知道准确位置),于是就有了绝对编码器的出现。绝对编码器光码盘上有许多道光通道刻线,每道刻线依次以2 线、4 线、8 线、16线。。。。。。编排,这样,在编码器的每⼀个位置,通过读取每道刻线的通、暗,获得⼀组从2 的零次⽅到2 的n-1 次⽅的唯⼀的2 进制编码(格雷码),这就称为n 位绝对编码器。这样的编码器是由光电码盘的机械位置决定的,它不受停电、⼲扰的影响。绝对编码器由机械位置决定的每个位置是唯⼀的,它⽆需记忆,⽆需参考点,⽽且不⽤⼀直计数,什么时候需要知道位置,什么时候就去读取它的位置。这样,编码器的抗⼲扰特性、数据的可靠性⼤⼤提⾼了。 旋转单圈绝对值编码器,以转动中测量光电码盘各道刻线,以获取唯⼀的编码,当转动超过360 度时,编码⼜回到原点,这样就不符合绝对编码唯⼀的原则,这样的编码只能⽤于旋转范围360 度以内的测量,称为单圈绝对值编码器。如果要测量旋转超过360 度范围,就要⽤到多圈绝对值编码器。编码器⽣产⼚家运⽤钟表齿轮机械的原理,当中⼼码盘旋转时,通过齿轮传动另⼀组码盘(或多组齿轮,多组码盘),在单圈编码的基础上再增加圈数的编码,以扩⼤编码器的测量范围,这样的绝对编码器就称为多圈式绝对编码器,它同样是由机械位置确定编码,每个位置编码唯⼀不重复,⽽⽆需记忆。多圈编码器另⼀个优点是由于测量范围⼤,实际使⽤往往富裕较多,这样在安装时不必要费劲零点,将某⼀中间位置作为起始点就可以了,⽽⼤⼤简化了安装调试难度。
绝对值编码器长度测量的应⽤
⼀.绝对值旋转编码器的机械安装:
绝对值旋转编码器的机械安装有⾼速端安装、低速端安装、辅助机械装置安装等多种形式。
1.⾼速端安装:
安装于动⼒马达转轴端(或齿轮连接),此⽅法优点是分辨率⾼,由于多圈编码器有4096圈,马达转动圈数在此量程范围内,可充分⽤⾜量程⽽提⾼分辨率,缺点是运动物体通过减速齿轮后,来回
程有齿轮间隙误差,⼀般⽤于单向控制定位。另外编码器直接安装于⾼速端,马达抖动须较⼩,不然易损坏编码器。
2.低速端安装:
安装于减速齿轮后,如卷扬钢丝绳卷筒的轴端或最后⼀节减速齿轮轴端,此⽅法已⽆齿轮来回程间隙,测量较直接,精度较⾼。另外,GPMV0814 机械转数为90 圈,⽤此⽅法较合理,如果卷筒转数超过90 圈,可⽤1:3 或1:4 齿轮组调整⾄转数测量范围内。
3.辅助机械安装,收绳机械安装:
收绳机械有弹簧⾃收绳位移传感器――柔性钢丝绳连接运动物体,钢丝绳盘紧在⼀个测量轮上,依靠恒⼒弹簧回收钢丝绳。编码器连接于盘紧测量轮轴端,测量钢丝绳来回运动的旋转⾓度。
重锤重⼒收绳:
重锤浮⼦⽔位测量⽰意图
绝对值编码器信号输出有并⾏输出、串⾏输出、总线型输出、变送⼀体型输出
1.并⾏输出:
绝对值编码器输出的是多位数码(格雷码或纯⼆进制码),并⾏输出就是在接⼝上有多点⾼低电平输出,以代表数码的1 或0,对于位数不⾼的绝对编码器,⼀般就直接以此形式输出数码,可直接进⼊PLC 或上位机的I/O 接⼝,输出即时,连接简单。但是并⾏输出有如下问题:
a.必须是格雷码,因为如是纯⼆进制码,在数据刷新时可能有多位变化,读数会在短时间⾥造成错码。
b.所有接⼝必须确保连接好,因为如有个别连接不良点,该点电位始终是0,造成错码⽽⽆法判断。
c.传输距离不能远,⼀般在⼀两⽶,对于复杂环境,最好有隔离。
d.对于位数较多,要许多芯电缆,并要确保连接优良,由此带来⼯程难度,同样,对于编码器,要同时有许多节点输出,增加编码器的故障损坏率。
2.串⾏SSI 输出:
串⾏输出就是通过约定,在时间上有先后的数据输出,这种约定称为通讯规约,其连接的物理形式有RS232、RS422(TTL)、RS485 等。由于绝对值编码器好的⼚家都是在德国,所以串⾏输出⼤部分是与德国的西门⼦配套的,如SSI 同步串⾏输出。
3.现场总线型输出
混合交换现场总线型编码器是多个编码器各以⼀对信号线连接在⼀起,通过设定地址,⽤通讯⽅式传输信号,信号的接收设备只需⼀个接⼝,就可以读多个编码器信号。总线型编码器信号遵循RS485 的物理格式,其信号的编排⽅式称为通讯规约,⽬前全世界有多个通讯规约,各有优点,还未统⼀,编码器常⽤的通讯规约有如下⼏种:PROFIBUS-DP; CAN; DeviceNet; Interbus 等总线型编码器可以节省连接线缆、接收设备接⼝,传输距离远,在多个编码器集中控制的情况下还可以⼤⼤节省成本。
4.变送⼀体型输出
我公司提供的GPMV0814、GPMV1016 绝对编码器,其信号已经在编码器内换算后直接变送输出,其有模拟量4—20mA 输出、RS485数字输出、14 位并⾏输出。
三.连接绝对编码器的电⽓⼆次设备:
连接绝对值编码器的设备可以是可编程控制器PLC、上位机,也可以是专⽤显⽰信号转换仪表,由仪表再输出信号给PLC 或上位机。1.直接进⼊PLC 或上位机:
编码器如果是并⾏输出的,可以直接连接PLC 或上位机的输⼊输出接点I/O,其信号数学格式应该是格雷码。编码器有多少位就要占⽤PLC 的多少位接点,如果是24 伏推挽式输出,⾼电平有效为1,低
电平为0;如果是集电极开路NPN 输出,则连接的接点也必须是NPN 型的,其低电平有效,低电平为1。
2.编码器如果是串⾏输出的,由于通讯协议的限制,后接电⽓设备必须有对应的接⼝。例如SSI 串⾏,可连接西门⼦的S7-300 系列的PLC,有SM338 等专⽤模块,或S7-400的FM451 等模块,对于其他品牌的PLC,往往没有专⽤模块或有模块也很贵。
3.编码器如是总线型输出,接受设备需配专⽤的总线模块,例如PROFIBUS-DP。但是,如选择总线型输出编码器,在编码器与接收设备PLC 中间,就⽆法加⼊其他显⽰仪表,如需现场显⽰,就要从PLC 再转出信号给与信号匹配的显⽰仪表。有些协议⾃定义的RS485 输出信号进PLC 的RS485 接⼝,需PLC 具有智能编程功能。
4.连接专⽤显⽰转换仪表:针对较多使⽤的SSI 串⾏输出编码器,我公司提供专⽤的显⽰、信号转换仪表,由仪表进⾏内部解码、计算、显⽰、信号转换输出,再连接PLC 或上位机。其优点如下:
a.现场可以有直观的显⽰,直接在仪表上设置参数。
b.专⽤程序读码解码、容错、内部计算,可以⼤⼤减少各个项⽬的编程⼯作量,提⾼稳定和可靠性。信号输出是由内部数字量直接计算,快速、准确。
c.信号输出有多种形式,灵活⽅便,后⾯可连接各种PLC 或上位机,通⽤性强。
GPMV0814、GPMV1016 三位⼀体型GPMV0814 绝对多圈编码器,其光电码盘读码解码、显⽰设定、信号转换三位⼀体,输出4—20mA 模拟量、并⾏数字量RS485 通讯可同时输出,连接各类PLC 和上位机。⼀般的应⽤,可选同时两组输出型,⼀组信号连接PLC,另⼀组连接显⽰仪表,如需要增加开关输出,可从显⽰仪表设定输出。
S7-300沒有現成的轉換功能塊,我使⽤了富⼠的SPH 編寫了⼀個功能塊,由于富⼠的和西⾨⼦都⽀持IEC61131-3 編程規范,那么應該很簡單的轉換為西⾨⼦的功能塊。在精确定位控制系统中,为了提⾼控制精度,准确测量控制对象的位置是⼗分重要的。⽬前,测量位置的⽅法主要有2 种,其⼀是使⽤位置传感器,此⽅法精度⾼,但是在多路,长距离位置监控系统中,由于成本昂贵且安装困难,因此并不实⽤。其⼆是采⽤光电轴⾓编码器进⾏精确位置控制,光电轴⾓编码器根据其刻度⽅法及信号输出形式,可分为增量式、绝对式以及混合式三种。⽽绝对式编码器是直接输出数字量的传感器,它是利⽤⾃然⼆进制或循环⼆进制(格雷码)⽅式进⾏光电转换的,编码的设计⼀般是采⽤⾃然⼆进制码、循环⼆进制码、⼆进制补码等。特点是不要计数器,在转轴的任意位置都可读出⼀个固定的与位置相对应的数字码;抗⼲扰能⼒强,没⽤累积误差;电源切断后位置信息不会丢失,但分辨率是由⼆进制的位数决定的,根据不同的精度要求,可以选择不同的分辨率即位数。⽬前有10 位、11 位、12 位、13 位、14 位或更⾼位等多种。其中采⽤循环⼆进制编码(即格雷码)的绝对式编码器,其输出
隧道烘箱验证方案信号是⼀种数字排序,不是权重码,每⼀位没有确定的⼤⼩,不能直接进⾏⽐较⼤⼩和算术运算,也不能直接转换成其他信号,要经过⼀次码变换,变成⾃然⼆进制码,在由上位机读取以实现相应的控制。⽽在码制变换中有不同的处理⽅式,本⽂着重介绍富⼠SX 系列中使⽤编程的
⽅法对⼆进制格雷码与⾃然⼆进制码的互换。
A、格雷码(⼜叫循环⼆进制码或反射⼆进制码)
介绍在数字系统中只能识别0 和1,各种数据要转换为⼆进制代码才能进⾏处理,格雷码是⼀种⽆权码,采⽤绝对编码⽅式,典型格雷码是⼀种具有反射特性和循环特性的单步⾃补码,它的循环、单步特性消除了随机取数时出现重⼤误差的可能,它的反射、⾃补特性使得求反⾮常⽅便。格雷码属于可靠性编码,是⼀种错误最⼩化的编码⽅式,因为,⾃然⼆进制码可以直接由数/模转换器转换成模拟信号,但某些情况,例如从⼗进制的3 转换成4 时⼆进制码的每⼀位都要变,使数字电路产⽣很⼤的尖峰电流脉冲。⽽格雷码则没有这⼀缺点,它是⼀种数字排序系统,其中的所有相邻整数在它们的数字表⽰中只有⼀个数字不同。它在任意两个相邻的数之间转换时,只有⼀个数位发⽣变化。它⼤⼤地减少了由⼀个状态到下⼀个状态时逻辑的混淆。另外由于最⼤数与最⼩数之间也仅⼀个数不同,故通常⼜叫格雷反射码或循环码。下表为⼏种⾃然⼆进制码与格雷码的对照表:
抗震支架重量B、⼆进制格雷码与⾃然⼆进制码的互换
1、⾃然⼆进制码转换成⼆进制格雷码
⾃然⼆进制码转换成⼆进制格雷码,其法则是保留⾃然⼆进制码的最⾼位作为格雷码的最⾼位,⽽次⾼位格雷码为⼆进制码的⾼位与次⾼位相异或,⽽格雷码其余各位与次⾼位的求法相类似。
例如:
⾃然⼆进制编码如下:
1
1
那么转换为格雷码的⽅法是:保留最⾼位1,然后将第⼆位0 与第⼀位1做异或操作,第三位的0 与第⼆位的0 做异或操作,第四位的1 与第三位的0 做异或操作,得到结果如下:
1 1 0 1 Gray
2、⼆进制格雷码转换成⾃然⼆进制码
⼆进制格雷码转换成⾃然⼆进制码,其法则是保留格雷码的最⾼位作为⾃然⼆进制码的最⾼位,⽽次
⾼位⾃然⼆进制码为⾼位⾃然⼆进制码与次⾼位格雷码相异或,⽽⾃然⼆进制码的其余各位与次⾼位⾃然⼆进制码的求法相类似。
例如将格雷码1000 转换为⾃然⼆进制码:
1
1
1
1
1
上排为格雷码,下排为⾃然⼆进制,从左到右分别为1~4 位将上排的第⼀位⾼位作为⾃然⼆进制的最⾼位,因此在下排的第⼀位填⼊1,然后以上排第⼆位与下排第⼀位做异或操作,得到下排第⼆位结果为1,将上排第三位与下排第⼆位做异或操作,得到下排第三位的结果为1,同理,下排第四位的结果为1,因此,我们得到了转换结果如下:1 1 1 1 Bin
C、⾃然⼆进制码与格雷码互换在富⼠SX 系列PLC 中的实现⽅法:
1.⾃然⼆进制码转换为格雷码:
根据⾃然⼆进制码转换为格雷码的转换规则,实际上就是将转换数右移⼀位后与转换数做异或操作。程序流程图如下:
保存输⼊数 TEMP;将TEMP 右移⼀位,保存SHILETEMP;将移位后的数据与原数据作异或;返回异或后的数据
功能块中的程序如下:
INPUT 输⼊变量类型为DWORD
TEMP 局部变量类型为DWORD
SHILETEMP 局部变量类型为DWORD
BIN_TO_GRAY 功能块返回变量返回类型为DWORD
BIN_TO_GRAY:
TEMP:=INPUT;
SHILETEMP:=SHR_DWORD(TEMP,UNIT#1);
BIN_TO_GRAY:=SHILETEMP XOR INPUT;
2. 格雷码转换为⾃然⼆进制码
根据格雷码转换为⾃然⼆进制码的转换规则,实际上就是不断的将格雷码与⼆进制数做异或操作,也就是说,不断的和本⾝的不同位数做
异或操作,如原数据为32 位的A,那么先将A 向右移动⼀位,与本⾝进⾏异或,然后保留值为B,那么继续将A 向右移动⼀位,与B 进⾏异或,保留为C,依次类推,直到A=1 为⽌。程序流程图如下:
保存输⼊数 TEMP,INPUT1;如果输⼊数为0,那么直接返回数据0 后退出;如果TEMP 不等于1,那么循环,否则返回数据;TEMP 右移1 位,与输⼊值作不断异或
功能块中的程序如下:
INPUT 输⼊变量类型为DWORD
TEMP 局部变量类型为DWORD
INPUT1 局部变量类型为DWORD
GRAY_TO_BIN 功能块返回变量返回类型为DWORD
GRAY_TO_BIN:
TEMP:=INPUT;
INPUT1:=INPUT;
IF TEMP=DWORD#0 THEN
INPUT1:=DWORD#0;
GRAY_TO_BIN:=INPUT1;
RETURN;
END_IF;
耳包WHILE TEMP<>DWORD#1 DO
TEMP:=SHR_DWORD(TEMP,UINT#1);
INPUT1:=TEMP XOR INPUT1;
END_WHILE;
GRAY_TO_BIN:=INPUT1;
上述代码在富⼠的SX 系列PLC 中试验没有问题,由于富⼠的SX 系列PLC
完全⽀持ST 代码⽅式的编程,因此基本上可以不做修改的应⽤在西门⼦
的S7 系列的PLC 中。
由于三菱的PLC 中已经包含了⾃然⼆进制码转换为格雷码指令GRY 以及
格雷码转换为⾃然⼆进制码指令GBIN ,因此上述代码应⽤于三菱系列的
PLC 已经没有意义,请使⽤三菱PLC 本⾝附带的指令,因为西门⼦以及富
自动拖把⼠的SX 系列PLC 并没有附带转换指令,因此本⼈书写了上述代码⽤于补
细胞培养工作站
充SX 系列的指令不⾜。