2410_LSS100100/LSS100200_SW_03.0

Modbus-Master-Funktionen

Die unten aufgeführten Funktionen können für Modbus RTU Master oder Modbus TCP Client verwendet werden.


	mb:setslave(slaveid)

Setzt die Erweiterungs-ID zum Lesen/Schreiben von Daten von/zu


	mb:readcoils(start, count) [01]

start - Adresse der ersten zu lesenden Spule

Anzahl - Anzahl der zu lesenden Spulen


	mb:readdiscreteinputs(start, count) [02]

Start - Adresse des ersten zu lesenden digitalen Eingangs

count - Anzahl der zu lesenden digitalen Eingänge


	mb:readregisters(start, count) [03]

Start - Adresse des ersten zu lesenden Ausgangsregisters

count - Anzahl der zu lesenden Halteregister


	mb:readinputregisters(start, count) [04]

start – Adresse des zu lesenden Eingangsregisters

count – Anzahl der zu lesenden Eingangsregister

gibt alle Werte für Erfolg und Null zurück, Fehlerbeschreibung für Fehler


	mb:writebits(start, v1, [v2, [v3, ...]]) [05]

schreibt Werte in Spulen ab Startadresse


	mb:writerregisters(start, v1, [v2, [v3, ...]]) [06]

schreibt Werte in Register/Spulen ab der Startadresse

einfaches Schreiben wird verwendet, wenn nur ein Wert geliefert wird, ansonsten mehrfaches Schreiben

gibt bei Erfolg alle geschriebenen Werte zurück, und bei Fehler nil, Fehlerbeschreibung


	mb:reportslaveid()

liest die internen Daten der Erweiterung

gibt bei Erfolg Werte zurück

gibt bei Fehler nil, Fehlerbeschreibung zurück


Modbus-Erweiterungsfunktionen

Daten vom Master empfangen

	mb:receive()

empfängt Daten vom Master mit 1-minütigem Timeout

gibt bei Erfolg Daten als binäre Zeichenkette zurück

gibt bei Fehler nil, Fehlerbeschreibung zurück


Festlegen der Modbus-Zuordnung des Erweiterungsgeräts

	mb:setmapping(coils, inputs, holding_regs, input_regs)

erstellt die Speicherzuordnung für die Register mit der für jeden Typ angegebenen Größe


Erweiterung behandeln

	mb:handleslave()

wartet auf eine eingehende Anzeige vom Master und sendet bei Bedarf eine Antwort.


Get-Funktionen

	mb:getcoils(start, count)
	mb:getdiscreteinputs(start, count)
	mb:getinputregisters(start, count)
	mb:getregisters(start, count)

erhält einen oder mehrere Register-/Ausgangs-/Merkerbit-/Eingangswerte aus der Zuordnung von der Startadresse

gibt alle Werte für Erfolg zurück

gibt null zurück, Fehlerbeschreibung bei Fehler, Ausnahmecode, sofern zutreffend


Set-Funktionen

	mb:setcoils(start, v1, [v2, [v3, ...]])
	mb:setdiscreteinputs(start, v1, [v2, [v3, ...]])
	mb:setinputregisters(start, v1, [v2, [v3, ...]])
	mb:setregisters(start, v1, [v2, [v3, ...]])

setzt Wert in Register-/Spulen-Zuordnung ab der Startadresse

gibt bei Erfolg true zurück

gibt null zurück, Fehlerbeschreibung bei Fehler, Ausnahmecode, sofern zutreffend


Callback-Funktionen

	mb:setwritecoilcb(fn)
	mb:setwriteregistercb(fn)

Setzt eine Callback-Funktion für ein Ausgangs-/Merkerbit-/Register-Schreibereignis.

Der Rückruf sollte zwei Parameter akzeptieren - Spule/Register-Adresse und Wert (boolesch oder Zahl)

bei mehreren Schreibvorgängen wird der Callback für jede Spule/jedes Register einzeln ausgeführt

nil verwenden, um einen Callback zu entfernen.

QR Code is a registered trademark of DENSO WAVE INCORPORATED in Japan and other countries.

War das hilfreich für Sie?