11.1. EtherNet/IP Overview

EtherNet/IP is an Ethernet-based communication protocol designed for industrial network communication. EtherNet/IP uses Common Industrial Protocol (CIP) over an Ethernet connection, typically through an RJ-45 connector. EtherNet/IP is widely used, especially in industrial settings, due to its large and fast data exchanges and community of support from Open DeviceNet Vendors Association (ODVA). The following terminology will be used throughout this document:

Device

A device is any product that supports the EtherNet/IP protocol.

Connection

A connection is a logic link between two devices to send and receive data.

Orginator

An orginator (O) is a master device, or a controlling device, that initiates a request or a connection. PLCs or external software can be used as an EtherNet/IP orginator.

Target

A target (T) is a device that receives a request or connection from the master. Multiple targets can be connected to one orginator on a network. Magna-Power products, that support EtherNet/IP, are target devices.

TCP

TCP is a connected communication protocol that has error handling built-in. TCP requires that the orginator and target are both connected to each other and will exchange data in a multiple handshake format.

UDP

UDP is a communication protocol that does not require a connection. UDP messages are rapidly sent over the network to a specific destination without error handling.

In the EtherNet/IP protocol there are two main types of communication: explicit messaging and implicit messaging. Each type of communication has supports different connections, traffic paths, and message formats, as shown in the chart below.

Table 11.1 Traffic classes

Messaging

Form of messaging

Protocol

Connection

Explicit

Unconnected/Connected

TCP/IP

Class 3

Implicit

Connected

UPD/IP

Class 1

For a more complete overview of EtherNet/IP and underlining standards, visit ODVA.org .

11.1.1. Explicit Messaging

Explicit messaging is used for non-realtime data exchange using request/response unicast messages handled with the TCP/IP protocol. Explicit messages are typical used for when the orginator device sends a request to read/write a value from/to a specific location on the target device. For example, a orginator could send an explicit message to set the device lock status. Requests from an orginator always result in a target response to indicate transaction success or failure.

The following parameters are needed in constructing an explicit message:

Service Code/Name

The service code or the service name are required for requesting the action for the target device. For Magna-Power devices supporting EtherNet/IP, the service codes that are supported are Get Attribute Single (14 or 0x0E) and Set Attribute Single (16 or 0x10).

Class ID

The class ID specifies the class object that data is being sent to or read from. For Magna-Power devices supporting EtherNet/IP, the class ID should be set to 162 (0xA2).

Instance ID

The instance ID specifies the instance number of the above class object that is referenced in the request. All device supported instances can be found in the section Instances Listing.

Attribute ID

The attribute ID specifies the attribute of the above instance referenced in the request. For Magna-Power devices, the attributes: Name (1), Access (4), and Value (5) are available. In most cases, the attribute ID should be set to 5.

11.1.2. Class 3 Connection

Class 3 connections are made only for explicit messages using TCP/IP. The connection parameters along with support communications paths are listed below. Detailed examples for explicit messages are provided in Explicit Messaging Example.

Table 11.2 Class 3 connection parameters

Parameter

Value

Number of Simultaneous Connections

6

Supported RPI (Requested Packet Interval)

100 ms to 10000 ms

T →O Connection Types

Point-to-Point

O →T Connection Types

Point-to-Point

Supported Trigger Types

Application

Max. Supported Connection Size

1526 bytes

Supported Priorites

Low, High

11.1.3. Implicit Messaging

Implicit messaging is used for time-critical data exchange between a orginator and uses unicast or multicast messages handled with the UDP/IP protocol. The typical use case is when the orginator needs to set or query values on a target(s) in a controlled manner (cyclic and change-of-state).

11.1.4. Class 1 Connection

Implicit messages must define a traffic pathways up front as it does not require responses from targets, which greatly reduces traffic. Connection paths are defined as either inputs or outputs with respect to the network. Inputs hold data received from the network, while outputs are data sent to the network. Only a subset of instances in Instances Listing can be include as inputs/outputs, which are listed below.

Table 11.3 Supported implicit instances

Name

Instance

Service

Size (Bytes)

StatusRegQ

13

Get

8

MeasCurrQ

257

Get

4

MeasVoltQ

258

Get

4

SetpointCurr

513

Set

4

SetpointVolt

515

Set

4

Below lists the connection parameters for a Class 1 connection. A detailed example of an implicit messages sent cyclically, is provided in Implicit Messaging Example.

Table 11.4 Class 1 connection parameters

Parameter

Value

Number of Simultaneous Connections

4

Supported RPI (Requested Packet Interval)

1ms to 3200ms

T→O Connection Types

Point-to-point, Multicast, Null

O→T Connection Types

Point-to-point, Null

Supported Trigger Types

Cyclic, Change-of-State

Max. Supported Input/Output Connection Size

1448 bytes (Large Forward Open)
509 bytes (Forward Open)

Supported Priorites

Low, High, Scheduled, Urgent

The Electronic Data Sheet file contains multiple connection types, with Exclusive-Owner being the most flexible, since it offers bi-directional traffic. With Input Only connections, originator (s) can only hold data and never sends data out onto the network. Heartbeat connections, send small messages, over a fixed interval, in a single direction (either O →T or T →O). All the supported connection types are outlined below.

Exclusive-Owner connection

This type of connection controls the outputs and does not depend on other connections.

Max. number of Exclusive-Owner connections: 1 Connection path O →T: Assembly Object, instance 0x96 (Default) Connection path T →O: Assembly Object, instance 0x64 (Default)

Input-Only connection

This type of connection is used to read data from the target without controlling the outputs. It does not depend on other connections.

Max. number of Input-Only connections: Up to 4 (shared with Exclusive-Owner and Input-Only connections) Connection point O →T: Assembly Object, instance 0x03 (Default) Connection point T →O: Assembly Object, instance 0x64 (Default) Please note that if an Exclusive-Owner connection has been opened towards the module and times out, the Input-Only connection times out as well. If the Exclusive-Owner connection is properly closed, the Input-Only connection remains unaffected.

Input-Only Extended connection

This connection’s functionality is the same as the standard Input-Only connection. However, when this connection times out it does not affect the state of the application.

Connection point O →T: Assembly Object, instance 0x06 (Default) Connection point T →O: Assembly Object, instance 0x64 (Default)

Listen-Only connection

This type of connection requires another connection in order to exist. If that connection (Exclusive-Owner or Input-Only) is closed, the Listen-Only connection will be closed as well.

Max. no. of Input-Only connections: Up to 4 (Shared with Exclusive-Owner and Input-Only connections) Connection point O →T: Assembly Object, instance 0x04 (Default) Connection point T →O: Assembly Object, instance 0x64 (Default)

Listen-Only Extended connection

This connection’s functionality is the same as the standard Input-Only connection. However, when this connection times out it does not affect application state.

Connection point O →T: Assembly Object, instance 0x07 (Default) Connection point T →O: Assembly Object, instance 0x64 (Default)

11.1.5. Electronic Data Sheet

When developing or using Ethernet/IP software to talk to a Magna-Power Electronics ALx Series, an electronic data sheet (EDS) should be used for device discovery and network setup. The EDS file is a custom file created by Magna-Power Electronics that describes communication parameters, available services, and device identification. The file may be requested as part of the setup process in PLCs or installing third-party software. The EDS can be downloaded below and is used for Communication Examples.

Magna-Power Electronics Electronic Data Sheet

11.1.6. Data Formatting

Byte Ordering EtherNet/IP must exchange properly formatted messages such that the targets can read requests. If the wrong number types or byte orderings are used, targets can misinterpretation data and respond unexpectantly. For example, the data entry for Hilscher EtherNet/IP Tool. For 16-bit words, bytes are ordered such that the significant bytes precedes the lower bytes in memory, which is standard little-endian. For 32-bit values, words are also ordered as little-endian, where the most significant word, precedes the least significant word. For a 32-bit value, 0x12345678, it should be sent as 0x78563412. Data is received following the same ordering. How software tools format data varies, and should be explored fully before testing.

Floating Point Data in transfered as a binary numbers (as opposed ASCII in SCPI Command Set) and needs a predetermined format for representing decimal numbers. For this, the widely adopted standard, IEEE-754, is used for storing floating point as a 32-bit values. For example, decimal number 3.14 is stored as 0x4048F5C3 in floating point. The number must adhere to the byte ordering conventions described previously. The final value of 3.14 would be sent as 0xC3F54840. Floating point numbers are received in the same format as they are sent.

11.2. Physical Interface

../../../../../../_images/eip-physical-interface.svg

Fig. 11.1 Rear interface

11.2.1. Ethernet Ports

The ALx Series has two 100 Mbps RJ-45 Ethernet ports on the rear of the unit for EtherNet/IP communications, shown in Rear interface labeled ETHERNET/IP. Either port may be used, with the other port acting as an Ethernet passthrough.

11.2.2. LED Codes

In the rear of the ALx Series is a communications interface with two exposed bi-color LEDs. The LED labeled NS indicates network status and the one labeled MS indicates module status, as shown in Rear interface. Status is indicated using colors and blink patterns, as shown in the tables below.

Table 11.5 NS LED States

State

Description

Off

No power or no IP address

Green

Online, one or more connections established (CIP Class 1 or 3)

Green, flashing

Online, no connection established

Red

Duplicate IP address, fatal error

Red, flashing

One or more connections timed out (CIP Class 1 or 3)

Table 11.6 MS LED States

State

Description

Off

No power or no error

Green

Controlled by an Orginator in Run state and, if CIP Sync is enabled, time is synchronized to a Grandmaster clock

Green, flashing

Not configured, Orginator in Idle state, or if CIP Sync is enabled, time is synchronized with Grandmaster clock

Red

Major fault, (exception state or fatal error)

Red, flashing

Recoverable fault(s). Module is configured, but stored parameters differ from currently used parameters.

The RJ-45 Ethernet ports have two LEDs that indicate the status of the Ethernet connection. Link and activity status are indicated using colors and blink patterns, as shown in the tables below.

Table 11.7 Top-left RJ-45 LED States

State

Description

Off

No link

Green

Ethernet link (100 Mbps) established

Green, flashing

Activity (100 Mbps)

Table 11.8 Top-right RJ-45 LED States

State

Description

Off

No link

Orange

Ethernet link (10 Mbps) established

Orange, flashing

Activity (10 Mbps)

11.3. Diagnostic and Simulation Tools

In this section, tools are discussed for device discovery, configuration, and simulation of EtherNet/IP messages and connection classes on the network. Third-party software is recommended to act as the originator for these messages and is used extensively in later examples.

11.3.1. HMS IPConfig

HMS Networks provides a configuration tool called HMS IPconfig that is used to support their industrial communication interfaces. This tool can be used to discover devices on the network, configure IP settings, and blink the device’s LEDs for physical identification.

To configure device settings, ensure the ALx Series is connected to the network, open the tool, and select the device from the list of discovered devices. Click on the discovered device to open a configuration window as shown in HMS IPConfig. The IP address, subnet mask, gateway, and other network settings can be modified.

The software is available on HMS’s website listed below:

HMS IPConfig

../../../../../../_images/eip-hms-ipconfig.svg

Fig. 11.2 HMS IPConfig

11.3.2. EtherNet/IP Web Page

Each Magna-Power EtherNet/IP device hosts a web page for easily accessing local network settings, device parameters, and operation status. The user interface is organized into the side menus listed below.

Overview

Shows basic information about the EtherNet/IP module, notably the device uptime.

Parameters

Shows the available parameters that can be read or written to. Parameters with a button next to them indicates they are writable from the web interface. Allow time for the parameters to load, as several read and write requests are needed each time new parameters are loaded.

Status

Displays the IP settings, Ethernet status, packets sent, and errors encountered. This page is largely for diagnostic purposes.

Configuration

This page allows the IP configuration to be modified and saved to the device.

SMTP

Not usable menu, feature incompatible with EtherNet/IP implementation.

