-> Hier kostenlos registrieren
Hi,
ich stelle von einem tumben LCD-Bedienterminal auf ein MODBUS-Terminal um (siehe auch hier.)
Das Bedienterminal war bisher einfach ein doofer Client, der die vom Master (Steuerung) bereitgestellten ASCII-Zeichen einfach nur darstellte. Jetzt, über MODBUS, läuft das genau anders herum, das Bedienterminal ist MASTER, die Steuerung das Device als SLAVE.
Für normale Zahlenwerte und Texte funktioniert das auch, aber ich stosse jetzt auf ein Problem mit Parametern, die bisher 12-stellig mit 10 Nachkommastellen angezeigt und eingegeben werden können. Das sind vor allem Umrechnungsfaktoren der Encoder usw. die so genau dargestellt werden müssen. In der C-basierten Steuerung sind dafür normale double-Werte (8 Bytes) vorgesehen.
Damit stosse ich jetzt aber die MODBUS-Grenze, das hier für einen Fliesskommawert nur ein DWORD (4 Bytes) vorgesehen sind.
Wie komme ich jetzt wieder an meine 10 dezimalen Nachkommastellen? Mit 4 Bytes für Mantisse und Exponent klappt das nämlich nicht.
Ich dachte schon an eine ASCII-Repräsentation, wie ja auf dem doofen bisherigen Terminal auch, die einfach angezeigt wird.
Was meint ihr?
ich stelle von einem tumben LCD-Bedienterminal auf ein MODBUS-Terminal um (siehe auch hier.)
Das Bedienterminal war bisher einfach ein doofer Client, der die vom Master (Steuerung) bereitgestellten ASCII-Zeichen einfach nur darstellte. Jetzt, über MODBUS, läuft das genau anders herum, das Bedienterminal ist MASTER, die Steuerung das Device als SLAVE.
Für normale Zahlenwerte und Texte funktioniert das auch, aber ich stosse jetzt auf ein Problem mit Parametern, die bisher 12-stellig mit 10 Nachkommastellen angezeigt und eingegeben werden können. Das sind vor allem Umrechnungsfaktoren der Encoder usw. die so genau dargestellt werden müssen. In der C-basierten Steuerung sind dafür normale double-Werte (8 Bytes) vorgesehen.
Damit stosse ich jetzt aber die MODBUS-Grenze, das hier für einen Fliesskommawert nur ein DWORD (4 Bytes) vorgesehen sind.
Wie komme ich jetzt wieder an meine 10 dezimalen Nachkommastellen? Mit 4 Bytes für Mantisse und Exponent klappt das nämlich nicht.
Ich dachte schon an eine ASCII-Repräsentation, wie ja auf dem doofen bisherigen Terminal auch, die einfach angezeigt wird.
Was meint ihr?