Geschwindigkeitsproblem

Antworten
abacom
Site Admin
Beiträge: 3917
Registriert: Dienstag 23. September 2008, 10:54
Kontaktdaten:

Geschwindigkeitsproblem

Beitrag von abacom » Dienstag 14. Oktober 2008, 13:35

thcweb



Anmeldungsdatum: 29.08.2008
Beiträge: 198
Wohnort: Dresden

Verfasst am: 21 Sep 2008 20:28 Titel: Geschwindigkeitsproblem

--------------------------------------------------------------------------------

Hallo Zusammen,

ich habe heute 2 weitere IO Warrior in Profilab mit eingebunden.

Insgeammt läuft damit folgende Hardware:

1x Vellmann K8061
3x IO Warrior
1x CH341A LCD

PC Intel 1,5Ghz, 1GB Ram, Win XP.

Die Geschwindigkeit vor der Inbetriebnahme lag bei ca. 325 Hz, jetzt bin ich bei 250 Hz.

Systemauslastung 55%, davon PL 50%.

Jedoch ist das für die Haussteuerung echt zu langsam.

Hat jemand ein Tip wie ich PL beine machen kann.

Klar muß PL die Hardware abarbeiten. Aber muss es den so langsam sein???

Mfg thomas

Nach oben


mcskof



Anmeldungsdatum: 05.09.2008
Beiträge: 27
Wohnort: Darmstadt-Dieburg-Kreis

Verfasst am: 22 Sep 2008 15:48 Titel:

--------------------------------------------------------------------------------

Hallo,

mit den IO-Warrior habe ich selber noch nicht gearbeitet. Laut Datenblatt sind beim IO-Warrior 24 bzw. 40 eine typ. Leserate von 125Hz (für alle IO) und beim IO-Warrior 56 typ. 1kHz angegeben. Die 250Hz (4ms) sehen eigentlich recht gut aus. Warum sind die 250Hz zu langsam ?

Von meinem Verständis von PLE sind Kommunikationsvorgänge mit Hardware der Flaschenhals und senken die Verarbeitungsgeschwingigkeit. In der Hilfe zum Thema DLL steht auch, dass die Funktion Calculate zeitoptimiert werden soll, da sie ständig aufgerufen wird. Ich nehme an, dass alle Bausteine in PLE über eine Calculate Funktion verfügen.

Um die "Performance" zu steigern, wären zwei Programme notwendig. Einmal ein Hardwaremanager, der nur mit der Hardware kommuniziert und die aktuellen Zustände (Eingänge lesen/Ausgang setzen) im Speicher puffert. Und dann PLE, das nur auf den schnellen Speicherbereich per definierter Schnittstelle (DLL, DDE, usw.) zugreift. Die ständige Abfrage der Hardware wäre verlagert und PLE könnte schneller laufen. Stellt sich nur die Frage, ob man es als Anwender merkt.

Vielleicht ist das bereits so in PLE implementiert (ein Simulations-Thread und ein Hardware-Thread).

CU
mcskof

Zuletzt bearbeitet von mcskof am 24 Sep 2008 21:50, insgesamt einmal bearbeitet

Nach oben


thcweb



Anmeldungsdatum: 29.08.2008
Beiträge: 198
Wohnort: Dresden

Verfasst am: 22 Sep 2008 21:23 Titel:

--------------------------------------------------------------------------------

Hallo mcskof,

ich habe heute mal bei Abacom angerufen. Zusammengefaßt mußte ich feststellen das IO Warrior über USB in größeren Stückzahlen nicht zum erfolgt führt.

Ich habe meine Schaltung inzwischen auf 2 IO Warrior reduziert und bin bei ca. 300 Hz. Vom Empfinden reicht die Geschwindigkeit. (Jedoch reicht es nicht für meine Planung im Endzustand)

Meine Frage an Abacom: Wie am Telefon besprochen fragt PL die IO Warrior Eingänge fortlaufend ab. Die Ausgänge setzt es Ereignissbezogen.

