Lon - CONNERR Error Codes

CONNERR Error Codes

Connection Errors

Connection errors are errors returned when attempting to make network variable or message

tag connections. These errors will appear in the format CONNERR: #<Error Number>.

 

lcaErrConnInvalidTargetCount CONNERR, #1

An incorrect number of targets were specified. You must specify at least one and no more than

25 targets when adding members. To add more members, you must invoke the Connect method

multiple times.

 

lcaErrConnPropertyNotFound CONNERR, #2

There is no ConnectDescTemplate object with the specified handle.

 

lcaErrConnConflictingProperties CONNERR, #3

One or more of the fields of the connection descriptions used by intersecting connections are

incompatible with one another. This may include any of the fields of a connection description,

including the service type, the use of priority, and the use of authentication. Several of the fields

of a connection description may cause additional exceptions to be thrown if those fields conflict.

Those error codes start at CONNERR:#28 lcaErrConnConflictingPrioritySettings and end with

CONNERR:#32 lcaErrConnConflictingBroadcastSettings. Note that these error codes (and the

CONNERR:#3 lcaErrConnConflictingProperties exception) do not apply to monitor connections.

 

lcaErrConnNodeNotFound CONNERR, #4

An invalid device handle was specified for the hub or for one of the targets.

Each device in the network has a unique handle that allows a client to identify the device. Once

assigned, the handle is permanently associated with the device until that device is removed.

 

lcaErrConnNvmtOutOfRange CONNERR, #5

The network variable or message tag index is larger than the maximum declared for that node.

The index is the number used to identify a message tag or a network variable. The Neuron C

compiler assigns indices to message tags and network variables in the order in which they are

declared. The first network variable declared in the code is assigned index 0, the second is

assigned index 1, and so on. The same applies to the message tags.

 

lcaErrConnCantConnectNvToMt CONNERR, #6

You can only connect network variables to network variables and message tags to message

tags.

If you attempt to connect a message tag to a network variable, or vice versa, you will generate

this error message.

 

lcaErrConnTypesDoNotMatch CONNERR, #7

The network variables are not all of the same type.

If SNVTs are used for the connection then, all members must be of the same type.

 

lcaErrConnTypesDifferentSizes CONNERR, #8

The network variables are not all of the same size.

If the connection members are not SNVTs, then all members must have the same length.

 

lcaErrConnDirectionOrPollingMismatch CONNERR, #9

An input network variable can only be connected to an output network variable, a polled output

network variable can only be connected to a polling input network variable, and the implicit

message tag msg_in can only be connected to an explicitly declared message tag.

This error will occur if an attempt was made to connect network variables of the same direction,

network variables with mismatched polling attributes (a polled output network variable to nonpolling

input network variable), or msg_in to msg_in.

 

lcaErrConnMtagCantUseTurnaround CONNERR, #10

An attempt was made to connect message tags in the same node (i.e., to create a turnaround

message tag connection, which is not possible).

 

lcaErrConnPriNotConfigurable CONNERR, #11

An attempt was made to modify the priority attribute; that attribute was not specified as

configurable.

For network variables, the priority keyword may be included as part of the connection

information in the Neuron C variable declaration. The config and nonconfig keywords specify

whether the priority designation can be modified with a network management tool. The default

is config.

The priority keyword affects output or polled input network variables.

Please refer to the Neuron C Reference Guide for more information.

 

lcaErrConnAuthNotConfigurable CONNERR, #12

An attempt was made to modify the authentication attribute and that attribute was not specified

as configurable.

For network variables, the authentication keyword may be included as part of the connection

information in the Neuron C variable declaration. Including the keyword config in the declaration

allows the network management tool to change the authentication status of this network

variable after a node has been installed. Setting nonconfig prevents the authentication status

from ever being changed for this network variable. The default is config. Please refer to the

Neuron C Reference Guide for more information.

 

lcaErrConnSvctypeNotConfigurable CONNERR, #13

An attempt was made to modify the protocol service type attribute, and that attribute was not

specified as configurable.

For network variables, the service type can be specified in the connection information in the

Neuron C variable declaration. The options are unackd, nackd_rpt and ackd. The keyword config

is the default. This allows a network management tool to change the service specification at

installation time. The keyword nonconfig indicates that the service type cannot be changed by a

network management tool. Please refer to the Neuron C Reference Guide for more information.

 

lcaErrConnNvSelectorConstraint CONNERR, #14

At most, one input network variable in a device, and in some situations only one output network

variable in a device, can use the same network variable selector, which is shared by connections

that intersect each other. This error will be generated when an attempt is made to form a

connection that violates this constraint, and no network variable alias was available to overcome

the constraint. If network variable aliases are available on the devices in the connection, they will

normally be automatically used to avoid this error.

A selector is a number assigned to the network variable during the connection process in order

to identify connected network variables. All members of the same connection, and any

intersecting connections, share this selector. Without aliases, if an attempt is made to connect

several inputs or several outputs (one or more of which polled by an input) on the same node in

the same connection (or intersecting connections), this error will be generated. The use of

aliases allows a single connection of several intersecting connections to have several different

selectors (one per alias). If aliases are available, this error will normally not occur.

 

lcaErrConnNoMoreAddressSlots CONNERR, #15

This error will occur when a device involved in an attempted connection does not have an

available address table slot to complete the connection. This can also occur when multiple

connections are sharing an address table slot, and one of them changes. As a result, they can no

longer share address table slots.

In some cases broadcast addressing can be used to reduce address table usage, because output

connections to different nodes may be able to use the same broadcast address table entry. In

addition, if the connection is a multicast connection, the use of broadcast addressing will not

require a group address table entry on the target device. The use of broadcast messaging is

controlled by the BroadcastOptions property of the ConnectDescTemplate object being used by

the connection.

In some cases, aliases may be used to shift address table entry usage from one device to

another. Multicast messages using a group use one address table entry on the source device,

and one on each target device (note that this address table entry may be used for other

connections as well). Using aliases to support multicast will result in using an address table entry

for each target on the source node, but require no address table entries on the target node. The

use of aliases for multicast is controlled by the AliasOptions property of the

ConnectDescTemplate object.

 

lcaErrConnCannotCreateGroup CONNERR, #16

This error will occur when the requested connection requires a group, but there are no more

groups available in the domain.

A domain can contain 256 groups. Groups and group membership are assigned when

connections are created. If there are several targets within a connection, a group will normally be

formed. The use of aliases may prevent a group from being used, and broadcast addressing can

be used as an alternative to groups. Use of aliases for multicast and broadcast can be controlled

via the AliasOptions and BroadcastOptions properties of the ConnectDescTemplate object being

used by the connection.

Groups can be reused for multiple connections within the same domain. Connection timers used

by the different connections must be compatible, and the collection of nodes must either be

identical in all the connections, or all the connections must at least have the same set of

destination nodes (the sources can be different). This last case is called group overloading.

Reusing groups is done automatically with the LNS Object Server.

 

lcaErrConnNoMoreNetvarSelectors CONNERR, #17

An attempted connection failed because all network variable selector values were in use.

A network can use up to 12288 selector values. Unrelated connections will normally require

unique selector values. Intersecting connections automatically use the same selector Network

variable aliases are used automatically to resolve selector conflicts on a node (i.e. to eliminate

this exception from occurring), although this uses up one selector for each alias. Starting in LNS

2.0, selector values are grouped into categories, with one category being "shareable". Nonintersecting,

point-to-point connections may reuse selector values from this category any

number of times. This is done automatically by the LNS Object Server.

 

lcaErrConnMtagInConnAlready CONNERR, #18

With the exception of the special message tag msg_in, a message tag may only appear in one

connection. This error will occur when a connection was attempted that violated this constraint.

 

lcaErrConnAuthenticationMismatch CONNERR, #19

This error will occur when not all members of an attempted connection have the same setting for

authentication.

It is possible to connect an authenticated output to a non-authenticated input, but an

authenticated input must be connected to an authenticated output. A polling input must be

authenticated if any of the targeted outputs are authenticated.

 

lcaErrConnGrpTooLargeForAckd CONNERR, #20

This error will occur when an attempt is made to form a connection of more than 64 members

that uses acknowledged service. Only unacknowledged or unacknowledged/repeat service is

allowed for connections with more than 64 members. Such a connection must be built using a

connection description that specifies one of these service types.

This error may also occur when polled output network variables or polling input network

variables are involved in the connection.

 

lcaErrConnUnackdWithAuth CONNERR, #21

An attempt was made to form a connection using authentication but not using the

acknowledged service type.

The authentication process is composed of four messages, 2 of which are using the

Acknowledged service. This is why using the authentication service without the Acknowledged

service is illegal.

 

lcaErrConnAuthOnUnauthNode CONNERR, #22

An attempt was made to form an authenticated connection with an unauthenticated node. Only

nodes with the AuthenticationEnabled set to True are permitted to participate in authenticated

connections.

 

lcaErrConnBcastSubnetsDiffer CONNERR, #23

An attempt was made to subnet broadcast, but the devices are not all in the same subnet. This

error is not currently generated, since the broadcast type used is determined automatically.

 

lcaErrConnNewBcastCausesNvLeak CONNERR, #24

An attempt was made to use broadcast addressing, but a network variable leak was detected on

another node. A network variable leak means that update messages for the network variable

may be received by connections and devices that it is not intended to. LNS attempts to avoid

this problem by the appropriate allocation of network variable selectors. However, some

connection intersections make the use of broadcast addressing impossible, and so you may need

to avoid using broadcast addressing in some situations. One solution for this problem is to use

aliases for unicast connections, instead of using multicast connections. See the Optimizing

Connection Resources section in Chapter 8 of the LNS Programmer’s Guides for more

information on this.

 

lcaErrConnExistingBcastCausesNvLeak CONNERR, #25

An attempt was made to create a connection (of any type), but a detected network variable leak

was caused by the use of broadcast addressing on another device. A network variable leak

means that update messages for the network variable may be received by connections and

devices that it is not intended to. LNS attempts to avoid this problem by the appropriate

allocation of network variable selectors. However, some connection intersections are not

possible when broadcast addressing is in use. One solution for this problem is to use aliases for

unicast connections, instead of using multicast connections. See the Optimizing Connection

Resources section in Chapter 8 of the LNS Programmer’s Guides for more information on this.

 

lcaErrConnBcastCantAck CONNERR, #26

Acknowledged services cannot be used with broadcast addressing.

Note that subnet broadcast is not allowed with ACKD service, and domain broadcast is not

allowed with either ACKD or UNACKD_RPT services.

 

lcaErrConnDomainBcastMustUseUnackd CONNERR, #27

Domain broadcast addressing is restricted to the unacknowledged service.

Please note that UNACKD_RPT service is not allowed with Domain broadcast.

 

lcaErrConnConflictingPrioritySettings CONNERR, #28

The connection descriptions for intersecting connections have incompatible settings for priority.

The priority option is available only for network variables. If an output network variable that is

not declared as polled is a member of multiple connections, the priority settings for all of those

connections must be identical. If a polling input network variable is a member of multiple

connections, the priority settings for those connections must also be identical.

 

lcaErrConnConflictingAuthSettings CONNERR, #29

The authentication settings for the network variables in a connection are incompatible. If a

target network variable (an input network variable, or polled output network variable) in a

connection is using authenticated messaging, then all network variables involved in the

connection must also use authenticated messaging.

 

lcaErrConnConflictingSvctypeSettings CONNERR, #30

The connection descriptions for intersecting connections have incompatible settings for service

type. If an output network variable that is not declared as polled is a member of multiple

connections, the service type settings for all of those connections must be identical.

 

lcaErrConnConflictingTimerSettings CONNERR, #31

The connection descriptions for intersecting connections have incompatible settings for one of

the timer values. If an output network variable that is not declared as polled is a member of

multiple connections, the timer settings for all of those connections must be identical. If a

polling input network variable is a member of multiple connections, the timer settings for those

connections must also be identical.

 

lcaErrConnConflictingBroadcastSettings CONNERR, #32

The connection descriptions for intersecting connections have incompatible settings for

broadcast addressing. If an output network variable that is not declared as polled is a member

of multiple connections, the broadcast options for all of those connections must be identical. If

a polling input network variable is a member of multiple connections, the broadcast options for

those connections must also be identical.

 

lcaErrConnCantDirectlyManageMonitorConn CONNERR, #33

Monitor connections cannot be directly managed. This error indicates that the application is

attempting to directly manage internal monitor connections, rather than implicitly manipulating

those connections by using monitor points.

 

lcaErrConnConflictingMonitorProperties CONNERR, #34

The connection descriptions used for intersecting monitoring connections have conflicting

settings. If the connection descriptions used by intersecting connections conflict, and neither

connection is a monitoring connection, then any of the following errors may be thrown:

CONNERR:#3 lcaErrConnConflictingProperties

CONNERR:#28 lcaErrConnConflictingPrioritySettings

CONNERR:#29 lcaErrConnConflictingAuthSettings

CONNERR:#30 lcaErrConnConflictingSvctypeSettings

CONNERR:#31 lcaErrConnConflictingTimerSettings

CONNERR:#32 lcaErrConnConflictingBroadcastSettings

 

Add Feedback