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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: winnCC 2008 SP3 mit Script auf DB zugreifen.

  1. #1
    Registriert seit
    18.12.2011
    Beiträge
    20
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute,

    bin gerade dabei mit Hilfe eines Skriptes auf die Einstellung in einem symbolischen E/A-Feld einen DB zu beschreiben. Das Ergebnis soll in einer boolschen Variable im DB festgehalten werden.

    z.B. Prozessvariable = 1 ==> im DB5.Auto=true
    Prozessvariable=2 ==> im DB5.EmB=true use.

    Leider Schaffe ich es nicht mit einem Script auf den DB zuzugreifen. Kann mir jemand einen Tipp geben?

    Vielen Dank schon mal!

    James
    Zitieren Zitieren winnCC 2008 SP3 mit Script auf DB zugreifen.  

  2. #2
    Registriert seit
    29.03.2004
    Beiträge
    5.800
    Danke
    144
    Erhielt 1.710 Danke für 1.240 Beiträge

    Standard

    Du musst deine Variablen im Variablenhaushalt anlegen, dann kannst du über den dort vergebenen Namen aus einem Skript darauf zugreifen.

  3. #3
    James007 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    18.12.2011
    Beiträge
    20
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Thomas_v2.1,

    vielen Dank für die Info. Die Variable habe ich natürlich in der Rubrik Kommunikation - Variablen soweit angelegt. Dann wollte ich über Smarttags auf den DB zugreifen.

    Dim objekt
    Dim a Int
    Set objekt=HmiRuntime.Screens("Bild_1").ScreenItems("BA_Feld")
    a=objekt.SmartTags("daten.betriebsart")

    Die Variable a liefert mir den Integerwert aus meinem symbolischen E/A-Feld; d.h. welche Betriebsart gerade ausgewählt ist.
    z.B. Daten.Betriebsart=1 entspricht der Betriebsart "Auto".
    Jetzt möchte ich in Abhängigkeit von diesem Wert a mit Hilfe der select case Anweisung Boolsche Ausdrücke im Datenbaustein (Daten) beschreiben!

    Ich glaube, irgendwo habe ich noch einen grundsätzlichen Fehler?

    James

  4. #4
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.327
    Danke
    932
    Erhielt 3.332 Danke für 2.690 Beiträge

    Standard

    Warum so umständlich über Objekt?
    An dem EA-Feld muß doch sowieso eine Prozessvariable angegeben werden. Auf diese Variable kann man direkt zugreifen: SmartTags("BA_Feld_Variable").

    Noch VIEL besser als die undurchsichtige Skripterei: nimm für die Prozessvariable am EA-Feld eine Variable in der SPS und mache Deine Verknüpfungen im SPS-Programm.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  5. Folgender Benutzer sagt Danke zu PN/DP für den nützlichen Beitrag:

    ducati (02.01.2014)

  6. #5
    Registriert seit
    09.08.2006
    Beiträge
    3.642
    Danke
    915
    Erhielt 661 Danke für 543 Beiträge

    Standard

    Zitat Zitat von PN/DP Beitrag anzeigen
    Noch VIEL besser als die undurchsichtige Skripterei: nimm für die Prozessvariable am EA-Feld eine Variable in der SPS und mache Deine Verknüpfungen im SPS-Programm.
    Jo... Es sei denn, es gibt einen GUTEN Grund für die Geschichte, aber ich vermute, der TE weiss es nicht besser...

  7. #6
    James007 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    18.12.2011
    Beiträge
    20
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Harald,

    vielen Dank für dein Feedback.
    Derzeit habe ich als Prozessvariable eine Variable aus meinem Datenbaustein (Daten.Betriebsart) vom Typ Integer. Diese gibt mir an, welche Betriebsart denn nun über das Touch-Panel ausgewählt wurde. In S7 wandle ich nun diese Variable vom Typ Integer in 4 Variablen vom Typ Bool, weil meine Schnittstelle zur weiteren Verarbeitung Datentypen vom Typ Bool erwartet. Das ganze funktioniert soweit gut, nur finde ich es eben etwas umständlich innerhalb des Simatic-Managers diese Anpassung vorzunehmen. Ich hätte eben direkt diese Variablen die die Betriebsart angeben an der Schnittstellt zu WinnCC z.B. Daten.Auto=true entspricht eben im symbolischen E/A-Feld der ausgewählten Betriebsart Automatikbetrieb.

    James007

  8. #7
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.327
    Danke
    932
    Erhielt 3.332 Danke für 2.690 Beiträge

    Standard

    Das Zerlegen des Integers in 4 einzelne BOOL im CPU-Programm ist doch nicht umständlicher als in einem Skript auf dem Panel!
    Es hat außerdem weitere Vorteile, ich nenne nur ein paar:
    - Nachvollziehbarkeit: die Zerlegung im CPU-Programm ist von Fremd-SPS-Programmierern viel leichter findbar und nachvollziehbar
    - Konsistenz: das Zerlegen im Panel auf 4 verschiedene Variablen ist nicht konsistent. Es ist nicht garantiert, daß sich alle 4 Variablen gleichzeitig in der CPU ändern
    - benötigt weniger Powertags
    - Grundsätzlich: logische Verknüpfungen gehören in die CPU. ein HMI ist keine SPS

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  9. Folgender Benutzer sagt Danke zu PN/DP für den nützlichen Beitrag:

    Onkel Dagobert (02.01.2014)

  10. #8
    James007 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    18.12.2011
    Beiträge
    20
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Harald,

    vielen Dank für deinen Kommentar.

    Das kann man natürlich so sehen!
    Ich würde trotzdem den Versuch unternehmen eine einheitliche Schnittstelle hier abzubilden, so dass innerhalb des Simatic-Managers eigentlich nur noch die Programmierung erfolgt!

    James007

  11. #9
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.327
    Danke
    932
    Erhielt 3.332 Danke für 2.690 Beiträge

    Standard

    Was immer Du unter "einheitliche Schnittstelle abbilden" meinst - vergiß es, wenn Dein Wunsch-Vorgehen nicht sicher funktioniert. (siehe meinen Hinweis zu Konsistenz in #7)
    Man muß sicher funktionierenden Code programmieren, nicht solchen, der "einheitlich" gut aussieht.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  12. #10
    James007 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    18.12.2011
    Beiträge
    20
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Harald,

    vielen Dank für die klare Aussage. Ich bin jetzt nicht so sehr WinCC erfahren. Aber langsam wird mir klar, warum viele von dieser Software abrücken.
    Gibt es eigentlich eine gute Page in Sachen Skripte für WinCC?

    James007

Ähnliche Themen

  1. Antworten: 21
    Letzter Beitrag: 02.10.2013, 20:57
  2. WinCC Flex 2008 SP3 Script CreateObject
    Von nowayray im Forum HMI
    Antworten: 1
    Letzter Beitrag: 19.04.2013, 14:17
  3. Antworten: 2
    Letzter Beitrag: 04.10.2012, 13:21
  4. Antworten: 4
    Letzter Beitrag: 04.07.2012, 21:48
  5. Antworten: 0
    Letzter Beitrag: 01.06.2012, 14:05

Stichworte

Lesezeichen

Berechtigungen

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