Frequently Asked Question

Video: 7.5.1. ETH VE Introduction
Last Updated 2 years ago


Press "Ctrl + F" to find the keyword of your interest.

If you wish to have a direct link access to the video timestamps, please follow these instructions.

Found this video helpful? Why not take the whole HIL Specialist course? A Certificate is waiting for you for free at HIL Academy.

Would you or your organization benefit from having these videos narrated in your native language? Contact us and let us know if you wish to contribute.

TRANSCRIPT

00:00:02

Hello everyone and welcome to the introductionto the Ethernet Variable Exchange protocol

00:00:07

in the Typhoon HIL toolchain.

00:00:09

As its name suggests, Ethernet Variable Exchangeis designed as a simple, Ethernet-based protocol

00:00:15

for exchanging data over Ethernet.

00:00:18

This means it sends and receives signals toand from the HIL device via the RJ45 connector.

00:00:24

Ethernet Variable Exchange in the TyphoonHIL toolchain supports both TCP and UDP.

00:00:29

TCP/IP stands for Transmission Control Protocol/Internet Protocol.

00:00:34

It is specifically designed as a model tooffer highly reliable and end-to-end byte

00:00:38

stream over an unreliable internet connection.

00:00:41

Meanwhile, UDP stands for User Datagram Protocol,and it is designed as a protocol with minimal

00:00:47

overhead.

00:00:48

TCP is a connection-oriented protocol, whereasUDP is a connectionless protocol.

00:00:54

The key differences between TCP and UDP thatare important to note before choosing which

00:00:58

one to use are:TCP is slower while UDP is faster;

00:01:03

TCP uses a 3-way handshake process to ensurea secure connection, while UDP uses no handshake

00:01:10

protocols;TCP does error checking and also makes error

00:01:14

recovery.

00:01:15

On the other hand, UDP performs error checking,but it discards erroneous packets;

00:01:20

TCP has acknowledgment segments, but UDP doesnot have any acknowledgment segment.

00:01:26

Lastly, UDP is a lightweight protocol, whileTCP is much heavier.

00:01:31

Regardless of whether you are using TCP orUDP, Ethernet Variable Exchange is a Server

00:01:37

and Client based protocol designed to be veryeasy to use and setup.

00:01:41

It is a deterministic execution rate protocol,meaning that messages defined to execute periodically

00:01:47

will be guaranteed to execute at the definedtime, since the protocol runs as a bare metal

00:01:52

application.

00:01:53

Ethernet Variable Exchange is supported onevery HIL device.

00:01:57

Let's have a look at how an Ethernet VariableExchange message is composed.

00:02:01

Basically, the TCP/IP header is packed togetherwith the variables and values of signals in

00:02:06

a single string, with no other informationtransmitted.

00:02:10

This means that packing and unpacking of messagesare simple.

00:02:13

Any external device that is programmable canimplement this variable exchange protocol

00:02:18

and communicate with a HIL device, includinglaboratory equipment, which often implements

00:02:23

proprietary protocols.

00:02:25

Now let's see how it is implemented in theTyphoon HIL toolchain.

00:02:29

There are three Schematic Editor componentsthat are used to configure this protocol:

00:02:33

ETH VE Setup, Send, and Receive.

00:02:37

The ETH VE setup component, shown here, let'syou configure the IP addresses of all HIL

00:02:43

devices that are connected to your PC.

00:02:45

One ETH VE Setup component must exist in themodel when using Ethernet Variable Exchange

00:02:51

protocol.

00:02:52

The ETH VE Receive component is used for receivingmessages.

00:02:57

ETH VE Receive represents a server with apassively open connection, meaning it waits

00:03:02

for any "client" to try to connect.

00:03:04

The component can be configured to acceptan incoming connection from any client IP

00:03:09

and port, or to accept only from a specifiedIP and a specified Port.

00:03:14

After the connection has been accepted, theETH VE Receive component starts receiving

00:03:19

packets, parses them, and dispatches datato the target "client" component.

00:03:24

By opening the properties window, under theNetwork tab you can specify the protocol to

00:03:28

use, port, and Source IP address.

00:03:32

Under the Data tab, by clicking on the GenerateConfiguration button, you can setup all messages

00:03:37

to be received, including the data signaltype, data type, length, and endianness.

00:03:43

The ETH VE Send component is used to sendmessages.

00:03:47

ETH VE Send represents a client, which triesto connect to the remote server specified

00:03:53

by its Destination IP address and DestinationPort after simulation starts.

00:03:57

If the target "server" is accessible, an activeconnection is opened, system variables are

00:04:03

packed, and then transferred over Ethernet.

00:04:05

In a case of remote server failure, the clientwill continue trying to reconnect.

00:04:10

In the properties window, we can specify theprotocol to use, ports, and destination IP

00:04:16

address under the Network tab, just as withthe Receive component.

00:04:20

Under the Data tab, by clicking the GenerateConfiguration button, we can also setup all

00:04:25

the messages to be sent, their data signaltype, data type, length, and endianness.

00:04:31

This concludes our introduction to the EthernetVariable Exchange protocol in the Typhoon

00:04:35

HIL toolchain.

00:04:37

In the next lesson, we will look into an examplefeaturing Ethernet Variable Exchange.

00:04:41

Thank you for watching!

Please Wait!

Please wait... it will take a second!