Write to SDO: SqNode Failure?

[RMP 10.3.4]

In an attempt to write to a drive parameter (Yaskawa SGD7), I’m getting an error that I don’t know how to interpret.

SDO
index(0x60c2)
subindex(1)
byte_count(2)

{RSI Error} ErrorNumber(6426)(RSINetworkNodeMessageNODE_FAILURE)
Line(464)
Function(RapidCodeNetworkNode::ServiceChannelWriteCore)
Warning?(No)
Text(SqNode: node failure Syntax error in command or file (Error 6426) (RapidCodeNetworkNode::ServiceChannelWriteCore) (Object 1) (File rapidcodenetworknode.cpp) (Line 464) (Version 10.3.4.0))
ShortText(Syntax error in command or file )

What does this mean? I’m trying to write the value: 100, which is within the acceptable range of values (according to the documentation).

I tried writing the same value in RapidSetup, and get the same error.

When I get the value of the object, it’s (already) 100. IDK why the write is failing.

Hi Todd,

That is a 1 Byte value, not a 2 Byte one.

1 Like

Is that generally how I should interpret the error message?

Hi Todd,

I don’t think its a great message and that there is room for improvement.

Checking the input parameters, valid value ranges, and state of the network are the normal troubleshooting steps I take.

Sorry. I wasn’t trying to offer a critique as much as seeking guidance. The message doesn’t mean anything specific to me. It seems like I get different errors for values that exceed the bounds or objects that don’t exist or can’t be set.

What should I interpret this error message to mean? “General failure”?

Hi Todd,

It isn’t a general error. You were getting DEVICE_SYNTAX which we decode into “Syntax error in command or file”. We have some other info we wrap around that.

Here is a collection Typed errors and associated strings.
NOERR: “No Error.”
DEVICE_ERROR: “Error class < device error >”
DEVICE_SRVNOTSUPP: “Service is not supported”
DEVICE_INVALIDCMD: “Invalid index”
DEVICE_INVALIDINDEX: “Invalid offset”
DEVICE_INVALIDACCESS: “Reading/Writing not permitted”
DEVICE_INVALIDSIZE: “Parameter size not correct”
DEVICE_INVALIDDATA: “Invalid parameter value(s)”
DEVICE_NOTREADY: “Device is not in a ready state”
DEVICE_BUSY: “Device is busy”
DEVICE_INVALIDCONTEXT: “Invalid context”
DEVICE_NOMEMORY: “Out of memory”
DEVICE_INVALIDPARM: “Invalid parameter value(s)”
DEVICE_NOTFOUND: “Not found (files, …)”
DEVICE_SYNTAX: “Syntax error in command or file”
DEVICE_INVALIDSTATE: “Device is in invalid state”
DEVICE_NOMOREHDLS: “No more handles”
DEVICE_TIMEOUT: “Device has a timeout”
DEVICE_OPENFAILED: “Device open failed”
DEVICE_SENDFAILED: “Device send failed”
DEVICE_INSERTMAILBOX: “Device Insert Mailbox error.”
DEVICE_INVALIDOFFSET: “Invalid subindex”
DEVICE_UNKNOWNMAILBOXCMD: “Unknown Mailbox Command”
DEVICE_ACCESSDENIED: “Device access denied”
DEVICE_INVALIDARRAYIDX: “Device Invalid array idx”
DEVICE_EXISTS: “Device Exists Error”
DEVICE_INVALIDADDR: “Device Invalid Address”
DEVICE_INCOMPATIBLE: “Device Incompatible”
DEVICE_ABORTED: “Request aborted”
DEVICE_PENDING: “Request aborted, Device pending”
DEVICE_PARAM_ACCESS_ERROR: “Unknown error occurred while accessing parameter”
DEVICE_PARAM_NOT_FOUND: “Parameter was not found”
DEVICE_PARAM_NOT_INTEGER: “Parameter is an floating-point value”
DEVICE_VALUE_IS_NEGATIVE: “No negative values allowed”
DEVICE_VALUE_OUT_OF_RANGE: “Value is out of data-range”
DEVICE_VALUE_GREATER_THAN_MAX: “Value bigger than maximum”
DEVICE_VALUE_LOWER_THAN_MIN: “Value lower than minimum”
CLIENT_ERROR: “Client Error”
CLIENT_TIMEOUT: “Client Timeout”
CLIENT_INVALIDPARM: “Client Invalid Parameter”
CLIENT_INVALIDSIZE: “Client Invalid Size”
CLIENT_INTERNAL: “Client Internal error or ASCII channel command too long”
None of the above: “Error Not Found.”

1 Like

Out of curiosity, why was DEVICE_INVALIDSIZE not returned instead of DEVICE_SYNTAX? It seems like that’s the mistake I made.

Hi Todd,

Its determined by the node. I’m not sure.