Skip to main content

ProjectInfo.json

En CODESYS 4 La información del proyecto se almacena en formato UTF-8. ProjectInfo.json archivo. En el caso de un proyecto de dispositivo, el archivo se encuentra en el directorio *.fbsdev En el caso de un proyecto de biblioteca, la carpeta se encuentra en el directorio *.fbslib.

La información más importante del proyecto se encuentra en el nivel superior del archivo. Las claves restantes se encuentran en el objeto expandible dinámicamente o customProperties diccionario.

ejemplo 48. Ejemplo de un ProjectInfo.json archivo

{  
    "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" }
  }
}


Claves definidas en el ProjectInfo.json archivo

La mayoría de las claves corresponden exactamente a la información del proyecto en CODESYS 3, pero con una convención de nomenclatura modificada.

tabla 19.

Llave

Tipo

Descripción

title

string

Título del proyecto

Obligatorio para las bibliotecas

version

string

Versión del proyecto

Obligatorio para las bibliotecas

company

string

Fabricante del proyecto

Obligatorio para las bibliotecas

author

string

Autor del proyecto

description

string

Descripción del proyecto

defaultNamespace

string

Espacio de nombres estándar para bibliotecas. Se recomienda configurar esta propiedad para bibliotecas ordinarias.

Insignificante para proyectos de dispositivos

released

bool

true: La biblioteca está disponible.

placeholder

string

Marcador de posición utilizado para resolver la biblioteca

Para obtener más información, consulte lo siguiente: Bibliotecas públicas

autoResolveUnbound

bool

true: Se solicita la resolución automática del marcador de posición.

Recomendado para bibliotecas "independientes" cuyos marcadores de posición no se resuelven mediante otras fuentes, por ejemplo, la descripción de un dispositivo.

isContainerLibrary

bool

true: La biblioteca es una biblioteca contenedora.

Para obtener más información, consulte lo siguiente: Bibliotecas de contenedores

isInterfaceLibrary

bool

true: La biblioteca es una biblioteca de interfaz.

Para obtener más información, consulte lo siguiente: Bibliotecas de interfaz

isCommonLibraryContainer

bool

true: La biblioteca es una biblioteca contenedora que debe resolverse mediante marcadores de posición.

Para obtener más información, consulte lo siguiente: Bibliotecas públicas

languageModelAttribute

string

Debe estar configurado en qualified-access-only para que las nuevas bibliotecas impongan el acceso cualificado mediante el prefijo del espacio de nombres

generateProjectInfoFunctions

bool

Controla la generación de funciones que se pueden utilizar para el acceso programático a las propiedades del proyecto dentro de la aplicación.

Nota: Esta clave está actualmente no aún siendo evaluado en CODESYS 4.

generateLibraryInfoFunctions

bool

Controla la generación de funciones que se utilizan para el acceso programático a las propiedades de la biblioteca dentro de la aplicación.

Nota: Esta clave aún no se está evaluando en CODESYS 4.

categories

string[]

Lista de cadenas que definen la pertenencia a categorías de proyectos.

customProperties

object{}

Propiedades que no están rígidamente predefinidas

Como en CODESYS 3, la lista de propiedades en CODESYS 4 El usuario puede ampliarlo dinámicamente. Sin embargo, para ello solo están disponibles los siguientes tipos de datos:

Los tipos predeterminados string, number, y boolean se escriben directamente como el literal JSON correspondiente. Para los tipos Version y DateTime, se requiere un ID a través de un campo de tipo para distinguirlos de las cadenas normales. Por eso se escriben como objetos JSON con los miembros "type " y "value", Por ejemplo:

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

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

v3Meta

object{}

Metadatos no relevantes para CODESYS 4, almacenado por CODESYS 3 en un formato de almacenamiento basado en archivos

Solo es relevante si se trata de un almacenamiento basado en archivos. CODESYS 3 El proyecto debería abrirse en CODESYS 4 Los datos que se pueden ignorar sin pérdida de funcionalidad se ignorarán. Los datos restantes generarán un mensaje de error en CODESYS 4 Los datos específicos del complemento se evalúan mediante una interfaz. Todas las propiedades que no sean reconocidas por ningún complemento generarán un error.



Categorías de la biblioteca

Las categorías de bibliotecas se utilizan para agruparlas jerárquicamente. Una biblioteca puede pertenecer a una o más categorías, o a ninguna. Las categorías, a su vez, están estructuradas jerárquicamente.

Las categorías de la biblioteca se almacenan como una categories lista en ProjectInfo.json.

  • La lista no tiene por qué existir.

  • La lista puede contener cualquier número de categorías.

  • Los identificadores de los niveles jerárquicos de las categorías están separados cada uno por el carácter de barra vertical (|).

  • Un identificador de categoría no debe estar vacío ni consistir únicamente en espacios en blanco.

  • Se excluyen los caracteres de las categorías Unicode "Caracteres de control" (U+0000-U+001F, U+007F-U+009F), "Separador de línea" (U+2028) y "Separador de párrafo" (U+2029).

Ejemplo de categorías válidas: ["System|SysLibs", "Docs|Fieldbus|Sercos", "Use Cases"]

Ejemplo de categorías no válidas:  ["", "A||B", "A|  |B", "A\r\nB"]