CodeSys#基本操作

#Version
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154661/e9eab6e8-edf1-ce8a-1b12-962ca8e84f2c.png)

#プロジェクト作成
新規プロジェクトを作成するにはNew Project...をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154661/0fe61ca3-e258-58e9-9205-c7f4f1dc8f62.png)
Standard projectを選んでプロジェクト名と保存先を設定しOKをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154661/d3f4858e-c0b4-8990-41ab-811fecc7a624.png)
ここでとりあえずOK。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154661/e0532855-00f0-bb0f-bfcd-20ce51a35b9a.png)

#プログラム作成
簡単なプログラムを作ってみますね。
PLC_PRG(PRG)をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154661/77650292-d6a1-303e-4cbc-87d65717d864.png)
そこで慣れない人も多いと思いますが、上のエリアは変数定義するところ、下のエリアはプログラム書くところ。SiemensのTIAはV15.1からも同じな画面設定できますよ～
簡単なラダーを組みましょう。A接点1つで直接コイルに繋がります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154661/fa9da044-b7f2-fdad-8921-b4ff07560c1e.png)
A接点のところに…というボタンを押しましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154661/72362ad1-e334-24ce-472f-01737001a9ec.png)
ここでbSwを選んでOKを。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154661/224fb224-91fd-75aa-1a22-f95e8672e5a2.png)
コイルのところも同じく、bLampを選んでOK。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154661/b4c855be-2949-1261-0c41-88b9b00b190f.png)
次はBuild>Buildでコンパイルします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154661/74b4a26b-0122-96b2-2ea2-43916d2ff6ef.png)
#Download
実機ないので、Online>Simulationします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154661/116eaf2d-a783-c99d-acfd-e74c45c503e3.png)
次はLoginします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154661/abc02629-a636-dd1c-f3b1-7075d377c228.png)
まぁ、Yesです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154661/a9c94952-4ed2-57f7-351b-a2543c53500a.png)
最後はPlayボタン押したらプログラム走ります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154661/71f7cc9b-5b62-c336-d68e-83964df64248.png)
#Online Debug
次は変数の値を変更する方法を書きます。
Monitorすると上のエリアは“Prepared value”というところがあります。
あそこをダブルクリックすればもしBoolであれば値を反転できます。
実数とかだと好きな値を入れてくださいね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154661/dcf19660-0f5f-f18b-9aab-4016db3e6a3b.png)

- F7は強制変更(ロジック無視)
- Ctrl+F7=は値変更(ロジックみる)
- Alt+F7=強制変更を取り消す

下図みたら赤な字“F”がついたら強制変更されてるところです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154661/958baa7b-fdf0-2c9e-cbe9-2cc5ce0d9f91.png)

#簡単な画面作成
Add Object>Visualization
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154661/5e45258d-8b8a-35b1-4d91-48be52f38454.png)
そのまま“Add”。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154661/8dcb32b9-60ff-2817-a595-ae6d924292b2.png)
まずボタンを作りましょう。
右側から“Lamps/Switches/Bitmaps”からPush switchをひっばります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154661/a66ee08b-554e-525c-6a5d-fec0bd1dad2d.png)
Triggerの設定を先作ったbSwに割り付けます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154661/77599f51-8c40-3716-bc29-fa9aa254041e.png)
今度はランプをひっばります。
VariableのところにbLampに割り付けます。
色変更はImageのところで変わるらしいです…見つかるちょっと時間かかった。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154661/a8ac3987-4213-35d8-25ab-13520a25e756.png)

こんな感じになりますね。
![codesys_1.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154661/56d9c5f2-3ff8-fd7e-95b2-c2765e63036c.gif)

#Timer
どこのメーカーに最初使うと必ずの課題です。

##Block説明
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154661/79923cc6-e057-9563-8596-13efe5875446.png)

##プログラム

今度はTimerを入れてみましょう。
ToolBoxから“Box”をひっばります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154661/726c6ef3-de8f-f159-25b7-5f44dcde6ed8.png)

- 小さいな白いボタンをクリックします。
- Text SearchのTabをクリックします。
- Tonを入力します。
- Standard.TONを選んでOK。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154661/f7b2c3a1-9c57-2255-39aa-eb4f87c210d5.png)
Blockのところに右クリックし、Update parametersをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154661/08586958-d606-72d2-af96-234a1274c3d2.png)
ここでFunction blockのインスタンスを定義するPopupが出てきます。
Nameを適度にTON_0にし、OKを。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154661/49566d02-eff9-2c5f-71a0-7bc5d2050673.png)
VAR定義するエリアがTON_0が増えましたね。
そしてTONの上にもTON_0というインスタンスに割り付けられました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154661/a4e59922-249a-2341-645d-49cd36cfb419.png)
では、仮に1sにし、ETのところに“???”を削除しLoginします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154661/eae3d1bb-70a9-6898-4d4d-ed7cc09b1e9d.png)

こんな感じになりますねー
![codesys_2.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/154661/620daaac-679e-4f06-a7cb-911e1960db7c.gif)


はーい、お疲れ様です。