top of page
rajshaswat

CoDeSys Library Management Step by Step Guide

Updated: Dec 24, 2023

In order to start Library building in CoDeSys we need to create a Library project

Project Creation

To create project Open CoDeSys IDE and got to

Step1: File-->New Project


Step2: Select Type of Library you want to create

Step3:Add Project Information by going to Project-->Project Information


Step4:Fill the details in the Summary Tab of Project Information

Summary Tab: will have all the details of Project Information

Mandatory Items are Highlighted in Bold without which it will not allow to install the library

Properties Tab : This tab is used to add any new custom properties in Project Information

Statistics Tab: it will provide details of data of project i.e. Number of folder , POU Project information etc.


Licensing Tab: In this Tab we set Licensing rule for the library, which means The compiled library is licensed and can not be used without License dongle

we need to perform below steps

  • Contacting 3S (store@codesys.com) in order to get firm-code, product code and a license for those

  • Entering these values in the form “Licensing” in the Project Information of the library

  • Saving the library as “compiled-library” (only possible, if the CODESYS Security Key with the above mentioned license is available on the computer on which the library gets created)

detailed description can be found in Link

Note: This features works only with Compiled Libraries

Step5: Once all the details of project information is filled we can generate Library in two ways

1.Non Compiled Library

  • By Clicking on the icon


  • by going to File-->Save Project and Install into Library Repository

Note: In above option Library will get Installed automatically in Local repository


2.Compiled Library : This library needs to be installed and can be distributed

  • going to File-->Save Project as Compiled Library

Once the Compiled Library is generated we need to install it into the project Library local Repository


Step6: Install Library in the Library repository

  • Open an Existing Project or Create a new project

  • Open Library Manager by double clicking it


  • Click on the Library Repository a new popup will open

  • Click on install

Browse for Compiled Library-->Select the Library--> click on Open

Library will get installed

Installed Library Tree Structure


with above steps Library will get installed into Local Library Repository

based on the library categories it will go into Tree structure otherwise it will go in Miscellaneous tree structure



To Uninstall any library

Select the version and click on Uninstall

Adding Library in Project


Select Library to Add and Click OK


Getting Details of Library : Released vs UnReleased

Select Library & Click on Details

Click on More to get Release Details

If Library is Released the Property Released =True



How to Use Library Categories

In order to put the Library in custom defined structure we need to define Library categories which will create a defined structure and put the library into same


Below steps needs to be followed to define Library Categories


Step1: CoDeSys provide default Example when we install CoDeSys IDE which can be found at location

"C:\Program Files\CODESYS 3.5.xx.xx\CODESYS\Templates\Library_Template\LibraryCategoryBase.libcat"
xx=Codesys Version

With help of this file we can create our own custom libcat

Below is an example

<?xml version="1.0" encoding="UTF-8"?>
<LibraryCategories xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="LibraryCategories.xsd">
<!--   Jugaadtech   -->
	<LibraryCategory>
		<Id>799BFEAA-109B-4CC5-A5E6-7A4D552CEEA4</Id>
		<Version>1.0.0.0</Version>
		<DefaultName>Jugaadtech</DefaultName>
	</LibraryCategory>
</LibraryCategories>

For Sub Categories in existing library example

<?xml version="1.0" encoding="UTF-8"?>
<LibraryCategories xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="LibraryCategories.xsd">
<!--   Jugaadtech   -->
	<LibraryCategory>
		<Id>799BFEAA-109B-4CC5-A5E6-7A4D552CEEA4</Id>
		<Version>1.0.0.0</Version>
		<DefaultName>Jugaadtech</DefaultName>
	</LibraryCategory>
<!--   Jugaadtech/TestLib   -->
	<LibraryCategory>
		<Id>883D5913-7DF7-4910-A50D-574E2EAF815C</Id>
		<Version>1.0.0.0</Version>
		<ParentCategory>
			<!--   Jugaadtech   -->
			<Id>799BFEAA-109B-4CC5-A5E6-7A4D552CEEA4</Id>
		</ParentCategory>
		<DefaultName>TestLib</DefaultName>
	</LibraryCategory>	
</LibraryCategories>



<Id></Id> --> This is GUID which we need to create using GUID tool Generator

search in google any GUID tool generator is ok to use example GUID TOOL LINK

Step2: After creating the file add it into Project Information

  • Double click on Project Information

  • Project Information pop up will open click on the three dots (...) button

  • Once three dots button is clicked Library Categories Pop up will open click on the Add button

  • To add from Librarycategories file select "From Description File"

  • Browse the file with extension of *.libcat and click on Open

  • Based on the definition in the file options with check box checked will be shown Select the option and click OK


  • Library categories will get added in Project Information once OK is Clicked

Click on Ok to close the pop up and save the project and generate the Library

in this way we can generate the Library categories for custom Library


Automate Generation of Library Categories using Python

Getting GUID of existing Library some time is tricky in that case we can use Python Automation to get all the GUID and then Library categories can also be generated automatically using Python Script


below are python the Scripts i have created for above manual example. copy and save it in .py file and run using


  • To get GUID of Libraries:

from System import Guid
for library in librarymanager.categories:
   print("Library: {} V{} Guid {}".format(library.name, library.version, library.guid))

  • To add the Library "change the GUID based on library guid number"

from System import Guid
Jugaadtech = librarymanager.get_category(Guid("799bfeaa-109b-4cc5-a5e6-7a4d552ceea4"))
assert(Jugaadtech is not None, 'category does not exist')
print("Guid of Jugaadtech library category: " + str(Jugaadtech.guid))
info = projects.primary.get_project_info()
assert(info is not None, 'No project info')
libcat = info.categories
print(str(libcat))
if Jugaadtech not in libcat:
   libcat.Add(Jugaadtech)
   print('Added library category')
print("Found lib categories:")
for lib in libcat:
   print(lib.name)

Documentation in Codesys Library

Basic Text Documentation:

Library can be documented in CoDeSys by writing the text at different level

Project Information: All the details filled in the Project information will be treated as a documentation for Library Information ,


POU/DUT/STRUCT : Any Comment defined before the declaration of POU,DUT,Struct etc. will be shown in Documentation , Any Comment made for Variable will be shown in documentation of Variable


While checking Documentation it will appear as shown below

Folder Documentation: Description defined in the Documentation tab of the "Properties" of folder will be shown as Folder documentation


As shown below


Using reStructureText

Step1: LibDoc Tool needs to installed


Step2: Add Custom variable in Project Information


Click on Add to get it added


Save the project and Compile the library

The Project where library is getting installed user needs to restart the CoDeSys IDE

Same Documentation will be shown with more advance options of link of objects used and navigation will be enabled automatically









bottom of page