编程控制EtherCAT通讯重启:

EtherCAT通讯可以通过编程控制,所有EtherCAT通讯配置参数都可以用变量获取和设置。

1、后台配置实现

主站参数设置中勾选自动重启从站,如果从站掉站(如拔掉主站与第一个从站的网线,所有从站掉线,再重新插上)通讯会自动重启从站。这种重启方式只对所有从站掉站或者说通讯报错误时有用(xError=TRUE)。

这种方式重启后,如果有伺服轴,轴的状态还是会报通讯错误(1100),需用SMC3_ReinitDrive指令重新初始化。有伺服轴一般认为有DC时钟,用DC时钟同步上升沿触发使能该指令(ETHERCAT.xDistributedClockInSync),如下图。

2、编写用户程序实现

1)控制单个从站状态

从站状态可能为0、(1)初始化、(2)预运行、(4)安全运行、(8)运行,AM600如何通过程序控制从站状态呢?

可以修改属性SetOpMode的值控制从站状态。

定义:

VAR

wSlaveState: WORD:=8; //wSlaveState初始值设置为8

bSetSlaveOPmode: BOOL; //用户定义变量,设置为TRUE,从站状态不为OP则重启从站,注意在整个网络重启时不能为TRUE。

END_VAR

编程://从站状态控制

CASE wSlaveState OF

1:

IoConfig_Globals._IS620N.SetOpMode(wOpMode:= 2);

wSlaveState:=2;

2:

IF IoConfig_Globals._IS620N.wState=2 THEN wSlaveState:=3;

END_IF

3:

IoConfig_Globals._IS620N.SetOpMode(wOpMode:= 1);

wSlaveState:=4;

4:

IF IoConfig_Globals._IS620N.wState=1 THEN

wSlaveState:=5;

END_IF

5:

IoConfig_Globals._IS620N.SetOpMode(wOpMode:= 2);

wSlaveState:=6;

6:

IF IoConfig_Globals._IS620N.wState=2 THEN

wSlaveState:=7;

END_IF

7:

IoConfig_Globals._IS620N.SetOpMode(wOpMode:=4);

wSlaveState:=8;

8:

IF IoConfig_Globals._IS620N.wState=4 THEN

wSlaveState:=9;

END_IF

9:

IoConfig_Globals._IS620N.SetOpMode(wOpMode:= 8);

wSlaveState:=10;

10:

IF IoConfig_Globals._IS620N.wState=8 THEN

;

Else 故障无法复位;

END_IF

END_CASE

EtherCAT通讯某个别从站通讯故障可能不会导致整个通讯报错,只是对应从站不为运行状态,这就可以通过上面的方法重启对应从站。

如果重启伺服轴,需要SMC3_ReinitDrive指令初始化轴。

PS:不能在PLC系统初始化时调用该段程序,会导致PLC卡死

2)重启整个网络

如果后台没有勾选自动重启从站或者需要用户判断是否重启网络,此时用指令IoDrvEtherCAT控制实现。

xRestart:重启整个网络,注意需用上升沿,如果是电平总线会一直发重启命令无法完成重启运行。

Xstopbus:停止总线电平有效,为true时总线一直处于停止状态。

注意:IoDrvEtherCAT实例化名称必须用主站名称,如下图为EtherCAT。

通讯重启完成后要用PLCopen控制伺服轴还必须用SMC3_ReinitDrive指令初始化

//等待DC时钟同步有效信号,初始化轴

IF ETHERCAT.xConfigFinished AND ETHERCAT.xDistributedClockInSync THEN

SMC3_ReinitDrive_Axis0(

Axis:= Axis0,

bExecute:= TRUE,

bVirtual:= ,

bDone=> ,

bBusy=> ,

bError=> ,

nErrorID=> );

IF SMC3_ReinitDrive_Axis0.bDone THEN

bEtcReset:=FALSE;

END_IF

END_IF

注意什么时候重启从站呢?需要用户自己判断,比如主站参数xError=TRUE时、比如从站状态不在运行状态时。

PS:帮助文档,EtherCAT配置编辑器中有详细介绍

Copyright © www.yanjuntech.cn 2018-2025 all right reserved,powered by Gitbook该文件修订时间: 2018-10-21 17:29:45

results matching ""

    No results matching ""