Hello again and thanks to Jun for pointing me in the right direction.

I changed the second set of PDO mappings to one entry only {0x7000, 0x11, 16} 
and the slave accepted to go into “OP”.

Ronaldo

From: [email protected] [mailto:[email protected]]
Sent: 12 March 2014 11:14
To: [email protected]
Cc: [email protected]
Subject: Re: [etherlab-users] Beckhoff EL2595 AL status message 0x001E: 
"Invalid input configuration"

Hi Jun and thanks for the reply.

The messages with your suggested change modify the resulting error to "Invalid 
output configuration", but the slave still refuses to switch to “OP”.

Ronaldo

Mar 12 11:02:38 pc0074 kernel: EtherCAT: Requesting master 0...
Mar 12 11:02:38 pc0074 kernel: EtherCAT: Successfully requested master 0.
Mar 12 11:02:38 pc0074 kernel: EtherCAT 0: Domain0: Logical address 0x00000000, 
12 byte, expected working counter 1.
Mar 12 11:02:38 pc0074 kernel: EtherCAT 0:   Datagram domain0-0-main: Logical 
offset 0x00000000, 12 byte, type LWR.
Mar 12 11:02:38 pc0074 kernel: EtherCAT 0: Master thread exited.
Mar 12 11:02:38 pc0074 kernel: EtherCAT 0: Starting EtherCAT-OP thread.
Mar 12 11:02:38 pc0074 kernel: EtherCAT WARNING 0: 1 datagram UNMATCHED!
Mar 12 11:02:38 pc0074 kernel: EtherCAT WARNING 0: No app_time received up to 
now, but master already active.
Mar 12 11:02:39 pc0074 kernel: EtherCAT ERROR 0-1: Failed to set SAFEOP state, 
slave refused state change (PREOP + ERROR).
Mar 12 11:02:39 pc0074 kernel: EtherCAT ERROR 0-1: AL status message 0x001D: 
"Invalid output configuration".
Mar 12 11:02:39 pc0074 kernel: EtherCAT 0-1: Acknowledged state PREOP.
Mar 12 11:02:39 pc0074 kernel: EtherCAT 0: Slave states on main device: PREOP, 
OP.
Mar 12 11:03:40 pc0074 kernel: EtherCAT 0: Releasing master...

From: Jun Yuan [mailto:[email protected]]
Sent: 12 March 2014 09:24
To: Mercado, Ronaldo (DLSLtd,RAL,TEC)
Cc: [email protected]<mailto:[email protected]>
Subject: Re: [etherlab-users] Beckhoff EL2595 AL status message 0x001E: 
"Invalid input configuration"

Hello ronaldo,
@@ -73,7 +73,7 @@
ec_sync_info_t slave_1_syncs[] = {
    {0, EC_DIR_OUTPUT, 0, NULL, EC_WD_DISABLE},
    {1, EC_DIR_INPUT, 0, NULL, EC_WD_DISABLE},
    {2, EC_DIR_OUTPUT, 2, slave_1_pdos + 0, EC_WD_DISABLE},
-   {3, EC_DIR_INPUT, 1, slave_1_pdos + 1, EC_WD_DISABLE},
+   {3, EC_DIR_INPUT, 1, slave_1_pdos + 2, EC_WD_DISABLE},
    {0xff}
};
To avoid such a mistake, it would be better to seperate the rxpdo and txpdo, 
using slave_1_rxpdos[] and slave_1_txpdos[] instead of only one slave_1_pdos[]
Regards,
Jun


On Tue, Mar 11, 2014 at 7:13 PM, 
<[email protected]<mailto:[email protected]>> wrote:
Hello,

I am struggling with the control the constant current output slave EL2595.

The unit provides a few PDOs by default, to control the on/off
state. I wish to control the current output, (I believe at address 0x7000:11
"Output Current"). This should allow a slider to control the dimming of
an LED. This is not on the default PDO set.

I know it's supported because it was demonstrated with TwinCAT. TwinCAT
adds it to sync manager 2 with a check box.

My attempt with the attached c source program fails to set the slave
in the "OP" state, and the messages report "Invalid input
configuration".

Could you suggest what to do differently?
How do I add the PDO for the current control to the slave?

Thanks,

Ronaldo






--

