Sensor per Etheret an CPU 316 2 DP

Björn

Level-1
Beiträge
33
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Na Prima, gleich im Titel vertippt :(
Ethernet soll es heissen:)


Hallo,
ich möchte einen Sensor(LMS100) per Ethernet mit der CPU 316 2 DP/CP 343-1 TCP verbinden.
Wie gehe ich da Grundsätzlich vor ?
Als was muss ich den Sensor definiern damit er von der S7 erkannt wird.
Definiere ich den Sensor als Andere Station?
Kann ich mit PLCSIM die CPU und 343-1 TCP simuliern und den Sensor über Ethernet am PC anschliesen ?Erkennt PLCSIM den Sensor dann ?
picture.php


Die 2te Frage ist wenn die Verbindung steht wie gehe ich mit den gesendeten Daten um

Ich bekomme als Antwort auf Daten Senden so etwas geschickt.
SN LMDscandata 1 1 8DE842 0 0 E438 E8B7 34905 35347 0 0 5 0 0 1388 168 0 4 DIST1 3F800000 00000000 FFF92230 1388 21D 64D 639 628 613 608 5F9 5EB 5E7 5E6 5C8 5C9 5BD 5B1 59F 59D 58D 58A 582 576 56D 572 55C 55B 54C 545 53E 53A 53C 536 52D 524 51E 51F 50B 509 502 508 508 4F7 4E9 4EF 4E6 4DF 4E0 4DB 4DA 4E3 4E6 4EE 4D0 4D8 4DA 4D5 4CF 4CC 4CF 4CD 4C7 4CC 4B4 4BB 4BB 4BE 4B2 4B0 4B8 4B7 4AF 499 4A8 4AE 499 49C 49A 4A5 4A0 497 48F 490 485 48E 486 488 487 494 48A ..........491

Sind ca 1200 dieser Hexzahlen. Die würde ich gerne in eine DB als Benutzerdefinierts Struct (UDT) speichern.

MESSWERTE: STRUCT
Status : INT ;
Ausgang1 :Byte ;
Ausgang2 :BYTE ;
Vermutzung :Byte ;
Distance : Array [1..1052] of ???? ;
END_STRUCT;
END_TYPE

Ich bekomme ja nur die Hexzahlen wie muss ich die in die DB schreiben damit die auch gelesen werden können.

// Messwerte mit Distance
STRUCT
Distance: ARRAY [1..8] OF Byte ;

END_STRUCT
BEGIN
Distance [ 1 ] := 1c6 ;
Distance [ 2 ] := 1c7 ;
Distance [ 3 ] := 2c6 ;
Distance [ 4 ] := 68d ;
Distance [ 5 ] := ff1 ;
Distance [ 6 ] := ff3 ;
Distance [ 7 ] := ed1 ;
Distance [ 8 ] := c34 ;
END_DATA_BLOCK

Habe Testweise mal Hexzaheln in eine DB geschrieben aber es sollte doch eher so aussehn

DATA_BLOCK Messwerte
//
// Messwerte mit X Kordinaten//
STRUCT
X : ARRAY [1..8] OF Word ;

END_STRUCT
BEGIN
X [ 1 ] := W#16#1c6 ;
X [ 2 ] := W#16#1c7 ;
X [ 3 ] := W#16#2c6 ;
X [ 4 ] := W#16#68d ;
X [ 5 ] := W#16#ff1 ;
X [ 6 ] := W#16#ff3 ;
X [ 7 ] := W#16#ed1 ;
X [ 8 ] := W#16#c34 ;
END_DATA_BLOCK

Muss ich mir da ne Funktion bastelen die mir 1C6 in W#16#1c6 umwandelt?

Fragen über Fragen.Sorry das das alles so viel ist aber da ich noch so gar keinen Ansatz habe wie ich Vorgehe sind es einfach nur viele Fragen.
 
Zuletzt bearbeitet:
Ethernet..

Hi,

na, schöne Aufgabe aber auch.
1. Sensor Anbinden: müsste gehen, indem man eine unspezifische TCP Verbindung im NetPro einrichtet(Partner ist die IP des Sensors), und dann mittels AG_SEND bzw. AG_RECIEVE Daten transferiert. Genauere Anleitung habe ich nicht, nie sowas gemacht.

zu 2.: wenn du erst die Telegramme des Sensor in der SPS hast, in einem Empfangs DB als String, dann kann man die auseinanderpflücken und in Zahlen umwandeln, so automatisch geht das nicht.
Aber das ist eher das kleinere Problem, meine ich..:rolleyes: (siehe 1..)


