[Etherlab-users] Implementation of Safety - Terminals EL6900, EL1904 and EL2904
Tom Wong-Cornall
tom at wongcornall.com
Tue Aug 23 01:50:45 CEST 2022
On Tue, Aug 23 '22 at 02.01 NZST, Stegemann Uwe <uwe.stegemann at gi-de.com> wrote:
> 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.
>
> 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!
Yes, just set up the project in TwinSAFE and download to the module.
Depending on the project designed in TwinSAFE you will end up different
PDOs.
I use ecrt_slave_config_reg_pdo_entry() to deal with the fact the PDO
assignment is fixed. This does mean the module has to be "there" and
visible to the etherlab master before starting the application.
You will need to use TwinCAT to find the order of the slaves
"Connections" (your 0x6000/0x7000 is the first connection, 0x6010/0x7010
is the second). On the newer EL6910-based hardware this seems to start
at 0x6080/0x7080.
> 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!
Yes, you'll also need to map Run and ErrAck as well. Run obviously
should be asserted the entire time you want to run the safety logic, and
ErrAck usually needs a rising edge (or two) after startup, as you will
likely have CommErr faults etc. on startup.
These show up as the "Standard Inputs" and "Standard Outputs" in the PDO
map. For an EL1918 (=EL6910) these are 0xf688:00 and 0xf788:00 - on the
older EL6900 you seem to have this at 0xf201 maybe? But you don't have
any Standard Outputs mapped I guess.
>From what I can see the indices/subindices seem to stay the same
regardless of the TwinSAFE config at least - just some might come and
go.
The size of the Standard Inputs/Outputs PDO might change depending on
how many you added, but they always seem to align to 8 bits at least.
For the StdInputs/StdOutputs you also need to find the offset for each
Input/Output bit in TwinCAT just like finding the slaves "connection"
order. These are not fixed position; they can change depending on order
you add/delete alias devices in TwinSAFE so need to be checked each time
you do a new safety project.
If you haven't done so already, I would highly recommend you get your
safety logic running happily in TwinCAT (by setting up a dummy PLC
project and linking Run/ErrAck/ComErr alias devices etc. to bools). Once
this is OK, try and make it work with etherlab - debugging is difficult
otherwise (although mapping Group State/Diag PDOs to your application
can help somewhat).
More information about the Etherlab-users
mailing list