This e-mail and any attachments may contain confidential, copyright and or 
privileged material, and are for the use of the intended addressee only. If you 
are not the intended addressee or an authorised recipient of the addressee 
please notify us of receipt by returning the e-mail and do not use, copy, 
retain, distribute or disclose the information in or attached to the e-mail.
Any opinions expressed within this e-mail are those of the individual and not 
necessarily of Diamond Light Source Ltd.
Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments 
are free from viruses and we cannot accept liability for any damage which you 
may sustain as a result of software viruses which may be transmitted in or with 
the message.
Diamond Light Source Limited (company no. 4375679). Registered in England and 
Wales with its registered office at Diamond House, Harwell Science and 
Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom



_______________________________________________
etherlab-users mailing list
[email protected]<mailto:[email protected]>
http://lists.etherlab.org/mailman/listinfo/etherlab-users



--
Jun Yuan
[Aussprache: Djün Üän]

Robotics Technology Leaders GmbH
Am Loferfeld 58, D-81249 München
Tel: +49 89 189 0465 24
Fax: +49 89 189 0465 11
mailto: [email protected]<mailto:[email protected]>

Umlautregel in der chinesischen Lautschrift Pinyin: Nach den Anlauten y, j, q, 
und x wird u als ü ausgesprochen, z.B. yu => ü,  ju => dschü,  qu => tschü,  xu 
=> schü.
--- el2595-1.c  2014-03-12 10:51:39.571795690 +0000
+++ el2595-2.c  2014-03-12 12:07:06.167043476 +0000
@@ -37,8 +37,7 @@
 static unsigned int counter = 0;
 
 // EL2595
-
-static ec_pdo_entry_info_t slave_1_pdo_entries[] = {
+static ec_pdo_entry_info_t slave_1_rxpdo1[] = {
     /* 7 entries */
     {0x0000, 0x00, 1}, /* Gap */
     {0x7000, 0x02, 1}, /* Output */
@@ -47,10 +46,12 @@
     {0x0000, 0x00, 3}, /* Gap */
     {0x7000, 0x08, 1}, /* Reset */
     {0x0000, 0x00, 8}, /* Gap */
-    /* 3 entries */
+};
+static ec_pdo_entry_info_t slave_1_rxpdo2[] = {
+    /* 1 entry */
     {0x7000, 0x11, 16}, 
-    {0x7000, 0x12, 32}, 
-    {0x7000, 0x13, 32}, 
+};
+static ec_pdo_entry_info_t slave_1_txpdo1[] = {
     /* 9 entries */
     {0x6000, 0x01, 1}, /* Ready to activate */
     {0x6000, 0x02, 1}, /* Output active */
@@ -61,24 +62,25 @@
     {0x6000, 0x0c, 1}, /* Digital input */
     {0x0000, 0x00, 3}, /* Gap */
     {0x6000, 0x10, 1}, /* TxPDO Toggle */
+};
 
+ec_pdo_info_t slave_1_txpdos[] = {
+    {0x1a00, 9, slave_1_txpdo1}, /* DOX TxPDO-Map Status */
 };
 
-ec_pdo_info_t slave_1_pdos[] = {
-    {0x1600, 7, slave_1_pdo_entries + 0}, /* DOX RxPDO-Map Control */
-    {0x1601, 3, slave_1_pdo_entries + 7}, /* DOX RxPDO-Map Control */
-    {0x1a00, 9, slave_1_pdo_entries + 10}, /* DOX TxPDO-Map Status */
+ec_pdo_info_t slave_1_rxpdos[] = {
+    {0x1600, 7, slave_1_rxpdo1}, /* DOX RxPDO-Map Control */
+    {0x1601, 1, slave_1_rxpdo2}, /* DOX RxPDO-Map Control */
 };
 
 ec_sync_info_t slave_1_syncs[] = {
     {0, EC_DIR_OUTPUT, 0, NULL, EC_WD_DISABLE},
     {1, EC_DIR_INPUT, 0, NULL, EC_WD_DISABLE},
-    {2, EC_DIR_OUTPUT, 2, slave_1_pdos + 0, EC_WD_DISABLE},
-    {3, EC_DIR_INPUT, 1, slave_1_pdos + 2, EC_WD_DISABLE},
+    {2, EC_DIR_OUTPUT, 2, slave_1_rxpdos, EC_WD_DISABLE},
+    {3, EC_DIR_INPUT, 1, slave_1_txpdos, EC_WD_DISABLE},
     {0xff}
 };
 
-
 void check_domain1_state(void)
 {
     ec_domain_state_t ds;
_______________________________________________
etherlab-users mailing list
[email protected]
http://lists.etherlab.org/mailman/listinfo/etherlab-users

Reply via email to