-> Hier kostenlos registrieren
Hallo zusammen,
Nachdem ich erfolgreich meine S5 zum Laufen bekommen habe, hänge ich an der Kommunikation mit der S7
Verbindung:
Auf der CP524 hab ich ein TTY-Modul Stecken und benutze zur S7 folgendes Kabel:
Screenshot: Kabelbelegung
Entnommen habe ich die Belegung aus dem CP341 Handbuch.
S5 Konfig:
Auf der S5 Seite habe ich aufs EPROM des CP524 die ".525" Datei gebrannt. Eingestellt ist RK mit Prozedur 3964R.
Screenshot: Step5 Einstellungen
Außerdem ist ein SEND Auftrag auf die Auftragsnummer 1 programmiert.
Die DIP Schalter für die Koppelmerker sind alle auf TRUE und die DIP Schalter für die Schnittstellennummer sind alle auf FALSE.
In meinem Programm habe ich meine SEND und RECEIVE Bausteine wie folgt beschaltet:
	
	
	
		
S7 Konfig:
Im Step7 habe ich ähnliche Einstellungen vorgenommen:
Screenshot: Step7 Einstellungen
Verwendet habe ich das Beispielprogramm, welches auf der CD mitgeliefert wurde, um die Kommunikation zu testen:
	
	
	
		
Fehlerbeschreibung:
Auf der S5 ist die CPU erfolgreich auf RUN und der die Fehler LEDs des CP524 IF1 und IF2 leuchten nicht.
Der CP341 der S7 meldet auch keine Fehler.
So wie das Programm im Step7 ist, blinken die RxD und TxD LED am CP341. Ich kann auch im Step7 Daten im DB ändern und die werden im Step5 gleich richtig übernommen. Aber andersrum funktioniert das leider nicht. Ich empfange im Step7 nur "0". Status/Zustand ist aber OK und habe auch keine Fehlermeldung. Hab mal um das Empfangen aus der S5 zu testen das Senden im Step7 auskommentiert, dann leuchten die RxD und TxD LEDs auch nicht mehr
Hoff jemand hat eine Idee wie ich von der S5 Senden und in der S7 empfangen kann
	
		
			
		
		
	
				
			Nachdem ich erfolgreich meine S5 zum Laufen bekommen habe, hänge ich an der Kommunikation mit der S7
Verbindung:
Auf der CP524 hab ich ein TTY-Modul Stecken und benutze zur S7 folgendes Kabel:
Screenshot: Kabelbelegung
Entnommen habe ich die Belegung aus dem CP341 Handbuch.
S5 Konfig:
Auf der S5 Seite habe ich aufs EPROM des CP524 die ".525" Datei gebrannt. Eingestellt ist RK mit Prozedur 3964R.
Screenshot: Step5 Einstellungen
Außerdem ist ein SEND Auftrag auf die Auftragsnummer 1 programmiert.
Die DIP Schalter für die Koppelmerker sind alle auf TRUE und die DIP Schalter für die Schnittstellennummer sind alle auf FALSE.
In meinem Programm habe ich meine SEND und RECEIVE Bausteine wie folgt beschaltet:
		Code:
	
	Netzwerk 4
    :SPA FB 244
NAME: SEND
SSNR:  KY 0,0
A-NR:  KY 0,1
ANZW:  MW200
QTYP:  KC DB
DBNR:  KY 0,203
QANF:  KF +1
QLAE:  KF +10
PAFE:  MB 200
    : ***
	S7 Konfig:
Im Step7 habe ich ähnliche Einstellungen vorgenommen:
Screenshot: Step7 Einstellungen
Verwendet habe ich das Beispielprogramm, welches auf der CD mitgeliefert wurde, um die Kommunikation zu testen:
		Code:
	
	Netzwerk 1: Empfangen
