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

Page 1 of 2 12 LastLast
Results 1 to 10 of 15

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

  1. #1
    Join Date
    30.01.2009
    Location
    Niedersachsen
    Posts
    11
    Danke
    9
    Erhielt 1 Danke für 1 Beitrag

    Default


    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
    Reply With Quote Reply With Quote VBScript Programmierung:WinCC Flex als Schnittstelle zwischen AB Logix und Siemen CPU  

  2. #2
    Join Date
    20.10.2004
    Posts
    693
    Danke
    9
    Erhielt 26 Danke für 26 Beiträge

    Default

    Quote Originally Posted by joelber View Post
    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
    Join Date
    20.10.2004
    Posts
    693
    Danke
    9
    Erhielt 26 Danke für 26 Beiträge

    Default

    nur so am rande

    welches panel
    und welche software

    prootool
    wincc
    winflex

  4. #4
    Join Date
    22.03.2007
    Location
    Detmold (im Lipperland)
    Posts
    12,653
    Danke
    435
    Erhielt 2,609 Danke für 2,155 Beiträge

    Default

    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 is offline Neuer Benutzer
    Themenstarter
    Join Date
    30.01.2009
    Location
    Niedersachsen
    Posts
    11
    Danke
    9
    Erhielt 1 Danke für 1 Beitrag

    Default

    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 is offline Neuer Benutzer
    Themenstarter
    Join Date
    30.01.2009
    Location
    Niedersachsen
    Posts
    11
    Danke
    9
    Erhielt 1 Danke für 1 Beitrag

    Default

    Quote Originally Posted by Larry Laffer View Post
    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 is offline Neuer Benutzer
    Themenstarter
    Join Date
    30.01.2009
    Location
    Niedersachsen
    Posts
    11
    Danke
    9
    Erhielt 1 Danke für 1 Beitrag

    Default

    Danke Larry für deine Information !

  9. #8
    Join Date
    22.03.2007
    Location
    Detmold (im Lipperland)
    Posts
    12,653
    Danke
    435
    Erhielt 2,609 Danke für 2,155 Beiträge

    Default

    Quote Originally Posted by joelber View Post
    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 is offline Neuer Benutzer
    Themenstarter
    Join Date
    30.01.2009
    Location
    Niedersachsen
    Posts
    11
    Danke
    9
    Erhielt 1 Danke für 1 Beitrag

    Default

    Quote Originally Posted by Larry Laffer View Post
    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
    Join Date
    22.03.2007
    Location
    Detmold (im Lipperland)
    Posts
    12,653
    Danke
    435
    Erhielt 2,609 Danke für 2,155 Beiträge

    Default


    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)

Similar Threads

  1. Replies: 24
    Last Post: 29.01.2016, 11:16
  2. Replies: 2
    Last Post: 27.08.2014, 15:26
  3. WinCC flex und serielle Schnittstelle
    By Lipperlandstern in forum HMI
    Replies: 12
    Last Post: 14.02.2014, 14:16
  4. Replies: 0
    Last Post: 06.01.2011, 15:44
  5. Umlaufarchiv in WinCC Flex. mit VBScript
    By rookie_2001 in forum HMI
    Replies: 7
    Last Post: 19.10.2006, 12:43

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •