OMRON 1 Meldungen über Ethernet mit FINS/UDP. OMRON 2 Ethernet - Protokolle ACHTUNG: Ethernet...

Preview:

Citation preview

OMRON

1

Meldungen überEthernet

mit FINS/UDP

OMRON

2

Ethernet - Protokolle

ACHTUNG: Ethernet (V2.0) ist nicht mit dem IEEE802.3 kompatibel !!!.

OMRON

3

Einstellungen mit dem CX-Programmer

Gehen Sie Online, in die E/A-Tabelle, markieren die Ethernet-Baugruppe, Rechte Maustaste, Baugruppenkonfiguration.

OMRON

4

Baugruppenkonfiguration

OMRON

5

Einstellungen im PC

Über Systemsteuerung, Netzwerk / Konfiguration/ TCP/IP, KartenbezeichnungEigenschaften eine feste IP-Adresse einstellen und alles andere deaktivieren.

OMRON

6

Kommunikationstest - Ping

Öffnen Sie ein MS-DOS-Fenster und geben sie:>ping und die zu testende IP-Adresse ein.

OMRON

7

Mit CX-P online zur SPS über Ethernet

• In CX-Programmer: SPS markieren• Rechte Maustaste, Ändern,• Netzwerktyp: Ethernet, dann: Einstellungen

• unter Treiber die IP-Adresse der SPS eingeben.

• In CX-Programmer: SPS markieren• Rechte Maustaste, Ändern,• Netzwerktyp: Ethernet, dann: Einstellungen

• unter Treiber die IP-Adresse der SPS eingeben.

OMRON

8

CX-P über Ethernet ausprobieren

• Programm zur SPS übertragen• Programm online überwachen• Datei von der Speicherkarte übertragen

• Programm zur SPS übertragen• Programm online überwachen• Datei von der Speicherkarte übertragen

OMRON

9

Daten von der SPS an einen anderen FINS-Teilnehmer senden

• Benutzen Sie Kommunikationsport 0 um Daten aus dem DM- Bereich an die andere SPS zu senden.

• A202.00 = Merker Kommunikationsport 0 frei.

• Benutzen Sie Kommunikationsport 0 um Daten aus dem DM- Bereich an die andere SPS zu senden.

• A202.00 = Merker Kommunikationsport 0 frei.

OMRON

10

Theorie der Protokolle• Die verschiedenen

Protokollschichten erzeugen einen großen ‘Overhead’, sodass auch bei wenig Informationen, lange Meldungen übertragen werden.

• Die verschiedenen Protokollschichten erzeugen einen großen ‘Overhead’, sodass auch bei wenig Informationen, lange Meldungen übertragen werden.

OMRON

11

Unterschied zwischen Ethernet V2.0 und IEEE802.3

• Geräte, die das jeweils andere Protokoll benutzen, können nicht miteinander kommunizieren

• Geräte, die das jeweils andere Protokoll benutzen, können nicht miteinander kommunizieren

OMRON

12

Vergleich: TCP oder UDP• UDP fügt nur die Portnummer dem Protokoll zu und gibt sonst die Daten einfach

weiter an die Applikation. Es wird für Kommunikation innerhalb eines Netzes verwendet oder wenn weniger als 1446 Byte übertragen werden.

• TCP ist ein verbindungsorientiertes Protokoll (Verbindungen müssen auf- und abgebaut werden). Es macht eigenständig: Fehlererkennung, Sequenzierung, Priorisierung und Optimierung der übertragenen Teile.

– Mehrere Verbindungen zu einem Rechner können gleichzeitig abgearbeitet werden (Multiplexing)

• TCP ist für weiter verzweigte Netze mit Router oder das Internet.

• UDP fügt nur die Portnummer dem Protokoll zu und gibt sonst die Daten einfach weiter an die Applikation. Es wird für Kommunikation innerhalb eines Netzes verwendet oder wenn weniger als 1446 Byte übertragen werden.

• TCP ist ein verbindungsorientiertes Protokoll (Verbindungen müssen auf- und abgebaut werden). Es macht eigenständig: Fehlererkennung, Sequenzierung, Priorisierung und Optimierung der übertragenen Teile.

