[etherlab-users] SDO type size problem
Florian Pose
fp at igh-essen.com
Fri Sep 24 11:52:02 CEST 2010
Hello,
On Fri, Sep 24, 2010 at 09:01:40AM +0200, Thorsten Schnebeck wrote:
> Side note: TwinCAT does not show these problems and brings the device up to OP-mode.
this is because TwinCAT does not read out the PDO mapping.
> Is this a problem in the EtherCAT slave client firmware or can this be
> a problem of the etherlab-master 1.5?
It is definitely a problem of the slave firmware, the number of assigned
PDOs (0x1c1x:0) must be an uint8. Please tell HBM. You can reference the
EtherCAT specification (IEC 61158-6-12, chapter 5.6.7.4.10.3, table 78).
Apart from that, the following patch should make it work. Please not that this
does not conform to the spec!
diff -r c6e6ec6ba5d8 master/fsm_pdo.c
--- a/master/fsm_pdo.c Wed Sep 22 15:41:43 2010 +0200
+++ b/master/fsm_pdo.c Fri Sep 24 11:50:31 2010 +0200
@@ -250,11 +250,9 @@
}
if (fsm->request.data_size != sizeof(uint8_t)) {
- EC_SLAVE_ERR(fsm->slave, "Invalid data size %zu returned"
+ EC_SLAVE_WARN(fsm->slave, "Invalid data size %zu returned"
" when uploading SDO 0x%04X:%02X.\n", fsm->request.data_size,
fsm->request.index, fsm->request.subindex);
- ec_fsm_pdo_read_action_next_sync(fsm);
- return;
}
fsm->pdo_count = EC_READ_U8(fsm->request.data);
--
Best regards,
Florian Pose
http://etherlab.org
More information about the Etherlab-users
mailing list