M&M FDT 1.2.1 Online Specification
 IFdtCommunication::SequenceBegin() method information


Interfaces and Methods   -   Schemas   -   FDT Specification   -   Quicklinks   -   Abbreviations

4.5.3.5 IFdtCommunication::SequenceBegin()


This method can be called in the states:          

HRESULT SequenceBegin (
[in] FdtXmlDocument fieldbusFrame,
[out, retval] VARIANT_BOOL* result
);


Description:
The communication component has to observe that the transaction communication calls of the block started with SequenceBegin() and closed by SequenceEnd() are finished during the period of time defined by the sequence time. The block supports asynchronous read/write and data exchange requests.

Parameters:
fieldbusFrameFieldbus-protocol-specific information describing the sequence. The structure is specified by a fieldbus specific schema e.g. like FDTHARTCommunicationSchema or FDTProfibusCommunicationSchema


Return Value:
resultTRUE Loading of sequences supported FALSE Function not supported


Behavior:
After a successful sequence start the last communication component or at least the hardware itself collects all sent transaction request. This can be a sequence containing several TransactionRequest() calls on one connection. The collection of pending requests is closed by IFdtCommunication::SequenceEnd(). The fieldbusFrame parameter of this method has to contain the element ‘sequence’ (see schemas). This element contains the following attributes: Attribute Description sequenceTime Period of time in [ms] for the whole sequence delayTime Minimum Delay time in [ms] between two consecuitive communication calls communicationReference Identifier for the communication link. In case of a sequence time > 0 the communication component has to check, if the execution time of the complete sequence is less or equal the sequence time. In case of a delay time > 0 the last communication component, which has collected the communication calls, has to wait the defined time after each command before it sends the next. The communication component decides according to the associated hardware whether it can support this function. The method returns FALSE if the last of the following communication components, possibly caused by the associated hardware, does not supported this functionality. The actual communication starts with the call to IFdtCommunication::SequenceStart(). For each TransactionRequest there must be a TransactionResponse. As soon as the Communication-DTM detects that the SequenceTime has expired it will send TransactionResponses for any pending Requests with a CommunicationError "sequenceTimeExpired".

Comments:
The default implementation is to hand down the function call through all communication components. Only the last communication component can decide whether it supports the functionality or not.




© by M&M Software GmbH, parts of this website taken from FDT Interface Specification Version 1.2.1, © by FDT Group, AISBL.
This website is published for support of M&M products as granted in license conditions, chapter 2.1.
Last updated 2015-02-05 15:17
Email: FDT Technical Support Line.