[Etherlab-users] Kjellberg Q3000 slave problems
Graeme Foot
Graeme.Foot at touchcut.com
Tue Nov 22 21:51:56 CET 2022
Hi Martin,
I found a workaround last night. I have split the read and write PDO's into separate read and write domains. I had not tried this earlier as the flag requiring this is not set in the slave and TwinCAT is working from one domain. However TwinCAT is using overlapped PDO's which I did not try as that does not suit our application.
Re: the dc sync settings in the ESI file, I tried enabling SM-Synchron cyclic operation mode under TwinCAT and the slave exhibited similar problems. After talking to the supplier they recommended not using DC or SM-Synchron mode at all. So I tried hardcoding removing the DC supported flag from the slave but it made no difference.
So it is now working, but still with a manually loaded SII file via the loading firmware from file mechanism.
Thanks,
Graeme.
From: Steih, Martin <Martin.Steih at lachmann-rink.de>
Sent: Tuesday, 22 November 2022 20:39
To: Graeme Foot <Graeme.Foot at touchcut.com>
Subject: AW: Kjellberg Q3000 slave problems
Hi,
Are you sure it does not support dc sync?
<Dc>
<OpMode>
<Name>Synchron</Name>
<Desc>FreeRun/SM-Synchron</Desc>
<AssignActivate>#x0</AssignActivate>
<CycleTimeSync0 Factor="1">0</CycleTimeSync0>
<ShiftTimeSync0>0</ShiftTimeSync0>
<CycleTimeSync1 Factor="1">0</CycleTimeSync1>
</OpMode>
</Dc>
I found this in your ESI file under Q3000, and the problem description you just sent is precisely the same one we face when dc sync settings are not correct or fitting.
i. A. Martin Steih
Projektleiter
Entwicklung
[cid:image001.png at 01D8FF20.1CB46390]<https://www.lachmann-rink.de/>
Lachmann & Rink GmbH
Martin.Steih at lachmann-rink.de<mailto:Martin.Steih at lachmann-rink.de> | www.lachmann-rink.de<https://www.lachmann-rink.de>
fon: +49 2734 2817 430<tel:+49%202734%202817%20430>
Hommeswiese 129, 57258 Freudenberg | Otto-Hahn-Straße 18-20, 44227 Dortmund
Geschäftsführer: Dipl.-Ing. Arjan Bijlard, Dipl.-Inf. Claudius Rink | Amtsgericht Siegen, HRB 2600
Von: Etherlab-users <etherlab-users-bounces at etherlab.org<mailto:etherlab-users-bounces at etherlab.org>> Im Auftrag von Graeme Foot
Gesendet: Dienstag, 15. November 2022 08:02
An: etherlab-users at etherlab.org<mailto:etherlab-users at etherlab.org>
Betreff: [Etherlab-users] Kjellberg Q3000 slave problems
Hi,
We are trying to get a Kjellberg Q3000 plasma slave up and running in our system. Unfortunately it is getting to SAFEOP and going to SAFEOP + Error. Also while in SAFEOP it drops 1 or two packets out of three, causing the master to enter an endless rescan loop. The Q3000 gets to OP successfully under TwinCAT. I have wireshark logs of both startup sequences and can't find anything obvious that is causing the issue.
* I'm using the 1.5.2 master with the GavinL patchset.
* I have enabled the --enable-regalias option as this slave uses the 0x0012 register to specify the slave alias.
* There are errors in the slaves SII. I have generated an SII using TwinCAT and I'm loading it via the firmware loading patch (using EC_SII_OVERRIDE). As far as I can tell it is correct. (I needed to increase the esi files Eeprom ByteSize to 4096 so that it would include the categories information, as per: https://etherlab.org/en/ethercat/faq.php). I've attached the SII bin file in case anyone is interested.
* I gather the slave firmware uses the ET9300 slave stack code version 5.10.
* The slave allows LWR (i.e. both read and write data in the same domain)
* It supports distributed clocks, but not DC Sync.
* It looks like TwinCAT configures the read and write domain data to overlap. Our master does not.
The Sync manager config is the same between TwinCAT and EtherLab
SM0: 0010800026000100
SM1: 0014800022000100
SM2: 0018250064000100
SM3: 001c410020000100
The FMMU config is mostly the same, the only difference I can see is the virtual start address and that they overlap
TwinCAT:
FMMU0: 00000001250000070018000201000000
FMMU1: 0000000141000007001c000101000000
EtherLab:
FMMU0: 0f000000250000070018000201000000
FMMU1: 3400000041000007001c000101000000
TwinCAT also sets up a third FMMU for what I assume is a slave working counter status domain.
FMMU2: 00000009010000000d08000101000000
One thing that the TwinCAT master does that EtherLab does not is set the "Error Ack" flag to true when requesting a slave state change. E.g.:
EtherCAT datagram: Cmd: 'APWR' (2), Len: 2, Adp 0x1, Ado 0x120, Cnt 1
Header
AL Ctrl (0x120): 0x0011, Al Ctrl: INIT, Error Ack
.... .... .... 0001 = Al Ctrl: INIT (0x1)
.... .... ...1 .... = Error Ack: True
.... .... ..0. .... = Id: False
Working Cnt: 1
I've attached the esi file. As far as I can tell there's nothing particularly special about the slave. We are using the Q3000 (460-480V) slave (ProductCode="#x00003023"), but they are all the same configuration.
Tomorrow I'll try patching the master to set the Error Ack flag in the INIT state change datagram, but apart from that I'm currently out of ideas for things to try. Does anyone have any other ideas from problem slaves you've encountered?
Regards,
Graeme Foot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.etherlab.org/pipermail/etherlab-users/attachments/20221122/7db7b539/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.png
Type: image/png
Size: 47352 bytes
Desc: image001.png
URL: <http://lists.etherlab.org/pipermail/etherlab-users/attachments/20221122/7db7b539/attachment-0001.png>
More information about the Etherlab-users
mailing list