allgemeine K-Bus Informationen aus dem Codesys
Name: Wago PFC200 interner Bus
Hersteller: 3S - Smart Software Solutions GmbH
Kategorien:
Typ: 288
ID: 0000 0001
Version: 3.5.13.0 750-553 K-Bus Informationen aus dem Codesys
Name: 75x-553 4AA, 0-20 mA
Hersteller: WAGO Kontakttechnik GmbH u. Co. KG
Kategorien:
Typ: 288
ID: 0000 0001
Modul-ID: 0229_75x_553
Version: 3.5.13.0
Bestellnummer: 75x-553
Beschreibung: 4-Kanal-Analogausgangsklemme 0-20 mA; Standard-Mapping
Beschreibung: Wago PFC200 interner Bus
Mir kommt vor daß der K-Bus NICHT stabil läuft (zumindest nicht konstant). Wenn ich daran nicht rumprogrammiere läuft es soso (mit den folgenden Einschränkungen.) Wenn ich das System programmiere, fällt der Bus mit einer Wahrscheinlichkeit von 25% komplett aus. Dann hilft nur noch STROM AUS - STROM EIN.
Ich habe unter anderem zwei 750-553 auf dem KBus (siehe Anhang) Für ca. 10-50ms ändert sich der mA-Wert der Karten geringfügig, obwohl sich der Eingangswert nicht ändert.
Siehe Softwareauszug (fixer Wert wird DIREKT an die Karte gesendet)
Für weniger als 50ms (gehen die Analogausgänge mit dem Strom runter). In Wirklichkeit glaube ich der verliert den Wert komplett. Aber da das SOOO kurz ist sieht es aus als ob sich der Wert nur um ca. 10% verringert.
Wenn man nun GANZ KONZENTRIERT auf die grüne LED bei der 750-553 schaut, sieht man daß die im Abstand von ca.
8-10sec (unregelmäßig) für einen SEHR KURZEN Moment erlischt. Genau zu diesem Zeitpunkt passiert das mit der Reduktion der Ausgangsströme.
Ich habe bereits im Vorherigen EMail bemängelt, daß die 750-638 ebenfalls die K-Bus Kommunikation verliert. (Auch diese Klemme hat eine LED die die Busverbindung anzeigt) Diese Klemme bleibt ca. für 50-100ms dunkel. Das kann man eindeutig sehen. Auswirkungen hat es bisher dort keine (aber ich habe die noch nicht programmiert). Allerdings blinkt die ziemlich nervös, alle ca. 500ms kommt es zu einem Kommunikationsunterbruch.
Was mit den anderen Karten passiert weiß ich nicht. ABER vertrauenswürdig ist das nicht.
Für den Fall der 750-553 sollte ich eine schnelle Lösung haben.
Mit bestem Dank
Mg
Zur Info:
- Die Versorgungsspannung ist 27V (etwas zu hoch), leider kann ich sie nicht absenken, weil eine USV davor steht und die doppelte Batteriespannung die Versorgungsspannung ergibt.
- In der DIAGNOSTICS steht nichts. (leer, ich weiß nicht wie ich das aktivieren soll)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2018-10-31
Originally created by: mg
Zumindest habe ich nun eine merkliche Verbesserung erzielt, wenn ich den Buszyklus-Task auf den Task der auf die E/A's wirkt, lege. Was ich da zwar genau mache weiß ich nicht. Die Beschreibung in der Hilfe habe ich nicht vollumfänglich kapiert.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2019-11-27
Originally created by: mg
Also obige Lösung war zwar besser aber nicht gut.
RICHTIG GUT FUNKTIONIERT DAS NUR ....
Wenn man für den K-Bus einen EIGENEN Task vergibt. Darauf darf NUR der K-Bus laufen. Keine weitere Software.
Dann muß man an diesen Task die K-Bus-Leiste anhängen.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
ja sorry, ich habe das schon ein paar mal hier im Forum "gepostet".
- Ich würde immer empfehlen eine eigene BusTask zu machen.....die je nach Applikations anforderungen (minimal)4-50ms zyklisch aufzurufen.
- dann daruf achten das man die IO's nur in der KBUS Task verwendet ( mit Taskdeployment kontrollieren)
- Update IO while in stop aktivieren ( das bedeutet KBUS update wird weiter aufgerufen / download / online change / stop)
je höher man den update zyklus macht für die Kbus task- desto höher wird der load der SPS ( kontrollieren mit der plcshell)
hänge mal das Projekt noch an.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2019-11-28
Originally created by: mg
Hallo Edwin
Kann man diese Informationen nicht mal irgendwo GESAMMELT zur Verfügung stellen.
Das Suchen im Forum funktioniert nicht grad zuverlässig (habe ich auch schon bemängelt, sogar über google funktioniert es besser als über die inkludierte Suchfunktion), und dadurch sind derartige Informationen nahezu nicht zu bekommen.
Man könnte es ja als LINK zum STORE geben (mit Datum)
Trotzdem Dank
Mario
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Wenn ich dann jetzt die KBus Task separat mache... wie sieht das dann mit der Aktualisierung der Werte in meiner Main Task aus?
Wenn ich jetzt als Beispiel meine Main-Task mit 20ms laufen lasse und möchte zu Beginn immer die aktuellsten Werte vom KBus haben und am Ende der Main Task die Ausgänge direkt auf den KBus geben,... wie bekomme ich das hin?
Ich müsste quasi vor Beginn der Main-Task die KBus Task laufen lassen => KBusTask hat höhere Prio. Somit hätte ich zu Beginn der MainTask die aktuellsten Werte vom KBus. Ist die Main Task Fertig, müsste die KBus Task wieder aufgerufen werden, um die Ausgänge zu schreiben. Nur wie stelle ich die Zykluszeit der KBus-Task ein, damit auch wirklich immer die aktuellsten Werte gelesen und geschrieben werden? Hätte ich da immer irgendwo einen Versatz bzw. wie alt wären im schlimmsten Fall die Daten vom KBus bzw. zum KBus?
Mir ist da nicht so ganz klar, wie das dann laufen würde...
Im Endeffekt würde ich gerne vor Beginn der MainTask die Daten vom Kbus holen und am Ende der Main-Task meine Ergebnisse auf die Ausgänge am Kbus schreiben.
Somit hätte ich die aktuellsten Werte für meine Berechnungen und für meine Peripherie hätte ich die schnellst möglichen Ausgangswerte.
Gruß Christian
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2019-11-28
Originally created by: mg
Nur mal als Hinweis:
Es gibt beim offiziellen WAGODokument zum PFC eine Beschreibung, wie die das mit dem PFC Bus machen.
Das betrifft zwar V2.3 aber deshalb fiel mir überhaupt erst eine Lösung ein ...
Hi,
hm.. ich habe den KBus nicht erfunden inzwischen gibt es da schon auch "zeitgemäßeres/schnelleres"
ich hoffe und denke auch das Wago da auch was nachlegt. Für die meisten Applikationen ist das schon ok so wie es ist und macht ja keine Probleme.
Wenn du synchron (mit schnellen IO Updatezyklen) mit deinen IO's sein musst, dann echt das ganze in der KBus Task also IO Update und dein programm oder aber die Kbustask höher prior und schneller.... was halt echt extremen PLCload verursacht.
Die 2th Generation PFC's entschärfen das ein wenig durch die ca 20% mehr Performance, aber
das hilft halt manchmal immer noch nicht.
Wie gesagt für die meisten Sachen passt das schon so.
Hoffe das hilft euch weiter.
Grüße
Edwin
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
erstmal danke für die Infos.
Hab mir die Beschreibung von Wago mal angesehen... aber da wird ja eigentlich auch nur das Verhalten der Task mit den KBus Aufrufen dargestellt.
Wenn ich jetzt aber eine extra Task mache weiß ich nicht wann genau die IO's in meiner MainTask aktualisiert werden...
Wie von Herrn Schwellinger angemerkt, hätte ich höhere CPU-Load auf der PFC, wenn ich die KBus Task dann entsprechend Zyklisch schneller mache...
Ich müsste Sie quasi höher Prior als die MainTask machen und doppelt so schnell. Somit würde ja vermutlich immer mit den aktuellsten Werten gestartet bzw. immer die aktuellsten Ausgänge gesetzt...oder?
Hab das ganze auch mal Ereignisgesteuert versucht...somit könnte ich es ja optimal laufen lassen. Ich setze mein Ereignis am Anfang der Main TRUE => Eingänge Einlesen in der KBus Task. In der KBus Task setzte ich das Ereignis zurück.
Am Ende der Main Task wieder Ereignis auf TRUE => Setzen der Ausgänge. In der KBus Task wieder Ereignis zurücksetzen.
Leider kommt mir das nach kurzer Zeit außer Tritt und die Task wird nicht mehr aufgerufen (da in irgend einem Zyklus meine Ereignisvariable komischerweise nicht mehr zurückgesetzt wird.) => hab hier schon dem Support mal geschrieben.
Vllt könnte ich das so hin bekommen?
Gruß Christian
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Originally created by: mg
Hallo
Produkt:
Product Description:WAGO 750-8202 PFC200 CS 2ETH RS
Order Number:750-8202
License Information:Codesys-Runtime-License
Firmware Revision:02.07.07(10)
allgemeine K-Bus Informationen aus dem Codesys
Name: Wago PFC200 interner Bus
Hersteller: 3S - Smart Software Solutions GmbH
Kategorien:
Typ: 288
ID: 0000 0001
Version: 3.5.13.0
750-553 K-Bus Informationen aus dem Codesys
Name: 75x-553 4AA, 0-20 mA
Hersteller: WAGO Kontakttechnik GmbH u. Co. KG
Kategorien:
Typ: 288
ID: 0000 0001
Modul-ID: 0229_75x_553
Version: 3.5.13.0
Bestellnummer: 75x-553
Beschreibung: 4-Kanal-Analogausgangsklemme 0-20 mA; Standard-Mapping
Beschreibung: Wago PFC200 interner Bus
Mir kommt vor daß der K-Bus NICHT stabil läuft (zumindest nicht konstant). Wenn ich daran nicht rumprogrammiere läuft es soso (mit den folgenden Einschränkungen.) Wenn ich das System programmiere, fällt der Bus mit einer Wahrscheinlichkeit von 25% komplett aus. Dann hilft nur noch STROM AUS - STROM EIN.
Ich habe unter anderem zwei 750-553 auf dem KBus (siehe Anhang)
Für ca. 10-50ms ändert sich der mA-Wert der Karten geringfügig, obwohl sich der Eingangswert nicht ändert.
Siehe Softwareauszug (fixer Wert wird DIREKT an die Karte gesendet)
Für weniger als 50ms (gehen die Analogausgänge mit dem Strom runter). In Wirklichkeit glaube ich der verliert den Wert komplett. Aber da das SOOO kurz ist sieht es aus als ob sich der Wert nur um ca. 10% verringert.
Wenn man nun GANZ KONZENTRIERT auf die grüne LED bei der 750-553 schaut, sieht man daß die im Abstand von ca.
8-10sec (unregelmäßig) für einen SEHR KURZEN Moment erlischt. Genau zu diesem Zeitpunkt passiert das mit der Reduktion der Ausgangsströme.
Ich habe bereits im Vorherigen EMail bemängelt, daß die 750-638 ebenfalls die K-Bus Kommunikation verliert. (Auch diese Klemme hat eine LED die die Busverbindung anzeigt) Diese Klemme bleibt ca. für 50-100ms dunkel. Das kann man eindeutig sehen. Auswirkungen hat es bisher dort keine (aber ich habe die noch nicht programmiert). Allerdings blinkt die ziemlich nervös, alle ca. 500ms kommt es zu einem Kommunikationsunterbruch.
Was mit den anderen Karten passiert weiß ich nicht. ABER vertrauenswürdig ist das nicht.
Für den Fall der 750-553 sollte ich eine schnelle Lösung haben.
Mit bestem Dank
Mg
Zur Info:
- Die Versorgungsspannung ist 27V (etwas zu hoch), leider kann ich sie nicht absenken, weil eine USV davor steht und die doppelte Batteriespannung die Versorgungsspannung ergibt.
- In der DIAGNOSTICS steht nichts. (leer, ich weiß nicht wie ich das aktivieren soll)
Originally created by: mg
Zumindest habe ich nun eine merkliche Verbesserung erzielt, wenn ich den Buszyklus-Task auf den Task der auf die E/A's wirkt, lege. Was ich da zwar genau mache weiß ich nicht. Die Beschreibung in der Hilfe habe ich nicht vollumfänglich kapiert.
Originally created by: mg
Also obige Lösung war zwar besser aber nicht gut.
RICHTIG GUT FUNKTIONIERT DAS NUR ....
Wenn man für den K-Bus einen EIGENEN Task vergibt. Darauf darf NUR der K-Bus laufen. Keine weitere Software.
Dann muß man an diesen Task die K-Bus-Leiste anhängen.
Hallo,
ja sorry, ich habe das schon ein paar mal hier im Forum "gepostet".
- Ich würde immer empfehlen eine eigene BusTask zu machen.....die je nach Applikations anforderungen (minimal)4-50ms zyklisch aufzurufen.
- dann daruf achten das man die IO's nur in der KBUS Task verwendet ( mit Taskdeployment kontrollieren)
- Update IO while in stop aktivieren ( das bedeutet KBUS update wird weiter aufgerufen / download / online change / stop)
je höher man den update zyklus macht für die Kbus task- desto höher wird der load der SPS ( kontrollieren mit der plcshell)
hänge mal das Projekt noch an.
PFC200_KBUS.project [156.31 KiB]
Originally created by: mg
Hallo Edwin
Kann man diese Informationen nicht mal irgendwo GESAMMELT zur Verfügung stellen.
Das Suchen im Forum funktioniert nicht grad zuverlässig (habe ich auch schon bemängelt, sogar über google funktioniert es besser als über die inkludierte Suchfunktion), und dadurch sind derartige Informationen nahezu nicht zu bekommen.
Man könnte es ja als LINK zum STORE geben (mit Datum)
Trotzdem Dank
Mario
Hallo,
dürfte ich mich zu dem Thema auch mal einklinken?
Wenn ich dann jetzt die KBus Task separat mache... wie sieht das dann mit der Aktualisierung der Werte in meiner Main Task aus?
Wenn ich jetzt als Beispiel meine Main-Task mit 20ms laufen lasse und möchte zu Beginn immer die aktuellsten Werte vom KBus haben und am Ende der Main Task die Ausgänge direkt auf den KBus geben,... wie bekomme ich das hin?
Ich müsste quasi vor Beginn der Main-Task die KBus Task laufen lassen => KBusTask hat höhere Prio. Somit hätte ich zu Beginn der MainTask die aktuellsten Werte vom KBus. Ist die Main Task Fertig, müsste die KBus Task wieder aufgerufen werden, um die Ausgänge zu schreiben. Nur wie stelle ich die Zykluszeit der KBus-Task ein, damit auch wirklich immer die aktuellsten Werte gelesen und geschrieben werden? Hätte ich da immer irgendwo einen Versatz bzw. wie alt wären im schlimmsten Fall die Daten vom KBus bzw. zum KBus?
Mir ist da nicht so ganz klar, wie das dann laufen würde...
Im Endeffekt würde ich gerne vor Beginn der MainTask die Daten vom Kbus holen und am Ende der Main-Task meine Ergebnisse auf die Ausgänge am Kbus schreiben.
Somit hätte ich die aktuellsten Werte für meine Berechnungen und für meine Peripherie hätte ich die schnellst möglichen Ausgangswerte.
Gruß Christian
Originally created by: mg
Nur mal als Hinweis:
Es gibt beim offiziellen WAGODokument zum PFC eine Beschreibung, wie die das mit dem PFC Bus machen.
Das betrifft zwar V2.3 aber deshalb fiel mir überhaupt erst eine Lösung ein ...
https://www.wago.com/at/d/6767
siehe 8.9 Klemmenbussynchronisation
ABER EDWIN WEISS SICHER MEHR !!!
Mg
Hi,
hm.. ich habe den KBus nicht erfunden inzwischen gibt es da schon auch "zeitgemäßeres/schnelleres"
ich hoffe und denke auch das Wago da auch was nachlegt. Für die meisten Applikationen ist das schon ok so wie es ist und macht ja keine Probleme.
Wenn du synchron (mit schnellen IO Updatezyklen) mit deinen IO's sein musst, dann echt das ganze in der KBus Task also IO Update und dein programm oder aber die Kbustask höher prior und schneller.... was halt echt extremen PLCload verursacht.
Die 2th Generation PFC's entschärfen das ein wenig durch die ca 20% mehr Performance, aber
das hilft halt manchmal immer noch nicht.
Wie gesagt für die meisten Sachen passt das schon so.
Hoffe das hilft euch weiter.
Grüße
Edwin
Hallo,
erstmal danke für die Infos.
Hab mir die Beschreibung von Wago mal angesehen... aber da wird ja eigentlich auch nur das Verhalten der Task mit den KBus Aufrufen dargestellt.
Wenn ich jetzt aber eine extra Task mache weiß ich nicht wann genau die IO's in meiner MainTask aktualisiert werden...
Wie von Herrn Schwellinger angemerkt, hätte ich höhere CPU-Load auf der PFC, wenn ich die KBus Task dann entsprechend Zyklisch schneller mache...
Ich müsste Sie quasi höher Prior als die MainTask machen und doppelt so schnell. Somit würde ja vermutlich immer mit den aktuellsten Werten gestartet bzw. immer die aktuellsten Ausgänge gesetzt...oder?
Hab das ganze auch mal Ereignisgesteuert versucht...somit könnte ich es ja optimal laufen lassen. Ich setze mein Ereignis am Anfang der Main TRUE => Eingänge Einlesen in der KBus Task. In der KBus Task setzte ich das Ereignis zurück.
Am Ende der Main Task wieder Ereignis auf TRUE => Setzen der Ausgänge. In der KBus Task wieder Ereignis zurücksetzen.
Leider kommt mir das nach kurzer Zeit außer Tritt und die Task wird nicht mehr aufgerufen (da in irgend einem Zyklus meine Ereignisvariable komischerweise nicht mehr zurückgesetzt wird.) => hab hier schon dem Support mal geschrieben.
Vllt könnte ich das so hin bekommen?
Gruß Christian