Autor Thema: CoDeSys Bausteine  (Gelesen 18742 mal)

Offline KressSwiss

  • easy god
  • *****
  • Beiträge: 1659
  • Und sie dreht sich doch..."Galileo Galilei"
    • Electronics Planet
CoDeSys Bausteine
« am: November 07, 2006, 11:30:44 Vormittag »
Hallo Forum Freunde
Kürzlich habe ich ein Programm (Pumpensteuerung) für eine EC4P in CFC geschrieben. Dazu hätte ich einen simplen Stromstossschalter-Baustein benötigt, der beim Abschalten der Ansteuerung jeweils den Ausgang negiert. Diesen Baustein habe ich nirgends gefunden. So habe ich ihn mir selber gebaut und zwar mittels eines Zählers, der mit einem Ausschaltwischer aufwärts zählt und sich beim Sollwert von 2 selber rücksetzt.
Meine Frage: Gibt es diesen simplen Baustein nicht? Kennt jemand eine einfachere Lösung?
Bei der Easy geht das mit einem Ausschaltwischer kombiniert mit Stromstoss-Schalter.
« Letzte Änderung: November 07, 2006, 11:38:57 Vormittag von KressSwiss »
Achtung:
Angehängte Dateien sind nur für eingelogte User sichtbar!

Offline DieterB

  • Full Member
  • ***
  • Beiträge: 119
Re: CoDeSys Bausteine
« Antwort #1 am: November 07, 2006, 13:43:30 Nachmittag »
Hallo KressSwiss,
den Baustein gibt's so nicht. Aber es gibt eine einfachere Lösung. Sieh Dir mal das Beispiel an.

Offline KressSwiss

  • easy god
  • *****
  • Beiträge: 1659
  • Und sie dreht sich doch..."Galileo Galilei"
    • Electronics Planet
Re: CoDeSys Bausteine
« Antwort #2 am: November 07, 2006, 16:23:49 Nachmittag »
Hallo DieterB
Wenn ich das richtig verstehe, hasst Du den Baustein "Eltako" seber kreiert. Das heisst, man baut sich den Baustein und kann diesen imer wieder verwenden. Richtig?
Gruss Hermann
« Letzte Änderung: November 07, 2006, 16:26:25 Nachmittag von KressSwiss »
Achtung:
Angehängte Dateien sind nur für eingelogte User sichtbar!

Offline DieterB

  • Full Member
  • ***
  • Beiträge: 119
Re: CoDeSys Bausteine
« Antwort #3 am: November 07, 2006, 16:28:21 Nachmittag »
Hallo Herrmann,

richtig. Das ist ja das Schöne an dieser Art der Programmierung. Man kann in einer beliebigen IEC-Sprache Bausteine schreiben, und die immer wieder verwenden.

Viele Grüße
Dieter

Offline KressSwiss

  • easy god
  • *****
  • Beiträge: 1659
  • Und sie dreht sich doch..."Galileo Galilei"
    • Electronics Planet
Re: CoDeSys Bausteine
« Antwort #4 am: November 09, 2006, 20:06:55 Nachmittag »
Hallo Dieter
Hab's probiert und kapiert :D  :D  :D
Zuerst habe ich eine OR-Verknüpfung in CFC als Hauptprogramm erstellt und anschliessend Unterprogramme in KOP, FUP, AWL und ST integriert. Das heisst, ein Easy-Anwender kann wie gewont in KOP programieren. Eine aufwendige Arithmetikverarbeitung beispielswerise kann separat als Unterprogramm in ST gelöst und integriert werden.

Links: Hauptprogramm in CFC mit integrierten UP's BAU1 bis BAU4
Rechts: 4 Unterprogramme (BAU1 - BAU4) in FUP, KOP, ST, AWL (Dargestellt in der Offline Simulation)

Ich sehe es kommen, mit EC4P und CoDeSys wird mancher Easy-Anwender zum Profi-Programmierer.
Gruss Hermann
« Letzte Änderung: November 09, 2006, 22:25:34 Nachmittag von KressSwiss »
Achtung:
Angehängte Dateien sind nur für eingelogte User sichtbar!

Offline DieterB

  • Full Member
  • ***
  • Beiträge: 119
