LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Help with EtherCAT setup for single slave device

Solved!
Go to solution

Hello, I am used to other types of hardware integration, so EtherCAT is new to me. I have a single MKS pressure transducer that I would like to communicate with via EtherCAT. I have seen the Ackermann Automation library, but it is too expensive for me right now. Is it possible to use a windows 10 computer to simply communicate at a slow rate with an EtherCAT device without:

1)Installing an RTOS that is expensive and, seemingly, makes it a single use computer

2) Special hardware for the master device

 

Would I be able to get a switch or Intel PCIe network card to either use the onboard network controller or the add-on controller as the master, granted it is on the list of supported controllers on Beckhoff's website? I noticed the Ackermann route uses a RT driver, not requiring a RTOS. Since I simply want to poll data from the slave, what is the simplest way to do this? My other alternative is to read out the transducer voltage using a DAQ, which is easy. But, I would rather have the digital value the device provides than having to do the conversion myself, opening up the possibility for more errors. I inherited it, so it isn't an issue of buying the wrong hardware for the job. It is using what I have most effectively and this EtherCAT is a lot to take in when this isn't a major objective in my work.

 

Thank you very much!

Josh

0 Kudos
Message 1 of 3
(2,448 Views)
Solution
Accepted by topic author jfrech14

Unfortuantely, EtherCAT is not just another network protocol on top of TCP/IP but a completely different protocol directly on top of the Ethernet level, so logically it is on the same level as the IP protocol level of the TCP/IP network infrastructure.

As such it is not trivial to implement EtherCAT itself. While it is possible to implement an EtherCAT master on top of some of the standard network controllers used in PCs (not all controllers are suited for that, and you loose the realtime characteristics of EtherCAT in this way, which wouldn't be a problem for your use case), this requires a low level device driver that runs in the Windows kernel. The alternative to access the network interface through Winsock through a so called raw socket doesn't really make it much simpler as raw sockets are a privileged resource that only an elevated application can access.

 

So there really is no trivial solution. In fact the Ackermann driver is probably the cheapest variant you can find for this aside from simply reading the analog value instead.

 

 

Rolf Kalbermatter
My Blog
Message 2 of 3
(2,411 Views)

Thank you for the response Rolf. I was worried that would be the case so I've been planning a project enclosure with a daq and 24V psu to go the analog route in LabVIEW. I started taking a look at twincat and realized I'm trying to do it the much harder way since I have no need for it to run on kernel level priority or even have priority at all since all I want to do is read the pressure. Luckily, the baratrons has a push button zeroing so I don't have to interface with it to zero. Maybe the EtherCAT thing will be for another project in the future haha. 

 

Thank you again for your time!

Josh

0 Kudos
Message 3 of 3
(2,391 Views)