ladder_drive 0.4.0 → 0.4.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/README_jp.md +10 -10
- data/lib/ladder_drive/protocol/mitsubishi/mc_protocol.rb +1 -1
- data/lib/ladder_drive/protocol/protocol.rb +2 -2
- data/lib/ladder_drive/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1c322d622e10b0ee64912b24117db7086fb6bd5c
|
4
|
+
data.tar.gz: 21d0ef57b8e8d82140071a7d60397861ad9faaff
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 15b168caefe744fe6262e01108bd2ee845b7051c18c98367ddd81edf473b78f1e4aaa44bf0ba59853b48ab2593b9263a64a36877a7fcc7343a91d78f673980a4
|
7
|
+
data.tar.gz: 7d1b836921e3eb79fea0a21ccba8a00ff2e9019e293857ffa7272269ec5632cf3e7888bde60bb91170d1908b8e9cbdd12803a38f8f05dff03b552525362c0c82
|
data/Gemfile.lock
CHANGED
data/README_jp.md
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
-
#
|
1
|
+
# LadderDrive
|
2
2
|
|
3
3
|
## 概要
|
4
4
|
|
5
|
-
|
5
|
+
LadderDriveはPLC(Programmable Logic Controller)向けの抽象的なラダーです。
|
6
6
|
どのPLCでも同じソース(できればバイナリー)で実行できる形態を目指しています。
|
7
7
|
|
8
8
|
まずはニーモニックレベルで実現し、その上に分かりやすい形のプログラミングツールを用意できればと考えています。
|
@@ -14,7 +14,7 @@ Rubyの実行環境の構築はWebサイト等を検索して構築してくだ
|
|
14
14
|
|
15
15
|
### インストール
|
16
16
|
|
17
|
-
gem
|
17
|
+
gemでLadderDriveをインストールします。
|
18
18
|
|
19
19
|
```sh
|
20
20
|
$ gem install ladder_drive
|
@@ -24,7 +24,7 @@ $ gem install ladder_drive
|
|
24
24
|
|
25
25
|
### プロジェクト作成
|
26
26
|
|
27
|
-
|
27
|
+
LadderDriveをインストールするとladder_driveコマンドが使用できる様になります。
|
28
28
|
ladder_driveコマンドでラダーを構成するプロジェクトファイルを作ります。
|
29
29
|
|
30
30
|
```sh
|
@@ -35,7 +35,7 @@ $ cd my_project
|
|
35
35
|
[![https://gyazo.com/c538f66129aa425e2b1da4f478a10f52](https://i.gyazo.com/c538f66129aa425e2b1da4f478a10f52.gif)](https://gyazo.com/c538f66129aa425e2b1da4f478a10f52)
|
36
36
|
|
37
37
|
ファイルの構成は下の様になっています。
|
38
|
-
plc
|
38
|
+
plc以下にLadderDriveを実行するPLCプロジェクトの雛形があります。
|
39
39
|
現在はエミュレーターと三菱電機のiQ-RシリーズR08CPUのみの対応となっています。
|
40
40
|
他メーカーや他の機種は今後追加する予定です。
|
41
41
|
|
@@ -64,7 +64,7 @@ IPアドレスなど必要な箇所変更し、PLCに転送します。
|
|
64
64
|
|
65
65
|
[![](http://img.youtube.com/vi/fGdyIo9AmuE/0.jpg)](https://youtu.be/fGdyIo9AmuE)
|
66
66
|
|
67
|
-
####
|
67
|
+
#### LadderDriveの設定
|
68
68
|
|
69
69
|
config/plc.ymlファイルで設定します。
|
70
70
|
|
@@ -82,9 +82,9 @@ plc: # Beginning of PLC section.
|
|
82
82
|
|
83
83
|
[![](http://img.youtube.com/vi/m0JaOBFIHqw/0.jpg)](https://youtu.be/m0JaOBFIHqw)
|
84
84
|
|
85
|
-
###
|
85
|
+
### LadderDriveプログラム作成
|
86
86
|
|
87
|
-
|
87
|
+
LadderDriveのプログラムはasm以下にあります。
|
88
88
|
現在はmain.escファイルから生成します。
|
89
89
|
|
90
90
|
main.escを編集しプログラムを作成します。
|
@@ -105,7 +105,7 @@ END
|
|
105
105
|
|
106
106
|
### プログラムの転送
|
107
107
|
|
108
|
-
|
108
|
+
LadderDriveプログラムをplcに転送するには```rake```コマンドを使用します。
|
109
109
|
デフォルトではエミュレーターが対象になり、エミュレーターが起動します。
|
110
110
|
|
111
111
|
```sh
|
@@ -203,7 +203,7 @@ plc["D0", 10] = [0, 1, 2, ..., 9]
|
|
203
203
|
plc["D0".."D9"] => [0, 1, 2, ..., 9]
|
204
204
|
```
|
205
205
|
|
206
|
-
##
|
206
|
+
## LadderDriveに関する情報
|
207
207
|
|
208
208
|
- [一往確認日記 [ladder_drive]](http://diary.itosoft.com/?category=ladder_drive)
|
209
209
|
- [Wiki](https://github.com/ito-soft-design/ladder_drive/wiki/)
|
@@ -140,7 +140,7 @@ module Mitsubishi
|
|
140
140
|
end
|
141
141
|
|
142
142
|
def set_words_to_device words, device
|
143
|
-
raise ArgumentError.new("A count #{
|
143
|
+
raise ArgumentError.new("A count of words #{words.size} must be between #{available_words_range.first} and #{available_words_range.last} for #{__method__}") unless available_bits_range.include? words.size
|
144
144
|
|
145
145
|
device = device_by_name device
|
146
146
|
packet = make_packet(body_for_set_words_to_device(words, device))
|
@@ -167,14 +167,14 @@ module Protocol
|
|
167
167
|
if d.bit_device?
|
168
168
|
a = []
|
169
169
|
values.each_slice(available_bits_range(d).last) do |sv|
|
170
|
-
set_bits_to_device(
|
170
|
+
set_bits_to_device(sv, d)
|
171
171
|
d += sv.size
|
172
172
|
end
|
173
173
|
a
|
174
174
|
else
|
175
175
|
a = []
|
176
176
|
values.each_slice(available_words_range(d).last) do |sv|
|
177
|
-
set_words_to_device(
|
177
|
+
set_words_to_device(sv, d)
|
178
178
|
d += sv.size
|
179
179
|
end
|
180
180
|
a
|
data/lib/ladder_drive/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ladder_drive
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Katsuyoshi Ito
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-05-
|
11
|
+
date: 2017-05-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|