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

Ergebnis 1 bis 10 von 10

Thema: OP7 => Menüstruktur erweitern+ akt. Prozeßdaten anzeigen

  1. #1
    Registriert seit
    02.11.2006
    Beiträge
    496
    Danke
    217
    Erhielt 25 Danke für 6 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Forum,

    wir haben ein OP7 ( MPI ), welches mit einer s7-3xx kommuniziert.

    Ich möchte eine weitere Menüebene ( Timer ) mit 5 s5- Zeiten einfügen.
    Das müßte ich noch selbst hinbekommen

    Ich würde die 5 Zeiten mittels Protool als WORD deklarieren.
    ( Zeiten: 0 .. max. 10s, Millisekunden sollten auch möglich sein )
    Wie sende ich die an die s7 ?
    Ich muß sie in der s7 als DB?.DBW? auslesen ?
    Paßt dann der übergebene Wert für gleich so für einen z.b. SI- Timer ?

    Desweiteren würde ich gern eine "Standard- Anzeige" haben... wenn nix ist, sollen ein paar Werte ( Position eines Wagens [ Bereich: 0 .. 7500] und 2 Zähler [ Bereiche: 0 .. 100] ) angezeigt werden.
    Kann man eine Anzeige so hinbekommen ?
    Muß ich irgendwas beachten ?

    Mfg
    Zitieren Zitieren OP7 => Menüstruktur erweitern+ akt. Prozeßdaten anzeigen  

  2. #2
    Registriert seit
    04.02.2007
    Beiträge
    2.544
    Danke
    167
    Erhielt 731 Danke für 528 Beiträge

    Standard

    Im DB legst Du die Timer als S5Time ab.

    Im OP eine Verbindung zur Variablen anlegen (Timer)
    Im Bild ein E/A Feld Dezimal.
    Ich glaube beim OP7 war das so, das man direkt Sekunden eingeben konnte, mit Kommastellen dann s/10 usw.
    Diesen DB Eintrag kannst DU dan direkt an den Timer schreiben ohne Umwandlung.

    Kenne ja die Menüstruktur nicht , was du damit meinst. Eventuell ist im OP bisher nur das Standard-Projekt von Siemens.
    Dann sollte man ein neues Bild anlegen, dieses unter Eigenschaften als StartBild deklarieren, und von dort ins alte Menü.
    In diesem Startbild kann man dann deine Daten anzeigen.
    Lade doch mal das altuelle OP hier hoch , aus dem Verzeichnis TDOP die Datei mit der Endung PDB.

  3. Folgender Benutzer sagt Danke zu jabba für den nützlichen Beitrag:

    mega_ohm (11.06.2010)

  4. #3
    mega_ohm ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    02.11.2006
    Beiträge
    496
    Danke
    217
    Erhielt 25 Danke für 6 Beiträge

    Standard

    Zitat Zitat von jabba Beitrag anzeigen
    Im DB legst Du die Timer als S5Time ab.

    Im OP eine Verbindung zur Variablen anlegen (Timer)
    Im Bild ein E/A Feld Dezimal.
    Ich glaube beim OP7 war das so, das man direkt Sekunden eingeben konnte, mit Kommastellen dann s/10 usw.
    Diesen DB Eintrag kannst DU dan direkt an den Timer schreiben ohne Umwandlung.

    Kenne ja die Menüstruktur nicht , was du damit meinst. Eventuell ist im OP bisher nur das Standard-Projekt von Siemens.
    Dann sollte man ein neues Bild anlegen, dieses unter Eigenschaften als StartBild deklarieren, und von dort ins alte Menü.
    In diesem Startbild kann man dann deine Daten anzeigen.
    Lade doch mal das altuelle OP hier hoch , aus dem Verzeichnis TDOP die Datei mit der Endung PDB.
    - Da ja auf dem OP schon was läuft, konnte ich mal feststellen, daß ein Bereichszeiger für das aufgerufene Bild schon existiert => also muß ich den erst mal ( in ProTool) so erweitern, daß mein Bild ( z.b. die Zeiten) auch mit "dabei" ist.
    - Das Nächste wäre, das neue Bild zu kreieren und einen "Übergabe"- DB festzulegen.
    - Dieser müßte dann mit s7 "reden"...

    Was mir aufgefallen ist: ( das habe ich gesehen... ist nicht auf meinem Mist gewachsen ! Ich habe mal in ein anderes Projekt "reingespitzt" )

    - Auf dem OP7 ( ProTool ) wird eine Variable ( Zeit ! ) z.b. in DB60.DBW4 geschrieben, deklariert als:
    => Dezimal ( genau, wie Du es beschreibst )
    => "Ein- / Ausgabe"
    => Zeichenlänge = 4 ( was auf dem OP dargestellt wird )
    => 1 Nachkomma- Stelle
    => min. Grenze = 0
    => max. Grenze = 400

    Die Kommunikation zur s7 wird über 2 Bausteine ( Senden bzw. Empfangen ) geklärt.

    Mich wundert, daß das funktioniert:
    - in der s7 wird ein FB 60 "Umwandlung in BCD" aufgerufen, der einen
    IDB60 erzeugt
    - es wird der DBW60.DBW4 gelesen (als WORD deklariert ! ), auf #Zeit_2
    ( eine temp. Var.) geschrieben.
    - Danach folgt der Befehl ITB ( ich schwöre es )
    und danach wird das Ganze in DB60.DBW12 gesichert und ist danach im gesamten Programm als Zeit verwendbar.

    Habe ich irgendwas vergessen, war ich verschüttet ?
    Funktioniert es tatsächlich, daß ich eine Komma- Zahl als WORD speichern kann ( mir würde als Eingabe spontan eine 0.5 einfallen ) und diese mit IntegerToBCD in eine s5#Time umwandele ???

    Dann wäre mein "Problem" ja ganz einfach und vollständig gelöst.

    Meinen Wunsch nach einem "Status- Bildschirm würde ich lösen, indem ich
    einfach diese "Bild- Nummer" lade, wenn für eine bestimmte Zeit NIX ist.
    ( Keine Störmeldungen, kein anderes Bild )

    Mfg
    Geändert von mega_ohm (11.06.2010 um 00:58 Uhr)

  5. #4
    Registriert seit
    04.02.2007
    Beiträge
    2.544
    Danke
    167
    Erhielt 731 Danke für 528 Beiträge

    Standard

    Ich habe da noch nie etwas umgerechnet, wenn man im Protoll angibt das es ein Timer ist, rechnte das OP das um, die schreibst also dann kein Komma in ein Word. Das geht komplett ohne was zusätzlich zu machen.

    Das ist auch sehr schnell und einfach am OP getestet. Ich kann es nur nicht simulieren da es ein OP7 ist. Hab es so aber in einigen Anlagen schon drin, obwohl ich das OP7 zum finde. Einfach zu wenig Platz um eine gute Benutzerführung zu machen, aber bei kleinen Sachen ist es besser als gar nix.


    Die Kommunikation zur s7 wird über 2 Bausteine ( Senden bzw. Empfangen ) geklärt.
    ich gehe mal davon aus, das du damit die DB's meinst, FB's oder so werden zur Kommunikation nicht benötigt.

  6. Folgender Benutzer sagt Danke zu jabba für den nützlichen Beitrag:

    mega_ohm (11.06.2010)

  7. #5
    Registriert seit
    17.07.2007
    Ort
    Hessen / Odenwald
    Beiträge
    30
    Danke
    7
    Erhielt 3 Danke für 3 Beiträge

    Standard

    @mega_ohm

    Habe ich irgendwas vergessen, war ich verschüttet ?
    Funktioniert es tatsächlich, daß ich eine Komma- Zahl als WORD speichern kann ( mir würde als Eingabe spontan eine 0.5 einfallen ) und diese mit IntegerToBCD in eine s5#Time umwandele ???
    Die Zahl die du eingibst ist keine Kommazahl, sie wird am Op7 lediglich
    mit einer Nachkommastelle angezeigt. An die SPS wird eine Ganzzahl
    (Festpunktzahl) übergeben.

    Gruß

    Jürgen

  8. Folgender Benutzer sagt Danke zu OB21 für den nützlichen Beitrag:

    mega_ohm (12.06.2010)

  9. #6
    mega_ohm ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    02.11.2006
    Beiträge
    496
    Danke
    217
    Erhielt 25 Danke für 6 Beiträge

    Standard

    Zitat Zitat von jabba Beitrag anzeigen
    Ich habe da noch nie etwas umgerechnet, wenn man im Protoll angibt das es ein Timer ist, rechnte das OP das um, die schreibst also dann kein Komma in ein Word. Das geht komplett ohne was zusätzlich zu machen.
    Dann muß ich das nächste Woche mal austesten. Ich meine auch, daß ich bei meinem "wilden" Umsehen in ProTools irgendsowas wie Timer gesehen hätte.
    Aber ich schwöre (!), daß ich bei meiner "Kiebitzerei" ( oder "Lernen von anderen" ) genau das gefunden habe, was ich schon beschrieben hatte.
    - Auf dem OP7 ( ProTool ) wird eine Variable ( Zeit ! ) z.b. in DB60.DBW4 geschrieben, deklariert als:
    => Dezimal ( genau, wie Du es beschreibst )
    => "Ein- / Ausgabe"
    => Zeichenlänge = 4 ( was auf dem OP dargestellt wird )
    => 1 Nachkomma- Stelle
    => min. Grenze = 0
    => max. Grenze = 400

    ... Einfach zu wenig Platz um eine gute Benutzerführung zu machen, aber bei kleinen Sachen ist es besser als gar nix.
    Das OP7 ist für ein paar Eingaben oder irgendwelche Anzeigen ( Fehlermeldungen, Betriebs-Zustandsanzeigen, Info zu Schrittketten etc.) an dezentraler Stelle ( 50m vom Haupt- Bedientableau entfernt soll ein Anlagenbediener informiert werden [z.B.: "Schutztür links an
    < Anlagenteil> offen" ] bzw. Änderungen an im Sichtbereich befindlichen Anlageteilen eingeben können [ z.B.: "Walzkaliber auf Position <???> fahren" ] recht gut zu gebrauchen.
    Ich habe z.B. auch gern ein OP3 anstatt -zig blödsinnig leuchtenden oder mit 1Hz blinkend ( bedeutet Irgendwas... ), mit 2Hz blinkend was anderes.
    Ich mag Maschinen, die mit ihrer Umwelt "reden".
    Das schafft viel zufriedenere und motiviertere Anlagenbediener.
    Sie können dann nämlich in die E- Werkstatt kommen und
    "24V- Fehler, Si-Automat Dig. Ausgänge ausgelöst, E??.? muß =1 sein" in die Landschaft posaunen. ( wenn sie sich den Fehlertext auf dem Weg von der Anlage bis zur Werksatt merken konnten )
    Und danach gucken diese Mitarbeiter immer "ganz wichtig", als hätten sie den Fehler schon gefunden... wollen es der Welt aber nur mal eben noch schnell sagen.

    ich gehe mal davon aus, das du damit die DB's meinst, FB's oder so werden zur Kommunikation nicht benötigt.
    Es wird ein FB60 aufgerufen, in dem die Übergaben ( DB60.DBW4 ... etc. )
    in BCD umgewandelt wird ( mittels ITB ). Das Ergebnis wird im DB60.DBW12 ( z.B. ) gesichert in einen IDB gesichert.
    Der FB60 funktioniert also ( früher in TP6 / BP7.0 nannte man es so ) als EventHandler.
    Für die Kommunikation zwischen OP und S7 ist der FB60 nicht zuständig. Dort werden die Übergaben "nur" angepaßt.

    Mfg

    ________________________________________________________________
    Soweit habe ich meine zusätzlichen Zeiten hinbekommen.
    Tatsache: es funktioniert so, wie ich es oben beschrieben hatte ( ich war heute mal "online" )
    => Eingabe auf dem OP7 = 0.5 sec ( Sekunden sind mittels der Eingabe- Maske vorgeschrieben ) => in s7 wird ein Wert ( nach dem FB60) von 500ms übergeben. ( das habe ich mir aber "nur" in FUP angeschaut ).
    Für was anderes hatte ich in der heutigen Glut keinen Nerv !

    Wie schon geschrieben... ich staune immer noch ganze Hochhäuser, daß eine als WORD deklarierte Adresse Kommastellen übergibt.

    Mfg

  10. #7
    mega_ohm ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    02.11.2006
    Beiträge
    496
    Danke
    217
    Erhielt 25 Danke für 6 Beiträge

    Standard

    Zitat Zitat von OB21 Beitrag anzeigen
    @mega_ohm



    Die Zahl die du eingibst ist keine Kommazahl, sie wird am Op7 lediglich
    mit einer Nachkommastelle angezeigt. An die SPS wird eine Ganzzahl
    (Festpunktzahl) übergeben.

    Gruß

    Jürgen
    Die Zeit (Zahl), die ich eingeben kann sieht z.B. so aus: 0.5 [sec]
    <= eindeutig eine EINGABE mit Kommastelle oder doch nicht ?

    Die Einheit (sec ) wird im Bild von ProTools festgelegt => soweit ist mir das klar.
    Tatsache ist auch, daß nach Blick auf die Armbanduhr die 1/2 sec im wahren Ablauf "hinkommt".

    Ich habe nächste Woche Nachtschicht und die Anlage steht.
    Dann werde ich mich mal "online hängen" und mal schauen, was genau da zum FB60 übergeben wird.

    ... An die SPS wird eine Ganzzahl (Festpunktzahl) übergeben.
    Wie würde diese Zahl denn anhand meiner Beispiel- Zeit aussehen ?
    ( 0.5 )

    Mfg

  11. #8
    Registriert seit
    17.07.2007
    Ort
    Hessen / Odenwald
    Beiträge
    30
    Danke
    7
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Hallo mega_ohm,



    Was mir aufgefallen ist: ( das habe ich gesehen... ist nicht auf meinem Mist gewachsen ! Ich habe mal in ein anderes Projekt "reingespitzt" )

    - Auf dem OP7 ( ProTool ) wird eine Variable ( Zeit ! ) z.b. in DB60.DBW4 geschrieben, deklariert als:
    => Dezimal ( genau, wie Du es beschreibst )
    => "Ein- / Ausgabe"
    => Zeichenlänge = 4 ( was auf dem OP dargestellt wird )
    => 1 Nachkomma- Stelle
    => min. Grenze = 0
    => max. Grenze = 400

    was ich meinte war folgendes:

    Wenn man davon ausgeht daß deine Zeit-Variable (DB60.DBW4) vom Typ INT ist und das Ein-/Ausgabefeld mit einer Nachkommastelle projektiert ist, würde bei einer Eingabe von z.B. 35,0 ==> 350 an die SPS übergeben werden.

    Die Eingabe wird zwar mit Nachkommastelle angezeigt, aber als
    Ganzzahl (INT) in den DB geschrieben. Die Umrechnung in das S5T-Format
    erfolgt dann in dem ominösen FB60.

    Um präziser zu antworten müsste man wissen,
    wie die Variable im OP7 angelegt ist (INT oder Timer-Format)?

    MfG

    Jürgen

  12. #9
    mega_ohm ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    02.11.2006
    Beiträge
    496
    Danke
    217
    Erhielt 25 Danke für 6 Beiträge

    Standard

    Zitat Zitat von OB21 Beitrag anzeigen
    Hallo mega_ohm,






    was ich meinte war folgendes:

    Wenn man davon ausgeht daß deine Zeit-Variable (DB60.DBW4) vom Typ INT ist und das Ein-/Ausgabefeld mit einer Nachkommastelle projektiert ist, würde bei einer Eingabe von z.B. 35,0 ==> 350 an die SPS übergeben werden.

    Die Eingabe wird zwar mit Nachkommastelle angezeigt, aber als
    Ganzzahl (INT) in den DB geschrieben. Die Umrechnung in das S5T-Format
    erfolgt dann in dem ominösen FB60.

    Um präziser zu antworten müsste man wissen,
    wie die Variable im OP7 angelegt ist (INT oder Timer-Format)?

    MfG

    Jürgen
    Die Variable DBW4 ist als WORD angelegt.

    Im FB60 ist die Mimik ganz einfach:
    Code:
    L DB60.DBW4
    ITB
    L W#16#1000
    +I
    T DB60.DBW12
    DBW12 ist als s5TIME deklariert.

    Mfg

  13. #10
    Registriert seit
    17.07.2007
    Ort
    Hessen / Odenwald
    Beiträge
    30
    Danke
    7
    Erhielt 3 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo mega_ohm,

    so würde es funktionieren


    Beispiel: Eingabe 0,5 s.

    Code:
     
    L DB60.DBW4      ==> Dez  5                     (Wert vom OP7) 
    ITB              ==> 0000 0000 0000 0101        (Zeitwert=5) 
    L W#16#1000      ==> 0001 0000 0000 0000        (Zeitraster=0,1s)
    +I                  ---------------------
    T DB60.DBW12     ==> 0001 0000 0000 0101        (T=0,5s)





    Mfg
    Jürgen
    Angehängte Grafiken Angehängte Grafiken

  14. Folgender Benutzer sagt Danke zu OB21 für den nützlichen Beitrag:

    mega_ohm (15.06.2010)

Ähnliche Themen

  1. 315 2DP/PN mit CP erweitern
    Von Katrin1982 im Forum Feldbusse
    Antworten: 6
    Letzter Beitrag: 28.08.2011, 11:29
  2. DB Erweitern
    Von automobil80 im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 12.12.2007, 08:52
  3. UDT erweitern
    Von maddin im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 02.03.2007, 09:05
  4. Prozeßdaten aus S7-300 sichern
    Von Hahnus im Forum Simatic
    Antworten: 15
    Letzter Beitrag: 09.01.2006, 09:28
  5. prozeßdaten mit excel aus einem siemens opc server auslesen
    Von frankL im Forum Programmierstrategien
    Antworten: 1
    Letzter Beitrag: 04.01.2006, 12:27

Lesezeichen

Berechtigungen

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