Comments (6)
SlaveId and UnitId are the same thing, just different terminology.
Word inversion and interpreting the bytes as unsigned are something your application would choose to do after it go the data from the response. They aren't part of Modbus proper, so not something this library implements. But they're not uncommon.
In this case it's pretty easy since the data is in a ByteBuf
... something like: long myValue = response.getRegisters().order(ByteOrder.LITTLE_ENDIAN).readUnsignedInt()
from modbus.
I'm not sure if you're talking about just reading some registers, e.g. from the Holding Registers table, which is covered in the README example:
ModbusTcpMasterConfig config = new ModbusTcpMasterConfig.Builder("localhost").build();
ModbusTcpMaster master = new ModbusTcpMaster(config);
CompletableFuture<ReadHoldingRegistersResponse> future =
master.sendRequest(new ReadHoldingRegistersRequest(0, 10), 0);
future.thenAccept(response -> {
System.out.println("Response: " + ByteBufUtil.hexDump(response.getRegisters()));
ReferenceCountUtil.release(response);
});
Or if you're talking about something else?
from modbus.
Well, basically I've got
from modbus.
a "DIRIS G" communication gateways, with all information "made available on the Ethernet network via Modbus TCP".
I've got the IP and the port is regularly set to 502.
I'd like to read the values knowing "slave ID", "Register","register size" and "function code"
from modbus.
Well without some examples I can't really help you, but that's more than enough information to get going with if you understand anything about Modbus. You might want to skim the specification - it's not very lengthy. At the very least you'll come away knowing which function code means which kind of request.
from modbus.
Hi Kevin, thank you for the spec.
I know that want to issue a request with function code 3 (so ReadHoldingRegistersRequest) to a distant Modbus server, With Register "18442" which I understand is the address in ReadHoldingRegistersRequest's fields.
I must specify a "slave ID". Which I don't find, so I assumed it was master.sendRequest's "unitID" field.
With a Register's length of 2 I get the following :
master.sendRequest(new ReadHoldingRegistersRequest(18442, 2), 4);
I get the following response : 0000c346
The thing is, in my ModBus Desktop Client, I have to set "Word Inversion" and "Not Signed" along with "32 bits display".
Does word inversion work with your code?
Thanks
from modbus.
Related Issues (20)
- Performance problem in 1.2.0 HOT 5
- How to use write and read Coils?
- How do I use your source code for control actions? HOT 1
- How to set the slave address when sending a command
- How to set the slave address when sending a command HOT 2
- Just help to first use HOT 4
- message=request timed out
- com.digitalpetri.modbus.ModbusTimeoutException: request timed out after 6000ms milliseconds.
- error
- Unable to use HOT 3
- Could I use one common ModbusTcpMaster for multi-thread sending diffrent requests ? Would these threads be blocked ? HOT 2
- Should I invoke the close() function of the ModbusTcpMaster instance when my collection task finished ? HOT 3
- Sending requests simultaneously HOT 3
- Does it support modbus rtu over TCP HOT 1
- How to get the status of modbus connection, such as isConnect ?
- Update Netty and other dependencies
- How to use raw requests and responses? HOT 3
- Could you please release 1.2.1 version? HOT 1
- Bootstrap customization callback should run last
- Usage sample to query a SUN2000 inverter? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from modbus.