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

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

Thema: VBScript Programmierung:WinCC Flex als Schnittstelle zwischen AB Logix und Siemen CPU

  1. #1
    Registriert seit
    30.01.2009
    Ort
    Niedersachsen
    Beiträge
    11
    Danke
    9
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    Ich benutze mein Panel als Schnittstelle zwischen einer Allen Bradley Logix CPU und einer Siemens S7 300 CPU.

    Ich habe zur Zeit es so Programmiert das ich jeweils eine Menge Bit´s im Sekundentakt über ein Script hin und her schicke. Funktioniert ohne Probleme.

    Also so geht es z.b. hier mit den Bits.

    If SmartTags("DB 100 DBX 20.0") = True Then
    SetBit SmartTags("SignalAB1[0]/0")
    End If
    If SmartTags("DB 100 DBX 20/0") = False Then
    ResetBit SmartTags("SignalAB1[0]/0")
    End If
    usw....

    Kann mir hier vielleicht jemand erklären wie ich z.b. ein Byte und ein INT verschieben kann über ein Script.

    in AWL klingt das so einfach.
    L DB100.DBB20.0
    T SignalAB1[0]

    Ich habe doch sehr Probleme mit der VB Sprache. Vielleicht auch ein bisschen mit der Deutschen

    Und was muss man beachten wenn mehrere Aufrufe aufeinander Folgen

    Danke,
    Johannes
    Zitieren Zitieren VBScript Programmierung:WinCC Flex als Schnittstelle zwischen AB Logix und Siemen CPU  

  2. #2
    Registriert seit
    20.10.2004
    Beiträge
    650
    Danke
    5
    Erhielt 26 Danke für 26 Beiträge

    Standard

    Zitat Zitat von joelber Beitrag anzeigen
    in AWL klingt das so einfach.
    L DB100.DBB20.0
    T SignalAB1[0]
    l geht nur mit byte word und doppelword

    also db100.dbb20

  3. #3
    Registriert seit
    20.10.2004
    Beiträge
    650
    Danke
    5
    Erhielt 26 Danke für 26 Beiträge

    Standard

    nur so am rande

    welches panel
    und welche software

    prootool
    wincc
    winflex

  4. #4
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.716
    Danke
    398
    Erhielt 2.399 Danke für 1.999 Beiträge

    Standard

    Hallo Johannes,
    vielleicht solltest du ganz grundsätzlich überlegen, deine Operanden symbolisch (der eigentlichen Funktion entsprechend) zu benennen.
    Aber das nur am Rande.
    Bytes und Worte und Doppelworte werden mit "=" übertragen, also :
    Code:
    SmartTags("DB 100 DBW 24") = SmartTags("DB 101 DBW 124")
    SmartTags("DB 100 DBB 14") = SmartTags("DB 101 DBB 114")
    Gruß
    LL

  5. Folgender Benutzer sagt Danke zu Larry Laffer für den nützlichen Beitrag:

    joelber (01.02.2009)

  6. #5
    joelber ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    30.01.2009
    Ort
    Niedersachsen
    Beiträge
    11
    Danke
    9
    Erhielt 1 Danke für 1 Beitrag

    Standard

    WinCC Flexible 2007 Runtime auf einem Panel PC mit Soft SPS ist verbunden mit einer Allen Bradley Logix.

    Ich brauch halt nur ein VB Script um Byte´s und Int´s aus meiner S7 in die Allen Bradley zu schieben und umgekehrt. Dies habe ich ja mit bits ausprobiert und funktioniert ohne probleme.

  7. #6
    joelber ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    30.01.2009
    Ort
    Niedersachsen
    Beiträge
    11
    Danke
    9
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Hallo Johannes,
    vielleicht solltest du ganz grundsätzlich überlegen, deine Operanden symbolisch (der eigentlichen Funktion entsprechend) zu benennen.
    Aber das nur am Rande.
    Bytes und Worte und Doppelworte werden mit "=" übertragen, also :
    Code:
    SmartTags("DB 100 DBW 24") = SmartTags("DB 101 DBW 124")
    SmartTags("DB 100 DBB 14") = SmartTags("DB 101 DBB 114")
    Gruß
    LL
    natürlich benutze ich Symbolik, habs halt nur hier rausgenommen.

    SmartTags("DB 100 DBW 24") = SmartTags("DB 101 DBW 124")
    SmartTags("DB 100 DBB 14") = SmartTags("DB 101 DBB 114")

    OKAY, ich hatte es so ausprobiert mit dem (=) hat aber nicht funktioniert, da habe ich mit gedacht ein (=) klingt ja auch viel zu einfach.

    Bekomme eine Art Überlauf Fehlermeldung

  8. #7
    joelber ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    30.01.2009
    Ort
    Niedersachsen
    Beiträge
    11
    Danke
    9
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Danke Larry für deine Information !

  9. #8
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.716
    Danke
    398
    Erhielt 2.399 Danke für 1.999 Beiträge

    Standard

    Zitat Zitat von joelber Beitrag anzeigen
    OKAY, ich hatte es so ausprobiert mit dem (=) hat aber nicht funktioniert, da habe ich mit gedacht ein (=) klingt ja auch viel zu einfach.

    Bekomme eine Art Überlauf Fehlermeldung
    Das habe ich jetzt nicht verstanden ... schreib doch mal ein bißchen mehr dazu ...
    Was geht nicht und was bekommst du gemeldet ?

    Gruß
    LL

  10. #9
    joelber ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    30.01.2009
    Ort
    Niedersachsen
    Beiträge
    11
    Danke
    9
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Das habe ich jetzt nicht verstanden ... schreib doch mal ein bißchen mehr dazu ...
    Was geht nicht und was bekommst du gemeldet ?

    Gruß
    LL

    So Hatte ich das Script ausprobiert:

    SmartTags("DB 100 DBB 20") = SmartTags("Signal_an_Allenbradleybyte[0]")
    SmartTags("Signal_von_Allenbradleybyte[1]") = SmartTags("DB 100 DBB 21")

    Das Script wurde im 500 ms Takt abgerufen und ich bekam in meinem Störungsfenster im sehr schnellen Takt Überlauffehlermeldung. (Ich weiss jetzt nicht mehr genau was es genau für fehler waren. muss ich gleich nochmal überprüfen.

    Vielleicht sollte ich einfach einen Takt von ca 2 - 5 Sekunden ausprobieren ?

    zumdem sollten nachher nicht nur 2 bytes hin und her geschickt werden, sondern ca 18 bytes und 18 Wörter (als Integer) und zwar in einem Takt, so schnell wie möglich..

    Gruß,
    Johannes

  11. #10
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.716
    Danke
    398
    Erhielt 2.399 Danke für 1.999 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Johannes,
    ich vermute, dass die besagte Überlauf-Fehlermeldung viel mehr etwas mit der WinCCFlexibel eigenen Script-Bearbeitung zu tun hat. Es können nur eine bestimmte Anzahl von Scripten gestartet werden (Aufgabenstack). Ich meine es wären 20. Außerdem wird immer nur ein Script bearbeitet - das heißt, dass solange wie Script_1 in Bearbeitung ist wird zwar Script_2 (und _3 etc.) in dem Aufgabenstack übernommen, sie werden aber erst bearbeitet wenn Script_1 fertig (beendet) ist. Der von dir geannte Überlauf könnte also auch der Max.-Stack (20 Scripte) sein. Kannst du das mal checken ?

    Gruß
    LL

  12. Folgender Benutzer sagt Danke zu Larry Laffer für den nützlichen Beitrag:

    joelber (01.02.2009)

Ähnliche Themen

  1. Antworten: 24
    Letzter Beitrag: 29.01.2016, 11:16
  2. WinCC flex und serielle Schnittstelle
    Von Lipperlandstern im Forum HMI
    Antworten: 12
    Letzter Beitrag: 14.02.2014, 14:16
  3. Antworten: 0
    Letzter Beitrag: 06.01.2011, 15:44
  4. Antworten: 7
    Letzter Beitrag: 17.10.2007, 18:16
  5. Umlaufarchiv in WinCC Flex. mit VBScript
    Von rookie_2001 im Forum HMI
    Antworten: 7
    Letzter Beitrag: 19.10.2006, 12:43

Stichworte

Lesezeichen

Berechtigungen

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