rmodbus 1.0.3 → 1.0.4
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.
- data/NEWS.md +13 -0
- data/lib/rmodbus.rb +1 -0
- data/lib/rmodbus/rtu.rb +1 -1
- data/lib/rmodbus/version.rb +1 -1
- data/spec/rtu_via_tcp_server_spec.rb +14 -0
- data/spec/tcp_server_spec.rb +18 -6
- metadata +38 -3
data/NEWS.md
CHANGED
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
2011-08-10 Release 1.0.4
|
|
2
|
+
====================================
|
|
3
|
+
1. Fixed issue [#11](https://github.com/flipback/rmodbus/issues/9)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
2011-07-17 Release 1.0.3
|
|
7
|
+
====================================
|
|
8
|
+
|
|
9
|
+
1. Fixed issue #10
|
|
10
|
+
2. Added new options for TCPServer#new and RTUViaTCPServer#new
|
|
11
|
+
:host - ip of host server (default 127.0.0.1)
|
|
12
|
+
:max_connection - maximum (client default 4)
|
|
13
|
+
|
|
1
14
|
2011-07-1 Release 1.0.2
|
|
2
15
|
====================================
|
|
3
16
|
|
data/lib/rmodbus.rb
CHANGED
data/lib/rmodbus/rtu.rb
CHANGED
data/lib/rmodbus/version.rb
CHANGED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
require "rmodbus"
|
|
2
|
+
describe ModBus::RTUViaTCPServer do
|
|
3
|
+
it "should have options :host" do
|
|
4
|
+
host = '192.168.0.1'
|
|
5
|
+
srv = ModBus::RTUViaTCPServer.new(1010, 1, :host => '192.168.0.1')
|
|
6
|
+
srv.host.should eql(host)
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
it "should have options :max_connection" do
|
|
10
|
+
max_conn = 5
|
|
11
|
+
srv = ModBus::RTUViaTCPServer.new(1010, 1, :max_connection => 5)
|
|
12
|
+
srv.maxConnections.should eql(max_conn)
|
|
13
|
+
end
|
|
14
|
+
end
|
data/spec/tcp_server_spec.rb
CHANGED
|
@@ -17,7 +17,7 @@ describe TCPServer do
|
|
|
17
17
|
@cl.close
|
|
18
18
|
ModBus::TCPClient.connect('127.0.0.1', 8502) do |cl|
|
|
19
19
|
lambda { cl.with_slave(2).read_coils(1,3) }.should raise_exception(
|
|
20
|
-
ModBus::Errors::ModBusException,
|
|
20
|
+
ModBus::Errors::ModBusException,
|
|
21
21
|
"Server did not respond"
|
|
22
22
|
)
|
|
23
23
|
end
|
|
@@ -26,20 +26,20 @@ describe TCPServer do
|
|
|
26
26
|
it "should send exception if function not supported" do
|
|
27
27
|
lambda { @slave.query('0x43') }.should raise_exception(
|
|
28
28
|
ModBus::Errors::IllegalFunction,
|
|
29
|
-
"The function code received in the query is not an allowable action for the server"
|
|
29
|
+
"The function code received in the query is not an allowable action for the server"
|
|
30
30
|
)
|
|
31
31
|
end
|
|
32
32
|
|
|
33
33
|
it "should send exception if quanity of out more 0x7d" do
|
|
34
34
|
lambda { @slave.read_coils(0, 0x7e) }.should raise_exception(
|
|
35
|
-
ModBus::Errors::IllegalDataValue,
|
|
35
|
+
ModBus::Errors::IllegalDataValue,
|
|
36
36
|
"A value contained in the query data field is not an allowable value for server"
|
|
37
37
|
)
|
|
38
38
|
end
|
|
39
39
|
|
|
40
40
|
it "should send exception if addr not valid" do
|
|
41
41
|
lambda { @slave.read_coils(2, 8) }.should raise_exception(
|
|
42
|
-
ModBus::Errors::IllegalDataAddress,
|
|
42
|
+
ModBus::Errors::IllegalDataAddress,
|
|
43
43
|
"The data address received in the query is not an allowable address for the server"
|
|
44
44
|
)
|
|
45
45
|
end
|
|
@@ -90,10 +90,22 @@ describe TCPServer do
|
|
|
90
90
|
@server.holding_registers.should == [1,2,3,1,2,3,4,5,9]
|
|
91
91
|
end
|
|
92
92
|
|
|
93
|
+
it "should have options :host" do
|
|
94
|
+
host = '192.168.0.1'
|
|
95
|
+
srv = ModBus::TCPServer.new(1010, 1, :host => '192.168.0.1')
|
|
96
|
+
srv.host.should eql(host)
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
it "should have options :max_connection" do
|
|
100
|
+
max_conn = 5
|
|
101
|
+
srv = ModBus::TCPServer.new(1010, 1, :max_connection => 5)
|
|
102
|
+
srv.maxConnections.should eql(max_conn)
|
|
103
|
+
end
|
|
104
|
+
|
|
93
105
|
after do
|
|
94
|
-
@cl.close
|
|
106
|
+
@cl.close
|
|
95
107
|
@server.stop unless @server.stopped?
|
|
96
|
-
while GServer.in_service?(8502)
|
|
108
|
+
while GServer.in_service?(8502)
|
|
97
109
|
end
|
|
98
110
|
end
|
|
99
111
|
end
|
metadata
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rmodbus
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
+
hash: 31
|
|
4
5
|
prerelease:
|
|
5
|
-
|
|
6
|
+
segments:
|
|
7
|
+
- 1
|
|
8
|
+
- 0
|
|
9
|
+
- 4
|
|
10
|
+
version: 1.0.4
|
|
6
11
|
platform: ruby
|
|
7
12
|
authors:
|
|
8
13
|
- A.Timin, J. Sanders, K. Reynolds
|
|
@@ -10,7 +15,8 @@ autorequire:
|
|
|
10
15
|
bindir: bin
|
|
11
16
|
cert_chain: []
|
|
12
17
|
|
|
13
|
-
date: 2011-
|
|
18
|
+
date: 2011-08-10 00:00:00 +06:00
|
|
19
|
+
default_executable:
|
|
14
20
|
dependencies:
|
|
15
21
|
- !ruby/object:Gem::Dependency
|
|
16
22
|
name: serialport
|
|
@@ -20,6 +26,9 @@ dependencies:
|
|
|
20
26
|
requirements:
|
|
21
27
|
- - ">="
|
|
22
28
|
- !ruby/object:Gem::Version
|
|
29
|
+
hash: 3
|
|
30
|
+
segments:
|
|
31
|
+
- 0
|
|
23
32
|
version: "0"
|
|
24
33
|
type: :runtime
|
|
25
34
|
version_requirements: *id001
|
|
@@ -31,6 +40,9 @@ dependencies:
|
|
|
31
40
|
requirements:
|
|
32
41
|
- - ">="
|
|
33
42
|
- !ruby/object:Gem::Version
|
|
43
|
+
hash: 3
|
|
44
|
+
segments:
|
|
45
|
+
- 0
|
|
34
46
|
version: "0"
|
|
35
47
|
type: :development
|
|
36
48
|
version_requirements: *id002
|
|
@@ -42,6 +54,9 @@ dependencies:
|
|
|
42
54
|
requirements:
|
|
43
55
|
- - ">="
|
|
44
56
|
- !ruby/object:Gem::Version
|
|
57
|
+
hash: 3
|
|
58
|
+
segments:
|
|
59
|
+
- 0
|
|
45
60
|
version: "0"
|
|
46
61
|
type: :development
|
|
47
62
|
version_requirements: *id003
|
|
@@ -53,6 +68,9 @@ dependencies:
|
|
|
53
68
|
requirements:
|
|
54
69
|
- - ">="
|
|
55
70
|
- !ruby/object:Gem::Version
|
|
71
|
+
hash: 3
|
|
72
|
+
segments:
|
|
73
|
+
- 0
|
|
56
74
|
version: "0"
|
|
57
75
|
type: :development
|
|
58
76
|
version_requirements: *id004
|
|
@@ -64,6 +82,9 @@ dependencies:
|
|
|
64
82
|
requirements:
|
|
65
83
|
- - ">="
|
|
66
84
|
- !ruby/object:Gem::Version
|
|
85
|
+
hash: 3
|
|
86
|
+
segments:
|
|
87
|
+
- 0
|
|
67
88
|
version: "0"
|
|
68
89
|
type: :development
|
|
69
90
|
version_requirements: *id005
|
|
@@ -75,6 +96,9 @@ dependencies:
|
|
|
75
96
|
requirements:
|
|
76
97
|
- - ">="
|
|
77
98
|
- !ruby/object:Gem::Version
|
|
99
|
+
hash: 3
|
|
100
|
+
segments:
|
|
101
|
+
- 0
|
|
78
102
|
version: "0"
|
|
79
103
|
type: :development
|
|
80
104
|
version_requirements: *id006
|
|
@@ -86,6 +110,9 @@ dependencies:
|
|
|
86
110
|
requirements:
|
|
87
111
|
- - ">="
|
|
88
112
|
- !ruby/object:Gem::Version
|
|
113
|
+
hash: 3
|
|
114
|
+
segments:
|
|
115
|
+
- 0
|
|
89
116
|
version: "0"
|
|
90
117
|
type: :development
|
|
91
118
|
version_requirements: *id007
|
|
@@ -130,6 +157,7 @@ files:
|
|
|
130
157
|
- spec/rtu_via_tcp_client_spec.rb
|
|
131
158
|
- spec/rtu_server_spec.rb
|
|
132
159
|
- spec/tcp_client_spec.rb
|
|
160
|
+
- spec/rtu_via_tcp_server_spec.rb
|
|
133
161
|
- spec/exception_spec.rb
|
|
134
162
|
- spec/rtu_client_spec.rb
|
|
135
163
|
- spec/slave_spec.rb
|
|
@@ -140,6 +168,7 @@ files:
|
|
|
140
168
|
- Rakefile
|
|
141
169
|
- README.md
|
|
142
170
|
- NEWS.md
|
|
171
|
+
has_rdoc: true
|
|
143
172
|
homepage: http://rmodbus.heroku.com
|
|
144
173
|
licenses: []
|
|
145
174
|
|
|
@@ -157,17 +186,23 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
157
186
|
requirements:
|
|
158
187
|
- - ">="
|
|
159
188
|
- !ruby/object:Gem::Version
|
|
189
|
+
hash: 3
|
|
190
|
+
segments:
|
|
191
|
+
- 0
|
|
160
192
|
version: "0"
|
|
161
193
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
162
194
|
none: false
|
|
163
195
|
requirements:
|
|
164
196
|
- - ">="
|
|
165
197
|
- !ruby/object:Gem::Version
|
|
198
|
+
hash: 3
|
|
199
|
+
segments:
|
|
200
|
+
- 0
|
|
166
201
|
version: "0"
|
|
167
202
|
requirements: []
|
|
168
203
|
|
|
169
204
|
rubyforge_project:
|
|
170
|
-
rubygems_version: 1.
|
|
205
|
+
rubygems_version: 1.6.2
|
|
171
206
|
signing_key:
|
|
172
207
|
specification_version: 3
|
|
173
208
|
summary: RModBus - free implementation of protocol ModBus
|