Programmablauf bleibt kurz stehen

Antworten
JoKo2001
Beiträge: 7
Registriert: Donnerstag 24. Oktober 2013, 07:06

Programmablauf bleibt kurz stehen

Beitrag von JoKo2001 » Sonntag 25. Mai 2014, 17:32

Hallo ABACOM Team,

ich habe ein etwas größeres Programm für eine Heizungssteuerung geschrieben, mit mehreren Frontplatten, zur besseren Übersicht und Aufzeichnungen.
Die Module werden über Modbus/TCP angesprochen.
Das Ansprechen der Module und der Programmablauf funktionieren problemlos.

Wechselt man die Frontplatten oder sucht man in der Programmstruktur nach Fehlern, so bleibt der Programmablauf für kurze Zeit stehen und
die Module gehen in Störung, was richtig ist, da die Verbingung kurzzeitig abbricht.

Ich habe die ganzen Kommentare und Bilder pro Frontplatte schon zu einem Gesamtbild zusammengefasst, nun habe ich einen vielfach schnelleren Bildaufbau, trotzdem bleibt beim Wechsel der Frontplatten der Programmablauf kurz stehen.

Dann habe ich das Programm verkleinert und alle Sprungverknüpfungen entfernt, das Problem bleibt bestehen.

Danach habe ich einen zweiten Rechner installiert der nur die Modbus/TCP Verbindung herstellt und über RS232 denn Steuerungsrechner verbunden. Jetzt steigt mir die Modbus/TCP Verbindung nicht mehr aus, dafür bricht die RS232 Verbindung ab und die Anlage bleibt aus Sicherheitsgründen wieder stehen.

Ich habe das Ganze auch schon mit einem I5 und I7 Rechnern probiert, genau das gleiche Problem.

Mir wäre egal, wenn die Frontplatte länger brauchen würde um sich aufzubauen, dafür das Programm nicht ins Stocken kommt.

Ich hoffe Ihr könnt mir bei meinem Problem helfen, ansonst müsste ich mir die Arbeit machen das ganze Programm auf ein anderes System umzuschreiben.

Joachim Koch

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

Re: Programmablauf bleibt kurz stehen

Beitrag von abacom » Dienstag 27. Mai 2014, 09:28

Da bleibt wohl nur die Timeout-Toleranz der Module zu erhöhen.
ABACOM support

hrathke
Beiträge: 158
Registriert: Montag 12. Dezember 2011, 21:10

Re: Programmablauf bleibt kurz stehen

Beitrag von hrathke » Dienstag 27. Mai 2014, 18:49

Hallo JoKo2001,

leider kenne ich das Problem auch nur zu gut ...

Bei mir hilft es (wenn es die Schaltung erlaubt!) den Modbus Fehler abzufragen und wenn größer Null, dann einmal einen neuen Taktimpuls zu geben. Im Übrigen wird bei mir der Takt nur mit Power On angestoßen und dann über BSY mit kurzer Verzögerung zwischen den Funktionen ringförmig geleitet.

Gruß
HR

PS: verwendest Du schon das neue Modbus Modul?

JoKo2001
Beiträge: 7
Registriert: Donnerstag 24. Oktober 2013, 07:06

Re: Programmablauf bleibt kurz stehen

Beitrag von JoKo2001 » Mittwoch 28. Mai 2014, 08:23

Hallo,

erstmal zur Timeout-Toleranz der Module zu erhöhen. ich habe die Toleranz von 200ms auf max 1000ms erhöht, brachte nichts.

Hallo HR
Ich benutze Beckhoff Module BK9000 und Bk9050 die eine eigene Logik haben.
Diese lassen bei einer Störung des Bussystems die Ausgänge nicht wieder beschreiben, erst wieder bei einem Reset des Kopplers.

Das Problem ist nicht das Koppler in Störung gehen, sondern das alles was man anschließt ob Modbus/TCP , RS232 , RS485 , USB , Parallel Port, egal was man betreibt die Verbindung abbricht.