Re: CoDeSys Bausteine
« Antwort #5 am: November 10, 2006, 08:24:22 Vormittag »
Hallo Hermann,
super, wenn man jetzt noch den Unterschied zwischen den Bausteintypen  "Programm", "Funktionsblock" und "Funktion" verstanden hat, hat man schon einen großen Schritt getan.
Viele Grüße
Dieter

Offline KressSwiss

  • easy god
  • *****
  • Beiträge: 1659
  • Und sie dreht sich doch..."Galileo Galilei"
    • Electronics Planet
Re: CoDeSys Bausteine
« Antwort #6 am: November 10, 2006, 10:09:11 Vormittag »
Zitat
wenn man jetzt noch den Unterschied zwischen den Bausteintypen  "Programm", "Funktionsblock" und "Funktion" verstanden hat, hat man schon einen großen Schritt getan
Hallo Dieter
Der Funktionsblock ist mir klar. Dies können zum Beispiel die Bausteine aus der Easy800.d.lib sein. (Anhang). Was Funktionen sind, bin ich mir nicht ganz so sicher.  ???  ???  ???

Gruss
Hermann
Achtung:
Angehängte Dateien sind nur für eingelogte User sichtbar!

Offline Knodelpa

  • easy god
  • *****
  • Beiträge: 1410
  • I love easy-Forum.net
Re: CoDeSys Bausteine
« Antwort #7 am: November 10, 2006, 17:51:49 Nachmittag »
Hallo Hermann,

ich versuche mal die Unterschiede zwischen Funktion und Funktionsblock zu erklären:

Funktion
Eine Funktion hat:
- in der Regel mehrere Eingänge
- nur einen Ausgang
- braucht intern keine Daten (daher erzeugt eine Funktion keine Variable (Instanz)

Beispiele: AND, OR, ADD, SUB, MUL, DIV, SHR, SHL.....

Funktionsblock (Funktionsbaustein)
Ein Funktionsblock hat:
- in der Regel mehrere Eingänge
- kann im Gegensatz zu der Funktion auch mehrere Ausgänge haben
- hat in der Regel Daten
  (Timer: abgelaufene Zeit, Zähler: aktueller Zählerstand, ...)
- daher braucht der Funktionsblock eine Variable (Instanz=Exemplar)

Beispiele: Timer, Zähler, Flankenauswertung, LS,....

Ich hoffe dies bringt etwas Licht ins Dunkel.

 :) ;) :D
Gruß Paul
 




Offline KressSwiss

  • easy god
  • *****
  • Beiträge: 1659
  • Und sie dreht sich doch..."Galileo Galilei"
    • Electronics Planet
Re: CoDeSys Bausteine
« Antwort #8 am: November 11, 2006, 10:39:17 Vormittag »
Hallo Paul
Somit heisst das:
Funktionsblöcke kann ich selber erstellen, während Funktionen in der Software zur Verfügung gestellt werden. Das heisst, das Schtittschaltwerk ELTAKO von Dieter (weiter unten in Thema) ist ein Funktionsblock. Richtig?

Wenn ich mir in einem Programm Funktionsblöcke erstellt habe und diese in weiteren Programmen verwenden will, kann ich dann diese in einer eigenen xxx.lib ablegen? Das wäre doch sinvoll. Geht das?
Gruss Hermann
   
« Letzte Änderung: November 11, 2006, 10:42:36 Vormittag von KressSwiss »
Achtung:
Angehängte Dateien sind nur für eingelogte User sichtbar!

Offline Knodelpa

  • easy god
  • *****
  • Beiträge: 1410
  • I love easy-Forum.net
Re: CoDeSys Bausteine
« Antwort #9 am: November 11, 2006, 15:49:22 Nachmittag »
Hallo Hermann,

du kannst Dir sowohl eigene Funktionen, als auch Funktionsblöcke selbst erstellen und diese dann bei Bedarf in einer eigenen LIB speichern.

Beim Eltako handelt es sich um einen Funktionsblock. Du erkennst es an den folgenden Merkmalen:
- der Funktionsblock hat Daten (muss sich den aktuellen Zustand des Ausgangs merken)
- in der Variablenliste existiert eine Instanz des Bausteins = fb_Stromstoss_Schalter
- der Baustein hat einen Namen (Name der Instanz = fb_Stromstoss_Schalter)

 :) ;) :D
