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:

Real Time, mehrere Ports, Problem



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!

26.03.2014, 17:00
Beitrag #1

Hattorii Offline
LVF-Grünschnabel
*


Beiträge: 28
Registriert seit: Dec 2013

2011
2013
DE



Sad Real Time, mehrere Ports, Problem
Hallo zusammen,

Ich möchte mehrere Geräte per cRIO über FPGA und Real Time.vi ansteuern und bekomme Probleme wenn ich versuche per Real Time.vi Steuerbefehle übere mehrere Ports zu sende.

Das heisst: Alles klappt wenn ich nur über Port 1 Befehle sende (Bild 1). Wenn ich dann zum Beispiel die selben Befehle auch über einen anderen Port zu senden versuche genau so wie ich es in Bild 1 gemacht habe, reagiert das Gerät entweder sehr spät oder gar nicht.

Ich habe schon versucht alle möglichen Teilstrukturen zu "disablen" aber es hat nichts gebracht. Habe an verschiedenen Stellen "Waits" eingebaut aber auch ohne Erfolg. Sitze schon den ganzen Tag daran und komme einfach nicht weiter.

Hoffe sehr ihr könnt mir weiterhelfen.

Im Anhang die VIs und das Bild.

Grüße,
Hattorii.


Angehängte Datei(en) Thumbnail(s)
   

11.0 .vi  RT.vi (Größe: 760,9 KB / Downloads: 277)

11.0 .vi  FPGA.vi (Größe: 199,13 KB / Downloads: 260)

11.0 .vi  Write sub-VI.vi (Größe: 40,97 KB / Downloads: 259)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
26.03.2014, 17:29
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Real Time, mehrere Ports, Problem

Akzeptierte Lösung

Aufräumen des Blockdiagramms wirkt wahre Wunder (Strg+U).

Bei 8 Schnittstellen brauchst du zwecks serieller Abarbeitung momentan 800 ms, bist du wieder bei Schnittstelle 1 bist:
   

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.03.2014, 17:44
Beitrag #3

Hattorii Offline
LVF-Grünschnabel
*


Beiträge: 28
Registriert seit: Dec 2013

2011
2013
DE



RE: Real Time, mehrere Ports, Problem
Bei 800 ms hat es geklappt. Vielen Dank für die schnelle Antwort!!!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.03.2014, 18:50
Beitrag #4

Hattorii Offline
LVF-Grünschnabel
*


Beiträge: 28
Registriert seit: Dec 2013

2011
2013
DE



RE: Real Time, mehrere Ports, Problem
Naja scheint als wäre das Problem nicht ganz gelöst. Nun funktioniert alles auf Port 1, auch wenn die anderen Befehle für die anderen Ports noch aktiviert sind. Aber ich habe nun Probleme damit, wenn ich zum Beispiel in diesem Fall über den Port 5 Befehle senden und auslesen möchte (s. Bild 2). Port 1 wird mehrmals ausgelesen - soll auch so sein - während Port 5 nur am Anfang einmal ausgelesen wird. Die gesendeten Befehle werden am Gerät auch nicht umgesetzt (Bild 2, rot).

Ports wurden sowohl im FPGA (auch schon kompiliert) als auch im RT angepasst.

Ideen?

Grüße,
Hattorii


Angehängte Datei(en) Thumbnail(s)
   

11.0 .vi  RT.vi (Größe: 786,02 KB / Downloads: 262)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.03.2014, 19:16 (Dieser Beitrag wurde zuletzt bearbeitet: 26.03.2014 19:19 von jg.)
Beitrag #5

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Real Time, mehrere Ports, Problem
Ist deine Gegenstelle im Modus, Befehle von außen entgegenzunehmen?

Gruß, Jens

P.S.: Bitte Blockdiagramm aufräumen!!!

EDIT: Fehler liegt im FPGA-Code, Port 5-8 senden nicht alle Bytes!
   

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.03.2014, 10:52 (Dieser Beitrag wurde zuletzt bearbeitet: 27.03.2014 10:53 von Hattorii.)
Beitrag #6

