Lookout

cancel
Showing results for 
Search instead for 
Did you mean: 

LK6.5 Modbus read/write to many addresses at once

LK6.5 Modbus read/write to many addresses at once. What happens as example; I have address 100 to 150 and 180-200. Addresses in between doesn't exist. Not all are connected. The modbus (Ethernet master) driver reads in a single command (in order to optimize) address 100-190.
That is a nice feature, but the result is a reply like "not existing" because between 150-180 are not existing. No error is shown in lookout (communication works OK).

 

I know I can do a workaround by setting maximum value per message to 1 or 2, but the project has 140 modbus objects with a total of around 4000 connections. I would like to use a big range in one command, but no addresses that are not existing. Beside of that, it looks like this is a problem that let the driver and/or lookout crash.

 

Any one knows a fast solution? Is there another updated modbus driver?

0 Kudos
Message 1 of 3
(5,729 Views)

The modbus protocol specification allows the range read and write. It specifies the start address, and then the number of address to read/write. The modbus slave just sends this range to read/write. It doesn't know which one during this range doesn't exist, and it cannot skip any address during this range.

 

I'm not sure if I understand your requirement correctly. Do you expect the modbus driver uses the range read, but skip the non-exist address? The lookout modbus driver doesn't support this kind of feature. And I'm not sure how to do it, because the modbus driver doesn't know which one is not existing. It cannot depend on the last read result, because the non-existing address may become existing in next read...

 

Do you see crash on modbus or lookout?

Ryan Shi
National Instruments
0 Kudos
Message 2 of 3
(5,718 Views)

more inputs:

 

The response from Modbus device actually doesn't specify which address has the problem if you read a range.

 

When you read a range, and a certain address in this range doesn't exist, do you get no data in lookout?

 

It depends on the Modbus device whether lookout gets error response or the good response. I don't see detailed definition in the Modbus specification. So, if a certain address in a range doesn't exist, the device may either return error or good response. But the problem is that the error reponse is just an error code. Lookout doesn't know which address has the problem. It may be a problem that you don't see alarm in Lookout.

 

I don't see a way on lookout side to get a better behaviour. Maybe you can consult the device provider for any advice, such as what should the modbus master do, is the range read expected?

Ryan Shi
National Instruments
0 Kudos
Message 3 of 3
(5,715 Views)