How to protect a program (SlimLine/Netsyst)

PLC families SlimLine e Netsyst have been conceived with the aim of safeguarding the investment in programming made by the Customer both in terms of portability to / from other platforms (obtained with the use of the IEC61131-3 language), and in terms of protection from copy and fraudulent use. There are two methods of protection:

Manufacturer ID (MID)

The Customer who wants to protect his application from copying and fraudulent use has the possibility of being assigned a MID code which will be installed on the CPUs he has purchased (if required). The MID code is personal and cannot be sold by Elsist to anyone else unless with the written authorization of the Client.

The CPUs equipped with MID will be externally identifiable by a label (MIDxxxyzzz) which identifies the code to which the Customer can link his application, thus making it work exclusively on products equipped with his MID. The set code is visible from the web page under the item Manufacturer code by default it is 0. It will also be possible to link particular features released by the Elsist or developed by it on request of the Customer to a MID code, thus establishing a protection also on the programs or on the Function blocks developed by Elsist and available only under license.

How do I protect my program with the MID

The MID code is returned in the variable SysMfcCode, so it will be enough to check its value within your own program and decide accordingly how to proceed. Of course, the program that controls the MID will have to be encrypted to avoid modifications by the client. The MID control can also be inserted inside function blocks that you want to work only on your own systems, perhaps by providing a demonstration period of operation.

It is advisable to make the blocking due to the lack of the MID evident in order to avoid wasting time in the event that the customer tries to run a protected program on a CPU module not equipped with a MID.

LogicLab (ST_MIDProtection)
PROGRAM ST_MIDProtection
VAR
    i : BOOL; (* Auxiliary variable *)
END_VAR

// *****************************************************************************
// PROGRAM "ST_MIDProtection"
// *****************************************************************************
// This program shows how to use the manufacturer ID (MID) that is a personal
// code that can be installed on the CPU modules with the aims to protect
// programs against copies.
// It's obvious that the program must be encrypted to avoid the user bypass it.
// -----------------------------------------------------------------------------

    // -------------------------------------------------------------------------
    // MID CHECK
    // -------------------------------------------------------------------------
    // The MID is returned in the "SysMfcCode" variable, so you have to check
    // the code and decide how to do if it doesn't match. Supposing your MID is
    // 1234 a spy message is reported if it doesn't match.
    
    IF (SysMfcCode <> 1234) THEN
        i:=SysWrSpyData(SPY_ASCII, 0, 16#00000001, ADR('Sp 1'), ADR('Wrong MID'));
    END_IF;

// [End of file]

What the MID protection entails for the Customer

Protection at this level involves the creation of a new MID code at a fixed "one-off" cost, plus a cost for each device purchased and provided with the Customer's MID identification code (See table below).
Upon implementation of the MID code, the Customer will be able to consult the activation keys associated with it (if it includes activations of Functions or Function Blocks) and to order it if necessary, from the page "My account" -> "Keys activation ".

Code ELSISTDescriptionFootnotes
MIDIMPLEMImplementation of new MID codeOne-time fixed cost. It is invoiced when the Customer decides to purchase products equipped with MID and covers the expenses incurred for the opening of the MID position and related documentation.
MIDxxxyzzzSupply MID on the indicated deviceSupplied with the CPU (s) purchased (e).
The CPUs will be equipped with external marking bearing this code.
CANNOT be sold separately, but soil in combination with the CPU (s) SlimLine/Netsyst and simultaneously with its (their) supply.

How a MID code is costificated

The cost of a MID code is calculated by adding together the costs of the single FBs enabled + a cost per device. In the following table is exemplified a costing of a MID code that includes the activation of the FB DMX and the FB modem.

Code ElsistDescriptionPrice list
MIDDMXMANActivation MID FB Management of DMX protocol Master€ 10,00
MIDMODMANMID FB activation GSM modem management€ 5,00
Fixed cost for each device equipped with MID€ 10,00
MIDxxxyzzzMID supply on the device (example)€ 25,00

How can I order my MID code?

The MIDxxxyzzz code is a password-protected personal code that is assigned at the request of the Customer. To order it, after it has been assigned, you need to log in to My Account > Activation keys. In the paragraph “Your MIDs” you will find the access password and a link for the purchase. It will be possible to open the product page, and place the order, only after entering the password.

WARNING! The purchase of the MID code must always be linked to the purchase of a LogicLab CPU.

Device ID (DID)

It is possible to link the functionality of applications, FBs, libraries, etc., instead of to a Customer ID, to the ID of the device. If this protection is activated, the application will be linked to the unique ID of the device on which it is installed, and the application will be prevented from functioning on devices other than that. Obviously, in this case, it will no longer be possible to operate the application on any spare devices of the Customer, which, in order to be used as a backup for the application subject to protection, must also be licensed at the device level.

DID security is typically used to protect Function blocks developed by Elsist  whose license to use is sold with the formula "Run Time". The DID code is therefore not linked to a Customer ID, but only identifies which FBs or functions can be activated on the purchased device.

MID

What DID protection entails for the Customer

Security at this level involves the generation of a protection key, at a cost dependent on the functions enabled on the device, for each device purchased.
Once the purchase has been made, the possibility of generating the keys independently from the page will be enabled My Account > Activation keys.

Code ELSISTDescriptionFootnotes
DIDnnnnnnnDID supply linked to the deviceVariable cost depending on the function enabled on the device.
Sold together or separately with the CPU (s) purchased (e).
The CPUs They will NOT be labeled external identification of the protection.
The generation of the key (s) will be done by the Customer.

How do I generate activation keys?

You can only generate DID type activation keys.

  1. In the "Product" column choose from the drop-down menu Product code on which you want to unlock the item or type it.
  2. In the "Serial number" column, enter the freshman of the product on which to unlock the object.
  3. Click on the "Generate key" button for the generation. A window will ask you if you are sure of your choice, by clicking on "Ok" the key will be generated and the entry will be moved to the "Active keys" table.

WARNING! The generated key will NOT be editable anymore, The key can ONLY be used on the device for which it was generated.

Was this article helpful?