Gruss: V.
 
Hallo,
ohne den Sensor zu kennen würde ich sagen du musst eine TCP/IP Verbindung aufbauen und dann entsprechend Send/Receive aufrufen.
Verbindung aufbauen: FB65 (TCON)
Verbindung abbauen: FB66 (TDISCON)
Senden: FB63 (TSEND)
Empfangen: FB64 (TRCV)

Was die Daten aussagen, kann man leider daraus nicht sagen. Die Doku wird da genaueres dazu sagen. Möglicherweise stehen die Hex-Werte ja für irgendwelche Messwerte (z.B. 4Hex-Wert = 1 Real??)
Wie gesagt, schwer zu sagen ohne das Gerät zu kennen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja die Hex-Werte sind nach Dist1 Skalierungsfaktor bzw Messwerte.
Ok das GSD nur für Profibus ist war mir nicht klar :(
Gibt es den so etwas auch für Ethernet ? Wie würde das Format heissen?
Soweit
 
Ja die Hex-Werte sind nach Dist1 Skalierungsfaktor bzw Messwerte.
Ok das GSD nur für Profibus ist war mir nicht klar :(
Gibt es den so etwas auch für Ethernet ? Wie würde das Format heissen?

Soweit ich weiss muss die Bytelänge beim übertragen bekannt sein.
Das heisst bei Senden/Empfangen muss ich wissen wieviel Bytes ich geschickt bekomme.Hatte den Sensor bis jetzt nur an einem Terminalprogramm (Hyperterminal mit CoLa-Protokoll von SICK)und habe fast nur 3stellige Hexwerte bekommen. Gehe aber davon aus das einfach die die Null weggelassen worden ist.
DIST1 3F800000 00000000 FFF92230 1388 021D 064D 0639 0628 denke das sieht dann so aus.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Habe jetzt mal versucht mit dem Open Communication Wizard eine verbindung herzustellen.Jetzt habe ich in der beschreibung gelesen das ich dafür Firmwarestand V2.5 bei einer CPU316 2DP brauche.
Bei mir ist der Firmwarestand 1.0.Muss ich da jetzt neue Firmeware drauf packen ?
 
Vielen dank schon mal für die Hilfe,

In der Doku von der OCWizard steht auf Seite 17
Hier können Sie auswählen, welche Verbindung Sie parametrieren möchten. Diese Maske wird nur bei der Funktion „New / Neu" angezeigt. Änderung des Verbindungstypen bewirkt, dass Werte zurück gesetzt werden und die Dialogmasken unterschiedlich dargestellt werden. Offene Kommunikation über „ISO-on-TCP" und „UDP" wird bei den S7-300 CPUs erst ab der Firmware V2.4 unterstützt .

Was ich nicht ganz verstehe ist das auf der Siemensseite http://support.automation.siemens.c...tandard&viewreg=WW&objid=33516848&treeLang=de
steht das der Aktuelle Softwarestand für die 316-2AG00-0AB0 V1.2.0 ist.
Wie soll ich da auf 2.4 bzw 2.5 Updaten. Reicht vielleicht mein Firmware stand doch aus oder ist die CPU316 garnicht in der Lage die UDP Funktionen zu nutzen.

Habe eben mal versucht die Beispiele mit den UDP Funktionen auf die CPU zu laden.Bei den FB 65 bis 68 nicht übertragen werden können.
(D280) Fehler bei der Übersetzung eines Bausteins in
S7-300 CPU.

Ist die Firmware ok und mache ich beim übertragen etwas falsch oder muss ich ein Firmwareupdate machen ???

Besorge ich mir dann am besten die Flashkarte mit der Aktuellen Firmware drauf oder kann man die einfach so mit nem normalen USB Kartenleser überschreiben ?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Bin mit jetzt nicht 100pro sicher, aber bei der 343-1 wird die Verbindung über NetPro angelegt und mit den Bausteinen AGSEND, AGRECV bzw. den Long Derivaten...


Bei den PN/DP Cpus über den Wizard, bzw. mit den schon genannten Bausteinen TCON, und senden empfangen mit TSEND TRECV.

Hab bis jetzt noch keine PN/DP in den Fingern gehabt, kenn nur die klassische Variante über Netpro.

Wenn mein geschreibsel stimmt :confused: dürfte sich dein FW Update erledigt haben und du musst deine Daten mit AGSEND und AGRECV anfordern und abholen.

Google mal nach einer Ascii Liste ( mit Dez, Hex Werten), dann wird dir beim Empfang der Daten schon noch ein Lichtlein aufgehen ;)
 
Zurück
Oben