Issue with polling instruction in RAK7431

Trying to get some data from the “PLPlano” from Jean Müller via the RAK7431. In the manual of the PLPlano the input register is adressed like this:


Now I wanna add a polling instruction to the RAK7431 to get the value of register 1006 (U1) from slave 1. For this I asked an Online Modbus instruction Builder to build me the correct polling instruction. The generator gave me: SlaveID: 01, Function Code: 04, Register Offset(1005 = 31006): 03ED, Number of registers (1): 0001, CRC16 (48033):A1BB.
In this case i got the code “010403ED0001A1BB”.
Then I added the polling instruction via the service tool which says the following:

AT+POLLTASK
1:010403ED0001A1BB
OK
EVENT:3:LORA_TX_DONE:61:OK

As a response I am looking for a paket that starts with 0104… but I only get “C1003F00020101”. I am not sure if its an error or something else.
Can anybody help me with this?

Hello Julian,

You are on the right track; this message, “C1003F00020101” is indeed an error code.
This means something is wrong in the communication between the RAK7431 and PLPlano.
Can we see how you have connected the two devices?
Also, what is the response of RAK7431 to this “AT+GET_CONFIG”? (to get the full configuration of the device)

Nikola Semov

Hi Nikola,
Unfortunate I can not give you a fotograph of the connection now. On Monday i will be able to take a picture and deliver it to you.
The config is the following (AppKey here is deleted for obvious reason):
LoRaMode : LORAWAN
DevEUI : AC1F09FFFE104970
AppEUI : AC1F09FFF8687431
AppKey :
DevAddr : 02104970
AppsKey : 00000000000000000000000000000000
NwksKey : 00000000000000000000000000000000
JoinMode : OTAA
Region : EU868
CLASS : C
PingNb : 128
Confirm : 0
Retry : 3
AdrEnable : 1
Public : 1
channel : 0:868100000:DR0:DR5
1:868300000:DR0:DR5
2:868500000:DR0:DR5
ChanMask : 0007

Dutycycle : 0
AntGain : 0.00
TxPower : 16.00
DataRate : 0
LPTP : 0
AUTOJOIN : 1
LoRaSendTo: 60
AutoReset : 1
AutoResetThreshold: 128
LinkCheckIdleTime: 0
LoRaP2PChannel: 868300000
LoRaP2pDatarate: SF7BW125
LoRaP2pTxPower: 0
MulticastChannel: 0:0:00000000:A:0:0
1:0:00000000:A:0:0
2:0:00000000:A:0:0
3:0:00000000:A:0:0
MC0Enable : 0
MC0Class : A
MC0Addr : 00000000
MC0AppsKey: 00000000000000000000000000000000
MC0NwksKey: 00000000000000000000000000000000
MC0Frequency: 0
MC0Datarate: 0
MC0Period : 1
MC1Enable : 0
MC1Class : A
MC1Addr : 00000000
MC1AppsKey: 00000000000000000000000000000000
MC1NwksKey: 00000000000000000000000000000000
MC1Frequency: 0
MC1Datarate: 0
MC1Period : 1
MC2Enable : 0
MC2Class : A
MC2Addr : 00000000
MC2AppsKey: 00000000000000000000000000000000
MC2NwksKey: 00000000000000000000000000000000
MC2Frequency: 0
MC2Datarate: 0
MC2Period : 1
MC3Enable : 0
MC3Class : A
MC3Addr : 00000000
MC3AppsKey: 00000000000000000000000000000000
MC3NwksKey: 00000000000000000000000000000000
MC3Frequency: 0
MC3Datarate: 0
MC3Period : 1
UART1BaudRate: 115200
UART1DataBits: 8
UART1StopBit: 1
UART1Parity: NONE
TimeZone : 0
SyslogLVL : 1
WakeupByte: AA
WakeupMode: DATAPORT
DisableEvent: 0
PushLoRaRxEvent: 0
UART2BaudRate: 115200
UART2DataBits: 8
UART2StopBit: 1
UART2Parity: NONE
ModBusTimeout: 1000
DTUMode : MODBUS
Transparent: false
ModBusRetry: 0
EnablePoll: 1
PollPeriod: 60
PollInterval: 2
PollTask : 1:010403ED0001A1BB
ScheduleTask:
AINVALUERANGE: 1,0.00,0.00
2,0.00,0.00
AINPERIOD : 300
AINWARMUP : 50
AINCAL : 1:0.000000,0.000000
2:0.000000,0.000000
AILPMODE : 0
OK

Thanks for helping me.

Is there anything wrong with my configuration?

Hi,

It all looks fine to me.
Generally, the error you are receiving is due to the slave not answering RAK7431’s poll request. The problem may be from wiring (if you connected the cables on the wrong ports of RAK7431), incorrect configuration of the UART2 (if your slave device and RAK7431 do not match the Baud Rate, Data Bits, etc), or incorrect poll instructions (if you configured a wrong Modbus poll/polls in the RAK7431 to request the data from the slave device ).

Nikola Semov