forked from rmodbus/rmodbus
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
5 changed files
with
57 additions
and
14 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,3 @@ | ||
--files NEWS.md | ||
--protected | ||
--private |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,2 @@ | ||
source "http://rubygems.org" | ||
gemspec | ||
#gem 'serialport', :platforms => [:ruby, :mswin, :mingw] | ||
|
||
#group :development do | ||
# gem "rspec", "~> 2.3.0" | ||
# gem "bundler", "~> 1.0.0" | ||
# gem "rcov" | ||
# gem 'yard' | ||
# gem 'rdiscount' | ||
#end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
Release 1.0.0 | ||
===================================== | ||
New API for client part of library | ||
--------------------------------------- | ||
|
||
Example: | ||
|
||
require 'rmodbus' | ||
|
||
ModBus::TCPClient.new('127.0.0.1', 8502) do |cl| | ||
cl.with_slave(1) do |slave| | ||
# Read a single holding register at address 16 | ||
slave.holding_registers[16] | ||
|
||
# Write a single holding register at address 16 | ||
slave.holding_registers[16] = 123 | ||
|
||
# Read holding registers 16 through 20 | ||
slave.holding_registers[16..20] | ||
|
||
# Write holding registers 16 through 20 with some values | ||
slave.holding_registers[16..20] = [1, 2, 3, 4, 5] | ||
end | ||
end | ||
|
||
for more information [see](http://rdoc.info/gems/rmodbus/1.0.0/frames) | ||
|
||
Conversion to/from 32bit registers | ||
----------------------------------- | ||
|
||
Some modbus devices use two registers to store 32bit values. | ||
RModbus provides some helper functions to go back and forth between these two things when reading/writing. | ||
The built-in examples assume registers in a particular order but it's trivial to change. | ||
|
||
# Reading values in multiple registers (you can read more than 2 and convert them all so long as they are in multiples of 2) | ||
res = slave.holding_registers[0..1] | ||
res.inspect => [20342, 17344] | ||
res.to_32i => [1136676726] | ||
res.to_32f => [384.620788574219] | ||
|
||
# Writing 32b values to multiple registers | ||
cl.holding_registers[0..1] = [1136676726].from_32i | ||
cl.holding_registers[0..1] => [20342, 17344] | ||
cl.holding_registers[2..3] = [384.620788574219].from_32f | ||
cl.holding_registers[2..3] => [20342, 17344] | ||
|
||
Support JRuby | ||
-------------------------------------- | ||
Now you could use RModBus on JRuby without RTU implementation. | ||
|
||
RTU classes requires gem [serialport](https://github.com/hparra/ruby-serialport) which | ||
currently not compatible with JRuby |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters