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

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

Thema: Datenaustausch zwischen zwei Steuerungen

  1. #1
    Registriert seit
    25.10.2010
    Beiträge
    239
    Danke
    107
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    würde gerne zwischen zwei Steuerungen eine Kommunikation aufbaufen, alles per Profinet über ein PN/PN Koppler.

    habe eine 319 PN
    2 x 100 byte wurde in der hardwareconfig projektiert.
    In OB1

    NW1
    Code:
    CALL "DPRD_DAT"
    LADDR :=W#16#00
    RET_VAL:=#_ret_val
    RECORD :=P#DB1.DBX0.0 100 Byte
    NOP 0
    NW2
    Code:
    FB1 mit IDB 1
    
    NW3
    Code:
    CALL "DPWR_DAT"
    LADDR :=W#16#00
    RECORD :=P#DB1.DBX100.0 100 Byte 
    RET_VAL:=#_ret_val
    NOP 0
    NW4
    Code:
    CALL "DPRD_DAT"
    LADDR :=W#16#50
    RET_VAL:=#_ret_val
    RECORD :=P#DB1.DBX0.0 100 Byte
    NOP 0
    NW5
    Code:
    FB1 mit IDB 2
    
    NW6
    Code:
    CALL "DPWR_DAT"
    LADDR :=W#16#50
    RECORD :=P#DB1.DBX100.0 100 Byte
    RET_VAL:=#_ret_val
    NOP 0
    und eine 414 PN
    2 x 100 byte wurde in der hardwareconfig projektiert.
    In OB1
    NW1
    Code:
    CALL "DPWR_DAT"
    LADDR :=W#16#00
    RET_VAL:=#_ret_val
    RECORD :=P#DB1.DBX100.0 100 Byte
    NOP 0
    NW2
    Code:
    FB1 mit IDB 1
    
    NW3
    Code:
    CALL "DPRD_DAT"
    LADDR :=W#16#00
    RECORD :=P#DB1.DBX0.0 100 Byte
    RET_VAL:=#_ret_val
    NOP 0
    NW4

    Code:
    CALL "DPWR_DAT"
    LADDR :=W#16#50
    RET_VAL:=#_ret_val
    RECORD :=P#DB1.DBX100.0 100 Byte
    
    NOP 0
    NW5
    Code:
    FB1 mit IDB 2
    
    NW6
    Code:
    CALL "DPRD_DAT"
    LADDR :=W#16#50
    RECORD :=P#DB1.DBX0.0 100 Byte
    RET_VAL:=#_ret_val
    NOP 0
    Will den den FB also zwei mal übertragen, funktioniert halt nur nicht. . einmal von 0..99 byte( und das andere mal von 100..199 byte( ab 50 Word)
    FC11 und FC12 sind nur für 300er ?!

    Tipp ?

    anbei bild, beide PN Koppler sind so projektiert:
    Geändert von Limette (13.02.2012 um 16:18 Uhr)
    Zitieren Zitieren Datenaustausch zwischen zwei Steuerungen  

  2. #2
    Registriert seit
    11.09.2007
    Ort
    Suedwestpfalz
    Beiträge
    917
    Danke
    81
    Erhielt 209 Danke für 192 Beiträge

    Standard

    Ich denke mal an RECORD muss noch ein ANY Pointer der genauso Breit ist wie die projektierten E/A-Bereiche.
    Das Grauen lauert in der Zwischenablage !!

  3. #3
    Limette ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    25.10.2010
    Beiträge
    239
    Danke
    107
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Zitat Zitat von dtsclipper Beitrag anzeigen
    Ich denke mal an RECORD muss noch ein ANY Pointer der genauso Breit ist wie die projektierten E/A-Bereiche.
    hab ich, hab ich. habs nur nicht hingeschrieben.
    pro Steuerung
    Code:
     P#DB1.DBX0.0 100 Byte und P#DB1.DBX100.0 100 Byte
    habs mal noch in Beitrag 1 editiert.
    Geändert von Limette (13.02.2012 um 16:19 Uhr)

  4. #4
    Registriert seit
    11.09.2007
    Ort
    Suedwestpfalz
    Beiträge
    917
    Danke
    81
    Erhielt 209 Danke für 192 Beiträge

    Standard

    Für den zweiten Block ( E/A_Bereich ab 100 ) müstte es doch W#16#64 heißen - denn W#16#50 wäre Byte 80...

    Oder irre ich mich?
    Das Grauen lauert in der Zwischenablage !!

  5. #5
    Registriert seit
    11.09.2007
    Ort
    Suedwestpfalz
    Beiträge
    917
    Danke
    81
    Erhielt 209 Danke für 192 Beiträge

    Standard

    Ach ja, deine Schreib-/ Lesepointer sind im Instanz-DB wenn der DB1 der IDB des FB1 ist...

    Ist der dann auch groß genug?
    Das Grauen lauert in der Zwischenablage !!

  6. #6
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.223
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Was steht in _ret_val als Fehlermeldung. Es wäre aber gut, jedem SFC einen eigenen ret_val_x zu spendieren, damit man auch sicher die richtige Fehlerinformation hat und nicht ein vorheriger Baustein die Fehlerinfo des vorhergehenden überschreibt.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  7. #7
    Limette ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    25.10.2010
    Beiträge
    239
    Danke
    107
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Zitat Zitat von dtsclipper Beitrag anzeigen
    Für den zweiten Block ( E/A_Bereich ab 100 ) müstte es doch W#16#64 heißen - denn W#16#50 wäre Byte 80...

    Oder irre ich mich?

    ich denke nicht. sind ja hex. kanns jetzt leider grad nicht mehr probieren obs allein daran liegt.

  8. #8
    Limette ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    25.10.2010
    Beiträge
    239
    Danke
    107
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Zitat Zitat von Ralle Beitrag anzeigen
    Was steht in _ret_val als Fehlermeldung. Es wäre aber gut, jedem SFC einen eigenen ret_val_x zu spendieren, damit man auch sicher die richtige Fehlerinformation hat und nicht ein vorheriger Baustein die Fehlerinfo des vorhergehenden überschreibt.
    ok. könnte ich noch machen.
    irgendwas mit -32xxx, weiß nicht mehr genau.

  9. #9
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.733
    Danke
    317
    Erhielt 1.522 Danke für 1.283 Beiträge

    Standard

    Zitat Zitat von Limette Beitrag anzeigen

    ich denke nicht. sind ja hex. kanns jetzt leider grad nicht mehr probieren obs allein daran liegt.
    Da denkst du definitiv Falsch!

    Start ist Byte 100, und somit Hex 64.

    ok. könnte ich noch machen.
    irgendwas mit -32xxx, weiß nicht mehr genau.
    Das mit -32 ... war von Haus aus klar, sonst würds ja funktionieren, aber der Rest wäre äußerst entscheidend ...
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

  10. #10
    Limette ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    25.10.2010
    Beiträge
    239
    Danke
    107
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von MSB Beitrag anzeigen
    Da denkst du definitiv Falsch!

    Start ist Byte 100, und somit Hex 64.
    Ich meinte damit, dass ich falsch liege und dtsclipper richtig.

    Zitat Zitat von MSB Beitrag anzeigen
    Das mit -32 ... war von Haus aus klar, sonst würds ja funktionieren, aber der Rest wäre äußerst entscheidend ...
    Das ist jetzt natürlich blöd. kann leider erst morgen wieder genaueres liefern.

Ähnliche Themen

  1. MP177B PN an zwei unterschiedlichen Steuerungen
    Von UweRistl im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 20.11.2011, 14:33
  2. Antworten: 1
    Letzter Beitrag: 08.04.2009, 02:40
  3. datenaustausch zwischen 2 Controller
    Von Tiger30 im Forum CODESYS und IEC61131
    Antworten: 4
    Letzter Beitrag: 26.03.2009, 10:34
  4. Sensor an zwei Steuerungen
    Von Hansruedi im Forum Elektronik
    Antworten: 5
    Letzter Beitrag: 07.10.2005, 11:29
  5. Datenaustausch S7-300 Steuerungen
    Von b_lisa im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 15.09.2005, 13:57

Lesezeichen

Berechtigungen

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