INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

AMC in deterministischer Loop



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

25.06.2020, 08:57
Beitrag #1

gfzk Offline
LVF-Grünschnabel
*


Beiträge: 47
Registriert seit: Sep 2009

2012
2007
DE_EN

76344
Deutschland
AMC in deterministischer Loop
Hallo,

ich nutze bei meinen bisherigen Projekten die Asynchronous Message Communication Library (AMC) mit Erfolg wie ich finde. Nun habe ich eine Echtzeitanwendung bei der auch die Sicherheit eine nicht unerhebliche Rolle spielt. Mich würde daher interessieren, ob ich Funktionen besagter Library in eine Timed While Loop stecken darf. Natürlich würde einen möglichst geringen Timeoutwert vorgeben, so dass die Loop eine Chance hat in der vorgegebenen Dauer ausgeführt zu werden.
Da die Library aber kein regulärer Bestandteil von LabView ist wollte ich hier an dieser mal nachfragen, ob das eine so gute Idee ist.

Viele Grüße, Georg
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
25.06.2020, 09:04
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 16.467
Registriert seit: May 2009

11SP1, 17SP1 (ab und zu 20)
1995
DE_EN

10×××
Deutschland
RE: AMC in deterministischer Loop
Hallo Georg,

Zitat:Nun habe ich eine Echtzeitanwendung bei der auch die Sicherheit eine nicht unerhebliche Rolle spielt. Mich würde daher interessieren, ob ich Funktionen besagter Library in eine Timed While Loop stecken darf.
Prinzipiell darfst du erstmal alles in eine TWL stecken, solange deren Ausführung nicht behindert wird.

Aber ebenso prinzipiell: wenn die AMC auf irgendeine Art Netzwerk-Kommunikation aufsetzt, dann ist allein dadurch deine "Echtzeitanwendung" nicht gegeben. Ebenso können (normale) Queues das RealtimeOS-Timing stören, für solche Zwecke gibt es dann ja die RT-FIFOs…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.06.2020, 15:14
Beitrag #3

gfzk Offline
LVF-Grünschnabel
*


Beiträge: 47
Registriert seit: Sep 2009

2012
2007
DE_EN

76344
Deutschland
RE: AMC in deterministischer Loop
Hallo Gerd, danke für Deine rasche Antwort.

Eine TWL bietet sich ja an um z.B. einen Grenzwert zu überwachen und bei einer Verletzung dementsprechend zu handeln, z.B. einen Heizer bei erreichen einer Übertemperatur per DO ausschalten. Dies lässt sich ja problemlos mit IO-Variablen und aktiviertem RT-FIFO bewerkstelligen. Bis hier hätte ich noch keine Shared Resource die blockiert sein kann (glaube ich zumindest). Nun würde ich ganz gerne im Anschluß per AMC eine Message lokal oder übers Netzwerk absetzen um dieses Vorkommnis zu protokollieren. Diese Aktion darf auch gerne nicht-deterministisch sein, d.h. mir ist egal wann sie der nächste Task erhält der die Nachricht verarbeitet. Im schlimmsten Fall soll das Senden der Nachricht per Timeout verhindert werden um die ordnungsgemäße Ausführung der TWL weiterhin zu gewährleisten.

Alternativ fiele mir ein die Funktion des Sendens der Message über AMC in einen nicht-deterministischen Task auszulagern. Dieser würde dann wiederum über einen RT-FIFO von der TWL informiert wenn etwas wichtiges passiert. Ist halt ein zusätzlicher Aufwand, aber vielleicht die Lösung mit weniger Bauchweh? Oder mach ich mir da ohne Grund das Leben schwer?

Viele Grüße, Georg
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Timed Loop FloSim 3 11.400 11.05.2015 20:06
Letzter Beitrag: GerdW
  timed loop für state machine? huschhusch 4 4.237 09.02.2009 10:41
Letzter Beitrag: huschhusch

Gehe zu: