SPLat Logo

OBLCD: ModBus interaction

NOTICE: SPLat Controls has moved. We are now at 1/85 Brunel Rd, Seaford, 3198. map

OBLCD: ModBus interaction

Standard controllers with dialect 21 or later are able to have their OBLCD information transferred to other devices via ModBus. In dialect 21 this is possible only when the SPLat controller is the ModBus slave. It is however possible with all standard controllers, CC18, MS120, MMi202 and SL100. That means that even those controllers that cannot support an OnBoard LCD device (hardware) can use OBLCD instructions to display messages on an external, 3rd party, display - providing that display can be a ModBus RTU master.

The OBLCD logical device in a SPLat controller contains an area of memory of up to 80 bytes. The size depends on the OBLCD_Type. When an external ModBus master addresses a special range of memory within the SPLat, it accesses that buffer (See ModBus: Resource mapping for actual addresses). Hence the external device can extract the LCD buffer and (presumably) display it on its own display (for example a touch screen HMI).

The data found in the OBLCD buffer is the same data that has been sent there by the SPLat program. This has consequences for special characters such as degree signs. The regular LCD modules do not use ASCII codes for such characters. This is reflected in the OBLCD: Special characters. 3rd party HMIs are more likely to use standard ASCII codes, and will give strange results with OBLCD special character codes.

For a given OBLCD_Type, the displayed characters occupy consecutive locations in the buffer. For example, for a 2x16 display (type 2), they occupy the first 32 bytes of the buffer. For a 4x20 display (type 5) they use the whole buffer. The buffer contents outside the display type defined by OBLCD_Type is unpredictable.

If you are using a SPLat Controller with an LCD, say an MS120, it can get interesting, particularly if you set the OBLCD_Type to a different type. Say you have a 2x16 display but set OBLCD_Type to 5 (4x20). The actual onboard display will show the first 16 characters of the first two lines of the display buffer. The whole display buffer will be accessible by an external HMI.

Note that the OBLCD buffer also appears at Xwire address 249 as described in the Xwire OBLCD page