UnderAutomation
Any question?

[email protected]

Contact us
UnderAutomation
⌘Q

Licensing

To be used, this SDK is subject to licensing. You have 30 days to test it for free.

  • Trial period
  • Register a license
  • License states
  • What happens without a valid license
  • Try it in the demo application
  • API reference

This SDK is a commercial product. You have 30 days to test it for free, with every feature available. After that a license key is needed.

Trial period

The trial starts the first time the library is used on a machine, and lasts 30 days. Nothing has to be registered, and no feature is disabled during that time.

AbbController.LicenseInfo tells you where you stand. EvaluationDaysLeft counts the days remaining, and becomes negative once the trial has expired.

Register a license

Buy a license (see pricing) and we send you a license key with the name of your organization. Pass both to the static method RegisterLicense of AbbController, once, before the first connection.

static void Main()
{
// Register the license once, before the first connection
AbbController.RegisterLicense("YourCompanyName", "YOUR_LICENSE_KEY");
LicenseInfo info = AbbController.LicenseInfo;
// Number of trial days remaining, null when the product is licensed
int? evaluationDaysLeft = info.EvaluationDaysLeft;
bool licenseValid = info.State == LicenseState.Licensed;
// A readable description of the current state
Console.WriteLine(info);
// Check the license once at startup, rather than catching the exception
// on every connection
if (!AbbController.LicenseInfo.IsLicensed)
{
Console.WriteLine(AbbController.LicenseInfo);
return;
}
// Without a key the library runs in its 30 day trial period.
// Connect throws an InvalidLicenseException once the trial has expired.
try
{
AbbController robot = new AbbController();
robot.Connect("192.168.0.1");
}
catch (InvalidLicenseException ex)
{
Console.WriteLine(ex.Message);
Console.WriteLine(ex.LicenseInfo.State);
}
}
}
Click to see the full code

The registration is static: it applies to the whole application, not to one AbbController instance. You can register a key even after the trial period has ended.

AbbController.LicenseInfo returns the current state at any moment. Its ToString() gives a readable description, which is what an InvalidLicenseException carries as its message.

License states

LicenseStateMeaningThe library runs
NoneNo key has been registered and no trial could be startedno
TrialThe 30 day trial period is runningyes
ExtraTrialAn extended trial key has been registeredyes
ExpiredThe trial period is overno
InvalidThe organization name and the key do not go togetherno
MaintenanceNeededThe key is valid, but this release is newer than the maintenance it coversno
LicensedThe product is licensedyes

IsLicensed is true for Licensed, Trial and ExtraTrial.

A license includes a number of maintenance years. MaintenanceExpirationDate is the date up to which a release can be used with that key. Versions released after that date report MaintenanceNeeded. The versions you already use keep working, a new key is only needed to move to a newer release.

What happens without a valid license

AbbController.Connect checks the license before opening the connection and throws an InvalidLicenseException when it is not valid. The exception message says why, and its LicenseInfo property carries the full state.

Test IsLicensed at startup rather than catching the exception on every connection, as the code above does.

Try it in the demo application

Everything on this page can be tried without writing code, in the License page of the demo application.

License page of the ABB SDK demo application

The demo application is open source. The C# source of this page is LicenseControl.cs.

API reference

Class
LicenseInfo
C#Python

Information about a license key

MemberTypeDescription
LicenseInfo(string, string)
Constructor
Create a new LicenseInfo instance to retrieve informations about a pair of identifier/key This class should not be used to register your product. Please use static function RegisterLicense to specify your license.
  • licenseIdentifier : The name of your organization (null for trial version)
  • licenseKey : The key, associated to the identifier, supplied by UnderAutomation (null for trial version)
EvaluationDaysLeft
Property
read only
int?
Remaining days of the trial period. Null if the product is licensed. It could be negative if the trial period is ended since several days.
EvaluationStartDate
Property
read only
DateTime
The date the trial period starts. If the product is licensed, the date of the library first use.
IsLicensed
Property
read only
bool
True if the license state is Licensed, Trial or ExtraTrial ; false otherwise
LicenseIssuedDate
Property
read only
DateTime?
The date you get the license
LicenseKey
Property
read only
string
The license key supplied by UnderAutomation (null for trial period)
Licensee
Property
read only
string
Name of your organisation
MaintenanceExpirationDate
Property
read only
DateTime?
The date your maintenance contract end and you no longer can use this license with newer versions.
MaintenanceYears
Property
read only
int
Number of maintenance years included in your license
Product
Property
read only
string
Commercial name of this .NET Software library
ProductReleaseDate
Property
read only
DateTime
The date this version of the product was released.
State
Property
read only
LicenseState
The current license state
TrialPeriodExpirationDate
Property
read only
DateTime?
The date the product will expire. Null if the product is licensed.
ToString()
Method
string
A human description of the license
Enum
LicenseState
C#Python

States that can take a license

NameValueDescription
Expired
3
The trial period as expired, you no more can use the library
ExtraTrial
2
The library is in an extra trial period, you can use the library
Invalid
0
The pair License Identifier and License Key are incompatible, you cannot use the library
Licensed
5
Congratulations, the library is licensed.
MaintenanceNeeded
4
Your license does not allow you to use such a recent release. Please buy maintenance to use this version
None
-1
No license has been provided
Trial
1
The library is in a trial period, you can use the library
Class
InvalidLicenseExceptioninherits Exception
C#Python

Exception thrown while using the product if the license is not valid.

MemberTypeDescription
LicenseInfo
Property
read only
LicenseInfo
The license that causes this exception

Easily integrate Universal Robots, Fanuc, Yaskawa, ABB or Staubli robots into your .NET, Python, LabVIEW or Matlab applications

UnderAutomation
Contact usLegal

© All rights reserved.