EMPFANGEN:
      L     256                         //LADDR
      T     "SEND WORK DB".P_SND_RK_WORK_LADDR
 
      L     204                         //DB_NO
      T     "SEND WORK DB".P_SND_RK_WORK_DB_NO
 
      L     0                           //DBB_NO
      T     "SEND WORK DB".P_SND_RK_WORK_DBB_NO
 
      L     56
      T     "SEND WORK DB".P_SND_RK_WORK_LEN    //LEN
 
// ------------------------
// SEND with Instance-DB
// ------------------------
 
      CALL  "P_SND_RK" , "SEND IDB"
       SF      :='S'
       REQ     :="SEND WORK DB".P_SND_RK_REQ
       R       :="SEND WORK DB".P_SND_RK_R
       LADDR   :="SEND WORK DB".P_SND_RK_WORK_LADDR
       DB_NO   :="SEND WORK DB".P_SND_RK_WORK_DB_NO
       DBB_NO  :="SEND WORK DB".P_SND_RK_WORK_DBB_NO
       LEN     :="SEND WORK DB".P_SND_RK_WORK_LEN
       R_CPU_NO:=1
       R_TYP   :='D'
       R_NO    :=204
       R_OFFSET:=0
       R_CF_BYT:=255
       R_CF_BIT:=
       DONE    :="SEND WORK DB".P_SND_RK_DONE
       ERROR   :="SEND WORK DB".P_SND_RK_ERROR
       STATUS  :="SEND WORK DB".P_SND_RK_WORK_STATUS
 
// ------------------------
// Generate edge P_SND_RK_REQ
// ------------------------
      UN    "SEND WORK DB".P_SND_RK_REQ //P_SND_RK_REQ
      S     "SEND WORK DB".P_SND_RK_REQ //set P_SND_RK_REQ
 
      O     "SEND WORK DB".P_SND_RK_DONE    //P_SND_RK_DONE
      O     "SEND WORK DB".P_SND_RK_ERROR    //P_SND_RK_ERROR
      R     "SEND WORK DB".P_SND_RK_REQ //P_SND_RK_REQ
 
 
// -------------------------------
// Check "Complete without error"
// -------------------------------
      UN    "SEND WORK DB".P_SND_RK_DONE    //check P_SND_RK_DONE
      SPB   CHER                        //if P_SND_RK_DONE equals 0, jump to CHER
//and check P_SND_RK_ERROR
 
// -------------------------------
// "Complete without error"
//  P_SND_RK_DONE = 1
// -------------------------------
      L     "SEND WORK DB".P_SND_RK_COUNTER_OK    //"Complete without Error"
      +     1                           //increment counter
      T     "SEND WORK DB".P_SND_RK_COUNTER_OK
 
 
      NOP   0
      NOP   0                           //further user functions
      NOP   0
 
      BE    
 
// -------------------------------
// Check "Complete with error"
// P_SND_RK_ERROR = 1
// -------------------------------
CHER: UN    "SEND WORK DB".P_SND_RK_ERROR    //check P_SND_RK_ERROR
      BEB                               //if no error occured, jump to end
 
// -------------------------------
// "Complete with error"
// -------------------------------
      L     "SEND WORK DB".P_SND_RK_COUNTER_ERR    //"Complete with error"
      +     1                           //increment counter
      T     "SEND WORK DB".P_SND_RK_COUNTER_ERR
 
      L     "SEND WORK DB".P_SND_RK_WORK_STATUS
      T     "SEND WORK DB".P_SND_RK_WORK_STATUS_SAV    //save STATUS
 
      NOP   0
      NOP   0                           //Error-Handling
      NOP   0
 
      BE    
 
 
 
Netzwerk 2: Senden
 
SENDEN: 
      L     256                         //LADDR
      T     "RCV WORK DB".P_RCV_RK_WORK_LADDR
 
      L     203                         //DB_NO
      T     "RCV WORK DB".P_RCV_RK_WORK_DB_NO
 
      L     0                           //DBB_NO
      T     "RCV WORK DB".P_RCV_RK_WORK_DBB_NO
 
