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

Seite 3 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 21 bis 30 von 31

Thema: Bei einer Funktion mit Merkern oder über die Schnittstelle TEMP programmieren?

  1. #21
    Registriert seit
    26.05.2009
    Beiträge
    541
    Danke
    35
    Erhielt 78 Danke für 69 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Solltest Du mit indirekter Adressierung machen
    Sorry, aber der TE kann bisher noch keine parametrierbare Bausteine erstellen.
    Dann sollte man die indirekte Adressierung erstmal vernachlässigen.

    Ich frage mich gerade, ob nicht besser erstmal einen Blick in diverse Schulungsunterlagen werfen solltest.
    Das frage ich mich nicht, das hoffe ich für ihn!
    Ansonsten wirds schwierig.

    @EDirk
    Natürlich kannst du auch in einem FB temporäre Variablen verwenden. Deine MD40 + MD50 sind dafür sehr gut geeignet.

    Ich hab leider auch nicht wirklich viel Zeit.
    Versuch doch erstmal selber anhand der Ausbildungsunterlagen dich in die Materie einzulesen und dann selber was zu machen.
    Deine Ergebnisse kannst du ja hier posten und wir werden dir dann weiter helfen.
    Alles andere macht in meinen Augen zu diesem Zeitpunkt keinen Sinn.

    Gruß wolder
    Wenn du denkst du denkst, dann denkst du nur, dass du denkst, denn beim Denken der Gedanken, kommt dir der Gedanke, dass das Denken der Gedanken ein gedankenloses Denken ist

  2. #22
    Registriert seit
    30.10.2009
    Ort
    10 km vom Herzen der Natur
    Beiträge
    1.626
    Danke
    120
    Erhielt 340 Danke für 255 Beiträge

    Standard

    @wolder:
    Du hast recht, indirekte Adressierung ist offensichtlich weit über dem Niveau des TE. Ich war gedanklich bei "wie würde ich das machen" und da ist mir Aventinus' Lösung nicht in den Sinn gekommen, einfach weil ich sie nicht wählen würde. Viel schlimmer fände ich, wenn der TE mit absoluter Adressierung im IDB rumwühlt.
    Gruß
    Michael

  3. #23
    Registriert seit
    19.07.2010
    Beiträge
    1.289
    Danke
    213
    Erhielt 267 Danke für 233 Beiträge

    Standard

    Zitat Zitat von M-Ott Beitrag anzeigen
    @wolder:
    Du hast recht, indirekte Adressierung ist offensichtlich weit über dem Niveau des TE. Ich war gedanklich bei "wie würde ich das machen" und da ist mir Aventinus' Lösung nicht in den Sinn gekommen, einfach weil ich sie nicht wählen würde. Viel schlimmer fände ich, wenn der TE mit absoluter Adressierung im IDB rumwühlt.
    Ich würde es auch nicht so machen weil mir die Zählerei bei den 0en zu blöd wär. Aber wenn das Thema indirekte Adressierung nicht sitzt ist es so einfacher zu verstehen denke ich.
    mfG Aventinus

  4. #24
    Registriert seit
    26.05.2009
    Beiträge
    541
    Danke
    35
    Erhielt 78 Danke für 69 Beiträge

    Standard

    Habt ihr euch mal das Datenblatt der 7-Segmentanzeige angeschaut?

    Jetzt weiss ich auch warum der TE einen Zähler bis 20 hat....
    Wenn du denkst du denkst, dann denkst du nur, dass du denkst, denn beim Denken der Gedanken, kommt dir der Gedanke, dass das Denken der Gedanken ein gedankenloses Denken ist

  5. #25
    Registriert seit
    19.07.2010
    Beiträge
    1.289
    Danke
    213
    Erhielt 267 Danke für 233 Beiträge

    Standard

    Leuchtet ein, ein serielles Telegramm mit 20 Bit.
    mfG Aventinus

  6. #26
    Registriert seit
    06.02.2009
    Beiträge
    28
    Danke
    3
    Erhielt 6 Danke für 3 Beiträge

    Standard

    Also ich hab die Aufgabenstellung und den FC1 immer noch nicht kapiert, speziell wie M80.2 / enable programmiert ist. Das Datenblatt hab ich auch nicht durchgearbeitet.

    Anhand des FC1 habe ich jetzt einen FB1 programmiert, der, soweit ich den FC1 verstanden habe, funktionieren sollte (ich habs nicht getestet). Zumindest sieht man hier übersichtlich, wie ein entsprechender FB aussehen sollte. z.B. liebe ich die Netzwerk- Struktur Eingang / Operation / Ausgang. Viele Variablen habe ich auf In/out/Stat gesetzt, den MD60 hab ich gelassen, um M61.3 daraus abgreifen zu können. Das funktioniert so, weil dieser bei jedem Aufruf von FB1 neu beschrieben wird.

    Auch als Quelle angehängt zum weiterbasteln

    Weiterhin würde ich MB0 nur ungerne verwenden, es hat sich bei vielen Betrieben durchgesetzt:
    M0.0 > Immer 0
    M0.1 > Immer 1
    M0.2 > Neustartmerker
    M0.6 > Inbetriebnahmemerker

    @EDirk:
    SPS hat viel mit Logik zu tun und es ist hilfreich, wenn man die Logik (oder was man programmiert / beabsichtigt) klar in Worte fassen kann. Lobenswert, das du Kommentare eingefügt hast, aber diese sollten auch logisch und nachvollziebar sein.
    Angehängte Dateien Angehängte Dateien
    Ritterlicher Verfechter der nachvollziehbaren und übersichtlichen Programmierung

    >>> Das Problem steht zu 95% vor der Maschine

    Meine Umgebung (meistens): Win XP, S7 V5.4 SP5, 840D sl, Transline

  7. #27
    Registriert seit
    26.05.2009
    Beiträge
    541
    Danke
    35
    Erhielt 78 Danke für 69 Beiträge

    Standard

    Einfache Erklärung:
    ein Telegramm aufbau mit 20Bit.
    Wenn der Enable-Ausgang 0 ist, dann sollen 20 Bit gesendet werden. Darin sind die ersten 4 Bit für die Komma-darstellung enthalten und die restlichen 16 Bit für den BCD-Code der 4 Ziffern.
    Das senden wird mit clock bewerkstelligt. Durch das Takten des Clock-Ausgangs werden einzeln nacheinander die 20 Bit übertragen.

    Gruß wolder
    Wenn du denkst du denkst, dann denkst du nur, dass du denkst, denn beim Denken der Gedanken, kommt dir der Gedanke, dass das Denken der Gedanken ein gedankenloses Denken ist

  8. #28
    EDirk ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    02.11.2011
    Beiträge
    10
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke für den vielen Input.

    Indirekte Adressierung habe ich bis jetzt nie was mit zu tun gehabt.
    Ich werd jetzt versuchen aus den Ganzen Anregungen das beste für heraus zu holen und die Ansteuerung der Segmentanzeige flexibler zu gestalten.

    Habe vor alles in einen FB zu schreiben und die Merker durch TEMP und STAT zu ersetzen.

    an der Stelle wo ich bei mir das Datensignal abfrage (M61.3) werde ich dann vorher das fertige Merkerdoppelwort in eine STAT schreiben .

    Dann lege ich an den Ausgang für das Datensignal einen IN Wert an.

    Diesen passe ich dann immer an. Wollte dann zB: mit dem Befehl DB1.DBX15.3 dann arbeiten . (Wäre dann die Stelle im DB wo ich abgreifen will).

    Muss dann halt nur bei jedem neuen Einsatz einer weiteren Anzeige DB2.DBX15.3 oder DB3..... etc schreiben. Und dementsprechend einen DB erstellen.


    Ich schreibe es mal um und lade es dann hoch, damit es verständlicher ist

  9. #29
    Registriert seit
    06.02.2009
    Beiträge
    28
    Danke
    3
    Erhielt 6 Danke für 3 Beiträge

    Standard

    Zitat Zitat von wolder Beitrag anzeigen
    Einfache Erklärung:
    ein Telegramm aufbau mit 20Bit.
    Wenn der Enable-Ausgang 0 ist, dann sollen 20 Bit gesendet werden. Darin sind die ersten 4 Bit für die Komma-darstellung enthalten und die restlichen 16 Bit für den BCD-Code der 4 Ziffern.
    Das senden wird mit clock bewerkstelligt. Durch das Takten des Clock-Ausgangs werden einzeln nacheinander die 20 Bit übertragen.
    Danke! Kurz und präzise formuliert und jetzt hab ich es auch kapiert!
    Nach diesen Angaben hab ich es umprogrammiert und getestet, es funktioniert so! (ich musste an meiner Maschine FB1000 nehmen).

    Das ist sicherlich nicht die eleganteste Lösung, aber ich denke didaktisch wertvoll, ich denke EDirk kann dies hier schnell nachvollziehen.

    Eleganter wäre es mit dem Zähler auf das entsprechende Bit zu verweisen und dies dann zu übertragen. Wenn ich morgen Zeit hab, probiere ich es auch noch.
    Angehängte Dateien Angehängte Dateien
    Ritterlicher Verfechter der nachvollziehbaren und übersichtlichen Programmierung

    >>> Das Problem steht zu 95% vor der Maschine

    Meine Umgebung (meistens): Win XP, S7 V5.4 SP5, 840D sl, Transline

  10. #30
    EDirk ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    02.11.2011
    Beiträge
    10
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich habe nun alle Merker entfernt und alles mit TEMP und STAT realisiert.

    Einzigstes Problem war mit der Stelle wo ich im MD 60 das Bit M61.3 immer abfragen will.
    Habe es so gemacht das ich den Wert Datenstelle nenne und im IN immer angeben muss.

    In meinem Fall ist das immer die Adresse 15.3 im Db also schreibe ich in den IN DB (Bausteinnummer).DBX15.3

    So kann ich ihn nun Flexibler einsetzen.
    Angehängte Dateien Angehängte Dateien

Ähnliche Themen

  1. Antworten: 10
    Letzter Beitrag: 28.02.2011, 12:11
  2. Antworten: 6
    Letzter Beitrag: 05.07.2007, 21:59
  3. Steuerung einer Mühle-über SPS oder PC ?
    Von walterschuch im Forum Simatic
    Antworten: 38
    Letzter Beitrag: 01.04.2006, 14:49
  4. B & R über serielle Schnittstelle programmieren
    Von Kobold im Forum Sonstige Steuerungen
    Antworten: 12
    Letzter Beitrag: 18.11.2005, 12:49
  5. Programmieren einer S7 über Ethernet
    Von Balou im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 01.08.2004, 18:00

Lesezeichen

Berechtigungen

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