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 

Dieses Thema hat akzeptierte Lösungen:

Signal-Flackern von ModBus



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!

03.10.2020, 13:31
Beitrag #1

Labview Anfänger Offline
LVF-Grünschnabel
*


Beiträge: 11
Registriert seit: Jan 2015

2013
2002
DE



Signal-Flackern von ModBus
Hallo Zusammen und schönen Feiertag,
an alle die keinen Feiertag haben schönen Samstag.

Ich habe vor ein 5 Jahren hier schon gute Tipps bekommen und hoffe wieder auf Euch.

Ich habe einen Schaltschrank mit einer Sicherheitssteuerung und 8 Prüfständen.
Ich schicke die Daten über Modbus und hole andere wieder ab.
Leider "flackern" die digitalen Lese-Signale unregelmäßig und ich bekomme ab und zu Nullen anstatt schöne Einsen.

Dann denkt mein Programm, dass z. B. NotAus aktiviert ist und deaktiviert die Programmabläufe in meinem Hauptprogramm (.exe).

Das Problem bekomme ich Modbus-seitig mit dem Hersteller nicht hin, deswegen will ich jetzt aus den digitalen Signalen einzelne "fehlerhaften" Nullen ignorieren.
Das beste was ich als Labview Anfänger hinbekomme ist im Signal_Flacker_Vermeider.vi und Bild dargestellt.


Ich wandle meine digitalen Eingangssignale zu 0 und 1 und addiere die Werte der aktuellen und der letzten Schleife.
Wenn das Ergebnis größer 0 ist, setze ich den digitalen Wert für das Weitergabesignal wieder zu "T".
Ich kann das natürlich auch mit drei oder beliebig vielen Schleifen-Durchgängen machen.

Meine Schleifen dauern 200ms und das Flackern ist kürzer --> Das Problem ist damit also behoben.
Allerdings muss ich das mit 128 Signalen machen.

Habt Ihr einen Tipp wie das eleganter gehen könnte?

Vielen Dank schon mal.
Ich geh jetzt Badewanne_2_2 und freue mich auf Eure Hilfe und Ideen!

Anfänger


Angehängte Datei(en) Thumbnail(s)
   

18.0 .vi  Signal_Flacker_Vermeider.vi (Größe: 21,36 KB / Downloads: 114)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.10.2020, 14:35
Beitrag #2

Labview Anfänger Offline
LVF-Grünschnabel
*


Beiträge: 11
Registriert seit: Jan 2015

2013
2002
DE



RE: Signal-Flackern von ModBus
So,

und hier hab ich es mit Hilfe anderer Beispiele aus dem Forum sogar digitalisieren können.

Es gibt aber bestimmt einen eleganteren Weg.

Danke


Angehängte Datei(en) Thumbnail(s)
   

18.0 .vi  Signal_Flacker_Vermeider_digi.vi (Größe: 22,01 KB / Downloads: 114)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.10.2020, 17:21 (Dieser Beitrag wurde zuletzt bearbeitet: 03.10.2020 17:33 von GerdW.)
Beitrag #3

GerdW Offline
______________
LVF-Team

Beiträge: 17.398
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Signal-Flackern von ModBus

Akzeptierte Lösung

Hallo Anfänger,

dein erstes VI könnte man so aufräumen:
   
Kein ExpressVI, nur ein Schieberegister, kein Rube-Goldberg in Form der Case-Struktur…

Oder noch einfacher gleich mit boolschen Werte rechnen:
   

Und wenn man dann noch alle Inputs/Outputs in Arrays umwandelt, kann man auch 128 Kanäle auf einmal testen:
   
(Bei Arrays muss man evtl. noch die Startbedingung in Form der Startwerte des Schieberegisters initialisieren…)

Und zuletzt entfernt man noch die While-Loop, ersetzt das Schieberegister durch FeedbackNodes und löscht die Wartezeit:
   
Jetzt hat man nämlich ein subVI (reentrant setzen!), welches in der Schleife des MainVIs aufgerufen wird. Diese Schleife im MainVI bestimmt dann die Iterationszeit und nicht mehr das subVI zum Prüfen der boolschen Werte…