Gruß Paul

Offline KressSwiss

  • easy god
  • *****
  • Beiträge: 1659
  • Und sie dreht sich doch..."Galileo Galilei"
    • Electronics Planet
Re: CoDeSys Bausteine
« Antwort #10 am: November 12, 2006, 12:09:16 Nachmittag »
Hallo Paul
Hallo Dieter
Ich habe versucht, eine eigene FUNKTION zu kreieren. Sie besteht aus einer verschalteten OR und XOR. Nun habe ich das Problem dass bei den Eingängen und dem Ausgang eine "Variable" verlangt wird. Ich möchte aber, dass ich diese nach dem einfügen des Bausteines bestimmen kann. Wie mach ich das?
Gruss Hermann
 
« Letzte Änderung: November 12, 2006, 19:20:56 Nachmittag von KressSwiss »
Achtung:
Angehängte Dateien sind nur für eingelogte User sichtbar!

Offline DieterB

  • Full Member
  • ***
  • Beiträge: 119
Re: CoDeSys Bausteine
« Antwort #11 am: November 12, 2006, 12:48:17 Nachmittag »
Hallo Herrmann,

ich habe mal ein kleines Beispielprojekt erstellt, in dem die wichtigsten Programmelemente PROGRAMM, FUNKTION und FUNKTIONSBAUSTEIN anhand einer simplen Applikation demonstriert werden. Zusätzlich wird da mit einer selbst erstellten Lib gearbeitet, die den bereits bekannten Eltako beinhaltet. Die Lib kann man mit easySoft-CoDeSys öffnen (Dateityp *.lib) und verändern / erweitern ... Das Programm und die Lib sind in dem angehängten Zipfile enthalten. Zum Übersetzen muss die Demo.lib im Bibliotheksmanager mit eingebunden werden. Das Projekt ist in ST erstellt, da das meine bevorzugte Programmiersprache ist.
Viele Grüße
Dieter
 

Offline KressSwiss

  • easy god
  • *****
  • Beiträge: 1659
  • Und sie dreht sich doch..."Galileo Galilei"
    • Electronics Planet
Re: CoDeSys Bausteine
« Antwort #12 am: November 12, 2006, 19:18:41 Nachmittag »
Hallo Dieter
Danke für die Arbeit, die Du da geleistet has. Ich hab die Datei geholt und werde mich damit ernsthaft befassen.
Ich muss schon sagen, je mehr man weiss, umsomehr ist wieder unklar. Ich bin schon froh, dass ich die verschiedenen Programiersprachen anwenden kann. Ausser AS mit habe ich schon mit allen  Weiteren experimentiert.
Wie Du sagst, ST ist sicher die viesleitigste und somit zukunftweisende Sprache. Um nur die wichtigsten Ressourcen zu nutze braucht es aber einiges.
Es wäre zu wünschen, dass die Rubrik "Easy Control" im Forum lebendiger wird, um aus der "Erfahrung Anderer" zu lernen.
Gruss Hemann
« Letzte Änderung: November 12, 2006, 19:22:11 Nachmittag von KressSwiss »
Achtung:
Angehängte Dateien sind nur für eingelogte User sichtbar!

Offline DieterB

  • Full Member
  • ***
  • Beiträge: 119
Re: CoDeSys Bausteine
« Antwort #13 am: November 13, 2006, 07:32:46 Vormittag »
Hallo Herrmann,

man lernt halt immer noch was dazu. Aber wenn beim Durcharbeiten weitere Fragen auftauchen stell sie einfach. Wie heißt es hier im Forum immer ? "Es gibt keine dummen Fragen !"
Viele Grüße
Dieter

Offline DieterB

  • Full Member
  • ***
  • Beiträge: 119
Re: CoDeSys Bausteine
« Antwort #14 am: November 13, 2006, 09:55:42 Vormittag »
Hallo Herrmann,

leider ist mir gestern beim Erzeugen der Demo.lib ein Fehler passiert. Die Lib läuft nur in der Simulation, aber nicht auf der realen EC4P.
Hier ist nochmal eine korrigierte Version.
Viele Grüße
Dieter