CODESYSハンズオン 【ライブラリを作る・使う方法】

# はじめに

CODESYSを勉強中です。間違いなどございましたら優しく教えていただけると嬉しいです。
今回はライブラリを作る・配布する・使う方法について説明します。

# ライブラリを作成する

まずはライブラリを作る方法です。
CODESYSを起動して「新規プロジェクト」を作成します。

![ライブラリ作成1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3343142/e8380475-c564-34c2-792b-7d39f2aa6769.png)

「空のライブラリ」を選んで進めていきます。
ライブラリの名前を入力して、プロジェクトを作成します。

![ライブラリ作成2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3343142/c8a0632e-cdaf-bd06-2dc3-f6b51b9af70b.png)

プロジェクトを作成したら、次はファンクションブロック（FB)を作っていきたいと思います。

![ライブラリ作成1-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3343142/84d39244-ef6d-8b9c-3c12-19a17e86697b.png)

![ライブラリ作成3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3343142/8886761c-7ac6-e212-9418-9b1046034511.png)

![ライブラリ作成_FB作成5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3343142/f194536a-6bbf-031c-772a-38f6b5cd55f1.png)

簡単ですが、FBを作成しました。
ここでコメントを入れておくとライブラリを使う時などに表示されます。

![ライブラリ作成_FB作成1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3343142/cbc81d3e-d153-a055-19a8-8bad6e99984a.png)




## プロジェクト情報

プロジェクト情報にて、ライブラリの説明やバージョン情報などの設定が可能です。
![ライブラリ作成_FB作成3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3343142/e5bed4ae-8229-9436-8ed1-d09db8daf6c1.png)
![ライブラリ作成_FB作成4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3343142/9a2103eb-6d70-c60e-3d48-7ab339933145.png)



## ビルド、保存

完成したらビルドして、エラーが出なければOKです。
問題なければプロジェクトを保存します。

![ライブラリ作成4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3343142/74bece86-6b90-ae1d-cd81-2b4810d511e7.png)

![ライブラリ作成5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3343142/23cb08b6-92e5-81da-340f-cdef97136427.png)


# ライブラリを配布する

作ったライブラリを配布する方法について説明します。

「ライブラリを作成する」の手順を進めた後に「ファイル」タブからプロジェクトの保存をすると
ライブラリファイルが生成されます。
このファイルを配布すればOKです。

①プロジェクトの保存
②名前を付けてプロジェクト
→(*.library)ファイルが生成されます。
ソースコード参照可能（プロテクトオプションにより制限可能）

③コンパイル済みライブラリとしてプロジェクトを保存
→(*.compiled-library)ファイルが生成されます。
こちらはソースコード参照不可

④プロジェクトを保存して、ライブラリレポジトリにインストールする
→作ったライブラリを自分で使用する場合はこれが楽かも

![ライブラリ作成_プロジェクトの保存.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3343142/be0267a3-2f99-09f5-3b04-7592f1b9f707.png)

# ライブラリを使う

作ったライブラリを使う方法について説明します。
新規プロジェクトを作成して進めていきますが、既存のプロジェクトでも手順は同じです。

ライブラリを使う手順
・ライブラリリポジトリへの登録
・ライブラリマネージャーへの追加
・プログラムから呼び出す

## 新規プロジェクトの作成

STで新規プロジェクトを作っていきます。（既存のプロジェクトで使用する場合は飛ばしてください）

![ライブラリ作成6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3343142/a989c914-c015-2dbb-aee7-020da4323801.png)

![ライブラリ作成7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3343142/922b1355-6120-38d3-3860-ccd3c5cff4c3.png)

## ライブラリリポジトリへの登録

ライブラリリポジトリへの登録が必要です。
ツールからライブラリリポジトリを選択します。

![ライブラリ作成2-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3343142/a442fde2-54bd-4115-e929-3ed9ad042879.png)

インストール→作ったライブラリのファイルを選択します。

![ライブラリ作成2-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3343142/01d27a8d-e4cb-11ce-bae4-89e8da6f26f6.png)

![ライブラリ作成2-3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3343142/4a49e826-9813-81ab-c130-5769b7d687b7.png)

登録されるとこのように表示されます。
※プロジェクト情報をちゃんと入力しておいた方がいいですね。

![ライブラリ作成2-4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3343142/0ccf7fa8-1873-c167-da08-428620798dd6.png)

## ライブラリマネージャーへの追加

リポジトリで登録されたライブラリを使えるようにします。
ライブラリマネージャーを開いてライブラリの追加を行います。

![ライブラリ作成2-5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3343142/59fa89ca-4997-0ed8-a796-2cb8cf2c0177.png)

以下のように追加されていればOKです。
これでプログラムから呼び出し可能です。

![ライブラリ作成2-6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3343142/08c45002-ec3c-185c-0c72-9add6502494b.png)

## プログラムから呼び出す

プログラムを作成して、自作FBを呼び出してみます。
・MyFB：入力された数値を加算して出力する（加算したデータを内部に保持する）
・MyAvgFB：入力された2つの数値の平均値を出力する

![ライブラリ作成_FB作成6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3343142/33649c79-58c4-8798-a785-253281b7f542.png)


ライブラリ作成時にコメントを入れておくと、以下のように表示されます。
![ライブラリ作成_FB作成7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3343142/4b7d6512-13dc-ef4f-bfd5-771c7f49662b.png)

## プログラムを動かしてみる

![Lib.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3343142/adb1805e-c909-d5cc-b17a-5552f94b3959.gif)

お疲れ様でした！

# 参考ページ

https://content.helpme-codesys.com/ja/CODESYS%20Development%20System/f_libraries.html