ASComm IoT - Allen-Bradley PLC Communications Driver for .NET 8.0, 7.0, 6.0, 5.0, Core Developers.
Automated Solutions ASComm IoT is a fully managed .NET communications library that allows you to read and write tags and registers on programmable logic controllers (PLC), programmable automation controllers (PAC), and instrumentation.
Use Visual Basic, C# and C++ to create HMI, SCADA, data logging, and Industrial IoT applications targeting .NET 8.0, 7.0, 6.0, 5.0 and .NET Core 3.1+, .NET Framework 4.6.1+, Universal Windows Platform (UWP), Desktop, ASP .NET Core, service that run on Windows 11, Windows 10, Linux and Xamarin.Android.
Features & Benefits
Allen-Bradley Logix Driver
- Does not require RSLinx or 3rd party drivers.
- Does not require OPC
- Supports ControlLogix family native tag names including UDTs
- Supports unsolicited messages
- Read and write entire UDTs and PDTs, including arrays and nested UDTs
- Extremely high performance - capable of < 5 mSec transaction time
- Highly optimized to minimize communications transactions
General
- Runs on Windows 11, Windows 10, Windows Server, Linux and Android
- Runs on Windows 10 IoT Core devices like Raspberry Pi
- Can be used to power your IoT edge devices
- 100% managed code
- .NET 8.0, 7.0, 6.0, 5.0 compatible
- .NET Core 3.1 and higher compatible
- .NET Framework 4.6.1+ compatible
- .NET Standard 2.0 compatible
- Visual Studio.NET 2017, 2019 & 2022 Compatible
- Supported Project types include Desktop, UWP, Web, WPF, console, worker service and Windows service apps
- Easily connect to your factory floor systems
- All drivers included in single component, providing consistent API regardless of target device brand or model
- Data items can be added to groups, which can be configured for timed polling
- Multiple groups can be created per device to accommodate multiple update rates
- Supports data change and error events
- Built-in serialization allows you to save/load your entire communications configuration with a single line of code
- Single component runs multiple concurrent protocols
- Object inheritance provides consistent user interface, regardless of underlying communications protocol
Documentation / Examples
- Includes .NET 6.0, .NET Core, .NET Framework, Android and UWP example applications with associated C# and VB source code
- Extensive Help documentation contains topics for getting started, driver specific functionality, design considerations, licensing, etc.
- Extensive API documentation for software developers
License
- Non-commercial and Commercial licensing available
- Licensing can be accomplished via the Internet, telephone, or email
- No Hardware Keys - software licensing mechanism is simple and intuitive
- Licenses for each driver can be purchased individually, so you only pay for the drivers that you need
- Allows for unattended license transfer across machines
- Immediate Internet delivery and online license activation.
- No runtime fees or keys for non-commercial applications.
Drivers
Drivers available for the following brands/models
- Allen Bradley ControlLogix, CompactLogix, GuardLogix, Micro800 via Ethernet
- Allen-Bradley PLC-5, SLC 500, MicroLogix via Ethernet
- GE, Emerson - Series 90, VersaMax, PACSystems RXi, RX3i, RX7i via Ethernet
- Modbus/TCP Client via Ethernet
- Siemens S7-1500, 1200, 400, 300, 200 via Ethernet
Simple Code Examples
C#
// Declare using statement
using ABLogix = AutomatedSolutions.ASCommStd.AB.Logix;
// This function creates all required ASComm objects, sets initial properties, performs a write and read, then disposes the ASComm objects
void SimpleReadAndWrite()
{
// Create a channel
ABLogix.Net.Channel myChannel = new ABLogix.Net.Channel();
// Create a device
// Device RoutePath: ENET/ENBT Module IP Address = 192.168.0.55, Backplane = 1, CPU Slot = 0
ABLogix.Device myDevice = new ABLogix.Device("192.168.0.55,1,0");
// Create Group with active flag set to false (no background scanning).
ABLogix.Group myGroup = new ABLogix.Group(false, 500);
// Create an item
ABLogix.Item myItem = new ABLogix.Item("myTag");
// Add device to channel
myChannel.Devices.Add(myDevice);
// Add group to device
myDevice.Groups.Add(myGroup);
// Add item to group
myGroup.Items.Add(myItem);
//Write one tag
try
{
// Perform a write with value from text box
myItem.Write(textBoxItemWrite.Text);
}
catch (Exception ex)
{
// Error occurred, implement error handler
}
// Read one tag
try
{
// Perform a read, save value to text box
myItem.Read();
textBoxItemRead.Text = myItem.Values[0].ToString();
}
catch (Exception ex)
{
// Error occurred, implement error handler
}
// Dispose channel at application shutdown
myChannel.Dispose();
}
Visual basic
' Declare imports statement
Imports ABLogix = AutomatedSolutions.ASCommStd.AB.Logix
' This function creates all required ASComm objects, sets initial properties, performs a write and read, then disposes the ASComm objects
Private Sub SimpleReadAndWrite()
' Create a channel
Dim myChannel As New ABLogix.Net.Channel()
' Create a device
' Device RoutePath: IP Address = 192.168.0.55, Backplane = 1, CPU Slot = 0
Dim myDevice As New ABLogix.Device("192.168.0.55,1,0")
' Create Group with active flag set to false (no background scanning).
Dim myGroup As New ABLogix.Group(False, 500)
' Create an item
Dim myItem As New ABLogix.Item("myTag")
' Add device to channel
myChannel.Devices.Add(myDevice)
' Add group to device
myDevice.Groups.Add(myGroup)
' Add item to group
myGroup.Items.Add(myItem)
'Write one tag
Try
' Perform a write with value from text box
myItem.Write(textBoxItemWrite.Text)
Catch ex As Exception
' Error occurred, implement error handler
End Try
' Read one tag
Try
' Perform a read, save value to text box
myItem.Read()
textBoxItemRead.Text = myItem.Values(0).ToString()
Catch ex As Exception
' Error occurred, implement error handler
End Try
' Dispose channel at application shutdown
myChannel.Dispose()
End Sub
Automated Solutions Website
ASComm IoT Product Page
Allen-Bradley Logix Family Driver Page
Download 30-day Trial
Revision History
License Agreement
Support Page
707-578-5882 voice
sales@automatedsolutions.com
https://www.automatedsolutions.com
Company
Automated Solutions develops and sells software products for industrial and process automation. We also provide custom development services using our products for organizations that need custom HMI, SCADA, interface, or logging applications, but are short on development resources.
Our software products do not target specific industries. They are used in diverse industries such as agriculture, automotive, mining, gas, building, construction, food & dairy, beer, wine & spirits, textile, mills, and petroleum. You can even find our software on submarines, in amusement parks, and Internet telescopes.
Founded in 1994, over 3300 companies now use our software products globally to build high-performance, cost-effective HMI, SCADA, machine control, and data logging applications.
Other products and companies referred to herein are trademarks or registered trademarks of their respective companies or mark holders.