SOEM v1.2.5
Defines | Functions

ethercatdc.c File Reference

Distributed Clock EtherCAT functions. More...

#include "ethercattype.h"
#include "nicdrv.h"
#include "ethercatbase.h"
#include "ethercatmain.h"
#include "ethercatdc.h"

Defines

#define PORTM0   0x01
#define PORTM1   0x02
#define PORTM2   0x04
#define PORTM3   0x08
#define SyncDelay   ((int32)100000000)

Functions

void ec_dcsync0 (uint16 slave, boolean act, uint32 CyclTime, uint32 CyclShift)
void ec_dcsync01 (uint16 slave, boolean act, uint32 CyclTime0, uint32 CyclTime1, uint32 CyclShift)
int32 ec_porttime (uint16 slave, uint8 port)
uint8 ec_prevport (uint16 slave, uint8 port)
uint8 ec_parentport (uint16 parent)
boolean ec_configdc (void)

Detailed Description

Distributed Clock EtherCAT functions.


Define Documentation

#define PORTM0   0x01
#define PORTM1   0x02
#define PORTM2   0x04
#define PORTM3   0x08
#define SyncDelay   ((int32)100000000)

1st sync pulse delay in ns here 100ms


Function Documentation

boolean ec_configdc ( void  )

Locate DC slaves, measure propagation delays.

return boolean if slaves are found with DC

void ec_dcsync0 ( uint16  slave,
boolean  act,
uint32  CyclTime,
uint32  CyclShift 
)

Set DC of slave to fire sync0 at CyclTime interval with CyclShift offset.

Parameters:
[in]slaveSlave number.
[in]actTRUE = active, FALSE = deactivated
[in]CyclTimeCycltime in ns.
[in]CyclShiftCyclShift in ns.
void ec_dcsync01 ( uint16  slave,
boolean  act,
uint32  CyclTime0,
uint32  CyclTime1,
uint32  CyclShift 
)

Set DC of slave to fire sync0 and sync1 at CyclTime interval with CyclShift offset.

Parameters:
[in]slaveSlave number.
[in]actTRUE = active, FALSE = deactivated
[in]CyclTime0Cycltime SYNC0 in ns.
[in]CyclTime1Cycltime SYNC1 in ns. This time is a delta time in relation to the SYNC0 fire. If CylcTime1 = 0 then SYNC1 fires a the same time as SYNC0.
[in]CyclShiftCyclShift in ns.
uint8 ec_parentport ( uint16  parent)
int32 ec_porttime ( uint16  slave,
uint8  port 
)
uint8 ec_prevport ( uint16  slave,
uint8  port 
)