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

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

Thema: Anfängerfrage: Wozu Akkumulatoren und Merker?

  1. #11
    Registriert seit
    27.10.2005
    Ort
    Schwäbisch Gmünd
    Beiträge
    5.235
    Danke
    634
    Erhielt 955 Danke für 769 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Barnee
    Das ist der Trugschluss, bedingt durch die Brille, mit der man einen Mikroprozessor oder Assembler betrachtet. Schmeiß diese Sichtweise auf eine S7-SPS schnell über Bord. Es gibt nur entfernte Ähnlichkeiten, die eben mehr hinderlich als förderlich sind. Fast alles, was auf einer S7-SPS abläuft wird über AKKUs abgewickelt, egal ob du dich aus dem Variablenspeicher bedienst oder sonst wo her. Der Begriff Akkumulator auf einem Mikroprozessor hat kein Äquivalent auf einer S7-SPS. In einer S7-SPS hat der Begriff Akkumulator keinen physischen Hintergrund sondern steht für eine Funktionalität, die vom Betriebssystem des SPS zur Verfügung gestellt wird.
    Meines Erachtens nach hat die S7, wenn schon der Vergleich mit Assembler sein muss, am ehesten Ähnlichkeit mit einem numerischen Coprozessor wie dem 8087. Dieser hat auch entsprechende Register die geladen und intern verknüpft werden können bzw. müssen. Dies entspricht in etwa der S7-Steuerung. Ich weiß, der 8087 kann noch etwas mehr .
    Rainer Hönle
    DELTA LOGIC GmbH

    Ein Computer kann das menschliche Gehirn nicht ersetzen. Engstirnigkeit kann unmöglich simuliert werden. (Gerd W. Heyse)

  2. #12
    Registriert seit
    18.12.2005
    Beiträge
    71
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    @Gast
    Zitat Zitat von Gast
    Oder kann ich mit dem Hintergrundwissen irgendwelche AWL Unzulänglichkeiten umgehen?
    Ömmm, AWL, Unzulänglichkeiten??? naja, vielleicht bist du ja dann doch im falschen Film.
    Es gibt zwar eine Reihe von Leuten, die behaupten AWL wäre Steinzeit, ich lass sie in dem Glauben. Sicher hat auch CFC seine Berechtigung, aber bei CFC spricht selbst Siemens nicht mehr von Programmierung, sondern stuft dies etwas niedriger ein. Ob SCL ausreichend ist, um damit Bausteine für CFC zu entwerfen, möchte ich aus meiner Sicht der Dinge glatt verneinen. AWL ist mächtiger als es SCL jemals sein wird, allein schon der Ansatz, SCL an Pascal anzulehnen, gehört in den Erfahrungsbereich der größten Fehlentscheidungen. Parameterübergabe bei den Schiebebefehlen in SCL? Ich lach mich schief, was da abgeht! Nee, lassen wir das lieber! Ja, und SCL selbst kommt ohne MC7-Code auch nicht aus, da kann man doch gleich bei AWL bleiben, der wenigsten 1:1 dem MC7-Code entspricht! Ganz zu schweigen davon, dass SCL teilweise die 3-fache Codemenge von dem erzeugt, wenn es direkt in AWL programmiert worden wäre.

    Zitat Zitat von Gast
    Was die SPS im Hintergrund macht kann ich sowieso nicht beeinflussen und ist für mich als Programmierer dann doch auch nicht relevant.
    Ömmm, die SPS im Hintergrund!? Die SPS macht im Hintergrund genau das, was im Vordergrund mit AWL programmiert worden ist. Da AWL 1:1 den MC7-Code repräsentiert, wenn auch in einer anderen Darstellungsform, hat der Programmierer vollen Einfluß auf den Ablauf, weil der AWL (MC7-Code) genau dem Willen des Programmierers in der Beziehung auf die Ein- bzw. Ausgangsperiepherie und der Datenhaltung entspricht!

    Ein SPS-Programm mit einer in einer Hochsprache entwickelten Applikation für eine andere HW-Architektur zu vergleichen, steht gleichbedeutend für mich mit dem Versuch, Äpfel mit Birnen zu vergleichen. Ich denke, du solltest dir erst einmal darüber klar werden, wo die Unterschiede liegen, darüber klar werden, in welchem Rahmen z.B. eine S7-SPS eingesetzt werden kann, darüber klar werden, wie eine S7-SPS grundsätzlich funktioniert, bevor mit Halbwissen über "Unzulänglichkeiten" resumiert wird.

    Gruß Barnee

  3. #13
    Anonymous Gast

    Standard

    Zitat Zitat von Barnee
    Ömmm, AWL, Unzulänglichkeiten??? naja, vielleicht bist du ja dann doch im falschen Film.
    Es gibt zwar eine Reihe von Leuten, die behaupten AWL wäre Steinzeit, ich lass sie in dem Glauben.
    Habe nie behautet AWL wäre nicht mächtig genug.

    Sicher hat auch CFC seine Berechtigung, aber bei CFC spricht selbst Siemens nicht mehr von Programmierung, sondern stuft dies etwas niedriger ein. Ob SCL ausreichend ist, um damit Bausteine für CFC zu entwerfen, möchte ich aus meiner Sicht der Dinge glatt verneinen. AWL ist mächtiger als es SCL jemals sein wird, allein schon der Ansatz, SCL an Pascal anzulehnen, gehört in den Erfahrungsbereich der größten Fehlentscheidungen. Parameterübergabe bei den Schiebebefehlen in SCL? Ich lach mich schief, was da abgeht! Nee, lassen wir das lieber! Ja, und SCL selbst kommt ohne MC7-Code auch nicht aus, da kann man doch gleich bei AWL bleiben, der wenigsten 1:1 dem MC7-Code entspricht! Ganz zu schweigen davon, dass SCL teilweise die 3-fache Codemenge von dem erzeugt, wenn es direkt in AWL programmiert worden wäre.
    Nun ja das kann doch eigentlich nur in der Ineffizienz des SCL Compilers liegen. Ich erinnere mich an Zeiten, da wurden Assemblermethoden in der Grafikprogrammiereung nach der Anzahl verbrauchter Taktzyklen bewertet. Heutige Compiler für Hochsprachen (z.B. C, C++) sind aber so effizient geworden, dass eigentlich niemand mehr in Assembler programmiert.

    Ömmm, die SPS im Hintergrund!? Die SPS macht im Hintergrund genau das, was im Vordergrund mit AWL programmiert worden ist.
    Mein Eingangsposting drehte sich um die Frage wozu es Akkumulatoren und Merker gibt. Die erste Antwort war, wegen der Vergleichsoperationen die angeblich nur auf Akkumulatoren laufen, Laut Handbuch funktionieren die aber komplett ohne. Weder Operanden noch Ergebnis haben was mit dem Akkumulator zu tun. Daraufhin kann als Antwort von dir "Fast alles, was auf einer S7-SPS abläuft wird über AKKUs abgewickelt, egal ob du dich aus dem Variablenspeicher bedienst oder sonst wo her." Da hab ich mal angenommen, dass die SPS im Hintergrund anders arbeiten muss als ich es in AWL programmiere.

    Da AWL 1:1 den MC7-Code repräsentiert, wenn auch in einer anderen Darstellungsform, hat der Programmierer vollen Einfluß auf den Ablauf, weil der AWL (MC7-Code) genau dem Willen des Programmierers in der Beziehung auf die Ein- bzw. Ausgangsperiepherie und der Datenhaltung entspricht!
    Stimme ich voll zu. Wie gesagt: Hab nie was anderes behauptet.

    Ein SPS-Programm mit einer in einer Hochsprache entwickelten Applikation für eine andere HW-Architektur zu vergleichen, steht gleichbedeutend für mich mit dem Versuch, Äpfel mit Birnen zu vergleichen.
    Wie gesagt: Im PC Bereich sind Compiler inzwischen so effizient, dass fast gar nicht mehr Assembler programmiert. Das kann bei AWL und SCL auch nur eine Frage der Zeit sein.

    Ich denke, du solltest dir erst einmal darüber klar werden, wo die Unterschiede liegen, darüber klar werden, in welchem Rahmen z.B. eine S7-SPS eingesetzt werden kann, darüber klar werden, wie eine S7-SPS grundsätzlich funktioniert, bevor mit Halbwissen über "Unzulänglichkeiten" resumiert wird.
    Hm, das würde ich ja gerne. Das Problem ist eben, dass man haufenweise Tutorials findet die die Befehle beschreiben und den Aufbau der SPS aber eigentlich gar nichts zur Softwarentwicklung oder zur Methodik. Mit "Unzulänglichkeiten" war eigentlich auch gar nicht AWL selbst gemeint, sondern die Softwaremodulle wie z.B. der Rezepturassistent in Mirco/Win oder in WinCC. Da würde ich nicht nur von unzulänglich sprechen sondern sogar von fatal. Die lassen einen nämlich nicht runter auf Hardwarebene, d.h. keinen direkten Zugriff aufs EPROM, keine dynamische Speicherverwaltung und unglaublich ineffiziente Speicherausnutzung.

    Um mal den Bogen zum Eingangspost wieder zu bekommen: Wozu genau brauche ich denn nun die Akkumulatoren und Merker? Kann schon sein, dass der AkkuSpeicher etwas schneller ist. Aber mehr sehe ich im Moment immer noch nicht. Selbst die Rückgabe von "Funktionswerten" aus den Unterprogrammen kann ich über globale Variable im Variablenspeicher machen. Als nichts anderes werden die Akkumulatoren genutzt: als globale Variable. Wenn die SPS also "im Hintergrund" nicht anders arbeitet als es sich mir gegenüber darstellt, dann weiss ich auch nicht weiter.In meinem aktuellen Projekt adressiere ich jedenfalls an KEINER Stelle irgendwelche Akkumulatoren oder Merker. Wie kann das sein wenn die SPS doch nach deiner Ausage NUR mit Akkumulatoren arbeitet?

  4. #14
    Registriert seit
    18.12.2005
    Beiträge
    71
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Zitat Zitat von Rainer Hönle
    Meines Erachtens nach hat die S7, wenn schon der Vergleich mit Assembler sein muss, am ehesten Ähnlichkeit mit einem numerischen Coprozessor wie dem 8087. Dieser hat auch entsprechende Register die geladen und intern verknüpft werden können bzw. müssen. Dies entspricht in etwa der S7-Steuerung. Ich weiß, der 8087 kann noch etwas mehr
    Nojoa, wenn's denn sein muss. Wobei dieser Coprozessor über ein 10-teiliges Registersystem (St(0)...St(9)) verfügt, das man ähnlich einem Stack bedienen kann, was aber auf die S7 übertragen, so nicht zur Gänze gelten sollte. Verknüpfung, joa, wenn sich das auf arithmetische Rechenoperationen mit Zahlen vom Datentyp "float" bezieht. Aber dennoch, schöner Vergleich.

    Nach meiner unmaßgeblichen Meinung halte ich es aber lieber damit, µP's nicht in die Nähe von mit AWL programmierten S7-CPUs zu rücken.

    Gruß Barnee

  5. #15
    Registriert seit
    18.12.2005
    Beiträge
    71
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Zitat Zitat von Gast
    Mein Eingangsposting drehte sich um die Frage wozu es Akkumulatoren und Merker gibt. Die erste Antwort war, wegen der Vergleichsoperationen die angeblich nur auf Akkumulatoren laufen, Laut Handbuch funktionieren die aber komplett ohne. Weder Operanden noch Ergebnis haben was mit dem Akkumulator zu tun. Daraufhin...
    Ich hab so das Gefühl, dass wir uns irgendwie im Kreis bewegen oder aber auch aneinander vorbeireden. Mich würde die Quelle mal interessieren ("Laut Handbuch funktionieren die aber komplett ohne"), wo dieses so dargestellt wird. Vielleicht gibst du mal 'ne URL an.

    Etwas weiter unten schreibst du was über WinCC! Nojoa, auf welcher Station bist du denn jetzt zu hause? Auf einer OS oder einer AS. Eine OS sieht von der AS eigentlich nur Datenpunkte mehr nicht, wenn man davon absieht, wenn nicht gleichzeitig auf einer OS die ES installiert ist, aber auch die würden sich eigentlich gegenseitig nicht kennen, selbst wenn sie auf der gleichen Hardware untergebracht sind.

    Beschreib doch mal die Umgebung. Vielleicht sieht man dann klarer.

    Gruß Barnee

  6. #16
    Anonymous Gast

    Standard

    Zitat Zitat von Barnee
    Ich hab so das Gefühl, dass wir uns irgendwie im Kreis bewegen oder aber auch aneinander vorbeireden. Mich würde die Quelle mal interessieren ("Laut Handbuch funktionieren die aber komplett ohne"), wo dieses so dargestellt wird. Vielleicht gibst du mal 'ne URL an..
    S7-200 Automatisierungssystem Sytemhandbuch Seite 98 Vergleichsoperationen

    LDB= IN1, IN2

    Für IN1, IN2 sind möglich: EB, AB, VB, MB, SMB, SB, LB, AC, *VD, *LD, *AC, Konstante.

    Mit LDB= VB100, VB101 vergleiche ich also zwei Bytes und das Ergebnis (0 oder 1) landet auf dem Stack. An welcher Stelle arbeite ich da mit Akkumulatoren?

    Etwas weiter unten schreibst du was über WinCC! Nojoa, auf welcher Station bist du denn jetzt zu hause? Auf einer OS oder einer AS. Eine OS sieht von der AS eigentlich nur Datenpunkte mehr nicht, wenn man davon absieht, wenn nicht gleichzeitig auf einer OS die ES installiert ist, aber auch die würden sich eigentlich gegenseitig nicht kennen, selbst wenn sie auf der gleichen Hardware untergebracht sind.

    Beschreib doch mal die Umgebung. Vielleicht sieht man dann klarer.
    Ich benutze eine S7-200 mit Micro/Win 4.0 für die Steuerung und ein OP77B mit WinCC 2005 als "grafische Oberfläche". WinCC ist zwar nett, aber halt nur KlickiBunti. Da würde ich z.B. auch gerne wie mit AWL runter auf Hardwarebene um z.B. einzele Displaypixel setzen zu können. Aber OP77B und WinCC ist ne andere Geschichte. Es ging mir um die S7-200 mit AWL. Das ist an sich ja o.k. Bis auf eben mein Unverständnis für Akkus und Merker. Einziges großes Prob im Mirco/Win ist der Rezepturassistent. Ich benötige direkten Schreib- und Lesezugriff auf das EPROM. Synchron, asyncron ist egal. Das ist mir als Programmierer aber nicht erlaubt, obwohl der Rezepturassisten selbst Funktionen dafür hat. Insbesondere habe ich an dieser Stelle überhaupt keine Kontrolle uber die Hardware (EPROM). Die nimmt der Assistent komplett an sich.

  7. #17
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.751
    Danke
    323
    Erhielt 1.526 Danke für 1.286 Beiträge

    Standard

    Ich hab so das Gefühl das in dieser ganzen Diskussion S7-200 und 300/400 etwas nun ja verwechselt wird.

    Es gibt zwar bei der S7-200 auch Akkumulatoren, aber nichts was mit der 300/400er Baureihe vergleichbar wäre.

    In der S7-200 sind Akkumulatoren eigentlich nur ganz nett als Schmiermerkerersatz.

    Bei S7-200 steht die Datenregister immer unmittelbar am Befehl,
    VW0 = 10
    VW2 = 2

    +I VW0, VW2

    VW2 ist nach dem Befehl dann 12.

    Das gleiche bei S7-300:

    L MW0 ---> Lade MW0 in Akku 1
    L MW2 ---> Lade MW2 in Akku 1 (voriger Inhalt Akku1 wandert in Akku 2)
    +I
    Jetzt steht das Ergebnis in Akku1, und wird mit
    T MW2 "herausgeholt"

    Mfg
    Manuel
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

  8. #18
    Anonymous Gast

    Standard

    Zitat Zitat von MSB
    Ich hab so das Gefühl das in dieser ganzen Diskussion S7-200 und 300/400 etwas nun ja verwechselt wird.

    Es gibt zwar bei der S7-200 auch Akkumulatoren, aber nichts was mit der 300/400er Baureihe vergleichbar wäre.
    Das hab ich auch schon vermutet. Aber ich hatte bereits in meinem 2 Posting geschrieben, dass ich mit einer S7-200 arbeite.

    In der S7-200 sind Akkumulatoren eigentlich nur ganz nett als Schmiermerkerersatz.
    O.k. Das wollte ich eigentlich nur hören. Hatte mich gewundert ob ich was falsch machen würde, wenn ich volltsändig ohne auskomme.


    Bei S7-200 steht die Datenregister immer unmittelbar am Befehl,
    VW0 = 10
    VW2 = 2

    +I VW0, VW2

    VW2 ist nach dem Befehl dann 12.
    Ja. Das ist genau die Bechreibung einer Zwei-Adress-Maschine. Ein Operator und zwei Operanden. Ergebnis wird im zweiten Operanden gespeichert.

    Das gleiche bei S7-300:

    L MW0 ---> Lade MW0 in Akku 1
    L MW2 ---> Lade MW2 in Akku 1 (voriger Inhalt Akku1 wandert in Akku 2)
    +I
    Jetzt steht das Ergebnis in Akku1, und wird mit
    T MW2 "herausgeholt"
    Das ist nicht das gleiche! Das Beispiel beschreibt ist eine Stackmaschiene (Null-Adress.Maschine) mit Umgekehrter polnischer Notation (UPN) für die Berechnungen. Wobei es ungewöhnlich ist, dass die einzelnen Stackebenen über die Akkus referenziert werden können. Könnte also auch eine Mischung aus Null- und Ein-Adress-Maschine sein. Ich meine nichts für ungut. Aber wenn die Jungs bei Siemens schon so viele Eingennamen verwenden, dann sollten sie bitte auch die Bezeichnung Akku nur dann verwenden wenn sie einen Akku wie er normalerweise definiert ist implemmentieren. Zumal ein Akku bei einer S200 ja wohl was anderes ist als einer bei der S300. Insbesondere ist man sich also selbst bei den unterschiedlichen eigenen Produkten darüber nicht einig. Die Bezeichnungen im Handbuch finde ich persönlich sowieso unangemessen. Kann auch daran liegen, dass ich aus der Informatik und nicht Elektro- oder Regelungstechnik komme. Begriffe wie "Bistabile Kippstufe" sind da noch gerade an der Grenz obwohl Flip-Flop wahrscheinlich mehr Leuten was sagen wird, Aber die Abkürzungen der Bezeichner sind echt gruselig. "ENO = Enable Out" so weit so gut. Aber jetzt kommt es "UENO = Und Enable Out". Das ist original Simens "Germisch" Handbuch. Wo die doch so viel Wert auf Deutsch legen. Ich will mich nicht schon wieder aufrgen. Hab schon genug graue Haare deswegen. Wäre nur halt schön wenn ein Akku auch das macht was ein Akku machen soll und wenn die Bezeichner durchgängig in einer Sprache wären.

    Bitte macht den Thread jetzt zu. Ich weiss jetzt, dass die Akkus und Merker keinen besonderen Sinn haben. Mehr wollte ich auch gar nicht wissen. Alles andere ist eh nur meine persönliche Meintung/Erfahrung mit Simatic SPS.

  9. #19
    Registriert seit
    18.12.2005
    Beiträge
    71
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Gast
    Ich meine nichts für ungut. Aber wenn die Jungs bei Siemens schon so viele Eingennamen verwenden, dann sollten sie bitte auch die Bezeichnung Akku nur dann verwenden wenn sie einen Akku wie er normalerweise definiert ist implemmentieren. Zumal ein Akku bei einer S200 ja wohl was anderes ist als einer bei der S300. Insbesondere ist man sich also selbst bei den unterschiedlichen eigenen Produkten darüber nicht einig. Die Bezeichnungen im Handbuch finde ich persönlich sowieso unangemessen.....
    Hab schon genug graue Haare deswegen. Wäre nur halt schön, wenn ein Akku auch das macht was ein Akku machen soll und wenn die Bezeichner durchgängig in einer Sprache wären.
    Joa, das stimmt. Full ack. In der Hitze der Diskussion hab ich wohl übersehen, dass es sich bei der S7-200 wohl um eine Umgebung handelt, die sich doch wesentlich von der S7-300/400 unterscheidet, wo ich in der Hauptsache zu Hause bin. Als ich mir das Handbuch von der S7-200 zu Gemüte geführt habe, da kam ich mir doch erst einmal wie ein dummer Schulbub vor, da die bisher gängigen Gedankenmuster nicht greifen konnten.
    Also, das Stoppschild ist jetzt eingebaut, dass ich auf Themen zu S7-200 nicht mehr reagieren werde, da ich wohl in der Zukunft nichts mit einer S7-200 zu tun haben werde.

    Gruß Barnee

Ähnliche Themen

  1. Wozu Merker in IEC 61131 (z.B. CoDeSys oder Multiprog)
    Von chstad im Forum Sonstige Steuerungen
    Antworten: 33
    Letzter Beitrag: 22.06.2011, 11:38
  2. Wozu LPS, UENO, LRD, LPP
    Von excite im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 25.07.2005, 10:18
  3. Wozu dienen Merker?
    Von Anonymous im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 18.06.2005, 14:25
  4. Wozu dienen Merker?
    Von Anonymous im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 07.03.2005, 10:59
  5. Wozu ist der Schutzleiter da ?
    Von Anonymous im Forum Elektronik
    Antworten: 11
    Letzter Beitrag: 26.10.2004, 19:35

Lesezeichen

Berechtigungen

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