Das dürft meiner Ansicht nicht passieren.

Ist das Programm vielleicht doch nur für kleinere Anwendungen zu gebrauchen und wenn es komplexer wird, sollt man auf ein anderes System umsteigen????

MfG

Joachim Koch

hrathke
Beiträge: 158
Registriert: Montag 12. Dezember 2011, 21:10

Re: Programmablauf bleibt kurz stehen

Beitrag von hrathke » Mittwoch 28. Mai 2014, 18:52

Hallo Herr Koch,

natürlich könnte man auf Labview oder ähnliches umsteigen - nur ist der Preis sowie der Programmieraufwand deutlich höher...

Ich benutze Profilab nun seit ca. 3 Jahren und weiss selbst, das es so seine Macken hat, trotzdem reicht es für sehr viele Anwendungen völlig aus - auch wenn teilweise die Ladezeiten unverschämt lang sind und manchmal unerklärliche Phänomene stattfinden 8-) - alles was mit Timing zu tun hat, ist nicht so schön :(

Nun ist die Definition "komplexe Projekte" nicht wirklich aussagekräftig, vllt. können Sie dies näher spezifizieren. Interessant wäre auch, welches Betriebssystem Sie verwenden.

Die von Ihnen beschrieben Verbindungsabbrüche kenne ich eigentlich nur von sehr alten Rechnern, ab i3 überhaupt nicht - da scheint noch etwas anderes falsch zu sein. Eventuell können Sie Teile des Programmcodes posten?

Ich verwende übrigens hauptsächlich den Buskoppler von B&R (Modbus TCP), Labjack U12, UE9 (USB), Janitza UMG96 (Modbus TCP über Wandler) und viele andere "BastelKarten" :D

Gruß
HR

IKT
Beiträge: 554
Registriert: Mittwoch 4. November 2009, 18:32

Re: Programmablauf bleibt kurz stehen

Beitrag von IKT » Mittwoch 28. Mai 2014, 20:36

Hallo zusammen,

meine Untersuchungen betr. Ladezeiten (und auch Reaktionszeiten) unter Win 64 bit Systemen (habe Win 7, 8.0 und 8.1 getestet) ergeben folgende Ergebnisse:

- Da 32bit Programme (PL und damit erstellte .EXE's) auf 64 bit Systemen WoW benötigen (WoW = Windows on Windows [Win32bit-Emulator]), sind die Ladezeiten deutlich länger als auf 32bit Systemen (Vergleich mit Win-Vista 32bit).

- Da Windows generell sein 'eigenes Ding' macht (Prozesse starten, stoppen etc.), dies je nach zur Verfügung stehenden Ressourcen, aber auch Zeitgesteuert (eingetragene Job's im Windows-Scheduler). Sind Timing-Kritische-Anwendungen, ohne Tricksereien*, kaum zu realisieren.

Desshalb sind eher Anwendungen mit langsamen Vorgängen geeignet, d.h. sind die Anforderungen höher, muss ein anderes System ins Auge gefasst werden und als Konsequenz deutlich höhere Kosten.

* z.B. PL-Anwendung als einziges aktives Prog. auf PC, auslagern der zeitkritischen Teile des Prog's. oder OS (Windows) 'tuning' (Hintergrund-Tasks disablen etc.), dies ist jedoch nur erfahrenen Windows Profis anzuraten (bei den 'falschen' Tasks läuft evtl. Windows nicht mehr korrekt!).
++++++
Gruss/regards IKT

JoKo2001
Beiträge: 7
Registriert: Donnerstag 24. Oktober 2013, 07:06

Re: Programmablauf bleibt kurz stehen

Beitrag von JoKo2001 » Sonntag 1. Juni 2014, 10:02

Hallo Zusammen,

wenn ich bedenke das ich für dieses Projekt, einen Rechner mit einer schnellen Grafikkarte benötige und ein Beckhoffkoppler ca. 200€ kostet Wenn ich mir TwinCat (300€-400€) und EtherCat Koppler (100€-120€) kaufe und das System läuft auf jeden einfachem Rechner stabil.

Was mir an Profilap gefallen hat, war die einfache Programmierung und Zusammenstellung der Frontplatten sowie man einen externen Rechner
miteinander verbindet.

Aber wenn der Programmablauf zum erliegen kommt, ist jede Einfachheit nicht wünschenswert.

Joachim Koch

IKT
Beiträge: 554
Registriert: Mittwoch 4. November 2009, 18:32

Re: Programmablauf bleibt kurz stehen

Beitrag von IKT » Sonntag 1. Juni 2014, 10:44

Hallo JoKo,
... Rechner mit einer schnellen Grafikkarte benötige ...
genau dies ist völlig unnötig, da PL die ganze Grafik 'selber macht' und NICHT auf die GPU auslagert (GPU = graphics processing unit / Grafikprozessor).

Diese Feststellung ist an anderer Stelle hier im Forum bereits von mir beschrieben worden.

In diesem Zusammenhang wichtig:
ALLE 'visuellen' Bauteile, welche mit TRANSPARENT vorkonfiguriert daherkommen (z.B. LED's), umkonfigurieren (Haken bei 'transp.' weg!). Dies beschleunigt den Bildschirmaufbau und nebenbei die Taktfrequenz beträchtlich.
++++++
Gruss/regards IKT

HCS
Beiträge: 189
Registriert: Montag 3. November 2008, 16:11
Kontaktdaten:

Re: Programmablauf bleibt kurz stehen

Beitrag von HCS » Montag 2. Juni 2014, 10:05

Hallo JaKo,
da muss ich ikt zustimmen: Grafikkarte bringt nichts. Transparente Grafiken ändern ist wichtig.

Aber eine grundsätzliche Überlegung:
Angenommen du kriegst das mit dem kurzen stehenbleiben des PL-Programms hin, besteht trotzdem noch die Gefahr, daß der Windows-PC eine andere "Aufgabe" erledigt und so kurz deine Symulationsfrequenz einbricht und so dein System wieder stehenbleibt? ...Wäre mir für eine Heizungssystem zu unsicher.
Grüße
Bernd

Stek
Beiträge: 5
Registriert: Dienstag 1. Oktober 2013, 11:48

Re: Programmablauf bleibt kurz stehen

Beitrag von Stek » Mittwoch 9. Juli 2014, 11:19

Sorry will be using google translate to try put my english into german...

I use a 232 coms loop where one feeds the other's busy line. When i lose coms (often because of windows vista and above) the whole chain would stop. To fix this, i made this simple restarter. It takes the signal loop and restarts it if it does not receive it for a certain time. From what i hope i read right, you are losing coms while swapping front panels, so this should see no coms happening during this period and will count up until the number you put in and resend an initialization high signal. Hope this will maybe help you in some way, often simple solutions work out...

Ich benutze eine 232 coms Schleife, wo man des anderen besetzten Leitung Feeds. Wenn ich verlieren coms (oft wegen der Windows Vista und höher) die gesamte Kette aufhören würde. Um dies zu beheben, habe ich diese einfache restarter. Es nimmt die Signalschleife und startet ihn neu, wenn sie nicht für eine bestimmte Zeit empfangen. Von dem, was ich hoffe, ich richtig gelesen, Sie sind Coms zu verlieren, während tauschen Frontplatten, so sollte dies keine coms passiert in dieser Zeit zu sehen und wird bis zu zählen, bis die Zahl Sie setzen in und senden eine Initialisierung High-Signal. Hoffe, das wird vielleicht helfen, in irgendeiner Art und Weise,oft einfache Lösungen erarbeiten...

Sorry für die Verwirrung, ich spreche kein Deutsch, sondern wollen helfen, wenn ich kann
Dateianhänge
Restarter.prj
(5 KiB) 449-mal heruntergeladen

Antworten

Zurück zu „Thema Modbus“