ladder_drive 0.4.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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)
|
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
|
[](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
|
[](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
|