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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 17 von 17

Thema: Funktionsbaustein

  1. #11
    Registriert seit
    24.08.2013
    Ort
    Mittelhessen
    Beiträge
    35
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute,

    wenn ich die Funktion 14 einmal im Programm aufrufe ist alles in Ordnung, d.h. wenn eine
    ich den Eingang [126.4] wegnehme kommt auch der Alarm.

    Wenn ich jetzt die Funktion 14 zum zweiten mal aufrufe [Eingang 126.2] und diesen Eingang
    wegnehme passiert nichts.

    Der Alarm wird erst dann generiert wenn ich den Eingang [126.4] auch wegnehme. Die Eingänge werden
    somit von den anderen Eingängen überschrieben.

    Was mache ich hier falsch.

    Gruß
    Stephan


  2. #12
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.327
    Danke
    932
    Erhielt 3.332 Danke für 2.690 Beiträge

    Standard

    Na, wahrscheinlich benutzt Du im FC globale oder temporäre Variablen falsch.
    Wie sieht Dein FC14 jetzt aus? Bitte lade den Code als Text hier hoch (nicht .zip) oder noch besser: kopiere den Programmcode lesbar in den Beitrag in CODE-Tags (der #-Button im Beitrags-Editor).

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  3. Folgender Benutzer sagt Danke zu PN/DP für den nützlichen Beitrag:

    ertrinkender (12.01.2014)

  4. #13
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.739
    Danke
    444
    Erhielt 924 Danke für 744 Beiträge

    Standard

    Du hast im FC80 bei den beiden Aufrufen des FC14 das IN_OUT-Struct DB_Meldungen jeweils "DB310.DB_Meldungen" angegeben!
    Wenn ich das richtig sehe, werden darin die ganzen Zeitberechnungen u.ä. des FC14 gespeichert.
    Die überschreiben sich somit bei 2 (oder mehr) anstehenden Alarmen garantiert immer wieder gegenseitig.

  5. Folgender Benutzer sagt Danke zu hucki für den nützlichen Beitrag:

    ertrinkender (12.01.2014)

  6. #14
    Registriert seit
    24.08.2013
    Ort
    Mittelhessen
    Beiträge
    35
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Leute,

    ich trau mich gar nicht mehr zu melden. Aber es funktioniert jetzt.

    Hucki hat die richtigen Hinweis gegeben.

    Warum ich da nicht selber darauf gekommen bin?... fragt mich nicht.

    Gut das, das ganze hier anonym ist...!!!!

    Gruß
    Etrinkender

  7. #15
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.739
    Danke
    444
    Erhielt 924 Danke für 744 Beiträge

    Standard

    Zitat Zitat von ertrinkender Beitrag anzeigen
    Gut das, das ganze hier anonym ist...!!!!

    Gruß
    Etrinkender
    Dann schau' noch mal schnell in Deinen Ausweis, wie Du heißt!
    Achja, Dein Nick steht da ja nicht drin - so'n Schiet aber auch!




    Geändert von hucki (12.01.2014 um 15:12 Uhr) Grund: "Nur Spaß"-Smiley eingefügt

  8. #16
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.739
    Danke
    444
    Erhielt 924 Danke für 744 Beiträge

    Standard

    Zitat Zitat von hucki Beitrag anzeigen
    Du hast im FC80 bei den beiden Aufrufen des FC14 das IN_OUT-Struct DB_Meldungen jeweils "DB310.DB_Meldungen" angegeben!
    Wenn ich das richtig sehe, werden darin die ganzen Zeitberechnungen u.ä. des FC14 gespeichert.
    Ich hätte das eh' nicht mit einem FC(14) gemacht, sondern einen FB erstellt. So werden für jeden Aufruf die zugehörigen (Zeitverzögerungs-) Daten in dessen Instanz-DB gespeichert und nicht in einem globalen DB. (Nebenbei kannst Du in einem FB dann auch noch die IEC-Zeiten verwenden, anstatt selbst zu berechnen.)
    Wenn Du nicht Hunderte von IDBs willst, kann man auch den FC80 als FB erstellen und dann mit dem FB14 eine Multiinstanz erstellen.

    Nur die Alarme selbst hätte ich dann noch in dem globalen DB gespeichert.

  9. #17
    Registriert seit
    24.08.2013
    Ort
    Mittelhessen
    Beiträge
    35
    Danke
    5
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi hucki,

    meine Idee ist die alle DB's die vorkommen können in einem Fehlerbaustein
    [Array] zu speichern und die Alarmmeldungen dann in einen extra DB-Baustein.

    Dies sollte doch funktionieren!?!

    Nachdem ich die Funktionen getestet habe ist mir noch was aufgefallen.
    Sobald ich die Zeiten über 10 Sekunden stelle geht die CPU in Störung.

    Dies liegt an dem "Hexa-Code" bzw. BCD-Umwandlung. Hab mich im Forum schon schlau gemacht
    wie ich die Zeit [Sekunden] in Integer-Werte umwandeln kann. Bin aber nicht so recht
    schlau daraus geworden.

    Hast Du eine Idee?


    Gruß
    Ertrinkender [Stephan]

Ähnliche Themen

  1. In-Out Variable in Funktionsbaustein
    Von blubbi im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 26.04.2012, 21:03
  2. Fehlermeldung im Funktionsbaustein
    Von Stefan31 im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 16.04.2012, 23:02
  3. Funktionsbaustein in S40
    Von Arne30 im Forum Sonstige Steuerungen
    Antworten: 2
    Letzter Beitrag: 24.07.2006, 15:05
  4. Funktionsbaustein Lauflicht
    Von maxi im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 24.04.2006, 07:11
  5. Funktionsbaustein in S5 ???
    Von Tom1971 im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 06.04.2006, 18:48

Lesezeichen

Berechtigungen

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