Frequently Asked Question
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
Hello everyone and welcome to the introductionto the Ethernet Variable Exchange protocol
in the Typhoon HIL toolchain.
As its name suggests, Ethernet Variable Exchangeis designed as a simple, Ethernet-based protocol
for exchanging data over Ethernet.
This means it sends and receives signals toand from the HIL device via the RJ45 connector.
Ethernet Variable Exchange in the TyphoonHIL toolchain supports both TCP and UDP.
TCP/IP stands for Transmission Control Protocol/Internet Protocol.
It is specifically designed as a model tooffer highly reliable and end-to-end byte
stream over an unreliable internet connection.
Meanwhile, UDP stands for User Datagram Protocol,and it is designed as a protocol with minimal
overhead.
TCP is a connection-oriented protocol, whereasUDP is a connectionless protocol.
The key differences between TCP and UDP thatare important to note before choosing which
one to use are:TCP is slower while UDP is faster;
TCP uses a 3-way handshake process to ensurea secure connection, while UDP uses no handshake
protocols;TCP does error checking and also makes error
recovery.
On the other hand, UDP performs error checking,but it discards erroneous packets;
TCP has acknowledgment segments, but UDP doesnot have any acknowledgment segment.
Lastly, UDP is a lightweight protocol, whileTCP is much heavier.
Regardless of whether you are using TCP orUDP, Ethernet Variable Exchange is a Server
and Client based protocol designed to be veryeasy to use and setup.
It is a deterministic execution rate protocol,meaning that messages defined to execute periodically
will be guaranteed to execute at the definedtime, since the protocol runs as a bare metal
application.
Ethernet Variable Exchange is supported onevery HIL device.
Let's have a look at how an Ethernet VariableExchange message is composed.
Basically, the TCP/IP header is packed togetherwith the variables and values of signals in
a single string, with no other informationtransmitted.
This means that packing and unpacking of messagesare simple.
Any external device that is programmable canimplement this variable exchange protocol
and communicate with a HIL device, includinglaboratory equipment, which often implements
proprietary protocols.
Now let's see how it is implemented in theTyphoon HIL toolchain.
There are three Schematic Editor componentsthat are used to configure this protocol:
ETH VE Setup, Send, and Receive.
The ETH VE setup component, shown here, let'syou configure the IP addresses of all HIL
devices that are connected to your PC.
One ETH VE Setup component must exist in themodel when using Ethernet Variable Exchange
protocol.
The ETH VE Receive component is used for receivingmessages.
ETH VE Receive represents a server with apassively open connection, meaning it waits
for any "client" to try to connect.
The component can be configured to acceptan incoming connection from any client IP
and port, or to accept only from a specifiedIP and a specified Port.
After the connection has been accepted, theETH VE Receive component starts receiving
packets, parses them, and dispatches datato the target "client" component.
By opening the properties window, under theNetwork tab you can specify the protocol to
use, port, and Source IP address.
Under the Data tab, by clicking on the GenerateConfiguration button, you can setup all messages
to be received, including the data signaltype, data type, length, and endianness.
The ETH VE Send component is used to sendmessages.
ETH VE Send represents a client, which triesto connect to the remote server specified
by its Destination IP address and DestinationPort after simulation starts.
If the target "server" is accessible, an activeconnection is opened, system variables are
packed, and then transferred over Ethernet.
In a case of remote server failure, the clientwill continue trying to reconnect.
In the properties window, we can specify theprotocol to use, ports, and destination IP
address under the Network tab, just as withthe Receive component.
Under the Data tab, by clicking the GenerateConfiguration button, we can also setup all
the messages to be sent, their data signaltype, data type, length, and endianness.
This concludes our introduction to the EthernetVariable Exchange protocol in the Typhoon
HIL toolchain.
In the next lesson, we will look into an examplefeaturing Ethernet Variable Exchange.
Thank you for watching!