Headerfile for ethercatsoe.c.
More...
|
PACKED_END int | ecx_SoEread (ecx_contextt *context, uint16 slave, uint8 driveNo, uint8 elementflags, uint16 idn, int *psize, void *p, int timeout) |
|
int | ecx_SoEwrite (ecx_contextt *context, uint16 slave, uint8 driveNo, uint8 elementflags, uint16 idn, int psize, void *p, int timeout) |
|
int | ecx_readIDNmap (ecx_contextt *context, uint16 slave, int *Osize, int *Isize) |
|
Headerfile for ethercatsoe.c.
◆ EC_IDN_ATCONFIG
#define EC_IDN_ATCONFIG 16 |
◆ EC_IDN_MDTCONFIG
#define EC_IDN_MDTCONFIG 24 |
◆ EC_SOE_ATTRIBUTE_B
#define EC_SOE_ATTRIBUTE_B 0x04 |
◆ EC_SOE_DATASTATE_B
#define EC_SOE_DATASTATE_B 0x01 |
◆ EC_SOE_DEFAULT_B
#define EC_SOE_DEFAULT_B 0x80 |
◆ EC_SOE_LENGTH_1
#define EC_SOE_LENGTH_1 0x00 |
◆ EC_SOE_LENGTH_2
#define EC_SOE_LENGTH_2 0x01 |
◆ EC_SOE_LENGTH_4
#define EC_SOE_LENGTH_4 0x02 |
◆ EC_SOE_LENGTH_8
#define EC_SOE_LENGTH_8 0x03 |
◆ EC_SOE_MAX_B
#define EC_SOE_MAX_B 0x20 |
◆ EC_SOE_MAXMAPPING
#define EC_SOE_MAXMAPPING 64 |
◆ EC_SOE_MAXNAME
#define EC_SOE_MAXNAME 60 |
◆ EC_SOE_MIN_B
#define EC_SOE_MIN_B 0x10 |
◆ EC_SOE_NAME_B
#define EC_SOE_NAME_B 0x02 |
◆ EC_SOE_TYPE_BINARY
#define EC_SOE_TYPE_BINARY 0x00 |
◆ EC_SOE_TYPE_FLOAT
#define EC_SOE_TYPE_FLOAT 0x06 |
◆ EC_SOE_TYPE_HEX
#define EC_SOE_TYPE_HEX 0x03 |
◆ EC_SOE_TYPE_IDN
#define EC_SOE_TYPE_IDN 0x05 |
◆ EC_SOE_TYPE_INT
#define EC_SOE_TYPE_INT 0x02 |
◆ EC_SOE_TYPE_PARAMETER
#define EC_SOE_TYPE_PARAMETER 0x07 |
◆ EC_SOE_TYPE_STRING
#define EC_SOE_TYPE_STRING 0x04 |
◆ EC_SOE_TYPE_UINT
#define EC_SOE_TYPE_UINT 0x01 |
◆ EC_SOE_UNIT_B
#define EC_SOE_UNIT_B 0x08 |
◆ EC_SOE_VALUE_B
#define EC_SOE_VALUE_B 0x40 |
◆ ecx_readIDNmap()
int ecx_readIDNmap |
( |
ecx_contextt * |
context, |
|
|
uint16 |
slave, |
|
|
int * |
Osize, |
|
|
int * |
Isize |
|
) |
| |
SoE read AT and MTD mapping.
SoE has standard indexes defined for mapping. This function tries to read them and collect a full input and output mapping size of designated slave.
- Parameters
-
[in] | context | = context struct |
[in] | slave | = Slave number |
[out] | Osize | = Size in bits of output mapping (MTD) found |
[out] | Isize | = Size in bits of input mapping (AT) found |
- Returns
- >0 if mapping successful.
◆ ecx_SoEread()
PACKED_END int ecx_SoEread |
( |
ecx_contextt * |
context, |
|
|
uint16 |
slave, |
|
|
uint8 |
driveNo, |
|
|
uint8 |
elementflags, |
|
|
uint16 |
idn, |
|
|
int * |
psize, |
|
|
void * |
p, |
|
|
int |
timeout |
|
) |
| |
SoE read, blocking.
The IDN object of the selected slave and DriveNo is read. If a response is larger than the mailbox size then the response is segmented. The function will combine all segments and copy them to the parameter buffer.
- Parameters
-
[in] | context | = context struct |
[in] | slave | = Slave number |
[in] | driveNo | = Drive number in slave |
[in] | elementflags | = Flags to select what properties of IDN are to be transferred. |
[in] | idn | = IDN. |
[in,out] | psize | = Size in bytes of parameter buffer, returns bytes read from SoE. |
[out] | p | = Pointer to parameter buffer |
[in] | timeout | = Timeout in us, standard is EC_TIMEOUTRXM |
- Returns
- Workcounter from last slave response
◆ ecx_SoEwrite()
int ecx_SoEwrite |
( |
ecx_contextt * |
context, |
|
|
uint16 |
slave, |
|
|
uint8 |
driveNo, |
|
|
uint8 |
elementflags, |
|
|
uint16 |
idn, |
|
|
int |
psize, |
|
|
void * |
p, |
|
|
int |
timeout |
|
) |
| |
SoE write, blocking.
The IDN object of the selected slave and DriveNo is written. If a response is larger than the mailbox size then the response is segmented.
- Parameters
-
[in] | context | = context struct |
[in] | slave | = Slave number |
[in] | driveNo | = Drive number in slave |
[in] | elementflags | = Flags to select what properties of IDN are to be transferred. |
[in] | idn | = IDN. |
[in] | psize | = Size in bytes of parameter buffer. |
[out] | p | = Pointer to parameter buffer |
[in] | timeout | = Timeout in us, standard is EC_TIMEOUTRXM |
- Returns
- Workcounter from last slave response