– Mehrere Verbindungen zu einem Rechner können gleichzeitig abgearbeitet werden (Multiplexing)

• TCP ist für weiter verzweigte Netze mit Router oder das Internet.

UDPTCP

OMRON

13

Socket• Socket: besteht aus: Protokolltyp, IP-Adresse, Port-Nummer ; es ist der

eindeutig bestimmbare Endpunkt einer Kommunikation.

• In der Praxis wird durch den Begriff Socket eine Schnittstelle bezeichnet,

die zwischen zwei Anwendungsprozessen eine Client- Server- Beziehung

herstellt.

• Es werden nach festgelegten Regeln die im Layer 4 zur Verfügung

gestellten Transportdienste genutzt.

• Socket: besteht aus: Protokolltyp, IP-Adresse, Port-Nummer ; es ist der

eindeutig bestimmbare Endpunkt einer Kommunikation.

• In der Praxis wird durch den Begriff Socket eine Schnittstelle bezeichnet,

die zwischen zwei Anwendungsprozessen eine Client- Server- Beziehung

herstellt.

• Es werden nach festgelegten Regeln die im Layer 4 zur Verfügung

gestellten Transportdienste genutzt.

OMRON

14

Port

• Port-Nummer (z.B. FTP = 21, FINS = 9600) identifiziert die Applikation.

• Der Port repräsentiert eine 16 Bit -Adresse,

• die zur Identifikation eines eindeutigen Zugangspunktes dient, den das

TCP- oder UDP- Protokoll benötigt,

• um mit den übergeordneten Anwendungen bzw. Anwendungsprotokollen

(FTP oder Telnet) Daten austauschen zu können.

• Portnummern von 0 bis 1023 sind meist schon fest vergeben durch die

IANA (Internet Assigned Numbers Authority)

• Port-Nummer (z.B. FTP = 21, FINS = 9600) identifiziert die Applikation.

• Der Port repräsentiert eine 16 Bit -Adresse,

• die zur Identifikation eines eindeutigen Zugangspunktes dient, den das

TCP- oder UDP- Protokoll benötigt,

• um mit den übergeordneten Anwendungen bzw. Anwendungsprotokollen

(FTP oder Telnet) Daten austauschen zu können.

• Portnummern von 0 bis 1023 sind meist schon fest vergeben durch die

IANA (Internet Assigned Numbers Authority)

OMRON

15

FINS-Befehl über Ethernet

OMRON

16

FINS-Antwort im Ethernet

OMRON

17

FINS(1), ICF, RSV,GCT

OMRON

18

FINS(2),DNA, DA1, DA2

OMRON

19

FINS(3), SNA, SA1, SA2, SID

OMRON

20

FINS-Befehlscode

OMRON

21

Handbuchbeispiel zum Lesen von Daten

OMRON

22

Ein Programm unter Visual-BasicUDP BasicsCreating a UDP application is even simpler than creating a TCP application because the UDP protocol doesn'trequire an explicit connection. In the TCP application above, one Winsock control must explicitly be set to "listen,"while the other must initiate a connection with the Connect method.In contrast, the UDP protocol doesn't require an explicit connection. To send data between two controls, three stepsmust be completed (on both sides of the connection):

1. Set the RemoteHost property to the name of the other computer.

2. Set the RemotePort property to the LocalPort property of the second control.

3. Invoke the Bind method specifying the LocalPort to be used. (This method is discussed in greater detailbelow.)

Because both computers can be considered "equal" in the relationship, it could be called a peer-to-peer application.To demonstrate this, the code below creates a "chat" application that allows two people to "talk" in real time to eachother:To create a UDP Peer

1. Create a new Standard EXE project.

2. Change the name of the default form to frmPeerA.

3. Change the caption of the form to "Peer A."

4. Draw a Winsock control on the form and name it udpPeerA.

5. On the Properties page, click Protocol and change the protocol to UDPProtocol.

6. Add two TextBox controls to the form. Name the first txtSend, and the second txtOutput.

7. Add the code below to the form.

OMRON