Nachtrag: auch bei deinem zweiten Versuch hast du aber konsequent am Rube-Goldberg festgehalten! Big Grin
Code:
IF true THEN true ELSE false…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.10.2020, 17:51
Beitrag #4

Labview Anfänger Offline
LVF-Grünschnabel
*


Beiträge: 11
Registriert seit: Jan 2015

2013
2002
DE



RE: Signal-Flackern von ModBus
Hallo GerdW,

danke für Deine Hilfe und Mühe.
Die While-loop hab ich tatsächlich schon weg, die war noch zum ausprobieren drin.

Das letzte sieht ja tatsächlich fast aus wie mein zweites, da bin dann als Maschinenbauer doch auch stolz.


Zitat: Und wenn man dann noch alle Inputs/Outputs in Arrays umwandelt, kann man auch 128 Kanäle auf einmal testen:

(Bei Arrays muss man evtl. noch die Startbedingung in Form der Startwerte des Schieberegisters initialisieren…)



Kannst Du mir da bitte noch ein kleines Bildchen schicken, in Deinem Post waren zweimal die gleichen Bilder. Oder war das Absicht?


Zitat: Und zuletzt entfernt man noch die While-Loop, ersetzt das Schieberegister durch FeedbackNodes und löscht die Wartezeit:

Jetzt hat man nämlich ein subVI (reentrant setzen!), welches in der Schleife des MainVIs aufgerufen wird. Diese Schleife im MainVI bestimmt dann die Iterationszeit und nicht mehr das subVI zum Prüfen der boolschen Werte…


Jupp, erledigt, danke.


Das mit dem Rube-Goldberg-Dingens liegt daran, dass ich nur Maschinenbauer bin und bisher gar nicht wusste was das ist :-)

Anfänger
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.10.2020, 18:15
Beitrag #5

GerdW Offline
______________
LVF-Team

Beiträge: 17.398
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Signal-Flackern von ModBus
Hallo Anfänger,

Zitat:Kannst Du mir da bitte noch ein kleines Bildchen schicken, in Deinem Post waren zweimal die gleichen Bilder. Oder war das Absicht?
Ich weiß nicht, was du meinst: alle 4 Bilder sind einzigartig!

Zitat:Das mit dem Rube-Goldberg-Dingens liegt daran, dass ich nur Maschinenbauer bin und bisher gar nicht wusste was das ist :-)
Gerade als Maschinenbauer solltest du wissen, was eine Rube-Goldberg-Maschine ist!
Big Grin

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.10.2020, 18:29
Beitrag #6

Labview Anfänger Offline
LVF-Grünschnabel
*


Beiträge: 11
Registriert seit: Jan 2015

2013
2002
DE



RE: Signal-Flackern von ModBus
Hi GerdW,

bei mir sehen die Bildchen 2 und 3 gleich aus.
Ich hab´s aber tatsächlich aus einem anderen Beispiel rausgefunden:

   

Kannst Du mir noch einen Tipp geben, wie ich die Eingänge und Ausgänge für das SubVi schick verbinde.
Gibt es eine andere Möglichkeit außer mit dem 1 Pixel großen Eingang rechts oben zu verbinden?

   

Dank vom Anfänger!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
03.10.2020, 19:00
Beitrag #7

GerdW Offline
______________
LVF-Team

Beiträge: 17.398
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Signal-Flackern von ModBus

Akzeptierte Lösung

Hallo Anfänger,

nimm das 4224-Pattern, das ist der Standard.
Wenn du mehr In/Outputs benötigst, machst du wahrscheinlich etwas falsch...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.10.2020, 21:54
Beitrag #8

Labview Anfänger Offline
LVF-Grünschnabel
*


Beiträge: 11
Registriert seit: Jan 2015

2013
2002
DE



RE: Signal-Flackern von ModBus
Hallo nochmal und guten Abend zusammen,

mit dem Tipp mit dem Array kann ich alle digitalen Signale auf einmal mit dem Code-Schnipsel bearbeiten und benötige gar kein SubVi mehr - danke.

Anfänger
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
  MODBUS siham 46 45.282 26.02.2009 10:54
Letzter Beitrag: siham

Gehe zu: