# Anbindung EtherCat Teilnehmer an PC über Codesys?



## bernd81 (13 Mai 2011)

Hallo zusammen,

ich habe folgende Frage:

Ich habe einen Meßtaster welcher eine Ethercat Schnittstelle hat. Nun möchte ich mit dem Meßtaster Messungen durchführen und auf einem PC anzeigen und dann noch in eine Excel Liste eintragen.

Ich habe mich mal ein bisschen umgeschaut und denke das ich das mit Codesys realiesieren könnte. Da ich auf diesem Gebiet noch Neuling bin wäre das eventuell ein schönes Projekt um den Umgang mit Codesys zu lernen.

Alternativ gibt es den Meßtaster auch mit einer RS232 Schnittstelle aber da habe ich noch weniger Erfahrung. Daher wäre mir die Anbindung über EtherCat und SoftSPS auf einem PC doch sympatischer.

Was benötige ich alles an Software und Hardware?

Vielen Dank schon mal im vorraus.


----------



## thomas.nienstaedt (13 Mai 2011)

Welches CoDeSys Version?
V2 oder V3?

Gruß
Thomas


----------



## drfunfrock (13 Mai 2011)

bernd81 schrieb:


> Hallo zusammen,
> 
> 
> 
> ...



RS232 sollte deutlich billiger werden, weil du nur einen kleinen PC benötigst Mit VisualBasic, C# oder Python kannst du ohne Probleme Excel-Dateien schreiben. Es gibt hunderte Beispiele im Netz. Ich würde persönlich Python bevorzugen, aber auch VisualBasic.Net macht es dir nicht schwer. Excel-Dateien mit Pythin zu beschreiben ist wirklich trivial. 

Ein BSP: 


```
import os
from xlwt import *

w = Workbook()
#Formatierung
ezxf = easyxf
styles = {
          'money' : ezxf('font: color black', num_format_str='#,##0.00'),
          'money_red' : ezxf('font: color red',num_format_str='#,##0.00'),
          'num': ezxf('font: color black', num_format_str='#,##0'),
          'num_red': ezxf('font: color red', num_format_str='#,##0'),
          'column': ezxf('pattern: pattern solid, fore-colour blue')
          }

# Es braucht eine Seite
sh = w.add_sheet('Meine Messungen')

#Schreib was in die Seite
sh.write(0, 1, 'Messwert', styles['column'])    
sh.write(1, 1,1.282, styles['num'])    

# Speicher die Excel-Datei
w.save(os.path.join(OUTPATH, filename))
print "ready..."
```
Es gibt dann auch eine RS232 Bibliothek für Python, die auf Windows und Linux läuft: 

http://pyserial.sourceforge.net/

Beispiel

```
import time
import serial

# configure the serial connections (the parameters differs on the device you are connecting to)
ser = serial.Serial(
    port='/dev/ttyUSB1',
    baudrate=9600,
    parity=serial.PARITY_ODD,
    stopbits=serial.STOPBITS_TWO,
    bytesize=serial.SEVENBITS
)

ser.open()
ser.isOpen()

print 'Enter your commands below.\r\nInsert "exit" to leave the application.'

input=1
while 1 :
    # get keyboard input
    input = raw_input(">> ")
        # Python 3 users
        # input = input(">> ")
    if input == 'exit':
        ser.close()
        exit()
    else:
        # send the character to the device
        # (note that I happend a \r\n carriage return and line feed to the characters - this is requested by my device)
        ser.write(input + '\r\n')
        out = ''
        # let's wait one second before reading output (let's give device time to answer)
        time.sleep(1)
        while ser.inWaiting() > 0:
            out += ser.read(1)
            
        if out != '':
            print ">>" + out
```


----------



## Neals (13 Mai 2011)

bernd81 schrieb:


> Was benötige ich alles an Software und Hardware?



Es kann jeder Ethernet-Controller als EtherCAT-Master verwendet werden. 

Wenn du CoDeSys einsetzt bräuchtest du nur das RJ45-Kabel von deinem Ethernet-Port zum Port des Meßtaster.


----------



## bernd81 (16 Mai 2011)

thomas.nienstaedt schrieb:


> Welches CoDeSys Version?
> V2 oder V3?
> 
> Gruß
> Thomas


 
Ich habe mir mal die Version 3 runtergeladen aber falls die V2 für diesen Zweck besser geeignet ist wäre das auch kein Problem.
Ich bin auf diesem Gebiet noch wie schon erwähnt Neuling.


----------



## bernd81 (16 Mai 2011)

Neals schrieb:


> Es kann jeder Ethernet-Controller als EtherCAT-Master verwendet werden.
> 
> Wenn du CoDeSys einsetzt bräuchtest du nur das RJ45-Kabel von deinem Ethernet-Port zum Port des Meßtaster.


 
OK das wäre ja einfach aber brauche ich da nicht auch noch eine Soft - SPS - Software?
Ich habe da auf der Codesys Homepage was gelesen aber die ist ja dann nicht kostenlos oder? Hast du eine Ahnung was die ungefähr kostet?


----------



## thomas.nienstaedt (16 Mai 2011)

In der V3 ist ein Ethercat-Server bereits enthalten!
.. In der V2 nicht!

Um dein Gerät im Server bekannt zu machen benötigst du erst mal
eine (*.xml) Beschreibungsdatei!

Wenn diese Datei erfolgreich in der IDE eingebunden wurde solltest du
das Gerät erst mal ansprechen können!

.. und dann muss man weiterschauen was an Informationen in der xml
Datei zur Verfügung stehen.

Die serielle Geschichte ist natürlich auch eine Alternative und du brauchst
dafür keine Lizenz von 3S!

Viele Grüsse
Thomas


----------

