This guide covers the most common user issues: protocol address formats and data type mismatches.
Quick Diagnostic
If you're getting incorrect or missing values, check these first:
| Symptom | Likely Cause | Jump To |
|---|---|---|
| All values are 0 | Wrong address format | Address Syntax |
| Huge/tiny numbers (e.g., 1.234e+38) | Byte order mismatch | Byte Ordering |
| Negative when expecting positive | Signed vs unsigned type | Data Type Mismatch |
| Random-looking values | Wrong data type size | Data Type Mismatch |
| "Invalid address" error | Syntax error | Address Syntax |
| Timeout errors | Connection issue | Gateway Not Connecting |
Address Syntax by Protocol
Modbus TCP
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 - 1
40001 series → Base = 40000, x=3
30001 series → Base = 30000, x=4Example: Device manual says "Speed at register 40201"
- Subtract 40000 → 201
- Subtract 1 (0-based) → 200
- Result:
x=3;200
Siemens S7
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
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 the server and copy exact Node IDs.
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) |
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.0to a register) - If Proxus shows wrong value, try each byte order setting
- Test with distinctive values like
1234.5678to 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, orCDAB
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.
Protocol-Specific Errors
Modbus Errors
| Error | Meaning | Solution |
|---|---|---|
Illegal Function (01) | Function code not supported | Use correct FC (x=1,2,3,4) |
Illegal Data Address (02) | Register doesn't exist | Check register number in manual |
Illegal Data Value (03) | Value out of range | Check min/max for register |
Gateway Path Unavailable (0A) | Wrong Slave ID | Verify Station parameter |
Timeout | No response | Check IP, port, and network |
Siemens S7 Errors
| Error | Meaning | Solution |
|---|---|---|
Connection refused | PUT/GET disabled | Enable in TIA Portal |
Address not found | DB doesn't exist | Create DB or check number |
Access denied | Block protected | Remove protection in TIA |
Invalid slot | Wrong rack/slot | S7-300/400: Slot 2, S7-1200/1500: Slot 1 |
OPC UA Errors
| Error | Meaning | Solution |
|---|---|---|
BadNodeIdUnknown | Node not found | Verify Node ID with UaExpert |
BadCertificateUntrusted | Certificate rejected | Add to server's trusted folder |
BadUserAccessDenied | Wrong credentials | Check username/password |
BadSecurityModeRejected | Security mismatch | Match security mode with server |
Error Code Reference
Below are the actual error codes you may encounter in Proxus logs. These codes indicate specific issues with PLC communication.
Modbus Error Codes
| Error Code | Meaning | Solution |
|---|---|---|
ModbusCRCCheckFailed | CRC checksum mismatch | Check wiring, baud rate, and parity settings |
ModbusLRCCheckFailed | LRC checksum mismatch (ASCII mode) | Verify ASCII mode settings match device |
ModbusAsciiFormatCheckFailed | Invalid ASCII frame format | Ensure device uses Modbus ASCII protocol |
ModbusTcpFunctionCodeNotSupport | Unsupported function code | Use correct function code (FC01-04) |
ModbusTcpFunctionCodeOverBound | Register address out of range | Check address exists in device |
ModbusBitIndexOverstep | Bit index 0-15 exceeded | Use valid bit index within word |
ModbusAddressMustMoreThanOne | Invalid starting address | Address must be > 0 when offset is enabled |
Siemens S7 Error Codes {#s7-errors}
| Error Code | Meaning | Solution |
|---|---|---|
SiemensError000A | Object does not exist | DB block not found; create in TIA Portal |
SiemensDataLengthCheckFailed | Block length mismatch | Enable PUT/GET; disable "Optimized block access" |
SiemensReadLengthOverPlcAssign | Read exceeds PLC limit | Reduce read length or split into multiple reads |
SiemensReadLengthMustBeEvenNumber | Odd byte length | Data length must be even for word types |
SiemensDBAddressNotAllowedLargerThan255 | DB number > 255 | Use DB numbers 1-255 for S7-300/400 |
SiemensWriteError | Write operation failed | Check write permissions and address validity |
SiemensError0006 | Unsupported data type | Use supported types (Bool, Int, Real, etc.) |
Mitsubishi/Melsec Error Codes
| Error Code | Meaning | Solution |
|---|---|---|
MelsecError02 | Invalid device range | Check device address exists in PLC |
MelsecErrorC056 | Address exceeded maximum | Reduce address or use extended memory |
MelsecErrorC05F | Target PLC rejected request | Check network number and PC number |
MelsecErrorC051_54 | Read/write points out of range | Reduce number of points per request |
MelsecErrorC05E | Communication timeout | Increase timeout or check network |
MelsecFxCrcCheckFailed | CRC check failed | Verify serial settings (baud, parity) |
MelsecFxReceiveZero | No response from PLC | Check connection and PLC power |
MelsecCurrentTypeNotSupportedBitOperate | Bit operation not supported | Use word device for this data type |
Omron FINS Error Codes
| Error Code | Meaning | Solution |
|---|---|---|
OmronStatus20 | Connection limit exceeded | Reduce concurrent connections |
OmronStatus21 | Node already connected | Close existing connection first |
OmronStatus22 | Protected network node | Configure node in CX-Programmer |
OmronStatus23 | Network node out of range | Use valid node address (1-126) |
OmronStatus24 | Node already in use | Choose different node address |
OmronStatus25 | All nodes in use | Free up connections on network |
OmronReceiveDataError | Data receive exception | Check FINS port (9600) and DA1/SA1 |
Allen-Bradley Error Codes
| Error Code | Meaning | Solution |
|---|---|---|
IOI could not be deciphered | Tag path invalid | Verify tag name and path syntax |
Tag does not exist | Tag not found in PLC | Check tag spelling in Studio 5000 |
Insufficient memory | Response buffer overflow | Reduce read size or split requests |
Forward Open failed | CIP connection rejected | Check slot, IP, and connection limits |
Panasonic Mewtocol Error Codes
| Error Code | Meaning | Solution |
|---|---|---|
PanasonicMewStatus40 | BCC error (checksum) | Check serial cable and wiring |
PanasonicMewStatus41 | WACK error - buffer full | Reduce request frequency |
PanasonicMewStatus60 | Parameter error | Check command format and values |
PanasonicMewStatus61 | Data error - BCD overflow | Verify data format (BCD/HEX) |
PanasonicMewStatus63 | PLC mode error | Switch PLC to correct mode |
PanasonicMewStatus65 | Protection error | Disable write protection |
Keyence Error Codes
| Error Code | Meaning | Solution |
|---|---|---|
KeyenceNanoE0 | Device/address out of range | Check device number and bank |
KeyenceNanoE1 | Command not supported | Use supported CPU commands |
KeyenceSR2000Error00 | Undefined command | Check command format |
KeyenceSR2000Error20 | Current mode error | Switch to appropriate mode |
KeyenceSR2000Error21 | Buffer full | Wait and retry operation |
Yokogawa Link Error Codes
| Error Code | Meaning | Solution |
|---|---|---|
YokogawaLinkError01 | CPU number out of range | Use CPU 1-4 |
YokogawaLinkError02 | Command does not exist | Check command spelling |
YokogawaLinkError03 | Device name does not exist | Verify device in program |
YokogawaLinkError42 | Checksum differs | Check cable and connections |
YokogawaLinkError44 | Timeout receiving | Increase timeout; check wiring |
Beckhoff ADS Error Codes
| Error Code | Meaning | Solution |
|---|---|---|
ADS Error 1793 | Service not supported | Check TwinCAT version |
ADS Error 1808 | Symbol not found | Verify variable name in PLC |
Target machine not found | No route to target | Check AmsNetId and route |
Symbol download required | TPY file outdated | Re-download symbols |
Delta DVP Error Codes
| Error Code | Meaning | Solution |
|---|---|---|
Illegal address | Address not valid | Check device memory map |
Receive check failed | Checksum error | Verify serial settings |
Response format error | Invalid response | Check protocol mode |
XINJE Error Codes
| Error Code | Meaning | Solution |
|---|---|---|
Address format error | Invalid address syntax | Use correct format (D100, M0) |
Protocol type error | Wrong protocol mode | Match protocol to PLC series |
GE SRTP Error Codes
| Error Code | Meaning | Solution |
|---|---|---|
Not support bit read/write | Bit operations blocked | Use word operations |
Address cannot be 0 | Invalid starting address | Start from address 1 |
Length must be even | Odd byte count | Use even byte lengths |
Fuji SPB Error Codes
| Error Code | Meaning | Solution |
|---|---|---|
FujiSpbStatus01 | Write to ROM attempted | Check memory area |
FujiSpbStatus02 | Undefined command | Verify command format |
FujiSpbStatus03 | Data contradiction | Check parameter values |
LSIS Error Codes
| Error Code | Meaning | Solution |
|---|---|---|
LsisCnet0003 | Blocks exceed 16 | Split into smaller requests |
LsisCnet1232 | Max 60 words exceeded | Reduce words per request |
LsisCnet0007 | Invalid data type | Use X, B, W, D, or L types |
YASKAWA YRC Robot Error Codes
| Error Code | Meaning | Solution |
|---|---|---|
YRC1010 | Command exception | Check command syntax |
YRC2120 | Data cannot be read | Verify variable access |
YRC3010 | Servo power off | Enable servo power |
YRC5110 | Syntax error | Check command format |
Robot in action | Robot busy | Wait for motion complete |
Hold is stopping | In hold state | Release hold signal |
Fanuc CNC Error Codes
| Error Code | Meaning | Solution |
|---|---|---|
Protocol error | Communication failure | Check FOCAS library |
Invalid parameter | Parameter out of range | Verify parameter values |
CNC not ready | Machine busy | Wait for ready state |
Kuka Robot Error Codes
| Error Code | Meaning | Solution |
|---|---|---|
Variable not found | KRL variable missing | Create variable in program |
Robot not ready | Not in correct mode | Switch to EXT/AUTO mode |
Program error | Submit error | Check KRL syntax |
General Connection Errors
| Error Code | Meaning | Solution |
|---|---|---|
ConnectTimeout | Connection timed out | Check IP, port, and firewall settings |
ReceiveDataTimeout | No response received | Increase timeout; check device is responding |
ConnectionIsNotAvailable | Connection dropped | Network issue; will auto-reconnect |
SocketContentReceiveException | Socket receive error | Check network stability |
IpAddressError | Invalid IP format | Use format: 192.168.1.100 |
Remote host forcibly closed | Device disconnected | Check device power and cables |
Filter system logs by Category = Proxus.ProtocolDrivers to see protocol-specific errors with full context. Original error details are always preserved in the log message.
Validation Tools
Use Device Simulators
Before connecting to real hardware, test with simulators:
- Modbus: ModRSsim2
- OPC UA: Prosys OPC UA Simulation Server
- Siemens: PLCSIM Advanced
Use Protocol Analyzers
- UaExpert (OPC UA) - Browse, read, write nodes
- Modbus Poll - Test Modbus communication
- Wireshark - Capture and analyze network traffic
See Also
- Modbus TCP Guide - Complete Modbus reference
- Siemens S7 Guide - S7 addressing details
- OPC UA Guide - Node ID formats
- Device Profiles - Configure data types
- Data Flow Problems - If data is not arriving