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 

Zugriff auf Control über Referenz - paralleler Zugriff



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!

28.01.2025, 14:25
Beitrag #1

Kiesch Offline
LVF-Stammgast
***


Beiträge: 419
Registriert seit: Mar 2009

2019, 2018, 2016
2009
DE

04519
Deutschland
Zugriff auf Control über Referenz - paralleler Zugriff
Hi,

blöde Frage, da ich das nicht ohne weiteres selbst entkoppeln kann (kompliziertes über die Zeit gewachsenes Program an dem ich Feintuning mit möglichst wenig Programmieraufwand machen muss):

Wenn ich über eine Referenz (lesend oder schreibend) auf ein Control Zugreife (Value / Value Signalling), das in anderen Prozessen ebenfalls bezüglich Value abgefragt wird, sind dann Abstürze / Aufhänger zu befürchten oder ist das Schlimmste was passieren kann die Auswirkungen einer Racing Condition zu haben?

Weils sonst wahrscheinlich wieder zu Diskussionen führt warum ichs nicht "richtig" mache:
Die Racing Condition ist mir egal, da es nicht auf sofortige richtige Anzeige beim Rücklesen ankommt, alles andere sollte die SPS im Hintergrund glatt ziehen, da die bedienten / rückgelesenen Controls alle über die SPS aktualisiert werden. Heist für die Racing Condition: Beim Lesen über Referenz kriege ich durch (mit etwa 500ms pollendes) Lesen automatisch irgendwann den richtigen Wert im Input der höchstens etwa später Verarbeitet und ans FP auf einen Indikator zurückgegeben wird. Beim Schreiben brauche ich nur das Signaling um den Befehl an die SPS zu triggern, anschließend kann der Wert zwar nochmal zurückspringen (weil in der SPS noch nicht ausgeführt), geht aber nach Ausführung der SPS auf den relevanten Wert. Der zu schreibende Wert wird auf einem völlig separaten Control eingegeben - das hin und her Springen kann also nicht auf die Eingabe zurückwirken.
Hoffe das hilft fürs ruhig schlafen Cool

Viele Grüße,
Kiesch

Zitat:Märchen und Geschichten werden erzählt am Lagerfeuer, technischen Fakten werden mitgeteilt (oder so). (Genauso wie Software nicht auf einem Server "herumliegt", die ist dort installiert.)
*Zitat: IchSelbst*
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Heute, 08:27
Beitrag #2

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.702
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
RE: Zugriff auf Control über Referenz - paralleler Zugriff
Abstürze und Aufhänger, durch das Betriebssystem oder die LV-Runtime bedingt (infolge mangelhaft manipulierter Pointer (nicht-skalare Datentypen)), halte ich für unwahrscheinlich. Abstürze, die applikationsbedingt sind, sollte es auf diesem Level der Programmierung (Datensfluß) auch nicht geben.

Applikationsbedinge Aufhänger kann ich mir tatsächlich vorstellen: Wenn zwei Algorithmen unabhängig und parallel schreibend auf einen zuvor gelesenen Wert zugreifen (nämlich z.B. per Referenz), um den Wert z.B. zu regeln, kann ich mir vorstellen, dass infolge des nicht konsistenten gelesenen Wertes es zu Fehlverhalten im zu schreibenden Wert kommt. Die Sache wäre im Übrigen genauso kompliziert, wie der Satz selbst.

Wenn der neu zu schreibende neue Wert allerdings nicht vom gerade gelesenen alten Wert abhängt, also z.B. Lesen und Schreiben unabhängig und gegenseitig irrelevant sind, sollte es nicht zu Problemen kommen.

Ich halte es grundsätzlich nicht für einen guten Weg, auch in ein bestehendes "einfach strukturiertes" Programm ebensolche Algorithmen nachzurüsten - auch wenn der Chef meint "schnell und billig". Spätestens bei der ersten Nacharbeit wegen unvorhergesehenem (nicht: unvorhersehbarem) Fehler ist aus mit billig. Selbst in Tapeten oder QMH-gesteuerten Programmen kann man FGV's (also SubVI) integrieren, die gekapselten Code und gekapselte Daten enthalten. Alleine durch solche Maßnahmen kann die Wahrscheinlichkeit von applikations- bzw. strukturbedingtem Fehlverhalten minimiert werden.

Eine genaue Aussage zu Absturz- und Aufhäng-Wahrscheinlichkeit kann man aber nur bei Analyse des Programmes (also hauptsächlich seiner Struktur) sagen.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
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
  Extrem langsamer Variablen Zugriff über Referenzen hajos118 12 6.004 01.08.2022 17:20
Letzter Beitrag: BNT
  Control-Referenz programmatisch erstellen? spacz 2 4.268 23.01.2017 11:31
Letzter Beitrag: spacz
  Scale Control with Tab Control GT123 6 6.621 08.12.2016 12:42
Letzter Beitrag: jg
  DVR Zugriff über FGV? GT123 6 5.837 03.09.2015 11:33
Letzter Beitrag: GT123
  Zugriff auf verschachtelte Referenzen Hasenfuss 6 5.403 23.06.2015 19:05
Letzter Beitrag: Hasenfuss
  Zugriff auf Tabellenelement Hasenfuss 6 5.185 22.06.2015 09:59
Letzter Beitrag: jg

Who read this thread?
9 User(s) read this thread:
Kiesch, BNT, GerdW, TpunktN, cordm, Woodeye, MScz, IchSelbst, UliB

Gehe zu: