J1939 Remote Data Overview and Protocol
J1939 Remote Data Overview and Protocol
J1939
ATA
CANOpen
Caterpillar CCM
EAC-300
IHCS
Line In
Modbus Master
Modbus Slave
MG
MRU
MTU Slave
NMEA2K
NMEA Listener
NMEA Talker
OPC Client
SF_Control
Simulation
System IO
Tank Calculation
TCP/IP
TTP
TXT
J1939 – Plugin
Introduction
J1939 is a set of standards defined by SAE. They are used in heavy-duty vehicles (trucks and buses, mobile hydraulics,
etc.)
In many ways, J1939 is similar to the older J1708 and J1587 standards, but J1939 is built on CAN.
The physical layer (J1939/11) describes the electrical interface to the bus. The data link layer (J1939/21) describes the
rules for constructing a message, accessing the bus, and detecting transmission errors. The application layer (J1939/71
and J1939/73) defines the specific data contained within each message sent across the network.
Quick facts
- Higher-layer protocol built on CAN
- Used in heavy-duty vehicles
- The speed is nearly always 250 kbit/s
J1939 uses the 29-bit identifier defined within the CAN 2.0B protocol shown in Figure 1. The identifier is used slightly
different in a message with a destination address (”PDU 1”) compared to a message intended for broadcast (”PDU 2”).
The SOF, SRR, and IDE bits are defined by the CAN standard and will be ignored here. The RTR bit (remote request
bit) is always set to zero in J1939.
Priority Reserved Data page PDU format PDU specific Source Address
3 bits 1 bit 1 bit 8 bits 8 bits 8 bits
Table 1: Structure of a 29-bit identifier.
The first three bits of the identifier are used for controlling a message’s priority during the arbitration process. A value
of 0 has the highest priority. Higher priority values are typically given to high-speed control messages, for example, the
torque control message from the transmission to the engine. Messages containing data that is not time critical, like the
vehicle road speed, are given lower priority values.
The next bit of the identifier is reserved for future use and should be set to 0 for transmitted messages.
The next bit in the identifier is the data page selector. This bit expands the number of possible Parameter Groups that
can be represented by the identifier.
The PDU format (PF) determines whether the message can be transmitted with a destination address or if the message
is always transmitted as a broadcast message.
The interpretation of the PDU specific (PS) field changes based on the PF value:
- If the PF is between 0 and 239, the message is addressable (PDU1) and the PS field contains the destination address.
- If the PF is between 240 and 255, the message can only be broadcast (PDU2) and the PS field contains a Group
Extension.
The Group extension expands the number of possible broadcast Parameter Groups that can be represented by the
identifier.
The term Parameter Group Number (PGN) is used to refer to the value of the Reserve bit, DP, PF, and PS fields
combined into a single 18 bit value.
Example: The ID 0xCF004EE can be divided into the following fields in table 2.
The main purpose of the Name is to describe an ECU. The lower Function field values, 0 to 127, are pre-assigned to
"standard" functions or devices. The values 128 to 254 are dependent on the Industry Group and the Vehicle System
values. This dependence makes it possible to have the same arrangement of functions in different vehicles. This system
also allows devices such as trailers and agricultural equipment to limit their search for an available address and thus
minimize the time and difficulty of dynamically claiming an address. When claiming an address, the Name is used to
determine which ECU has higher priority and therefore will get the address that was claimed.
Each device on the network will be associated with at least one Name and one address. However, multiple device
Names and multiple addresses may coexist within a single ECU. For example, an engine and engine brake (retarder)
residing in a common device with a single physical bus connection. The device address defines a specific
communications source or destination for messages. The Name identifies the functionality and adds a unique instance
number of that functionality when multiple devices of the same type coexist on the network. Only 254 different devices
of the same type can coexist on the network due the address limit. Address 255 is reserved as a global address for
broadcast and address 254 is reserved as the "null address" used by devices that have not yet claimed an address or
failed to claim an address.
Address Claim
In general, most addresses are pre-assigned and used immediately upon power up. In order to permit J1939 to
accommodate future devices and functions which have not yet been defined, a procedure has been specified for
dynamically assigning addresses. Each device must announce which address it is associated with. This is the
identification (address claim) feature. Two options are available:
When a device sends an Address Claim message to claim an address, all devices compare this newly claimed address to
their own table of devices on the network. If the address is already claimed by a device with a higher priority, that
device transmits an Address Claim message indicating that the address is already in use. The Name, which is sent as
data in the Address Claim message, determines which device has higher priority.
When a device sends a Request for Address Claim, all devices respond by transmitting their Address Claimed
messages. This permits transitional devices (tools, trailers, etc.) or devices powering up late to obtain the current address
table so that an available address can be selected and claimed. See figure 2.
Dynamic address assignment support is optional and only those devices which might be expected to encounter address
conflicts must support this capability. To eliminate the need to support dynamic address assignment and speed up this
“identity process”, most ECUs are associated with a preferred address. These preferred addresses are described in the
document J1939/71. If the preferred address is already in use by another ECU, the device can attempt to claim another
address if self-configuration is supported by the device.
TP_BAM messages
TP_BAM messages use a global destination address which means that all devices on the network will receive these
messages. The transmission is started with a Connection Management (CM) message, PGN = 0x00EC00, with a
Control byte indicating TP_BAM. The message data follows in Data Transfer (DT) messages, PGN = 0x00EB00.
TP_CM messages
TP_CM messages are sent point to point between two devices. The transmission starts with a CM message with a
Control byte indicating Request To Send (RTS). The receiving device responds with a CM message with the Control
byte indicating Clear To Send (CTS). The transmitting device then sends the portion of the data indicated in the CTS
using DT messages. This handshake of CTS then DT messages continues until the entire message is transmitted. The
connection is terminated at the completion of the message by the receiver transmitting a CM message with a Control
byte indicating End Of Message Acknowledgement (EOM). Note that for this process to work, the CM message
contains additional data based on what the control byte is. The RTS includes: number of bytes, number of packets and
the PGN whose data will be transported. The CTS includes the number of packets the receiver expects next and the
packet number to start with.
1) If a message is a destination specific request or command, the device must determine if the destination address
matches an address claimed by the device. If there is a match, the receiving device must process the message and
provide some type of acknowledgment.
2 ) If a message is a global request, every device, even the originator, must process the request and respond if the data
is available.
3) If a message is broadcast, each device must determine if the content is of relevance or not.
The J1939 network may actually be composed of multiple segments, with an in-line device known as a bridge present
between them. These segments do not need to be directly compatible with each other. For instance, the segments may
run at different data rates or use a different physical medium. The main function of the bridge is to provide electrical
isolation between segments. In the event of a break on the wire between the tractor and trailer, the main J1939 segment
on the tractor will continue to function. The bridge can also selectively filter which messages need to be stored and
forwarded from one segment to another.
The last byte of the CAN-ID is the Source Address (address of the sending device) which in this case is 1.
The PGN = 0x0F004 which corresponds to the Electric Engine Controller #1 (EEC1) according to the J1939/71
document. This document also describes the parameters and their position within the data bytes. The data field consists
of the following bytes in this example:
Data bytes FF FF 82 DF 1A FF FF FF
Position 1 2 3 4 5 6 7 8
Data bytes 1, 2, 6, 7 and 8 in this example are not available and are therefore set to 0xFF. No raw parameter value
(single byte) could have the value 0xFF.
Data byte 3 is the parameter Actual engine percent torque. The raw value 0x82 is 130 decimal. According to the
J1939/71 document the scaling 1% per bit and the offset is -125. Therefore, the actual value for this parameter is 5%.
Data bytes 4 and 5 form the parameter Engine speed. The first byte (4) is the least significant (Intel byte order). The
raw value 0x1ADF = 6879 decimal. The scaling is 0.125 rpm per bit and the offset is 0. The actual value for this
parameter is therefore just under 859.875 rpm.
Shortcuts
Icon:
Interval Time between Minimal Time between two messages before reporting an error
1000
Messages (50-100000 in milli-seconds
Update Time channel Data to When this protocol running on Server, IOServer uses this time to
Plugin update channel values 1000
(50-100000 in milli-seconds
Can Speed Speed Setting for Canbus 125K, 250k, 500k 1M etc. 250k
Use PGN Resolution* when receiving channel value scale to a certain resolution - yes/no yes
Use PGN Offset* when receiving channel value recalc with a certain offset - yes/no yes
* remark : resolution and offset are configured inside J1939 Messages List.
See also:
J1939 Plugin
J1939 – Connection List
Field Description
Nr Number, row number
PGN PGN hex Number, see Message List
Channel Channel to retrieve Value from (Analog in)
eq. Leaving field empty, this will delete entry
Desc Description of PGN
See also:
J1939 Plugin
J1939 – Messages List
Field Description
Nr row index of this grid, this number will be used in connection list
PGN indentifier of message which will be received and handle by this plugin
PGN_16 same as PGN now displayed in hex code
Byte Order Index number where data starts
Description commentary on message for documentation only
Nr Of Bytes data size of value
Priority Priority level of Message
Resolution value scale to engineering unit
Offset value scale with offset
BitNr start of bit number for digital status only
See also:
J1939 Plugin
J1939 – Diagnostic List
Field Description
Nr row index of this grid
Channel Digital Channel which will be triggered into alarm/status high when fault occurs
SPN Suspect Parameter Number
FMI Failure Mode Identifier
Description FMI Description
J1939 DTC
In SAE J1939, the acronym DTC stands for Diagnostic Trouble Code, also known as a fault code, and serves to
identify the failed parameter. A DTC contains the Suspect Parameter Number (SPN) for the failed parameter, how
many times failure has occured (OC), and how it has failed (FMI).
Active DTCs are transmitted by the DM1* message while non-active DTCs (i.e. historic) are transmitted by the
DM2 message. The DM1 and DM2 messages may contain multiple DTCs which mean the message may be
transmitted using the Transport Protocol (TP). Both the DM1 and DM2 messages are defined by the J1939-73
specification.
DTC Definition:
Suspect Parameter Number (SPN) 19 bits
Failure Mode Identifier (FMI) 5 bits
Occurrence Count (OC) 7 bits
SPN Conversion Method (CM) 1 bit
SPNs that share common characteristics will be grouped into a Parameter Group (PG) and will be transmitted to the
network using the same PGN.
See also:
J1939 Plugin
LI – Line In Plugin
Message Format
<String>
In detail:
Where a sub string is a text to identify a unique line in the received data
Examples:
4:59p07aprAlarm! 66 PIR BD FBD P In Area #2 BRIDGE DECK
5:02p07aprRestore! 70 PIR BD AFT S In Area #2 BRIDGE DECK
Shortcuts
Icon:
See also:
Line In Plugin
LineIn – Connection List
Field Description
Channel Channel number to update (Analog in; Digital in; Analog out; Digital out)
Sub String
first find string
1
Sub String
second find string
2
Sub String
third find string
3
Value Update value, (if setuped line is received, channel is updated with this value) (Alarm/Normal for
Digital in/out or numeric value for Analog in/out)
Description Channel Description, information
Remarks:
See also:
Line In Plugin
MBM – Modbus Master Plugin
Inputs
Outputs
Remark: There is no use for a treeview items like "MBM - Query Table 05" or 06.
Because the number of registers is 1 at function 05 and 06.
In this case Modbus Master will send a complete message with only one status or value.
Structures are sent according Motorola (MSB LSB or Big Endian) processor set.
For value extension and value precision another types of register handling is available.
float (32 bits, contains one sign bit and exponent (two complement) and 23 bit mantissa)
Furthermore there could be a distinction between low byte and high byte sending/receiving order. (Abbreviation
L/H or H/L) Normally H/L is most frequently used.
Therefore a Modbus register is always 16 bits, two registers addresses are used for a 32 bit value presentation.
RTU
ASCII
:010202FFFF
LRC+ Example Function 02 digital status exception reply
:018202LRC+CR+LF
To get the status of the points with MODBUS address 100 to 113, when e.g. the points on address 103 and 108 are
'on' and the other points are 'off':
Slave number : 1
Note: that the second data byte in the reply contains 2 dummy coils, their value is supposed random (here taken to
be 'off') but do contribute to the CRC.
Request:
Description Size Range
Slave Number 1 Byte 0x01 .. 0xFF
Function code 1 Byte 0x17
Read Starting Address 2 Bytes 0x0000 .. 0xFFFF
Quantity to Read 2 Bytes 0x0001 .. 0x007D
Write Starting Address 2 Bytes 0x0000 .. 0xFFFF
Quantity to Write 2 Bytes 0x0001 .. 0X0079
Write Byte Count 1 Byte 2 x N*
Write Registers Value N*x 2 Bytes -
Error Check 2 Bytes CRC
*N = Quantity to Write
Response:
Description Size Range
Slave Number 1 Byte 0x01 .. 0xFF
Function code 1 Byte 0x17
Byte Count 1 Byte 2 x N*
Read Registers Value N*x 2 Bytes -
Error Check 2 Bytes CRC
*N' = Quantity to Read
Expection Codes:
01 ILLEGAL FUNCTION
The function code received in the query is not an allowable action for the server (or slave).
This may be because the function code is only applicable to newer devices, and was not implemented in the unit
selected.
It could also indicate that the server (or slave) is in the wrong state to process a request of this type,
for example because it is unconfigured and is being asked to return register values.
05 ACKNOWLEDGE
Specialized use in conjunction with programming commands.
The server (or slave) has accepted the request and is processing it, but a long duration of time will be require
dto do so. This response is returned to prevent a timeout error from occurring in the client (or master).
The client (or master) can next issue a Poll Program Complete message to determine if processing is completed.
For more information reference the Modbus Specification PI_MBUS_300.pdf Revision A, See
[Link]
Shortcuts
Icon:
Place: Plugins\
MBM – General Settings
Header settings
Protocol settings
(default Signed)
Device settings
Timing settings
Response Time Maximum Time between Query and Answer, when time expires a retry is done.
Out Modbus Slave Device must supply this information
50-5000 millisec
(default: 200)
Number Of Number of re-queries before a slave not present is generated.
Retries Before 0 - 10
Failure (default: 3)
Check Interval Time between queries to not present Slaves to see if they are present now. 200-300000 millisec
(default: 5000)
Inter Time allowed between received bytes, is not trustworthy on Server.
Character 0-10000 bits
Length (default: 3000)
value may NOT be smaller when protocol running on Server
Processor XP eq. 125, when long Queries are retried increase value until responses are
received.
Values to zero after a certain time ('Refresh time' * 'Number Of Retries Before Failure')
if no and nothing is received (no response on any Query)
communication the to be received values and statusses will be defaulted to zero
(default unchecked/off)
See also:
By pressing on column “Slave Nr” a sort action is performed, first time ascending second descending.
Field/Control Function
Check Button Check if all connection list items are inside the configured modbus queries
Remark: There is no use for a treeview items like "MBM - Query Table 05" or 06.
Because the number of registers is 1 at function 05 and 06.
In this case only configuration at force connection list is sufficient.
See also:
Address Modbus address of modbus function where value is retrieved from. 0...65535
By pressing on column “Channel” or “Slave” or “Function” or “Address” a sort action is performed. First time
ascending second time descending.
Return Button: Return from gateway, only available when getting there from a channel configuration (status/value
link)
Tip: For fast configuration, configure a field, select one column and multiple rows by mouse, (click on first
column, keep mouse left button down, drag mouse pointer to next row) and press CTRL+D
Slave field in single slave mode will not be editable and show general slave number.
Register-handling field is non-editable when overruling Register Handling is active this is when:
- General Register Handling isn't Free
- Queries Register Handling for the Modbus Slave/Function where Modbus Address is part of isn't free
- Digital status/coil or binary packed register
Example: Function 23
See also:
By pressing on column “Channel” or “Slave” or “Function” or “Address” a sort action is performed. First time
ascending second time descending.
Return Button: Return from gateway, only available when getting there from a channel configuration (status/value
link)
Tip: For fast channel configuration, configure last line complete, press not enter at the last column, go back to first
column, give a channel range in (like 10101-10125) and press enter, now multiple rows are created!
Slave field in single slave mode will not be editable and show general slave number.
Register-handling field is non-editable when overruling Register Handling is active this is when:
- General Register Handling isn't Free
- Queries Register Handling for the Modbus Slave/Function where Modbus Address is part of isn't free
- Digital status/coil or binary packed register
Scale 1 means rounded whole channel values are send.
Scale *10 means rounded whole 'channel values*10' are send.
Scale /10 means rounded whole 'Channel values/10' are send.
Example: Function 23
See also:
Structures are sent according Motorola (MSB LSB or Big Endian) processor set.
For Read Connection list it’s possible to send with function 03 or 04 16 digital values mapped to one modbus
address. For each value specify the bitnumber within this address. (not for modicon addressing)
For more information reference the Modbus Specification PI_MBUS_300.pdf Revision A, See
[Link]
Shortcuts
Icon:
Header settings
Protocol settings
(default Mapping)
Value 8000H Offset Selected zero point becomes 0x8000 (replaces sign bit) (default: deselected)
Inhibits Masks Alarm true: if channel is inhibited all alarm bits return zero irrespective their actual value
false: all alarm bits return actual value whether inhibited or not
Device settings
Timing settings
Remarks:
When protocol running on Processor only the com2 port can be used and is overruled in the board software.
When protocol running on Server a com port can only be used by one Application/Plug-in.
See also:
A modbus master receives channel information from the slave. (=Output List)
Sorting
By pressing on column “Channel” or ”Function” a sort action is performed, first time ascending second descending.
Addres field of actual message depends on Addres Mode, MBS - General Settings
Option Conversion
“Mapping / No Offset” straight copy of address
“Mapping / Offset - 1” address - 1
“Modicon Style” Function Conversion
01 address - 1
02 address - 10001
03 address - 40001
04 address - 30001
Tips: For fast channel configuration, configure the last line complete, press not enter at the last column, go back to
first column, give a channel range in (like 10101-10125) and press enter, now multiple rows are created!
See also:
By pressing on column “Channel” a sort action is performed, first time ascending second descending.
Return Button: Return from gateway, only available when getting there from a channel configuration (status/value
link)
Addres field of actual message depends on Addres Mode, MBS - General Settings
Option Conversion
“Mapping / No Offset” straight copy of address
“Mapping / Offset - 1” address - 1
“Modicon Style” Function Conversion
05/15 address - 1
06/16 address - 40001
Tips: For fast channel configuration, configure the last line complete, press not enter at the last column, go back to
first column, give a channel range in (like 10101-10125) and press enter, now multiple rows are created!
See also:
Modbus Slave Plugin
Modbus slave read connection list
MBS - Diagnostics
Diagnostic is generated when the comport can not be used, while active the plugin will try to open the
comport.
Solution: Configure an unused comport; Close application using comport or attach the USB device
Diagnostic is generated when runtime receives no reply from Modbus slave device
Diagnostic is generated when modbus slave receives data before an Answer can be made/send
Diagnostic is generated when Modbus slave receives no data for a "Master disconnected timeout" time
Solution: check if all wires are correct from Modbus Master to Modbus slave
Diagnostic is generated when Modbus slave receives no requests for it's Slave Number for a "Master
disconnected timeout" time
Solution: check in Modbus master if data is retrieved from configured Slave number, or change Modbus
slave Slave number
Legend
Tag Replaced by
(RD%32) Remote data number eq. 31
See also:
This communication protocol is associated with the 3DM-GX1™ Gyro Enhanced Orientation Sensor delivered by
MicroStrain.
Example of message:
Function: The 3DM-GX1™ will transmit the gyro-stabilized Euler Angles and the Instantaneous Acceleration
Vector and the drift compensated Angular Rate vector.
Number Description
Command Byte: 0x31
Command Data: None
Response: 23 bytes defined as follows
Byte 1 Header byte = 0x31
Byte 2 Roll MSB
Byte 3 Roll LSB
Byte 4 Pitch MSB
Byte 5 Pitch LSB
Byte 6 Yaw MSB
Byte 7 Yaw LSB
Byte 8 Accel_X MSB
Byte 9 Accel_X LSB
Byte 10 Accel_Y MSB
Byte 11 Accel_Y LSB
Byte 12 Accel_Z MSB
Byte 13 Accel_Z LSB
Byte 14 CompAngRate_X MSB
Byte 15 CompAngRate_X LSB
Byte 16 CompAngRate_Y MSB
Byte 17 CompAngRate_Y LSB
Byte 18 CompAngRate_Z MSB
Byte 19 CompAngRate_Z LSB
Byte 20 TimerTicks MSB
Byte 21 TimerTicks LSB
Byte 22 Checksum MSB
Byte 23 Checksum LSB
Euler
This is the set of three Euler angles (Pitch, Roll, and Yaw) which describe the orientation of the 3DM-GX1™ with
respect to the fixed earth. These angles are calculated according to the “ZYX” or “Aircraft” coordinate system.
Users should be aware that there are other valid formulations of Euler Angles that will yield different results. The
earth fixed coordinate system has X pointing North, Y pointing East, and Z pointing down. The Euler quantities are
derived from the Accel and MagField vectors, and therefore do not incorporate any gyroscopic stabilization. If the
3DM-GX1™ is exposed to linear accelerations, or magnetic interference, artifacts will be present. The Roll and
Yaw angles have a range of –32768 to +32767 representing –180 to +180 degrees. The Pitch angle has a range of –
16384 to +16383 representing –90 to +90 degrees. To obtain angles in units of degrees, the integer outputs should
multiplied by the scaled factor (360/65536).
The user should be aware that the Euler angle formulation in general contains a mathematical singularity at Pitch =
+90 or –90 degrees. In practice, poor numerical results will be present if the Pitch angle exceeds +/-70 degrees. In
applications where the Pitch angle cannot be guaranteed to exceed these values, it is recommended that the
orientation matrix output be utilized instead.
SMC2
The Ship Data is received at a message frequency of 100Hz +/- 1Hz, and at a timing interval (first byte of
successive messages) of 10ms +/-1 ms. This ensures a regular and consistent data input to the system.
The serial messages are sent at 38400 bps, 8 data bits, 1 start bit, 1 stop bit, even Parity. (total 11 bits per
character).
The interface will be receive-only. No software or hardware handshaking will be employed. Messages will be
checked on receipt for parity and credible data content.
NOTES
Note 1 : Pitch/Roll Value = 360/(232).
0 (0000000000 Hex) = 0 degrees
1 (0000000001 Hex) = +0.00000008382 Degrees
-1 (0FFFFFFFF Hex)= -0.00000008382 Degrees
HPR 400
Header Information
Index Content Size
000 Start character BYTE
001 Block length N WORD_16
003 Message type BYTE
004 Destination BYTE
005 Data Block with N bytes
N+5 Sumcheck WORD_16
N+7 Stop character BYTE
Block length The block length defines the length of the data block.
Message type The message type defines the message transmitted. It is a number between 1 and 255.
Destination The destination defines the device to which this telegram is transferred. It is not in use, and it is
always set to 0.
LBL position
The LBL position telegram contains a position relative to the origin of the Tp array.
The position is of the vessel or of another object.
The telegram is transmitted each time a new position is calculated.
If the Transponder array is north oriented, the coordinates are relative to true North, else they are relative to local
north.
Data Block of Message 2
Nr Block content Size
1 Sequence_number WORD_16
2+3 Time_header (7)* BYTE
4 Interrogation_age WORD_16
5 Tp_array BYTE
6 Td_num BYTE
7 Pos_east REAL_64
8 Pos_north REAL_64
9 Depth REAL
10 Hor_err_ellipse_direction REAL
11 Hor_err_ellipse_major REAL
12 Hor_err_ellipse_minor REAL
13 Z_standard_deviation REAL
14 Pos_type BYTE
15 Pos_status BYTE
16 P_course REAL
17 P_roll REAL
18 P_pitch REAL
19 Diagnostic WORD_16
*splitted into date and time
LBL Ranges
The LBL_ranges message contains raw measured ranges to the transponders, and VRU and compass data.
This Message is transmitted just after the Message 2 (LBL position).
The two messages have the same sequence number.
The EM3000 format consists of a fixed length message using single byte unsigned, 2-byte unsigned and 2-byte two
complement integer data elements. For the 2-byte elements, the least significant byte is transmitted first.
Data sent:
Roll
Pitch
Heave
Heading (SMC output 0)
Roll is positive with port side up. Pitch is positive with bow up. Heave is positive up.
The status byte information:
Value Interpretation
90 Hex Normal mode
91 Hex Unsettled mode
Shortcuts
Icon:
Time Out Minimal Time between two messages before reporting an error
1000
(50-100000 in milli-seconds
See also:
MRU Plugin
MRU – Connection List
Field Description
Number, row number
Nr of definiton Number, see Message List
Nr In Message values are separated by commas, this number gives position in the message
Channel Channel to retrieve Value from (Analog in)
eq. Leaving field empty, this will delete entry
EU/1000 Channel Value is stored as value*1000
Example of SMC2
For HPR-300
Nr Of Definition Nr in Message
1 1 - 23 + Time Stamp
2 1 - 19 + Time Stamp
4 1 - 34 + Time Stamp
Example of EM3000
See also:
MRU Plugin
MRU – Messages List
Field Description
Nr row index of this grid, this number will be used in connection list
Message indentifier of message which will be received and handle by this plugin
Return Msg Size number of bytes of the message
TimeStamp message contains timestamp or not (1 or 0)
Checksum message contains checksum or not (1 or 0)
Description commentary on message for documentation only
Example of SMC2:
Example of EM3000:
See also:
MRU Plugin
MTUS – Plugin
S for Slave.
Communication is Full Duplex over a serial line both systems are sending and receiving data in cycles.
Block is a Message send over the serial line in the Motorola storage format (MSB … LSB)
Block Type:
Request Block
Start_1 Start_2 Block_No Block Type Frame Size Checksum End_1 End_2
(1 byte) (1 byte) (2 bytes) (2 bytes) (4 bytes) (4 bytes) (1 byte) (1 byte)
FA Start 1
F5 Start 2
00 00 02 00 Checksum
AF End 1
5F End 2
FA Start 1
F5 Start 2
00 01 Block_No: 1
00 06 B1 27 Value 438567
00 0E D6 7A Value 972410
00 00 C4 A4 Value 50340
00 00 3A B8 Value 15032
00 00 06 A9 Checksum
AF End 1
5F End 2
Start_1 Start_2 Block_No Block Type Frame Size [Link] Checksum End_1 End_2
(1 byte) (1 byte) (2 bytes) (2 bytes) (4 bytes) (m*1 byte) (4 bytes) (1 byte) (1 byte)
m = number of measurement values
Shortcuts
Icon:
Setting Description
Communication port which is used for sending the output
Com Port No other plug-in must use the same COM port (only if plugin is on
running on server)
Settings Fix settings, Baudrate = 9600, Databits =8, Stopbits = 1,Parity = None
Selected Classifiable or Standard (default: Classifiable)
Synchronize MTU EU Settings to Synchronize channels with settings from Protocol list
channels (Synchronize button in connection list has to be used to update channels):
See also:
MTUS Plugin
MTU – Blocks and Timing
See also:
MTUS Plugin
MTUS – Connection List
Setting Description
Channel to receive/send the data
Channel Type in an existing digital/analog channel number,
or get here from the channel’s configuration form (status/value link)
Block Block where value is stored in
Index Index in block where value is stored
Description Description of value
EU Low Engineering unit range low
EU High Engineering unit range high
Units Engineering units
Scaling Scaling factor between send/received value and EU Value
By pressing on column “Channel” or “Block” a sort action is performed, first time ascending second descending.
Return Button: Return from gateway, only available when getting there from a channel configuration (status/value
link)
See also:
MTUS Plugin
MTU – Protocol List
Setting Description
Block Block where value is stored in
Index Index in block where value is stored
Description Description of value
EU Low Engineering unit range low
EU High Engineering unit range high
Units Engineering units
Scaling Scaling factor between send/received value and EU Value
See also:
MTUS Plugin
NMEA – Listener Plugin
Protocol Description
Based on
$aaccc,c---c*hh<CR><LF>
Sentence description
[Link] Latitude
Degrees, Minutes and Decimal – two fixed digits of degrees, two fixed digits of minutes and a
variable number of digits for decimal fraction of minutes. Leading zeros always included for
degrees a minutes to maintain fixed length. The decimal point and associated decimal fraction are
optional if full resolution is not required.
[Link] Longitude
See Latitude
[Link] Time
Hours/Minutes/Seconds and decimal - two fixed digits of hours; two fixed digits of minutes; two
fixed digits of seconds and a variable number of digits for decimal fraction of seconds. Leading
zeros always included for hours; minutes and seconds to maintain fixed length. The decimal point
and associated decimal fraction are optional if full resolution is not required.
b Binair Value 0 or 1
bbbb Binair Packed Value, do not use more than 32 b's (32 bits value)
h Hexadecimal Value 0..F
hhhh Hex Packed Value, do not use more than 8 h's (32 bits value)
x Value with whole numbers
x.x Value with fraction
[Link] Latitude high resolution
[Link] Longitude high resolution
Icon:
Place: Plugins\
NMEA in – General Settings
Com Port Communication port which is used for sending the output. No other plug-in must have the same COM
port (only if plugin is on running on server)
Baudrate Baudrate of Com Port, 1200, 2400, 4800, 9600 or 19200 (default: 19200).
Time Out 200-300000 millisec Timeout between NMEA Messages (default: 2000)
See also:
Field Description
Channel Channel to receive/send the data; type in an existing digital/analog channel number, or get here from
the channel’s configuration form (status/value link)
Formatter Formatter from configured NMEA Message List
Value
Position number in message, like 01,02,03 or 04
Position
Eng. Unit Channel where to send/receive its value
[10101-49668] (Configured Analog in; Digital in; Analog out; Digital out)
Selector
Multiple Message identifier 1, See: Special Codes
1
Selector
Multiple Message identifier 2, See: Special Codes
2
Time Out Update Time between two Updates of one message, 1000-25500 msec, 0=No Timeout, (if this time is
passed a sensor failure on input channel will be triggered when configured )
Return Button: Return from gateway, only available when getting there from a channel configuration (status/value
link)
Field Description
Formatter Formatter NMEA Message List
Sentence Sentence Description
See: Character Engineering Unit Code
See: Special Codes
Special codes
(eq S)
Protocol Description
Based on
$aaccc,c---c*hh<CR><LF>
Sentence description
Shortcuts
Icon:
Com Port Communication port which is used for sending the output. No other plug-in must have the same COM
port (only if plugin is on running on server)
Baudrate Baudrate of Com Port, 1200, 2400, 4800, 9600 or 19200 (default: 19200).
Interval Time between Messages Minimal Time to wait between two NMEA messages (in milli-seconds)
See also:
Field Description
Formatter Formatter from configured NMEA Message List
Value (Channel Channel to receive/send the data; type in an existing digital/analog channel number, or get here from
or Text) the channel’s configuration form (status/value link)
See also:
Field Description
Nr Line number of all messages or message number
Formatter Formatter NMEA Message List
Sentence Sentence Description
Description Information about this message
Special codes
(eq S)
Remove the messages if you don’t want to use then. After that insert de message(s) you like to use.
A NMEA message exits of formatter (header of message) and sentence which contains channel value(s) and/or characters
which are separated by a comma.
Formatter start usually with two - which are known as “don’t cares” (Like --DBK).
Example of AlarmList;
Be aware 'A' will be channel status: A = exceeded (alarm/on) and V = not exceeded (normal/off)
See also:
NMEA Talker Plugin
General information OPC
Terms used:
OPC Item Process value.
OPC group Collection of OPC Items that are accessed at the same time.
OPC Client Application that uses process values
OPC Server Application that supplies access to process values
Technology
OPC is a technology to access Process data. The client Server model is used, so a distributed control network can
be established. The communication between the client and server is standardized so interoperability is possible.
OPC clients connect to the OPC server to access the process values, process values can be read and written.
OPC Servers provide Process data retrieved from computer memory; PLCs or other devices, on Process Value
changes the clients who registered the OPC Item will get an update.
Requirements:
1. OPC Server must be OPC DA 2.05 Compatible.
2. Runs on the Marine PC
3. OPC Core Components run on Local Machine
4. OPC Enumerator runs on Target Machine
Read the Installation Instructions when OPC Client is used for the first time.
For more information reference "OLE for Process Control Data Access Custom Interface Standard Version 2.0 (Release Candidate 5)" April
10, 1998 opcda205_cust.pdf, See [Link]
Plugin buildup:
The plugin consists of:
After selecting 'Remote Data' and OPC - RD xx In field filename enter [Link] The plugin shows the following
Tree items:
The runtime:
States:
Connect
Connect to OPC Server
Creates OPC Groups
Creates OPC Group Items
Register OPC Item updates (on change)
Exchange
Write values
Process changed values
disconnect
Unregister OPC Item updates (on change)
Delete OPC Group Items
Delete OPC Groups
Disconnect to OPC Server
Reconnect
Reconnect after opc server shutdown
Common functionality:
Update diagnostics
Watchdog to see if Runtime is running at the expected rate
Special functionality:
Resend All
Plugin shutdown:
Remove configuration.
Diagnostics:
See also:
General information OPC OPC Client
OPC Client Forms Server Settings Group Overview Connection List
Appendix A:Value Conversion
Appendix B:RSLinx OPC Server
Appendix C:Installation
OPC Functionality
OPC Functionality does OPC Related Special Functionality:
Resend All
(none)
Channel
Constant
OPC Item
Brief:
After a trigger send all Written data anew to OPC Server and give feedback when completed.
Configure Trigger
Configure Timeout
Configure PulseTime
Description:
After a UP Edge of input 'Trigger' of the IO, input 'Timeout' and 'PulseTime' are latched
Output 'In Progress' goes HIGH
All OPC Items in all configured OPC Groups, that are configured as writeable, are written
When Writing is finished in the Timeout value, Output 'Feedback' goes HIGH, Output are 'In Progress' goes
LOW
When Writing isn't finished in the Timeout value, Output 'Failed' goes HIGH, Output are 'In Progress' goes
LOW
After the 'PulseTime' is expired the 'Feedback' or 'Failed' output goes LOW
Before a new Trigger is detected the 'Trigger' input needs to be seen LOW, continue on top of the list.
See also:
General information OPC OPC Client
OPC Client Forms Server Settings Group Overview Connection List
Installation Instructions
Installing on a Clean Marine PC
The Following steps need to be done:
Upgrading on a Marine PC
The Following steps need to be done:
Make sure OPC Enum Service runs in same account as the Ship Automation Software.
Make sure OPC Server runs in same account as the Ship Automation Software.
Make sure OPC Server supports OPC DA 2.05
See also:
General information OPC OPC Client
OPC Client Forms Server Settings Group Overview Connection List
OPC client form server settings
The form is used to define the server and client to server connection behaviour.
Also OPC Functionality is defined here.
Setting Description
Server Machine where OPC Server(s) resides.
Empty means local machine. (Needed for OPC Servers that don't accept remote
connections)
OPC Server Name of OPC Server (Dropdown shows some examples)
Reconnect time When an OPC Server communication failure occurs the Client disconnects,
after the reconnect time the OPCServer is connected again.
Shutdown reconnect When an OPC Server shuts down for maintainance the Client disconnects,
time after the shutdown reconnect time the OPCServer is connected again.
Busy time OPC Client get server state 10 times per second, when OPC Server is busy it will not
respond.
Here a time can be given so that a Busy diagnostic is triggered.
Busy disconnect time When an OPC Server is busy the cause can be network failure,
here a timeout can be given after which the OPC Client disconnects.
See also:
General information OPC OPC Client
OPC Client Forms Server Settings OPC Functionality Group Overview Connection List
OPC client form group overview
The form is used to add/remove/modify Group assignments to OPC Groups.
Column Description
Nr Group Number
Group Group used to supply channels from.
'(none)' means the channels can be retrieved from the entire system.
Description Brief description of group (used in group connection-list tree items)
Update Time Time between updates
Deadband Percentage Deadband of full scale EU Range, before values are send.
Active Group is active in Client Group is not used in runtime
See also:
General information OPC OPC Client
OPC Client Forms Server Settings Group Overview Connection List
OPC client form Connection list
Setting Description
ChannelO Channel to receive/send the data; type in an existing digital/analog channel number, or get here from
the channel’s configuration form (status/value link)
OPC
ID of OPC Item to retrieve values from
Item
Access OPC Servers can supply multiple ways to retrieve data, here a fixed route can be selected.
Path ‘(none)’ means the OPC Server may decide how to retrieve the data.
Type Data type to retrieve value in.
Subtype Description
Write Data is written from Client to Server Data is read from Server to Client
The Online button is used to retrieve the OPC Items 'live' from the OPC Server, afterwards the OPC Item can be
selected from a drop down list.
See also:
General information OPC OPC Client
OPC Client Forms Server Settings Group Overview Connection List
Appendix A:Value Conversion
OPC client process value conversions
The OPC Client has to convert the Variant (Process Value from OPC Server) to/from a channel value.
Channel value have a limited range, so certain values are not allowed.
Out of range values are not updated to the Channels.
See also:
General information OPC Client
OPC Client Forms Connection List
Appendix A:Value Conversion
SIM – Simulation Plugin
The Simulation DLL can be used for demo purpose to show Graphic and Monitoring Windows software with
dynamic values. The channels have to be configured on board 80 of link 0, in range 0 to 19.
Each channel has to be configured as a remote data channel.
UpDownRamps:
Ramps:
Digital:
Legend:
Item Description
Channel Channel number in the Virtual board
Scanrate Time before a new value is generated
RangeMin Lowest Engineer uint value generated
RangeMax Highest Engineer uint value generated
Step Value increments per scanrate
Init Initial value
InitUpOrDown Initial direction of value
TimeBeforeOn Time the value is low before going high
TimeBeforeOff Time the value is high before going low
1. In PAL, setup virtual board 80 (see "Virtual" branch in the "System Parameters" branch)
2. Setup channel 8000 to 8015 as Analog Input, Remote Data, take ranges from above table,
3. Setup channel 8016 to 8019 as Digital Input, Remote Data.
4. Use the channels in mimics and alarms as you whish.
5. Add Remote Data [Link]
Icon:
See also:
Simulation Plugin
SIM – Connection List
See also:
Simulation Plugin
SystemIO – System Input/Output Plugin
Shortcuts
Icon:
See also:
SystemIO Plugin
SystemIO – Connection List
Field Description
Channel Channel to receive/send the data
Type in an existing digital/analog channel number,
or get here from the channel’s configuration form (status/value link)
Direction points out, which side data is flows
Function Function, like Attended Output, Group, etc.
Data Function data, like group number or diagnostic number
By pressing on column “Channel” or “Direction” a sort action is performed, first time ascending second
descending.
Return Button: Return from gateway, only available when getting there from a channel configuration (status/value
link)
Attended input
UnAttended input
Reset Timer
GEA Input
Key Switch / Timer Off
Reset GEA Input
Acknowlegde Input
Stop Horn Input
Stop Horn1 Input
Stop Horn2 Input
Select Engineer On Duty
Start Stop Patrol Timer
Bridge Calls Cabin:
ECR Calls Cabin:
Bridge Calls All
ECR Calls All
Attended Output
UnAttended Output
Timer Expired Output
GEA or DeadMan Output
Horn 1 Output
Horn 2 Output
Group alarms
Diagnostic
Group acknowledged alarms
Group not acknowledged alarms
Server Ack
Server Stop Horn
Server Ack + Stop Horn
Hourcounter
Current GMT Time
DeadMan Output
GEA Output
Timer On Output
Hourcounter (seconds)
Hourcounter (minutes)
Hourcounter (hours)
On Duty Selection
Along Side Output
Sailing Output
Output Bridge Calls Cabin:
Output ECR Calls Cabin:
Output Bridge Calls All
Output ECR Calls All
See also:
SystemIO Plugin
SystemIO – UPS List
Field Description
Channel Channel to receive/send the data; type in an existing digital/analog channel number, or get here from
the channel’s configuration form (status/value link)
Message message description of UPS status
Client
Computer name
Name
By pressing on column “Channel” a sort action is performed, first time ascending second descending.
See also:
SystemIO Plugin
TankCalc – Tank Calculation Plugin
Tank Table = An Excel .xls file containing the sounding data for one tank.
TANK TABLES
For each tank a separate xls file must be present with extension “xls” in the native Excel file format, located
in an appropriate folder.
For each list a separate sheet must exist with as name the corresponding list value in ‘floating point’
notation; e.g. “-1.200” (not the quotes!).
Sheet order is not important; keep it in ascending list value order for clarity.
If list correction is not used, only one sheet should be present; its name is irrelevant.
Per sheet:
Don’t use any headers; all formatting/styling is allowed.
All cells holding a value should be of type ‘number’ and hold a floating point value.
The first row holds the trim values in ascending order on each alternate column; start from ‘B1’.
The first column holds the measurement values (sounding/pressure), related to the first trim value, in
ascending order; start from ‘A2’.
The second column (below first trim value) holds the corresponding contents values (volume); start
from ‘B2’.
The third column holds the measurement values, related to the second trim value; start from ‘C2’.
The fourth column (below second trim value) holds the corresponding contents values; start from ‘D2’.
Etc.
Any dimension is allowed; but all columns, must have the same length per sheet (repeating the last
sounding-volume pair if needed).
example:
If trim correction is not used, only one measurement column and one corresponding contents column
should be present; its trim value is irrelevant, but still start from row 2 (A2-B2)!
Shortcuts
Icon:
Refresh Rate update time for all tanks; 2000-300000 millisec (default: 5000)
Folder folder path, path were all tanks tables are stored; if left empty each table can have its own specific
(browse) path (default: empty)
when only tables (Excel xls spreadsheet files) are changed, press this button to ensure they are
Update Tank reloaded by the run-time; the button is dimmed if reloading will already take place
Tables minimum difference in value before a new calculation is performed; 0.1-20000.0 (default: 0.1)
scale factor from channel to tank table; “/1000” – “*1000” (default: “/1000”)
scale factor from tank table to channel; “*1000” – “/1000” (default: “*1000”)
Deviation select if trim correction is to be performed; if off but table still holds trim data, trim = 0 is
presumed; if on but table holds no trim data, trim settings are ignored (default: off)
Scale ->table select if list correction is to be performed; if off but table still holds list data, list = 0 is presumed; if
on but table holds no list data, list settings are ignored (default: off)
Scale - input channel; 10101-49668, if left empty the corresponding selection is forced to off (default:
>channel empty)
for input channel and tank tables the sign can be defined
TRIM forepeak / starboard up = negative value
forepeak / starboard up = positive value (default)
LIST
Channel
Sign
Definition
Channel/Table
–
Channel/Table
+
See also:
Tank Calculation Plugin
TankCalc – Connection List
Field Description
Channel Channel to receive the calculated tank contents, type in an existing analog channel number or get here
from the channel’s configuration form value link
Tank Name of the Excel .xls file with the tank sounding data with or without a preceding path, “.xls” must
File be present; it is appended to the folder path entered on the General Settings form, if selected with the
(browse) browse button, the complete path is set when the folder on the General Settings form was left empty;
just the filename only is set if a folder path was entered
Input
Channel which holds the sounding value, type in an existing analog channel number
Channel
By pressing on column “Channel” or “Tank File” or “Input Channel” a sort action is performed, first time
ascending second descending.
Return Button: Return from gateway, only available when getting there from a channel configuration (status/value
link)
See also:
Protocol Description
See Also:
Shortcuts
Icon:
Type Processor Intel or Motorola (used for sending/receiving data) (BS only)
Remarks:
This protocol is always running on server.
An IP port can only be used by one application or plug-in.
Wait time is used in PAT DX as send or receive timeout.
See also:
TCP/IP - Plugin
Header: Length contains the number of bytes of message (excluding this one)
Header: MessageType always contains 0x02. It is used in our system, and identifies these structures.
Header: Communication Type identifies message delivery service over the network, contains 0x0 = virtual
circuit service (in which the connection between the connected nodes is periodically checked automatically)
Header Message Number: identifies the message block (1 in the provided information)
Header Counter: identifies current counter, change every time when a correct send and receive is done
On this manner several blocks of information can be send between the systems.
See also:
TCP/IP Plugin
TCP/IP – Type Protocol BS
Header: MessageType always contains 0x02. It is used in our system, and identifies these structures.
Header: MessageRequest identifies which message must be returned, zero (0) means none.
Header: MessageNumber identifies the message block (53 in the provided information)
On this manner several blocks of information can be send between the systems. If there is nothing to send
MessageNumber is set to 0. If nothing should be returned, MessageRequest is set to 0. The BS sends messages
(with information and request for information) with intervals of 10 seconds. (If a longer interval is sufficient, that is
preferred)
The system is redundant. If the BS is not responding at the primary tcp-ip address, TCP/IP Plugin will try to
connect to/communicate with the secondary tcp-ip address.
See also:
TCP/IP Plugin
TCP/IP – Type Protocol PATDX
TCP is used for remote equipment to receive data from, or send data to MEGA-GUARD via any communication method
supporting TCP/IP. Such equipment will be referred to as "remote system".
wYear WORD (2 bytes) Specifies the current year. The year must be greater than 1601.
Wmonth WORD (2 bytes) Specifies the current month; January = 1, February = 2, and so on.
WdayOfWeek WORD (2 bytes) Specifies the current day of the week; Sunday = 0, Monday = 1, and so on.
System time is in Coordinated Universal Time (UTC), words are aligned and in Intel format (LSB,MSB)
Message layout
In this message, Counter c starts at 1. In reply to this message MEGA-GUARD TCP plugin sends to remote system:
Variable Type (size) Initial value
In reply to this message remote system sends following message to MEGA-GUARD TCP plugin:
If no request, communication loop has finished here. A new request can be started:
Header: MessageType always contains 0x03. It is used in our system, and identifies these structures.
Header: Length contains the number of values in the DW list.
Header: MessageRequest identifies which message must be returned, zero (0) means none.
Header: MessageNumber identifies a message block (1 to 99 for Remote System and 101 to 199 for MEGA-GUARD)
Counter: Range 0-65535. This number starts at zero and increases with each message that is send. When it reaches 65535 it
jumps back to 0 and continue increasing from there.
Timestamp is UTC creation time of the message.
Data: Variable contains a list of n values in the message block. In message type 0x03 these are 16 bit words that can contain
a Boolean value per bit, or just integer values in the range -32767 to 32766. In message type 0x04 Data are doubles in 8 bytes
according IEEE with a sign bit, 11-bit exponent, and 52-bit mantissa.
If values must be send that are larger then the limits allow, the maximum value will be send.
Note that
MessageType 0x03 and 0x04 are used with "PAT DX" (this protocol).
For example
First an example with system time 2005-07-05 01:02:03.004 noted as below in a message
Timestamp SYSTEMTIME (16 bytes) 2005; 07; 2; 05; 01; 02;03; 004
Timestamp SYSTEMTIME (16 bytes) 2005; 07; 2; 05; 01; 02;03; 004
Timestamp SYSTEMTIME (16 bytes) 2005; 07; 2; 05; 01; 02;03; 112
Timestamp SYSTEMTIME (16 bytes) 2005; 07; 2; 05; 01; 02;03; 225
Timestamp SYSTEMTIME (16 bytes) 2005; 07; 2; 05; 01; 02;03; 338
See also:
TCP/IP Plugin
TCP/IP – Connection List
Bit empty for analog value, 0..15 one bit for digital value
Remarks:
See also:
TCP/IP - Plugin
TCP/IP – Messages List
Field Description
Message Nr Message Number, 1..255
Message Type Message Type, Sub Protocol dependant, 1 till 255
Size Count of Values in message, 0 till 255
Direction Kind of message Sending or Receiving
Remarks:
Message need to be configured as sub protocol defines
BS; TCP 02; VVVF Message Type always 2
PAT DX Message Type 3 or 4 are supported
See also:
TCP/IP - Plugin
TCP/IP - Registry Settings
Windows:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
IOServer:
HKEY_CURRENT_USER\Software\Praxis\IOServer\Settings
(*30 sec = plugin1(=25 sec) + 5 sec, if 2 plugins, 55 sec = plugin1 + plugin2 + 5 sec)
Plugin Itself:
HKEY_CURRENT_USER\Software\Praxis\tcp\Settings
Remark: After editing this key plugin (could be done by restart of ioserver) needs to be restarted.
VVVF Fast, could only be used for VVVF protocol type and fast shutdown is required. If not required please use
defaults. This feature cannot be used for protocol type BS.
See also:
TCP/IP Plugin
TTP - Plugin
Protocol Description
Based on
$aaccc,c---c*hh<CR><LF>
Sentence description
A Ampere
F Fathoms
f Feet
I Inches
K Kilometers
k Kilograms
l Liter per second l/s
M Meters
N Nautical Miles
P Pascal (pressure)
R RPM
S Statute miles
V Volt
[Link] Latitude
Degrees, Minutes and Decimal – two fixed digits of degrees, two fixed digits of minutes and a variable
number of digits for decimal fraction of minutes. Leading zeros always included for degrees a minutes
to maintain fixed length. The decimal point and associated decimal fraction are optional if full
resolution is not required.
[Link] Longitude
See Latitude
[Link] Time
Hours/Minutes/Seconds and decimal - two fixed digits of hours; two fixed digits of minutes; two fixed
digits of seconds and a variable number of digits for decimal fraction of seconds. Leading zeros always
included for hours; minutes and seconds to maintain fixed length. The decimal point and associated
decimal fraction are optional if full resolution is not required.
b Binair Value 0 or 1
bbbb Binair Packed Value, do not use more than 32 b's (32 bits value)
h Hexadecimal Value 0..F
hhhh Hex Packed Value, do not use more than 8 h's (32 bits value)
x Value with whole numbers
x.x Value with fraction
Shortcuts
Icon:
Com Port Communication port which is used for sending the output. No other plug-in must have the same COM
port (only if plugin is on running on server)
Baudrate Baudrate of Com Port, 1200, 2400, 4800, 9600 or 19200 (default: 19200).
Time Out Maximum time before next message will be processed (in milli-seconds), diagnostic could be displayed
Number Of Retries Number of times to try when message is not received before error is reported
Interval Time Minimal Time to wait between two messages (in milli-seconds)
See also:
TTP Plugin
TTP – Connection List
Field Description
Nr Number from configured TTP Message List
Type Output or Input Type from configured TTP Message List
Formatter Formatter from configured TTP Message List
Value
Channel to receive/send the data; type in an existing digital/analog channel number, or get here
(Channel or
from the channel’s configuration form (status/value link)
Text)
See also:
TTP Plugin
TTP – Messages List
Next picture shows a configuration of a combination of one output and one input message.
Field Description
Nr Line number of all messages or message number
Type Output or Input, Message to Send = Output, Message to Receive = Input
Formatter Formatter TTP Message List
Sentence Sentence Description
Checksum Add Checksum to message, *HH or *hh or empty
Description Information about this message
Special codes
(eq S)
Remove the messages if you don’t want to use then. After that insert de message(s) you like to use.
A TTP message exits of formatter (header of message) and sentence which contains channel value(s) and/or characters
which are separated by a comma.
Formatter has usually with two - which are known as “don’t cares” (Like $--DBK).
See also:
TTP Plugin
TXT – Text Plugin
3. TXT - Overview
The Remote Data Txt Plugin is a remote data that does the following functions:
….
21-02-2002,15:02:02
345.3,1.3
1800.0,0.0,1000.0,0.0,0.0,0.0,0.0
0.0,0.0,15.0
0.0,0.0,0.0
0.0,0.0,980.0
0.0,0.0,0.0
There is a Special Separator and that is ‘Fixed Width’, this means that instead of a Separator the width of a column
and orientation have to be specified.
<Width x, Left Aligned, Data>…< Width y, Right Aligned, Data ><End of line Separator>
<Width x, Left Aligned, Data>…< Width y, Right Aligned, Data ><End of line Separator>
10101 0.1
10102 0.5
10105 25.0
10110 9999.9
Shortcuts
Icon:
Before you can configure Tables you have to add them, there is a Maximum of 32 Tables per Remote Data.
Field Description
Table Table number (1-32)
Filename name of .txt file, which is used
Type How is the file used, as Export or Import
Enable Enable or Disable, (Active or Not)
Status of configured parts.
See also:
TXT Plugin
TXT – ([Link]) General Settings
Setting Description
Enabled Change table creation/processing
on/off
Type Select table type
import/export
Filename Name of the File where data is stored to/ retrieved from.
Folder Local directory or network map where filename resides.
Columns Number of Cells Maximal in one row, max 64
Rows Number of Rows in the table, max 256
Update Cycle Time Time between read/write action
Update Time out Time before diagnostic is generated
Separator Type Select Separator
Type Fixed Width or Separator
Separator Cell Separator to use when type is Separator
Separator end of line Separator to use between rows
See also:
TXT Plugin
TXT – ([Link]) Export/Import List
Import and export lists are the same in buildup, but channel criteria is different.
Select via mouse button click a cell in normal view. Set it's cell properties via the porperties table view.
Normal view:
Field Description
A Column 1, show contents of this cell
B Column 2, show contents of this cell
Properties:
Field Description
Selection Current selection in other view
Cell type Select Cell type:
Channel Status
Channel Value
Text
Date
Time
Default Channel Related, Text to be written when channel value cannot be retrieved or Cell Width isn’t big
enough to show Value.
Reference Channel Number
Table type export: installed channel
Table type import: channel with Remote Data Source.
Nr of Digits behind Value
Decimals 0,1,2 or 3
Alignment Fixed Width: place cell data on left or Right side and fill up with spaces
Width Fixed Width: Size of Cell data that can be written.
Time
Select Time format to use.
Format
Date
Select Date format to use.
Format
Configuration Tips:
Select Multiple cells to change properties of multiple cells. In this case channel reference can not be changed.
Check Button:
Use Check Button to do a consistency check of the Database.
Return Button:
Return from gateway, only available when getting there from a channel configuration (status/value link)
TXT Plugin
MBM_TCP – Modbus Master TCP/IP Plugin
Inputs:
01 – Coils (Digital, error code 0x81)
02 – Status (Digital, error code 0x82))
03 – Hold Registers (Analog, error code 0x83)
04 – Input Registers (Analog, error code 0x84)
Outputs:
05 – Write Single Coil (Digital, error code 0x85)
06 – Write Single Register (Analog, error code 0x86)
15 - Write Multiple Coils (Digital, error code 0x8F)
16 - Write Multiple registers (Analog, error code 0x90)
Remark: There is no use for a treeview items like "MBM_TCP - Query Table 05" or 06.
Because the number of registers is 1 at function 05 and 06.
In this case Modbus Master will send a complete message with only one status or value.
Structures are sent according Motorola (MSB LSB or Big Endian) processor set.
For value extension and value precision another types of register handling is available.
The base types of these are:
float (32 bits, contains one sign bit and exponent (two complement) and 23 bit mantissa)
Furthermore there could be a distinction between low byte and high byte sending/receiving order. (Abbreviation
L/H or H/L) Normally H/L is most frequently used.
Therefore a Modbus register is always 16 bits, two registers addresses are used for a 32 bit value presentation.
This message provides some differences compared to the MODBUS RTU application data unit used on serial line:
The MODBUS ‘slave address’ field usually used on MODBUS Serial Line is replaced by a single byte ‘Unit
Identifier’ within the MBAP Header. The ‘Unit Identifier’ is used to communicate via devices such as bridges,
routers and gateways that use a single IP address to support multiple independent MODBUS end units.
All MODBUS requests and responses are designed in such a way that the recipient can verify that a message is
finished. For function codes where the MODBUS PDU has a fixed length, the function code alone is sufficient. For
function codes carrying a variable amount of data in the request or response, the data field includes a byte count.
When MODBUS is carried over TCP, additional length information is carried in the MBAP header to allow the
recipient to recognize message boundaries even if the message has been split into multiple packets for transmission.
The existence of explicit and implicit length rules, and use of a CRC-32 error check code (on Ethernet) results in
an infinitesimal chance of undetected corruption to a request or response message.
MBAP Header
• Transaction Identifier - It is used for transaction pairing, the MODBUS server copies in the response the
transaction identifier of the request.
• Protocol Identifier – It is used for intra-system multiplexing. The MODBUS protocol is identified by the value 0.
• Length - The length field is a byte count of the following fields, including the Unit Identifier and data fields.
• Unit Identifier – This field is used for intra-system routing purpose. It is typically used to communicate to a
MODBUS+ or a MODBUS serial line slave through a gateway between an Ethernet TCP-IP network and a
MODBUS serial line. This field is set by the MODBUS Client in the request and must be returned with the same
value in the response by the server.
To get the status of the points with MODBUS address 100 to 113, when e.g. the points on address 103 and 108 are
'on' and the other points are 'off':
See [Link]
Shortcuts
Icon:
Header settings
Field Options/Values and Function
Remote data Unique Number of selected Remote Data Plugin
Running on Server: Protocol runs on the Server as a Plug-in
Board (LBB-LBB): Protocol runs on Processor board
(L = Link, BB = Board number) eq. Board (101-108)
Protocol settings
Field Options/Values and Function
Slave Single slave number used for all queries.
(default 1)
The “SLAVE” field in the connection list will be updated to this number for all query blocks.
Multi-drop When Multi-drop is enable the Slave number will be ignored and
mode multiple slave numbers can be entered via the Slave / Address / Port Configuration list.
(default unchecked/off)
Force Zero Force registers values to zero for functions (05/06 or 15/16) when channels are not available
Value or the registers are not configured
(default unchecked/off)
Format RTU: binary data exchange (Device 8 databits)
ASCII: text data exchange (Device 7 databits)
(default RTU)
Modbus over Modbus RTU message transmitted with a TCP/IP wrapper and sent over a network instead of
TCP/IP serial comport.
The Server uses an IP Address therefore a SlaveID is not needed.
(default unchecked/off)
Register Options for Registers Handling:
Handling Value Function
Free Query or Connection list Register handling is used
Signed Negative/Positive values (Sign bit)
Unsigned Positive values
8000H Offset zero point becomes 0x08000 (no Sign bit)
This overrules configuration of this Field in Queries and connection list.
(default Signed)
Device settings
Field Options/Values and Function
IP Address Network Address of Modbus Machine
Port communication port for Ethernet usage
(default: 502)
Timing settings
Field Options/Values and Function
Refresh Rate Update cycle time for one time execution of all configured queries.
Each query takes 100ms. Low refresh rate will increase load on network and CPU.
When refresh rate is minimal time required to transmit and receive all queries once.
If a lower number is entered it will not be used.
The refresh time must be equal or larger than required time for the queries.
For example: 10 queries take 10 x 100ms = 1000ms => Refresh time must be
1000ms or larger.
Other CPU Tasks will also consume time which needs to be taken into account.
The modbus update cycle can be delayed because of this.
For example an 1131 program with execution time of more 50 ms will slowdown
MBM_TCP.
Remark: only when the sending goes well, in that case there is a connection.
1) TCP Master(=Client) sends a request
2) TCP Slave(=Server) receives request
3) TCP Slave(=Server) sends an ACK
4) ACK is received by TCP Master(=Client)
5) but further on there is no answer is coming on the request.
In General:
no communication diagnostic comes after 5 sec (hard-coded) when is no connection
at all.
In that case the sending part is failed, no ACK is received
Check Interval Time between queries for checking Slaves to see if they are present.
If a Slave is not present, this time will be waited before a Slave will be retried.
200-300000 millisec (default: 5000)
Receive Timeout (ms) Defines maximum time the process will wait for answer before triggering a
communication error.
Used via Windows TCP Socket Setting. Not used on XP.
200-300000 millisec (default: 5000)
Transmit Timeout (ms) Defines maximum time the process will wait for confirmation (Acknowledgement)
before triggering a communication error.
Used on Windows as TCP Socket Setting. Not used on XP.
200-300000 millisec (default: 5000)
Values to zero if no When no communication error occurs; all channel values are set to zero.
communication Involved all channels which are set with function 01/02/03/04.
On/Off (default unchecked/off)
An Internet Protocol address (IP address) is a numerical label assigned to each device (e.g., computer, printer)
participating in a computer network that uses the Internet Protocol for communication
Single Slave Mode: Time Diagrams
Multi-drop Mode: Time Diagrams
See also:
By pressing on column “Slave Nr” a sort action is performed, first time ascending second descending.
Field/Control Function
Check Button Check if all connection list items are inside the configured modbus queries
Remark: There is no use for a treeview items like "MBM_TCP - Query Table 05" or 06.
Because the number of registers is 1 at function 05 and 06.
In this case only configuration at force connection list is sufficient.
See also:
Address Modbus address of modbus function where value is retrieved from. 0...65535
By pressing on column “Channel” or “Slave” or “Function” or “Address” a sort action is performed. First time ascending
second time descending.
Return Button: Return from gateway, only available when getting there from a channel configuration (status/value link)
Tip: For fast channel configuration, configure last line complete, press not enter at the last column, go back to first column, give
a channel range in (like 10101-10125) and press enter, now multiple rows are created!
Slave field in single slave mode will not be editable and show general slave number.
Register-handling field is non-editable when overruling Register Handling is active this is when:
- General Register Handling isn't Free
- Queries Register Handling for the Modbus Slave/Function where Modbus Address is part of isn't free
- Digital status/coil or binary packed register
Scale 1.0 and Offset 0.0 means rounded whole channel values are send.
Scale 10.0 and Offset 0.0 means rounded whole 'channel values*10' are send.
Scale 0.1 and Offset 0.0 means rounded whole 'Channel values/10' are send.
Scale 10.0 and Offset 1000.0 means rounded whole 'channel values*10 + 1000' are send.
See also:
By pressing on column “Channel” or “Slave” or “Function” or “Address” a sort action is performed. First time ascending second
time descending.
Return Button: Return from gateway, only available when getting there from a channel configuration (status/value link)
Tip: For fast channel configuration, configure last line complete, press not enter at the last column, go back to first column, give a
channel range in (like 10101-10125) and press enter, now multiple rows are created!
Slave field in single slave mode will not be editable and show general slave number.
Register-handling field is non-editable when overruling Register Handling is active this is when:
- General Register Handling isn't Free
- Queries Register Handling for the Modbus Slave/Function where Modbus Address is part of isn't free
- Digital status/coil or binary packed register
Scale 1.0 and Offset 0.0 means rounded whole channel values are send.
Scale 10.0 and Offset 0.0 means rounded whole 'channel values*10' are send.
Scale 0.1 and Offset 0.0 means rounded whole 'Channel values/10' are send.
Scale 10.0 and Offset 1000.0 means rounded whole 'channel values*10 + 1000' are send.
See also:
This protocol is based on LevelDatic 100s. Electropneumatic level measurement system from the company with the
name SF-Control.
Shortcuts
Icon:
Place: Plugins\
SF Control – General Settings
Com Port Communication port which is used for sending the output. No other plug-in must have the same COM
port (only if plugin is on running on server)
Baudrate Baudrate of Com Port, 1200, 2400, 4800, 9600 or 19200 (default: 19200).
Three additional special input fields are available to set the channel display format for each type:
See also:
SF Control Plugin
SF Control – Connection List
Field Description
Channel Channel to receive the data; type in an existing analog channel number, or get here from the channel’s
configuration form (value link)
Type Type, H, PH, D, SD
Point Point, range 1..999
By pressing on column “Channel” or “Type” or “Point” a sort action is performed, first time ascending second
descending.
<ESC>SEND xx X<CR>
1+ENTIER((Point–1)/10)
Example: <ESC>SEND_03_H<CR>
Send level data message from cabinet 3. After SEND command cabinet 3 will answer the following:
Output level message (unit = meters or feets)
<CR><LF>
C03_Hm_1013.3_--PPPPPPPPPPP*<CR><LF>
H021/_4.01_H022/15.27_H023/10.09_H024/_5.98_H025/22.37_<CR><LF>
H026/11.34_H027/12.78_H028/_9.54_H029/28.28_H030/_0.07_<CR><LF>
#<CR><LF>
Explanations :
<CR><LF> = Line clear (2 marks, HEX 0D (carriage return), HEX 0A (line feed)).
H021/_4.01_H022/15.27_H023/10.09_H024/_5.98_H025/22.37_<CR><LF> =
First LD 100S measurement data line (57 marks).
H026/11.34_H027/12.78_H028/_9.54_H029/28.28_H030/_0.07_<CR><LF> =
Second LD 100S measurement data line (57 marks).
#<CR><LF> = End of message (3 marks HEX 23, HEX 0D, HEX 0A)
H,PH, D are values from received from Level Datic 100S system.
SD are values send to Level Datic 100S system.
See also:
SF Control Plugin
CANOpen – Plugin
The basic CANopen device and communication profiles are given in the CiA 301 specification released by CAN in
Automation.
Profiles for more specialized devices are built on top of this basic profile,
and are specified in numerous other standards released by CAN in Automation,
such as CiA 401 for I/O-modules and CiA 402 for motion control.
Device model
Every CANopen device has to implement certain standard features in its controlling software.
- A communication unit implements the protocols for messaging with the other nodes in the network.
- Starting and resetting the device is controlled via a state machine. It must contain the states Initialization,
Pre-operational, Operational and Stopped. The transitions between states are made by issuing a network management
(NMT) communication object to the device.
- The object dictionary is an array of variables with a 16-bit index. Additionally, each variable can have an 8-bit
subindex.
The variables can be used to configure the device and reflect its environment, i.e. contain measurement data.
- The application part of the device actually performs the desired function of the device, after the state machine is set
to the operational state.
The application is configured by variables in the object dictionary and the data are sent and received through the
communication layer.
Object dictionary
CANopen devices must have an object dictionary, which is used for configuration and communication with the device.
An entry in the object dictionary is defined by:
Object name, a symbolic type of the object in the entry, such as an array, record, or simple variable
Type, gives the datatype of the variable (or the datatype of all variables of an array)
Attribute, which gives information on the access rights for this entry, this can be read/write, read-only or write-
only
The Mandatory/Optional field (M/O) defines whether a device conforming to the device specification has to
implement this object or not
The basic datatypes for object dictionary values such as booleans, integers and floats are defined in the standard
(their size in bits is optionally stored in the related type definition, index range 0x0001-0x001F),
as well as composite datatypes such as strings, arrays and records (defined in index range 0x0040-0x025F).
The composite datatypes can be subindexed with an 8-bit index;
the value in subindex 0 of an array or record indicates the number of elements in the data structure, and is of type
UNSIGNED8.
For example, the device communication parameters, standardized in the basic device profile CiA 301[4] are mapped in
the index range 0x1000-0x1FFF ("communication profile area").
Given suitable tools, the content of the object dictionary of a device, based on an electronic data sheet (EDS),
can be customized to a device configuration file (DCF) to integrate the device into a specific CANopen network.
According to CiA 306, the format of the EDS-file is the INI file format.
There is an upcoming XML-style format, that is described in CiA 311.
Communication objects
CAN bus, the data link layer of CANopen, can only transmit short packages consisting of an 11-bit id, a remote
transmission request (RTR) bit and 0 to 8 bytes of data.
The CANopen standard divides the 11-bit CAN frame id into a 4-bit function code and 7-bit CANopen node ID.
This limits the number of devices in a CANopen network to 127 (0 being reserved for broadcast).
An extension to the CAN bus standard (CAN 2.0 B) allows extended frame ids of 29 bits, but in practice CANopen
networks big enough to need the extended id range are rarely seen.
In case of a transmission collision, the bus arbitration used in the CAN bus allows the frame with the smallest id to be
transmitted first and without a delay.
Using a low code number for time critical functions ensures the lowest possible delay.
The default COB-ID mapping sorts frames by attributing a function code (NMT, SYNC, EMCY, PDO, SDO...) to the
first 4 bits, so that critical functions are given priority.
This mapping can however be customized for special purposes (except for NMT and SDO, required for basic
communication).
The standard reserves certain COB-IDs to network management and SDO transfers.
Some function codes and COB-IDs have to be mapped to standard functionality after device initialization, but can be
configured for other uses later.
Communication models
Different kinds of communication models are used in the messaging between CANopen nodes.
- In a master/slave relationship, one CANopen node is designated as the master, which sends or requests data from
the slaves.
The NMT protocol is an example of a master/slave communication model.
- A client/server relationship is implemented in the SDO protocol, where the SDO client sends data (the object
dictionary index and subindex) to an SDO server,
which replies with one or more SDO packages containing the requested data (the contents of the object dictionary at
the given index).
SDO: Service Data Object - Configuration settings, possibly node ID, baud rate, offset, gain, etc.
CAN ID: CAN Identifier. This is the 11-bit CAN message identifier which is at the beginning of every CAN
message on the bus.
EDS: Electronic Data Sheet. This is an INI style or XML style formatted file.
DCF: Device Configuration File. This is a modified EDS file with settings for node ID and baud rate.
Remark:
At this time, MEGA-GUARD has only very little of the complete CANOpen protocol implemented.
An object list with CAN Messages which works with communiction model producer/consumer can be handled.
Shortcuts
Icon:
Place: Plugins\
CANOpen – General Settings
Interval Time between Minimal Time between two messages before reporting an error
1000
Messages (50-100000 in milli-seconds
Update Time channel Data to When this protocol running on Server, IOServer uses this time to update
Plugin channel values 1000
(50-100000 in milli-seconds
Can Speed Speed Setting for Canbus 125K, 250k, 500k 1M etc. 500k
Unit Number (this) [in hex] Unit Address Number of Plugin 0xCE
Engine Unit Number [in hex] Unit Address Number of Engine 0x80
Turn Debug Output On connect on comport1, text output what messages are received on Canbus -
no
yes/no
See also:
CANOpen Plugin
Create Messages Button to create some messages for communication with Valence U-BMS System.
Field Description
ID indentifier of message which will be received and handle by this plugin
IDRange for range of indentifiers
Description description of indentifier
Nr Of Bytes data size of value
MultiPacket is this message a multi-packet
NrOfPackets multi-packets, number of packets which forms the complete message
Pos Nr Packet multi-packets, position in message of packet counter, range 1-32
IDRange Insert in a range from a value through value (always positive range)
example: 0350 - 03BD (03BD is last valid ID in this range)
Multi-Packet example
Number of packets is 3
Position number packet is 1 (0-7, second data byte)
See also:
CANOpen Plugin
CANOpen – Receive List
Update Desc button, updates desc field when it is known to software (hard-coded)
Field Description
Nr Number, row number
ID ID hex Number + description, see Object List
Byte Order start byte in message, 0..7
Bit Nr start bit in message, 0..7
Bit Cnt number of bits, 1 = digital, 8 = byte, 16 = word, 32 = dword
Use Byte 0 first byte in message should equal to ..
Leaving this field empty, it will not be used
Use Byte 1 second byte in message should equal to ..
Leaving this field empty, it will not be used
MP Byte when having multi-packet message, this number equals packet number
Leaving this field empty, it will not be used
Channel Channel to retrieve value/status from
eq. Leaving this field empty, this will delete entry
Divider received value with be calculated with this divider
before placing it into a channel value
1/100 or *50 Remark: *50 will be shown as 50 / 1
Offset received value will be added to this offset
before placing it into a channel value
Desc Details description depends on contents on message
Field Description
Nr row index of this grid
Channel Channel contains value to be sent
ID [in hex] Canbus ID for Message
Byte Order byte number where to store value in message, 0-7
Bit Nr bit number where value to start, 0-7
Bit Cnt number of bits, 1 = digital, 8 = byte, 16 = word, 32 = dword
Message Size number of data bytes to be sent in this message, 0-8
Trigger Channel when digital channel is status on, message will be sent,
leaving blank: message is always sent
Channel Description Description of Channel
See also:
CANOpen Plugin
CANOpen - How to use Debug Output
Set option 'Turn Debug Output on' to on by checking this box (see: CANOpen - General Settings)
See also:
At first login procedure is done, after that Single Parameter Read Request is send and a Single Parameter Read
Response is returned.
Examples:
$50 00 24 zz 00 24 F515 cs 0D
Bytes:
Standard preamble:
Shortcuts
Icon:
Place: Plugins\
CAT – General Settings
Com Port Communication port, No other plug-in should have the same COM port
Baudrate Baudrate of Com Port, 1200, 2400, 4800, 9600 or 19200 (default: 19200).
See also:
Field Description
Channel Channel to receive the data; type in an existing digital channel
number, or get here from the channel’s configuration form
(status/value link)
PID Parameter identifier 0-FFFF, hex value, via droplist see protocol list
for the ones supported
Bit Nr 0 or empty / (abcd ) a1..a8 / b1..b8 / c1..c8 / d1..d8
By pressing on column “Channel” or “PID” a sort action is performed, first time ascending second descending.
See also:
Examples:
$AA8A Login Password (not needed to setup, automatic done if “Use Login Procedure” is checked,see also CAT -
General Settings)
Joint SAE/TMC Electronic Data Interchange between Microcomputer systems in heavy duty vehicle applications.
(SA J1587)
Normally:
Shortcuts
Icon:
Place: Plugins\
ATA – General Settings
Com Port Communication port which is used for receiving the input.
No other plug-in is allowed to have the same COM port number.
This applies only if plugin is on running on server.
Baudrate Baudrate of Com Port, 1200, 2400, 4800, 9600 or 19200 (default: 19200).
See also:
ATA Plugin
ATA – Connection List
Field Description
Channel Channel to receive the data; type in an existing channel number
PID Parameter identifier 0-FF, hex value
EU/1000 0 – 10000, bit resolution, example Engine Speed has bit resolution 0.25 rpm -> 250 have to be filled
Bit in
Signed True or False
FMI Failure Mode Identifier, bit nr 0-15
Only support with PID like 100-01 “Low oil pressure warning” with Diagnostic Message (194, fixed
so 194 don’t be filled in)
By pressing on column “Channel” or “PID” a sort action is performed, first time ascending second descending.
See also:
ATA Plugin
IHCS – System Plugin
IHC Systems stands for Industrial Handels* Combination (*=Business, trans. dutch)
A band of companies who are dealing in automation systems for dregding industry.
Shortcuts
Icon:
Place: Plugins\
IHCS – General Settings
Com Port Communication port which is used for sending the output. No other plug-in must have the same COM
port (only if plugin is on running on server)
Baudrate Baudrate of Com Port, 1200, 2400, 4800, 9600 or 19200 (default: 19200).
See also:
Field Description
Channel Channel to receive the data; type in an existing channel number, or get here from the channel’s
configuration form (status/value link)
Type Type of Channel Status # or Value @
Scale Scale of channel value
Block Sending Block Number, not editable, shows message layout
By pressing on column “Channel” a sort action is performed, first time ascending second descending. REMARK:
NO EDITING IS ALLOWED AFTER SORTING ON CHANNEL, BE SURE SORTED FIRST ON BLOCK!
By pressing on column “Block” sending block information is shown more detailed. After pressing again sending
block information is hidden except start identifier.
‘0’ can be entered to create a spare location within the message (you do not have to enter spares at the end of the
last analog and last digital message).
When “INSERT MODE” is on, a blank row is created after the channel just entered.
Tips: For fast channel configuration, give a channel range in (like 10101-10125) and press enter, when analog
channels are in that given range a popup-dialog is shown. After selecting a scale and value multiple rows are
created!
See also:
For Read Connection list it’s possible to send with function 03/04:
16 digital statuses mapped to one modbus address.
For each status specify the bitnumber within this address. (not for modicon addressing)
Structures are sent according Motorola (MSB LSB or Big Endian) processor set.
For value extension and value precision another types of register handling is available.
The base types of these are:
float (32 bits, contains one sign bit and exponent (two complement) and 23 bit mantissa)
Furthermore there could be a distinction between low byte and high byte sending/receiving order. (Abbreviation
L/H or H/L) Normally H/L is most frequently used.
Therefore a Modbus register is always 16 bits, two registers addresses are used for a 32 bit value presentation.
This message provides some differences compared to the MODBUS RTU application data unit used on serial line:
The MODBUS ‘slave address’ field usually used on MODBUS Serial Line is replaced by a single byte ‘Unit
Identifier’ within the MBAP Header. The ‘Unit Identifier’ is used to communicate via devices such as bridges,
routers and gateways that use a single IP address to support multiple independent MODBUS end units.
All MODBUS requests and responses are designed in such a way that the recipient can verify that a message is
finished. For function codes where the MODBUS PDU has a fixed length, the function code alone is sufficient. For
function codes carrying a variable amount of data in the request or response, the data field includes a byte count.
When MODBUS is carried over TCP, additional length information is carried in the MBAP header to allow the
recipient to recognize message boundaries even if the message has been split into multiple packets for transmission.
The existence of explicit and implicit length rules, and use of a CRC-32 error check code (on Ethernet) results in
an infinitesimal chance of undetected corruption to a request or response message.
MBAP Header
• Transaction Identifier - It is used for transaction pairing, the MODBUS server copies in the response the
transaction identifier of the request.
• Protocol Identifier – It is used for intra-system multiplexing. The MODBUS protocol is identified by the value 0.
• Length - The length field is a byte count of the following fields, including the Unit Identifier and data fields.
• Unit Identifier – This field is used for intra-system routing purpose. It is typically used to communicate to a
MODBUS+ or a MODBUS serial line slave through a gateway between an Ethernet TCP-IP network and a
MODBUS serial line. This field is set by the MODBUS Client in the request and must be returned with the same
value in the response by the server.
To get the status of the points with MODBUS address 100 to 113, when e.g. the points on address 103 and 108 are
'on' and the other points are 'off':
Shortcuts
Icon:
Place: Plugins\
MBS_TCP – General Settings
Run Details
Field Options/Values and Function
Remote data Remote data being configured
Running on Server: Protocol runs on the Server as a Plug-in
Processor XX : Protocol on Processor board
(XX = Processor number / Protocol Index)
eq. Processor - 04 / Protocol - 1
Protocol settings
Field Options/Values and Function
Slave Slave number
1-255
(default 1)
Port communication port for Ethernet usage
(default: 502)
Address Mode One of three options can be selected:
Value Function
Mapping Addresses are used on the serial line as configured
Mapping-1 Configured Addresses are used with a offset of - 1 to the serial line
eq. PAL 40001 -> Line 40000
Modicon Style MODICON Offsets are used for each modbus function
See Forced or Read Connection-list for offsets
(default Mapping)
Inhibits Masks true: if channel is inhibited all alarm bits return zero irrespective their actual value
Alarm false: all alarm bits return actual value whether inhibited or not
Value 8000H Selected zero point becomes 0x8000 (replaces sign bit) (default: deselected)
Offset
Force Zero Value Force registers values to zero for functions (05/06 or 15/16) when channels are not
available or the registers are not configured
(default unchecked/off)
Accept Second for setup an extra Ethernet connection, only when protocol is running on Server
Connection (default: unchecked/off)
Port Two communication port for Ethernet usage, when 'Accept Second Connection' is checked
(default: 503)
Modbus over Modbus RTU message transmitted with a TCP/IP wrapper and sent over a network instead
TCP/IP of serial comport.
The Server uses an IP Address therefore a SlaveID is not needed.
(default unchecked/off)
Timing settings
Field Options/Values and Function
Time to wait between Receiving complete query and processing and sending Answers.
Response time (ms) Needed if Modbus master needs time to switch handshaking.
(default: 100)
Master Time that has to expire before diagnostics are triggered, see Diagnostics.
disconnected - No communication, on line no bytes are received
timeout (ms) time of 0 disables these diagnostics.
(default: 10000)
See also:
A modbus master receives channel information from the slave. (=Output List)
Sorting
By pressing on column “Channel” or ”Function” a sort action is performed, first time ascending second descending.
Addres field of actual message depends on Addres Mode, MBS_TCP - General Settings
Option Conversion
“Mapping / No Offset” straight copy of address
“Mapping / Offset - 1” address - 1
“Modicon Style” Function Conversion
01 address - 1
02 address - 10001
03 address - 40001
04 address - 30001
TagName Column:
Tag name is a 10 character unique name for channel. Each analog channel has value register row and a status register row.
Type Column:
DS : digital status
AV : analog value
AS : analog status
Scale Column:
Multiplier to allow usage of decimal numbers in integer format.
Function Column:
Modbus function for transmitting value to master.
The size of a single signed value is 2 bytes. For large values such as latitude/longitude and hour counters the register holds the lower 16 bits.
Description Column:
Description is textual information with maximum length of 40 characters.
This data is displayed on screen and logged on file in alarm lists and group information.
Tip: For fast channel configuration, configure the last line complete,
press not enter at the last column, go back to first column, give a channel range in
(like 10101-10125) and press enter, now multiple rows are created!
See also:
By pressing on column “Channel” a sort action is performed, first time ascending second descending.
Return Button: Return from gateway, only available when getting there from a channel configuration (status/value link)
Addres field of actual message depends on Addres Mode, MBS_TCP - General Settings
Option Conversion
“Mapping / No Offset” straight copy of address
“Mapping / Offset - 1” address - 1
“Modicon Style” Function Conversion
05/15 address - 1
06/16 address - 40001
Tips: For fast channel configuration, configure the last line complete, press not enter at the last column, go back to first column, give a channel range in
(like 10101-10125) and press enter, now multiple rows are created!
See also:
Diagnostic is generated when the socket can not be used, while active the plugin will try to open this
socket/port.
Diagnostic is generated when Modbus slave receives no data for a "Master disconnected timeout" time
Solution: check if all wires are correct from Modbus Master to Modbus Slave
Diagnostic is generated when the socket can not be used, while active the plugin will try to open this
socket/port.
Diagnostic is generated when Modbus slave receives no data for a "Master disconnected timeout" time
Solution: check if all wires are correct from Modbus Master to Modbus Slave
Legend
Tag Replaced by
(RD%64) Remote data number
See also:
AutroCARGO 2000 Product contains a EAC-300 unit the IO-Processor talk to.
ASAP (AUTRONICA STANDARD ASCII PROTOCOL) is a protocol for asynchronous serial communication
between AUTRONICA products and systems.
The describes the protocol frame contents for data exchange to/from the EAC-300 microcomputer is based on the
ASAP protocol.
We will use the ASAP Definitions in this document.
The protocol only applies to point to point half duplex transmission mode where the EAC-300 microcomputer is
regarded as a slave to a IO-Processor.
The transmission is done by RS 232C, by 4 20 mA current loop or by RS-422.
The following ASAP directive is used to request data for a number of sensors:
#EA0CxxCSAnnn
<data 1> to <data nnn> is 7 characters each as shown in column Format in the table below.
<Block parity> is 7 characters and is the sum of all values after removing the comma.
<fp> is frame parity character, see calculation example chapter 5.
<CR> is carriage return character>
Example:
That is:
ullage1 = 019.060, ullage2 = 004.360, ullage3 = 013.897, ullage4 = 013.834
Block parity = 0051151
Function code summary
* = normally for Autronica use only
Shortcuts
Icon:
Place: Plugins\
EAC3 – General Settings
See also:
EAC3 Plugin
EAC3 – Connection List
Field Description
Channel Channel number to update (Analog in; Digital in; Analog out; Digital out)
Function function definition
Element element from function
EAC-300 Description Description, information
Remarks:
See also:
EAC3 Plugin
MG – Plugin
1. MG - General Settings
2. MG - Connection List
MG = MEGA-Guard
It connects source channels from MEGA-Guard (Stand-Alone / Mini-Guard) Panels to local XP channels
by sending/receiving channel information over ethernet.
Shortcuts
Icon:
Place: Plugins\
MG – General Settings
See also:
MG Plugin
MG – Connection List
Field Description
Source Channel source Channel number, which value needs to be sent
Source Description channel tag and channel description
Destination Channel destination Channel number where received value is stored and used
Destination Description channel tag and channel description
Example shows AMS channels from XP05, which are sent to serveral panels, to create a central dimming function.
See also:
MG Plugin
NMEA2K – Plugin
It takes a backbone
The key to a NMEA 2000 network is the "backbone," (or "trunk") a central cable running throughout the vessel.
The backbone is connected to the boat's power and ground, and your NMEA 2000 devices are connected to the
backbone
via special T-connectors, sometimes referred to as "drop tees."
The beauty of this networking system is that it allows different devices (even ones from different manufacturers)
to communicate with one another.
It's ahead of the stacks of various devices found on so many ships, and it's a lot easier than wiring all this stuff in one by
one.
We could use the phrase "plug and play," which is a reasonably accurate description of the connection itself.
The actual installation will probably involve some challenges,
but that really depends on your ship and the network you're trying to build.
Several marine electronics manufacturers have networks of their own. Some of them work with NMEA 2000,
while others are proprietary, and require adapters to plug into a backbone.
When you see the phrase "NMEA 2000 Certified" on a piece of electronic gear, from,
let's say, FUSION, you'll know that the device will work with your existing NMEA 2000 network.
So, how will NMEA 2000 work for me?
The size of the network you build will mostly depend on the size of the ship you have.
On a smaller ships, a receiver and a chartplotter are probably all you need,
but if you have a larger vessel or a frequent need to have remote controllers handy,
we can add more NMEA 2000-compatible devices.
The limit is 50, which is more than the average ship will need.
Icon:
Place: Plugins\
NMEA2K – General Settings
Interval Time between Minimal Time between two messages before reporting an error
1000
Messages (50-100000 in milli-seconds
Update Time channel Data to When this protocol running on Server, IOServer uses this time to
Plugin update channel values 1000
(50-100000 in milli-seconds
Can Speed Speed Setting for Canbus 125K, 250k, 500k 1M etc. 250k
Unit Number (this) [in hex] Unit Address Number of Plugin 0xCE
Engine Unit Number [in hex] Unit Address Number of Engine 0x80
Turn Big Endian how to handle values greater than 1 byte - yes/no
(Motorola/SPARC) On In computing, endianness refers to the order of bytes yes
within a binary representation of a number.
Turn Debug Output On connect on comport1, text output what messages are received on
no
Canbus - yes/no
See also:
NMEA2K Plugin
Update Default button, updates fields when it is known to software (hard-coded), see below, same as for send list.
Field Description
Nr Number, row number
ID ID Number + description, see Message List
Byte Order start byte in message, 0..255
Bit Nr start bit in message, 0..7
Bit Cnt number of bits, 1 = digital, 8 = byte, 16 = word, 32 = dword
Source ID 1 first byte in message should equal to ..
Leaving this field empty, it will not be used
Source ID 2 second byte in message should equal to ..
Leaving this field empty, it will not be used
Channel Channel to retrieve value/status from
eq. Leaving this field empty, this will delete entry
Divider received value with be calculated with this divider
before placing it into a channel value
1/100 or *50 Remark: *50 will be shown as 50 / 1
Offset received value will be added to this offset
before placing it into a channel value
Desc Details description depends on contents on message
Update Default:
Add default configuration fields of a certain ID string.
First select ID on empty line and afterthat press on 'Update Default' button.
Fields (which are known by the plugin) are automaticially filled in.
Create Messages Button to create some messages for communication with NMEA2K bus.
Field Description
ID indentifier of message which will be received or sent by this plugin
Description description of indentifier
Nr Of Bytes data size of message
Receive this message will be received from external device
like Engine, GPS or Sensor
Send this message will be sent to external device
See also:
NMEA2K Plugin
NMEA2K – Send List
Field Description
Nr row index of this grid
Channel Channel contains value to be sent
ID NMEA2K ID for Message
Byte Order byte number where to store value in message, 0-7
Bit Nr bit number where value to start, 0-7
Bit Cnt number of bits, 1 = digital, 8 = byte, 16 = word, 32 = dword
Divider send value will be calculated with this divider
before putting it into the message
1/100 or *50 Remark: *50 will be shown as 50 / 1
Offset send value will be calculated with this offset
before putting it into the message
channel range -100 .. 100, send value range 0 - 200 (positive)
Trigger Channel when digital channel is status on, message will be sent,
leaving blank: message is always sent
Channel Description Description of Channel
Update Default:
Add default configuration fields of a certain ID string.
First select ID on empty line and afterthat press on 'Update Default' button.
Fields (which are known by the plugin) are automaticially filled in.
See also:
NMEA2K Plugin
NMEA2K – Diagnostic List
Field Description
Nr row index of this grid
Channel Digital Channel which will be triggered into alarm/status high when fault occurs
ID Parameter Group Number
SPN/Order Suspect Parameter Number or Byte Order
FMI/Bit Failure Mode Identifier or Bit Number which to be checked
Description Alarm Description
See also:
NMEA2K Plugin
Product Version Information
PAL Help
product: MEGA-GUARD E-Series
version: [Link]
select properties
go tab-page 'Version'