Skip to main content

ProjectInfo.json

Dans CODESYS 4, les informations du projet sont stockées au format UTF-8 ProjectInfo.json dossier. Dans le cas d'un projet de périphérique, le fichier se trouve dans le répertoire *.fbsdev. Dans le cas d'un projet de bibliothèque, le dossier se trouve dans le répertoire *.fbslib.

Les informations les plus importantes sur le projet se trouvent au niveau supérieur du fichier. Les touches restantes se trouvent dans l'objet extensible dynamiquement customProperties dictionnaire.

Exemple 48. Exemple de ProjectInfo.json fichier

{  
    "title": "C4 Test Compiled Library",  
    "version": "1.0.0-alpha3+build-42",  
    "author": "Team CBE",  "company": 
    "CODESYS Development GmbH",  
    "description": "Test library for compiled library creation",  
    "defaultNamespace": "C4CompiledTestLib",  
    "placeholder": "C4CompiledTestLib",
    "categories": ["System|SysLibs", "Docs|Fieldbus|Modbus", "Use Cases", 
    "customProperties": {    
        "DocFormat": "reStructuredText", 
        "SomeTime": {"type": "DateTime", "value": "2024-12-24T15:24:12" }
  }
}


Clés définies dans ProjectInfo.json fichier

La plupart des clés correspondent exactement aux informations du projet dans CODESYS 3, mais avec une convention de dénomination modifiée.

Tableau 19.

Clé

Tapez

Descriptif

title

string

Titre du projet

Obligatoire pour les bibliothèques

version

string

Version du projet

Obligatoire pour les bibliothèques

company

string

Fabricant du projet

Obligatoire pour les bibliothèques

author

string

Auteur du projet

description

string

Description du projet

defaultNamespace

string

Espace de noms standard pour les bibliothèques. Il est recommandé de définir cette propriété pour les bibliothèques ordinaires.

Insignifiant pour les projets d'appareils

released

bool

true: La bibliothèque est disponible.

placeholder

string

Espace réservé utilisé pour résoudre la bibliothèque

Pour plus d'informations, consultez les rubriques suivantes : Bibliothèques communes

autoResolveUnbound

bool

true: la résolution automatique des espaces réservés est requise.

Recommandé pour les bibliothèques « autonomes » dont les espaces réservés ne sont pas résolus par d'autres sources, par exemple une description de périphérique.

isContainerLibrary

bool

true: La bibliothèque est une bibliothèque de conteneurs.

Pour plus d'informations, consultez les rubriques suivantes : Bibliothèques de conteneurs

isInterfaceLibrary

bool

true: La bibliothèque est une bibliothèque d'interface.

Pour plus d'informations, consultez les rubriques suivantes : Bibliothèques d'interfaces

isCommonLibraryContainer

bool

true: La bibliothèque est une bibliothèque de conteneurs qui doit être résolue via des espaces réservés.

Pour plus d'informations, consultez les rubriques suivantes : Bibliothèques communes

languageModelAttribute

string

Doit être réglé sur qualified-access-only pour les nouvelles bibliothèques afin d'appliquer un accès qualifié via le préfixe de l'espace de noms

generateProjectInfoFunctions

bool

Contrôle la génération de fonctions qui peuvent être utilisées pour accéder par programmation aux propriétés du projet dans l'application

Remarque : Cette clé est actuellement pas encore en cours d'évaluation dans CODESYS 4.

generateLibraryInfoFunctions

bool

Contrôle la génération de fonctions utilisées pour l'accès par programmation aux propriétés de la bibliothèque dans l'application

Remarque : Cette clé n'est pas encore en cours d'évaluation dans CODESYS 4.

categories

string[]

Liste des chaînes qui définissent l'appartenance aux catégories de projets

customProperties

object{}

Propriétés qui ne sont pas prédéfinies de manière rigide

Comme dans CODESYS 3, la liste des propriétés dans CODESYS 4 peut être développé dynamiquement par l'utilisateur. Cependant, seuls les types de données suivants sont disponibles à cet effet :

  • string

  • number: plage de valeurs ou type .NET int32

  • boolean: true, false

  • Version: .NET System.Version représenté sous forme de chaîne, par exemple « 1.2.3.4 »

  • DateTime

Les types par défaut string, number, et boolean sont écrits directement sous forme de littéral JSON correspondant. Pour les types Version et DateTime, un identifiant via un champ de type est nécessaire pour les distinguer des chaînes normales. C'est pourquoi ils sont écrits sous forme d'objets JSON avec les membres « »type« et »value«, par exemple :

"SomeVersion": {"type": "Version", "value": "1.2.3.4" },

"SomeTime": {"type": "DateTime", "value": "2024-12-24T15:24:12" },

v3Meta

object{}

Les métadonnées ne sont pas pertinentes pour CODESYS 4, stocké par CODESYS 3 dans un format de stockage basé sur des fichiers

Cela n'est pertinent que s'il s'agit d'un stockage basé sur des fichiers CODESYS 3 le projet devrait être ouvert en CODESYS 4. Les données qui peuvent être ignorées sans perte de fonctionnalité seront ignorées. Les données restantes généreront un message d'erreur dans CODESYS 4. Les données spécifiques au plug-in sont évaluées par une interface. Toutes les propriétés qui ne sont reconnues par aucun plug-in généreront une erreur.



Catégories de bibliothèques

Les catégories de bibliothèques sont utilisées pour regrouper les bibliothèques de manière hiérarchique. Une bibliothèque peut appartenir à une ou plusieurs catégories ou ne pas appartenir au tout. Les catégories elles-mêmes sont structurées hiérarchiquement.

Les catégories de bibliothèques sont stockées sous forme de categories liste dans ProjectInfo.json.

  • La liste n'a pas besoin d'exister.

  • La liste peut contenir un certain nombre de catégories.

  • Les identifiants des niveaux hiérarchiques des catégories sont chacun séparés par le caractère pipe (|).

  • Un identifiant de catégorie ne doit pas être vide ou se composer uniquement d'espaces.

  • Les caractères des catégories Unicode « Caractères de contrôle » (U+0000-U+001F, U+007F-U+009F), « Séparateur de lignes » (U+2028) et « Séparateur de paragraphes » (U+2029) sont exclus.

Exemple de catégories valides : ["System|SysLibs", "Docs|Fieldbus|Sercos", "Use Cases"]

Exemple de catégories non valides :  ["", "A||B", "A|  |B", "A\r\nB"]