——可——编——程——控-制-器-技——术——门——户
1 引言P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
绝对值位置控制系统对于经常使用的点位控制系统来说,是一种非常方便实用的位置控制方式。一旦原点设置后,完毕每次停电后开机时,这种系统不需要回原点,大大方便了操作。三菱mr-j2s-a系列的伺服系统和三菱fx2n系列plc是在实际中经常用到的伺服系统和控制器,本文讨论在某些特殊的应用场合,如何应用它们来构建一个绝对值位置控制系统。WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
WW.W_PLCJS_COM-PLC-技.术_网
2 控制任务简介P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
这是一个实际使用的控制任务,参见图1示意。a点是设备的原始位置,b点是设备的工作位置。开始工作后,设备以位置控制方式移到工作位置b,然后,设备从b以速度控制方式点向a点移动。在移动过程中,执行一些其他的任务,当这些任务完成后在a与b之间的任一位置c点停止。然后以位置控制方式回到原始位置a点,这样整个工作循环结束。WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
——可——编——程——控-制-器-技——术——门——户
WWW_PLC※JS_COM-PmLC-技.术_网
P.L.C.技.术.网——可编程控制器技术门户
图1 控制任务P.L.C.技.术.网——可编程控制器技术门户
2.1 控制平台WWW_PLCJS_COM-PLC-技.术_网
三菱j2s-a系列的伺服系统和三菱fx2n系列plc的功能和特性:三菱mr-j2s-a系列的伺服系统中伺服电机的编码器为每转为131072线的绝对值编码器,伺服驱动器能够在停电情况下记住伺服电机的当前位置。该伺服系统有位置控制、速度控制和转矩控制三种运行方式。同时该伺服系统内置绝对位置专用传输协议,如果菱mr-j2s-a系列的伺服系统工作在位置方式,则可配合fx2n系列plc的dabs(读绝对位置)指令,在伺服驱动器通电后伺服on(son信号)有效时,plc中读出伺服电机的当前位置。但仅在son信号接通时的上升沿开始传输当前伺服电机位置一次,在son信号接通以后将不再传输伺服电机的当前绝对位置。伺服电机的当前绝对位置由位置控制装置(如fx2n-1pg模块)根据发出的脉冲数来确定。这实际上是一个开环控制系统。在不发生报警或者脉冲传输不受到干扰的情况下,整个位置控制系统的位置将不会丢失。如果工作在速度控制方式则不能在son接通时读取伺服电机的绝对位置,在整个工作过程中,也无法确定取伺服电机的绝对位置。图2是典型的位置控制系统配置图。W1WW_P4LCJS_COM-PLC-技.术_网
P.L.C.技.术.网——可编程控制器技术门户
WWcW_PLCJS_COM-PLC-技.术_网
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
图2 系统配置WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
2.2 任务分析WWW_P※LCJS_COM-PLC-)技.术_网
在本任务中,伺服驱动器将工作在位置控制和速度控制两种方式。a点和b点的定位操作,要求控制系统必需记住伺服电机的位置,但由于b点与c点之间的速度运行方式,使得传统的控制系统不能获知伺服电机的位置。因为尽管在位置方式位置控制器能确定伺服电机的位置,但在伺服驱动器从位置方式转变为速度方式后,位置控制器将不起作用,所以也无法确定伺服电机的位置。由于在整个控制过程中,既有位置控制方式,又有速度控制方式,所以典型的传统控制配置将不能满足本控制任务,必须采用一种新的控制方式来实现控制。plcjs.技.术_网
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
3 控制方案的硬件配置WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
上述问题的基本解决思路是通过plc与伺服驱动器的通讯方式,来实时读取伺服电机的当前实际位置,这样不管伺服系统处于位置控制方式,还是在速度控制方式,控制系统都能知道伺服电机的当前位置,从而使系统能正确地定位在a点和b点。通过查阅资料,我们了解到三菱j2s系列伺服系统除了内置绝对位置专用传输协议外,还内置了三菱伺服通讯协议;三菱fx2n系列内置了无协议通讯指令(rs指令),所以我们可使用rs指令根据伺服驱动器的通讯协议来读取电机当前位置。图3是控制系统框图。WWcW_PLCJS_COM-PLC-技.术_网
WWW.PLCJS.COM——可编程控制器技术门户
——可——编——程——控-制-器-技——术——门——户
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
图3 系统框图WWW_PL※CJS_COM-PLC-技.术_网
在图3中,fx2n系列plc为主控制器,扩展特殊模块fx2n-1pg为定位模块,其输出为频率和脉冲数可控的定位脉冲。当plc主系统通过通讯方式获得伺服电机当前位置的前提下,能在定位指令的驱动下,驱动伺服电机到给定位置;扩展特殊模块fx2n-4da模拟量输出模块,其输出为0到正负10v的电压信号;fx2n-485bd为485通讯卡,它和mr-j2s-a伺服驱动器的rs-422相连;fx2n主机通过485bd-rs422口与伺服驱动器进行通信,读取伺服电机的当前绝对位置。当处于位置控制方式时,电机由fx2n-1pg定位模块发出的定位脉冲来控制,包括其运转速度和目标位置。当位置/速度切换信号有效时,伺服驱动器切换为速度控制方式,由模拟量模块输出的0到正负10v来控制其速度大小和运动方向。安装在plc主机上的485通讯卡与伺服驱动器上rs-422口进行通讯,随时读取伺服电机的当前绝对位置值。WWW_PLC※JS_COM-PmLC-技.术_网
WWW_PLCJS_COM-PLC-技.术_网
4 控制软件编制WWW.PLCJS.COM——可编程控制器技术门户
在本控制系统的软件中,主要是通讯程序的编制。其他一些如定位控制、位置速度控制方式的切换、模拟量速度控制等程序比较普通,在此不予介绍,我们着重介绍plc主机如何通过485通讯卡来读取伺服驱动器中伺服电机的当前绝对位置的控制软件。WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
4.1 三菱mr-j2s-a伺服系统通讯协议WWW_PLCJS_COM-PLC-技.术_网
该伺服系统具有rs422串行通讯功能,伺服系统作为从站,控制器作为主站。主控制器通过该通讯功能可实现对伺服驱动器的运行控制、参数的修改读取、伺服驱动器当前运动状态的读取等。我们在这里只需要读取伺服电机的当前绝对位置值。WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
(1)通讯格式:WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
P.L.C.技.术.网——可编程控制器技术门户
WW.W_PLCJS_COM-PLC-技.术_网
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
(2)通讯协议:三菱j2s系列伺服系统的通讯协议大致分为四种格式:从控制器向伺服驱动器发送数据、控制器从伺服驱动器接送数据、通讯超时处理、通讯重试。在这里我们主要使用第二种格式的通讯协议,即控制器从伺服驱动器接送数据的通讯协议。该种格式的通讯协议:WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
plcjs.技.术_网
P.L.C.技.术.网——可编程控制器技术门户
在上述协议中,所有报文均以ascii码表示。在主站控制器发出的报文中,soh(通讯开始)、stx(报文开始)和etx(报文结束)的ascii码分别为01h、02h和03h。读绝对位置的指令为02,则对应的ascii码为30h、31h,绝对位置值(指令脉冲单位)对应的数据号为91,对应的ascii码为39h、31h。站号是在伺服驱动器中设置的站号,假如设置为0时,则对应的ascii码为30h。其校验和的计算范围为站号到etx,将其每一位数据的ascii码进行求和,得到结果的低二位即为校验和数据。在主站控制器收到的报文中,stx、站号、etx与前面一样,不再重复了。当通讯正常时,错误代码为a(伺服不报警时)或a(伺服报警时),当通讯不正常时,则错误代码不等于a或a,而是其他字符。数据即为绝对位置数据,长度为8帧。其校验和的计算范围也是为站号到etx,也是取每位ascii码计算和的低二位。WWW_PLCJS@_COM%-PLC-技.术_网
(3)相关的驱动器参数:p#16参数用于设置波特率、rs232/rs422通讯选择、通讯等待时间。我们选用波特率为19200pbs,rs422通讯口,通讯等待时间有效,则p#16=1101。WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
p#15参数用于设置站号,在本案中设为0。WWW.PLCJS.COM——可编程控制器技术门户
4.2 fx2n系列plc无协议通讯指令(rs指令)WWW_P※LCJS_COM-PLC-)技.术_网
fx2n系列plc内置串行数据传送指令,可以通过rs-232或rs-422通讯口与其它设备进行串行通讯。其通讯协议可根据所要与其进行通讯的设备的通讯协议进行编制。WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
(1)通讯格式:串行数据传送rs指令的通讯格式通过plc的特殊数据寄存器d8120来设置。在最新的fx3u系列plc中可通过设置plc参数来设置,而在fx2n中只能通过plc程序来设置。本案中d8120的b15-b8只能设置为00001100,在此不作介绍。b7-b0用于设置传输的波特率、数据长度等,这些参数必须与j2s伺服驱动器的通讯参数相一致。当b7-b4=1001时,对应的传输波特率为19200 bps;当b3=0时,对应停止位为1位;当b2b1=11时,对应奇偶校验为偶校验;当b0=1时,对应的数据长度为8位。所以d8120=0000110010000111,即h0c97。WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)