--- title: "Connecting to Micro800" --- # Connecting to Micro800 >

The Micro800 driver supports communication with the following Allen-Bradley Micro800 PLCs via EtherNet/IP over TCP/IP: - **Micro820** - **Micro850** - **Micro870** ## Data Types The driver supports the following data types: - DATE (Milliseconds since Unix epoch) - TIME (Represents duration in milliseconds) - BOOL - SINT - INT - DINT - LINT - USINT - UINT - UDINT - ULINT - REAL - LREAL - STRING (UTF-8 encoding, max limit of 80 characters) - BYTE - WORD - DWORD - LWORD ## Connect to a Micro800 Device 1. Navigate to the **Config** section of the Gateway Webpage. 1. Scroll down and select **OPC UA > Device Connections**. ![](connect-to-a-micro800-device-step2.png) 1. On the **Devices** page, click on **Create new Device**. 1. Select **Allen-Bradley Micro800 Driver**, and click **Next**. 1. On the New Device page, leave all the default values and fill in the following fields: - **Name**: Micro800 - **Hostname**: Enter **IP address** for the device. ![](connect-to-a-micro800-device-step5.png) 1. Click **Create New Device**. 1. The **Devices** page is displayed showing the **Micro800** device was added to Ignition. The **Status** will show as Disconnected and then Connected. ![](connect-to-a-micro800-device-step7.png) 1. To see all the tags, go to **OPC Client** > **Quick Client** in the **Config** section. On the OPC Quick Client page expand the Micro800 device folder to view browsable tags. :::note Not all tags will be visible in the Quick Client. See the [Browsing](#browsing) section for more info. ::: ## Device Connection Settings ### General | General | Description | | ----------- | ---------------------------------------------------------- | | Name | The device name. | | Description | The device description. | | Enabled | If true, attempts connection to the device. Default is true. | ### Connectivity | Connectivity | Description | | ----------------------- | ------------------ | | Hostname | Hostname or IP address of the controller or ethernet module. | | Port | Port to connect to on the remote device. | | Local Address | Address of network adapter to connect from. | | Timeout | Max amount of time to wait, in milliseconds, for responses from the processor. | | Max Concurrent Requests | Controls both the max number of concurrent unconnected requests and the max number of concurrent connected requests (and therefore CIP connections) allowed. | ### Advanced | Advanced | Description | | ---------------------- | -------------------------------- | | Write Priority Ratio | The number of write requests to execute for every read request when an abundance of both types are queued up for execution. | | Automatic Rebrowse | Monitors for tag changes and automatically initiates a re-browse when detected. If this is disabled, tags will only be browsed when connecting and reconnecting. | | CIP Connection Size | The CIP connection size to use during Forward Open requests. | | CIP Connection Timeout | Target timeout, in milliseconds, for CIP connections and RPI. | ## Browsing The driver supports browsing global variables. However, not all global variables are exposed by the PLC via browse request, including: - UDTs and system-defined structures - BOOL data type arrays - Arrays with non-zero starting indices Despite this limitation, these global variables can still be made browsable in Ignition using the supplementary Addresses page Load Configuration File option. This page allows users to import global variables from a CSV file or .zip file downloaded from Connected Components Workbench. :::note The Micro800 driver is designed to work with individual variables exported from the Connected Components Workbench and cannot directly read Function Blocks. ::: :::caution Device Connections Supplementary Addresses Page To prevent conflicting definitions with tags that can be browsed, only global variables that are not exposed via browsing the device can be specified on this page. This is determined based on the variable’s name, data type, dimensions, etc. For CSV files, any global variable not meeting this condition will be automatically filtered out on import, and for manual entry, filtering will occur on save. The `com.inductiveautomation.ignition.drivers.micro800.util.tags.GlobalVariableCsvParser` logger can be set to TRACE to determine what was filtered out. ::: ### Importing Global Variables - CSV File #### Downloading the CSV file from Connected Components Workbench 1. Open **Connected Components Workbench** and load the Micro800 project. 1. Right-click on the controller in the Project Organizer pane and select **Export** > **Variables**. ![](importing-unbrowsable-tags-step2.png) 1. Select a suitable download location and change the file format to **Comma Separated Values**. 1. Click **Save**. #### Loading the CSV file into Ignition 1. Navigate to the **Config** section of the Gateway webpage. 1. Select **OPC UA** > **Device Connections**. 1. Locate the Micro800 device connection and click the **More** dropdown and select **Addresses**. 1. Click on **Load Configuration File** and choose the CSV file obtained from Connected Components Workbench. 1. Click **Load**. Entries for variables that can be imported should populate the page. ![](loading-the-csv-file-into-ignition-step5.png) 1. Click **Save Configuration**. These variables should now be visible as nodes in the OPC Browser or Quick Client. ![](loading-the-csv-file-into-ignition-step6.png) ### Importing Global Variables - Zip File In addition to importing with a CSV file, you can now import global variables that are not exposed via browsing with a .zip file. #### Exporting Tags from Connected Components Workbench 1. Open **Connected Components Workbench** and load the Micro800 project. 2. Right-click on the controller in the Project Organizer pane. 3. Select **Export** > **Export Device** from the context menu. ![](Snag_158c83d8.png) 4. In the **Import Export** popup window, select the **Export Variables Only** checkbox. 5. Click on **Export**. ![](Snag_158c9b19.png) 6. The exported file will be in .7z format. Convert it to a .zip file using a file archiver tool. #### Importing Tags into Ignition 1. Navigate to the **Config** section of the Gateway webpage. 2. Select **OPC UA** > **Device Connections**. 3. Click on the **More** option for the Micro800 device. 4. Click on **Load Configuration File** to import the .zip file. ## Addressing In most cases, you shouldn’t need to worry about OPC Item Paths as they’re provided through the device browse or file import. The only exception is if global variables are manually being added to the Addresses page (not recommended). In which case, the rules are: - Paths must match with the global variable names in Connected Components Workbench. - Paths must resolve to an atomic data type (or an array of an atomic data type), i.e. keep “drilling” down until it’s not a structure. For example, consider this UDT in Connected Components Workbench: ![](addressing-example1.png) To manually expose this UDT as a browsable node in OPC Browser or Quick Client, the paths need to be specified in the Addresses page like so: ![](addressing-example2.png) ## Bit-Level Addressing For bit-leveling addressing, append a period and the bit index to the OPC Item Path. This is applicable for all numerical data types. The bit index must be within range of the addressed variable’s data type. Examples: - `MyUint.1` (First bit of MyUint) - `MyByteArray[0].7` (7th bit of the 0th array element inside MyByteArray) - `MyUdtInstance.MyDint.11` (11th bit of the member tag, MyDint, inside the UDT, MyUdtInstance) ## Performance Considerations Due to limitations with how the Micro800 series implements the communication protocol, there are limited opportunities for tag read/write optimizations, as implemented in other drivers. For this reason, subscriptions containing unused tags should be avoided whenever possible as well as subscriptions with unnecessarily fast rates. The **Max Concurrent Requests** setting can be adjusted to allow the Micro800 Driver to send multiple requests at the same time which can greatly improve throughput. However be wary that increasing this value too high may yield diminishing returns or negatively impact the performance of the PLC.