西门子PLC与绝对值编码器的连接、实例和如何对编码器编程
关于西门子编码器的内容,今天小编就先给大家分享S7-1200PLC的内容,一起来看看吧!
西门子S7-1200与增量编码器的连接
西门子S7-1200的数字输入开关点均提供了增量编码器脉冲信号的快速计数器功能,单相信号达到200KHz,双相信号(可四倍频及判断方向)达到80KHz,对于常用的2500PPR(每转分辨脉冲数),转速最快达到1920RPM(每分钟转数)。增量编码器的信号为PNP单向开路信号,推荐选型的增量编码器建议为10—30V推挽式输出型,例如GI58N增量型编码器。
西门子S7-1200与绝对值编码器4—20mA信号的连接
绝对值编码器信号不怕干扰,停电数据不会丢失,PLC对于绝对值编码器无需时刻计数,对于CPU扫描无需计算中断时间并节省CPU资源,尤其是现在绝对值编码器的市场价格大幅度下降,同时因数据可靠性的提高,对于使用绝对值编码器可节省调试时间,减少售后服务成本,实际使用效果及性价比已远优于选用增量型编码器,在PLC位置定位中已有越来越多的用户倾向于使用绝对值编码器。
由于S7-1200的经济性,与绝对值编码器的连接首选较为经济和方便的4—20mA信号接口,西门子S7-1200均自带2路4—20mA输入接口,可直接连接2个带有4—20mA输出接口的绝对值编码器。
绝对值编码器分单圈绝对值和多圈绝对值,单圈绝对值编码器是指编码器旋转在360度以内工作,或者0—180度内工作,这样选择的编码器,4mA对应0度,360度(或180度)对应20mA,在PLC内的数据线性对应角度值,每一个数值对应唯一的角度值,该数据无需靠计数,不怕干扰与停电,可直接编程使用。单圈绝对值编码器推荐使用GMS412.LB(代号9400S),该编码器可设定20mA对应的角度值和旋转方向、零点偏置,例如可设定20mA对应180度,编码器工作在0—180度内。
在长度或高度的PLC定位控制中,常需要编码器旋转超过360度的工作范围,就需要选择多圈绝对值编码器了,多圈绝对值编码器的4—20mA输出有两类,一类是固定量程的多圈绝对值,例如16圈、64圈、256圈,即20mA对应值为16圈终点、64圈或256圈,此类编码器较为经济,推荐的型号为GEX60.LB;另一类为智能型多圈绝对值编码器,20mA可设定在1—4096圈中间的任何位置,并可设置零点偏置,推荐的型号为GAX60.LB(代号9600),此款编码器应用极为广泛,已在起重、水利、军工、石油、化工、及各种工业机械等很多领域有大量成功应用。
西门子S7-1200与绝对值编码器RS485或Modbus RTU信号的连接
西门子S7-1200可配置通讯接口RS485,该接口可连接绝对值编码器的RS485信号,包括单圈绝对值和多圈绝对值,绝对值编码器的RS485信号有多种形式,较为常用的有简单型RS485广播模式(主站模式主动广播发送)、带地址由指令发送的自由协议(从站被动模式)、Modbus RTU模式等等,其中如果仅连接一个绝对值编码器,可用编码器主动模式,协议简单信号可靠,而如果要连接多个编码器(总线方式),可选用Modbus Rtu模式,但是该方式因为要轮询,每个编码器返回数据刷新较慢,不适合快速移动的控制。
推荐的主动模式RS485编码器,单圈绝对值的型号为GES38.RDB,或GES60.RDB,或GMS412.LB(代号9400S);多圈绝对值的型号为GEX60.LB(64圈),或GAX60.LB(代号9600)(4096圈)
推荐的被动指令模式RS485编码器(可连接1-9个编码器,含地址),单圈绝对值的型号为GMS412.LB(代号9400S);多圈绝对值的型号为GEX60.LB(64圈),或GAX60.LB(代号9600)(4096圈)。
推荐的Modbus RTU模式的编码器,单圈绝对值的型号为GMS412.RMB;多圈绝对值的型号为GAX60.RMB (4096圈)。
西门子S7-1200与绝对值编码器Profibus-DP信号的连接
西门子S7-1200可配置Profibus—DP总线通讯接口,这个接口为欧系绝对值编码器最常用的输出模式,可选各种欧系进口品牌编码器,包括国产品牌的绝对值编码器,该接口为西门子常用接口,但是该接口编码器成本高,包括配置电缆布线成本都较高,对于1200的经济性已经不合适了,不在此推荐。
实用案例:
西门子S7-1200与绝对值编码器4—20mA信号的连接,做简单定位控制
实用应用介绍一: 水利闸门高度的单机及多机控制,全国各地的防洪、调蓄、供水、排污等水闸的起重高度,由卷扬起重机(启闭机)提升和关闭,每个闸站1-6个闸门启闭机,西门子S7-1200PLC连接绝对值多圈编码器的4—20mA接口,配置HMI,可以很好有效地完成这样的简单定位控制。
编码器可以安装在卷扬机卷筒轴连接,或减速齿轮轴连接,预先计算编码器所需旋转的圈数值,将编码器输出的20mA设定大于该圈数值,例如16圈,这样编码器输出的4—20mA的每变化1mA线性对应卷筒旋转一圈,以此计算闸门提升的高度变化,以控制水闸闸门的开启与关闭高度。选用的编码器型号为上述推荐的GAX60.LB(代号9600),项目应用地点:东北哈尔滨、江苏常州等地多个水闸。
实用应用介绍二: 液压双油缸提升同步控制,较大型的水闸闸门需用左右两个液压油缸动力提升,保持位置同步,以保证闸门的平滑提升与下降。广东某水闸原用闸门开度仪表仅作显示,因原显示仪表的可靠性较低并无法完成液压油缸同步纠偏及升降控制,用户希望用小型经济型PLC加HMI以替换原来的仅作显示的仪表,提高控制可靠性及可编程可控性,PLC选用了西门子S7-1200,编码器选用了绝对值多圈编码器4—20mA信号接口,GAX60.LB(代号9600)2个,分别用机械装置安装与左右两个油缸提升高度相对应,对应设置的油缸高度6米对应20mA,2个4—20mA信号连接S7-1200的模拟量接口,进入PLC对比两组数据,根据高度差控制左右油缸液压系统的电磁阀,调节左右液压油路流量,以调整油缸的提升或下降的速度及位置差,保持两个油缸的同步纠偏的升降控制。西门子S7-1200配套两个绝对值编码器4—20mA接口,很好地完成了这样的同步纠偏及升降控制来源。
如何使用西门子PLC连接编码器并对编码器编程
需要硬件有:
1.PLC西门子S7-1200-CPU1214C/DC/DC/DC、V4.1。
2.编码器:E6B2-CWZ5B,PNP,增量型,1000P/R,如下图:
3.编码器与PLC接线,如下图:
棕色:DC24V+
蓝色:COM
黑色:A,接I0.0
白色:B,接I0.1
橙色:Z,接I0.3
其中AB的接入点可以自己定义,不一定非得是I0.0和I0.1,Z不能更改。
4. 配置高速计数器,如下图:
这里选用HSC1,选择启用高速计数器、计数、A/B计数、增计数。使用默认地址ID1000作为计数器地址,也可以选择其它,占四个字节。
5. 注意所使用的IO通道的滤波器问题,如下图:
老版本CPU在使用高速计数器时屏蔽了滤波,不必考虑,但是V4.1版本的CPU没有屏蔽,所以一定要注意这个滤波和编码器的脉冲频率,如果不合适将被过滤掉。
6. 监控测试结果,如下图:
不必写程序就可以读到了。只有在需要某些特殊功能时才需要些程序,这里不做介绍。
7. 滤波时间和能检测到的最大频率,如下图:
好了,你们平时接触的编码器是哪种?
如何用PLC控制实现编码器的定位功能?
严格来讲,编码器只会告诉你该如何定位,要如何执行,是需要靠数控系统(或者PLC之类控制器)控制伺服或者步进电机来实现定位的,编码器好比人的眼睛,知道电机轴或者负载处于当前某个位置,工业上用的一般是光电类型编码器,下边简单说明一下。
01 简单说下编码原理和位置测量
光电编码器是在一个很薄很轻的圆盘子上,通过紧密仪器来腐蚀雕刻了很多条细小的缝,相当于把一个360度,细分成很多等分,比如成1024组,这样每组之间的角度差是360/1024度=0.3515625度。
然后有个精密的发光源,安装在码盘的一面,码盘的另外一面,会有个接收器之类的,使用了光敏电阻这些元件加放大和整形电路组成,这样码盘转动时候,有缝隙的地方会透光过去,接收器会瞬间收到光脉冲,经过电路处理后,输出一个电脉冲信号,这样码盘旋转了一周,会对应输出1024个脉冲,第一个脉冲位置如果是0,第二个脉冲位置就是0.3515625°,第三个脉冲位置是0.3515625°*2,以此类推,这样只要有仪器能读到脉冲个数,就可以知道码盘对应在什么位置了,如果把编码器安装到电机的轴上,电机轴和码盘是刚性连接,两者的位置关系会一一对应,通过读编码器脉冲,就可以知道电机的轴位置。
而电机轴,比如会通过同步带,齿轮,链条等带动一些负载,比如控制丝杆,这样会有个所谓电子齿轮比的关系,电机转一圈,丝杆会前进多少毫米,这样读到了对应编码器上输出多少给脉冲,通过脉冲数就可以反推出当前丝杆的位置。
但是编码器是圆的,如果无限制旋转下去,角度会无穷大,所以设计了一种增量型的编码器,转一圈,会输出三组信号ABZ,其中AB是一样的脉冲,比如上边说的一圈有1024个脉冲,AB相脉冲对应一圈内的圆周角度,而且两种脉冲是处于正交状态的,如果是正反转,通过判断AB相脉冲的上升沿和下降沿的先后顺序,就可以知道编码器当前是顺时针还是逆时针方向旋转的。
另外有个Z相脉冲,是因为圆周虽然会不停转下去,角度会无穷无尽,但是都是一周一周的重复而已,零相脉冲固定在圆周某个位置,编码器每转一圈,只输出一个零相脉冲,这样如果以Z相脉冲为基准点,这样每次读到这个脉冲时候,系统就清零一次,就可以让角度最大值控制在360°以内,相当于一个零基准点了。
这样即使系统断掉了,重新上电,只要能找到这个基准点,就可以知道丝杆的初始位置在什么地方了。
以上这种定位叫增量坐标系,所以编码器就是增量型编码器,应用比较广泛,因为灵活而且价格便宜。
如果只设备只需要转一圈的,也就是角度在360°内的,编码器可以细分精密一点,比如有13位,相当于2^13次方个脉冲一圈,对应着360°,这种脉冲数和角度一一对应,不怕系统断电需要重新调整零位,这种编码器叫单圈绝对值编码器。如果负载需要转多圈的,但是这个圈数也不能非常多,比如5圈,相当于5*360°=1800°,这样脉冲和1800°一一对应,这些在一些高档的数控机床上应用比较多,可以知道丝杆或者一些旋转工作的当前精密位置,而且不用担心系统断电归零问题。
此外,编码器还有磁电方式的,比如在码盘上加工了很多个南北间隔的小磁铁,通过霍尔去读小磁铁信号,输出信号,同样经过放大和整形变成了电脉冲,这点和光电编码器是类似的,而且价格会便宜点,可靠性会高,但是精度就比光电要差点。
02 PLC如何通过编码器判断位置
PLC能输入开关量,也就是一高一低的电平电压,而编码器脉冲信号,可以理解一定时间内,用极快的速度完成的一组开关量。但是因为这种开关量的频率太高了,所以PLC的普通I/O口是无法准确读到这些脉冲的个数的,因为PLC工作过程中存在扫描周期,需要每个一段时间才去刷新一下普通I/O口的数据,而编码器的精度太高了,单位时间内输出的脉冲个数太多,普通I/O是无法胜任的。
一般PLC会设计有高速计数端口,本质是利用了底层单片机的硬件逻辑来完成这些编码器计数的,避开了扫描周期问题,PLC都设计有专门的高速计数指令,使用的时候,直接调用这些指令就可以读到当前的脉冲值了。
但是脉冲的计算和输出上,由于扫描周期存在,往往也会存在着滞后影响,如果用来控制一些执行机构,比如气缸来动作裁切动作,这样要考虑提前量的补偿问题。
提醒一下,如果想用PLC来控制伺服或者步进系统,往往并不需要通过编码器反馈来判断位置,通过一些PLS指令之类的来发出位置脉冲给伺服驱动器,位置环在伺服驱动器内部构成就好,而PLC这边只是一个指令机构,并没有构成位置闭环,当然如果是专门定位模块控制,使用了NC之类的控制方式,是可以在里边构建位置闭环的。
↓技成PLC课堂专属学习资料
相关问答
伺服电机编码器如何与PLC连接?
是这样子的,PLC本身就有高速脉冲输出功能,是专门控制伺服电机或者步进电机的,具体怎么控制怎么编程怎么接线详见PLC使用手册和伺服说明书,然后PLC还有高速计...
plc怎么连接和控制伺服电机-霓为衣summer的回答-懂得
plc连接和控制伺服电机通过专用的数据线,就可以将他们有机的联系起来,构成一套比较完整的自动化控制系统,其连接顺序如图所示:就伺服驱动器的响应速...
plc怎么连接和控制伺服电机-184****9185的回答-懂得
通过专用的数据线,可以将plc和控制伺服电机有机的联系起来,构成一套比较完整的自动化控制系统,其连接顺序如图所示:伺服驱动器的响应速度,转矩模式...
伺服电机编码器线怎么接?
一、接线方法:编码器有5条引线,其中3条是脉冲输出线,1条是COM端线,1条是电源线(OC门输出型)。编码器的电源可以是外接电源,也可直接使用PLC的DC24V电...伺服...
plc手轮控制伺服电机程序如何编写?
编写PLC控制伺服电机的程序,首先需要了解伺服电机的控制需求,包括位置控制、速度控制和加速度控制等。然后,根据控制需求,使用PLC编程语言(如LadderLogic、...
plc如何控制伺服电机?
你好,PLC可以通过以下步骤来控制伺服电机:1.首先,需要将伺服电机连接到PLC的数字输出端口或模拟输出端口。2.然后,在PLC中设置输出信号的频率和幅度,以...
三菱pLC怎样与伺服电机驱动器接线?
三菱PLC与伺服电机驱动器的接线需要根据具体的型号和规格进行选择,一般需要连接伺服电机驱动器的控制信号线、电源线、编码器反馈线等。在接线前需要仔细阅读...
编码器Z相接伺服驱动还是接PLC?
应该接PLC,不能接伺服的。接伺服应该是A,B应该接PLC,不能接伺服的。接伺服应该是A,B
西门子plc控制伺服电机的方法及举例(最好带有梯形图讲解)-ZO...
●直接设定参考点(SetReference):对任意编码器均可。●主动回零(Referencepointapproach):主要指增量编码器●动态回零(FlyingReferen...
用变频器控制伺服电机,如何读取伺服电机编码器反馈信号到plc?
你用的是西门子的伺服电机吗?好像西门子习惯上称呼“变频器”,不管是带普通电机的还是带伺服电机的都这样叫。实际上,带伺服电机的叫伺服驱动器或伺服放大器要...