# e!cockpit Modbus Array



## Rawpnzl (2 November 2018)

Hallo zusammen,

wir lesen via Modbus RTU (RS485) 21 Bools auf FC2(0x02). Diese sind alle EINZELN angelegt im Modbus-Konfigurator. Jedoch wirft er die Rückmeldungen durcheinander und wir haben das Gefühl, dass er eine Anfrage sendet, nicht sofort eine Rückmeldung erhält, dann die nächste Anfrage raushaut und dann eine Antwort zur ersten Anfrage bekommt und diese falsch zuordnet. Leider kann ich im Konfigurator nicht einstellen, dass er die Bools als Array ausliest (Array-Kästchen ist ausgegraut). Die Antwortzeit-Überschreitung haben wir auf 2000ms gesetzt und das Abfrageintervall ebenfalls auf 2000ms.

Läßt sich das irgendwie bewerkstelligen, dass die Bools als Array ausgelesen werden?

Danke und viele Grüße


----------



## Blockmove (2 November 2018)

Warum schreibst du deine Bools nicht einfach in 2 Worte?


----------



## Rawpnzl (3 November 2018)

Hallo Blokmove,

die 21 notwendigen Coils liegen verstreut in einem Bereich von ca. 110 Adressen und sind nicht fortlaufend. Ich könnte quasi die 110 Adressen als WORD auslesen (evtl. DWORD / LWORD?) und müsste die Bits einzeln rausholen? Falls ja, kann ich ja maximal 16 Bits in einem Word auf einmal lesen. Besteht nicht irgendwie die Möglichkeit alle 110 Adressen in einem Schwung zu lesen und dann zu zerlegen?

Gruß


----------



## Tobsucht (3 November 2018)

Hallo Rawpnzl,

die richtige Einstellung ist hier der Timeout Parameter.
Dieser bestimmt wie lange der Master auf die Antwort des Slaves wartet.

Grüße


----------



## Rawpnzl (5 November 2018)

Hallo Tobsucht,

ich habe nun, statt alle Coils einzeln auszulesen, diese als Byte-Array komplett ausgelesen (also alle Adressen) und anschließend in einzelne Bits zerlegt und mir die benötigten rausgepickt.

Vielen Dank und viele Grüße


----------

