iClass Plugin

iClass Plugin

The CardExchange® Producer plug-in framework includes the iClassPlugin that allows to work with iClass(Development Access to read and write, PACS, Weigand), SEOS(read UID/Serial Number Only), DESFire(read UID/Serial Number Only).

It has 1 Input variables:

  • WriteData**;
  • It has 4 Output variables:
    • SerialNumber/UID;
    • PACS;
    • Weigand;
    • DeveloperMemory**;

**Only available if the iClass.ini file has the DevMode as Yes.

Plug-ins are only available in CardExchange ® Producer Business and Enterprise editions


This plugin is compliant with iClass(Development Access to read and write, PACS, Weigand), SEOS(read UID/Serial Number Only), DESFire(read UID/Serial Number Only).

It can be used for example with;

  • iClass SE(S10);
  • iClass Legacy Corporate;
  • SEOS;
  • Mifare DESFire EV1;

Please note that the iClassPlugin has its own iClass.ini file where you can set and configure the following:1


The Format is if you want to format the iClass card to H10301 or to H1000, please note that this will only work if the card was not already formatted yet and for iClass cards.


DevMode to have access to block19 and 20 to read and write is needed to change the DevMode to Yes.

Please note that to read from the block 19 and block 20 it only has 8 bytes for each, the same when writing only has 8 bytes so you can send “cardexchange” and 19th block will have “cardexch” and the 20th block will have “ange”.

That data could be sent using the Input Variable WriteData.

Supported Readers


Omnikey 5023, 5127 and 5427.


To illustrate how iClassPlugin work, we will create a card definition with 2 manual entries.

To start, create a new card layout with a text object linked to a variable called "OutputVariable1" and a second text object linked to a variable called "OutputVariable2".

  1. Select "Do you want to use external functions or plug-ins" in the card-definition wizard and click the Edit button to configure the plug-in.
  2. Add a plug-in called "Plugin Template" and browse for the IClassPlugin the DLL-file. Then click Next.
  3. After that please configure the InputVariable to send to the plugin for the Input Variables (WriteData**).**Only if you want to access to the Development memory.

WriteMemory will be the Data written;

4.   Next, select the Visible items and choose which is the data that you want to save on the OutputVariables (SerialNumber, PASCS, Weigand, DeveloperMemory**).**Only if you want to access to the Development memory.


5. Click Next to go to the mappings window and map the visible item called "ManualText" to the plug-in output "ManualText.Result". Then map the plug-in input "ManualText.Definition" to "Enter manually".


  1. Select the External Function Input items tab and map the storage Item/variable/database column to the item "Template.WriteMemory". If nothing is mapped the plugin will take its defaults (NoWriteaction).


7. Map the item/storage item to save the read data and click on finish.


8. Print the card. You will now see that the manual entry on the printed card.



Support Team

July 09, 2019

April 27, 2022

Sign In to Post

Welcome back! Login to your account and get access to the CardExchange® Community and start posting today.

Please read our community rules!

Account Registration

Please fill in the fields below and become a member of our CardExchange® Community today!

Please enter the name!
Please provide an username!
Please provide a valid e-mail!
Retype the e-mail!
Please enter a password!
Retype the password!
After you submit your registration you will receive an email with information about your account

ISO/IEC 27001:2013 

United States

201 Sand Creek Rd, Suite L-E
Brentwood, CA 94513

Monday – Friday
9am – 5pm (EST)
+1 (925) 529 4999


Stationsplein 13 A
3818 LE, Amersfoort

Monday – Friday
9am – 5pm (CET)
+31 (0)20 2251 447

© 2022 CardExchange, Inc.