// ------------------------
// Enable Receive Data
// ------------------------
      SET   
      =     "RCV WORK DB".P_RCV_RK_EN_R //P_RCV_RK with P_RCV_RK_EN_R=TRUE
 
// ------------------------
// P_RCV_RK with Instance-DB
// ------------------------
      CALL  "P_RCV_RK" , "RECV IDB"
       EN_R    :="RCV WORK DB".P_RCV_RK_EN_R
       R       :=
       LADDR   :="RCV WORK DB".P_RCV_RK_WORK_LADDR
       DB_NO   :="RCV WORK DB".P_RCV_RK_WORK_DB_NO
       DBB_NO  :="RCV WORK DB".P_RCV_RK_WORK_DBB_NO
       L_TYP   :=MB550
       L_NO    :=MW552
       L_OFFSET:=MW554
       L_CF_BYT:=MW556
       L_CF_BIT:=MW558
       NDR     :="RCV WORK DB".P_RCV_RK_NDR
       ERROR   :="RCV WORK DB".P_RCV_RK_ERROR
       LEN     :="RCV WORK DB".P_RCV_RK_WORK_LEN
       STATUS  :="RCV WORK DB".P_RCV_RK_WORK_STATUS
 
// -------------------------------
// Check P_RCV_RK_NDR (Receive without error)
// -------------------------------
      UN    "RCV WORK DB".P_RCV_RK_NDR  //check P_RCV_RK_NDR
      SPB   CHER                        //if P_RCV_RK_NDR equals FALSE, jump to CHER
//and check P_RCV_RK_ERROR
 
// -------------------------------
//  P_RCV_RK_NDR = 1 (Receive without error)
// -------------------------------
      L     "RCV WORK DB".P_RCV_RK_WORK_CNT_OK    //"Receive without error"
      +     1                           //increment counter
      T     "RCV WORK DB".P_RCV_RK_WORK_CNT_OK
 
      L     "RCV WORK DB".P_RCV_RK_WORK_LEN    //save RECEIVE-Length
      T     "RCV WORK DB".P_RCV_RK_WORK_SAVE_LEN
 
      BE    
 
// -------------------------------
// Check "Receive with error"
// -------------------------------
CHER: UN    "RCV WORK DB".P_RCV_RK_ERROR    //check P_RCV_RK_ERROR
      BEB                               //if no error occured, jump to end
 
// -------------------------------
// "Receive with error"
// -------------------------------
      L     "RCV WORK DB".P_RCV_RK_WORK_CNT_ERR    //Error
      +     1                           //increment counter
      T     "RCV WORK DB".P_RCV_RK_WORK_CNT_ERR
 
 
// ----------------------------
// Save "P_RCV_RK_STATUS"
// ---------------------------- 
      L     "RCV WORK DB".P_RCV_RK_WORK_STATUS
      T     "RCV WORK DB".P_RCV_RK_WORK_STATUS_SAV    //save P_RCV_RK_STATUS
      BE
	Fehlerbeschreibung:
Auf der S5 ist die CPU erfolgreich auf RUN und der die Fehler LEDs des CP524 IF1 und IF2 leuchten nicht.
Der CP341 der S7 meldet auch keine Fehler.
So wie das Programm im Step7 ist, blinken die RxD und TxD LED am CP341. Ich kann auch im Step7 Daten im DB ändern und die werden im Step5 gleich richtig übernommen. Aber andersrum funktioniert das leider nicht. Ich empfange im Step7 nur "0". Status/Zustand ist aber OK und habe auch keine Fehlermeldung. Hab mal um das Empfangen aus der S5 zu testen das Senden im Step7 auskommentiert, dann leuchten die RxD und TxD LEDs auch nicht mehr
Hoff jemand hat eine Idee wie ich von der S5 Senden und in der S7 empfangen kann