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 ``` -## 通信設定 +[![](http://img.youtube.com/vi/aFEtOIgKLvQ/0.jpg)](https://youtu.be/aFEtOIgKLvQ) -### PLCの通信設定 +### 通信設定 -plc以下のプロジェクトファイルを開いてIPアドレスなど変更します。 -変更後PLCに設定とプログラムを書き込みます。 +#### PLCの通信設定 -### エスカレーターの設定 +plc以下の使用したいPLCのプロジェクトファイルを開きます。 +IPアドレスなど必要な箇所変更し、PLCに転送します。 +[![](http://img.youtube.com/vi/fGdyIo9AmuE/0.jpg)](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. ``` -## エスカレータープログラム作成 +[![](http://img.youtube.com/vi/m0JaOBFIHqw/0.jpg)](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 ``` -## プログラムの転送 +[![](http://img.youtube.com/vi/OjaSqrkWv8Q/0.jpg)](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 +``` + + + +[![](http://img.youtube.com/vi/qGbicGLB7Gs/0.jpg)](https://youtu.be/qGbicGLB7Gs) + +## エスカレーターに関する情報 + - [一往確認日記 [escalator]](http://diary.itosoft.com/?category=escalator) - [Wiki](https://github.com/ito-soft-design/escalator/wiki/) -# ライセンス +## ライセンス MIT