		MIDI_AutomationDirect_IO.dll Supported ModBus Messages



* Function 5, Force Single Coil	Supported
	Force single coil (0x reference) to either on or off. A Force Data
	16 bit value of 0xff 0x00 requests coil on and 0x00 0x00 requests
	coil off.

		Field Name		Example (Hex)
		Slave Address		11
		Function			05
		Coil Address Hi		00
		Coil Address Lo		AC
		Force Data Hi		FF
		Force Data Lo		00
		LRC/CRC				--

* Function 15, Force Multiple Coils		Supported
	Forces each coil (0x reference) in a sequence of coils either ON or OFF
	from address given for "Quantity of Coils".

		Field Name			Example (Hex)
		Slave Address			11
		Function				0F
		Coil Address Hi			00
		Coil Address Lo			13
		Quantity of Coils Hi	00
		Quantity of Coils Lo	0A
		Byte Count				02
		Force Data Hi (27..20)	CD
		Force Data Lo (29..28)	01
		LRC/CRC					--

		Response
		Slave Address			11
		Function				0F
		Coil Address Hi			00
		Coil Address Lo			13
		Quantity of Coils Hi	00
		Quantity of Coils Lo	0A
		LRC/CRC					--

x Function 16, Preset Multiple Registers	Not quite Supported
	Forces values into a sequence of holding registers (4x references)
	as function 15 above.

?
	Complete Function List Per ModIcon Lists

  Function 1, Read Coil Status	Not Supported 1
	Read status of coils from starting address for number of points.

		Field Name		Example (Hex)
		Slave Address		11
		Function			01
		Start Address Hi	00
		Start Address Lo	13	(coil 14)
		Number of Points Hi	00
		Number of Points Lo	25
		LRC/CRC				--

		Response
			Data packed as one coil per bit with LSB = coil 0x13.
			FIeld padded with zero to a multiple of 8 bits.
			The BYTE Count field indicates the number of BYTEs returned.

		Field Name		Example (Hex)
		Slave Address		11
		Function			01
		BYTE Count			05
		Data (27..20)		CD	Note addressing order!
		Data (35..28)		6B
		Data (43..36)		B2
		Data (51..44)		0E
		Data (56..52)		1B
		LRC/CRC				--

  Function 2, Read Input Status	Not Supported 2
	Read input status of discrete inputs from starting address for
	number of points.

		Response as for function 1

  Function 3, Read Holding Registers	Not Supported 2
	Reads the binary contents of holding registers (4x references) in
	a slave starting at address for number of 16 bit registers.

		Response is high byte first.

  Function 4, Read Input Registers	Not Supported 2
	Reads binary contents input registers (3x references) in a slave
	starting at address for number of 16 bit registers.

		Response is high byte first.

* Function 5, Force Single Coil	Supported
	Force single coil (0x reference) to either on or off. A Force Data
	16 bit value of 0xff 0x00 requests coil on and 0x00 0x00 requests
	coil off.

		Field Name		Example (Hex)
		Slave Address		11
		Function			05
		Coil Address Hi		00
		Coil Address Lo		AC
		Force Data Hi		FF
		Force Data Lo		00
		LRC/CRC				--

  Function 6, Preset Single Register	Not supported 3
	Presets a value into a single holding rgister (4X reference).
	These are internal logic registers. EBC has none.

		Field Name		Example (Hex)
		Slave Address		11
		Function			06
		Coil Address Hi		00
		Coil Address Lo		01
		Force Data Hi		05
		Force Data Lo		3E
		LRC/CRC				--


  Function 7, Read Exception Status	Not Supported 4
	Reads the contents of the 8 Exception Status coils within the slave
	controller. Certain coils have predefined assignments on the various
	controllers. Yatta yatta

		Field Name		Exampe (Hex)
		Slave Address		11
		Function			07
		LRC/CRC				--

		Response
		Field Name		Example (Hex)
		Slave Address		11
		Function			07
		Coil Data			6D
		LRC/CRC				--

  Function 11, Fetch Comm Event Counter	Not Supported 4
	Returns a status word and an event count from the slave's communications
	event counter.

		Field Name		Example (Hex)
		Slave Address		11
		Function			0B
		LRC/CRC				--

		Response
		Field Name		Example (Hex)
		Slave Address		11
		Function			0B
		Status Hi			FF
		Status Lo			FF
		Event Count Hi		01
		Event Count Lo		08
		LRC/CRC				--

  Function 12, Fetch Comm Event Log	Not Supported 4
	Returns a status word, event count, and a field of event bytes. The Staus
	and event count fields are as function 11. The message count field shows
	the number of messages received since the last clear, power up or restart,
	The event bytes field contains 0..64 bytes of events. A byte count field
	defines the total length in these four fields.

		Field Name		Example (Hex)
		Slave Address		11
		Function			0C
		LRC/CRC				--

		Response
		Field Name		Example (Hex)
		Slave Address		11
		Function			0C
		Byte Count			08
		Status Hi			00
		Status Lo			00
		Event Count Hi		01
		Event Count Lo		08
		Message Count Hi	01
		Message Count Lo	21
		Event 0				20	Enter Listen Only Mode
		Event 1				00	Communications Restart
		LRC/CRC				--

		Fancy decode exists on the Event list... See spec

* Function 15, Force Multiple Coils		Supported
	Forces each coil (0x reference) in a sequence of coils either ON or OFF
	from address given for "Quantity of Coils".

		Field Name			Example (Hex)
		Slave Address			11
		Function				0F
		Coil Address Hi			00
		Coil Address Lo			13
		Quantity of Coils Hi	00
		Quantity of Coils Lo	0A
		Byte Count				02
		Force Data Hi (27..20)	CD
		Force Data Lo (29..28)	01
		LRC/CRC					--

		Response
		Slave Address			11
		Function				0F
		Coil Address Hi			00
		Coil Address Lo			13
		Quantity of Coils Hi	00
		Quantity of Coils Lo	0A
		LRC/CRC					--

* Function 16, Preset Multiple Registers	Supported
	Forces values into a sequence of holding registers (4x references)
	as function 15 above.

  Function 17, Report Slave ID	Not Supported 4
	Returns a brief description of the type of controller at slave
	address.

		Field Address	Example (Hex)
		Slave Address		11
		Function			11
		LRC/CRC				--

		Response
		Field Address	Example (Hex)
		Slave Address		11
		Function			11
		Byte Count			-- (Device specific)
		Slave ID			-- (Device specific)
		Run Indic Status	00	off
							ff	on
		Additional Data		-- (Device specific)
		LRC/CRC				--

  Function 21, Write General Reference	Not Supported 4
	Writes contents of registers in extended memory file (6x references.)
	Kinda complicated - see spec

  Function 23, Read / Write 4x Registers	Not Supported 4
	Performs a combination read/write starting at address for quantity
	of 16 bit registers. Separate read and write addresses and quantities.

  Function 24, Read FIFO Queue	Not Supported 5
	Reads contents of the FIFO queue of 4x registers....