Hattorii Offline
LVF-Grünschnabel
*


Beiträge: 28
Registriert seit: Dec 2013

2011
2013
DE



RE: Real Time, mehrere Ports, Problem
Hallo Jens,

erst einmal vielen Dank für die Antwort.

Ja, bei der Gegenstelle ist alles so eingestellt, wie bei Port 1. Ein Befehel kommt ja auch an: in_pv_02 --> Ist-Temperatur Ausgabe, allerdings nur ein mal am Anfang.

Ich habe das FPGA jetzt so bearbeitet, dass Port 5-8 nun auch alle Bytes senden (s. Bild 3).

Der Fehler besteht weiterhin. Zudem kommen die Befehle über Port1 nach dem das RT ca. 10 Sekunden läuft, nicht mehr an. Das war ja vorher nicht so. Port 5 wird erneut nur ein mal ausgelesen und die Befehle werden nicht gesendet.

Ich habe erneut probiert die Befehle der zur Zeit unbelegten Ports (2 und 3) zu deaktivieren (vgl. Bild 4) und dann werden mehrere Werte über Port 5 ausgelesen und zumindest der gesendete Befehl "out_mode_05 1" kommt zu Anfang an. Das heisst es ist schon eine "Besserung" zu erkennen. Läuft das RT aber ein paar Sekunden passiert wieder nichts mehr.

Die Bilder und die VIs sind im Anhang. Ich habe für dich eine aufgeräumte Version angehängt Smile. Im RT.vi im Anhang sind die Befehle, die über Port 2 und 3 gesendet werden, nicht deaktiviert.

Vielen Dank für deine Hilfe!

Grüße,
Hattorii.


Angehängte Datei(en) Thumbnail(s)
       

11.0 .vi  FPGA.vi (Größe: 201,17 KB / Downloads: 263)

11.0 .vi  RT-cleaned up.vi (Größe: 773,89 KB / Downloads: 255)

11.0 .vi  RT.vi (Größe: 773,95 KB / Downloads: 240)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.03.2014, 22:27
Beitrag #7

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Real Time, mehrere Ports, Problem
Offensichtliche Fehler kann ich jetzt nicht erkennen (wobei das aber zwecks Tapete schwer fehlt).

- Passen die Zuordnungen im FPGA, sind die entsprechenden RS-232-Module in den programmierten Slots?
- Ich gehe davon aus, dass du den FPGA-Code neu kompiliert hast?!
- Dir ist hoffentlich klar, dass du aktuell nur alle 0,8 Sekunden "nachschaust", ob etwas im READ-FIFO drinnen steht, um es dann abzuholen.
- Dir ist hoffentlich klar, dass du nur alle 6,4 Sekunden Kommandos an eine der Schnittstellen weitergibst, es ist vollkommen egal, ob du den Code in Schnittstelle 3 deaktivierst oder nicht.
- Wie groß sind den die Read & Write FIFOs eingestellt?

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.03.2014, 08:48 (Dieser Beitrag wurde zuletzt bearbeitet: 28.03.2014 08:51 von GerdW.)
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Real Time, mehrere Ports, Problem
Hallo Hattorii,

das wird das Problem nicht lösen, aber dein VI übersichtlicher machen:
   
Statt 5* ConcatString nur einmal FormatIntoString…

Dein RT-VI könnte auch davon profitieren, wenn du deine 8 Strings mit den Geräteantworten in einem Array verwalten würdest: nur ein Schieberegister statt 8, nur eine Schleife statt 8 paralleler Abfragen, …

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
31.03.2014, 11:07
Beitrag #9

Hattorii Offline
LVF-Grünschnabel
*


Beiträge: 28
Registriert seit: Dec 2013

2011
2013
DE



RE: Real Time, mehrere Ports, Problem
Hallo zusammen,

Erst einmal vielen Dank für eure Antworten.

