As I understand it, traditionally RT apps had to be kernel-mode because it 
simply wasn’t possible to write a userspace app with the latency guarantees 
that are required.  Hence also the use of RT co-kernels.  That has improved 
considerably in recent years, and it’s now easier to make a reliable userspace 
app – but for tight cycle times or if missed cycles can have safety 
consequences, it might still be better to use an RT co-kernel.

You can’t have multiple userspace processes sharing networks, however.  Once an 
application “claims” a master interface for realtime use (to bring slaves to OP 
and exchange PDOs), no other processes can do so.  It is, however, still 
possible for other processes to queue SDO requests and a few other non-realtime 
things, but even this is preferably gatewayed through the app so that it knows 
what is going on.


Gavin Lambert
Senior Software Developer

[cid:logo_compac_5dcf97ef-52f5-498c-8b9b-728410ddffaf.png]
[cid:compacicon_82e8a8c7-154a-4a32-9720-a5badb6258e0.png]<http://www.compacsort.com>
 [cid:facebook_fa85b924-53b9-45cc-8162-0564f64ec3a3.png] 
<https://www.facebook.com/Compacsort>  
[cid:linkedin_4ec016ad-84fa-443c-85a3-b9615a4ccef8.png] 
<https://www.linkedin.com/company/compac-sorting-equipment/>  
[cid:youtube_32142163-fc27-4aed-b14d-e8a377f98a6d.png] 
<https://vimeo.com/compacsort>  
[cid:twitter_d89338d8-98c8-4b65-9a9e-7b1333160b0d.png] 
<https://twitter.com/compacsort>

COMPAC SORTING EQUIPMENT LTD | 4 Henderson Pl | Onehunga | Auckland 1061 | New 
Zealand
Switchboard: +64 96 34 00 88 | tomra.com<http://www.tomra.com>

The information contained in this communication and any attachment is 
confidential and may be legally privileged. It should only be read by the 
person(s) to whom it is addressed. If you have received this communication in 
error, please notify the sender and delete the communication.

From: William Zumwalt
Sent: Saturday, 3 August 2019 03:57
To: etherlab-users@etherlab.org
Subject: [etherlab-users] application modules

The only reason I can think of for wanting to write an app as a KM is if data 
weren't going to userspace, but back down the network stack (using another 
protocol?). My process data needs to go into userspace and I'm also curious how 
an app written as a KM would send it's data to userspace?

According to the docs, the only difference I see is external memory for 
domains. In the case of not having a single app mod instance, could there be 
issues in multi-threading, having multiple user-space processes write to the 
same PDO?

Can anyone think of any good reasons for writing the app as a KM?

Will
_______________________________________________
etherlab-users mailing list
etherlab-users@etherlab.org
http://lists.etherlab.org/mailman/listinfo/etherlab-users

Reply via email to