Welcome to our new forum
All users of the legacy CODESYS Forums, please create a new account at account.codesys.com. But make sure to use the same E-Mail address as in the old Forum. Then your posts will be matched. Close

Serien Installation?

bolle
2007-06-14
2007-06-15
  • bolle - 2007-06-14

    Hi an Alle

    bin gerad mit meiner Bachelorarbeit beschäftigt und hab da ne kleine frage:

    Wie würdet ihr des machen Wenn ihr ein Porgramm so voreinrichten solltet ,so das man es bei unterschiedlichen Kundenanforderungen es trotzdem installieren kann ohne das das Personal an der internen Porgrammstruktur etwas ändern muss????

    Hab mir des so überlegt:

    ich lad die maximale Anzahl an FBs(jeder steht fuer ein einzelnes gerät ;die anzahl variriert allerdings)auf den Controller und richte die Parametrierung der einzelnen FBs und die Klemmenzuweisung über ein selbstgeschriebens java Programm ein.Dieses erzeugt eine liste welches einfach in die Globale Variablen Liste kopiert wird und fertig.

    was haltet ihr davon???

    wie würdet ihr es machen bzw. was ist in der Praxis üblich???

    Wird wirklich jedes Programm auf den Kunden zugeschnitten,bei gleicher Aufgabenstellung jedoch leicht unterschiedlichen geräten( => unterschiedeliche parameter)

    gibts eigentlich möglichkeiten durch setzen eine bits die abarbeitung eines FBs zu blockieren???? umd Speicherplatz zu sparen

    Gruss Bolle

     
  • Chräshe - 2007-06-14

    Hallo Bolle,

    liefere einfach ein fertiges Programm ab und kein „Personal“ muss anschließend etwas an der Programmstruktur ändern. Nein im Ernst – ich würde für jeden Kunden ein eigenes Programm anlegen. Bei nachtäglichen Änderungen oder Sonderwünschen kann man so besser reagieren. Und wenn es gleich bleibt, tut es auch nicht weh.

    Zu deiner Überlegung: Es ist sinnvoll ein Programm so zu schreiben, dass wiederholende Funktionen einfach so oft wie benötigt aufgerufen werden. Nur wird es schwierig, dies auch auf die Hardware zu übertragen. Ich gehe üblicherweise den Weg, dass ich mit der E-Konstruktion beginne. Dort berücksichtige ich die Gegebenheiten / Eigenheiten der Hardware und exportiere aus dem fertiggestellten Schaltplan meine Symbolik mit Hardware-Adressen. Somit ist auch für denjenigen, der das alles anschließen muss, alles dokumentiert.

    Die Idee mit einem Bit die Bearbeitung eines FBs zu unterbinden funktioniert nur zum Teil. Es kann vielleicht etwas Arbeitsspeicher gespart werden. Wenn der Programmteil überflüssig ist, würde ich den entsprechenden Teil löschen.

    Gruß

    Chräshe

     
  • bolle - 2007-06-14

    hallo

    die sach is die das die firma diesen programmbaustein von mir nutzen will sprich also auch verkaufen und installeiren will(damit meine ich einen kompletten schaltschrank mit ner sps drin und meinem prog drauf) nur leider bin ich im nächsten jahr nich da von daher kann ich die kunden schlecht beraten.deswegen hab bis jetzt nur die FBs fuer die SPS programmiert des ganze aussen rum Motorschutz ,sicherungen verdrahtung usw. wird dann immer wieder neu gemacht.Man soll halt nur mein prog immer wieder verwenenden koennen egal wieviele lüfter der kunde anschliessen will(und eben ohne das man des prog an sich verändert werden muss )

    ich fuehr mal die problematik ein bisschen aus(einige werden sie eh schon kennen )

    hab en FB fuer einen lüfter gebaut mit verscheidenen parametern(klappen rückmeldung,druckdosensensoren und verschiedenen zeiten,hochlaufzeit trudelzeit usw.) die vordefiniert werden muessen für jeden Lüfter.

    soweit so gut .jetzt will ich aber diesen baustein maximal 60 mal verwenden (eventuell auch weniger je nach kundenwunsch)

    deswegen haett ich mir gedacht ich tu den baustein 60 mal in den Speicher und wenn der kunde nur 30 lüfter verwenden will dann weisst meine java prog(erzeugt die lsite fuer die variablenzuweisung an den klemmen) den nich genutzten FBs einfach keine Klemmen zu und den anderen lüftern werden eben über die globalen variablen parametriert und ihnen werden aus- und eingänge zugewiesen.

    wär das praktikabel???

    (is mein erste SPS Projekt also wundert euch net ueber meine vorstellungen,)

    danke im vorraus an alle!

     
  • Erik Böhm - 2007-06-14

    Hallo

    Also wenn du schon Instanzen deines FB's angelegt hast, z.B. mit

    Instance: ARRAY[1..60] of My_FB, dann ist der Speicher sowieso schon reserviert. Durch nicht aufrufen, wird also kein Speicher gespart, höchstens Zykluszeit.

    Um die Aufrufe auf die Notwendigen zu beschränken muss ja nur eine Schleife von 1..x gemacht werden, wobei x eben 'irgendwie' von extern einstellbar sein muss.

    Gruss

    Erik

     
  • bolle - 2007-06-14

    Hallo erik

    hätt gemeint das des nich möglich is da die FBs alle zeitabhängig(haben TON und TOF Bausteine)sind,zusätzlich dazu haben nich alle bausteine gleiche parameter(jeder hat unterschiedlich einschalt- hochlauf- und trudelzeiten;es sollen stromspitzen vermieden werden),würd des mit der schleife trotzdem hinhauen ausserdem hat jeder lüfter 4 aus- und 4 eingänge .wie müsst ich des dann mit den bzw. dem einzelnen fb machen???

    abgesehn von den eventuelll auftretenden speicherproblemen sollt doch aber die Idee mit dem java prog ,des die zuweisungsliste erzeugt, welche dann in die global variablen liste kopiert wird, funktionieren oder???

     
  • debug - 2007-06-15

    Halllo Bolle,

    mußt Du das Programm unbedingt an die Anzahl der Lüfter anpasen?

    Du könntest das Programm auch für den Maximalausbau von 10 oder 20 Lüfter schreiben. Den Rest machst Du über die Klemmenanordnung am Buskoppler. Direkt neben den Buskoppler kommen die Allgemeinenklemmen. Dann die Ein- und Ausgangsklemmen für Lüfter 1. Dann die Ein- und Ausgangsklemmen für Lüfter 2. Und so weiter.

     
  • bolle - 2007-06-15

    des isses ja eben ,ich bin nicht da im nächsten halben jahr, deswegen kann ich des prog net an die anzahl anpassen und genau deswegen wollt ich ja die maximalzahl von 60 lüftern im prog einbauen und die überflüssigen fbs einfach keine klemmen zuweisen während die anderen übers java prog ihre zuweisungen bekommen.

    zu meinem letzten beitrag bezüglich der schleife

    "hätt gemeint das des nich möglich is da die FBs alle zeitabhängig(haben TON und TOF Bausteine)sind,zusätzlich dazu haben nich alle bausteine gleiche parameter(jeder hat unterschiedlich einschalt- hochlauf- und trudelzeiten;es sollen stromspitzen vermieden werden),würd des mit der schleife trotzdem hinhauen ausserdem hat jeder lüfter 4 aus- und 4 eingänge .wie müsst ich des dann mit den bzw. dem einzelnen fb machen???

    "

    is des jetzt trotzdem möglich oder waren meine gedanken doch net ganz falsch????????ß

     
  • Erik Böhm - 2007-06-15

    Hi

    Schick mir ne Mail an e erik.boehm@asys.de e , dann geb ich dir meine Telefonnummer. Ich glaub das dauert sonst zu lang.

    Gruss

    Erik

     

Log in to post a comment.