4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

CODESYS Examplesをビルドするときのエラーについて

Last updated at Posted at 2023-10-22

はじめに

CODESYSで何ができるかよくわかららない、そうだサンプルプログラムを動かしてみよう😤
とやる気になったのはいいがダウンロードして動かしてみようとビルドで大量のエラーが…
ということありませんか❓

ということでこう設定すればビルドが出来るかもしれないという事例を勉強も兼ねてまとめてみました。
詳しいことが理解できていないため間違ってる箇所もあるかもしれません。
学習のためにデモを実行するのが目的であれば基本的には更新しますか?みたいな問いはすべて[Yes]や[最新]を選択することになります。

実際に工場で稼働しているなどの案件については設定方法の変更により生成されるコードも変わってくるため、予期せぬトラブルの発生や顧客によっては再テストを要求されるかもしれません。実案件では安易に設定を変更しないことをおすすめします。

なお説明のスクリーンショットですがなるべく日本語と英語両方貼り付けています。
英語のタイトルがわからないと公式サイトのどこに説明があるのか探しにくいからです。

拡張子 [.projectarchive]と[.project]の違い

サンプルですが色々ダウンロードしてみると拡張子が2種類あります。
普通に保存すると[.project]という拡張子になります。
[ファイル]→[プロジェクトアーカイブ]→[アーカイブを保存]を選択すると[.projectarchive]で保存が出来ます。
Project Archive形式は中身はzipファイルで必要なライブラリやデバイスの定義ファイルも込みで保存が可能です。
ファイルサイズは大きくなりますが必要なファイルが全て保存されていればライブラリ等のダウンロードをしなくてもビルドが可能です。
保存時に下記のようなダイアログが出ます。これは何を含めますか?という問いです。
よくわからなければ全部チェックを入れとけばなんとかなる。

image.pngimage.png

開くときは下記のようにどこかのフォルダに解凍が必要になります。

image.pngimage.png

詳細設定を見る下記のようなウインドウがあります。つまり開くときに必要なデバイスやライブラリも自動的にインストールしてくれます。便利ねぇ

image.pngimage.png

プロジェクト検査(Project Inspection)

プロジェクトが保存されたバージョンよりPCにインストールされているCODESYSの方が新しい場合このような選択が出ます。

image.pngimage.png

上の選択肢:インストール済みの新しいバージョンのCODESYSでプロジェクトを開きます。

下の選択肢:古い同じバージョンのCODESYSでプロジェクトを開きます。
PCにインストールされてない場合は古いCODESYSを探してきて自動でダウンロードします。
(インストールされる場合とそうでない場合がある。このへんよくわからない)
既に稼働している案件など生成されるコードを変えたくない場合に使います。
デメリットは複数のバージョンのCODESYSがPCにインストールされます。
ダウンロードとインストールに時間がかかるしPCの容量も圧迫します。
このように増えていきます。またプロジェクトファイルの関連付けが一番最後にインストールしたバージョンのCODESYSに変わるのでめんどくさいです。

image.png

プロジェクト環境

開くときにバージョンを最新にするか否かの問いがあります。
ソースコードの互換性を気にしないのであれば[すべてを最新に設定]で一括変更ができます。

image.png
image.png

image.png
image.png

プロジェクトの保存形式のアップグレード

CODESYS 3.5.15.0 で機能追加が行われたので新しい形式に変換してプロジェクトを保存するか古いままにするかの選択と思われます。

アップグレードすると古いCODESYSでは開けなくなります。
複数の人でプロジェクトファイルを開くような場合は、必要が無い場合は安易にアップデートしないもしくは関係者にはCODESYS最新版を配布するなど考える必要があります。

image.png
image.png

コンパイラバージョンが古い場合

コンパイラバージョンが古い場合にこういうエラーが出てくることがありまあす。
理由はわかりませんがコンパイラバージョンを上げることで消えることがあります。
プロジェクト→プロジェクト環境→コンパイラバージョン の [アクション]で選択可能です。
image.png

[エラー]Internal error:System.NullReferenceException: オブジェクト参照がオブジェクト インスタンスに設定されていません。 場所 _3S.CoDeSys.LanguageModelManager.LDateType.Accept(ITypeVisitor typvis) 場所 ..(_IArrayType ) 場所 ..(_IVariable , IScope5 , _ICompileContext , _ISignature )~

[ERROR]Internal error:System.NullReferenceException: Object reference not set to an instance of an object. at _3S.CoDeSys.LanguageModelManager.LDateType.Accept(ITypeVisitor typvis) at ..(_IVariable , IScope5 , _ICompileContext , _ISignature )~

デバイスディスクリプションのダウンロード

?マークは[不足しているデバイスディスクリプションのダウンロード]で入手できます。
image.png

image.png

不明なライブラリ

不明なライブラリは[不明なライブラリのダウンロード]を押すことで入手できます。
image.png
image.png

ダウンロードでエラーになるものはダウンロードしたプロジェクトファイルにライブラリが含まれる場合があるので
そのときはライブラリリポジトリから個別にインストールします。
image.png

image.png

よくわからないですがストアでダウンロードしてインストールするとできる場合もあります。
image.png

ストアでダウンロードするとAdd Libraryで追加できます。(追加前に一度削除してAddする)

image.png

(未確認)ライブラリが CODESYS ライブラリでない場合、ダウンロードできない可能性があります。ライブラリは、OSCAT のウェブサイトからダウンロードできます。

プレースホルダー

プレースホルダーの[未解決の非連結プレースホルダーを全て利用可能な最新のバージョンに設定します]を押すことによって問題が修正できます。(意味はよくわからないけど)
最新バージョンにすることで新たなライブラリが必要になる場合もあるので不明なライブラリがないか再確認してください。
image.png

image.png

CODESYS Demo Style

CODESYS Demo Styleのテーマを使ってる場合これがないのでエラーになります。
これは下記よりダウンロードができます。

image.png

image.png

問題はダウンロードしてインストールだとまたエラーになります。
これはCODESYS Demo StyleがFlat style 3.5.6.0を参照してるからです。
Flat style 3.5.6.0は古いので、インストール済みのFlat style 3.5.16.0を参照するようにXMLファイルを書き換えてその後インストールします。(このやり方が正しいかは不明)

image.png

ここの文字を修正して保存
image.png

ツール→ビジュアライゼーションリポジトリのインストールで先ほどのXMLファイルを指定
image.png

表示されるようになった
image.png

デバイスの更新

上記に書いてあることを全部試したけどまだエラーがある。
理由はわからないけどデバイスの更新を行うと解決した。
image.png

image.png

image.png

まとめ

CODESYSはやはり難しい

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?