modbus icon indicating copy to clipboard operation
modbus copied to clipboard

Signed integer support missing?

Open stevedh opened this issue 3 years ago • 1 comments

Unless I am missing something, the documentation mentions supporting reading signed integers; but there's no ReadInt16/ReadInt32 method in the client.

stevedh avatar Jun 28 '22 20:06 stevedh

Hi Stephen,

wouldn't simply using a cast work in this case? This is how I usually do it:

  • read a 16-bit, signed integer:

var  reg uint16

err, reg = client.ReadRegister(0x1000, modbus.HOLDING_REGISTER)

if err != nil { ... }

fmt.Printf("unsigned value: %v, signed value: %v\n", reg, int16(reg))

  • write a 16-bit, signed register:

var setpoint int16

setpoint = -100

err = client.WriteRegister(0x1000, uint16(setpoint))

Hope this helps,

-Simon

simonvetter avatar Jul 02 '22 18:07 simonvetter

Closing this for inactivity. Feel free to reopen if needed.

simonvetter avatar Sep 07 '22 07:09 simonvetter