[Etherlab-users] Implementation of Safety - Terminals EL6900, EL1904 and EL2904
Graeme Foot
Graeme.Foot at touchcut.com
Tue Aug 23 01:53:03 CEST 2022
Hi Uwe,
We have implemented FSoE with an EK1960, an EL1904 and an EL2904 in the past. The EK1960 is a bit different to the EL6900 as it also has it's own IO. However it seems like your PDO configuration is missing a lot of data both in what the device thinks it has configured (Currently mapped PDO entries) and what you are attempting to write (Entries to map).
First check that your project has been loaded on the EL6900 correctly, has been activated and the whole system repowered. Also verify the project crc. (We use the Beckhoff TwinSAFE Loader application to load the safety program via Linux. This requires a Mailbox Gateway Server, which is a patch I submitted to EtherLab a while ago.) The safety program is what defines the PDO layout on the EL6900. The master cstruct command may give you the correct PDO mapping but it's a while ago so I'm not sure on that one. I remember configuring my structs manually based on what was in the safety program as shown by TwinCAT. E.g.: in TwinCAT 3, if you go to I/O, Devices, Device 1, Term 1 (EL6900), Process Data tab it should show you the expected PDO layout for the terminal.
[cid:image001.png at 01D8B6E2.EB61F800]
[cid:image002.png at 01D8B6E2.EB61F800]
Order the PDO's by Sync Manager, then PDO Assignment, then PDO Content. Don't worry if you have duplicate index:subindex values. They should be unique within a particular PDO group. However you will need to use "ecrt_slave_config_reg_pdo_entry_pos" rather than "ecrt_slave_config_reg_pdo_entry" if you have any duplicates.
For each safety device (EL1904, EL2904) the EL6900 controls, your application must copy 48 input bits and 48 output bits (6 bytes) between the EL6900's PDO and each safety devices PDO's within your realtime read-calc-write loop. e.g. copy:
EL6900 TxPDO 0x1a00 -> EL1904 RxPDO 0x1600 (length 48 bits)
EL6900 TxPDO 0x1a01 -> EL2904 RxPDO 0x1600 (length 48 bits)
EL1904 TxPDO 0x1a00 -> EL6900 RxPDO 0x1600 (length 48 bits)
EL2904 TxPDO 0x1a00 -> EL6900 RxPDO 0x1601 (length 48 bits)
I think I got those the right way around. You will also need to check which blocks the EL1904/EL2904 actually map to based on you safety program.
Also for housekeeping, I put all of the safety related PDO's in their own domain.
Regards,
Graeme.
From: Etherlab-users <etherlab-users-bounces at etherlab.org> On Behalf Of Stegemann Uwe
Sent: Tuesday, 23 August 2022 02:02
To: etherlab-users at etherlab.org
Subject: [Etherlab-users] Implementation of Safety - Terminals EL6900, EL1904 and EL2904
Hi erveryone,
I want to setup TwinSafe Logic Terminals, EL6900, EL2904 and EL1904.I've created a Safety-Project with TwinCat3 and downloaded the safety-logic to the EL6900. I use the default settings from TwinCat3. Now I want to implement it to the etherlab-master.
The Default PDO-Mapping of the EL6900 - Terminal:
SM0: PhysAddr 0x1000, DefaultSize 256, ControlRegister 0x26, Enable 1
SM1: PhysAddr 0x1100, DefaultSize 256, ControlRegister 0x22, Enable 1
SM2: PhysAddr 0x1200, DefaultSize 2, ControlRegister 0x24, Enable 1
RxPDO 0x1600 "FSOE RxPDO-Map 001"
PDO entry 0x7000:01, 8 bit, "FSOE Command"
PDO entry 0x7001:01, 8 bit, "SubIndex 001"
PDO entry 0x7000:03, 16 bit, "FSOE CRC 001"
PDO entry 0x7000:02, 16 bit, "FSOE ConnID"
RxPDO 0x1601 "FSOE RxPDO-Map 002"
PDO entry 0x7010:01, 8 bit, "FSOE Command"
PDO entry 0x7011:01, 8 bit, "SubIndex 001"
PDO entry 0x7010:03, 16 bit, "FSOE CRC 001"
PDO entry 0x7010:02, 16 bit, "FSOE ConnID"
RxPDO 0x17f0 "DEVICE RxPDO-Map Standard In Vars"
PDO entry 0xf201:01, 1 bit, "SubIndex 001"
PDO entry 0xf201:02, 1 bit, "SubIndex 002"
PDO entry 0xf201:03, 1 bit, "SubIndex 003"
PDO entry 0xf201:04, 1 bit, "SubIndex 004"
PDO entry 0xf201:05, 1 bit, "SubIndex 005"
PDO entry 0xf201:06, 1 bit, "SubIndex 006"
PDO entry 0xf201:07, 1 bit, "SubIndex 007"
PDO entry 0xf201:08, 1 bit, "SubIndex 008"
RxPDO 0x17ff "DEVICE RxPDO-Map Control"
PDO entry 0xf200:01, 16 bit, "Control"
SM3: PhysAddr 0x1d00, DefaultSize 2, ControlRegister 0x20, Enable 1
TxPDO 0x1a00 "FSOE TxPDO-Map 001"
PDO entry 0x6000:01, 8 bit, "FSOE Command"
PDO entry 0x6001:01, 8 bit, "SubIndex 001"
PDO entry 0x6000:03, 16 bit, "FSOE CRC 001"
PDO entry 0x6000:02, 16 bit, "FSOE ConnID"
TxPDO 0x1a01 "FSOE TxPDO-Map 002"
PDO entry 0x6010:01, 8 bit, "FSOE Command"
PDO entry 0x6011:01, 8 bit, "SubIndex 001"
PDO entry 0x6010:03, 16 bit, "FSOE CRC 001"
PDO entry 0x6010:02, 16 bit, "FSOE ConnID"
TxPDO 0x1bff "DEVICE TxPDO-Map Status"
PDO entry 0xf100:01, 3 bit, "Safety Project State"
PDO entry 0x0000:00, 4 bit, "Gap"
PDO entry 0xf100:08, 1 bit, "Login Active"
PDO entry 0xf100:09, 1 bit, "Input Size Mismatch"
PDO entry 0xf100:0a, 1 bit, "Output Size Mismatch"
PDO entry 0x0000:00, 4 bit, "Gap"
PDO entry 0xf100:0f, 1 bit, "TxPDO State"
PDO entry 0xf100:10, 1 bit, "TxPDO Toggle"
When I want to add PDOs, I get following warnings:
EtherCAT WARNING 0-1: Currently mapped PDO entries: 0x7000:01/8 0x7001:01/8 0x7000:03/16 0x7000:02/16. Entries to map: 0x7000:01/8 0x7001:01/8 0x7000:03/16 0x7000:02/16 0x6000:01/48 0x6000:02/48
EtherCAT WARNING 0-1: Slave does not support changing the PDO mapping!
Slave Info EL6900:
=== Master 0, Slave 1 ===
Alias: 100
Device: Main
State: OP
Flag: +
Identity:
Vendor Id: 0x00000002
Product code: 0x1af43052
Revision number: 0x00130000
Serial number: 0x00000000
DL information:
FMMU bit operation: no
Distributed clocks: yes, delay measurement only
DC system time transmission delay: 145 ns
Port Type Link Loop Signal NextSlave RxTime [ns] Diff [ns] NextDc [ns]
0 EBUS up open yes 0 2874259272 0 145
1 EBUS up open yes 2 2874260152 880 145
2 N/A down closed no - - - -
3 N/A down closed no - - - -
Mailboxes:
Bootstrap RX: 0x1000/244, TX: 0x10f4/244
Standard RX: 0x1000/256, TX: 0x1100/256
Supported protocols: CoE, FoE
General:
Group: Safety
Image name: EL69XX
Order number: EL6900
Device name: EL6900, TwinSAFE-PLC
CoE details:
Enable SDO: yes
Enable SDO Info: yes
Enable PDO Assign: no
Enable PDO Configuration: no
Enable Upload at startup: no
Enable SDO complete access: no
Flags:
Enable SafeOp: no
Enable notLRW: no
Current consumption: 190 mA
I see, that's not possible to assign or to configure PPOs, but what is the right track to setup this system successfully?
The used PDOs are not unique!
Do I have to change settings in TwinCat3? I am not an Expert of this; I only want to use the Safety-Editor to create the Safety - Logic!
In earlier posts here I found, that it is possible to implement Safety Terminals in the etherlab master successfully.
I've already read, that the FSoE - Data (6 Bytes) between the Safety - Terminals must be managed in the cycle_task of the Application; a little bit tricky but make sense.
The last point: In the Safety - Logic I used one variable to set Com/Err - Signal which is also linked to a PDO, I can't mapped!
Thanks in advance for attention and help.
Best regards
Uwe Stegemann
____________________________________
G+D Currency Technology
Uwe Stegemann
Banknote-Engineering - Printing Division / Abt. CTBN 214
Giesecke+Devrient Currency Technology GmbH,
Prinzregentenstraße 159, D-81677 Munich, Germany
T +49 89 4119-2321 F +49 89 4119-1446
mailto:uwe.stegemann at gi-de.com
http://www.gi-de.com<http://www.gi-de.com/>
www.gi-de.com/currency-technology<https://www.gi-de.com/currency-technology/>
[Cash Matters]<http://www.cashmatters.org/>
Geschäftsführer: Dr. Wolfram Seidemann (Vorsitzender, CEO), Guido Koller (CFO), Wolfgang Kneilmann, Bernd Kümmerle
Gesellschaftssitz: München, Handelsregister des AG München, HRB 148256
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.etherlab.org/pipermail/etherlab-users/attachments/20220822/5c7f89aa/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.png
Type: image/png
Size: 10753 bytes
Desc: image001.png
URL: <http://lists.etherlab.org/pipermail/etherlab-users/attachments/20220822/5c7f89aa/attachment-0002.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image002.png
Type: image/png
Size: 31664 bytes
Desc: image002.png
URL: <http://lists.etherlab.org/pipermail/etherlab-users/attachments/20220822/5c7f89aa/attachment-0003.png>
More information about the Etherlab-users
mailing list