@GerdW
Das kommt dann dabei raus wenn man LabVIEW Neuling ist. Man bastelt es sich irgendwie zusammen :)Die

@ Jens

Die Zuordnungen stimmen, Schnittstellen wurden auch überprüft. FPGA wurde kompiliert Smile.

Aber die 0,8 Sekunden Wartezeit sind doch zwecks serieller Abarbeitung notwendig, oder? Oder habe ich da was falsch gemacht.

Kann es sein, dass das FIFO schneller vollgeschrieben wird als es ausgelesen wird und dass so beim Übersenden der Befehle die Port-Zuordnung nicht stimmt? Denn manchmal werden die Befehle über den falschen Port gesendet so dass z.B. das Gerät K02 gestartet wird statt H01.

Die Größe der FIFO`s: Requested Number of Elements: 1023, Actual Number auch 1023 (also schon voll?).

Grüße,
Hattorii
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
31.03.2014, 19:37
Beitrag #10

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Real Time, mehrere Ports, Problem
(31.03.2014 11:07 )Hattorii schrieb:  Aber die 0,8 Sekunden Wartezeit sind doch zwecks serieller Abarbeitung notwendig, oder? Oder habe ich da was falsch gemacht.
Nochmal: Die Gesamtzyklus-Zeit, bis du wieder bei Port 1 bist, beträgt aktuell 6,4 Sekunden, da du in deiner State-Machine stur durch die 8 programmierten Ports durchgehst. Das Lesen im FPGA geschieht eigentlich immer, solange du kein neues Kommando schickst. Die Wartezeit ist parallel zu deiner Write/Read Anordnung, wird somit parallel ausgeführt. Nach Senden eines Kommandos gehst du sofort in den Versuch, Daten zu lesen. Das ist aber eigentlich nicht schlimm, da der FIFO dir die Daten puffern sollte und du in jedem 0,8s Zyklus den Puffer auch immer komplett leerst.
(31.03.2014 11:07 )Hattorii schrieb:  Kann es sein, dass das FIFO schneller vollgeschrieben wird als es ausgelesen wird und dass so beim Übersenden der Befehle die Port-Zuordnung nicht stimmt? Denn manchmal werden die Befehle über den falschen Port gesendet so dass z.B. das Gerät K02 gestartet wird statt H01.
FIFO voll, ich bezweifle es. Deine Sende-Kommandos sind ca. 50 Byte lang.

Falsche Zuordnung, schwierig zu debuggen ohne echte Hardware. Du könntest natürlich den Sendeteil umbauen und genauso wie beim Read ebenfalls den Port bei jedem Byte mit übertragen. Dann hast du gar keine Probleme. Der Write-Teil könnte dann in etwa so aussehen:
   
(31.03.2014 11:07 )Hattorii schrieb:  Die Größe der FIFO`s: Requested Number of Elements: 1023, Actual Number auch 1023 (also schon voll?).
Nein, das ist ja nur der Konfigurationsdialog. Nicht jede Größe kann eingestellt werden, deshalb ist "Actual Number" >= "Requested Number".

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Real Time Probleme Joachim 4 8.385 18.09.2020 06:48
Letzter Beitrag: GerdW
  Unterschied: Real Time Debug Deployment und Real-Time Development Felix777 10 33.934 18.10.2017 17:44
Letzter Beitrag: Felix777
  Brauche ich LabVIEW FPGA zu installieren für Real-Time CAN Felix777 5 15.094 03.10.2017 17:58
Letzter Beitrag: Felix777
  Welche Strukturen sind unter LabVIEW Real Time erlaubt/nicht erlaubt? Design Pattern. Felix777 7 21.111 12.10.2015 11:19
Letzter Beitrag: jg
  Real-Time OS: ph_exec.exe nicht gefunden! El_Hefe84 0 6.461 06.03.2013 15:05
Letzter Beitrag: El_Hefe84
  "Real-Time features nicht verfügbar" bigfudge 4 9.390 16.01.2013 16:20
Letzter Beitrag: bigfudge

Gehe zu: