The Brainboxes connector provides tag-based read/write access to a Brainboxes Ethernet I/O device (digital inputs/outputs, analog inputs), using the Brainboxes.IO SDK. It is event-driven, not polled - the connector subscribes to the device's own hardware change-notification events (IOLineRisingEdge, IOLineFallingEdge, analog line-change events) and updates tags as those events fire, rather than reading on a timer.
Automatically reconnects on disconnection via a background retry loop.
Note: this connector does not auto-register discovered I/O points as tags. On connect, it queries the device for its actual inputs/outputs, but these are only used to log/set local values - they are not added to the connector's tag dictionary. Tags must be configured externally (matching name convention below) for the connector to actually read/write them.
| Name | Values | Description |
|---|---|---|
| Type | BRAINBOXES | The connector type identifier. |
| IP | IP address | Address of the Brainboxes device. |
| UpdateRate | milliseconds (integer) | Present for consistency with other connectors, but not used to drive polling - this connector is event-driven. |
The connector maps onto the standard Industreweb tag types below. For Integer Tag, Decimal Tag, Time Span Tag, and Data Tag - where more than one Allen Bradley elementary type could apply - the specific AB type is selected using a DataType entry in the tag's Parameters. Bool Tag and String Tag don't need this, since each maps to exactly one AB type.
| Tag Type | Address | Behaviour |
|---|---|---|
| Bool Tag | DIADDRESS<n> (input) / DOADDRESS<n> (output) | Digital input/output, matching device I/O numbering. Updated on hardware change events; digital outputs writable via ChangeData. |
| Decimal Tag | AIADDRESS<n> | Analog input, matching device I/O numbering. Updated on analog line-change events. |
Tag Name must follow the convention DI<n> / DO<n> / AI<n> (matching the device's own I/O numbering) for the connector's event handlers to find and update the correct tag.
| Name | Arguments | Description |
|---|---|---|
| (none) | - | This connector does not currently expose any custom connector-level methods via Execute Commands. |
The Address field (DIADDRESS<n>/DOADDRESS<n>/AIADDRESS<n>) is used to determine the physical I/O index when writing to a digital output - the numeric suffix is parsed from Address, not Name.
| Code | Type | Description |
|---|---|---|
| 1210 | Error | Unable to connect to device |
| 1230 | Error | Failed to reconnect |
| 1410 | Error | Error writing |
| 2220 | Debug | IsConnected is now (device status changed) |
| 2225 | Debug | Trying to Reconnect |
| 2300 | Debug | ITag not present |
| 2305 | Debug | DATACHANGED (analog line-change event) |
| 3100 | Info | Started |
| 3235 | Info | Reconnected Successfully |