Solutions for Measurement and Control
EtherCAT Library for LabVIEW 4
EtherCAT is an open Ethernet-based deterministic fieldbus. Because of its speed and functional principle, it is perfectly suitable not only for control automation but also for measurement tasks. It has gained a huge manufacturer base, giving users a wide range of products to choose from.
The EtherCAT Library for LabVIEW functions as an EtherCAT Master and makes these benefits available for the development of LabVIEW applications. It uses an industry-proven master stack with a wide range of features. To have deterministic timing, it integrates with PC-based real-time technology for use on normal Windows PCs. Nevertheless, it can also be used non-deterministically on plain Windows for applications that do not need real-time.
EtherCAT gives users a low-cost technology to integrate different devices with synchronized process data on one bus. It can be used to create measurement and control systems of any kind.
Areas of application for the library are:
- Automation of machines
- Measurement applications
- Test of EtherCAT slave products
The library provides the following functionality:
- Real-time process data exchange (PDO)
- Writing and reading of service data objects (CoE)
- Files over EtherCAT (FoE)
- Servodrive profile over EtherCAT (SoE)
- FailSafe over EtherCAT (FSoE)
- Access to slave memory
- Access to slave EEPROM
- Access to slave object dictionary
We offer discounts for universities and schools.
Add-on library to the EtherCAT Library for LabVIEW for easier application development and extensive slave libraries
How does sit work?
The LabVIEW Library for LabVIEW is a set of VIs that controls an EtherCAT Master running on Windows or in a real-time execution system parallel to Windows (INtime from Tenasys). We therefore use an industry-proven EtherCAT Master stack to grant full fulfillment of the EtherCAT standard. Any EtherCAT slave device following the EtherCAT standard can be connected to LabVIEW.
What are the benfits of using EtherCAT?
One of the great benefits of this technology is that many different devices can be integrated over the same interface technology. All types of digital and analog IOs can be combined with motion controllers or even smart cameras. Also, communication with other automation systems, like PLCs, can easily be integrated. Data can be exchanged with other EtherCAT Masters or fieldbuses like Profinet, Profibus, Ethernet/IP, etc.
Another very interesting point is the easiness to create distributed system, because the technology is based on Ethernet technology. With this, the analog-digital conversion can be placed near the sensors. Ethernet cabling can be more than 100 meters without problems. With fiber optic conversion, it can even be kilometers. The flexible terminal approach from Beckoff makes it very cheap to create multiple distributed IO stations.
Is real time necessary?
The EtherCAT fieldbus principal is based on cyclic telegrams that pass through every slave to collect and set process data. EtherCAT technology allows very fast bus cycles rates greater than 10 kHz. The question as to whether or not real time is necessary depends on if data acquisition or output hast to be done with a deterministic rate. So if, for example, sensor data has to be collected with a 1 kHz sample rate, or a sine waveform has to be generated on an analog output, real time is needed. Windows execution has a great jitter and non deterministic data rates. Nevertheless, It is very well suitable for application, where determinism does not matter.
How does the real-time execution work?
We use INtime from Tenasys as a real time execution system running next to Windows on an isolated CPU core. By this, a Windows LabVIEW application can be run on the same computer as the real-time EtherCAT master. To do this, some hardware resources have to be made available for the real-time system, namely one CPU core and one network adapter. The network adapter (NIC) must be an Intel or Realtek chip. USB network adapters do not work.
Real-time jitter behavior depends on the PC hardware used. Laptops usually have higher jitter because of energy-saving concepts and graphic card integration. Industrial PCs, like Beckhoff IPCs, for example, have very low jitter. Applications that require up to 10 kHz bus cycle rates are no problem on these IPCs.
Can I use it for measurement applications?
Yes! EtherCAT is very well suited for measurement applications.
EtherCAT uses cyclic process data telegrams that pass through all connected slaves to collect and set process data. Our system allows bus cycle rates of up to 10 kHz. Sensor data can, therefore, be read at up to 10.000 samples per second. Also, outputs can be updated with this speed. When using slaves that use oversampling technology, it’s even possible to achieve sampling rates of up to 100.000 samples per second for inputs and outputs. Distributed Clocks can establish extremely accurate time synchronization between all slaves.
Does it work with LabVIEW Real Time?
We succefully tested the execution on a cRIO NI Linux RT target in a proof of concept. The execution on NI Lnux RT targets is an option we are considering for a future release. Please let us know, if this is interesting for you.
Can I create real-time applications with INtime and Windows?
The EtherCAT Master is executed in the INtime real-time system with a deterministic bus cycle time to manage the process data. The LabVIEW code is executed in Windows. So, the LabVIEW application is not a real-time application. A control loop in LabVIEW does not execute with deterministic timing.
However, there are two further options if real-time functionality is needed.
The first is a set of predefined functions called data processing functions that can be executed in real time with each bus cycle. These functions use the process data input information to calculate and set outputs. For example, the function limit monitor can compare an analog input value against a limit and set an output bit if the limit is exceeded. This output can be anything from a digital output to an enable bit from a motion controller. When the bus cycle rate is 1 kHz, this reaction is set deterministically within 1 ms. There are multiple functions like digital logic, limit monitor, PID control, and more.
The other option is to implement custom functions in a C/C++ dll, that are call each bus cycle . With this approach, almost anything is possible, but it requires C/C++ programming. We also offer this service.
These two options can be used to create deterministic control systems with LabVIEW on Windows that would normally require costly hardware as well as software.
What is the license model?
The EtherCAT Library for LabVIEW only has run-time licenses. One run-time license is needed to execute the EtherCAT master functionality on one PC. There’s no difference between a LabVIEW Development Environment and a LabVIEW Executable. There is no development license.
Licenses are activated against our license server. The activation and deactivation can be done online or offline. A PC does not need to be connected to the Internet. Licenses can be deactivated and moved to another PC.
INtime installation and activation is decoupled from the LabVIEW Library for LabVIEW. An INtime license cannot be moved to another PC.
Do I need anything else?
The EtherCAT Library comes with the real-time system and EtherCAT Master license. If real time is used, a normal network port with an Intel or Realtek chipset is needed. No additional hardware is necessary. If the library is used with Windows execution, it will work with any network port, even USB LAN adapters.
The EtherCAT setup needs to be configured and this configuration needs to be saved as an XML file called ENI. The configuration can be done with the library itself for simple systems. For more complex systems with different process data configurations or Distributed Clock setup, additional software is needed. We recommend the following options:
- Ackermann Automation EtherCAT Studio
- TwinCAT System Manger from Beckhoff