The web page provides a secondary means of communicating with the device by simplify typing the device’s IP address in a web browser, as shown.

../../../../../../_images/eip-webpage.svg

Fig. 11.3 EtherNet/IP web interface

There are multiple way the IP address can be found. Navigating in the front panel menu system, Communication Settings. Or, using a router to find the assigned IP address by MAC address. Or, installing Ethernet/IP software that support auto-detection, like HMS IPConfig or Hilscher EtherNet/IP Tool, as shown. Tool is also simulates messages as used in Communication Examples.

../../../../../../_images/eip-detect.svg

Fig. 11.4 Discovery using Hilscher EtherNet/IP Tool

11.4. Communication Examples

Hilscher’s EtherNet/IP Tool is software than can simulate EtherNet/IP messages and send request to Magna-Power devices. Below are some examples using this software to demonstrate the different types of messaging.

11.4.1. Explicit Messaging Example

Explicit messages involves simple request-response traffic between the originator and target. In Explicit read example, a request for the Setpoint Current (Instance #514) is sent and a response value 2.5A (0x40200000) is returned.

../../../../../../_images/eip-explict-read-example.svg

Fig. 11.5 Explicit read example

In Explicit write example, the value for the Setpoint Current (Instance #513) is updated with 2.578125A (0x40250000) and a CIP write response acknowledges the operation.

../../../../../../_images/eip-explict-write-example.svg

Fig. 11.6 Explicit write example

11.4.2. Implicit Messaging Example

The following is a typical use case example for implicit messaging, where the set point voltage and set point current are cyclically updated, and the terminal voltage, terminal current, and status register are measured concurrently. Hilscher EtherNet/IP Tool was used to construct the message and to act as the orginator. The connection path settings are listed below. Message needs to formatted as little-endian, as was discussed in Data Formatting. The fields labeled Actual I/O size must be sized to fit the traffic and checkboxes Additional 4 bytes for Run/Idle Header and Run Bit Set in Run/Idle Header must be checked, as shown in Implicit message example.

Table 11.9 Connection path

Object

Instance

Name

Attribute

Supported Services

Assembly (0x04)

100 (0x64)

Input

Data (3)
Size (4)
Get Attribute Single (14)
Set Attribute Single (16)

150 (0x96)

Output

Data (3)
Size (4)
Get Attribute Single (14)
Set Attribute Single (16)

5 (0x05)

Configuration
(Used in Forward Open)
Data (3)
Size (4)
Get Attribute Single (14)
Set Attribute Single (16)
Table 11.10 Output path, O→T

Name

Value

Data Type

Value (Big-Endian)

Value (Little-Endian)

Setpoint Current

45.0

32 bit Floating Point

0x42340000

0x00003442

Setpoint Voltage

100.0

32 bit Floating Point

0x42C80000

0x0000C842

Table 11.11 Input path, T→O

Name

Value

Data Type

Value (Big-Endian)

Value (Little-Endian)

Status Register

262209

32 bit Integer

0x00040041

0x41000400

Terminal Current Measurement

44.77724

32 bit Floating Point

0x423316F9

0xF9163342

Terminal Voltage Measurement

100.0365

32 bit Floating Point

0x42C812BD

0xBD12C842

../../../../../../_images/eip-implicit-example.svg

Fig. 11.7 Implicit message example

11.5. Development Using Studio 5000

EtherNet/IP with Magna-Power Electronics products was tested using Studio 5000 Logix Designer (V35), a Rockwell Automation software package for its Allen-Bradley PLCs. The software programs the PLC and requires a separate license. However, trial licenses are available through Rockwell sales channels. More information and programming instructions can be found at Studio 5000 Logix Designer.

11.5.1. Project Configuration

The following steps are needed to create a project in Studio 5000 for EtherNet/IP communication.

  1. Download the product description file package located on the Magna-Power Electronics ALx Series page, under Integrated Options - EtherNet/IP . The file package includes description files for all supported communication protocols across all products. Extract the *.EDS and *.L5X files for the desired product, as they are needed to create a Studio 5000 project.

  2. Open Studio 5000 and create a new project from the top menu, File > New. Select the PLC model, give the project a name, and then choose a save location. On the next dialog, select the hardware and security settings appropriate for the application, then click the Finish button.

  3. Install the product’s EDS file from the top menu, Tools > EDS Hardware Installation Tool. Click the Next button and follow the prompts to register the device description file that was extracted in Step 1.

../../../../../../_images/eip-studio5000-eds-upload.svg

Fig. 11.8 Add a new EDS file

  1. Add the device to the project by expanding the I/O configuration tree view in the Controller Organizer panel. Right-click the Ethernet node and select New Module. From the list of available devices, type “ABCC” in the search box to quickly find the product. Select the product followed by the Create button.

../../../../../../_images/eip-studio5000-add-module.svg

Fig. 11.9 Add new Ethernet-based device

A popup will appear asking for the product details. Give the product a unique name. In the box labeled IP Address, enter the IP address given to the ALx Series. The address can be found using a network scanning tool, such as the HMS IPconfig Tool.

Finally, press the Change button at the bottom of the New Module window to open the Module Definition dialog. Set the connection data type to SINT. The input size is found by adding the size of the Get services listed in Supported implicit instances. Similarly, the output size is found by adding the Set services. Press the OK button to close both dialog boxes and accept the warning regarding changing the module definition.

../../../../../../_images/eip-studio5000-new-module-definition.svg

Fig. 11.10 Change the I/O size of the module to match the product

11.5.2. Implicit Messaging

  1. In the Controller Organizer panel, expand Assets > Data Types, right click on User-Defined, and select Import Data Type. Select one of the *.L5X files extracted in Project Configuration - Step 1. Rename the data type and description, if needed, and press the OK button to close the Import Configuration window. Repeat this process for the remaining *.L5X files. Once imported, the assembly object data types are defined. Note that these assembly objects are defined on the ALx Series by the factory and cannot be modified by the user.

  2. In the Controller Organizer panel, expand Tasks > MainTask > MainProgram and double click the Parameters and Local Tags entry. As needed, select the desired tag scope, and create one tag per user-defined data type imported in Implicit Messaging - Step 1.

../../../../../../_images/eip-studio5000-add-assembly-tags.svg

Fig. 11.11 Add controller tags for assembly objects

Note

Studio 5000 assigns names to tags based on the PLC’s perspective. The ALx Series’s output is equivalent to PLC’s input. Conversely, the ALx Series’s input is equivalent to the PLC’s output. Tag and data type names are assumed to all be from the PLC’s perspective.

  1. In the Controller Organizer panel, expand Tasks > MainTask > MainProgram, and double click the MainRoutine entry. Add a synchronous file copy (CPS) block to the ladder diagram. The source should be the ALx Series’s input data, and the destination should be the PLC’s input data tag. For instance, the source would be mpe_slx:I.Data[0] and the destination MPE_Input. Repeat the same step with the output data, ensuring that the source is the PLC’s output data tag and the destination is the ALx Series’s output data. Assembly objects are now defined, and implicit messaging between the PLC and ALx Series is made possible.

../../../../../../_images/eip-studio5000-map-assembly.svg

Fig. 11.12 Map assembly object to controller tags using CPS block

11.5.3. Explicit Messaging

  1. In the Controller Organizer panel, expand Tasks > MainTask > MainProgram and double click the Parameters and Local Tags entry. Create tags for storing explicit messaging data. In this example, tags are created for sending data (Output) and receiving data (OutputQ).

../../../../../../_images/eip-studio5000-add-explicit-tags.svg

Fig. 11.13 Add necessary tags for explicit messages

Message-type tags are also created (OutputMsg and OutputQMsg). Next, create a message (MSG) block in the ladder diagram and enter OutputMsg in the block’s control field. Press the “…” button to open the message configuration dialog. Set the message type to CIP Generic, service to Set Attribute Single, class to A2, instance to 15, and attribute to 5. Set the source field to Output. In the Communication tab, press the Browse button and select the ALx Series.

  1. Repeat Step 8 for the OutputQ message block, changing the service to Get Attribute Single, the instance number to 16, and the destination to OutputQ.

../../../../../../_images/eip-studio5000-message-configuration.svg

Fig. 11.14 Configure MSG block for explicit messaging

The instance numbers can be found under Instances Listing. For example, the instance number to query the power setpoint (SetpointPwr read) is 518.

  1. Finish adding ladder elements to the program as needed. Once complete, in the top menu navigate to Communications > Who Active and find the PLC from the list of discovered devices. Select the Go Online button on the right side of the dialog to connect to the PLC. A popup should appear to download the program to the PLC.

    Example ladder diagram shows a basic example of ladder logic used to control the output of an SLx Series using the configured MSG blocks. The MSG blocks are either triggered manually over the network or directly by the user in the Studio 5000 program.

    ../../../../../../_images/eip-studio5000-full-ladder-diagram.svg

    Fig. 11.15 Example ladder diagram

11.6. Instances Listing

EIP Command

Write Instance

Read Instance

Description

Operation Commands

StatusQuesQ

N/A

11

Returns the value of the Questionable Status register

StatusOperQ

N/A

12

Returns the value of the Operation Status register

StatusRegQ

N/A

13

Status Register

Input

17

18

Enables or disables the DC input based on parameter setting

Measurement Commands

MeasCurrQ

N/A

257

Measures and returns the average current at the sense location

MeasVoltQ

N/A

258

Measures and returns the average voltage at the sense location

MeasPwrQ

N/A

259

Measures and returns the instantaneous DC power at sense location

MeasResQ

N/A

260

Measures and returns the instantaneous resistance at sense location

Setpoint Commands

SetpointCurr

513

514

Sets the current set-point

SetpointVolt

515

516

Sets the voltage set-point

SetpointPwr

517

518

Sets the power set-point

SetpointRes

519

520

Sets the resistance set-point

Trip Commands

OverTripCurr

769

770

Sets the over current trip (OCT) set-point

OverTripVolt

771

772

Sets the over voltage trip (OVT) set-point

OverTripPwr

773

774

Sets the over power trip (OPT) set-point

UnderTripVolt

775

776

Sets the under voltage trip (UVT) set-point

Slew Commands

RiseRampCurr

1025

1026

Sets the rising slew rate for current when in current regulation state

RiseRampVolt

1027

1028

Sets the rising slew rate for voltage when in voltage regulation state

RiseRampPwr

1029

1030

Sets the rising slew rate for power when in power regulation state

RiseRampRes

1031

1032

Sets the rising slew rate for resistance when in resistance regulation state

FallRampCurr

1033

1034

Sets the falling slew rate for current when in current regulation state

FallRampVolt

1035

1036

Sets the falling slew rate for voltage when in voltage regulation state

FallRampPwr

1037

1038

Sets the falling slew rate for power when in power regulation

FallRampRes

1039

1040

Sets the falling slew rate for resistance when in resistance regulation state

Control Commands

ControlMode

1283

1284

Sets the control mode

Function Generator Commands

FuncType

1537

1538

Sets the desired function for the integrated function generator

FuncSinAmpl

1539

1540

Sets the amplitude for the sinusoid function

FuncSinOff

1541

1542

Sets the DC offset from zero for the sinusoid function’s midline

FuncSinPrd

1543

1544

Sets the period for the sinusoid function

FuncSquLoLevel

1545

1546

Sets the low level amplitude for the square function

FuncSquHiLevel

1547

1548

Sets the high level amplitude for the square function

FuncSquLoPrd

1549

1550

Sets the period that the square function remains at the low level amplitude

FuncSquHiPrd

1551

1552

Sets the period that the square function remains at the high level amplitude

FuncStepLoLevel

1553

1554

Sets the low level amplitude for the step function

FuncStepHiLevel

1555

1556

Sets the high level amplitude for the step function

FuncRampLoLevel

1557

1558

Sets the low level amplitude for the ramp function

FuncRampHiLevel

1559

1560

Sets the high level amplitude for the ramp function

FuncRampRisePrd

1561

1562

Sets the period for the ramp function to transition from low to high level amplitude

FuncRampFallPrd

1563

1564

Sets the period for the ramp function to transition from high to low level amplitude

Configuration Commands

FactoryRestore

1793

N/A

Restores the factory EEPROM data

Lock

1795

1794

Locks and unlocks the product from configuration and set-point changes

SenseMode

1798

1799

Configures the sense location and automated compensation values

CommProt

1800

1801

Changes the communication protocol

SetSource

1802

1803

Sets the setpoint source

MagnaLinkMode

1804

1805

Changes the MagnaLINK mode to allow for standalone or master-slave configuration

MagnaLinkReinit

1806

N/A

Reinitialize all connected slaves

CoolingMode

1807

1808

Sets the cooling mode

11.6.1. Operation Commands

11.6.1.1. StatusQuesQ

This command queries and returns the values of the Questionable Register. This read-only register holds the live (unlatched) questionable statuses of the MagnaLOAD electronic load. Issuing this query does not clear the register. The bit configuration of the Questionable Register is shown in the table below.

Write Instance

11

Supported Service

Get

Register Count

1

Data Format

32-bit Integer

Questionable Register

Bit

Weight

Abbreviation

Description

0

1

OVP

over voltage protection, hard fault

1

2

OCT

over current trip, soft fault

2

4

OVT

over voltage trip, soft fault

3

8

OPT

over power trip, soft fault

4

16

OCP

over current protection, hard fault

5

32

OTP

over temperature protection, hard fault

6

64

RSL

remote sense loss, soft fault

7

128

SFLT

soft fault, the ord value of all soft faults

8

256

HFLT

hard fault, the ord value of all hard faults

9

512

ILOC

interlock open, soft fault

10

1024

IPL

input power loss fault, hard fault

11

2048

ADIF

analog or digital input fault, hard fault

11.6.1.2. StatusOperQ

This command queries and returns the values of the Operation Register. This read-only register holds the live (unlatched) operation statuses of the MagnaLOAD electronic load. Issuing this query does not clear the register. The bit configuration of the Operation Register is shown in the table below.

Write Instance

12

Supported Service

Get

Register Count

1

Data Format

32-bit Integer

Operation Register

Bit

Weight

Abbreviation

Description

0

1

STBY

standby

1

2

EN

enabled

2

4

RSEN

remote sense

3

8

LOCK

front panel locked

4

16

CC

constant current regulation, regulation status

5

32

CV

constant voltage regulation, regulation status

6

64

CR

constant resistance regulation, regulation status

7

128

CP

constant power regulation, regulation status

11.6.1.3. StatusRegQ

This command queries the Status Register. This read-only register holds the live (unlatched) operation status of the MagnaLOAD electronic load. Issuing a query does not clear the register. The register location and definitions are subject to change after any firmware release to accommodate new features. The Questionable Register is a subset of the status register and does not change between firmware updates. The present bit assignments are shown in the table below.

Write Instance

13

Supported Service

Get

Register Count

2

Data Format

32-bit Integer

Status Register 0

Bit

Name

Description

0

standby

output is in standby

1

live

output is active

2

solenoidStatus

aux power solenoid is open

3

nonhalt2

available

4

overCurrTrip

over current trip

5

overVoltTrip

over voltage trip

6

overPwrTrip

over power trip

7

remoteSenseLoss

remote sense voltage outside of acceptable bounds

8

underVoltTrip

under voltage trip

9

shutdown

target is creating a shutdown condition

10

linPwrLim

power across linear modules exceed ratings

11

resPwrLim

power across resistors exceed ratings

12

bootFailure

one or multiple target did not boot up

13

bootState

one or more targets are waiting to boot

14

phaseCurr

rated phase current exceeded

15

comm

communications are corrupted

16

overCurrProtect

terminal current exceeded product rating

17

overVoltProtect

terminal voltage exceeded product rating

18

tempRLin

linear module exceeded temperature

19

blownFuse

fuse is blown on the auxiliary power supply

20

interlock

interlock open

21

haltUserClear

available

22

maintenance

maintenance

23

tempDMod

diode modules exceeded temperature

24

incompatibleSysConfig

incompatible system configuration

25

stackOverflow

exceeded firmware stack

26

lineFault

line fault analog/digital inputs

27

tempRMod

resistor module exceeded temperature

28

belowRatedMinVolt

below minimum voltage rating(28)

29

outOfRegulation

out of regulation, unexpected currents measured

30

targetUpgrade

mainctrl upgrading other targets

31

haltSelfClear

available

Status Register 1

Bit

Name

Description

0

phaseLoss

one or more phase missing

1

blownFuseInput

input fuse blown on fuse/emi filter

2

fanLockedRotor

one or more fan’s rotor has locked

3

notUsed29

available

4

tempPwrMod

power processing module temperature fault

5

tempOutputMod

output filter module temperature fault

6

tempOutputCap

output capacitors temperature fault

7

tempTransformer

transformer exceeded temperature fault

8

notUsed26

available

9

notUsed27

available

10

notUsed28

available

11

notUsed1

available

12

notUsed2

available

13

notUsed3

available

14

notUsed4

available

15

notUsed5

available

16

invalidSysRating

invalid system rating

17

fwVersConflict

firmware version conflict

18

notUsed8

available

19

notUsed9

available

20

notUsed10

available

21

notUsed11

available

22

notUsed12

available

23

notUsed13

available

24

notUsed14

available

25

notUsed15

available

26

notUsed16

available

27

notUsed17

available

28

notUsed18

available

29

notUsed19

available

30

notUsed20

available

31

notUsed21

available

11.6.1.4. Input

This command enables or disables the MagnaLOAD electronic load input. The state of a disabled input is a high impedance condition.

Write Instance

17

Supported Service

Set

Register Count

1

Data Format

Boolean

Read Instance

18

Supported Service

Get

Register Count

1

Data Format

Boolean

11.6.2. Measurement Commands

11.6.2.1. MeasCurrQ

This query commands the MagnaLOAD electronic load to measure and return the average current through the DC terminals.

Write Instance

257

Supported Service

Get

Register Count

1

Data Format

32-bit Floating Point Number

11.6.2.2. MeasVoltQ

This query commands commands the MagnaLOAD electronic load to measure and return the average voltage at the DC terminals. If the remote sense function is used and engaged, this command returns the voltage measured at the sense terminals.

Write Instance

258

Supported Service

Get

Register Count

1

Data Format

32-bit Floating Point Number

11.6.2.3. MeasPwrQ

This query commands commands the MagnaLOAD electronic load to measure and return the average power at the DC terminals.

Write Instance

259

Supported Service

Get

Register Count

1

Data Format

32-bit Floating Point Number

11.6.2.4. MeasResQ

This query commands commands the MagnaLOAD electronic load to measure and return the average power at the DC terminals.

Write Instance

260

Supported Service

Get

Register Count

1

Data Format

32-bit Floating Point Number

11.6.3. Setpoint Commands

11.6.3.1. SetpointCurr

This command programs the current set-point that the MagnaLOAD electronic load will regulate to when operating in constant current mode.

Write Instance

513

Supported Service

Set

Register Count

1

Data Format

32-bit Floating Point Number

Read Instance

514

Supported Service

Get

Register Count

1

Data Format

32-bit Floating Point Number

11.6.3.2. SetpointVolt

This command programs the voltage set-point, in volts, which the MagnaLOAD electronic load will regulate to when operating in constant voltage mode.

Write Instance

515

Supported Service

Set

Register Count

1

Data Format

32-bit Floating Point Number

Read Instance

516

Supported Service

Get

Register Count

1

Data Format

32-bit Floating Point Number

11.6.3.3. SetpointPwr

This command programs the power set-point, in watts, which the MagnaLOAD electronic load will regulate to when operating in constant power mode.

Write Instance

517

Supported Service

Set

Register Count

1

Data Format

32-bit Floating Point Number

Read Instance

518

Supported Service

Get

Register Count

1

Data Format

32-bit Floating Point Number

11.6.3.4. SetpointRes

This command programs the resistance set-point, in ohms, which the MagnaLOAD electronic load will regulate to when operating in constant resistance mode.

Write Instance

519

Supported Service

Set

Register Count

1

Data Format

32-bit Floating Point Number

Read Instance

520

Supported Service

Get

Register Count

1

Data Format

32-bit Floating Point Number

11.6.4. Trip Commands

11.6.4.1. OverTripCurr

This command programs the over current trip (OCT) set-point. If the input current exceeds the over current trip set-point for multiple samples, the input is disconnected and an OCT fault is indicated.

Write Instance

769

Supported Service

Set

Register Count

1

Data Format

32-bit Floating Point Number

Read Instance

770

Supported Service

Get

Register Count

1

Data Format

32-bit Floating Point Number

11.6.4.2. OverTripVolt

This command programs the over voltage trip (OVT) set-point. If the input voltage exceeds the over voltage trip set-point for multiple samples, the input is disconnected and an OVT fault is indicated.

Write Instance

771

Supported Service

Set

Register Count

1

Data Format

32-bit Floating Point Number

Read Instance

772

Supported Service

Get

Register Count

1

Data Format

32-bit Floating Point Number

11.6.4.3. OverTripPwr

This command programs the over power trip (OPT) set-point. If the input power exceeds the over power trip set-point for multiple sample, the input is disconnected and an OPT fault is indicated.

Write Instance

773

Supported Service

Set

Register Count

1

Data Format

32-bit Floating Point Number

Read Instance

774

Supported Service

Get

Register Count

1

Data Format

32-bit Floating Point Number

11.6.4.4. UnderTripVolt

This command programs the under voltage trip (UVT) set-point. If the input voltage falls below the under voltage trip set-point for multiple samples, the input is disconnected and an UVT fault is indicated.

Write Instance

775

Supported Service

Set

Register Count

1

Data Format

32-bit Floating Point Number

Read Instance

776

Supported Service

Get

Register Count

1

Data Format

32-bit Floating Point Number

11.6.5. Slew Commands

11.6.5.1. RiseRampCurr

This command sets the current slew rate for increasing current transitions while in constant current regulation. MAXimum sets the slew to the fastest possible rate. MINimum sets the slew to the slowest rate. Slew rates less than the minimum value are set to MINimum. Slew rate settings less than the minimum value are set to MINimum. Slew rate settings greater than the maximum value are set to MAXimum.

Write Instance

1025

Supported Service

Set

Register Count

1

Data Format

32-bit Floating Point Number

Read Instance

1026

Supported Service

Get

Register Count

1

Data Format

32-bit Floating Point Number

11.6.5.2. RiseRampVolt

This command sets the voltage slew rate for increasing voltage transitions while in constant voltage regulation. The units for voltage slew rate are volts per millisecond. MAXimum sets the slew to the fastest possible rate. MINimum sets the slew to the slowest rate. Slew rates less than the minimum value are set to MINimum. Slew rate settings less than the minimum value are set to MINimum. Slew rate settings greater than the maximum value are set to MAXimum.

Write Instance

1027

Supported Service

Set

Register Count

1

Data Format

32-bit Floating Point Number

Read Instance

1028

Supported Service

Get

Register Count

1

Data Format

32-bit Floating Point Number

11.6.5.3. RiseRampPwr

This command sets the power slew rate for increasing power transitions while in constant power regulation. The units for power slew rate are watts per millisecond. MAXimum sets the slew to the fastest possible rate. MINimum sets the slew to the slowest rate. Slew rates less than the minimum value are set to MINimum. Slew rate settings less than the minimum value are set to MINimum. Slew rate settings greater than the maximum value are set to MAXimum.

Write Instance

1029

Supported Service

Set

Register Count

1

Data Format

32-bit Floating Point Number

Read Instance

1030

Supported Service

Get

Register Count

1

Data Format

32-bit Floating Point Number

11.6.5.4. RiseRampRes

This command sets the resistance slew rate for increasing resistance transitions while in constant resistance regulation. The units for resistance slew rate are ohms per millisecond. MAXimum sets the slew to the fastest possible rate. MINimum sets the slew to the slowest rate. Slew rates less than the minimum value are set to MINimum. Slew rate settings less than the minimum value are set to MINimum. Slew rate settings greater than the maximum value are set to MAXimum.

Write Instance

1031

Supported Service

Set

Register Count

1

Data Format

32-bit Floating Point Number

Read Instance

1032

Supported Service

Get

Register Count

1

Data Format

32-bit Floating Point Number

11.6.5.5. FallRampCurr

This command sets the current slew rate for decreasing current transitions while in constant current regulation. MAXimum sets the slew to the fastest possible rate. MINimum sets the slew to the slowest rate. Slew rates less than the minimum value are set to MINimum. Slew rate settings less than the minimum value are set to MINimum. Slew rate settings greater than the maximum value are set to MAXimum.

Write Instance

1033

Supported Service

Set

Register Count

1

Data Format

32-bit Floating Point Number

Read Instance

1034

Supported Service

Get

Register Count

1

Data Format

32-bit Floating Point Number

11.6.5.6. FallRampVolt

This command sets the voltage slew rate for decreasing voltage transitions while in constant voltage regulation. The units for voltage slew rate are volts per millisecond. MAXimum sets the slew to the fastest possible rate. MINimum sets the slew to the slowest rate. Slew rates less than the minimum value are set to MINimum. Slew rate settings less than the minimum value are set to MINimum. Slew rate settings greater than the maximum value are set to MAXimum.

Write Instance

1035

Supported Service

Set

Register Count

1

Data Format

32-bit Floating Point Number

Read Instance

1036

Supported Service

Get

Register Count

1

Data Format

32-bit Floating Point Number

11.6.5.7. FallRampPwr

This command sets the power slew rate for decreasing power transitions while in constant power regulation. The units for power slew rate are watts per millisecond. MAXimum sets the slew to the fastest possible rate. MINimum sets the slew to the slowest rate. Slew rates less than the minimum value are set to MINimum. Slew rate settings less than the minimum value are set to MINimum. Slew rate settings greater than the maximum value are set to MAXimum.

Write Instance

1037

Supported Service

Set

Register Count

1

Data Format

32-bit Floating Point Number

Read Instance

1038

Supported Service

Get

Register Count

1

Data Format

32-bit Floating Point Number

11.6.5.8. FallRampRes

This command sets the resistance slew rate for decreasing resistance transitions while in constant resistance regulation. The units for resistance slew rate are ohms per millisecond. MAXimum sets the slew to the fastest possible rate. MINimum sets the slew to the slowest rate. Slew rates less than the minimum value are set to MINimum. Slew rate settings less than the minimum value are set to MINimum. Slew rate settings greater than the maximum value are set to MAXimum.

Write Instance

1039

Supported Service

Set

Register Count

1

Data Format

32-bit Floating Point Number

Read Instance

1040

Supported Service

Get

Register Count

1

Data Format

32-bit Floating Point Number

11.6.6. Control Commands

11.6.6.1. ControlMode

This command configures the MagnaLOAD electronic load’s control mode. Control Modes provides more information about the various options.

Write Instance

1283

Supported Service

Set

Register Count

1

Data Format

16-bit Integer

Read Instance

1284

Supported Service

Get

Register Count

1

Data Format

16-bit Integer

11.6.7. Function Generator Commands

11.6.7.1. FuncType

This command selects the desired function for the integrated function generator, which is active when the product’s set point source is set to function generator.

Write Instance

1537

Supported Service

Set

Register Count

1

Data Format

16-bit Integer

Read Instance

1538

Supported Service

Get

Register Count

1

Data Format

16-bit Integer

11.6.7.2. FuncSinAmpl

This command sets the amplitude (Adc) for the sinusoid function when the set point source is set to 1 (function generator) and the function type is set to 0 (sinusoid).

Write Instance

1539

Supported Service

Set

Register Count

1

Data Format

32-bit Floating Point Number

Read Instance

1540

Supported Service

Get

Register Count

1

Data Format

32-bit Floating Point Number

11.6.7.3. FuncSinOff

This command sets the DC offset from zero (Adc) for the sinusoid function midline when the set point source is set to 1 (function generator) and the function type is set to 0 (sinusoid).

Write Instance

1541

Supported Service

Set

Register Count

1

Data Format

32-bit Floating Point Number

Read Instance

1542

Supported Service

Get

Register Count

1

Data Format

32-bit Floating Point Number

11.6.7.4. FuncSinPrd

This command sets the period (milliseconds) for the sinusoid function when the set point source is set to 1 (function generator) and the function type is set to 0 (sinusoid). The sinusoid’s period is the length of one full cycle.

Write Instance

1543

Supported Service

Set

Register Count

1

Data Format

32-bit Floating Point Number

Read Instance

1544

Supported Service

Get

Register Count

1

Data Format

32-bit Floating Point Number

11.6.7.5. FuncSquLoLevel

This command sets the low level amplitude for the square function when the set point source is set to 1 (function generator) and the function type is set to 1 (square).

Write Instance

1545

Supported Service

Set

Register Count

1

Data Format

32-bit Floating Point Number

Read Instance

1546

Supported Service

Get

Register Count

1

Data Format

32-bit Floating Point Number

11.6.7.6. FuncSquHiLevel

This command sets the high level amplitude for the square function when the set point source is set to 1 (function generator) and the function type is set to 1 (square).

Write Instance

1547

Supported Service

Set

Register Count

1

Data Format

32-bit Floating Point Number

Read Instance

1548

Supported Service

Get

Register Count

1

Data Format

32-bit Floating Point Number

11.6.7.7. FuncSquLoPrd

This command sets the period/duration (milliseconds) that the square function remains at the low level amplituide when the set point source is set to 1 (function generator) and the function type is set to 1 (square).

Write Instance

1549

Supported Service

Set

Register Count

1

Data Format

32-bit Floating Point Number

Read Instance

1550

Supported Service

Get

Register Count

1

Data Format

32-bit Floating Point Number

11.6.7.8. FuncSquHiPrd

This command sets the period/duration (milliseconds) that the square function remains at the low level amplituide when the set point source is set to 1 (function generator) and the function type is set to 1 (square).

Write Instance

1551

Supported Service

Set

Register Count

1

Data Format

32-bit Floating Point Number

Read Instance

1552

Supported Service

Get

Register Count

1

Data Format

32-bit Floating Point Number

11.6.7.9. FuncStepLoLevel

This command sets the low level amplitude for the step function when the set point source is set to 1 (function generator) and the function type is set to 2 (step).

Write Instance

1553

Supported Service

Set

Register Count

1

Data Format

32-bit Floating Point Number

Read Instance

1554

Supported Service

Get

Register Count

1

Data Format

32-bit Floating Point Number

11.6.7.10. FuncStepHiLevel

This command sets the high level amplitude for the step function when the set point source is set to 1 (function generator) and the function type is set to 2 (step).

Write Instance

1555

Supported Service

Set

Register Count

1

Data Format

32-bit Floating Point Number

Read Instance

1556

Supported Service

Get

Register Count

1

Data Format

32-bit Floating Point Number

11.6.7.11. FuncRampLoLevel

This command sets the low level amplitude for the ramp function when the set point source is set to 1 (function generator) and the function type is set to 3 (ramp).

Write Instance

1557

Supported Service

Set

Register Count

1

Data Format

32-bit Floating Point Number

Read Instance

1558

Supported Service

Get

Register Count

1

Data Format

32-bit Floating Point Number

11.6.7.12. FuncRampHiLevel

This command sets the high level amplitude for the ramp function when the set point source is set to 1 (function generator) and the function type is set to 3 (ramp).

Write Instance

1559

Supported Service

Set

Register Count

1

Data Format

32-bit Floating Point Number

Read Instance

1560

Supported Service

Get

Register Count

1

Data Format

32-bit Floating Point Number

11.6.7.13. FuncRampRisePrd

This command sets the period/duration (milliseconds) for the ramp function to transition from the low level amplitude to the high level amplitude when the set point source is set to 1 (function generator) and the function type is set to 3 (ramp).

Write Instance

1561

Supported Service

Set

Register Count

1

Data Format

32-bit Floating Point Number

Read Instance

1562

Supported Service

Get

Register Count

1

Data Format

32-bit Floating Point Number

11.6.7.14. FuncRampFallPrd

This command sets the period/duration (milliseconds) for the ramp function to transition from the high level amplitude to the low level amplitude when the set point source is set to 1 (function generator) and the function type is set to 3 (ramp).

Write Instance

1563

Supported Service

Set

Register Count

1

Data Format

32-bit Floating Point Number

Read Instance

1564

Supported Service

Get

Register Count

1

Data Format

32-bit Floating Point Number

11.6.8. Configuration Commands

11.6.8.1. FactoryRestore

This command performs a factory restore to default EPROM values. Both Soft Restore and Hard Restore are available through command parameters.

Write Instance

1793

Supported Service

Set

Register Count

1

Data Format

16-bit Integer

11.6.8.2. Lock

This command configures the MagnaLOAD electronic load’s lock state. While locked, the stop button is the only functional button on the front panel. See Lock for more details on how lock works and how behaves relative to other locking inputs (front panel and digital input).

Write Instance

1795

Supported Service

Set

Register Count

1

Data Format

Boolean

Read Instance

1794

Supported Service

Get

Register Count

1

Data Format

Boolean

11.6.8.3. SenseMode

This command configures where the MagnaLOAD electronic load senses voltage. The sense location also effects how power and resistance are calculated. Local sensing monitors the directly across the output terminals. Remote sensing, as described in Remote Sense Connection, measures across the terminal JS2. This external connection can be used to improve regulation at the point of load, as is needed for example, in compensating voltage drops caused by wire resistance.

Write Instance

1798

Supported Service

Set

Register Count

1

Data Format

16-bit Integer

Read Instance

1799

Supported Service

Get

Register Count

1

Data Format

16-bit Integer

11.6.8.4. CommProt

This command changes the command protocol of the MagnaLOAD electronic load.

Write Instance

1800

Supported Service

Set

Register Count

1

Data Format

16-bit Integer

Read Instance

1801

Supported Service

Get

Register Count

1

Data Format

16-bit Integer

11.6.8.5. SetSource

The command selects and routes different set points sources to the digital controller. Operation of this feature is described in Set Point Source. By default, the source is set to local (value 0), where set points originating from the front panel or communication interfaces are routed to the ALx Series digital control. When the source is set to function generator (value 1), set points are generated internally, by a periodic function generator block. When external analog input (value 3) is set, the voltage(s) applied to the rear connector are converted into set points.

Write Instance

1802

Supported Service

Set

Register Count

1

Data Format

16-bit Integer

Read Instance

1803

Supported Service

Get

Register Count

1

Data Format

16-bit Integer

11.6.8.6. MagnaLinkMode

This command changes the MagnaLINK mode to allow for standalone or master-slave configurations.

Write Instance

1804

Supported Service

Set

Register Count

1

Data Format

16-bit Integer

Read Instance

1805

Supported Service

Get

Register Count

1

Data Format

16-bit Integer

11.6.8.7. MagnaLinkReinit

This command should be used to reinitialize system ratings when a slave is added or removed from a master-slave configuration.

Write Instance

1806

Supported Service

Set

Register Count

1

Data Format

16-bit Integer

11.6.8.8. CoolingMode

This command configures the MagnaLOAD electronic load’s cooling mode. In Automatic Cooling mode (value 0), the cooling output is regulated automatically based on internal operating conditions. In Maximum Cooling mode (value 1), the cooling output is forced on at full capacity. When queried, the command returns two comma-separated values: the configured cooling mode followed by the current solenoid state (0 = OFF, 1 = ON) on water-cooled units, or 0 on air-cooled units.

Write Instance

1807

Supported Service

Set

Register Count

1

Data Format

16-bit Integer

Read Instance

1808

Supported Service

Get

Register Count

1

Data Format

16-bit Integer