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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Aktionen von Funktionsblöcken in ST bei B&R

  1. #1
    Registriert seit
    11.07.2011
    Beiträge
    65
    Danke
    0
    Erhielt 4 Danke für 4 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich komme aus der CoDeSys/Beckhoff Welt und bin mich am Einarbeiten in die Entwicklungsumgebung von B & R.
    Ich programmiere ausschliesslich in ST.

    Von CoDeSys bin ich es mir gewohnt, dass man Funktionsblöcke mit Hilfe von Aktionen strukturieren kann.
    Dies habe ich aber im Automation Studio nirgends finden können. Es gibt zwar Aktionen, die gelten
    aber auf Programmebene.

    Wie mache ich dies nun bei B & R?
    Zitieren Zitieren Aktionen von Funktionsblöcken in ST bei B&R  

  2. #2
    Registriert seit
    07.06.2006
    Ort
    Bayern
    Beiträge
    623
    Danke
    27
    Erhielt 156 Danke für 139 Beiträge

    Standard

    Bei Funktionsblöcken gibt´s bei B&R keine Aktionen.
    Die Aktionen bei den Programmen gibt´s auch erst seit AS3.

    Die FB-Unterstützung ist bei B&R meiner Meinung nach sehr schlecht gelöst - hier könnte sich B&R mal bei Codesys ein bissel was abschauen:

    Funktionsblöcke kann man bei B&R mit AS3 nur innerhalb bzw. zugehörig zu einem Programm im Projekt hinterlegen.
    Programmübergreifende bzw. Projektweitgültige FB´s können nur über eine Bibliothek eingebunden werden.

  3. #3
    Registriert seit
    13.09.2010
    Beiträge
    113
    Danke
    0
    Erhielt 18 Danke für 18 Beiträge

    Standard

    Hallo Pippen,

    wenn ich das richtig verstanden habe, werden Funktionsblöcke und Funktionen in Bibliotheken zusammengefasst um Datenkonsistenz und einen problemlosen Export/Import zu gewährleisten. Aktionen werden hingegen in Programmen verwendet, damit man Programmcode, der evtl. auch häufiger verwendet werden soll, im eigentlichen Programm zu verbergen. Halt durch das Einfügen der Aktion.

    Grüße

  4. #4
    Pippen ist offline Benutzer
    Themenstarter
    Registriert seit
    11.07.2011
    Beiträge
    65
    Danke
    0
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Wir SW-Entwickler hier in unserer Firma verwenden Aktionen in Funktionsblöcken zur Strukturierung und Kapselung. Das heisst, die Funktionsblöcke entsprechen
    im Prinzip einer Klasse. Die Aktionen (bei CoDeSys) der Funktionsblöcke entsprechen den Methoden der Klasse.

    Bsp.
    Funktionsblock = fbFeeder
    Aktionen: Init, Run, SetSpeed, Start, Stop, ...

    Von diesem fbFeeder können dann verschiedene Instanzen erzeugt werden: FB_InputFeeder, FB_OutputFeeder, ...
    Diese Instanzen laufen dann völlig eigenständig.

    Wie macht man sowas im AS in ST?

  5. #5
    Registriert seit
    19.11.2006
    Beiträge
    1.346
    Danke
    6
    Erhielt 254 Danke für 231 Beiträge

    Standard

    Zitat Zitat von Pippen Beitrag anzeigen
    Ich komme aus der CoDeSys/Beckhoff Welt und bin mich am Einarbeiten in die Entwicklungsumgebung von B & R.
    Was ist der Sinn dahinter? (Scherz)

    Zitat Zitat von uncle_tom Beitrag anzeigen
    Bei Funktionsblöcken gibt´s bei B&R keine Aktionen.
    [...]
    Funktionsblöcke kann man bei B&R mit AS3 nur innerhalb bzw. zugehörig zu einem Programm im Projekt hinterlegen.
    Programmübergreifende bzw. Projektweitgültige FB´s können nur über eine Bibliothek eingebunden werden.
    Habe zwar nur CoDeSys/Beckhoff-Erfahrung, aber Ich dachte solche Dinge seinen herstellerübergreifend genormt und mittlerweile eine Selbstverständlichkeit.
    Dann scheint man mit CoDeSys/Beckhoff wohl enorm viele Freiheiten zu genießen.

  6. #6
    Pippen ist offline Benutzer
    Themenstarter
    Registriert seit
    11.07.2011
    Beiträge
    65
    Danke
    0
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Dann scheint man mit CoDeSys/Beckhoff wohl enorm viele Freiheiten zu genießen.
    Ja, das wird mir jetzt auch bewusst.

    Obwohl, der eine oder andere Ansatz von B & R ist auch nicht so schlecht.
    Aber das hier, kann ich fast nicht glauben.
    Da müssten wir uns total umstellen.

  7. #7
    Registriert seit
    13.09.2010
    Beiträge
    113
    Danke
    0
    Erhielt 18 Danke für 18 Beiträge

    Standard

    Baut doch einfach eine Bibliothek, die die Funktionen/Funktionsbausteine Init, Run, SetSpeed usw. implementiert. Dann noch einen Baustein fbFeeder, in dem Init, Run, SetSpeed in einer State Machine abgebildet sind. Anschließend die Instanzen InputFeeder, OutputFeeder erzeugen und die Welt ist in Ordnung.

    Grüße

  8. #8
    Pippen ist offline Benutzer
    Themenstarter
    Registriert seit
    11.07.2011
    Beiträge
    65
    Danke
    0
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Da es aber bei anderen Fu-blöcken (z. Bsp. fbLifter) auch wieder einen Init, Run, SetSpeed usw. gibt und die Daten dann total anders aussehen, sehe ich das nicht als gute Lösung an. Denn
    dann müsste man die Funktionen InitFeeder, RunFeeder, SetSpeedFeeder nennen, damit man die Implementierung unterscheiden kann, oder?
    Da man ja leider nicht vererben, ableiten kann wird das ziemlich mühsam.

  9. #9
    Registriert seit
    13.09.2010
    Beiträge
    113
    Danke
    0
    Erhielt 18 Danke für 18 Beiträge

    Standard

    Mit jeder neuen Instanz von fbFeeder werden natürlich auch neue Instanzen von Init, Run, SetSpeed usw. im Speicher angelegt. Vererbung im Sinne von OOP würde das Problem m.E. auch nicht lösen. Falls es aber Ambitionen gibt, kann man bei B&R auch in C++ programmieren.

  10. #10
    Pippen ist offline Benutzer
    Themenstarter
    Registriert seit
    11.07.2011
    Beiträge
    65
    Danke
    0
    Erhielt 4 Danke für 4 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Dass für jede Instanz von fbFeeder dann auch Instanzen von Init, Run, SetSpeed usw angelegt werden ist mir klar. Ich brauche aber für einen anderen Fu-Block (z. Bsp. fbLifter) auch wieder Init, Run, SetSpeed, usw. Diese
    funktionieren aber anders als Init, Run, SetSpeed von fbFeeder. Da sich fbLifter und fbFeeder in den Daten und auch im Ablauf ziemlich stark unterscheiden, von der Grundstruktur her aber nicht.
    Ja, wahrscheinlich werden wir den Weg gehen, viele Sachen in C++ zu programmieren. Das muss man aber bei B&R dazukaufen.

Ähnliche Themen

  1. Funktionsblöcke verschieben? (PLC Control 2.11)
    Von twincatter im Forum CODESYS und IEC61131
    Antworten: 4
    Letzter Beitrag: 21.11.2012, 08:34
  2. Antworten: 5
    Letzter Beitrag: 15.07.2011, 07:32
  3. Aktionen zu FB's und Lokale Variablen
    Von Majestic_1987 im Forum CODESYS und IEC61131
    Antworten: 8
    Letzter Beitrag: 10.03.2010, 10:52
  4. Graph: in Aktionen Werte zuweisen
    Von Mujo im Forum Feldbusse
    Antworten: 2
    Letzter Beitrag: 22.09.2007, 18:12
  5. Sicher von Daten bei einer B&R 2005
    Von Anonymous im Forum Sonstige Steuerungen
    Antworten: 1
    Letzter Beitrag: 26.01.2004, 17:23

Lesezeichen

Berechtigungen

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