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

Ergebnis 1 bis 9 von 9

Thema: CFC-Programmierung

  1. #1
    Registriert seit
    20.07.2012
    Beiträge
    108
    Danke
    9
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    ich würde gerne verschiedene Bits und Realwerte zu einer Variable zusammenfügen. Gibt es da, bezüglich CFC , Bausteine die verschiedene Daten zu einer Struktur zusammenfügen oder einem String z.b ?

    Freundliche Grüße

    Jeremy
    Zitieren Zitieren CFC-Programmierung  

  2. #2
    Registriert seit
    09.08.2006
    Beiträge
    3.626
    Danke
    911
    Erhielt 656 Danke für 542 Beiträge

    Standard

    Nein, Strukturen und arrays gibt es in cfc erstmal nicht.

  3. #3
    Jeremy3 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    20.07.2012
    Beiträge
    108
    Danke
    9
    Erhielt 0 Danke für 0 Beiträge

    Standard

    ok, und wie sieht es in AWL oder FUP aus. Gibt es da eine Möglichkeit eine Funktion oder Funktionsbaustein zu erstellen der die Daten sammelt oder vllt sogar etwas vorgefertigtes ?

    Freundliche Grüße

    Jeremy

  4. #4
    Registriert seit
    09.08.2006
    Beiträge
    3.626
    Danke
    911
    Erhielt 656 Danke für 542 Beiträge

    Standard

    Zitat Zitat von ducati Beitrag anzeigen
    Nein, Strukturen und arrays gibt es in cfc erstmal nicht.
    um das "erstmal" näher zu spezifizieren:
    Seit der PCS7-APL-Bibliothek gibt es in CFC auch Strukturen. Ich habe aber noch keine "Freigabe" gesehen, das diese Funktionalität auch unter Step7+CFC verwendet werden kann. Weiterhin kenne ich auch keine Anleitung dafür.
    Auf jeden Fall ist das aber eine Überlegung wert, deshalb habe ich jetzt mal unter Step7 5.5 eine CFC-Version von der PCS7-DVD installiert (CFC 8.0 SP2 Upd1 z.B.) und siehe da, ich kann eigene Strukturen verwenden.
    wie mache ich das:
    siehe PCS7-APL-Styleguide: http://support.automation.siemens.co...ew/de/65601446 ab Seite 44
    Du musst eigene Bausteine schreiben mit folgender Ein/Ausgangsdeklaration:
    Code:
    // Struktur Analogwert
    PV: STRUCT
    Value : REAL := 0.0; // Value
    ST : BYTE := 16#80; // Signal Status
    END_STRUCT
    Das folgende Beispiel zeigt die Zuweisung einer Struktur:
    // Zuweisung
    PV.Value := X1 + X2;
    PV.ST := 16#78;
    Die Frage stellt sich nur, ob das schon mit der für Step7 zugelassenen CFC-Version 8.0 SP0 Upd0 auch schon funktioniert.
    Eine schöne Sache, evtl. frag ich da Siemens mal nach einer Freigabe für die nächsten Projekte an.
    Gruß.

  5. #5
    Registriert seit
    09.08.2006
    Beiträge
    3.626
    Danke
    911
    Erhielt 656 Danke für 542 Beiträge

    Standard

    Zitat Zitat von Jeremy3 Beitrag anzeigen
    vorgefertigtes
    "vorgefertigt" gibt es nichts, Du musst Dir selbst überlegen, was Du warum machen willst, und es dann umsetzen.

    was genau willst Du machen, und welche CFC-Version hast Du?

    Gruß.

  6. #6
    Jeremy3 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    20.07.2012
    Beiträge
    108
    Danke
    9
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ich möchte gerne verschiedene Bits und Realwerte zu einer Variable zusammenfügen und diese dann an ein DB übertragen. Damit hätte ich dann nur einen AUsgang und nicht so viele . Benutze Step 7 version 5.5 mit mit CFC v 6.1 mit SP1.
    Also muss man sich extra eine SCL Funktion schreiben für so eine einfache Sache ?

    Freundliche Grüße

    Jeremy

  7. #7
    Registriert seit
    09.08.2006
    Beiträge
    3.626
    Danke
    911
    Erhielt 656 Danke für 542 Beiträge

    Standard

    Zitat Zitat von Jeremy3 Beitrag anzeigen
    Ich möchte gerne verschiedene Bits und Realwerte zu einer Variable zusammenfügen und diese dann an ein DB übertragen. Damit hätte ich dann nur einen AUsgang und nicht so viele . Benutze Step 7 version 5.5 mit mit CFC v 6.1 mit SP1.
    Also muss man sich extra eine SCL Funktion schreiben für so eine einfache Sache ?
    Hmm, erstmal muss ich mich etwas korrigieren, STRUCT funktioniert auch schon mit älteren CFC-Versionen (ob auch schon 6.1 weiss ich aber nicht), hat nur irgendwie niemand genutzt. Vermutlich weil man das nicht ordentlich zur Visu bekommt (neu ist nämlich das Attribut S7_xm_c)

    Du kannst verschiedene Variablen in einer STRUCT-Variable zusammenfassen. Nur gibt's dafür keinen fertigen Baustein, welcher die Zusammenführung macht, da ja die Struktur beliebig aussehen kann.

    Du musst Dir also, am besten in SCL, nen Baustein schreiben, welcher die einzelnen Elemente als Eingang hat und die Struktur als Ausgang. Diesen Baustein kannst Du dann in CFC "reinziehen" und die Signale dranhängen. An den Ausgang solltest Du dann hoffentlich das DB-Element dranhängen können, wenn es die selbe Struktur hat.

  8. #8
    Registriert seit
    29.03.2004
    Beiträge
    5.731
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard

    Man kann zwar Strukturen in CFC zwischen Bausteinen verschalten, aber man kann nicht aus dem CFC-Plan heraus auf Strukturelemente zugreifen.
    Hat man beispielsweise in einem DB ein Struct das eine Integervariable beinhaltet, kann man diesen Wert nicht z.B. mit einem MUL_I Bastein direkt im CFC-Plan verschalten. Zumindest war das bei CFC 7.1 noch so. Wenn man das machen will muss man die DB-Absolutadresse angeben, und das möchte man eigentlich vermeiden.

    Wie man auf die Idee kommt der hier gewünschte Spezialbaustein ist in CFC integriert sein könnte ist mir schleierhaft. Wenn man ein einziges mal eine nackte CFC-Installation in Step7 gestartet hat, dürfte einem sofort auffallen dass dort nur absolut elementare Bausteine (und nicht mal vollständig, SEL_I nur als Beispiel) für Basisfunktionen mitgeliefert werden.

  9. #9
    Registriert seit
    09.08.2006
    Beiträge
    3.626
    Danke
    911
    Erhielt 656 Danke für 542 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Thomas_v2.1 Beitrag anzeigen
    Zumindest war das bei CFC 7.1 noch so.
    Ist auch immer noch so, mit der Ausnahme der PCS/-APL-Strukturen. Dort kannst Du den Value aus der Struktur (Value und ST) direkt verschalten. Also z.B. kann Du an den Add04 (APL) direkt den ADD_R (CFC) dranhängen. Der Add04 hat ne Structur der ADD_R nicht.

    Gruß.

Ähnliche Themen

  1. Step 7 CFC Programmierung
    Von Jeremy3 im Forum Simatic
    Antworten: 34
    Letzter Beitrag: 10.12.2013, 10:56
  2. CFC Programmierung if / sprünge?
    Von swissm im Forum Programmierstrategien
    Antworten: 6
    Letzter Beitrag: 19.07.2011, 19:50
  3. Buch CFC Programmierung
    Von dan_mue im Forum Simatic
    Antworten: 14
    Letzter Beitrag: 21.01.2011, 21:56
  4. CFC Programmierung
    Von tarzipan7 im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 18.04.2008, 16:38
  5. Antworten: 3
    Letzter Beitrag: 11.09.2007, 20:38

Lesezeichen

Berechtigungen

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