Skip to main content

ProjectInfo.json

で CODESYS 4プロジェクト情報は UTF-8 でエンコードされた形式で格納されます。 ProjectInfo.json ファイル。デバイスプロジェクトの場合、ファイルはディレクトリにあります *.fbsdev。ライブラリプロジェクトの場合、フォルダはディレクトリにあります *.fbslib。

最も重要なプロジェクト情報は、ファイルの最上位にあります。残りのキーは動的に展開できるオブジェクト customProperties 辞書。

例 48. の例 ProjectInfo.json ファイル

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


で定義されているキー ProjectInfo.json ファイル

ほとんどのキーは、のプロジェクト情報に正確に対応しています CODESYS 3ただし、命名規則が変更されています。

表 19.

キー

タイプ

[説明]

title

string

プロジェクトのタイトル

図書館に必要

version

string

プロジェクトのバージョン

図書館に必要

company

string

プロジェクトのメーカー

図書館に必要

author

string

プロジェクトの作者

description

string

プロジェクトの説明

defaultNamespace

string

ライブラリの標準名前空間。通常のライブラリにはこのプロパティを設定することをおすすめします

デバイスプロジェクトにとっては重要ではない

released

bool

true: ライブラリがリリースされました。

placeholder

string

ライブラリの解決に使用されるプレースホルダー

詳細については、以下を参照してください。 共通ライブラリ

autoResolveUnbound

bool

true: プレースホルダの自動解決が要求されます。

デバイスの説明など、プレースホルダーが他のソースで解決されない「スタンドアロン」ライブラリに推奨されます。

isContainerLibrary

bool

true: ライブラリはコンテナライブラリです。

詳細については、以下を参照してください。 コンテナライブラリ

isInterfaceLibrary

bool

true: ライブラリはインターフェイスライブラリです。

詳細については、以下を参照してください。 インターフェースライブラリー

isCommonLibraryContainer

bool

true: ライブラリはコンテナライブラリであり、プレースホルダを使用して解決する必要があります。

詳細については、以下を参照してください。 共通ライブラリ

languageModelAttribute

string

に設定する必要があります qualified-access-only 名前空間プレフィックスによる限定アクセスを強制する新規ライブラリ用

generateProjectInfoFunctions

bool

アプリケーション内のプロジェクトプロパティへのプログラムによるアクセスに使用できる関数の生成を制御します

注:このキーは現在 ない まだ評価中 CODESYS 4。

generateLibraryInfoFunctions

bool

アプリケーション内のライブラリプロパティへのプログラムによるアクセスに使用される関数の生成を制御します

注:このキーは現在まだ評価されていません CODESYS 4。

categories

string[]

プロジェクトカテゴリのメンバーシップを定義する文字列のリスト

customProperties

object{}

厳密に定義されていないプロパティ

のように CODESYS 3、のプロパティのリスト CODESYS 4 ユーザーが動的に展開できます。ただし、これには以下のデータ型しか使用できません

  • string

  • number: 値の範囲または.NET タイプ int32

  • boolean: true、 false

  • Version: .NET System.Version 文字列として表されます (例:「1.2.3.4")

  • DateTime

デフォルトタイプ string、 number、および boolean それぞれの JSON リテラルとして直接書き込まれます。タイプについて Version と DateTime、通常の文字列と区別するには、タイプフィールドによる ID が必要です。これが、「」というメンバーを含む JSON オブジェクトとして記述される理由ですtype「と」value「、例えば:

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

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

v3Meta

object{}

メタデータは関係ありません CODESYS 4、保存元 CODESYS 3 ファイルベースのストレージ形式で

ファイルベースのストレージの場合にのみ関係します CODESYS 3 プロジェクトを開く必要があります CODESYS 4。機能を損なわずに無視できるデータは無視されます。残りのデータについては、にエラーメッセージが表示されます CODESYS 4。プラグイン固有のデータはインターフェースによって評価されます。どのプラグインでも認識されないプロパティはすべてエラーになります



ライブラリカテゴリー

ライブラリカテゴリは、ライブラリを階層的にグループ化するために使用されます。ライブラリは 1 つまたは複数のカテゴリに属することも、まったく属さないこともできます。カテゴリ自体は階層的に構造化されています

ライブラリカテゴリは、として保存されます。 categories リストイン ProjectInfo.json。

  • リストは存在する必要はありません。

  • リストにはカテゴリをいくつでも含めることができます。

  • カテゴリの階層レベルの識別子は、それぞれパイプ文字 () で区切られています。|)。

  • カテゴリ識別子は空であってはならず、空白のみで構成されていてはなりません。

  • Unicode カテゴリ「コントロール文字」(U+0000-U+001F、U+007F-U+009F)、「行区切り文字」(U+2028)、および「段落区切り文字」(U+2029) の文字は除外されます。

有効なカテゴリの例: ["System|SysLibs", "Docs|Fieldbus|Sercos", "Use Cases"]

無効なカテゴリの例:  ["", "A||B", "A|  |B", "A\r\nB"]