SOEM
v1.2.8
|
Distributed Clock EtherCAT functions. More...
#include "ethercattype.h"
#include "ethercatbase.h"
#include "ethercatmain.h"
#include "ethercatdc.h"
#include "oshw.h"
#include "osal.h"
Macros | |
#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) |
Distributed Clock EtherCAT functions.
#define PORTM0 0x01 |
#define PORTM1 0x02 |
#define PORTM2 0x04 |
#define PORTM3 0x08 |
#define SyncDelay ((int32)100000000) |
1st sync pulse delay in ns here 100ms
boolean ec_configdc | ( | void | ) |
Locate DC slaves, measure propagation delays.
return boolean if slaves are found with DC
Set DC of slave to fire sync0 at CyclTime interval with CyclShift offset.
[in] | slave | Slave number. |
[in] | act | TRUE = active, FALSE = deactivated |
[in] | CyclTime | Cycltime in ns. |
[in] | CyclShift | CyclShift 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.
[in] | slave | Slave number. |
[in] | act | TRUE = active, FALSE = deactivated |
[in] | CyclTime0 | Cycltime SYNC0 in ns. |
[in] | CyclTime1 | Cycltime 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] | CyclShift | CyclShift in ns. |