README_jp.md in escalator-0.2.1 vs README_jp.md in escalator-0.2.2
- old
+ new
@@ -1,38 +1,40 @@
-# 概要
+# エスカレーター
+## 概要
+
エスカレーターはPLC(Programmable Logic Controller)向けの抽象的なラダーです。
どのPLCでも同じソース(できればバイナリー)で実行できる形態を目指しています。
まずはニーモニックレベルで実現し、その上に分かりやすい形のプログラミングツールを用意できればと考えています。
-# 使い方
+## 使い方
使用するにはRubyが実行できる環境が必要です。
Rubyの実行環境の構築はWebサイト等を検索して構築してください。
-## インストール
+### インストール
gemでエスカレーターをインストールします。
-```
+```sh
$ gem install escalator
```
-## プロジェクト作成
+### プロジェクト作成
エスカレーターをインストールするとescalatorコマンドが使用できる様になります。
escalatorコマンドでラダーを構成するプロジェクトファイルを作ります。
-```
+```sh
$ escalator create my_project
$ cd my_project
```
ファイルの構成は下の様になっています。
plc以下にエスカレーターを実行するPLCプロジェクトの雛形があります。
-現在は三菱電機のiQ-RシリーズR08CPUのみの対応となっています。
+現在はエミュレーターと三菱電機のiQ-RシリーズR08CPUのみの対応となっています。
他メーカーや他の機種は今後追加する予定です。
```
.
@@ -47,66 +49,136 @@
└── r08
├── LICENSE
└── r08.gx3
```
-## 通信設定
+[](https://youtu.be/aFEtOIgKLvQ)
-### PLCの通信設定
+### 通信設定
-plc以下のプロジェクトファイルを開いてIPアドレスなど変更します。
-変更後PLCに設定とプログラムを書き込みます。
+#### PLCの通信設定
-### エスカレーターの設定
+plc以下の使用したいPLCのプロジェクトファイルを開きます。
+IPアドレスなど必要な箇所変更し、PLCに転送します。
+[](https://youtu.be/fGdyIo9AmuE)
+
+#### エスカレーターの設定
+
config/plc.ymlファイルで設定します。
-現在はiQ-Rのみの対応なので:host: 192.168.0.1の行でPLCに設定したIPアドレスを指定するのみで接続できます。
+現在はiQ-Rのみの対応なので:host: 192.168.0.10の行でPLCに設定したIPアドレスを指定するだけで接続できます。
```
-:plc:
- :cpu: iq-r
- :protocol: mc_protocol
- :host: 192.168.0.1
- :port: 5007
- :program_area: d10000
- :interaction_area: d9998
+# plc.yml
+plc: # Beginning of PLC section.
+ iq-r: # It's a target name
+ cpu: iq-r # It's just a comment.
+ protocol: mc_protocol # It's a protocol to communicate with PLC.
+ host: 192.168.0.10 # It's PLC's IP address or dns name.
+ port: 5007 # It's PLC's port no.
```
-## エスカレータープログラム作成
+[](https://youtu.be/m0JaOBFIHqw)
+### エスカレータープログラム作成
+
エスカレーターのプログラムはasm以下にあります。
現在はmain.escファイルから生成します。
main.escを編集しプログラムを作成します。
PLC側の実装がまだ進んでいないので実行できるニーモニックはLD、OUT、AND、ORとその反転程度です。
ニーモニックについては[Wiki](https://github.com/ito-soft-design/escalator/wiki/mnemonic)の方を参照してください。
```
-LD X0
-OUT Y0
-LD X1
-OR M0
-ANI X2
-OUT M0
+# main.esc
+LD M0
+AND M1
+OUT M2
END
```
-## プログラムの転送
+[](https://youtu.be/OjaSqrkWv8Q)
-エスカレータープログラムをplcに転送するはrakeコマンドを使用します。
+### プログラムの転送
+
+エスカレータープログラムをplcに転送するには```rake```コマンドを使用します。
+デフォルトではエミュレーターが対象になり、エミュレーターが起動します。
+
+```sh
+$ rake
+```
+
+targetを指定するとplc.ymlのplcセクション内の該当するターゲットが対象になります。
+
+```sh
+$ rake target=iq-r
+```
+
+plc.ymlファイルのdefaultセクションのtargetでデフォルトのターゲトを設定できます。
+
+```
+# plc.yml
+default:
+ target: iq-r
+```
+
+この場合に```rake```を行うと```rake target=iq-r```をしたのと同じになります。
+
+
転送後プログラムが実行されます。
+```sh
+$ rake [target=iq-r]
+uploading build/main.hex ...
+launching emulator ...
+done launching
+done uploading
+
+ Escalator is an abstract PLC.
+ This is a console to communicate with PLC.
+
+>
```
-$ rake plc
+
+アップロードが完了するとコンソールモードになります。
+コンソールモードではコマンドを打つ事でデバイスの読み書きができます。
+
+デバイスの値を読み取るにはrコマンドを使用します。
+下の例ではm0から8子分のデバイスを読み出します。
+
+```sh
+> r m0 8
```
+デバイスに値を書き込むにはwコマンドを使用します。
+下の例ではM0からM7まで書き込んでいます。
-# エスカレーターに関する情報
+```sh
+> w m0 0 0 0 1 1 0 1 1
+```
+ボタンを押した様にパルス状にデバイスをオンにするにはpwコマンドを使用します。
+
+```sh
+> p m0
+```
+
+オンになる時間をデバイスのあとに指定することもできます。単位は秒です。
+
+```sh
+> p m0 1.5
+```
+
+
+
+[](https://youtu.be/qGbicGLB7Gs)
+
+## エスカレーターに関する情報
+
- [一往確認日記 [escalator]](http://diary.itosoft.com/?category=escalator)
- [Wiki](https://github.com/ito-soft-design/escalator/wiki/)
-# ライセンス
+## ライセンス
MIT