Author
|
Matrix TSL
|
Version
|
2.1
|
Category
|
Comms: System
|
Modbus Master (SCADA) component
Modbus component for talking to Modbus compatible hardware via RS232 or RS485.
Detailed description
No detailed description exists yet for this component
Examples
No additional examples
Downloadable macro reference
|
ReadHoldingRegister
|
This command requests the analogue holding register values starting from the start RegAddress and going through to RegAddress plus RegCount. Returns 0 for success, 1 for CRC fail and 255 for no reply.
|
- UINT
|
SlaveID
|
The ID of the MODBUS slave
|
- UINT
|
RegAddress
|
Address: 0=40001, 1=40002, ...
|
- UINT
|
RegCount
|
Number of consecutive registers to read, starting from RegAddress
|
- BYTE
|
Return
|
|
ReadCoil
|
This command requests the ON/OFF status of discrete coils starting from the start CoilAddress and going through to CoilAddress plus CoilCount. Returns 0 for success, 1 for CRC fail and 255 for no reply.
|
- UINT
|
SlaveID
|
The ID of the MODBUS slave
|
- UINT
|
CoilAddress
|
Coil Address: 0=Coil1, 1=Coil2, 2=Coil3, ...
|
- UINT
|
CoilCount
|
Number of consecutive coils to try and read
|
- BYTE
|
Return
|
|
SetCoil
|
This command writes the contents of a discrete coil at the location CoilAddress. Returns 0 for success, 1 for CRC fail and 255 for no reply.
|
- UINT
|
SlaveID
|
The ID of the MODBUS slave
|
- UINT
|
CoilAddress
|
Coil Address: 0=Coil1, 1=Coil2, 2=Coil3, ...
|
- BYTE
|
CoilState
|
0=Off, 1=On
|
- BYTE
|
Return
|
|
GetResponse
|
Collects as much incoming data as possible and stored into the response buffer. The number of bytes received will be stored into location 0 of the response buffer. Return value indicates validity of incoming CRC. 0 = OK, 1 = CRC fail, 255 = No Data
|
- BYTE
|
Return
|
|
SetCoils
|
This command writes the contents of a series of discrete coils at the location starting at CoilAddress through to CoilAddress + CoilCount. Returns 0 for success, 1 for CRC fail and 255 for no reply.
|
- UINT
|
SlaveID
|
The ID of the MODBUS slave
|
- UINT
|
CoilAddress
|
Coil Address: 0=Coil1, 1=Coil2, 2=Coil3, ...
|
- UINT
|
CoilCount
|
Number of consecutive coils to try and read
|
- BYTE
|
CoilData
|
An array of bytes each containing 8 1-bit coil values
|
- BYTE
|
Return
|
|
GetResponseByte
|
Reads a byte from the last received response. The Index parametes specifies which byte to read back.
|
- BYTE
|
Index
|
0=NumBytes, 1=SlaveAddress, 2=FunctionCode/ExceptionCode, 3=DataBytes, 4=data0, 5=data1, ..
|
- BYTE
|
Return
|
|
ChangeFrameType
|
Default frame type is the type set in the component properties.
|
- BYTE
|
Type
|
0 = Modbus RTU / 1 = Modbus ASCII
|
- VOID
|
Return
|
|
GetResponseInt
|
Reads a 16-bit value from the last received response. The Index parametes specifies the byte index of the value to read back.
|
- BYTE
|
Index
|
4=data0, 6=data1, 8=data2, ..
|
- UINT
|
Return
|
|
SetHoldingRegisters
|
This command writes the contents of several holding registers starting at the location RegAddress through to location RegAddress + RegCount . Returns 0 for success, 1 for CRC fail and 255 for no reply.
|
- UINT
|
SlaveID
|
The ID of the MODBUS slave
|
- UINT
|
RegAddress
|
Address: 0=40001, 1=40002, ...
|
- UINT
|
RegCount
|
Number of consecutive registers to write, starting from RegAddress
|
- UINT
|
RegValue
|
Array of values to send to the registers
|
- BYTE
|
Return
|
|
ReadAnalogInput
|
This command requests the analogue input register values starting from the start RegAddress and going through to RegAddress plus RegCount. Returns 0 for success, 1 for CRC fail and 255 for no reply.
|
- UINT
|
SlaveID
|
The ID of the MODBUS slave
|
- UINT
|
RegAddress
|
Input Address: 0=10001, 1=10002, 2=10003, ...
|
- UINT
|
RegCount
|
Number of consecutive inputs to read, starting from RegAddress
|
- BYTE
|
Return
|
|
SetHoldingRegister
|
This command writes the contents of a holding register at the location RegAddress. Returns 0 for success, 1 for CRC fail and 255 for no reply.
|
- UINT
|
SlaveID
|
The ID of the MODBUS slave
|
- UINT
|
RegAddress
|
Address: 0=40001, 1=40002, ...
|
- UINT
|
RegValue
|
Value to send to the selected register
|
- BYTE
|
Return
|
|
ReadDigitalInput
|
This command requests the ON/OFF status of discrete inputs starting from the start DataAddress and going through to DataAddress plus DataCount. Returns 0 for success, 1 for CRC fail and 255 for no reply.
|
- UINT
|
SlaveID
|
The ID of the MODBUS slave
|
- UINT
|
DataAddress
|
Input Address: 0=10001, 1=10002, 2=10003, ...
|
- UINT
|
DataCount
|
Number of consecutive inputs to read, starting from RegAddress
|
- BYTE
|
Return
|
|
Initialise
|
Starts up the UART to allow communications
|
- VOID
|
Return
|
|
ReadByteFromBuffer
|
Reads a byte of data from the local sector buffer. Return = Data byte read from the local sector buffer.
|
- UINT
|
Address
|
0 - 511 - Contains the position of the byte to be read
|
- BYTE
|
Return
|
|
ReadFileLength
|
Returns the number of bytes in the current sector that are used by the current open file. Return = 512 - Sector is filled with file data Return < 512 - Last sector of the file, Retval specifies how many bytes of data are remaining in the sector
|
[[File:]] -
|
Return
|
|
OpenFile
|
Searches for and opens a file for reading or writing from within the current directory on the disk. Returns 0 for success.
|
- STRING
|
Filename
|
8.3 filename of the file we are trying to open e.g. "file.txt"
|
- BYTE
|
Return
|
|
WriteFileSector
|
Overwrites the current sector on the memory card with the contents of the local sector buffer. See write_byte_to_buffer function. Return = 0 - File sector written successfully. Return > 0 - File sector write error
|
- BYTE
|
Return
|
|
SetFileIndex
|
Sets the current file index and used to switch between several open file streams. Default = 0.
|
- BYTE
|
File_Index
|
File index ranges from 0 to (Max Concurrent Files - 1)
|
- VOID
|
Return
|
|
AppendStringToFile
|
Adds the contents of the data string parameter to the end of the currently open file. Returns 0 for success.
|
- STRING
|
Data_String
|
Data to append to the end of the file
|
- BYTE
|
Return
|
|
ReadFileSize
|
Reads the entire size of the current file in bytes.
|
- ULONG
|
Return
|
|
SetTimeAndDate
|
Sets the current time and date. Time = (Hour << 11) + (Min << 5) + (Sec >> 1) Date = (YearFrom1980 << 9) + (Month << 5) + (Day) Additional details can be found here: http://www.maverick-os.dk/FileSystemFormats/FAT16_FileSystem.html#TimeFormat
|
- UINT
|
Time
|
Sets the current Time in FAT Time format hhhhhmmmmmmsssss - S=Secs/2
|
- UINT
|
Date
|
Sets the current Date in FAT Date format yyyyyyymmmmddddd - Y=Years since 1980
|
- VOID
|
Return
|
|
Initialise
|
Attempts to communicate with the SD card and if successful sets up the file system. Returns 0 for success.
|
- BYTE
|
Return
|
|
Initialise
|
Initialise the comms to the Arduino board ready for commands to be sent.
|
- VOID
|
Return
|
|
ReadAnalogInput
|
Reads a single digital input.
|
- BYTE
|
Channel
|
|
- UINT
|
Return
|
|
ReadDigitalInput
|
Reads a single digital input.
|
- BYTE
|
Channel
|
|
- BYTE
|
Return
|
|
PWMEnable
|
Allows pulse width modulated transistor outputs to be switched on or off. Bit 0 = Enable AB Bit 1 = A / Bit 2 = B Bit 3 = C / Bit 4 = D Bit 5 = Enable CD
|
- BYTE
|
EnableMask
|
Range 0-63 or 0b00000 to 0b111111
|
- VOID
|
Return
|
|
Initialise
|
|
- VOID
|
Return
|
|
LCDClear
|
Clears the MIAC display
|
- VOID
|
Return
|
|
LCDClear
|
Clears the LCD
|
- VOID
|
Return
|
Property reference
|
Properties
|
|
Frame Type
|
Switches between RTU and ASCII forms of Modbus
|
|
Receive Buffer Size
|
Maximum number of bytes the receive buffer can hold
|
|
Slave ID Bytes
|
Number of bytes used when passing a slave ID, usually 1 but sometimes 2
|
|
Silent Interval
|
Configures how much time to wait after each master modbus command before another command can be sent. A silent interval of 60ms minimum is required in order to guarentee successful reception of the next transmission. 0=No Delay 60 = 60mS - Default Range : 0 - 65535
|
|
UART Receive Timeout
|
Amount of time to wait before timing out when listening for a slave's response. Range: 0 - 255. 0 = Don't Wait 1 - 254 = X ms 255 = Wait Forever
|
|
Receive Timeout Count
|
Number of timeouts in a row to wait for until we decide the slave is not responding or finished responding to a message. Range: 0 - 255 0 = First Timeout Only 1 = First Timeout + 1 2 = First Timeout + 2
|
|
Label
|
A text label to appear on the Modbus panel object.
|
|
Console Data
|
Selects if the console data is automatically generated or not
|
|
Console Columns
|
Number of characters that can be displayed on a single line of the console.
|
|
Data Source
|
Simulation data source used to allow the component to connect to various remote devices Nothing - Simulation data is ignored COM port - Routes the communication data to and from a physical or virtual COM port Injector - Routes the communication data via a data injector component on the Panel.
|
|
COM Port
|
Lists all the current available COM port hardware on your PC.
|
|
Refresh Ports
|
|
|
Baud Rate
|
COM port data rate in bits per second
|
|
Connections
|
|
Simulations
|