Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 27

Thema: Der FB schafft mich langsam aber sicher...

  1. #1
    Registriert seit
    31.10.2011
    Beiträge
    5
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    nachdem ich hier schon einige Themen zu meinem Problem gelesen habe (die mir nicht wirklich geholfen haben), habe ich mich entschlossen ein neues Thema aufzumachen. Sicherlich wird der Ein oder Andere jetzt denken: "Oh nein, nicht schon wieder diese Frage!".

    Aber ich komme da einfach nicht weiter...

    Nun mein Problem:
    Ich habe einen FB erstellt, der den Status von Ventilen (es sind 12 Stück) erfassen und dementsprechend verarbeiten soll.
    Funktionieren tut das ganze so, das als allererstes geprüft wird, ob alle Bedingungen gegeben sind um das Ventil X einschalten zu können.


    Das heißt, ich habe von Außen alle Ventile angeknüpft die nicht zusammen mit Ventil X angesteuert sein dürfen und einmal alle die mit Ventil X eingeschaltet sein müssen (diese Konfiguration ändert sich je nach Programmschritt). Wenn eine der Bedingungen nicht erfüllt ist, geht die Anlage in Störung und gibt diese über die Ausgänge des FB's aus. Stimmt alles wird über die Ausgänge des FB´s das Ventil X und die dazugehörige Meldeleuchte eingeschaltet.
    Ist das Ventil X eingeschaltet, so läuft auf dem FB eine Rückmeldung auf. Diese dient dazu, einen eventuellen Fehler des Ventil X selbst festzustellen.
    Genau diese Rückmeldung ist mein Sorgenkind. Als ich den FB mit nur einem Ventil getestet hatte, lief alles genau so wie es vorgesehen ist.
    Kaum hatte ich das 2. Ventil mit eingebunden um zu Testen ob der FB auch nach einem Mehrfachaufruf seinen Dienst tut, gab es Probleme.
    Alles läuft so wie es soll, nur die Rückmeldung der Ventile wird irgendwie als ein Signal angenommen.
    Heißt, wenn ich Ventil 1 im Betrieb "abschalte"; passiert gar nichts. Die Anlage sollte dann aber in Störung gehen und das dafür verantwortliche Ventil durch Blinken seiner Meldeleuchte kenntlich machen. Erst wenn ich das 2. Ventil deaktiviere geht die Anlage in Störung und lässt die Meldeleuchten beider Ventile blinken. Wie schon vermutet deutet das ja darauf hinn, das die Rückmeldungen nicht unabhängig von einander gesehen werden.

    Zur Beschaltung und Konfiguration des FB´s, jedes Ventil hat diesen FB, Eingänge und Ausgänge sind für jedes Ventil anders.
    Die einzigen Beschaltungen die die FB´s gemeinsam haben sind ein Taktmerker, so wie Störungsquittierung etc. .
    Intern habe ich den Ein- und Ausgängen ihre dementsprechenden Variablen zugewiesen.
    Als "Merker" für die interne Kommunikation unter den Netzwerken habe ich die Variable VAR S, Typ BOOL , Anfangswert false benutzt. Jeder FB (Aufruf) hat seinen eigenen DB mit dem er auch im OB1 aufgerufen ist (Jeder Aufruf des FB findet in einem anderen FC statt, da ich jedem Ventil einen spendiert habe).
    Ich verstehe nun wirklich nicht was da los ist.

    Meine Vermutung wäre ja, das ich entweder etwas mit den Variablen falsch gemacht habe, oder aber mit dem Mehrfachaufruf.
    Ich habe mich auch schon an der Multiinztanz versucht, da ich aber nichts brauchbares (eine vernünftige Anleitung) gefunden habe, habe ich den Versuch wieder verworfen. Dazu sollte vieleicht noch gesagt sein, das ich kein Profi in der SPS-Programmierung bin.

    Ach ja, arbeiten tue ich in diesem Fall mit WinPLC7, SPS ist eine VIPA Speed 7 CPU 314 SE.
    Geändert von Mr.Munshun (31.10.2011 um 21:19 Uhr)
    Zitieren Zitieren Der FB schafft mich langsam aber sicher...  

  2. #2
    Registriert seit
    03.04.2008
    Beiträge
    6.200
    Danke
    237
    Erhielt 815 Danke für 689 Beiträge

    Standard

    Zitat Zitat von Mr.Munshun Beitrag anzeigen
    Hallo zusammen, nachdem ich hier schon einige Themen zu meinem Problem gelesen habe (die mir nicht wirklich geholfen haben), habe ich mich entschlossen ein neues Thema aufzumachen. Sicherlich wird der Ein oder Andere jetzt denken: "Oh nein, nicht schon wieder diese Frage!". Aber ich komme da einfach nicht weiter... Nun mein Problem: Ich habe einen FB erstellt, der den Status von Ventilen (es sind 12 Stück) erfassen und dementsprechend verarbeiten soll. Funktionieren tut das ganze so, das als allererstes geprüft wird, ob alle Bedingungen gegeben sind um das Ventil X einschalten zu können. Das heißt, ich habe von Außen alle Ventile angeknüpft die nicht zusammen mit Ventil X angesteuert sein dürfen und einmal alle die mit Ventil X eingeschaltet sein müssen (diese Konfiguration ändert sich je nach Programmschritt). Wenn eine der Bedingungen nicht erfüllt ist, geht die Anlage in Störung und gibt diese über die Ausgänge des FB's aus. Stimmt alles wird über die Ausgänge des FB´s das Ventil X und die dazugehörige Meldeleuchte eingeschaltet. Ist das Ventil X eingeschaltet, so läuft auf dem FB eine Rückmeldung auf. Diese dient dazu, einen eventuellen Fehler des Ventil X selbst festzustellen. Genau diese Rückmeldung ist mein Sorgenkind. Als ich den FB mit nur einem Ventil getestet hatte, lief alles genau so wie es vorgesehen ist. Kaum hatte ich das 2. Ventil mit eingebunden um zu Testen ob der FB auch nach einem Mehrfachaufruf seinen Dienst tut, gab es Probleme. Alles läuft so wie es soll, nur die Rückmeldung der Ventile wird irgendwie als ein Signal angenommen. Heist, wenn ich Ventil 1 im Betrieb "abschalte" passiert gar nichts. Die Anlage sollte dann aber in Störung gehen und das dafür verantwortliche Ventil durch Blinken seiner Meldeleuchte kenntlich machen. Erst wenn ich das 2. Ventil deaktiviere geht die Anlage in Störung und lässt die Meldeleuchten beider Ventile blinken. Wie schon vermutet deutet das ja darauf hinn, das die Rückmeldungen nicht unabhängig von einander gesehen werden. Zur Beschaltung und Konfiguration des FB´s, jedes Ventil hat diesen FB, Eingänge und Ausgänge sind für jedes Ventil anders. Die einzigen Beschaltungen die die FB´s gemeinsam haben sind ein Taktmerker, so wie Störungsquittierung etc. . Intern habe ich den Ein- und Ausgängen ihre dementsprechenden Variablen zugewiesen. Als "Merker" für die interne Kommunikation unter den Netzwerken habe ich die Variable VAR S, Typ BOOL , Anfangswert false benutzt. Jeder FB (Aufruf) hat seinen eigenen DB mit dem er auch im OB1 aufgerufen ist (Jeder Aufruf des FB findet in einem anderen FC statt, da ich jedem Ventil einen spendiert habe). Ich verstehe nun wirklich nicht was da los ist. Meine Vermutung wäre ja, das ich entweder etwas mit den Variablen falsch gemacht habe, oder aber mit dem Mehrfachaufruf. Ich habe mich auch schon an der Multiinzanz versucht, da ich aber nichts brauchbares (eine vernünftige Anleitung) gefunden habe habe ich den Versuch wieder verworfen. Dazu sollte vieleicht noch gesagt sein, das ich kein Profi in der SPS-Programmierung bin. Ach ja, arbeiten tue ich in diesem Fall mit WinPLC7, SPS ist eine VIPA Speed 7 CPU 314 SE.
    Hast du dir durchgelesen, was du fragst?
    Wie soll man da etwas daraus verstehen?
    Mit Zeilenumbruch und etwas überarbeiteter Formulierung kann man vielleicht verstehen was du willst und dir ggF eine Hilfestellung geben.


    bike

  3. #3
    Registriert seit
    26.12.2009
    Beiträge
    98
    Danke
    22
    Erhielt 9 Danke für 7 Beiträge

    Standard

    Hi, Mr.M!

    Do you use any TEMP variables in your FB?
    Or Merkern?

    Kaputt

  4. #4
    Mr.Munshun ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    31.10.2011
    Beiträge
    5
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von bike Beitrag anzeigen
    Hast du dir durchgelesen, was du fragst?
    Wie soll man da etwas daraus verstehen?
    Mit Zeilenumbruch und etwas überarbeiteter Formulierung kann man vielleicht verstehen was du willst und dir ggF eine Hilfestellung geben.


    bike
    Schon geändert, leider ist die Formatierung nach dem Senden futsch gewesen. Was die Formulierung angeht, Ansichtssache, jeder drückt sich halt anders aus, von daher wüste ich nicht wirklich wie ich das anders schreiben soll.
    Geändert von Mr.Munshun (31.10.2011 um 21:08 Uhr)

  5. #5
    Mr.Munshun ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    31.10.2011
    Beiträge
    5
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von kaputt Beitrag anzeigen
    Hi, Mr.M!

    Do you use any TEMP variables in your FB?
    Or Merkern?

    Kaputt
    Hi,

    no, I don´t use TEMP variables or Merker. Only the In- and Out- Variables and the VAR S (for the internal communication between the Networks).

    Mr. M.
    Geändert von Mr.Munshun (31.10.2011 um 21:15 Uhr)

  6. #6
    Registriert seit
    03.04.2008
    Beiträge
    6.200
    Danke
    237
    Erhielt 815 Danke für 689 Beiträge

    Standard

    Stimmt jeder schreibt so wer denkt.

    Ich würde jetzt zum Test einmal den FB als FB1 mit IDB1, und einmal als FB2 mit IDB2 testen. Den FB auf FB 1 und FB 2 kopieren und ins Programm einfügen.
    Dann kannst du debuggen und siehst ob es funktioniert.

    Wenn es so funktioniert, dann hast du ein Problem mit Temp Variablen, die nicht bei jedem Aufruf initialisiert werden.


    bike

  7. #7
    Registriert seit
    07.07.2004
    Beiträge
    3.285
    Danke
    38
    Erhielt 584 Danke für 382 Beiträge

    Idee

    Hallo,

    Zitat Zitat von Mr.Munshun
    Nun mein Problem:
    Ich habe einen FB erstellt, der den Status von Ventilen (es sind 12 Stück) erfassen und dementsprechend verarbeiten soll.
    Soll das heissen, Du möchtest mit einem FB diese 12 Ventile ansteuern ? Dann hast Du Dir das Problem selbst geschaffen. Zerlege Dein Problem in kleine, überschaubare Einheiten. Also zuerst mache einen FB oder FC, der erstmal alle Funktionen eines Ventils beinhaltet. Und für jede Art des Ventils (2 oder 3 Wege, mit/ohne Rückmeldung, elektrisch, pneumatisch oder hydraulisch etc.) erstelle einen eigenen Baustein. Diesen Baustein dann auf die gewünschte Funktionalität des Ventiles testen.

    Und erst dann kannst Du mal langsam versuchen, die logische Ansteuerung dieser Ventile weiter in einem Baustein zu verknüpfen.

    Du bist dabei, Dir einen Monsterbaustein zu basteln, der Dich irgendwann auffrisst.

    Gruß

    Question_mark
    ''Ich habe wirklich keine Vorurteile.
    Meine Meinung ist nur die Summe der Erfahrungen" ... (Question_mark)
    Zitieren Zitieren Falscher Lösungsansatz  

  8. #8
    Registriert seit
    27.08.2003
    Ort
    Schweitenkirchen
    Beiträge
    472
    Danke
    101
    Erhielt 73 Danke für 59 Beiträge

    Standard

    @QM , nö er hat schon vor sich einen Ventibaustein für Mehrfachaufruf zu schreiben..





    Jeder deiner FBs hat einen anderen Instanz DB?

    Hast du darauf geachtet im FB auch nur mit Lokalvariablen (mit # davor) zu arbeiten?
    Oben in der Variablendeklaration lieber mit "Stat" wie Statischen arbeiten statt temporären Variablen.
    Wenn ich einen meiner Finger in eines deiner Nasenlöcher stecke, haben wir beide nen Finger in der Nase

  9. #9
    Registriert seit
    11.12.2009
    Beiträge
    2.115
    Danke
    388
    Erhielt 390 Danke für 271 Beiträge

    Standard

    Oder nutzt du irgendwo die S5-Timer (T1 - Tn) ? Diese können dir natürlich auch Freude bereiten...

    Grüße

    Marcel

  10. #10
    Registriert seit
    07.07.2004
    Beiträge
    3.285
    Danke
    38
    Erhielt 584 Danke für 382 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    Zitat Zitat von Zefix
    @QM , nö er hat schon vor sich einen Ventibaustein für Mehrfachaufruf zu schreiben..
    Da bin ich mir eben nicht so sicher, und zwar deswegen ..

    Zitat Zitat von TE
    Ich habe einen FB erstellt, der den Status von Ventilen (es sind 12 Stück) erfassen und dementsprechend verarbeiten soll.
    Ich habe eher den Eindruck (und der muss aber nicht unbedingt richtig sein), das hier der Versuch gestartet wird, aus einem Baustein diese 12 Ventile anzusteuern. Ich glaube, ich lese mir das ganze Thema nochmal von Anfang an durch.

    Gruß

    Question_mark
    Geändert von Question_mark (31.10.2011 um 22:06 Uhr)
    ''Ich habe wirklich keine Vorurteile.
    Meine Meinung ist nur die Summe der Erfahrungen" ... (Question_mark)
    Zitieren Zitieren ...  

Ähnliche Themen

  1. Wieviel Hz schafft eine SM321 ?
    Von McGyver im Forum Simatic
    Antworten: 22
    Letzter Beitrag: 16.11.2010, 13:10
  2. sps forum schafft nicht nur freundschaft
    Von vierlagig im Forum Stammtisch
    Antworten: 46
    Letzter Beitrag: 10.02.2010, 11:46
  3. Step 5 startet langsam Bedienung langsam
    Von mitchih im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 04.01.2010, 10:26
  4. Antworten: 4
    Letzter Beitrag: 22.11.2009, 19:12
  5. Vatikan schafft das Fegefeuer ab
    Von zotos im Forum Stammtisch
    Antworten: 28
    Letzter Beitrag: 28.04.2007, 17:42

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •