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

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 28

Thema: Blick unter den Rock...

  1. #1
    Registriert seit
    02.09.2006
    Beiträge
    115
    Danke
    5
    Erhielt 13 Danke für 11 Beiträge

    Rotes Gesicht


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Moin...

    Komischer Titel, aber er trifft es glaub ich ganz gut. Und zwar geht es um folgendes:

    Mich interessiert es jetzt schon seit längerem, wie es unter der Plastik Abdeckung einer S7 (300er, oder 400er, egal...) aussieht.
    Ja klar, ich könnte jetzt den dicken Schraubenzieher ansetzen und schon wüsste ich es, aber daß würde mir nichts bringen.
    Mich interessiert vielmehr, wie der Prozessor aufgebaut ist. Auf welcher Architektur der Prozessor basiert (Harvard, v. Neumann, reine Akkumulator Architektur, oder doch Stack Architektur, oder gar Register Architektur, etc), wie die Datenpfade aussehen, wie die ALUs arbeiten, usw...
    Desweiteren, wieviele DMA Kanäle es gibt, MMUs, DMA Kanäle, Bus Interfaces, etc...
    Halt alles was auf der Platine drauf ist und wie es zusammen spielt.
    Vielleicht hat jemand sowas, oder sogar noch die Instruction Set Tabelle, mit OpCode, etc.

    Ich hab jetzt schon öfters was gesucht, aber nichts gefunden was mit Klarheit verschafft.

    Wäre schön, wenn jemand mir da etwas Licht ins Dunkel bringen könnte.

    MfG
    Borsti
    „Der Hauptunterschied zwischen etwas, was möglicherweise kaputtgehen könnte und etwas, was unmöglich kaputtgehen kann, besteht darin, daß sich bei allem, was unmöglich kaputtgehen kann, falls es doch kaputtgeht, normalerweise herausstellt, daß es unmöglich zerlegt oder repariert werden kann.“
    Douglas Adams
    Zitieren Zitieren Blick unter den Rock...  

  2. #2
    Registriert seit
    07.07.2004
    Beiträge
    3.285
    Danke
    38
    Erhielt 584 Danke für 382 Beiträge

    Reden

    Hallo,

    Zitat Zitat von Borsti
    dicken Schraubenzieher ansetzen und schon wüsste ich es, aber daß würde mir nichts bringen.
    Muss ich das jetzt verstehen ??? Dann nimm doch den Schraubendreher und schaue einfach nach...

    Gruß

    Question_mark
    ''Ich habe wirklich keine Vorurteile.
    Meine Meinung ist nur die Summe der Erfahrungen" ... (Question_mark)
    Zitieren Zitieren ???  

  3. #3
    Registriert seit
    19.06.2003
    Beiträge
    2.200
    Danke
    85
    Erhielt 259 Danke für 175 Beiträge

    Standard

    Nimm den Schraubenzieher und guck!
    Irgendwo im Web habe ich mal gefunden,was für Prozessoren drauf sind. Habe es aber vergessen.
    Früher hieß es, auf den S5 sei ein spezieller Koprozessor, für die Bitbefehle, wenn ich nicht irre. Macht auch Sinn.

    Je nach Prozessor wurde mehr oder weniger große Anteile des MC7 codes zur Laufzeit interpretiert. Andere beim Laden in nativen Maschinecode übersetzt.

    MMUs sind eher sinnlos. Sie lohnen sich nur für Multitasking-Anwendungen, wo jedem Anwenderprogramm gleiche oder ähnliche logische Adressen "vorgegaukelt" werden. Die Wiederverwendung gleicher Adressen pro Anwenderprogramm erleichtert das Auslagern auf Platte und die Benutzung gemeinsamer Bibliotheken (.ddl, .so).

    Die Opcodes zum AWL waren bei der S5 noch im Handbuch abgedruckt. Im wesentlichen sind sie in die S7 übernommen worden. Zusätzliche Opcodes gibt es für REAL, Pointer-Operationen, erweiterte Adressbereiche und Lokalvariablen.

    Mit den Testprogrammen von Libnodave kannst du Bausteine auslesen und pro Baustein wird der Maschinencode in einem File gespeichert. Du kannst AWL schreiben, in die SPS laden, auslesen und anschließend den Maschinencode in einem Hex-Editor ermitteln. Mit Geduld kommst du so an den ganzen Befehlssatz.

    Er unterscheidet sich von bekannten Mikroprozessoren durch einge Eigenheiten:
    - Es gibt mehrere Ladebefehle für Konstanten mit identischen Binärmustern. Die sind der CPU egal, Binärmuster in den Akku, aber Step7 kann beim Auslesen aus der CPU entscheiden, ob es "L L#3f80000" oder "L 1.0" , real oder dint ist.
    - Es gibt zusätzliche Bytes vor einem Unterprogrammaufruf, die Informationen zum Typ der Parameter enthalten. Das sieht ungefähr so aus:
    L #Parameter1
    T LWx
    L #Parameter2
    T LWx+2 (oder -2?)
    SPA zumCall
    Code zur Beschreibung von Parameter1
    Code zur Beschreibung von Parameter2
    zumCall:CALL FCx

    Einen Teil davon kannst du sehen, wenn du einen FC programmierst, den im OB1 aufrufst, den aufgerufenen FC löschst und dann den OB1 wieder darstellen läßt. Weil der aufgerufene FC fehlt, gelingt die Rückdarstellung nicht und du kannst ein bischen "unter die Haube" gucken.

    Eine andere Sache ist, Bausteine im laufenden Programm auszutauschen. Bei der S5 ließ sich leicht nachvollziehen, daß die Anfangsadressen aller gültigen Bausteine in einer Tabelle stehen. Beim Überschreiben eines PB wird der neue in freien Speicher geladen. Vor Beginn des nächsten Zyklus wird die Adresse aktualisiert. Der alte bleibt da, bis du "Speicher komprimieren" aufrufst. Durch manipulieren der Tabelle kannst du ihn auch wieder aktivieren.

    Alle diese Informationen sind aus der Erinnerung und können im Detail fehlerhaft sein.
    Geändert von Zottel (01.02.2008 um 01:12 Uhr)

  4. Folgende 3 Benutzer sagen Danke zu Zottel für den nützlichen Beitrag:

    Borsti (01.02.2008),SinusQuadrat (03.02.2008),volker (01.02.2008)

  5. #4
    Registriert seit
    08.09.2006
    Beiträge
    170
    Danke
    4
    Erhielt 26 Danke für 16 Beiträge

    Standard

    Hallo,

    Es reicht nicht eine CPU aufzuschrauben, da es sehr unterschiedliche Plattformen gibt:

    S7-300 CPUs kleiner oder gleich CPU 315 2DP :
    Basieren auf C165 Prozessor (16 Bit Prozessor)
    S7-300 CPU 315 PN/DP, 317:
    Basieren auf Tricore (32 Bit Prozessor)
    315 PN/DP wird gegenüber der 317 eingebremst und
    von den Zeiten nicht korrekt im Handbuch beschrieben (ist schneller als im Handbuch)
    S7-300 CPU 319:
    MIPS 64 Bit CPU (als Basis, CPU kommt vom PMC)
    + Tricore

    S7-400: Die älteren hatten einen MC7-ASIC + x86-Prozessor
    (386 oder 486)
    Die neueren haben auch MC7-ASIC + Tricore
    Bei den ganz neuen weiß ich es nicht.

    SPEED7: SPEED7 MC7 ASIC (Prozessor) + ARM


    Die ganzen "großen" CPUs haben alle mehr als einen Prozessor und auch MMUs
    (damit lassen sich bestimmte Probleme in eine SPS deutlich angenehmer lösen )

    In den SPSen mit ASIC sind noch zahlreiche "Goodies" drin!
    Ist aber eigentlich nur wichtig, wenn man vorhat so was selber zu machen
    Übrigens: Opcode Tabelle hat ca. 1400 Einträge

    Gruß
    Geändert von Longbow (01.02.2008 um 11:29 Uhr)

  6. Folgende 3 Benutzer sagen Danke zu Longbow für den nützlichen Beitrag:

    Borsti (01.02.2008),Rainer Hönle (01.02.2008),SinusQuadrat (03.02.2008)

  7. #5
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.269
    Danke
    537
    Erhielt 2.708 Danke für 1.957 Beiträge

    Standard

    Zitat Zitat von Longbow Beitrag anzeigen
    S7-300 CPU 319:
    MIPS 64 Bit CPU (als Basis, CPU kommt vom PMC)
    + Tricore
    Ah, deshalb hat die so einen riesigen Kühlkörper drin und wiegt 12 Kilo ! Das muß schon was weggeschaufelt werden, an Heizenergie.

    PS:
    Zitat Zitat von Longbow Beitrag anzeigen
    315 PN/DP wird eingebremst und
    von den Zeiten nicht korrekt im Handbuch beschrieben
    ???
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  8. #6
    Registriert seit
    08.09.2006
    Beiträge
    170
    Danke
    4
    Erhielt 26 Danke für 16 Beiträge

    Standard

    Zitat Zitat von Ralle Beitrag anzeigen
    PS:


    ???
    Danke!

    Ich habe meinen anderen Beitrag noch geändert, da er missverständlich war:
    Die 315-2PN/DP ist eine abgespeckte 317 PN/DP und ist nicht mit der
    315 2DP "verwandt". Die CPU ist schneller als im Handbuch angegeben.

  9. Folgender Benutzer sagt Danke zu Longbow für den nützlichen Beitrag:

    Ralle (01.02.2008)

  10. #7
    Avatar von Borsti
    Borsti ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    02.09.2006
    Beiträge
    115
    Danke
    5
    Erhielt 13 Danke für 11 Beiträge

    Lächeln

    Na, dass ist doch schonmal was. Danke an euch alle...

    Zitat Zitat von Zottel Beitrag anzeigen
    MMUs sind eher sinnlos. Sie lohnen sich nur für Multitasking-Anwendungen, wo jedem Anwenderprogramm gleiche oder ähnliche logische Adressen "vorgegaukelt" werden.
    Genau darum geht es ja...

    Zur Grundidee die ich habe:
    Es geht darum, ob man einer S7 Multitasking beibringen kann. Und zwar soll eine normale CPU, zusätzlich noch die Arbeit, etwa einer C240 übernehmen.
    Achs Regelung und Kontrolle. Und das ganze dann mit Kinematik Modulen versehen. Steuerung von Mehr-Achs Robotern, komplett aus einer Steuerung, die auf dieselben Datenbereiche, E/A´s, Merker, etc. zugreifen kann.
    Alles frei programmierbar, vlt. nach IEC 61131-3, oder wie Adept Steuerungen... Die ganze Softwareimplementierung im Simatic Manager reingepackt.
    Das ganze dann noch am besten in der 300er Serie...

    Mir gehts halt grundsätzlich darum, ob sowas mit der vorhandenen HW möglich ist. Die nächste Frage wäre natürlich, wieviel Aufwand ist das ganze, etc.

    Ich denk einfach mal ins blaue hinein, so entstehen manchmal ganz gute Ideen...
    „Der Hauptunterschied zwischen etwas, was möglicherweise kaputtgehen könnte und etwas, was unmöglich kaputtgehen kann, besteht darin, daß sich bei allem, was unmöglich kaputtgehen kann, falls es doch kaputtgeht, normalerweise herausstellt, daß es unmöglich zerlegt oder repariert werden kann.“
    Douglas Adams

  11. #8
    Registriert seit
    19.06.2003
    Beiträge
    2.200
    Danke
    85
    Erhielt 259 Danke für 175 Beiträge

    Standard

    Was willst du: Multitasking mit den Mitteln von Step7 AWL betreiben?

    Oder ein eigenes Betriebssystem draufpacken? Ich schätze, bevor du alle nötigen Informationen hast, kannst du besser gleich neue Hardware entwerfen.
    Die Siemens Hardware ist ja auch nicht wirklich billig.
    Dann lieber RT-Linux auf ne X-Box spielen und dafür eine Soft-SPS und Achssteuerung entwerfen...
    Oder Beckhoff nehmen...

  12. #9
    Avatar von Borsti
    Borsti ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    02.09.2006
    Beiträge
    115
    Danke
    5
    Erhielt 13 Danke für 11 Beiträge

    Standard

    Ähm... Nein...
    Quasi so, als ob parallel zu den ganz normalen Sachen, die in der SPS ablaufen, noch ein (oder mehrere) andere Prozesse ablaufen.
    Also nicht alle Tasks in AWL, oder sowas...
    Ich dachte da an sowas wie einen dritten Ordner, zusätzlich zu dem Baustein und Quellen Ordner...
    Und ja, dafür brauch man ein neues (verändertes) Betriebssystem. Aber das beste Betriebssystem bringt einem ja nix, wenn die Hardware nicht damit klar kommt. Daher meine Frage zum Innenleben...
    Und warum ich jetzt nicht auf bereits vorhandene Systeme (Beckhoff, Elau, etc.) zurück greifen wollte erklärt sich einfach dadurch, dass sonst die Schaltschränke umgebaut werden müssten, da in den meisten schon eine S7 (oder 95U) verbaut ist.

    Wie gesagt, ich spiel einfach mal mit ein paar Ideen herum...
    „Der Hauptunterschied zwischen etwas, was möglicherweise kaputtgehen könnte und etwas, was unmöglich kaputtgehen kann, besteht darin, daß sich bei allem, was unmöglich kaputtgehen kann, falls es doch kaputtgeht, normalerweise herausstellt, daß es unmöglich zerlegt oder repariert werden kann.“
    Douglas Adams

  13. #10
    Registriert seit
    19.06.2003
    Beiträge
    2.200
    Danke
    85
    Erhielt 259 Danke für 175 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Borsti Beitrag anzeigen
    Ähm... Nein...
    Quasi so, als ob parallel zu den ganz normalen Sachen, die in der SPS ablaufen, noch ein (oder mehrere) andere Prozesse ablaufen.
    (Quasi-)Parallel laufende Prozesse kannst su innerhalb von Step7 mit Zeit-OBs und Alarm-OBs realisieren.
    Es ist auch möglich, den Inhalt des OB1 "Hauptprogramm" in einen FC zu verlagern und diesen FC aus einem neuen OB1 nur in jedem 2., 3. Zyklus oder wie du willst aufzurufen und in den anderen Zyklen andere FCs.
    Zitat Zitat von Borsti Beitrag anzeigen
    Also nicht alle Tasks in AWL, oder sowas...
    Die können auch in ST oder FUP oder KOP programmiert sein. Aber letztlich ist AWL so was wie der kleinste gemeinsame Nenner für alles, was in MC7 programmiert ist. Ob MC7 nun Maschinensprache oder "P-Code" (Code einer simulierten Maschine) ist, hängt davon ab, welche Hardware verbaut wurde.
    Aber ohne die Firmware zu ersetzen, kommst du nicht "tiefer".
    Zitat Zitat von Borsti Beitrag anzeigen
    Ich dachte da an sowas wie einen dritten Ordner, zusätzlich zu dem Baustein und Quellen Ordner...
    Die Ordner sind ja nur eine Organisationsform innerhalb von Step7.
    Alles, was in Quellen steht, hat eine Entsprechung in "Bausteine". Umgekehrt nicht. Step7 lädt MC7 in die CPU. Ob diese es beim download in nativen Code des Prozessors übersetzt, interpretiert oder wirklich ausführen kann, ist ihr überlassen.
    Zitat Zitat von Borsti Beitrag anzeigen
    Und ja, dafür brauch man ein neues (verändertes) Betriebssystem. Aber das beste Betriebssystem bringt einem ja nix, wenn die Hardware nicht damit klar kommt. Daher meine Frage zum Innenleben...
    Um "tiefer" zu kommen, ja. Nehmen wir an, du hast eine modifizierte Firmware, die eine Task- Umschaltung zwischen einer hochpriosierten Achssteuerung und dem "normalen" S7-, MC7-, Programm bewirken würde.
    Jetzt hast du folgende Probleme:
    - Dein Programm für die Achssteuerung ist wahrscheinlich nicht MC7 sondern nativer Prozessorcode, um schneller zu sein. Wenn nicht, wäre es nicht schneller und du könntest es gleich in S7 AWL schreiben.
    - Damit gibst du das auf, warum viele Kunden Siemens verlangen: Breite Wissensbasis.
    - Auch wenn es nur für deine vorhandene CPU taugen muß, weißt du nicht, ob die Ersatz-CPU die du morgen kaufst, nicht völlig anders aufgebaut ist (z.B. mit einem10x schnelleren Prozessor und völlig anderem Maschinencode und MC7-Interpreter). Normale Programme laufen weiter, aber du fängst von vorne an.
    Zitat Zitat von Borsti Beitrag anzeigen
    Und warum ich jetzt nicht auf bereits vorhandene Systeme (Beckhoff, Elau, etc.) zurück greifen wollte erklärt sich einfach dadurch, dass sonst die Schaltschränke umgebaut werden müssten, da in den meisten schon eine S7 (oder 95U) verbaut ist.
    Ja, und diese Schränke funktionieren wohl irgendwie, sonst stünden sie da (hoffentlich) nicht mehr. Die Achsen, die du vielleicht parallel steuern willst, werden auch da sein. Sag mir wie sie jetzt gesteuert werden, dann können wir darüber nachdenken, ob es Möglichkeiten gibt, mit einer unterlagerten Achssteuerung etwas zu optimieren/beschleunigen/etc.
    Geändert von Zottel (02.02.2008 um 01:10 Uhr)

Ähnliche Themen

  1. if then else unter awl ??
    Von prinz1978 im Forum Programmierstrategien
    Antworten: 14
    Letzter Beitrag: 23.07.2008, 15:25
  2. Win CC unter Win NT
    Von mad_max im Forum HMI
    Antworten: 1
    Letzter Beitrag: 07.11.2007, 09:50
  3. TON als Multiinstanz unter SCL
    Von derwestermann im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 09.10.2007, 13:30
  4. Aufbau von DB's unter S7
    Von kappich im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 02.05.2006, 11:07
  5. Schieberegister unter S7
    Von Anonymous im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 11.12.2003, 10:09

Lesezeichen

Berechtigungen

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