23

VB-Beispiel für Ethernetzugriff

Private Sub Form_Load() ' The control's name is udpPeerA With udpPeerA ' IMPORTANT: be sure to change the RemoteHost ' value to the name of your computer. .RemoteHost= "PeerB" .RemotePort = 1001 ' Port to connect to. .Bind 1002 ' Bind to the local port. End With frmPeerB.Show ' Show the second form.End Sub

Private Sub txtSend_Change() ' Send text as soon as it's typed. udpPeerA.SendData txtSend.TextEnd Sub

Private Sub udpPeerA_DataArrival _(ByVal bytesTotal As Long) Dim strData As String udpPeerA.GetData strData txtOutput.Text = strDataEnd Sub

OMRON

24

VB-Beispiel, Daten senden/ empfangenPublic finshead As StringDim finsheadbytes(9) As BytePublic finscommand As StringDim finscommandbytes(8) As BytePublic counter As Integer

Private Sub Form_Load()With udpPeerA .RemoteHost = "192.168.1.3" .RemotePort = 9600 .Bind 9600, "192.168.1.10"End With

'FINS-Header zusammenstellenfinsheadbytes(1) = &H81 'ICF, no respondsfinsheadbytes(2) = &H0 'RSV, always 0finsheadbytes(3) = &H2 'GCT, always 2finsheadbytes(4) = &H0 'DNA, dest netw. adressfinsheadbytes(5) = &H3 'destination node numberfinsheadbytes(6) = &H0 'dest unitfinsheadbytes(7) = &H0 'source network adressfinsheadbytes(8) = &HA 'source node numberfinsheadbytes(9) = &H0 'source unit number

finshead = ""For i = 1 To 9 finshead = finshead + Chr(finsheadbytes(i))Next

'FINS-Kommando zusammenstellenfinscommandbytes(1) = &H1 'memoryfinscommandbytes(2) = &H2 'writefinscommandbytes(3) = &H82 'data memoryfinscommandbytes(4) = &H0 'finscommandbytes(5) = &H0 'adress 0000finscommandbytes(6) = &H0 'bitnumber not applicable 0finscommandbytes(7) = &H0 'finscommandbytes(8) = &H1 'number of data words

finscommand = ""For i = 1 To 8 finscommand = finscommand + Chr(finscommandbytes(i))Next

OMRON

25

VB-Beispiel, Daten sendenPrivate Sub Command1_Click()Dim strData As StringDim strData2 As StringDim bytedata(50) As ByteDim lang As LongDim i As Integer

On Local Error GoTo Fehler

counter = counter + 2If counter > 250 Then counter = 0

'Die Sendedaten bestehen aus FINS-Header,dem SID-Zählerbyte,dem FINSKommando und 2 Byte DatenstrData = finshead + Chr(counter) + finscommand + Chr(0) + Chr(counter)

'Zur Anzeige werden die Daten wieder in ASCII-Zeichen gewandeltlang = Len(strData)For i = 1 To lang bytedata(i) = Asc(Mid(strData, i, 1))NextstrData2 = ""For i = 1 To lang strData2 = strData2 + " " + Right("0" + (Hex(bytedata(i))), 2)Next

txtOutput2.Text = strData2

udpPeerA.SendData strData

Fehler:If Err.Number = 126 Then Resume Next

OMRON

26

VB-Beispiel, Daten empfangen

Private Sub udpPeerA_DataArrival(ByVal bytesTotal As Long) Dim strData As String Dim strData2 As String Dim bytedata(50) As Byte Dim i As Integer Dim lang As Long Static counter2 As Byte

udpPeerA.GetData strData

'Zur Anzeige werden die empfangenen Daten wieder in ASCII-Zeichen gewandelt lang = Len(strData) For i = 1 To lang bytedata(i) = Asc(Mid(strData, i, 1)) Next strData = "" For i = 1 To lang strData = strData + " " + Right("0" + (Hex(bytedata(i))), 2) Next

txtOutput.Text = strData

OMRON

27

Protokoll-Analyse-Software

OMRON

28

Ende

OMRON

29

Ende

Recommended