pilotchute Posted March 16, 2018 Share Posted March 16, 2018 System: PowerBrick AC running kernel 2.6.30.3 EtherCat Devices: 0) Beckhoff EK1100 LAN (works great) 1) Beckhoff EL1008 Digital Input (works great) 2) Beckhoff EL1008 Digital Input (works great) 3) Beckhoff EL3314-0010 Analog TC (doesn't work great, as explained below) When attempting to configure the EtherCat master on the DeltaTau using the PowerPMAC Suite, I am unable to get the temperature sensor readout to be placed in an IO register. (specifically ECAT[0].IO[0]) The problem appears two-fold. 1) When ECAT[0].Enable=3 is set, the Beckhoff 3314-0010 module does not transition to the OP state. However, if the states are set through the command line ethercat interface, the states transition correctly. root@192.168.0.200:/opt/ppmac# ethercat slaves 0 0:0 PREOP + EK1100 EtherCAT-Koppler (2A E-Bus) 1 0:1 PREOP + EL1008 8K. Dig. Eingang 24V, 3ms 2 0:2 PREOP + EL1008 8K. Dig. Eingang 24V, 3ms 3 0:3 PREOP + EL3314-0010 4K. Ana. Eingang Thermoelement (TC), hochgenau root@192.168.0.200:/opt/ppmac# ethercat states OP root@192.168.0.200:/opt/ppmac# ethercat slaves 0 0:0 OP + EK1100 EtherCAT-Koppler (2A E-Bus) 1 0:1 OP + EL1008 8K. Dig. Eingang 24V, 3ms 2 0:2 OP + EL1008 8K. Dig. Eingang 24V, 3ms 3 0:3 OP + EL3314-0010 4K. Ana. Eingang Thermoelement (TC), hochgenau 2) The PDO for ECAT[0].IO[0] should be set to the value from 0x6000:11 on the EL3314-0010. I have been unable to find a reason why the configuration steps that allow reading the EL1008, do not work on the EL3314-0010 However, when the value is pulled from the device using the command line ethercat interface, I get the correct thermal readout from the configured thermocouple: root@192.168.0.200:/opt/ppmac# ethercat -m0 -p3 -t int32 upload 0x6000 0x11 0x00000961 2401 (this reads as 24.01˚C) Attempted solutions: 1) setting startup variables: 0x8000:2 to 2 (for 0.01˚C output) 0x8000:19 to 1 (for J type thermocouple) 2) setting all PDOs for Device 3) "updating" to older versions of the device xml file. 4) resetting and reconfiguring both the PowerPMAC and EtherCat devices innumerable times. 5) reconfiguring the EtherCat Master multiple times 6) rescanning devices on the EtherCat both via command line and through the PowerPMAC Suite. 7) trying a newer version of the EL3314-0010 device. So, at this point I'm running low on ideas. Is this a known issue? Are there any solutions/workarounds that exist? Would I be able to run a plc to set up and query EtherCat values command line style rather than relying on the EtherCat system setup GUI? Any and all help greatly appreciated. _ Austin Kootz Link to comment Share on other sites More sharing options...
piefum Posted March 19, 2018 Share Posted March 19, 2018 So, at this point I'm running low on ideas. Is this a known issue? Are there any solutions/workarounds that exist? Would I be able to run a plc to set up and query EtherCat values command line style rather than relying on the EtherCat system setup GUI? Hi I got a similar problem here: my ethercat chain is composed of 3 EL5032 (Endat 2.2 interface) and 1 EL3208 (8 channel input RTD). I can correctly configure the EL5032 but not the EL3208: it stays always in Pre-op conditions. However, I can correctly read the temperature via terminal and via plc using the ECATSDO command. My workaround: since I need the temperature information on a very slow time scale, I fire a PLC that perform the temperature reading via ecatsdo every 10 seconds. The major drawback of this solution is that the running time of this PLC is very high: I get a background load of +10% when this PLC is running. However, I can survive with that. Hope this helps best gigi Link to comment Share on other sites More sharing options...
pilotchute Posted March 19, 2018 Author Share Posted March 19, 2018 So, at this point I'm running low on ideas. Is this a known issue? Are there any solutions/workarounds that exist? Would I be able to run a plc to set up and query EtherCat values command line style rather than relying on the EtherCat system setup GUI? Hi I got a similar problem here: my ethercat chain is composed of 3 EL5032 (Endat 2.2 interface) and 1 EL3208 (8 channel input RTD). I can correctly configure the EL5032 but not the EL3208: it stays always in Pre-op conditions. However, I can correctly read the temperature via terminal and via plc using the ECATSDO command. My workaround: since I need the temperature information on a very slow time scale, I fire a PLC that perform the temperature reading via ecatsdo every 10 seconds. The major drawback of this solution is that the running time of this PLC is very high: I get a background load of +10% when this PLC is running. However, I can survive with that. Hope this helps best gigi Thanks gigi, I was considering doing that, and if it works for you I'll give it a shot. Link to comment Share on other sites More sharing options...
Eric Hotchkiss Posted March 23, 2018 Share Posted March 23, 2018 Can you successfully read the PDO if that device is the only slave plugged into your master? Is that PDO, or any other PDO you're mapping on that slave, greater than 32 bits? Link to comment Share on other sites More sharing options...
pilotchute Posted March 23, 2018 Author Share Posted March 23, 2018 Can you successfully read the PDO if that device is the only slave plugged into your master? Is that PDO, or any other PDO you're mapping on that slave, greater than 32 bits? I have not tried isolating it as a slave. The PDO I am trying to map is a 32 bit signed integer. Link to comment Share on other sites More sharing options...
Eric Hotchkiss Posted April 5, 2018 Share Posted April 5, 2018 Finally had a chance to look around the office and it doesn't look like this device is available to me. A couple thoughts: 1. Looking up the device, I see some references to a conversion time that sounds longer than a typical EtherCAT cycle time. It may be that the measurement takes too long to use in a PDO. 2. Do you know if you are using a distributed clock? The other devices are IO, so it's possible only this device needs a clock and it isn't getting one. From your commands, it looks like the temperature is at index 0x6000 subindex 0x11 on the device. Is this correct? Link to comment Share on other sites More sharing options...
zoo_lander Posted May 17, 2018 Share Posted May 17, 2018 So, at this point I'm running low on ideas. Is this a known issue? Are there any solutions/workarounds that exist? Would I be able to run a plc to set up and query EtherCat values command line style rather than relying on the EtherCat system setup GUI? Hi I got a similar problem here: my ethercat chain is composed of 3 EL5032 (Endat 2.2 interface) and 1 EL3208 (8 channel input RTD). I can correctly configure the EL5032 but not the EL3208: it stays always in Pre-op conditions. However, I can correctly read the temperature via terminal and via plc using the ECATSDO command. My workaround: since I need the temperature information on a very slow time scale, I fire a PLC that perform the temperature reading via ecatsdo every 10 seconds. The major drawback of this solution is that the running time of this PLC is very high: I get a background load of +10% when this PLC is running. However, I can survive with that. Hope this helps best gigi I found that with the EL3208 you have to map all PDOs to a foreground or background task; for some reason the module only enters the OP state if you have none or all of the PDOs mapped. I used the "Load PDOs to PMAC" button on each of the 8 channels. Hope this helps :) Link to comment Share on other sites More sharing options...
andyf Posted February 20, 2019 Share Posted February 20, 2019 Finally had a chance to look around the office and it doesn't look like this device is available to me. A couple thoughts: 1. Looking up the device, I see some references to a conversion time that sounds longer than a typical EtherCAT cycle time. It may be that the measurement takes too long to use in a PDO. 2. Do you know if you are using a distributed clock? The other devices are IO, so it's possible only this device needs a clock and it isn't getting one. From your commands, it looks like the temperature is at index 0x6000 subindex 0x11 on the device. Is this correct? We are still having issues getting this module into OP mode. To answer your questions: (1) The default conversion time is 250ms. Is that longer than the Power Brick AC EtherCAT cycle time? Since we are only using I/O modules and need data once per second, can we slow down the Power Brick AC EhterCAT cycle time? (2) The EL3314-0010 does not support distributed clocks Link to comment Share on other sites More sharing options...
Eric Hotchkiss Posted February 21, 2019 Share Posted February 21, 2019 250 ms is a very long time. Typical cycle times for ecat transfer are 0.125 to 1 ms. I could imagine this device not being intended to transfer PDOs with a distributed clock. Have you tried mapping all PDOs like zoo_lander suggested? For Zoo_lander, you should be able to push the "Load PDOs to PMAC" one time after all clock/PDO settings for all slaves are correct. Link to comment Share on other sites More sharing options...
Recommended Posts