Re: [etherlab-users] CX CPU as Master Linux Slave
Hi, I'm not using a CX PC as Master, it is a x64 Real Time PC with Priest Distro. It has a ESD NEt-Card compatible with EtherCAT. I just configured the data PDOs that I would like to expose vía the EtherCAT Slave port of the CX8010. The cstruct works ok its reply is: /* Master 0, Slave 0, "CX8010 EtherCAT slave" * Vendor ID: 0x0002 * Product code:0x1f4a6032 * Revision number: 0x0011 */ ec_pdo_entry_info_t slave_0_pdo_entries[] = { {0x7000, 0x01, 1}, /* Relay 1 signal*/ {0x, 0x00, 7}, /* Gap */ {0x7000, 0x02, 1}, /* Relay 2 Signal*/ {0x, 0x00, 7}, /* Gap */ {0x6000, 0x01, 16},/*Temp1*/ {0x6000, 0x02, 16}, /*Temp2*/ }; ec_pdo_info_t slave_0_pdos[] = { {0x1600, 4, slave_0_pdo_entries + 0}, /* Output Mapping */ {0x1a00, 2, slave_0_pdo_entries + 4}, /* Input Mapping */ }; ec_sync_info_t slave_0_syncs[] = { {0, EC_DIR_OUTPUT, 0, NULL, EC_WD_DISABLE}, {1, EC_DIR_INPUT, 0, NULL, EC_WD_DISABLE}, {2, EC_DIR_OUTPUT, 1, slave_0_pdos + 0, EC_WD_ENABLE}, {3, EC_DIR_INPUT, 1, slave_0_pdos + 1, EC_WD_DISABLE}, {0xff} }; and the slave reply: 0 0:0 PREOP E CX8010 EtherCAT slave I don`t know if this show you something more Thank you very much Best regards - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - David Jiménez Mejías -Original Message- From: Graeme Foot To: David Jiménez Mejías , "etherlab-users@etherlab.org" Date: Sun, 15 May 2016 22:19:19 + Subject: RE: [etherlab-users] CX CPU as Master Linux Slave Hi, What type of computer are you using as the Linux master? If it is a Beckhoff CX computer via the EBus module it will need the CCAT (or similar) network card driver. However, it sounds like your Linux master is not a CX computer and you already have the EtherCAT networking running. I have not used the CX8010 so can’t offer too much advice but from what I understand it ring fences all of the IO on its EBus with its own logic to control it. You then have to choose what IO (or interface) you want to expose via its slave interface that the Linux EtherCAT master will access. What does the ethercat cstruct command return? Regards, Graeme. From: David Jiménez Mejías [mailto:david.jime...@gtc.iac.es] Sent: Friday, 13 May 2016 11:12 p.m. To: Graeme Foot; etherlab-users@etherlab.org Subject: RE: [etherlab-users] CX CPU as Master Linux Slave Hi Graeme, thanks for your answer. I'm trying to use a CX8010 as TwinCAT Master of its own net. Over it is a Linux PC running the Master Linux 1.5.2. We would like to have the CX8010 as slave from the Master Linux sharing In/Outs PDOs. By the moment I keep running the CX8010 as normal, with the slave pdo configuration just done. >From the Master Linux I see the slave at PREOP (with Error), with this dmesg outputs: [2061710.482018] EtherCAT 0: 0 slave(s) responding on main device. [2061710.482020] EtherCAT 0: Stopping EoE thread. [2061710.482038] EtherCAT 0: EoE thread exited. [2061710.499211] EtherCAT 0: 1 slave(s) responding on main device. [2061710.499214] EtherCAT 0: Slave states on main device: PREOP. [2061710.499718] EtherCAT 0: Scanning bus. [2061710.640237] EtherCAT 0: Bus scanning completed in 141 ms. [2061710.640240] EtherCAT 0: Using slave 0 as DC reference clock. [2061710.640242] EtherCAT 0: Starting EoE thread. [2061710.655820] IPv6: ADDRCONF(NETDEV_UP): eoe0s0: link is not ready [2061710.666862] EtherCAT ERROR 0-0: Failed to set SAFEOP state, slave refused state change (PREOP + ERROR). [2061710.667536] EtherCAT ERROR 0-0: AL status message 0x001E: "Invalid input configuration". [2061710.670956] EtherCAT 0-0: Acknowledged state PREOP. [2061713.541497] EtherCAT WARNING 0: 1 datagram TIMED OUT! [2061713.664881] EtherCAT WARNING 0-0: CoE Emergency Request received: Error code 0xA000, Error register 0x02, data: [2061713.664885] EtherCAT DEBUG: 0E 04 00 04 00 [2061713.848637] EtherCAT WARNING 0-0: SDO information error response while fetching SDO entry 0xF100:01! [2061713.848641] EtherCAT ERROR 0-0: SDO abort message 0x06090011: "Subindex does not exist". [2061713.852689] EtherCAT WARNING 0-0: SDO information error response while fetching SDO entry 0xF100:02! [2061713.852693] EtherCAT ERROR 0-0: SDO abort message 0x06090011: "Subindex does not exist". [2061713.856649] EtherCAT WARNING 0-0: SDO information error response while fetching SDO entry 0xF100:03! [2061713.856653] EtherCAT ERROR 0-0: SDO abort message 0x06090011: "Subindex does not exist". [2061713.860720] EtherCAT WARNING 0-0: SDO information error response while fetching SDO entry 0xF100:04! [2061713.860724] EtherCAT ERROR 0-0: SDO abort message 0x06090011: "Subindex does not exist". [2061713.864652] EtherCAT WARNING 0-0: SDO information error response while fetching SDO entry 0xF100:05! [2061713.864655] EtherCAT ERROR 0-0: SDO abor
Re: [etherlab-users] CX CPU as Master Linux Slave
Hi Graeme, thanks for your answer. I'm trying to use a CX8010 as TwinCAT Master of its own net. Over it is a Linux PC running the Master Linux 1.5.2. We would like to have the CX8010 as slave from the Master Linux sharing In/Outs PDOs. By the moment I keep running the CX8010 as normal, with the slave pdo configuration just done. >From the Master Linux I see the slave at PREOP (with Error), with this dmesg outputs: [2061710.482018] EtherCAT 0: 0 slave(s) responding on main device. [2061710.482020] EtherCAT 0: Stopping EoE thread. [2061710.482038] EtherCAT 0: EoE thread exited. [2061710.499211] EtherCAT 0: 1 slave(s) responding on main device. [2061710.499214] EtherCAT 0: Slave states on main device: PREOP. [2061710.499718] EtherCAT 0: Scanning bus. [2061710.640237] EtherCAT 0: Bus scanning completed in 141 ms. [2061710.640240] EtherCAT 0: Using slave 0 as DC reference clock. [2061710.640242] EtherCAT 0: Starting EoE thread. [2061710.655820] IPv6: ADDRCONF(NETDEV_UP): eoe0s0: link is not ready [2061710.666862] EtherCAT ERROR 0-0: Failed to set SAFEOP state, slave refused state change (PREOP + ERROR). [2061710.667536] EtherCAT ERROR 0-0: AL status message 0x001E: "Invalid input configuration". [2061710.670956] EtherCAT 0-0: Acknowledged state PREOP. [2061713.541497] EtherCAT WARNING 0: 1 datagram TIMED OUT! [2061713.664881] EtherCAT WARNING 0-0: CoE Emergency Request received: Error code 0xA000, Error register 0x02, data: [2061713.664885] EtherCAT DEBUG: 0E 04 00 04 00 [2061713.848637] EtherCAT WARNING 0-0: SDO information error response while fetching SDO entry 0xF100:01! [2061713.848641] EtherCAT ERROR 0-0: SDO abort message 0x06090011: "Subindex does not exist". [2061713.852689] EtherCAT WARNING 0-0: SDO information error response while fetching SDO entry 0xF100:02! [2061713.852693] EtherCAT ERROR 0-0: SDO abort message 0x06090011: "Subindex does not exist". [2061713.856649] EtherCAT WARNING 0-0: SDO information error response while fetching SDO entry 0xF100:03! [2061713.856653] EtherCAT ERROR 0-0: SDO abort message 0x06090011: "Subindex does not exist". [2061713.860720] EtherCAT WARNING 0-0: SDO information error response while fetching SDO entry 0xF100:04! [2061713.860724] EtherCAT ERROR 0-0: SDO abort message 0x06090011: "Subindex does not exist". [2061713.864652] EtherCAT WARNING 0-0: SDO information error response while fetching SDO entry 0xF100:05! [2061713.864655] EtherCAT ERROR 0-0: SDO abort message 0x06090011: "Subindex does not exist". [2061713.868724] EtherCAT WARNING 0-0: SDO information error response while fetching SDO entry 0xF100:06! [2061713.868728] EtherCAT ERROR 0-0: SDO abort message 0x06090011: "Subindex does not exist". [2061713.872634] EtherCAT WARNING 0-0: SDO information error response while fetching SDO entry 0xF100:07! [2061713.872645] EtherCAT ERROR 0-0: SDO abort message 0x06090011: "Subindex does not exist". [2061713.876712] EtherCAT WARNING 0-0: SDO information error response while fetching SDO entry 0xF100:08! [2061713.876716] EtherCAT ERROR 0-0: SDO abort message 0x06090011: "Subindex does not exist". [2061713.880657] EtherCAT WARNING 0-0: SDO information error response while fetching SDO entry 0xF100:09! [2061713.880660] EtherCAT ERROR 0-0: SDO abort message 0x06090011: "Subindex does not exist". [2061713.884698] EtherCAT WARNING 0-0: SDO information error response while fetching SDO entry 0xF100:0A! [2061713.884701] EtherCAT ERROR 0-0: SDO abort message 0x06090011: "Subindex does not exist". [2061713.888636] EtherCAT WARNING 0-0: SDO information error response while fetching SDO entry 0xF100:0B! [2061713.888640] EtherCAT ERROR 0-0: SDO abort message 0x06090011: "Subindex does not exist". [2061713.892574] EtherCAT WARNING 0-0: SDO information error response while fetching SDO entry 0xF100:0C! [2061713.892577] EtherCAT ERROR 0-0: SDO abort message 0x06090011: "Subindex does not exist". [2061713.896793] EtherCAT WARNING 0-0: SDO information error response while fetching SDO entry 0xF100:0D! [2061713.896797] EtherCAT ERROR 0-0: SDO abort message 0x06090011: "Subindex does not exist". [2061713.900671] EtherCAT WARNING 0-0: SDO information error response while fetching SDO entry 0xF100:0E! [2061713.900674] EtherCAT ERROR 0-0: SDO abort message 0x06090011: "Subindex does not exist". [2061716.623870] EtherCAT WARNING 0: 1 datagram TIMED OUT! Some months a go I get to configure correctly typical cards with the EK1100 bus coupler. But the way to proceed looks diferent. About the CCAT driver ... i just compile all without this enable, it isn't on the pdf manual. Then could be help us recompiling with that flag on? Thank you very much King regards David Jiménez Mejías -Original Message- From: Graeme Foot To: David Jiménez Mejías , "etherlab-users@etherlab.org
[etherlab-users] CX CPU as Master Linux Slave
Hi everyone! I would like to share some data from a Beckhoff CPU, CX line, by the slave EtherCAT Port. Using a EtherLab Master Linux. Is there someone with some experience on that issue? I configure the TxPDO and RxPDO in the Slave CPU, and the only way that I get the Linux Master reads its PDOs is with the slave CPU on config mode. I'm studing this procedure from zero, then, if there is someone with some informatuion about it I will so grateful. Thanks in advance - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - David Jiménez Mejías -- ADVERTENCIA: Sobre la privacidad y cumplimiento de la Ley de Protección de Datos, acceda a http://www.gtc.iac.es/gtc/legal_es.php WARNING: For more information on privacy and fulfilment of the Law concerning the Protection of Data, consult http://www.gtc.iac.es/gtc/legal_es.php___ etherlab-users mailing list etherlab-users@etherlab.org http://lists.etherlab.org/mailman/listinfo/etherlab-users
Re: [etherlab-users] Initializing CanOpen Master Module EL6751-0010
Hi again Richard, I was working on this topic this week, following the indication from the link I get to a new scenario, I tell you: I've imported from TwinCAT XML the data of the diferents SDO entries. (XML appended on this email). I get to write the config SDO entries [0x1212, 0x1C13, 0xF800, 0x8000], I could check the correct configuration with etchercat tool (./ethercat upload ...): # sudo ./ethercat upload -p4 -t uint16 0x8000 1 > 0x0007 7 // This is the correct Can Slave Node ID (0x by default) # sudo ./ethercat upload -p4 -t uint8 0xF800 2 > 0x03 3 // This is the correct Baudratre configuration (0x02 by default) But the EL6751 can't pass to OP, it keeps on PREOP+ERROR (Code appended on this email). This is the dmesg output: [ 4055.253520] EtherCAT 0: Releasing master... [ 4055.253529] EtherCAT 0: Master thread exited. [ 4055.253539] EtherCAT 0: Starting EtherCAT-IDLE thread. [ 4055.253561] EtherCAT 0: Released. [ 4057.131180] EtherCAT: Requesting master 0... [ 4057.131184] EtherCAT: Successfully requested master 0. [ 4057.131375] EtherCAT 0: Domain0: Logical address 0x, 22 byte, expected working counter 8. [ 4057.131377] EtherCAT 0: Datagram domain0-0-main: Logical offset 0x, 22 byte, type LRW. [ 4057.131389] EtherCAT 0: Master thread exited. [ 4057.131391] EtherCAT 0: Starting EtherCAT-OP thread. [ 4057.131453] EtherCAT WARNING 0: 1 datagram UNMATCHED! [ 4057.133102] EtherCAT WARNING 0: No app_time received up to now, but master already active. [ 4060.034303] EtherCAT 0: Domain 0: Working counter changed to 2/8. [ 4061.835479] EtherCAT 0: Domain 0: Working counter changed to 3/8. [ 4063.336336] EtherCAT 0: Domain 0: Working counter changed to 5/8. [ 4065.637736] EtherCAT ERROR 0-4: SDO upload 0x1A00:00 aborted. [ 4065.637740] EtherCAT ERROR 0-4: SDO abort message 0x0602: "This object does not exist in the object directory". [ 4065.637742] EtherCAT ERROR 0-4: Failed to read number of mapped PDO entries. [ 4065.637743] EtherCAT WARNING 0-4: Failed to read PDO entries for PDO 0x1A00. [ 4065.637745] EtherCAT WARNING 0-4: Slave does not support changing the PDO mapping! [ 4065.637746] EtherCAT WARNING 0-4: Currently mapped PDO entries: (none). Entries to map: 0x6000:01/8 [ 4065.637750] EtherCAT WARNING 0-4: Slave does not support assigning PDOs! [ 4065.637750] EtherCAT WARNING 0-4: Currently assigned PDOs: (none). PDOs to assign: 0x1A00 [ 4066.037976] EtherCAT ERROR 0-4: SDO upload 0x1600:00 aborted. [ 4066.037981] EtherCAT ERROR 0-4: SDO abort message 0x0602: "This object does not exist in the object directory". [ 4066.037982] EtherCAT ERROR 0-4: Failed to read number of mapped PDO entries. [ 4066.037984] EtherCAT WARNING 0-4: Failed to read PDO entries for PDO 0x1600. [ 4066.037985] EtherCAT WARNING 0-4: Slave does not support changing the PDO mapping! [ 4066.037986] EtherCAT WARNING 0-4: Currently mapped PDO entries: (none). Entries to map: 0x7000:01/32 [ 4071.841620] EtherCAT WARNING 0-4: Slave does not support changing the PDO mapping! [ 4071.841627] EtherCAT WARNING 0-4: Currently mapped PDO entries: 0xF102:01/8 0xF101:03/8 0xF108:01/1 0xF108:02/1 0xF108:03/1 0x:00/1 0xF108:05/1 0xF108:06/1 0x:00/2 0x:00/8 0xF108:21/8 0xF108:22/8 0xF101:14/1 0xF103:01/1 0x:00/6. Entries to map: 0xA000:01/8 0xF100:01/8 0xF100:03/16 0xF100:05/8 0xF100:04/8 0xF100:02/1 0xA000:02/1 [ 4071.841656] EtherCAT WARNING 0-4: Slave does not support assigning PDOs! [ 4071.841658] EtherCAT WARNING 0-4: Currently assigned PDOs: (none). PDOs to assign: 0x1600 0x1A80 [ 4072.241802] EtherCAT 0: Domain 0: Working counter changed to 7/8. [ 4072.341869] EtherCAT ERROR 0-4: Failed to set SAFEOP state, slave refused state change (PREOP + ERROR). [ 4072.541984] EtherCAT ERROR 0-4: AL status message 0x001E: "Invalid input configuration". [ 4072.742107] EtherCAT 0-4: Acknowledged state PREOP. [ 4073.142357] EtherCAT WARNING 0-4: CoE Emergency Request received: [ 4073.142360] EtherCAT DEBUG: 0E 07 10 07 10 Could you tell me some tip that make me know how to get the EL6751 Operational with its Can-Slave working? Thank you in advance Best regards - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - David Jiménez Mejías - Gran Telescopio de Canarias S.A Ingeniero de Operación / Operation Engineer -Original Message- From: Richard Hacker To: "etherlab-users@etherlab.org" Cc: David Jiménez Mejías Date: Wed, 28 Oct 2015 11:37:26 +0100 Subject: Re: [etherlab-users] Initializing CanOpen Master Module EL6751-0010 Hi David, Communication slaves are very(!) difficult to handle, because they are configured by means of SDO's. We are not aware of a free tool that can be used to cofigure them. They must be configured using TwinCAT(2). A trial version is available free of charge from Beckhoff. This can be used to configure the slave.
Re: [etherlab-users] Beckhoff 6731-0010 initialization
55 0x:FF/255 0x:FF/255 0x:FF/255 0x:FF/255 0x:FF/255 0x:FF/255 0x:FF/255 0x:FF/255 0x:FF/255 0x:FF/255 0x:FF/255 0x:FF/255 0x:FF/255 0x:FF/255 0x:FF/255 0x:FF/255. Entries to map: 0xA000:01/8 0xA000:02/1 0xF100:01/8 0xF100:02/1 0xF100:03/16 0xF100:05/8 0xF100:04/8 0xA000:02/1 [26602.094124] EtherCAT WARNING 0-4: Slave does not support assigning PDOs! [26602.094124] EtherCAT WARNING 0-4: Currently assigned PDOs: (none). PDOs to assign: 0x1600 0x1A80 [26602.194119] EtherCAT 0: Domain 0: Working counter changed to 0/8. [26602.194133] EtherCAT ERROR 0-4: Failed to receive process data sync manager configuration datagram: Datagram error. [26602.296669] EtherCAT 0: 0 slave(s) responding on main device. [26606.051471] EtherCAT 0: Releasing master... [26606.051480] EtherCAT 0: Master thread exited. [26606.051490] EtherCAT 0: Starting EtherCAT-IDLE thread. [26606.051577] EtherCAT 0: Released. [26606.915499] EtherCAT WARNING: Datagram 8800d493e678 (master-fsm) was SKIPPED 1 time. [26610.951922] EtherCAT 0: Link state of ecm0 changed to UP. [26610.953926] EtherCAT 0: 5 slave(s) responding on main device. [26610.953929] EtherCAT 0: Slave states on main device: INIT. [26610.954379] EtherCAT 0: Scanning bus. [26611.635164] EtherCAT 0: Bus scanning completed in 680 ms. [26611.635167] EtherCAT 0: Using slave 0 as DC reference clock. [26611.638343] EtherCAT 0: Slave states on main device: INIT, PREOP. [26611.766467] EtherCAT 0: Slave states on main device: PREOP. [26613.251044] EtherCAT: Requesting master 0... [26613.251049] EtherCAT: Successfully requested master 0. [26613.251232] EtherCAT 0: Domain0: Logical address 0x, 22 byte, expected working counter 8. [26613.251234] EtherCAT 0: Datagram domain0-0-main: Logical offset 0x, 22 byte, type LRW. [26613.251338] EtherCAT 0: Master thread exited. [26613.251340] EtherCAT 0: Starting EtherCAT-OP thread. [26613.255430] EtherCAT WARNING 0: No app_time received up to now, but master already active. [26616.254531] EtherCAT 0: Domain 0: Working counter changed to 2/8. [26618.055638] EtherCAT 0: Domain 0: Working counter changed to 3/8. [26619.556570] EtherCAT 0: Domain 0: Working counter changed to 5/8. [26621.257595] EtherCAT ERROR 0-4: SDO upload 0x1A00:00 aborted. [26621.257598] EtherCAT ERROR 0-4: SDO abort message 0x0602: "This object does not exist in the object directory". [26621.257600] EtherCAT ERROR 0-4: Failed to read number of mapped PDO entries. [26621.257600] EtherCAT WARNING 0-4: Failed to read PDO entries for PDO 0x1A00. [26621.257603] EtherCAT WARNING 0-4: Slave does not support changing the PDO mapping! [26621.257603] EtherCAT WARNING 0-4: Currently mapped PDO entries: (none). Entries to map: 0x6000:01/8 [26621.257606] EtherCAT WARNING 0-4: Slave does not support assigning PDOs! [26621.257607] EtherCAT WARNING 0-4: Currently assigned PDOs: (none). PDOs to assign: 0x1A00 [26621.657860] EtherCAT ERROR 0-4: SDO upload 0x1600:00 aborted. [26621.657864] EtherCAT ERROR 0-4: SDO abort message 0x0602: "This object does not exist in the object directory". [26621.657865] EtherCAT ERROR 0-4: Failed to read number of mapped PDO entries. [26621.657866] EtherCAT WARNING 0-4: Failed to read PDO entries for PDO 0x1600. [26621.657867] EtherCAT WARNING 0-4: Slave does not support changing the PDO mapping! [26621.657868] EtherCAT WARNING 0-4: Currently mapped PDO entries: (none). Entries to map: 0x7000:01/32 [26622.058103] EtherCAT WARNING 0-4: Slave does not support changing the PDO mapping! [26622.058106] EtherCAT WARNING 0-4: Currently mapped PDO entries: (none). Entries to map: 0xA000:01/8 0xA000:02/1 0xF100:01/8 0xF100:02/1 0xF100:03/16 0xF100:05/8 0xF100:04/8 0xA000:02/1 [26622.058115] EtherCAT WARNING 0-4: Slave does not support assigning PDOs! [26622.058116] EtherCAT WARNING 0-4: Currently assigned PDOs: (none). PDOs to assign: 0x1600 0x1A80 [26622.458353] EtherCAT 0: Domain 0: Working counter changed to 7/8. [26623.559009] EtherCAT 0: Domain 0: 2 working counter changes - now 7/8. Do you know where could be my error? Thanks again Best Regards - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - David Jiménez Mejías - Gran Telescopio de Canarias S.A Ingeniero de Operación / Operation Engineer -----Original Message- From: Gavin Lambert To: 'David Jiménez Mejías' , , Date: Mon, 2 Nov 2015 10:59:12 +1300 Subject: RE: [etherlab-users] Beckhoff 6731-0010 initialization Your strToCharArray function is corrupting memory by looping too many times – you loop up to the number of characters in the input array, but each loop reads two characters from the array. You’re therefore writing twice as much data as you should be, and half of it is garbage. You really shouldn’t have that sort of code anyway, since it’s all constant data in the first place. Change the global definitions from a
Re: [etherlab-users] Beckhoff 6731-0010 initialization
master, EL6751Pos, Beckhoff_EL6751))) { fprintf(stderr, "Failed to get slave configuration.\n"); return -1; } fprintf(stderr,"Starting EL6751 Configuration ...\n"); fprintf(stderr,"Proceeding 0x1C32 wrinting ...\n"); cnt = strToCharArray(pb_config_master_0x1C32,pb_config_buf); ecrt_slave_config_complete_sdo(sc_EL6751_Canopen, 0x1C32, pb_config_buf, cnt); fprintf(stderr,"Proceeding 0x1C33 wrinting ...\n"); cnt = strToCharArray(pb_config_master_0x1C33,pb_config_buf); ecrt_slave_config_complete_sdo(sc_EL6751_Canopen, 0x1C33, pb_config_buf, cnt); fprintf(stderr,"Proceeding 0xF800 wrinting ...\n"); cnt = strToCharArray(pb_config_master_0xf800,pb_config_buf); ecrt_slave_config_complete_sdo(sc_EL6751_Canopen, 0xf800, pb_config_buf, cnt); fprintf(stderr,"Proceeding 0x8000 wrinting ...\n"); cnt = strToCharArray(pb_config_master_0x8000,pb_config_buf); ecrt_slave_config_complete_sdo(sc_EL6751_Canopen, 0x8000, pb_config_buf, cnt); fprintf(stderr,"Proceeding 0x8001 wrinting ...\n"); cnt = strToCharArray(pb_config_master_0x8001,pb_config_buf); ecrt_slave_config_complete_sdo(sc_EL6751_Canopen, 0x8001, pb_config_buf, cnt); fprintf(stderr,"Proceeding 0x8002 wrinting ...\n"); cnt = strToCharArray(pb_config_master_0x8002,pb_config_buf); ecrt_slave_config_complete_sdo(sc_EL6751_Canopen, 0x8002, pb_config_buf, cnt); fprintf(stderr,"Proceeding 0x8003 wrinting ...\n"); cnt = strToCharArray(pb_config_master_0x8003,pb_config_buf); ecrt_slave_config_complete_sdo(sc_EL6751_Canopen, 0x8003, pb_config_buf, cnt); fprintf(stderr,"EL6751 Configuration Ended ...\n"); /*-*/ printf("Configuring EL6751 PDOs...\n"); if (ecrt_slave_config_pdos(sc_EL6751_Canopen, EC_END, slave_4_syncs)) { fprintf(stderr, "Failed to configure PDOs.\n"); return -1; } #if SDO_ACCESS fprintf(stderr, "Creating SDO requests...\n"); if (!(sdo = ecrt_slave_config_create_sdo_request(sc_EL6751_Canopen, 0xF002, 3,2))) { fprintf(stderr, "Failed to create SDO request.\n"); return -1; } ecrt_sdo_request_timeout(sdo, 500); // ms #endif // Create configuration for bus coupler sc = ecrt_master_slave_config(master, EK1100Pos, Beckhoff_EK1100); if (!sc) return -1; if (ecrt_domain_reg_pdo_entry_list(domain1, domain1_regs)) { fprintf(stderr, "PDO entry registration failed!\n"); return -1; } printf("Activating master...\n"); if (ecrt_master_activate(master)) return -1; if (!(domain1_pd = ecrt_domain_data(domain1))) { return -1; } #if PRIORITY pid_t pid = getpid(); if (setpriority(PRIO_PROCESS, pid, -19)) fprintf(stderr, "Warning: Failed to set priority: %s\n", strerror(errno)); #endif sa.sa_handler = signal_handler; sigemptyset(&sa.sa_mask); sa.sa_flags = 0; if (sigaction(SIGALRM, &sa, 0)) { fprintf(stderr, "Failed to install signal handler!\n"); return -1; } printf("Starting timer...\n"); tv.it_interval.tv_sec = 0; tv.it_interval.tv_usec = 100 / FREQUENCY; tv.it_value.tv_sec = 0; tv.it_value.tv_usec = 1000; if (setitimer(ITIMER_REAL, &tv, NULL)) { fprintf(stderr, "Failed to start timer: %s\n", strerror(errno)); return 1; } printf("Started.\n"); while (1) { pause(); #if 0 struct timeval t; gettimeofday(&t, NULL); printf("%u.%06u\n", t.tv_sec, t.tv_usec); #endif while (sig_alarms != user_alarms) { cyclic_task(); user_alarms++; } } return 0; } // Thank you very much Best regards - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - David Jiménez Mejías - Gran Telescopio de Canarias S.A Ingeniero de Operación / Operation Engineer -Original Message- From: Gavin Lambert To: 'David Jiménez Mejías' , , Date: Fri, 30 Oct 2015 11:06:40 +1300 Subject: RE: [etherlab-users] Beckhoff 6731-0010 initialization Most likely, there is something invalid in the parameters for the SDO configuration functions. You’ll need to post all of the related code if you want help in locating it. From: etherlab-users [mailto:etherlab-users-boun...@etherlab.org] On Behalf Of David Jiménez Mejías Sent: Thursday, 29 October 2015 23:53 To: h...@igh-essen.com; etherlab-users@etherlab.org Subject: [etherlab-users] Beckhoff 6731-0010 initialization Dear Wilhelm, I was reading your replies to this issue at the EtherLab-Users mailing list and it was very helpful for me. http://lists.etherlab.org/piperma
[etherlab-users] Beckhoff 6731-0010 initialization
Dear Wilhelm, I was reading your replies to this issue at the EtherLab-Users mailing list and it was very helpful for me. http://lists.etherlab.org/pipermail/etherlab-users/2012/001860.html I'm trying to configure a Can Network from the Beckhoff Can Master Module EL6751 with only one can slave (Phoenix Contact Can I/O Terminal). I just do it the steps like the configuration of the EL6731 (Profibus Master Module): - Configure the Can Network with TwinCAT - Export the XML - Format it with xmllint - And take the necessary data: * PDOs Entries: Tx and Rx * StartUp SDO config of the next Index: + 0x1C32 + 0x1C33 + 0xF800 + 0x8000 + 0x8001 + 0x8002 + 0x8003 - Implement the C code for the configuration, but I keep out from the app without error at the function: * ecrt_slave_config_complete_sdo(sc, 0x1C32, pb_config_buf, cnt); The last dmesg is: [ 9574.754735] EtherCAT: Requesting master 0... [ 9574.754754] EtherCAT: Successfully requested master 0. [ 9574.754984] lt-ec_user_exam[7579]: segfault at 10 ip 7fdced6058a5 sp 7ffefada2900 error 4 in libethercat.so.1.0.0[7fdced601000+8000] [ 9574.930388] EtherCAT 0: Releasing master... [ 9574.930400] EtherCAT 0: Released. [ 9607.095769] EtherCAT: Requesting master 0... [ 9607.095792] EtherCAT: Successfully requested master 0. [ 9607.095971] lt-ec_user_exam[7663]: segfault at 10 ip 7fadcfdb98a5 sp 7ffedfea14c0 error 4 in libethercat.so.1.0.0[7fadcfdb5000+8000] [ 9607.276982] EtherCAT 0: Releasing master... [ 9607.277021] EtherCAT 0: Released. [ 9626.248196] EtherCAT: Requesting master 0... [ 9626.248200] EtherCAT: Successfully requested master 0. [ 9626.248261] lt-ec_user_exam[7744]: segfault at 10 ip 7f741d0eb8a5 sp 7ffe6e5358f0 error 4 in libethercat.so.1.0.0[7f741d0e7000+8000] [ 9626.401297] EtherCAT 0: Releasing master... [ 9626.401309] EtherCAT 0: Released. [ 9753.014994] EtherCAT: Requesting master 0... [ 9753.015011] EtherCAT: Successfully requested master 0. [ 9753.015166] lt-ec_user_exam[7792]: segfault at 10 ip 7f15e18768a5 sp 7ffcbd184820 error 4 in libethercat.so.1.0.0[7f15e1872000+8000] [ 9753.161441] EtherCAT 0: Releasing master... [ 9753.161589] EtherCAT 0: Released. [ 9799.019908] EtherCAT: Requesting master 0... [ 9799.019915] EtherCAT: Successfully requested master 0. [ 9799.020082] lt-ec_user_exam[7814]: segfault at 10 ip 7fd538ee78a5 sp 7ffd0c9fca80 error 4 in libethercat.so.1.0.0[7fd538ee3000+8000] [ 9799.165522] EtherCAT 0: Releasing master... [ 9799.165574] EtherCAT 0: Released. I'm not sure is there is the correct information to know whats happens, tell me any doubt. Thank you very much King regards - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - David Jiménez Mejías - Gran Telescopio de Canarias S.A Ingeniero de Operación / Operation Engineer -- ADVERTENCIA: Sobre la privacidad y cumplimiento de la Ley de Protección de Datos, acceda a http://www.gtc.iac.es/gtc/legal_es.php WARNING: For more information on privacy and fulfilment of the Law concerning the Protection of Data, consult http://www.gtc.iac.es/gtc/legal_es.php___ etherlab-users mailing list etherlab-users@etherlab.org http://lists.etherlab.org/mailman/listinfo/etherlab-users
[etherlab-users] Initializing CanOpen Master Module EL6751-0010
Hello, I just trying to configure a CanOpen Network with a CanOpen Master Module EL6710-0010 (Beckhoff), and get some doubts and issues. I proceed just the module infosys website indicates, I did the next steps: - Configure the BaudRate SDO: # ./ethercat download -p4 -t uint8 0xF800 2 3 (250KBauds) - Request a Detect Module Command # ./ethercat download -p4 -t uint16 0xF002 1 0x11 -> At this step I need to write "something" to a octet_string[2] entry, with this format the requested commando doesn work, I do it using a uint16. Does someone know which octet is the expected? - After the request command I observe the percent counter process: # ./ethercat upload -p4 -t uint8 0xF002 2 0x80 128 # ./ethercat upload -p4 -t uint8 0xF002 2 0x95 149 - Until it keeps on value 0x01: # ./ethercat upload -p4 -t uint8 0xF002 2 0x01 1 - It means, reading at infosys, that: "Command ended without error, response data in SubIndex 3", then I tried read the octet_string[n] directly from the terminal, but it can't be possible, then I do: # ./ethercat upload -p4 -t octet_string 0xF002 3 > ~/prescan.out - This output file is: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -> The first octet_couple correspond with the infosys website detail, al the next is 0. - I tried to repeat the request command but I get the next error: # ./ethercat download -p4 -t octet_string 0xF002 1 0x22 SDO transfer aborted with code 0x0821: Data cannot be transferred or stored to the application because of local control This is the point where i'm get stacked. Is there some one that have some experience with this type of modules? Thank you very much Best regards - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - David Jiménez Mejías - Gran Telescopio de Canarias S.A Ingeniero de Operación / Operation Engineer -- ADVERTENCIA: Sobre la privacidad y cumplimiento de la Ley de Protección de Datos, acceda a http://www.gtc.iac.es/gtc/legal_es.php WARNING: For more information on privacy and fulfilment of the Law concerning the Protection of Data, consult http://www.gtc.iac.es/gtc/legal_es.php___ etherlab-users mailing list etherlab-users@etherlab.org http://lists.etherlab.org/mailman/listinfo/etherlab-users
Re: [etherlab-users] Make Module Errors
Sorry for the reply before, don't take it on care. All just done correctly. Thanks - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - David Jiménez Mejías - Gran Telescopio de Canarias S.A Ingeniero de Operación / Operation Engineer Centro de Astrofísica de La Palma, C.P 38718, Breña Baja S/C de Tenerife / España Email: david.jime...@gtc.iac.es Tlf: +34 922 425 720 Fax: +34 922 425 725 -Original Message- From: Patrick Brünn To: David Jiménez Mejías , "etherlab-users@etherlab.org" Date: Fri, 16 Oct 2015 09:44:31 + Subject: RE: [etherlab-users] Make Module Errors Hi David, with Kernel 3.17 the signature of alloc_netdev() changed. A simple patch would be to add “NET_NAME_UNKNOWN” as third parameter. Regards, Patrick --- From: etherlab-users [mailto:etherlab-users-boun...@etherlab.org] On Behalf Of David Jiménez Mejías Sent: Freitag, 16. Oktober 2015 10:33 To: etherlab-users@etherlab.org Subject: [etherlab-users] Make Module Errors Hello! I'm working on Ubuntu 14.04 with 3.19 kernel and I would like to install the EtherLab Master on it. I just done correctly ./configure with the generic driver because de kernel 3.19 is not supported by my actual driver (e1000e). make just done correctly too The make module doesn't correctly, I received the next errors: make -C "/usr/src/linux-headers-3.19.0-25-generic" M="/usr/local/src/ethercat-1.5.2" modules make[1]: Entering directory `/usr/src/linux-headers-3.19.0-25-generic' CC [M] /usr/local/src/ethercat-1.5.2/devices/generic.o /usr/local/src/ethercat-1.5.2/devices/generic.c: In function ‘ec_gen_device_init’: /usr/local/src/ethercat-1.5.2/devices/generic.c:152:77: error: macro "alloc_netdev" requires 4 arguments, but only 3 given dev->netdev = alloc_netdev(sizeof(ec_gen_device_t *), &null, ether_setup); ^ /usr/local/src/ethercat-1.5.2/devices/generic.c:152:19: error: ‘alloc_netdev’ undeclared (first use in this function) dev->netdev = alloc_netdev(sizeof(ec_gen_device_t *), &null, ether_setup); ^ /usr/local/src/ethercat-1.5.2/devices/generic.c:152:19: note: each undeclared identifier is reported only once for each function it appears in /usr/local/src/ethercat-1.5.2/devices/generic.c:146:10: warning: unused variable ‘null’ [-Wunused-variable] char null = 0x00; ^ make[3]: *** [/usr/local/src/ethercat-1.5.2/devices/generic.o] Error 1 make[2]: *** [/usr/local/src/ethercat-1.5.2/devices] Error 2 make[1]: *** [_module_/usr/local/src/ethercat-1.5.2] Error 2 make[1]: Leaving directory `/usr/src/linux-headers-3.19.0-25-generic' make: *** [modules] Error 2 Does someone know something about this error? Thank you very much Best regards David J.M - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - David Jiménez Mejías - Gran Telescopio de Canarias S.A Ingeniero de Operación / Operation Engineer Centro de Astrofísica de La Palma, C.P 38718, Breña Baja S/C de Tenerife / España Email: david.jime...@gtc.iac.es Tlf: +34 922 425 720 Fax: +34 922 425 725 -- ADVERTENCIA: Sobre la privacidad y cumplimiento de la Ley de Protección de Datos, acceda a http://www.gtc.iac.es/gtc/legal_es.php WARNING: For more information on privacy and fulfilment of the Law concerning the Protection of Data, consult http://www.gtc.iac.es/gtc/legal_es.php Beckhoff Automation GmbH & Co. KG | Managing Director: Dipl. Phys. Hans Beckhoff Registered office: Verl, Germany | Register court: Guetersloh HRA 7075 -- ADVERTENCIA: Sobre la privacidad y cumplimiento de la Ley de Protección de Datos, acceda a http://www.gtc.iac.es/gtc/legal_es.php WARNING: For more information on privacy and fulfilment of the Law concerning the Protection of Data, consult http://www.gtc.iac.es/gtc/legal_es.php___ etherlab-users mailing list etherlab-users@etherlab.org http://lists.etherlab.org/mailman/listinfo/etherlab-users
Re: [etherlab-users] Make Module Errors
Thank you very much for your reply, I just tried but I get new error. The original call for alloc_netdev() is teh next: dev->netdev = alloc_netdev(sizeof(ec_gen_device_t *), &null, ether_setup); Adding the third argument according with you tip, the line looks like follow: dev->netdev = alloc_netdev(sizeof(ec_gen_device_t *), &null,“NET_NAME_UNKNOWN”, ether_setup); When I execute the make modules I get the next errors: make -C "/usr/src/linux-headers-3.19.0-25-generic" M="/usr/local/src/ethercat-1.5.2" modules make[1]: Entering directory `/usr/src/linux-headers-3.19.0-25-generic' CC [M] /usr/local/src/ethercat-1.5.2/devices/generic.o /usr/local/src/ethercat-1.5.2/devices/generic.c: In function ‘ec_gen_device_init’: /usr/local/src/ethercat-1.5.2/devices/generic.c:152:5: error: stray ‘\342’ in program dev->netdev = alloc_netdev(sizeof(ec_gen_device_t *), &null,“NET_NAME_UNKNOWN”, ether_setup); ^ /usr/local/src/ethercat-1.5.2/devices/generic.c:152:5: error: stray ‘\200’ in program /usr/local/src/ethercat-1.5.2/devices/generic.c:152:5: error: stray ‘\234’ in program /usr/local/src/ethercat-1.5.2/devices/generic.c:152:5: error: stray ‘\342’ in program /usr/local/src/ethercat-1.5.2/devices/generic.c:152:5: error: stray ‘\200’ in program /usr/local/src/ethercat-1.5.2/devices/generic.c:152:5: error: stray ‘\235’ in program make[3]: *** [/usr/local/src/ethercat-1.5.2/devices/generic.o] Error 1 make[2]: *** [/usr/local/src/ethercat-1.5.2/devices] Error 2 make[1]: *** [_module_/usr/local/src/ethercat-1.5.2] Error 2 make[1]: Leaving directory `/usr/src/linux-headers-3.19.0-25-generic' make: *** [modules] Error 2 Maybe I do something wrong. Thanks again Best regards - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - David Jiménez Mejías - Gran Telescopio de Canarias S.A Ingeniero de Operación / Operation Engineer Centro de Astrofísica de La Palma, C.P 38718, Breña Baja S/C de Tenerife / España Email: david.jime...@gtc.iac.es Tlf: +34 922 425 720 Fax: +34 922 425 725 -Original Message- From: Patrick Brünn To: David Jiménez Mejías , "etherlab-users@etherlab.org" Date: Fri, 16 Oct 2015 09:44:31 + Subject: RE: [etherlab-users] Make Module Errors Hi David, with Kernel 3.17 the signature of alloc_netdev() changed. A simple patch would be to add “NET_NAME_UNKNOWN” as third parameter. Regards, Patrick --- From: etherlab-users [mailto:etherlab-users-boun...@etherlab.org] On Behalf Of David Jiménez Mejías Sent: Freitag, 16. Oktober 2015 10:33 To: etherlab-users@etherlab.org Subject: [etherlab-users] Make Module Errors Hello! I'm working on Ubuntu 14.04 with 3.19 kernel and I would like to install the EtherLab Master on it. I just done correctly ./configure with the generic driver because de kernel 3.19 is not supported by my actual driver (e1000e). make just done correctly too The make module doesn't correctly, I received the next errors: make -C "/usr/src/linux-headers-3.19.0-25-generic" M="/usr/local/src/ethercat-1.5.2" modules make[1]: Entering directory `/usr/src/linux-headers-3.19.0-25-generic' CC [M] /usr/local/src/ethercat-1.5.2/devices/generic.o /usr/local/src/ethercat-1.5.2/devices/generic.c: In function ‘ec_gen_device_init’: /usr/local/src/ethercat-1.5.2/devices/generic.c:152:77: error: macro "alloc_netdev" requires 4 arguments, but only 3 given dev->netdev = alloc_netdev(sizeof(ec_gen_device_t *), &null, ether_setup); ^ /usr/local/src/ethercat-1.5.2/devices/generic.c:152:19: error: ‘alloc_netdev’ undeclared (first use in this function) dev->netdev = alloc_netdev(sizeof(ec_gen_device_t *), &null, ether_setup); ^ /usr/local/src/ethercat-1.5.2/devices/generic.c:152:19: note: each undeclared identifier is reported only once for each function it appears in /usr/local/src/ethercat-1.5.2/devices/generic.c:146:10: warning: unused variable ‘null’ [-Wunused-variable] char null = 0x00; ^ make[3]: *** [/usr/local/src/ethercat-1.5.2/devices/generic.o] Error 1 make[2]: *** [/usr/local/src/ethercat-1.5.2/devices] Error 2 make[1]: *** [_module_/usr/local/src/ethercat-1.5.2] Error 2 make[1]: Leaving directory `/usr/src/linux-headers-3.19.0-25-generic' make: *** [modules] Error 2 Does someone know something about this error? Thank you very much Best regards David J.M - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - David Jiménez Mejías - Gran Telescopio de Canarias S.A Ingeniero de Operación / Operation Engineer Centro de Astrofísica de La Palma, C.P 38718, Breña Baja S/C de Tenerife / España Email: david.jime...@gtc.iac.es Tlf: +34 922 425 720 Fax: +34 922 425 725 -- ADVERTENCIA:
[etherlab-users] Make Module Errors
Hello! I'm working on Ubuntu 14.04 with 3.19 kernel and I would like to install the EtherLab Master on it. I just done correctly ./configure with the generic driver because de kernel 3.19 is not supported by my actual driver (e1000e). make just done correctly too The make module doesn't correctly, I received the next errors: make -C "/usr/src/linux-headers-3.19.0-25-generic" M="/usr/local/src/ethercat-1.5.2" modules make[1]: Entering directory `/usr/src/linux-headers-3.19.0-25-generic' CC [M] /usr/local/src/ethercat-1.5.2/devices/generic.o /usr/local/src/ethercat-1.5.2/devices/generic.c: In function ‘ec_gen_device_init’: /usr/local/src/ethercat-1.5.2/devices/generic.c:152:77: error: macro "alloc_netdev" requires 4 arguments, but only 3 given dev->netdev = alloc_netdev(sizeof(ec_gen_device_t *), &null, ether_setup); ^ /usr/local/src/ethercat-1.5.2/devices/generic.c:152:19: error: ‘alloc_netdev’ undeclared (first use in this function) dev->netdev = alloc_netdev(sizeof(ec_gen_device_t *), &null, ether_setup); ^ /usr/local/src/ethercat-1.5.2/devices/generic.c:152:19: note: each undeclared identifier is reported only once for each function it appears in /usr/local/src/ethercat-1.5.2/devices/generic.c:146:10: warning: unused variable ‘null’ [-Wunused-variable] char null = 0x00; ^ make[3]: *** [/usr/local/src/ethercat-1.5.2/devices/generic.o] Error 1 make[2]: *** [/usr/local/src/ethercat-1.5.2/devices] Error 2 make[1]: *** [_module_/usr/local/src/ethercat-1.5.2] Error 2 make[1]: Leaving directory `/usr/src/linux-headers-3.19.0-25-generic' make: *** [modules] Error 2 Does someone know something about this error? Thank you very much Best regards David J.M - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - David Jiménez Mejías - Gran Telescopio de Canarias S.A Ingeniero de Operación / Operation Engineer Centro de Astrofísica de La Palma, C.P 38718, Breña Baja S/C de Tenerife / España Email: david.jime...@gtc.iac.es Tlf: +34 922 425 720 Fax: +34 922 425 725 -- ADVERTENCIA: Sobre la privacidad y cumplimiento de la Ley de Protección de Datos, acceda a http://www.gtc.iac.es/gtc/legal_es.php WARNING: For more information on privacy and fulfilment of the Law concerning the Protection of Data, consult http://www.gtc.iac.es/gtc/legal_es.php___ etherlab-users mailing list etherlab-users@etherlab.org http://lists.etherlab.org/mailman/listinfo/etherlab-users