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

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

Thema: Profibusadressierung

  1. #1
    Registriert seit
    02.12.2008
    Beiträge
    13
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    bin gerade dabei eine Maschine in TwinCat zu programmieren. Stehe jetzt vor dem Problem, dass ich nicht weiß wie ich ein Pnozmulti über Profibus DP in mein Programm einbinden kann. Brauche ja irgendwie Adressen von dem Pnoz. Weiß aber nicht woher ich die bekommen kann. Hoffe das mir jemand helfen kann

    Gruß
    Zitieren Zitieren Profibusadressierung  

  2. #2
    Registriert seit
    14.08.2004
    Beiträge
    824
    Danke
    45
    Erhielt 73 Danke für 66 Beiträge

    Standard

    Du kannst im System Manager alle Profibus-Geräte erscannen, so ganz automatisch.

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

    Schreininski (02.12.2008)

  4. #3
    Schreininski ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    02.12.2008
    Beiträge
    13
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke habe das jetzt auch gefunden stellt sich mir das nächste Problem! Gibt es bei Twincat einen Baustein der mir ein Byte in acht Bits umwandelt oder muss ich mir sowas selber machen? Wenn ja wie?

    gruß

  5. #4
    Registriert seit
    28.03.2008
    Beiträge
    142
    Danke
    19
    Erhielt 25 Danke für 25 Beiträge

    Standard

    Wie wäre es mit dem Bitoperator?

    myByte.0 := TRUE; (* Setzt das erste Bit auf 1 *)


    IF myByte.4 THEN
    ; (* Machwas wenn das fünfte Bit true ist *)
    END_IF

    PS: Meineswissensnach kannst Du aber in TwinCAT auch ein Byte und die einzelnen Bits für ein und den selben Bereich anlegen.
    myByte AT %IB7 : BYTE;
    myBit0 AT %IX7.0 : BOOL;
    myBit1 AT %IX7.1 : BOOL;
    usw....
    Geändert von BoxHead (02.12.2008 um 15:29 Uhr)

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

    Schreininski (02.12.2008)

  7. #5
    Schreininski ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    02.12.2008
    Beiträge
    13
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ja denke so könnte das was werden. Hat mir sehr weiter geholfen. Ist manchmal doch einfacher wie man denkt..

  8. #6
    Schreininski ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    02.12.2008
    Beiträge
    13
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ich war wohl ein bisschen zu voreilig. Habe ein ARRAY [0..7] of BOOL setze das erste ARRAY[0] auf ein BYTE. Jetzt will ich das BYTE umwandeln in acht Bits. Problem ich kann ja dem Array kein Byte, was schon mit z.B. AT%IB 7 zugewiesen ist, zuweisen. Wie mach ich das jetzt?

    gruß

  9. #7
    Registriert seit
    28.03.2008
    Beiträge
    142
    Danke
    19
    Erhielt 25 Danke für 25 Beiträge

    Standard

    Ich dachte das hätte was mit dem Profibus zu tun und Du bekämst nur ein Byte rüber willst aber die einzelnen Bits abfragen.

    Aber das mit dem Array ist was ganz anderes. Wenn Du eine normale Bool Variable (die nicht einer physikalischen Adresse zugeordnet ist) definierst nimmt diese min. 1 Byte in Anspruch.

    Also ist Dein ARRAY [0..7] of BOOL acht Byte groß.

    Was willst Du denn überhaupt machen? Erklär mal bitte auf was Du wie zugreifen möchtest.

  10. #8
    Schreininski ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    02.12.2008
    Beiträge
    13
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Habe auf einem PNOZmulti verschiedene Eingänge die sollen auf ein Control Panel per Profibus gehen und dort in das TwinCat Programm eingebunden werden! Die Verbindung habe ich jetzt mal simuliert, weil ich das Programm noch nicht testen kann, da die Maschine noch im Umbau ist, die funktioniert auch soweit. Habe mir jetzt zum test das Eingangswort COM_PNOZMULTI_IN AT %IW100: ARRAY [0..19] OF USINT; angelegt und möchte jetzt dieses in Bits zerlegen, damit ich weiter programmieren kann.

  11. #9
    Registriert seit
    28.03.2008
    Beiträge
    142
    Danke
    19
    Erhielt 25 Danke für 25 Beiträge

    Standard

    Zitat Zitat von Schreininski Beitrag anzeigen
    ...
    Habe mir jetzt zum test das Eingangswort COM_PNOZMULTI_IN AT %IW100: ARRAY [0..19] OF USINT; angelegt und möchte jetzt dieses in Bits zerlegen...
    Ein Array mit 20 USINT ist doch 20 Byte groß, was hat das mit dem Wort zu tun?

    Also Du kannst auf die Bits zugreifen in dem Du im Programm den Bit Operator verwendest.

    COM_PNOZMULTI_IN.0
    ...
    bis
    ...
    COM_PNOZMULTI_IN.15

    ----
    oder in dem Du das Eingangswort als Wort deklarierst und die Bit noch mal extra.

    COM_PNOZMULTI_IN AT %IW100 : WORD;
    COM_PNOZMULTI_Fritz AT %IX100.0 : BOOL;
    COM_PNOZMULTI_Hans AT %IX100.1 : BOOL;
    COM_PNOZMULTI_Paul AT %IX100.2 : BOOL;
    ....
    usw.

  12. #10
    Schreininski ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    02.12.2008
    Beiträge
    13
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Also das klappt auch nicht! Bekomme von meinem PNOZ 20 Byte für den Ausgang und 20 Byte für Eingang!

    Die kann ich dann nur als Array[0..19] weiterverarbeiten und die wiederrum nur als ein merker z.B. Byte_1:BYTE;

    Kann ich denn jetzt nicht irgendwie dieses Byte mit Hilfe eines Bausteines zerlegen, sodass ich mit den einzelnen Bits weiter arbeiten kann?

    Steh glaub ich auf dem Schlauch habe auch schon das ganze Net abgesucht und nichts gefunden!

    Gruß

Lesezeichen

Berechtigungen

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