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

Seite 2 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 11 bis 20 von 31

Thema: Strukturprobleme Multiinstanz ...

  1. #11
    Avatar von rs-plc-aa
    rs-plc-aa ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    07.11.2004
    Beiträge
    697
    Danke
    69
    Erhielt 64 Danke für 48 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ja, hast wohl recht...

    Den GlobalDB erzeuge ich aus Excel heraus ziemlich komfortabel daher ist auch ruck zuck was geändert.

    Auch kann ich eigentlich alles machen - ich habe mich vielleicht auch nur zu sehr an dem einen Detail aufgehalten den Zugriff auf die Einzelbits per Alias zu erledigen.

    Jetzt steht halt im OB so was in der Art:

    Code:
          CALL  "Hauptprogramm" , "DI_FB410_M1"
    ...
           PrgControl_1            :=DB611.DBD12
           PrgControl_2            :=DB611.DBD16
           Merker_NotAus           :="Merkerbits_M1".PrgControl_1.Merker_NotAus
           Merker_NormalAus        :="Merkerbits_M1".PrgControl_1.Merker_NormalAus
    ...
    ... und anstatt DB611.DBD12 wollte ich eben so was wie "Merkerbits_M1".PrgControl_1 da dran stehen haben.

    Und ausserdem hätte mich eben generell interessiert ob das mit einem Array gegengen wäre...
    RS (rs-plc-aa)
    ______________________________________________
    Morgen ist Heute Gestern...
    ______________________________________________
    Installierst du noch - oder Arbeitest du schon ?
    ______________________________________________

  2. #12
    Registriert seit
    28.06.2006
    Ort
    Königreich Neuseeland
    Beiträge
    2.027
    Danke
    133
    Erhielt 96 Danke für 76 Beiträge

    Standard

    Zitat Zitat von rs-plc-aa Beitrag anzeigen


    ... und anstatt DB611.DBD12 wollte ich eben so was wie "Merkerbits_M1".PrgControl_1 da dran stehen haben.

    Und ausserdem hätte mich eben generell interessiert ob das mit einem Array gegengen wäre...
    Die Symbolische Adresse kann nicht überlappen.
    Da helfen leider auch Tricks mit Arrays oder structs nicht.

    Vielleicht in einer der nächsten S7 - Versionen.
    Ist nur ein S7Manager - Problem, hat mit dem eigendlichen Programm ja nichts zu tun.

  3. #13
    Registriert seit
    06.10.2003
    Beiträge
    3.411
    Danke
    451
    Erhielt 506 Danke für 408 Beiträge

    Standard

    Zitat Zitat von rs-plc-aa Beitrag anzeigen
    ... und anstatt DB611.DBD12 wollte ich eben so was wie "Merkerbits_M1".PrgControl_1 da dran stehen haben.

    Und ausserdem hätte mich eben generell interessiert ob das mit einem Array gegengen wäre...
    Mit einem ARRAY geht das so nicht. Aber versuche es mal mit dem Datentyp UDT, das sollte gehen!


    Gruß, Onkel
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

  4. #14
    Avatar von rs-plc-aa
    rs-plc-aa ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    07.11.2004
    Beiträge
    697
    Danke
    69
    Erhielt 64 Danke für 48 Beiträge

    Standard

    schade...

    hätte dann nämlich noch den Vorteil gehabt daß wenn im global DB was eingefügt wird die Zuordnung immer noch primär über den Alias anstatt der Adresse stattgefunden hätte...

    Aber wie schon gesagt wurde es gibt halt keine Lösung die nur Vorteile bietet.

    Wobei ich es hier wiederum ja gar nicht mit einem "echten" Nachteil zu tun habe da ja das was ich machen wollte in der anderen Variante auch nicht geht
    RS (rs-plc-aa)
    ______________________________________________
    Morgen ist Heute Gestern...
    ______________________________________________
    Installierst du noch - oder Arbeitest du schon ?
    ______________________________________________

  5. #15
    Registriert seit
    28.06.2006
    Ort
    Königreich Neuseeland
    Beiträge
    2.027
    Danke
    133
    Erhielt 96 Danke für 76 Beiträge

    Standard

    Zitat Zitat von Onkel Dagobert Beitrag anzeigen
    Mit einem ARRAY geht das so nicht. Aber versuche es mal mit dem Datentyp UDT, das sollte gehen!


    Gruß, Onkel
    Geht auch mit UDT nicht.

  6. #16
    Avatar von rs-plc-aa
    rs-plc-aa ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    07.11.2004
    Beiträge
    697
    Danke
    69
    Erhielt 64 Danke für 48 Beiträge

    Standard

    Zitat Zitat von Onkel Dagobert Beitrag anzeigen
    ... Aber versuche es mal mit dem Datentyp UDT, das sollte gehen!
    Zitat UG:
    Geht auch mit UDT nicht.
    Ich gebs auf
    RS (rs-plc-aa)
    ______________________________________________
    Morgen ist Heute Gestern...
    ______________________________________________
    Installierst du noch - oder Arbeitest du schon ?
    ______________________________________________

  7. #17
    Registriert seit
    06.10.2003
    Beiträge
    3.411
    Danke
    451
    Erhielt 506 Danke für 408 Beiträge

    Standard

    Zitat Zitat von Unregistrierter gast Beitrag anzeigen
    Geht auch mit UDT nicht.
    Ich meinte auch nur das hier:

    Zitat Zitat von rs-plc-aa Beitrag anzeigen
    ...
    Code:
          CALL  "Hauptprogramm" , "DI_FB410_M1"
    ...
           PrgControl_1            :=DB611.DBD12
           PrgControl_2            :=DB611.DBD16
           Merker_NotAus           :="Merkerbits_M1".PrgControl_1.Merker_NotAus
           Merker_NormalAus        :="Merkerbits_M1".PrgControl_1.Merker_NormalAus
    ...
    ... und anstatt DB611.DBD12 wollte ich eben so was wie "Merkerbits_M1".PrgControl_1 da dran stehen haben....
    Mit dem "symbolischen Überlappen heht es nicht. Jedoch könnte man eventuell zum Überschreiben die SFC "Fill" verwenden.


    Gruß, Onkel
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

  8. #18
    Avatar von rs-plc-aa
    rs-plc-aa ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    07.11.2004
    Beiträge
    697
    Danke
    69
    Erhielt 64 Danke für 48 Beiträge

    Standard

    Zitat Zitat von Onkel Dagobert Beitrag anzeigen
    Ich meinte auch nur das hier:

    Mit dem "symbolischen Überlappen heht es nicht. Jedoch könnte man eventuell zum Überschreiben die SFC "Fill" verwenden.


    Gruß, Onkel
    Aber der SFC "Fill" muß ich ja auch wieder sagen was sie "fillen" soll --> also DB611.DBD12 z.B. kommt ja dann aufs gleiche raus...
    RS (rs-plc-aa)
    ______________________________________________
    Morgen ist Heute Gestern...
    ______________________________________________
    Installierst du noch - oder Arbeitest du schon ?
    ______________________________________________

  9. #19
    Registriert seit
    06.10.2003
    Beiträge
    3.411
    Danke
    451
    Erhielt 506 Danke für 408 Beiträge

    Standard

    Zitat Zitat von rs-plc-aa Beitrag anzeigen
    Aber der SFC "Fill" muß ich ja auch wieder sagen was sie "fillen" soll --> also DB611.DBD12 z.B. kommt ja dann aufs gleiche raus...
    Verstehe ich nicht so ganz. Du kannst doch die Parameter symbolisch verwenden. So etwa:

    Code:
     
    //*** TESTARRAY ist IN-Parameter
          U     #TESTARRAY[1]
          =     A      0.0
          L     0
          T     #TEMP_BYTE
          CALL  SFC   21
           BVAL   :=#TEMP_BYTE
           RET_VAL:=#TEMP_INT
           BLK    :=#TESTARRAY
     
    //*** TESTUDT ist IN-Parameter
          U     #TESTUDT.Bit_0
          =     A      0.0
          L     0
          T     #TEMP_BYTE
          CALL  SFC   21
           BVAL   :=#TEMP_BYTE
           RET_VAL:=#TEMP_INT
           BLK    :=#TESTUDT
    Wahrscheinlich ist es aber ohnehin besser, du baust dein Programm vollkommen neu auf.


    Gruß, Onkel
    Es gibt viel mehr Leute, die freiwillig aufgeben, als solche, die echt scheitern.
    Henry Ford

  10. #20
    Registriert seit
    28.06.2006
    Ort
    Königreich Neuseeland
    Beiträge
    2.027
    Danke
    133
    Erhielt 96 Danke für 76 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Onkel Dagobert Beitrag anzeigen
    Verstehe ich nicht so ganz. Du kannst doch die Parameter symbolisch verwenden. So etwa:

    Code:
     
    //*** TESTARRAY ist IN-Parameter
          U     #TESTARRAY[1]
          =     A      0.0
          L     0
          T     #TEMP_BYTE
          CALL  SFC   21
           BVAL   :=#TEMP_BYTE
           RET_VAL:=#TEMP_INT
           BLK    :=#TESTARRAY
     
    //*** TESTUDT ist IN-Parameter
          U     #TESTUDT.Bit_0
          =     A      0.0
          L     0
          T     #TEMP_BYTE
          CALL  SFC   21
           BVAL   :=#TEMP_BYTE
           RET_VAL:=#TEMP_INT
           BLK    :=#TESTUDT
    Wahrscheinlich ist es aber ohnehin besser, du baust dein Programm vollkommen neu auf.


    Gruß, Onkel
    Das wäre aber doch etwas viel Aufwand für ein "bischen Symbolik" oder ?

Ähnliche Themen

  1. Multiinstanz in SCL
    Von godi im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 08.03.2015, 19:59
  2. TIA V11 SCL TON Multiinstanz
    Von MrEASY im Forum Simatic
    Antworten: 14
    Letzter Beitrag: 04.03.2013, 15:17
  3. Multiinstanz
    Von focus81 im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 25.05.2010, 14:27
  4. Multiinstanz
    Von bluebird277 im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 11.10.2008, 12:00
  5. Multiinstanz
    Von godi im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 01.05.2006, 20:31

Lesezeichen

Berechtigungen

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