Forgetting to subtract 1 from datasheet addresses. Modbus uses 0-based addressing.
Datasheet Says
Function Code
Proxus Address
40001
FC03 (Holding Register)
x=3;0
40100
FC03 (Holding Register)
x=3;99
30001
FC04 (Input Register)
x=4;0
30050
FC04 (Input Register)
x=4;49
00001
FC01 (Coil)
x=1;0
10001
FC02 (Discrete Input)
x=2;0
Conversion Formula:
Proxus Address = Datasheet Address - Base - 140001 series → Base = 40000, x=330001 series → Base = 30000, x=4
Example: Device manual says "Speed at register 40201"
Subtract 40000 → 201
Subtract 1 (0-based) → 200
Result: x=3;200
Siemens S7
warning
Most Common Mistake
Using Word offset instead of Byte offset. Siemens uses byte-based addressing!
TIA Portal Shows
Proxus Address
Data Type
DB1.DBX0.0
DB1.0.0
Bool
DB1.DBB10
DB1.10
Byte
DB1.DBW10
DB1.10
Short/UShort
DB1.DBD10
DB1.10
Int/Float
M0.0
M0.0
Bool
MW100
MW100
Short
I0.0
I0.0
Bool
Q0.0
Q0.0
Bool
Common Errors:
Wrong
Correct
Issue
DB1.DBD0
DB1.0
Remove DBD prefix, just use offset
DB1.W10
DB1.10
Use byte offset, set type to Short
DB1.10.8
DB1.11.0
Bits are 0-7, use next byte for bit 8
OPC UA
warning
Most Common Mistake
Forgetting the namespace index (ns=).
Format
Example
String NodeId
ns=2;s=Channel1.Device1.Tag1
Numeric NodeId
ns=3;i=1001
Hierarchical
ns=2;s=PLC/Temperature
Tip: Use UaExpert to browse and copy the correct Node IDs.
MTConnect
warning
Most Common Mistake
Using an incomplete Host endpoint (missing scheme/port) or selecting a gateway that cannot reach the machine network.
Item
Format
Example
Host
http://<ip>:<port>
http://192.168.1.20:5000
Tag Address
<DeviceName>/<ComponentPath>/<DataItemId>
Mazak-01/Controller/exec
Root-level Tag
<DeviceName>/<DataItemId>
Mazak-01/avail
Common Errors:
Wrong
Correct
Issue
192.168.1.20
http://192.168.1.20:5000
Missing explicit endpoint details
Mazak-01\\Controller\\exec
Mazak-01/Controller/exec
Use / separators
Mazak_01/Controller/exec
Mazak-01/Controller/exec
Device name must match MTConnect device name exactly
Allen-Bradley
Address Type
Format
Example
Tag Name
Direct name
Program:MainProgram.MyTag
Array Element
[index]
MyArray[5]
UDT Member
.member
Motor1.Speed
Data Type Mismatch
Common Symptoms & Fixes
Symptom
Cause
Solution
Value is half/double expected
Wrong type size (16 vs 32-bit)
Change Short ↔ Int
Negative when should be positive
Signed vs Unsigned
Use UShort instead of Short
Decimal missing (10.5 shows as 105)
Integer instead of Float
Change to Float
Very large numbers (3.4e+38)
Int read as Float
Change Float to Int
Value stuck at 65535 or -32768
Overflow from wrong type
Use Int instead of Short
Type Size Reference
Proxus Type
Size
Value Range
Bool
1 bit
true/false
Byte
8 bit
0 to 255
Short
16 bit
-32,768 to 32,767
UShort
16 bit
0 to 65,535
Int
32 bit
-2.1 billion to 2.1 billion
UInt
32 bit
0 to 4.3 billion
Float
32 bit
±3.4e38 (7 digits precision)
Double
64 bit
±1.7e308 (15 digits precision)
Modbus Register Count
Type
Registers Used
Short/UShort
1 register (16 bit)
Int/UInt/Float
2 registers (32 bit)
Long/Double
4 registers (64 bit)
lightbulb
Check the Manual
Device manuals usually specify "2 registers" or "32-bit" for values. Match this with your Proxus type.
Byte Ordering Issues
Multi-byte values (Int, Float, Double) can be stored in different byte orders depending on the device manufacturer.
Symptoms of Wrong Byte Order
Float values are extremely large (e.g., 1.234e+38) or tiny (1.4e-45)
Integer values are nonsensical (e.g., 16777216 instead of 1)
Values change wildly with small actual changes
Byte Order Options
Setting
Name
Byte Sequence
Common Devices
ABCD
Big Endian
12 34 56 78
Most PLCs, Siemens
DCBA
Little Endian
78 56 34 12
Some sensors
BADC
Mid-Big
34 12 78 56
Some energy meters
CDAB
Mid-Little
56 78 12 34
ABB, some VFDs
How to Find the Right Setting
Read a known value (e.g., write 1.0 to a register)
If Proxus shows wrong value, try each byte order setting
Test with distinctive values like 1234.5678 to verify
Setting Byte Order in Proxus
In the Device Profile connection parameters, set the DataFormat field:
Open Data Management > Device Profiles
Select your profile and go to Connection Parameters
Set DataFormat to one of: ABCD, DCBA, BADC, or CDAB
info
Modbus TCP
For Modbus TCP devices, the DataFormat parameter is available directly in the connection settings. Other protocol-specific options like isStringReverse may also affect string byte ordering.
We use essential cookies for our website to function properly and analytics cookies to improve your experience.
Read our Cookie Policy for more information.
rocket_launch
Leaving before trying Proxus?
Try Proxus on your own infrastructure for free. Fill in the form and our team will set up a custom environment for you.