Woher will PL wissen was ein und Ausgänge sind? In PL stelle ich das ja nicht ein, sondern nur indirekt über die Belegung.

Mein Frage zielt darauf hin die von mir benutzten Pin welche ich als Ausgänge nutze aus der Abfrage zu Entfernen und somit an Geschwindigkeit zu gewinnen.

Abschließend noch paar Messergebnisse von Tests:

PC wie oben beschrieben:

Hardware: 1x Vellmann K8061 -> 14,3 kHz

1x Vellmann K8061 + 1x IO Warrior 40 -> 5990 Hz

1x Vellmann K8061 + 2x IO Warrior 40 -> 3100 Hz

1x Vellmann K8061 + 3x IO Warrior 40 -> 2100 Hz.

mfg Thomas

Nach oben


abacom
Site Admin


Anmeldungsdatum: 29.08.2008
Beiträge: 100


Verfasst am: 23 Sep 2008 9:27 Titel:

--------------------------------------------------------------------------------

1.) ProfiLab muss (beim Warrior) nicht wissen was ein Ausgang ist, sondern nur ob ein Ausgang schalten soll (Zustandwechsel).

2.) Pro USB-Transfer von/zum Gerät braucht es ca. 8 ms und zwar JEDER Transfer zu JEDEM Warrior. Darauf haben wir keinen Einfluss.

Nach oben


mcskof



Anmeldungsdatum: 05.09.2008
Beiträge: 27
Wohnort: Darmstadt-Dieburg-Kreis

Verfasst am: 23 Sep 2008 10:30 Titel:

--------------------------------------------------------------------------------

Vielleicht hilft auch der IO Warrior 56. Das Modul ist ein Full-Speed USB Gerät mit 1000Hz Leserate (statt 125Hz => 8ms) und hat 50 I/O. Preislich liegt der bei ca. 35,- EUR (zzgl. MwSt + Versand).
(siehe http://www.codemercs.com/index.php?id=64&L=0).

Mit Erfahrungswerten kann ich leider nicht dienen.

CU
mcskof

Zuletzt bearbeitet von mcskof am 24 Sep 2008 21:53, insgesamt einmal bearbeitet

Nach oben


thcweb



Anmeldungsdatum: 29.08.2008
Beiträge: 198
Wohnort: Dresden

Verfasst am: 23 Sep 2008 12:53 Titel:

--------------------------------------------------------------------------------

wenn ich jetzt abacom aber richtig verstanden habe hilft der io warrior 56 net wirklich, da der ja auch seine 8 ms braucht

Nach oben


mcskof



Anmeldungsdatum: 05.09.2008
Beiträge: 27
Wohnort: Darmstadt-Dieburg-Kreis

Verfasst am: 24 Sep 2008 22:09 Titel:

--------------------------------------------------------------------------------

Es wundert mich, dass der IO-W 56 als Full-Speed USB Gerät und einer Leserate von 1000Hz (1ms) genauso schnell ist, wie der IO-W 24 und IO-W 40 als Low-Speed Geräte mit einer Leserate von 125Hz (8ms).
Kann natürlich sein, dass der Treiber IOWKIT.DLL nicht mehr hergibt (was mich wundern würde).

Vielleicht gibt es eine Möglichkeit die Schaltung in mehrere Teile (GUI, Hardware-IO, usw.) aufzubrechen und als EXE ablaufen zu lassen. Stellt sich nur die Frage, wie die Schaltungen untereinander Daten austauschen (DDE, TCP, usw.). Eine Hauptschaltung könnte die EXE auch in der richtigen Reihenfolge starten.

Einfacher wird es dadurch nicht. Allerdings würden so Schaltungsteile sicherlich schneller ablaufen.

CU
mcskof
ABACOM support

Antworten

Zurück zu „Geräte: IO-Warrior“