ModbusChannel (FB) ¶ FUNCTION_BLOCK ModbusChannel Starts the execution of a single configured modbus channel. InOut: Scope Name Type Initial Comment Inout slave ModbusSlaveComPort Input xExecute BOOL Rising edge: Action start Falling edge: Resets outputs If a falling edge occurs before the function block has completed its action, the outputs operate in the usual manner and are only reset if either the action is completed or aborted (xAbort), or in the event of an error. In this case, the corresponding output values (xDone, xError, iError) are present at the outputs for exactly one cycle. xAbort BOOL If this input is TRUE, the action is stopped immediately and all outputs are reset to their initial values. iChannelIndex INT The Channel Index that shall be executed. An invalid index results in xError = TRUE (without any Modbus specific error code). Output xBusy BOOL Is TRUE as long as a request is in progress xDone BOOL Is TRUE if a request finished successfully xError BOOL Is TRUE if a request finished unsuccessfully xAborted BOOL Is TRUE after a request in progress has been aborted by “xAbort” ModbusError MB_ErrorCodes MB_ErrorCodes.UNDEFINED Specifies the current error as defined in the “MB_ErrorCodes” enumeration
ModbusComPort_Parameters (PARAMS) ¶ InOut: Scope Name Type Initial Constant MAX_MODBUS_CHANNELS UINT 100
ModbusRequest (FB) ¶ FUNCTION_BLOCK ModbusRequest InOut: Scope Name Type Initial Comment Input hComPort RTS_IEC_HANDLE xExecute BOOL Triggers sending a Modbus request on a rising edge following the PLCopen specification xAbort BOOL Aborts the current request if TRUE usiSlaveAddr USINT Slave address, range 1..247 uiFunctionCode UINT 3 Modbus function code uiReadOffset UINT 0 Address offset to start reading from, range 0..65535 uiReadLen UINT 1 Number of registers to read, range 1..125 uiWriteOffset UINT 0 Address offset to start reading from, range 0..65535 uiWriteLen UINT 1 Number of registers to write, range 1..121 tTimeout TIME Timeout for the request in ms pWriteBuf POINTER TO BYTE Pointer to a buffer holding the data to be send to the Slave pReadBuf POINTER TO BYTE Pointer to a buffer for writing the data received from a Slave transmission MB_Transmission transmission type (RTU or ASCII) Output xBusy BOOL Is TRUE as long as a request is in progress xDone BOOL Is TRUE if a request finished successfully xError BOOL Is TRUE if a request finished unsuccessfully xAborted BOOL Is TRUE after a request in progress has been aborted by “xAbort” byModbusErrorCode BYTE Specifies the current error as defined in the “MB_ErrorCodes” enumeration
ModbusRequest2 (FB) ¶ FUNCTION_BLOCK ModbusRequest2 InOut: Scope Name Type Initial Comment Input xExecute BOOL Rising edge: Action start Falling edge: Resets outputs If a falling edge occurs before the function block has completed its action, the outputs operate in the usual manner and are only reset if either the action is completed or aborted (xAbort), or in the event of an error. In this case, the corresponding output values (xDone, xError, iError) are present at the outputs for exactly one cycle. xAbort BOOL If this input is TRUE, the action is stopped immediately and all outputs are reset to their initial values. hComPort RTS_IEC_HANDLE usiSlaveAddr USINT Slave address, range 1..247 modbusCommand ModbusCommand The Modbus Command to be executed. Supports FCs for bit and word access tResponseTimeout TIME Timeout for the request in ms uiSendTimeout UINT 100 Timeout sending request pSendData POINTER TO BYTE Pointer to a buffer holding the data to be send to the Slave pRecvData POINTER TO BYTE Pointer to a buffer for writing the data received from a Slave transmission MB_Transmission transmission type (RTU or ASCII) Output xDone BOOL xBusy BOOL xError BOOL xAborted BOOL uiDataLength BYTE length of modbus-data received from slave (in bytes) byModbusError MB_ErrorCodes MB_ErrorCodes.UNDEFINED Specifies the current error as defined in the “MB_ErrorCodes” enumeration
ModbusSlaveComPort (FB) ¶ FUNCTION_BLOCK ModbusSlaveComPort EXTENDS IoDrvModbusBase.ModbusSerialSlaveBase This block is generated for each serial Modbus slave in the device tree.This function block represents the logical connection to an individual Modbus serial slave. The channels defined for this device are processed in the background. The inputs and outputs of this block provide status information to the user and allow the ability to confirm occurring errors (in order to continue processing). InOut: Scope Name Type Initial Comment Output byModbusError MB_ErrorCodes MB_ErrorCodes.UNDEFINED Specifies the current error as defined in the “MB_ErrorCodes” enumeration iChannelIndex INT -1 Properties: SlaveAddress Structure: SlaveAddress (Property)
ModbusSlaveComPort.SlaveAddress (PROP) ¶ PROPERTY SlaveAddress : USINT
ModbusSlaveComPort_Diag (FB) ¶ FUNCTION_BLOCK ModbusSlaveComPort_Diag EXTENDS ModbusSlaveComPort IMPLEMENTS DED.IDevice InOut: Scope Name Type Initial Comment Inherited from Output byModbusError MB_ErrorCodes MB_ErrorCodes.UNDEFINED Specifies the current error as defined in the “MB_ErrorCodes” enumeration ModbusSlaveComPort iChannelIndex INT -1 ModbusSlaveComPort Properties: ChildNodeCount Enable FirstChildNode IsRootNode NextSiblingNode ParentNode SiblingNodeCount SlaveAddress , inherited from ModbusSlaveComPort Methods: GetDeviceDiagnosisInfo GetDeviceErrorAsync GetDeviceInfo GetDeviceState GetSpecificDeviceErrorAsync GetSpecificDeviceState SetCommunicationState Structure: IDevice GetDeviceDiagnosisInfo (Method) GetDeviceErrorAsync (Method) GetDeviceInfo (Method) GetDeviceState (Method) GetSpecificDeviceErrorAsync (Method) GetSpecificDeviceState (Method) SetCommunicationState (Method) INode ChildNodeCount (Property) Enable (Property) FirstChildNode (Property) IsRootNode (Property) NextSiblingNode (Property) ParentNode (Property) SiblingNodeCount (Property)
IDevice ¶ GetDeviceDiagnosisInfo (Method) GetDeviceErrorAsync (Method) GetDeviceInfo (Method) GetDeviceState (Method) GetSpecificDeviceErrorAsync (Method) GetSpecificDeviceState (Method) SetCommunicationState (Method)
ModbusSlaveComPort_Diag.GetDeviceDiagnosisInfo (METH) ¶ METHOD GetDeviceDiagnosisInfo : DED.ERROR Returns a DiagnosisInfo if xDiagnosisInfoAvailable of GetDeviceState was true. InOut: Scope Name Type Comment Return GetDeviceDiagnosisInfo DED.ERROR Input pData CAA.PVOID Pointer to memory szSize CAA.SIZE Size of memory in bytes where pData is pointing to Output szCount CAA.SIZE Number of Bytes written to pData
ModbusSlaveComPort_Diag.GetDeviceErrorAsync (METH) ¶ METHOD GetDeviceErrorAsync : DED.PROC_STATE Returns the device error of the current node; you can also use functionblock GetDeviceError. InOut: Scope Name Type Comment Return GetDeviceErrorAsync DED.PROC_STATE Input eCmd DED.PROC_CMD eCommand Inout eriDeviceError DED.ERROR_INFO error struct Output eError DED.ERROR error code if method fails