CP340 Kommunikation ASCII

Black Scorpion

Level-1
Beiträge
82
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Servus Leute,

ich habe ein Problem. Ich arbeite leider nur hier und da mit einer S7. Mein Wissen darüber ist deshalb auch sehr begrenzt.

Ich hab die Aufgabe eine S7 313-2 DP mit einer CP340 zu koppeln und darüber dann ASCII Zeichen zu schicken. Und die Gegenstelle gibt mir dann eine Antwort. Diese muss ich dann auch noch einlesen.

Hört sich nicht schwer an, denk ich. Und ich denke das es auch schnell umzusetzen ist. Jetzt meine Frage: "ABER WIE UM GOTTES WILLEN????":confused:

Ich hab in den mitgelieferten Unterlagen nachgeschaut, aber ich bin nicht daraus schlau geworden.

Gibt es irgendwie ein gutes Tutorial wie man das macht oder irgendwas in der Art????

Ich wünsch euch allen nen schönen Abend und würde mich über eine Antwort sehr freuen.
 
Also, das Optionspaket, welches zur CP gehört hast du? Darin sind auch Beispiele und ganz wichtig, die nötigen FB.
Im Prinzip ist es ganz einfach, du hast einen Baustein zum Senden und einen zum Empfangen von Daten. Der Teufel stecket ja wie immer im Detail, aber diese Detail gibts zur Zeit ja noch nicht.
Zuerst solltest du die Forensuche bemühen. Da ist zu dem Thema eine ganze Menge enthalten gib mal oben unter "Suchen" "CP340" ein. Da sind teilweise auch Code-Schnipsel zu finden. Dann probiest du mal ein wenig mit der SPS und der CP340. Alle weiteren, möglichst konkreten Fragen stellst du dann hier.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Einen wunderschönen guten Abend Ralle,

vielen Dank für die Info. Konkrete Info. Es handelt sich jetzt hier um eine Befehlsstruktur. Ich möchte gerne einen Befehl senden, z. B. ein X mit einem "Cariage Return" hinten dran. Darauf kommt dann die Antwort z.B. X 1000 mit einem CR hinten dran. Oder auch Gruppenbefehle wie z. B. "X,A,B" worauf ich dann auf die Antwort warten möchte.

Per PC wüsste ich wie ich die Software zu schreiben hätte unter C++, aber leider lässt sich das ja nicht so einfach übertragen.
 
Hallo Ralle,

sorry, musste aber kurzfristig von der Firma aus auf Montage. Daher komme ich jetzt erst wieder richtig dazu.

Jo, ich denke soweit hab ich es verstanden und auch wieder nicht. Frage, wie kann ich ganz einfach einen ASCII-Zeichen versenden? Ich bekomme da keinen Reim drauf, hab zuviel PC im Kopf.....

Wäre super wenn du mir da ne weitere kleine Stütze geben könntest....

Gruß

Michael
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also ganz von vorne. Ich hab den FB3 erstellt, der dann einen DB3 erstellt. Soweit so gut. Wie kann ich denn nun senden? ich will das jetzt mal schrittweise machen damit ich das PC-Futzi das auch hin bekomme.....:confused:
 
An den FB schreibst Du
Code:
      CALL  "P_SEND" , DB3
       REQ   :=m10.0
       R     :=m10.1
       LADDR :=256 // Adresse der Baugruppe z.B 256
       DB_NO :=42      // Datenbaustein wo der Text steht
       DBB_NO:=0       // Ab welchem Byte soll gedruckt werden
       LEN   :=7        // z.B. 7 zeichen Drucken (incl Steuerzeichen)
       DONE  :=m10.2
       ERROR :=M10.3
       STATUS:=MW12

Im DB legst Du z.B ein Array of Char an, oder einzelne Byte
Da trägst Du deinen Text ein
Code:
DATA_BLOCK DB 42
TITLE =
VERSION : 0.1
 
  STRUCT  
   Text1 : CHAR  := 'H'; 
   Text2 : CHAR  := 'A'; 
   Text3 : CHAR  := 'L'; 
   Text4 : CHAR  := 'L'; 
   Text5 : CHAR  := 'O'; 
   Ende_CR : BYTE  := B#16#D; 
   Ende_LF : BYTE  := B#16#A; 
  END_STRUCT ; 
BEGIN
   Text1 := 'H'; 
   Text2 := 'A'; 
   Text3 := 'L'; 
   Text4 := 'L'; 
   Text5 := 'O'; 
   Ende_CR := B#16#D; 
   Ende_LF := B#16#A; 
END_DATA_BLOCK

Nun setzt Du den Merker 10.0 auf 1, und er druckt ein Hallo
 
Ja servus,

ui, ja super Hilfe, danke dir Jabba. DAs werd ich direkt mal umsetzen. Ich glaub ich weiß auch wo mein Denkfehler schon liegt. Muss jetzt mal gucken. Vielen herzlichen Dank..

Gebe brav Rückmeldung....
 
Tach zusammen,
also ich bin immer weiter am tüfteln, habs an ein Gerät gehangen womit es kommunizieren sollte, und... es hat nicht funktioniert :confused:. Danke ich geb mir die Antwort selbst.....copy and paste ist nur mit Vorsicht zu genießen.... man sollte es auch richtig machen....*ROFL*

Ich wollte mich nochmals bei allen bedanken. Das was ihr hier in ein paar Zeilen gepostet habt ist besser als das was Siemens auf 300 Seiten auf Papier bringt. Danke euch allen.

Wünsche ein schönes Wochenende.....
 
Du hast ja nach dem Aufruf des FB3 gefragt, nicht was noch notwendig ist.

Um mit einem Partner zu kommunizieren muss die Schnittstelle eindeutig festgelegt werden.
Weiterhin ist zu beachten , das auf der S7 nun ein Receive-Baustein benötigt wird.
Diesen FB schaltet man immer auf Empfang, nur beim senden wird dieser deaktiviert.
Wenn Daten angekommen sind, geht das Signal NDR auf 1, aber nur für einen Zyklus, man muss also sofort reagieren.
Wer ist denn die Gegenseite zur S7-300, simulieren kann man das gut mit z.B. Hyperterminal.
 
Zurück
Oben