Blog

Show all

Does your assembly line use a home-grown MES software? 
Are you struggling with the implementation of the odd and quirky architecture of the “Atlas Copco Open Protocol” (which, by the way, is fully supported by Kolver’s K-DUCER)? 

If so, the Kolver NuGet library for C# might be just what you need to easily integrate a high precision torque tool into your work instructions and data collection processes!

What is NuGet?

As explained on Microsoft’s website, NuGet is the Microsoft-supported mechanism for sharing code and defines how packages for .NET are created, hosted, and consumed. Put simply, a NuGet package is a single ZIP file with the .nupkg extension that contains compiled code (DLLs), other files related to that code, and a descriptive manifest that includes information like the package's version number. Package consumers simply add these packages to their projects, and then call a package's functionality in their project code. NuGet itself then handles all of the intermediate details.

What is the Kolver NuGet library?

Available https://www.nuget.org/packages/Kolver.Kducer/, the Kducer C# library is an open source, fully contained package that abstracts away the details of the underlying industry-standard Modbus TCP protocol and allows you to control and monitor the Kolver K-DUCER controller via a simple and self-documenting API.

The library follows .NET Standard 2.0, which means it’s compatible with the latest .NET releases but also backwards compatible with .NET Framework for easy integration into legacy code bases.

The package has zero-dependencies (other than Microsoft Logging Abstractions) and is signed with an EV2 certificate, making compliance with IT security requirements as easy as possible.



Getting started

Install the library with a simple command:

dotnet add package Kolver.Kducer

Connecting to a KDU-1A is as simple as instantiating a Kducer type, passing the IP address of the KDU-1A:

Kducer kdu = new Kducer("192.168.32.103");

The kdu object automatically connects to the device and collects data via an efficient async communication loop. You don’t have to worry about connection management, keep-alive mechanism, or TCP/IP socket management (unless you want to, that is, as the status and connection management functions are automatically managed but available to use).

With the kdu object, you can then gather tightening result data and easily extract the values that you need. For example:

KducerTighteningResult lastesTightening = await kdu.GetResultAsync(CancellationToken.None);

Console.WriteLine($"{lastesTightening.GetResultTimestamp()} - The torque was {lastesTightening.GetTorqueResult()} cNm and the angle was {lastesTightening.GetAngleResult()} degrees");


...and more!

But you can do much more, for example read and modify any and all program configuration data, select different programs or sequences, and recreate torque-angle graphs of each result.

Every function is self-documenting for easy discovery via intellisense (i.e. tooltip hover on Visual Studio).

Find out more on the readme at https://www.nuget.org/packages/Kolver.Kducer/. You can also  browse the source code on github https://github.com/kolver/nuget-kolver.kducer



For anything else, contact us at [email protected]