Stack ¶ Function blocks working on IStack nodes. GetBusScan (FunctionBlock)
GetBusScan (FB) ¶ FUNCTION_BLOCK GetBusScan EXTENDS CBM.ETrigA Function block for triggering a bus scan. Note This feature may not be supported by all fieldbus drivers. eError will return ERROR.NOT_SUPPORTED if not supported. InOut: Scope Name Type Comment Input itfNode INode IStack node performing the bus scan. Output eError ERROR operation error code itfFirstDevice INode The first scanned device
Utility ¶ GetIDeviceInstByIoAddr (FunctionBlock)
GetIDeviceInstByIoAddr (FB) ¶ FUNCTION_BLOCK GetIDeviceInstByIoAddr EXTENDS CBM.ETrigA IMPLEMENTS ICmpEventCallback This function block returns the associated IDevice object for a specific I/O address. InOut: Scope Name Type Comment Input dwAddress DWORD Address of the I/O Channel (e.g. ADR(%QB0) ) dwBitOffset DWORD Bit Offset starting at 0; must be set for bitchannels Output itfDevice IDevice IDevice instance of the device, the I/O channel belongs to.
Functions ¶ CanReconfigure (Function) GetNextNode (Function) GetNodeDepth (Function) GetRoot (Function) INode_TO_IBus (Function) INode_TO_IDevice (Function) INode_TO_IDevice2 (Function) INode_TO_IStack (Function)
CanReconfigure (FUN) ¶ FUNCTION CanReconfigure : BOOL The function returns TRUE if itfNode can perform a Reconfigure-Action. Only nodes implementing IReconfigureProvider can be used as input of Reconfigure InOut: Scope Name Type Return CanReconfigure BOOL Input itfNode INode
GetNextNode (FUN) ¶ FUNCTION GetNextNode : INode The function implements a depth-first search. Nodes will be returned in top to bottom order of the device tree Example Following example code counts all nodes in the device tree. PROGRAM PLC_PRG VAR itfNode : DED.INode ; uiNodes : UINT ; END_VAR itfNode := DED.GetRoot (); REPEAT itfNode := DED.GetNextNode ( itfNode ); uiNodes := uiNodes + 1 ; UNTIL itfNode = 0 END_REPEAT InOut: Scope Name Type Comment Return GetNextNode INode Input itfCurrent INode node from which the search shall be started.
GetNodeDepth (FUN) ¶ FUNCTION GetNodeDepth : INT The function returns the depth of a node (i.e. number of parents between this node and the plc) InOut: Scope Name Type Return GetNodeDepth INT Input itfNode INode
GetRoot (FUN) ¶ FUNCTION GetRoot : INode The function returns the root device (= PLC device). InOut: Scope Name Type Comment Return GetRoot INode root node
INode_TO_IBus (FUN) ¶ FUNCTION INode_TO_IBus : IBus Converts an INode object to an IBus object. If itfNode is no IBus object function returns zero. InOut: Scope Name Type Comment Return INode_TO_IBus IBus corresponding IBus or zero if itfNode is no IBus object Input itfNode INode node to be converted