Home
        FDM - Cern
         Contents
1.        Write  Value   User time     ID DAT   RP DAT  Value and  User time   Producer time      Page 2 10 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Available Functions    The selected implementation consists in defining a new MPS variable  with the with _time_var attribute   Processing the variable shows which type it is       When the variable is read by the consumer s      The time difference between the reception time from the network and the time it is read by the user is  supplied with the contents of the variable     The contents comprises the value written by the producer followed by four bytes corresponding to the  production difference  The time difference is also expressed in microseconds     When the variable is produced on the network     The time difference between the moment it is updated by the producer in the database and the moment it is  produced on the network is added to the value of the variable in the four bytes intended for this purpose     The four bytes in question may already contain a time difference  in the case of bridges  for example    These time differences are expressed in microseconds     The refresh status is automatically calculated in the same way as for a conventional variable     Format of variable produced on the network    L_DATA   LG 7       STATUS    L_DATA must be a multiple of 2    The accuracy of the calculation of the two time differences corresponds to a value of 2 Tslot  time unit used  intern
2.       ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 101    Description of user interface primitives    1 68 fdm_change_ messaging acknowledge_type    SUMMARY     Function for modifying the type of messaging used in transmission mode  with or without acknowledgement      PROTOTYPE   unsigned short fdm_change messaging _acknowledge_ type    FDM MESSAGING REF  Ptr Messaging     enum _FDM MSG ACK TYPE         User Msg Ack Type   struct _FDM REF   Unsigned Long Remote Adr  j     DESCRIPTION     This function makes it possible to indicate  context by context  whether it is necessary to modify the type of  messaging  acknowledged or not  to be used for transmission     For a given context  if this function is not called  acknowledged messaging will be used if the destination address  is an individual address and non acknowledged messaging will be used if it is a group address     If this function is called for a context  each time a message is transmitted  the User Msg Ack Type  procedure will be called with the destination address as the input parameter  in order to ask which type of  messaging is to be used     INPUT PARAMETERS   Ptr Messaging  Pointer to the messaging context   User Msg Ack Type  User procedure that will be called by FIP DEVICE MANAGER for each  message transmitted on this context  to find out which type of messaging to  be used     Description of type  FDM_ MESSAGING REF    Inside FIP DEVICE MANAGER  not manipulated by the use
3.       FDM MSG USER ERROR        FDM DATA LINK ERROR                FDM MSG SEND OK No error indication    FDM MSG USER ERROR The error type is indicated in the _FDM_MSG_USER_ERROR_LIST  field    FDM DATA LINK ERROR The error type is indicated inthe _FIP_MSG_SND_REP field        enum FDM MSG USER ERROR LIST         _FDM_ MSG REPORT OK   0   _FDM_MSG_REPORT MSG NOT ALLOWED   _FDM_ MSG REPORT CHANNEL NOT ALLOWED   _FDM_MSG_ REPORT _ERR_LG MSG    _FDM MSG REPORT ERR _MSG_INFOS     _FDM_ MSG REPORT INTERNAL ERROR    Page 3 84 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Description of user interface primitives    FDM MSG REPORT OK No indication of an error of this type   FDM MSG REPORT MSG NOT ALLOWED Transmission has been requested during operation on  pier cee a ee a image 2              FDM MSG REPORT ERR LG MSG    FDM MSG REPORT ERR MSG INFOS FDM MSG_TO SEND Nr Of Blocks   0 or          FDM MSG REPORT CHANNEL NOT ALLOWED Channel on which transmission took place does not    exist   Message size error    0 or  gt  256     FDM MSG_TO SEND Ptr Blocks   NULL        FDM MSG REPORT INTERNAL ERROR Problem of access to component  User_Signal_ Warning    called to provide details                                   enum _FIP MSG SND REP    FIP NOACK BAD RP MSG   0x4   FIP ACK NO REC AFTER RETRY   0x2   FIP ACK NEG AFTER RETRY   0x5   FIP ACK NEG NO RETRY   Ox7   _FDM_TIME OUT   0x8      FIP NOACK BAD RP MSG Message transmission error if messaging not  ackn
4.      80    60          40    20                Start AE_LE  AE_LE with 10 variables    Free access  Conventional access    The test above has been performed on a CC117 board     Page 4 4 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Performance levels    1 5 Messaging                                           1800  Message Read  1600  1400  1200  1000  800  600    400      200  0  0 30 60 90 120 150 180 210 240  1200 Message Write  1000  800  600  400         m            m       200             m           0 p en ccc ccc cc scccccccrcccccscsssccssscssccesecssesoeseocsoole  0 30 60 90 120 150 180 210 240  Duration in mi ds  uration in microseconds 16 A CC117  Famy2  14 re  12  10   CC117  FdmV4_ Conventional access  8    6   CC117  FdmV4 Free access  4  2        a ae CC121  FdmV4 Conventional  0  NNNEEEENEEEE   CC139  FdmV4 Free  0 1 2 No  of bytes    ALS 50278 e en    FIP DEVICE MANAGER Software Version 4 User Reference Manual    Page 4 5    Performance levels    1 6 MPS variables       560 Variable Read    490    420    350    280    210    140    70             20 40 60    80 100 120       540  Variable Write    480  420  360  300  240  180    120      60 SS    Ss         el    Ls SENSANENEEEENEEEENENAENEENNNENEHENEC       0          0 20 40 60       Duration in microseconds             No  of bytes    Page 4 6    FIP DEVICE MANAGER Software Version 4 User Reference Manual    80 100 120    CC117  FdmV2 or FdmV4_ Conventional access    CC117 
5.      INPUT PARAMETERS   Ptr Network Identification  Pointer to a data structure of the FDM_REF type   Label  Internal macrocycle label   Nb Of Lists  Number of lists described   Nb Of Instructions  Number of instructions described   Ptr Lists  Pointer to a data structure of the PTR_LISTS type  described above   containing the sequences of identifiers to be circulated   Ptr instructions  Pointer to a data structure of the PTR_INSTRUCTIONS type   described above  containing the sequences of instructions to be  executed     Description of type  FDM_REF     Inside FIP DEVICE MANAGER  not manipulated by the user     Description of type  FDM BA REF     Inside FIP DEVICE MANAGER  not manipulated by the user     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 59    Description of user interface primitives    Definition of types  PTR_ LISTS et PTR_INSTRUCTIONS     typedef struct    unsigned short  LIST ELEMENT     PTR_LISTS    typedef struct    unsigned short ID   unsigned short Frame_Code     LIST_ELEMENT    typedef struct    unsigned short  unsigned long     PTR_INSTRUCTIONS    List Size     Ptr List Element   ID     Frame_ Code     Op_ Code     List Size    Ptr_ List Element     Op_Code     Paraml1     Size in bytes of the described list   Pointer to the list of identifiers     Value of the identifier concerned  Only the packing identifier  cannot be used  value   9080H      Used to indicate with which type of frame the identifier is to be  circula
6.     31    FDM_MSG_ IMAGE 1  The messaging context created can only be  used if the AE LEs are operating in Image 1    FDM MSG IMAGE 2  The messaging context created can only be  used if the AE LEs are operating in Image 2    FDM_MSG_ IMAGE 1 2  The messaging context created can be used  whether the AE LEs are operating in Image 1  or Image 2     Pointer to the user function which will be called by the FIP DEVICE  MANAGER to send the user the transmission acknowledgement or the time   out if necessary     Pointer retransmitted to the user for his private use   Pointer retransmitted to the user for his private use   Transmission channel number to be used     Pointer to the user function that will be called by FIP DEVICE MANAGER to  send the user a message received in this context     Number of message descriptors received  of the FDM_MSG RECEIVED type  specified below  which can be used to receive messages with the same  destination address as that specified below     Number of message blocks received  of the FDM MSG R DESC type  specified below  which can be used to receive messages with the same  destination address as that specified below     If in transmission mode  then it is the source address of the message  transmitted   If in reception mode  then it is the destination address of the message received     0    Significant byte Segment  of the LSAP   of the LSAP       If in reception mode then it is the source address of the message received   If in transmission mode  the
7.     Description of user interface primitives    1 24 fdm_mps_var_change_rqa    SUMMARY     Function for modifying the RQa attribute of a variable     PROTOTYPE   unsigned short fdm_mps var change RQa    FDM MPS VAR REF  Ptr MPS VAR     ENUM FDM_ FLAGS New_RQa       DESCRIPTION     This function makes it possible to modify the value of the RQa attribute associated with an MPS variable when it  has already been created but the AE LE to which it belongs has not yet started up     INPUT PARAMETERS    Ptr MPS VAR  Pointer to a data structure of the FDM_MPS VAR_REF type   This parameter enables the variable on which the primitive must act  to be  identified    New _RQa  New value of the RQa attribute of the variable identified by    Ptr MPS VAR  FLAG OFF or FLAG ON     Description of type FDM_ MPS VAR_REF     Inside FIP DEVICE MANAGER  not manipulated by the user     REPORT     This function produces a report as specified in Chapter 1 Subsection 4 2  of this document     Page 3 40 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Description of user interface primitives    1 25 fdm_mps_var_change_msga      SUMMARY     Function for modifying the MSGa attribute of a variable     PROTOTYPE   unsigned short fdm_mps_var_change_MSGa    FDM MPS VAR REF  Ptr MPS VAR     ENUM FDM FLAGS New_MSGa       DESCRIPTION     This function makes it possible to modify the value of the MSGa attribute associated with an MPS variable when  it has already been created  but the 
8.     The files fdm_os c and fdm_os h provide a set of macros for the operating systems pSOS and VxWorks  If you  use pSOS or VxWorks and if you want to change these macros or if you use another operating system then you  have to change or adapt these macros     OS _fdm_sm_create To create the semaphores  one call for each    OS _fdm_sm_delete To delete the semaphores  one call for each    OS _fdm_sm_p To take the semaphore needed to protect access to FULLFIP2   OS fdm_sm_v To free the semaphore needed to protect access to FULLFIP2   os _fdm_sm_p bd To take the semaphore needed to protect access to FIP DEVICE  MANAGER data base   os fdm_sm v bd To free the semaphore needed to protect access to FIP DEVICE  MANAGER data base   OS_fdm sm p t To take the semaphore needed to protect certain portions of FIP  DEVICE MANAGER code   OS_fdm sm v t To free the semaphore needed to protect certain portions of FIP  DEVICE MANAGER code   OS_fdm_sm p_vcom To take the semaphore needed to protect access to the variable  free  access    OS_fdm_sm v _vcom To free the semaphore needed to protect access to the variable  free  access     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page l 13    General introduction    In addition FIP DEVICE MANAGER calls a procedure which enables it to place the processor it is working on  into a state of total non preemption  It can do this for very short periods of time  a few microinstructions  to  protect itself from certain instance
9.    Pointer to a user function which will be called by the FIP DEVICE  MANAGER following a transmission request or on reception of  acknowledgement of transmission     User identification of his application     Description of type FDM_ PRESENT LIST    typedef struct      unsigned char Report   unsigned char Nop   unsigned char Busl_ P 32    unsigned char Bus2_ P 32        FDM_PRESENT LIST    Report   VAR_TRANSFERT   NO_VAR_TRANSFERT     Execution report of the list of equipment present variable read request  The list has been received  therefore the following two parameters are significant     The list of equipment present has not been transferred  therefore the following two    parameters are not significant     ALS 50278 e en    FIP DEVICE MANAGER Software Version 4 User Reference Manual    Page 3 11    Description of user interface primitives    Busl P     Bus2_P     Table containing a list of bits indicating that it is present on Channel 1 for each  subscriber  bit   1 if present           Busl P 0  bit 0  Subscriber 0  Busl P 0  bit 7 Subscriber 7  Bus1 P 1  bit 0  Subscriber 8  Bus1 P 1  bit 7  Subscriber 15  Bus1 P 2  bit 0 Subscriber 16  Busl P 31  bit 0  Subscriber 248  Busl P 31  bit 7  Subscriber 255       idem Bus1_P for Channel 2    Description of type FDM_ PRESENCE VAR     typedef struct        FDM PRESENCE VAR   Report   VAR_TRANSFERT     NO_VAR_TRANSFERT     Subscriber     Ident_Length     BA Status     unsigned char Report   unsigned char Subscriber   unsigned
10.    These two callback functions use an input parameter of the FDM_ERROR_CODE type described in the  fdm_initialize_network function  see Chapter 3   The error warning codes are described in Chapter 5     Page l 12 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    General introduction    4 3 Interface with the operating system    4 3 1 Management of mutual exclusion  This management system involves the mutual exclusion required to protect the following       access to the FULLFIP2 circuit  which is non reentrant  only one user command can be activated at any one  time for each FULLFIP2        some means of access to the internal FIP DEVICE MANAGER database      certain portions of the FIP DEVICE MANAGER code     access to the variables  in free access mode      This is managed with the help of four different semaphores  for each FIP DEVICE MANAGER instance  which  makes it possible to separate the means of access     Flags are used as it involves the appropriate software tools  which are the most frequently available when using a  real time kernel     However  they can be replaced by  i e  the corresponding macro can refer to  other mechanisms in order to  achieve this mutual exclusion  e g  masking unmasking tasks using the primitives which call the flags in  question      These semaphores  manipulated by the FIP DEVICE MANAGER primitives  are to be provided by the user via a  set of macros  which he must specify in accordance with his environment 
11.    This function makes it possible to request the transmission of a message on a messaging context which has  already been configured for this purpose     INPUT PARAMETERS   Ptr Messaging  Pointer to a data structure of the FDM_ MESSAGING _ REF type   Ptr Msg To Send  Pointer to a data structure of the FDM_MSG_ TO SEND type specified by the    primitive fdm_messaging fullduplex_create   and containing the  transmission parameters of the message  as well as the reference to the message  itself    Description of type FDM_ MESSAGING REF    Inside FIP DEVICE MANAGER  not manipulated by the user    Description of type  FDM_MSG TO SEND    See the primitive fdm_messaging fullduplex_create       REPORT     This function submits a report as specified by the primitive fdm_stop_ network        In the case of a 5 Mbits s network  the user message should be greater than  4 bytes     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 97    Description of user interface primitives    1 64 fdm_msg_send_fifo empty Q  SUMMARY     Activation of processing of message in transmission mode     PROTOTYPE     void fdm msg send fifo empty        FDM_REF  Ptr Network Identification     DESCRIPTION     This function enables the user to        activate the effective transmission of a message  the request for which has been sent by the  fdm_send_message   primitive        find out about received events regarding acknowledgement of messages  the transmission of which has bee
12.   Description of user interface primitives    1 53 fdm_read_report    SUMMARY     Read function of the subscriber report variable     PROTOTYPE     unsigned short fdm_read_report      FDM_REF  Ptr_ Network Identification   unsigned char Subscriber     DESCRIPTION     This function is for requesting the subscriber report SM_MPS variable read  including itself   This is carried out  by means of an aperiodic request regarding the variable in question     When FIP DEVICE MANAGER will receive the variable  it will call the User Report _Prog   function   This function is a user written function given in the configuration parameter  FDM_CONFIGURATION_ SOFT in  the fdm_Initialize Network    function      INPUT PARAMETERS     Ptr Network Identification  Pointer to a data structure of the FDM_REF type     Subscriber  Physical address on the network of the subscriber whose report  variable is to be read     Description of type FDM REF     Inside FIP DEVICE MANAGER  not manipulated by the user     REPORT     This function submits a report as specified by the primitive fdm_stop_ network        The BA program should contain an aperiodic window  instruction  SEND_APER      ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 77    Description of user interface primitives    1 54 fdm_read_ba_synchronize    SUMMARY     Read function of the BA sync variable     PROTOTYPE     unsigned short fdm_read_ba_synchronize FDM REF    Ptr Network Identification       DESCRIPT
13.   FIP DEVICE MANAGER Software Version 4 User Reference Manual    Page 4 9    Performance levels    Calculation of zone C capacity  zone C capacity   TVAR   TMSGE   TMSGR  TVAR   160    16   number of MPS variables  words    TMSGE   16    CONFIGURATION SOFT  CONFIGURATION SOFT  CONFIGURATION SOFT  CONFIGURATION SOFT  CONFIGURATION SOFT  CONFIGURATION SOFT  CONFIGURATION SOFT  CONFIGURATION SOFT  CONFIGURATION SOFT          TMSGR  1024 words    Calculation of zone D capacity    zone D capacity       Nr_Of Tx Buffer   Nr_Of Tx Buffer   Nr_Of Tx Buffer   Nr_Of Tx Buffer   Nr_Of Tx Buffer  Nr Of Tx Buffer   Nr_Of Tx Buffer   Nr_Of Tx Buffer   Nr_Of Tx Buffer          1000    8   CONFIGURATION SOFT NB_OF DIFFERENT ID PROG BA        3   total number of instructions     o y A UW FF WN EBE O       Note  for a SEND_LIST instruction  the actual number of instructions is equal to the number of IDs on the list     Calculation of zone E capacity    zone E capacity   TDATAV   TDATAME   TDATAMR    if  FDM_WITH FREE ACCES   YES then    TDATAV    128   number of variables    1216 words    otherwise  TDATAV    64   number of variables    704 words  endif    TDATAME _ 135    CONFIGURATION SO  CONFIGURATION SO  CONFIGURATION SO  CONFIGURATION SO  CONFIGURATION SO  CONFIGURATION SO  CONFIGURATION SO  CONFIGURATION SO  CONFIGURATION SO                      TDATAMR  _ 8775 words    FT Nr Of Tx Buffer  FT Nr Of Tx Buffer  FT Nr Of Tx Buffer  FT Nr Of Tx Buffer  FT Nr Of Tx Buffer  FT Nr Of Tx Buffer 
14.   Label  Label  name  of the program running    REPORT     This function submits a report as specified by the primitive fdm_stop_network       Page 3 70 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Description of user interface primitives    1 47 fdm_ba_commute_macrocycle    SUMMARY     Function for changing macrocycle     PROTOTYPE   unsigned short fdm_ba_commute_macrocycle      FDM_BA REF  Ptr_BA       DESCRIPTION     This function makes it possible to change the macrocycle to be run by the local Bus Arbitrator whether active or  idle     INPUT PARAMETERS     Ptr BA  Pointer to a data structure of the FDM_ BA REF type     Description of type FDM BA REF     Inside FIP DEVICE MANAGER  not manipulated by the user     REPORT     This function submits a report as specified by the primitive fdm_stop_ network        ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 71    Description of user interface primitives    1 48 fdm_ba_external_resync      PROTOTYPE   unsigned short fdm_ba_external_resync       FDM_REF  Ptr_ Network Identification       DESCRIPTION     This function is for sending the Bus Arbitrator functionality an external resynchronisation order     INPUT PARAMETERS     Ptr Network Identification  Pointer to a data structure of the FDM_REF type     Description of type FDM REF     Inside FIP DEVICE MANAGER  not manipulated by the user     REPORT     This function submits a report as specified by the primitiv
15.   ZN130 or FIELDUAL in ZN130 mode  intervention of FIP DEVICE MANAGER       FIELDUAL in new mode controlled by FULLFIP2 FIPCODE  no intervention of FIP DEVICE  MANAGER therefore no code run on the host micro to do this     The FIP DEVICE MANAGER is informed of the type of management selected by means of a compilation  option  see Chapter 6  Section 3       The database managed by FULLFIP2 FIPCODE can be accessed in two ways  both dependent on the hardware  architecture  See  5  for details         via the FULLFIP2 FIPCODE command user interface       via access to a memory shared between FULLFIP2 FIPCODE and the host microprocessor  The latter thus  has direct access to the database containing the objects it must manipulate  variables  messages  etc       The FIP DEVICE MANAGER is informed of the type of access selected by means of a compilation option  see  Chapter 6  Section 3       ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 1 3    General introduction    3  PRESENTATION OF THE FUNCTIONALITY    The FIP DEVICE MANAGER Release 4 software functionality includes the following tasks       Ensuring system operation    This functionality is dedicated to the management of components required to build WorldFIP connection  points  i e  FULLFIP2  medium redundancy circuits and private memories  It consists of the following basic  functions     configure and manage one or N FULLFIP2 components    carry out the self tests of the WorldFIP connection p
16.   see Chapter 4  Subsection 2 1      e periodic MPS   e aperiodic MPS   e periodic and aperiodic DLL messaging     e ST4  directory containing FIPCODE files that have to be used in your makefile if you needs the following  services  see Chapter 4  Subsection 2 1       e periodic MPS   e aperiodic MPS   e periodic and aperiodic DLL messaging     e Bus Arbitrator        Demos CC116  directory containing one example using an ALSTOM Technology target CC116 117 118    Under this sub directory you can find an example of the user_opt h file     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 6 1    Installation procedure    2  IMPLEMENTATION    To implement the software you have to       first write the user procedures likely to be used       fill in the macros for the interface with the operating system  fdm_os c file        customise the user_opt h file according to the requirements of the application in question      compile all xx c files using the required compiler and the appropriate compilation options        build the FIPMAN LIB library  this name is given for reference only  any other name can be chosen  using  the appropriate library manager        connect the created library to the rest of the software     If a 16 bit  80x86 microprocessor is used along with free access operation   the compilation model to be used is HUGE     Page 6 2 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Installation procedure    3  
17.   unsigned short fdm_mps_var_read_loc         unsigned short fdm_mps_var_read_universal          Page A 2    FIP DEVICE MANAGER Software Version 4 User Reference Manual    ALS 50278 e en       Compatibility                                                                FIP DEVICE MANAGER R2 FIP DEVICE MANAGER R4  Short GET _DATA   deleted  short fdm_mps var_time_read_loc   i  short fdm_mps var _ time write loc   i  fdm_generic_time_initialize    fdm_generic time read_loc    fdm_generic time write loc    Short CREATE MACRO CYCLE    FDM_BA REF  fdm_ba_load_macrocycle_fipconfb     Short DEL MACRO CYCLE    FDM_BA REF  fdm_ba_load_macrocycle manual     Short START_BA   unsigned short fdm_ba_ delete _macrocycle    Short STOP BA   unsigned short fdm_ba_start     Short FIP BA STATUS    unsigned short fdm_ba_stop    Short COMMUTE    unsigned short fdm_ba_status    void RESYNC   unsigned short fdm_ba_commute_macrocycle    short SET BA PARAMETERS    unsigned short fdm_ba_external_resync    short SET BA PRIORITY    unsigned short fdm_ba_set parameters     long SHOW_MACRO CYCLE    unsigned short fdm_ba_set_priority    deleted  int fdm_ba_loaded    short READ PRESENT    unsigned short fdm_read_present_list    short GET PRESENT    deleted  short READ PRESENCE    unsigned short fdm_read_presence    short GET PRESENCE    deleted  short READ IDENT    unsigned short fdm_read_ident     short GET _IDENT   deleted  short READ REPORT    unsigned short fdm_read_report     short GET REPORT   unsigned
18.   unsigned short fdm_msg ref buffer free      FDM MSG RECEIVED  Ptr Msg Received       DESCRIPTION     This function enables the FIP DEVICE MANAGER to free the memory zone that contains a received message  descriptor  once it is no longer in use     INPUT PARAMETERS     Ptr Msg Received  Pointer to a data structure of the FDM_MSG RECEIVED type   Description of type FDM_ MSG _ RECEIVED   See the primitive fdm_messaging fullduplex_create       REPORT     This function submits a report as specified by the primitive fdm_stop_ network        The freeing operations must be carried out in the following order   1 fdm_msg data_buffer free      2  fdm_msg ref buffer free      Page 3 100 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Description of user interface primitives    1 67 fdm_msg_data_buffer_free      PROTOTYPE     unsigned short fdm_msg data_buffer_ free    FDM MSG _R_DESC  Ptr_ Block      DESCRIPTION     This function enables the FIP DEVICE MANAGER to free the memory zone that contains a received message   once it is no longer in use     INPUT PARAMETERS     Ptr Block  Pointer to a data structure of the FDM_ MSG R_DESC type   Description of type FDM_ MSG R_ DESC   See the primitive fdm_messaging full duplex _create       REPORT     This function submits a report as specified by the primitive fdm_stop_ network        The freeing operations must be carried out in the following order   1  fdm_msg_ data _ buffer free      2  fdm_msg ref buffer free
19.  1 Diagram of Bus Arbitrator operating modes    Energisation       BA_STOPPED    fdm_ba_stop   fdm ba start    Start up impossible Time expired or  or a fdm_ba_stop    local stop or local stop    BA_STARTING    CD present or  3 packing frames OK    BA_IDLE                                           Removal Time expired  BA_MSG_WINDOW    due to priority  BA election   BA_WAITING_SYNC                      inst  inst   BA_SEND_MSG BA_WAIT_SYNC fdm_ba_external_resync      or queue empty  BA_SENDING  Time expired     inst   or queue empty BA_SEND_APER BA_SUSPEND Back to user    Time expired       BA_APER_WINDOW   BA WAIT TIME Time expired BA_PENDING             ost BA_WAITING_TIME             Status description     BA_STOPPED  The Bus Arbitrator is completely disconnected from the network and is standing by for a   re start up command     BA_STARTING  The user start up command is being processed  Three packing frames are transmitted on the  network if no activity has been detected beforehand     BA_IDLE  In this standby status  the Bus Arbitrator does not transmit on the network but monitors activity   ready to trigger its election procedure should activity on the network cease     BA_SENDING  The Bus Arbitrator is active and processes BA program instructions such as  BA_SEND_ID DAT  BA SEND _ID_ MSG and NEXT MACRO     BA_WAITING_TIME  Status in which the Bus Arbitrator transmits packing frames until the specified time has  elapsed  This makes it possible to synchronise execution o
20.  37  FDM MPS READ CNF       Unsigned Non_Significant 21   unsigned Promptness false roel  unsigned Signifiance status _ false  1   unsigned Refresment_false roel      FDM MPS READ STATUS     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 45    Description of user interface primitives    Report  Report of the FDM_MPS_ READ CNF type  the possible values of which  are   _FDM_MPS READ OK   correct variable read   _FDM_MPS_USER ERROR   incorrect read because    parameters are wrong    or produced variable read   incorrect read because one of the  statuses is false     _FDM_MPS STATUS FAULT    Non Significant  If   1 the data contained in the zone pointed to by Storage_Buffer  are not significant  nor are the following three bits    Promptness false  Prompt status  0   false  1   true   Refreshment _false  Refresh status  0   false  1   true    Significance status false  Significance status  0   false  1   true    Page 3 46 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Description of user interface primitives    1 30 fdm_mps_var_read_universal    SUMMARY     Read function for a universal variable    PROTOTYPE     unsigned short fdm_mps var _read_universal         FDM MPS VAR_REF  Ptr MPS VAR       DESCRIPTION     This function makes it possible to read an MPS variable whether it is local or remote  If the variable is remote   an aperiodic request is made     INPUT PARAMETERS     Ptr MPS VAR  Pointer to a data struct
21.  4 User Reference Manual Page 6 3    Installation procedure           if  FDM WITH 1960    YES     define SPLX VALUE FOR MASK ALL    endif    if  FDM WITH 68XXX    YES     define SPLX VALUE FOR MASK ALL    endif    endif    define FDM_WITH_SEMAPHORE    define FDM WITH LITTLE INDIAN    if  FDM WITH LITTLE INDIAN   YES     define FDM WITH WIN32    define FDM WITH SCOUNIX    define FDM WITH MICROSOFT    define FDM WITH BORLAND    define FDM WITH METAWARE    endif    define FDM WITH MICROTEC    define FDM WITH GNU    define FDM WITH SPECIAL USAGE  If FDM_WITH_FIPECODE 31 25 is set to YES  then FDM can drive a  FULLFIP2 component at 31 25 kbits s   If FDM_WITH_FIPECODE 1000 is set to YES  then FDM can drive a  FULLFIP2 component at 1 Mbit s and 2 5 Mbits s   If FDM_WITH_FIPECODE_ 5000 is set to YES  then FDM can drive a  FULLFIP2 component at 5 Mbits s   If you have an multi speed application  it is possible to set all the above  options to YES    Use    31    YES  YES    NO  NO  NO  NO  NO    YES  NO  NO    You should customise the FIP DEVICE MANAGER library by associating the value YES or NO to each  parameter constant described in the user_opt h file     The homogeneity of the choices made by the user is systematically checked during compilation     Page 6 4    FIP DEVICE MANAGER Software Version 4 User Reference Manual    ALS 50278 e en    Installation procedure    OPTIONS EFFECT  IF VALUE    YES    IS SELECTED   FDM WITH BA Use of bus arbitrator function   FDM_WITH_OPTIMIZED_
22.  AE_LE OPERATES WITH IMAGE 1 AE_LE OPERATES WITH IMAGE 2     or variable or  mage   consumed   Sync EVT USER NETWORK   USER   NETWORK    Writes variable and i   i Writes variable and  corresponding buffer is Nothing transmitted ae ir corresponding buffer is Variable value transmission  IMAGE 2 PRODUCED   MPS VAR effectively updated in Cr Pan Eng ms effectively updated in on network  FULLFIP DB SIPP FULLFIP DB  Reads Yere Nalo is last No variable value updating Reads variable  value read is Updating of variable value  IMAGE 2 CONSUMED   MPS VAR ath hee dhe operating even if corresponding     when corresponding RP_DAT  with previous image 2    last update by network    RP_DAT has been received has been received  Prompt status false  IMAGE 1 Writes variable and Writes variable and  d corresponding buffer is Variable value transmission corresponding buffer is Variable value transmission  an PRODUCED   MPS VAR effectively updated in on network effectively updated in on network  IMAGE2  FULLFIP DB FULLFIP DB  Writes variable and j k S Writes variable and Nothing transmitted even if  corresponding buffer is Variable value transmission corresponding buffer is corresponding ID is  AGES  PRODUCED     MES WAR effectively updated in on network effectively updated in sirian  FULLFIP DB FULLFIP DB g    IMAGE 1 Reads variable  value read is Updating of variable value Reads variable  value read is Updating of variable value  and CONSUMED   MPS VAR last update by network when corresponding RP
23.  Address field  of the context on which the message is  received  has been initialised at 1  Remote DLL Address unknown      Ref     Reference of the context on which the message was  received  Can be used to transmit a response if the context  in question is of the FDM MESSAGING FULLDUPLEX    type     Page 3 86 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Description of user interface primitives    Description of type  FDM MSG R_DESC    typedef struct _FDM MSG R_DESC     integer Nr_Of Bytes   unsigned char  Ptr Data   struct _FDM MSG R DESC  Next_Block   unsigned char Data_Buffer  256      FDM_MSG_R_DESC   Nr_Of Bytes  Number of significant bytes contained in the Data_Buffer  block   Ptr Data  Pointer to the Data_Buffer block containing the data   Next_Block  Pointer to the next block of the same type  is always  NULL_PTR in the case of FIP DEVICE MANAGER   Data_Buffer  Zone intended to hold the received messages   REPORT     This function produces either         a NULL_PTR pointer if it has not been able to run correctly  in which case the  User Signal Warning    function has been called at least once        ora pointer toan FDM_ MESSAGING REF type structure     Description of type FDM MESSAGING REF     Inside FIP DEVICE MANAGER  not manipulated by the user     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 87    Description of user interface primitives    1 58 fdm_messaging to_send_create      SUMMARY     
24.  BA Used for the calculation of election and start up time outs of the          startup of the BA  see Chapter 2  Subsection 1 4 3      FDM_ WITH MESSAGING Use of messaging services at WorldFIP data link layer level   FDM WITH FIPCODE 31 25 Use of specific microcode for 31 25 Kbits s     FDM_ WITH FIPCODE_ 1000 Use of specific microcode for 1 Mbyte s    FDM_ WITH FIPCODE 5000 Use of specific microcode for 5 Mbytes s    FDM_WITH_APER Use of aperiodic messaging services or MPS or SM_MPS even if  local report variable is read only           FDM_WITH_SM_MPS Use of SM_MPS functions  e g  remote subscriber report variable  read  other than production of its own variables  which is  obligatory     FDM_WITH_FIPIO Use of specific FIPIO variable  i e  to build a FIPIO manager to  manage FIPIO agent    FDM_ WITH DIAG Use of    on line    and    off line    self diagnosis     FDM_WITH_ CONTROLS Tests to check validity of all primitive input parameters have been  deleted  saves space in code      FDM_WITH_GT Use of entire time producer redundancy management procedure   Production or consumption of time   FDM WITH GT ONLY PRODUCED   Use of time in production mode only   DM_WITH_GT_ ONLY CONSUMED   Use of time in consumption mode only     FDM_ WITH SUSPEND BA ON DEF  In the case of a redundant medium  if no activity is detected on a  AULT medium then setting this parameter to            e NO means that the BA remains active     e YES means that the BA priority is set to the lowest value  In
25.  C   so that it can be used in a large number of  environments  It is also strictly independent of all utilization contexts and contains no assumptions made about  the run time model of the user application  The user can write the application in C or C       The possible implementation in the form of a driver in a given context is the responsibility of the user  who  integrates the FIP DEVICE MANAGER library into this context  However  the mechanisms proposed by this  library optimize this task thanks  for example  to an attempt to provide a standard interface with a real time  kernel     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page l 1    General introduction    FIP DEVICE MANAGER Release 4 can be used to run several FULLFIP2 systems         APPLICATION    Only if utilization of ZN130  or  FIELDDUAL in ZN130 mode    4Azm22z20na  lt 2m    FIP DEVICE MANAGER    REDUNDANCY  ARBITRATOR    Only if use of FIELDUAL  controlled by FIPCODE    Page 1 2 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    General introduction    2  OVERVIEW OF TARGET HARDWARE CONFIGURATIONS    The WorldFIP network connection points managed by FIP DEVICE MANAGER Release 4 can be built in  several ways as regards management of medium redundancy and microprocessor access to the database  i e   variables and messages  managed by FIPCODE FULLFIP2     The following components may be used to help in managing medium redundancy  see  3  for details    
26.  DATA        Pdu_Type   Pdu_Length     Network Delay     FBuffer     REPORT     Value of the    PDU type    field of the frame received     Value of the length field of the frame received  It is equal to the effective  length of the data  contained in Rx_Data   7     Sum of the variable transit delays  initial delay when user writes the  variable   production delay   consumption delay   delay for transfer onto  the network in microseconds     Array of byte containing the value of the variable     This function produces a report of the FDM MPS READ STATUS type as specified by the primitive  fdm_mps_ var _read_loc         Page 3 48    FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Description of user interface primitives    1 32 fdm_generic_time_initialize    SUMMARY     Initialisation and start up of the procedure for managing redundancy of the MPS time variable producers  ID  9802  and the management of that variable  production consumption      PROTOTYPE     FDM GENERIC TIME REFERENCE fdm_generic_ time_initialize      FDM_REF  Ptr_ Network Identification   Const FDM GENERIC TIME DEFINITION  User Definition     DESCRIPTION     Creation of the MPS time variable  the messaging LSAPs required for the time producer redundancy  management protocol to be operated and the possible start up of this protocol     INPUT PARAMETERS    Ptr Network Identification  Pointer to a data structure of the FDM_REF type    User Definition  Pointer to a data structure 
27.  FT Nr Of Tx Buffer  FT Nr Of Tx Buffer  FT Nr Of Tx Buffer              0      1      2      3      4      5      6      7      8   words       Page 4 10 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Chapter   Error codes    1  ERROR MESSAGES    Corresponds to contents of FDM_ERROR_CODE FDM DEFAULT which is of the enum Code Error type   F  error indicated by User_Signal_Fatal_Error  W  warning indicated by User Signal Warning   in 3rd column of table      MNEMONIC CONTEXT PROBABLE CAUSE             _NO_ERROR    0x100 _FIPCODE ERROR All primitives  0x201 _TIME OUT All primitives    0x202 _FIPCODE_RESPONSE_IMPOSSIBLE fdm_mps_var_read_loc  fdm_mps_var_write_loc  fdm_mps_var_write_ universal    0x203 _FIPCODE_FAIL fdm_initialize network  0x204 _INIT_TIMER_FAIL fdm_initialize network    0x205 _INIT_ABORTED fdm_initialize network    0x206 _RN_FAILED fdm_initialize network  fdm_ae_le create  fdm_mps_var_create  fdm_load_macrocycle_ fipconfb  fdm_load_macrocycle_ manual  fdm_messaging fullduplex_create  fdm_messaging_to_send_create  fdm_messaging_ to_rec_create    0x207 _SM_FAILED fdm_initialize network    0x208 _CIRCUIT_ACCES_ FAILED fdm_ba_load_macrocycle_ manual  fdm_load_macrocycle_ fipconfb  fdm_initialize network  fdm_messaging to_rec_create  fdm_messaging fullduplex_create  fdm_messaging to _send_ create    0x209 _ILLEGAL_POINTER fdm_msg_send_fifo_ empty  ozoa MEDIUM_EWD_FAILED    aa BA    W   See Fipcode_Report    See Fipcode_Report    FIPCODE
28.  FdmV4_ Free access    CC121  FdmV4 Conventional    CC139  FdmV4 Free    ALS 50278 e en    Performance levels    2  MEMORY CAPACITY REQUIRED    2 1 Code size and modularity    Modularity is implemented using compilation switches  described in Section 3  Chapter 6      The capacities given for reference are those of the libraries  i e of the object code  obtained for the INTEL 80x86   16 bits  target with a BORLAND string     Implemented e   Periodic MPS Periodic MPS Periodic MPS Periodic MPS    Services Periodic DLL Aperiodic MPS Aperiodic MPS    messag  ng Periodic and Periodic and    Aperiodic DLL Aperiodic DLL  messaging messaging    Bus Arbitrator    FIP DEVICE 34 KB 40 KB 51 KB Ee KB  MANAGER    FIPCODE ae 14KB 20 KB a KB    You have to compile   You have to compile   You have to compile   You have to compile  the FIPCODE files   the FIPCODE files   the FIPCODE files   the FIPCODE files  from ST1 directory   from ST2 directory   from ST3 directory   from ST4 directory    see Chapter 6   see Chapter 6   see Chapter 6   see Chapter 6        Two independent options can also be used      Autodiag  4 KB        Double medium  3 KB     This leads to the following maximum and minimum capacities             Therefore  for a station which has all the functions  the total capacity is  117 KB    by way of comparison  version 2  which has fewer functions  has a capacity of 100 KB     The minimum set up  MPS with common functions  has a capacity of 42 KB     ALS 50278 e en FIP DEVICE 
29.  Identification  Pointer to a data structure of the FDM_REF type     Description of type FDM REF     Inside FIP DEVICE MANAGER  not manipulated by the user     REPORT     This function submits a report as specified by the primitive fdm_stop_ network        The BA program should contain at least one TEST _P instruction     Page 3 74 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Description of user interface primitives    1 51 fdm_read_presence    SUMMARY     Read function of the presence variable of a subscriber     PROTOTYPE     unsigned short fdm_read_presence      FDM_REF  Ptr_ Network Identification   unsigned char Subscriber     DESCRIPTION     This function is for requesting the subscriber presence SM_MPS variable read  including itself   This is carried  out by means of an aperiodic request regarding the variable in question     When FIP DEVICE MANAGER will receive the variable  it will call the User_Presence Prog   function   This function is a user written function given in the configuration parameter  FDM_ CONFIGURATION SOFT in  the fdm_Initialize Network    function     INPUT PARAMETERS     Ptr Network Identification  Pointer to a data structure of the FDM_REF type     Subscriber  Physical address on the network of the subscriber whose presence  variable is to be read     Description of type FDM REF     Inside FIP DEVICE MANAGER  not manipulated by the user     REPORT     This function submits a report as specified by the primitive fd
30.  Image 2   Type  Communication  Type of variable  VAR_SYNCHRO  Synchronisation variable  VAR _ PRODUCED  Produced variable  VAR_CONSUMED  Consumed variable  VAR_CONS_PROD  Consumed variable on creation  but which may then    change type   Type Scope  only used for MPS variables  Initialised at 0 for a synchronisation event   0  Remote variable  Only    universal    reads or writes possible  The variable    must be specified in Image 1         Local variable  Local reads and writes can be carried out if the variable is  specified in Image   or Image 2  The    universal    reads and writes are  possible if the variable is specified in Image 1     Type With Time Var     0  The variable is not a variable with dynamic refresh status   Le The variable is a variable with dynamic refresh status  see Subsection  1 3 4 2  of Chapter 2    Type Refreshment   Used only for communication variables  Must be initialised at 0 for a    synchronisation event  Makes it possible to know if there is a refresh status to be  read for a consumed variable     0  no refresh status to be read    1  refresh status to be read    Note  can only be set to 1 if Type Communication   VAR_CONSUMED  at the VAR_CONS PROD     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 33    Description of user interface primitives    Type Indication  Preparation of a transmission indication  A SENT  or reception indication   A_RECEIVE  following a network transaction involving this variable  
31.  Manual    ALS 50278 e en    Description of user interface primitives    1 27 fdm_mps_var_write_universal    SUMMARY     Write function of a universal type variable     PROTOTYPE     unsigned short fdm_mps var write universal         FDM MPS VAR_REF  Ptr MPS VAR   USER_BUFFER_TO_ READ Data_Buffer     DESCRIPTION     This function makes it possible to write an MPS variable whether it is local or remote  If the variable is remote   an aperiodic request is made     INPUT PARAMETERS   Ptr MPS VAR  Pointer to a data structure of the FDM_MPS VAR_REF type     Data_Buffer  Pointer to a read only data structure of indeterminate type     Description of type FDM_MPS VAR REF     Inside FIP DEVICE MANAGER  not manipulated by the user   Description of type USER_BUFFER_TO READ     Typedef const void   USER _BUFFER_TO READ    REPORT     This function produces a report as specified in Chapter 1 Subsection 4 2  of this document     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 43    Description of user interface primitives    1 28 fdm_mps_var_time_write_loc    PROTOTYPE     unsigned short fdm_mps var time write loc         FDM_ MPS _VAR_REF  Ptr MPS VAR       unsigned char      User Get Value   void     const unsigned long   Delta  DESCRIPTION   INPUT PARAMETERS   Ptr MPS VAR  Pointer to a data structure of the FDM_ MPS VAR_REF type    User Get Value  User function that would be called by FIP DEVICE MANAGER to get the variable value  just before writing it i
32.  PTR_LISTS Listes BA          Ushort sizeof  L0    LIST _ELEMENT   LO    Ushort sizeof L1    LIST _ELEMENT  L1    Ushort  sizeof L2    LIST _ELEMENT  L2     3    Const PTR_INSTRUCTIONS Prg_BA A            SEND LIST  0   BA WAIT  5000   SEND LIST  1   SEND LIST  2   TEST P  0   SEND _ APER  200000   SEND MSG  200000   BA WAIT  200000   NEXT MACRO  0   hi   FDM BA REF   MON BA     FDM REF   MON RESEAU   MON BA   fdm_ba_load_macrocycle manual    Mon_Reseau   3   10   0    amp Listes BA    amp Prg BA A      ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 63    Description of user interface primitives    1 41 fdm_ba_delete_macrocycle    SUMMARY     Function for deleting a macrocycle     PROTOTYPE   unsigned short fdm_ba_ delete macrocycle      FDM BA REF  Ptr BA      DESCRIPTION     This function is for removing a macrocycle from the FULLFIP2 FIPCODE database regardless of how it was  loaded     INPUT PARAMETERS     Ptr BA  Pointer to a data structure of the FDM_BA REF type     Description of type FDM BA REF     Inside FIP DEVICE MANAGER  not manipulated by the user     REPORT     This function submits a report as specified by the primitive fdm_stop_ network        Page 3 64 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Description of user interface primitives    1 42 fdm_ba_set_priority Q   SUMMARY     Function for modifying the priority of a potential Bus Arbitrator     PROTOTYPE     unsigned short fdm_ba_set_ pri
33.  TIME REFERENCE type   Prio  Value of the priority to be set     0 is the value for the minimum priority  15 is the value for the maximum  priority     Description of type  FDM GENERIC TIME REFERENCE  Inside FIP DEVICE MANAGER  not  manipulated by the user     Description of type  GT_PRIORITY  Typedef struct  unsigned Val  4   GT PRIORITY     REPORT     This function produces a report as specified in Chapter 1 Subsection 4 2  of this document     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 55    Description of user interface primitives    1 37 fdm_generic_time_set_candidate_for_election    SUMMARY     This function enables the user to include or to exclude the subscriber in the procedure for managing redundancy  of the MPS time variable producers  ID 9802      PROTOTYPE   Unsigned short fdm_generic_time_set_ candidate for election     FDM_GENERIC_ TIME REFERENCE  Ptr Time Identification     enum FDM_ BOOLEAN Etat    DESCRIPTION   The subscriber is to be included in the procedure if Etat   FDM_TRUE  and to be excluded from the    procedure if Etat   FDM FALSE    To use this function  the compiling switch FDM_WITH_GT must be set to YES     INPUT PARAMETERS   Ptr Time Identification  Pointer to a data structure of the FDM_ GENERIC TIME REFERENCE type     Etat  FDM_ TRUE or FDM FALSE    Description of type FDM GENERIC TIME REFERENCE  Inside FIP DEVICE MANAGER  not  manipulated by the user     REPORT     This function produces a report as spec
34.  The length of this string is limited by the size of the identification variable and  must be within the  2  33  range     Pointer to a byte which contains the SMMPS conformity class  network  management  of the equipment  The conformity class will be equal to 10H  thus  a report variable will be created automatically in the two images  images 1  amp  2   of the communication database     Pointer to a byte table that contains the network management conformity class  based on SMS messaging  The value of the conformity class is encoded on an  unspecified number of bytes  between  1  115  limited by the maximum size of  the identification variable  The first element in the table  unsigned 8 bit integer   contains the size of this value  which can take a value from the  2  116  range     Pointer to a byte table which contains the class of conformity to MPS and  SubMMS standards  data link  and physical layer  The value of the conformity  class is encoded on an unspecified number of bytes  between  1  115  and  limited by the maximum size of the identification variable  The first element in  the table  unsigned 8 bit integer  contains the size of this value  which can be a  value from the  2  116  range     Pointer to a string of characters which contains additional supplier specific  information about the equipment  This string must end with the character     0      The length of this string is limited by the size of the identification variable and  must be within the  2  33  ran
35.  This primitive can either be called automatically by FIP DEVICE MANAGER   or be called by the user from a background task  for example  The activation type is selected when FIP DEVICE  MANAGER is created     1 2 Managing the medium  or media  of each configured network    There are 2 important elements that are used for management of medium redundancy       a threshold of medium defaults expressed in   of transactions without errors compared to transactions with  errors  this threshold is set by the Default_Medium_threshold field of the FDM_CONFIGURATION_SOFT  structure when you call the fdm_initialize_network function       a period of calling an internal procedure  called TEST MEDIUM in FDM R2   The fdm_ticks_counter  function handles the call of the TEST MEDIUM procedure  The period of calling the TEST MEDIUM  function is set by the Test Mediums Ticks field of the FDM_ CONFIGURATION _SOFT structure when you  call the fdm_initialize_network function   Subsection 4 6 of Chapter 1 describes how to activate the  fdm_ticks_counter function by the real time clock interrupt handler    Medium test operation   The aim is to       avoid using a medium on which too many faults have been detected       use a previously unusable medium from which all faults have been eliminated        indicate to the user the status of the media  i e  through which channel s  the communication is passing      The functional summary of redundancy management  executed by the TEST MEDIUM function  that i
36.  all the parameters of a    variable     Description of type FDM AE LE REF     Inside FIP DEVICE MANAGER  not manipulated by the user     Definition of type  FDM_XAE    typedef struct    struct      unsigned Reserved    unsigned Position    unsigned Communication    unsigned Scope    unsigned With Time Var    unsigned Refreshment    unsigned Indication    unsigned Priority    unsigned Rqa    PrPPRPP PRP PND    unsigned MSGa     Type   unsigned short ID   unsigned short Var_Length     unsigned long Refreshment _Period     unsigned long Promptness Period   int Rank     struct      Page 3 32 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Description of user interface primitives    void   User Signal Synchro  struct _FDM _REF  j     void   User Signal Asent  struct _FDM MPS VAR REF        struct _FDM MPS VAR_REF          void   User Signal Areceived                      void   User Signal Var_ Prod  struct _FDM MPS VAR _REF          unsigned short                  void   User Signal Var _Cons   struct _FDM MPS VAR _REF    FDM MPS READ STATUS  FDM MPS VAR DATA              Signals     FDM XAE   Type Reserved  Unused  Must be initialised at 0   Type Position  Position of the variable in relation to the different images of the AE LE   0  AE LE single image  1 AE LE double image  The variable is only specified in Image 1   2  AE LE double image  The variable is only specified in Image 2   3 AE LE double image  The variable is specified in Image 1 and   
37.  and which the user must write  The address of this procedure  is transmitted to FDM by the function fdm_initialize network  field User_Signal_Rec_Msg of  FDM _ CONFIGURATION _SOFT structure   The User_Signal_Rec_Msg function must activate a task that  implements the action below     3  The task activated by the User Signal _Rec_Msg function has to call the fdm_msg_rec_fifo_empty function   This call activates FIP DEVICE MANAGER to empty the queue and process the indication     4  FIP DEVICE MANAGER calls the callback procedure provided by the user to inform him of the event  The  address of this procedure is transmitted to FDM when a messaging context is created by calling the  fdm_messaging_fullduplex_create or fdm_messaging_to_rec_create function     e field User Msg Rec Proc of FDM MESSAGING _FULLDUPLEX structure in the case of a creation of a  messaging context by calling the fdm_messaging_fullduplex_create function     e field User Msg Rec_Proc of FDM MESSAGING_TO_REC structure in the case of a creation of a  messaging context by calling the fdm_messaging_to_rec_create function     Page 1 32 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    General introduction    Don t call the fdm_msg_rec_fifo_empty function inside the body of the  User Signal Rec Msg function  The execution context of the  fdm_msg_rec_fifo_empty function should be different from the execution  context of the User_Signal_Rec_Msg function     Example of implementation of the
38.  call of fdm_msg_rec_fifo_empty function     for example in the case of pSOS     FDM_REF   Network Identification     this handle is returned by the function        fdm_initialize_network      static unsigned long sm_msg rec     semaphore        create a task and a semaphore     t_create  TMRE   100  4096  0  T LOCAL   T NOFPU   amp TaskMsgRec      sm_create  SMRE   0  SM LOCAL  SM_PRIOR   amp sm msg rec         User_Signal Rec Msg callback function     static void User_Signal_Rec_Msg struct FDM_REF  Ref          sm_v sm_msg rec      free the semaphore  gt  wake up of the task TaskMsgRec          task that call fdm_msg_rec_fifo empty function      static void TaskMsgRec void           for          wait for the next event     sm_p sm_msg rec  SM_WAIT  0      take the semaphore     fdm msg rec_fifo_empty Network_ Identification            ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 1 33    General introduction    4 8 Operating model for the local MPS indications    QD GD    Periodic MPS indications  operational model       a     Before using this model you have to create a local MPS variable using the function fdm_mps_var_create  the  field Type Scope of the structure FDM_XAE should be set to 1   the variable is set as a local variable      The type of the variable  produced  consumed  etc   is set by the Type  Communication field of the FDM_XAE  structure     Don t forget to enable the indications by using the Type Jndication field of the FD
39.  char Ident _Length   struct    unsigned char BA Status   unsigned char BA Priority       BA_Information     Execution report of the presence variable read request     The presence variable has been received  therefore the following three  parameters are significant     No transfer of the variable  therefore the following two parameters are not  significant     Number of the subscriber  physical address  from which the presence variable  was requested     Length in bytes in the interval  0  256  of the identification variable of the  subscriber from which the identification variable was requested     Status of Bus Arbitrator function on the subscriber interrogated     000b  The subscriber is not a potential Bus  Arbitrator    001b  The subscriber is a potential Bus Arbitrator  but the Bus Arbitrator function has not been  started up    010b  The subscriber is a potential Bus Arbitrator     the Bus Arbitrator function has been started  up  but the subscriber is not elected active Bus  Arbitrator     011b  The subscriber is a potential Bus Arbitrator   the Bus Arbitrator function has been started  up  and the subscriber is elected active Bus  Arbitrator     Page 3 12 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    BA Priority     Description of user interface primitives    Level of priority in the range  0  15  of the subscriber interrogated  0 corresponds  to the maximum level of priority and 15 to the minimum  This level of priority is  taken int
40.  comprises hardware components   software components  development tools and miscellaneous accessories     As part of this FIPWARE  FIP DEVICE MANAGER is a function library designed to be borne by products  connected to the WorldFIP network to facilitate access     The purpose of this document is to describe all the features offered by this software  as well as the procedures for  implementing and using them  Therefore  it describes how to use FIP DEVICE MANAGER Version 4 in order  to        compile it for a specific target using the various compilers       use it to initialize a subscriber and configure the communication exchanges      use it to implement the bus arbitrator       use it to access the MPS variables and to send and receive messages     In no case whatsoever may this document be considered a manual for learning the concepts and principles  underlying the operation of a WorldFIP network     Users of this software must already be familiar with the basic mechanisms of a WorldFIP network     FIP DEVICE MANAGER software Version 4 is designed for developers who develop interfaces with their  communication application and with their run time environment     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 5    Preface    2  CONTENT OF THIS MANUAL    This user manual is broken down as follows     Chapter 1   General introduction  provides an overview of the software  It describes the supported features  and the procedures for using the sof
41.  connection to equipment present test BA program       After execution of the equipment present test BA program  the FULLFIP2 system  microcode of Bus  Arbitrator function  decodes a special BA instruction which it uses to tell FIP DEVICE MANAGER  via a    special event associated with an IT of the IRQ type  that it has to process the end of the equipment present  test        No further BA programs are executed  packing frames are transmitted by the system  to prevent the election  of another BA         The interrupt which signals the end of equipment present test to be processed is processed by the  fdm_process_its_fip   procedure as follows        updating of list of equipment present as a function of reply obtained   e restoration of channel to pre equipment present test status        return to user BA program     1 5 3 2 FIELDUAL in new mode    The list of equipment present is created entirely by FIPCODE  noting is done by FIP DEVICE MANAGER     Page 2 28 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Available Functions    1 6 Managing WorldFIP data link layer messages    1 6 1 Introduction    The structures of the data and mechanisms used for messaging management are specified so that a complete  stack of messages can be developed as easily as possible     The principle retained is based on the idea of messaging context  Depending on its type  a messaging context is  used either to transmit  to receive or to transmit and receive     Each c
42.  depends on the bit rate of your network and cannot be changed by the user     e elseif FDM WITH OPTIMIZED BA is set to YES then     e ifthe optimization level is OPTIMIZE 3 then ETOTPI   0  this value is fixed and cannot be changed  by the user     e else if the optimization level is STANDARD or OPTIMIZE_1 or OPTIMIZE 2 then   e ETOTPI   10000 if the bit rate is 1 Mbit s or 2 5 Mbits s or 5 Mbits s   e ETOTPI   50000 if the bit rate is 31 25 kbits s     You cannot use the optimization level OPTIMIZE 3 for a double medium  topology of your network  You can only use it for a single medium topology     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 2 19    Available Functions    1 5 Managing SM MPS network management variables    1 5 1 Format of network management variables    The network management services known as SM MPS come from an MPS specialisation  the exchange  principles are also based on the    buffer transfer    service of the FIP data link layer     SM_MPS offers several types of specialised variables characterised by      values with special syntax and semantics        reserved identifiers       asin the MPS  these variables are handled using special read and write primitives       there are limited possibilities for the MPS variables  for example there is no associated FIP status      Via its FIP DEVICE MANAGER software  ALSTOM Technology has chosen to support a variable sub   assembly proposed in the standard       presence varia
43.  dm get image    x  x          T T  eae Pa a  aes en ee  eae                         dm_mps_var_change_priority  dm_mps_var_change prod cons          dm_mps_var_ write loc          dm_mps_var_time_write_loc  dm_mps_var_time_read_loc  dm_mps_var_write_ universal  dm_mps_var_read_universal  dm_generic_time_initialize       dm_generic_time_read_loc  dm_generic_time_write_loc          fdm_generic_time_set_candidate_ for elec  ion    dm_generic_time_set_priority  dm_ generic time delete  dm_channel_create  dm_channel_ delete    dm_change_ channel_nr       x    x       xX  x       P  ae  aa as a f    x       C          O              Oo        a  k     Ls  fai     J  Oo          ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 1 15    General introduction    OS_sm_v OS_sm_vt OS_sm_v_bd QS_sm_v_vcom OS_enter_region  OS_sm_p OS_sm_p_t OS_sm_p_bd OS sm_p_vcom OS_leave_region    fdm_send_message x x  ee ey                fdm_msg_send_fifo_empty x x X X    4 3 2 Memory management    This management system affects the allocation and freeing of memory zones carried out dynamically by the FIP  DEVICE MANAGER     It is carried out by means of macros  which must be specified by the user in accordance with his environment     OS Allocate  Memory_Region  type  PA  dim       OS Free  Memory Region  PF     Where    Memory Region  Identification of the memory region used  Useful for working with  real time operUseless for DOS for example   type  Name of type of obje
44.  hat nthic e ietede ie EER E R TRE 3 19  1 8  fdm process  its fipQ ssccce  ce sceccecscies ais na ii e A REE RAR A E 3 21  IEE MES e ia aVR process    it e O EE LEE T ah EA IN TE Ne NR AI T T T 3 22  140  cfd process at iral   oer E T EE EE E ERE E E E E EAR 3 23  LIL fdiiswiteh image  a r E a E SE A eens Enia aE iaa 3 24  Tl2  gt  fda get images nnen a a aa iis end a i eed Me ae 3 25  1 13   lt fdm  change  test medium ticki  0 455 802 S aco n E gett ce ee eee E 3 26  T A  fdmvaeole cr  ate   ie  neces atk exten eet eee ave BG el a ee ea aay 3 27  115     fd ae le deleteQ  sce coeliac EE 3 28  1 16   fdm cae  le   startsein hee iie ee EEE AE creed atin eee tee ohare 3 29  1 17  fdimiv ae  l  get  state  nncs rinnoin e E R E E R EERE dee EEA EA 3 30  118  e 1e E VAE E 0 O AE EE E E E EE EE A he E A E I A 3 31  1 19  fdm mps var create Qs sa  noin ea E hea EEEE E EEE a5 EE T O E 3 32  1 20 fdm mps var chang  e 1d         eceecccceesescessceesceeecesecesecsaecssecaeecaeeeseceeeeeeeeeeeeseecsaecseecaeeeaeeeeeeneeeneeees 3 36  1 21 fdm_mps_ var  change periods           ccccccceescesscesscesscesecesecseecaeecseeeceeseeeeeecsecaecaecseecaeeeaeeeaeeneeeneeeas 3 37  1 22 fdm mps_var change priority          ccceccceescesscesscesecesecesecseecseeeseesescsseenseceeecsaecsaecseecaeeeaeeeaeeneeeneeeas 3 38  1 23     fdm mps var change  prod  Conse e E E aes ed TEER A 3 39  1 24   fdm mps    var change  tgal  eocen een ee Het nate eat gM can eee So 3 40  1 25      fdm  mps var change  m
45.  length in bytes of the  data to be written  This size is between  12  120  and must be even        for a consumed variable with dynamic refresh status  this is the length in bytes of  the data to be read  This size is between  12  120  and must be even  In this case   this size does not include the size of the time differential calculated by the  consumer  but only that of the time differential calculated by the producer     Rank  Rank of the variable in the AE LE  user identification of the variable    Refreshment Period  Refresh period if the produced variable is expressed in microseconds   Promptness Period  Promptness period if consumed variable is expressed in microseconds  User Signal Synchro  User procedure which will be called on reception of a synchronisation    variable if the EOC interrupt is configured in    level    mode     User Signal Asent  User procedure that will be called on production on the network of a  produced local variable if an event is associated with it     Page 3 34 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Description of user interface primitives    User Signal Areceive  User procedure that will be called on reception from the network of a  consumed local variable if an event is associated with it     User Signal Var Prod  User procedure which will be called         on production on the network following a universal type write of this    variable  if produced variable        on expiry of the time out associat
46.  msg rec fifo empty Activation of message reception function       AE_LE MPS  Comprehensive application variable units with their projection on the data link layer    fdm_ae_ le create   Creation of an AE LE  fdm_ae_le delete   Deletion of an AE _LE  fdm_ae_le start    Start up of an AE_LE  fdm_ae_le stop   Stopping of an AE LE  fdm_ae_le get_state   Obtaining the state of an AE LE    ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 1 9    General introduction    VARIABLES  MPS Variables     fdm_mps var_create      fdm_mps_ var_change_id      fdm_mps_ var_change_periods       fdm_mps var change priority       fdm_mps_ var_change_prod_cons      fdm_mps var _change_RQa      fdm_mps_ var_change_ MSGa       fdm    mps    var    write loc         fdm    mps    var    write universal          fdm    mps    var    time write loc         fdm    mps    var    read loc         fdm    mps    var    read universal          fdm    mps    var    time read loc         Creation of an AE LE   Modification of the identifying attribute of a variable  Modification of the period attributes of a variable  Modification of the priority attribute of a variable  Modification of the producer consumer attribute of a variable    Modification of the authorized MPS query attribute of a  variable       Modification of the authorized messaging query attribute of a  variable    Local variable write  Universal variable write    Local variable write with time    Local variable rea
47.  of the report variable therefore the following two parameters are  not significant     Number of the subscriber  physical address  from which the identification  variable has been requested     Number of transactions without errors per unit of time on Channel 1   Number of transactions without errors per unit of time on Channel 2     Number of frames received with errors per unit of time on Channel 1           Number of frames received with errors per unit of time on Channel 2     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 13    Description of user interface primitives    Activity Status  Bit 0  status of the quality of Channel 1 in transmission  0 Nok  1 Ok     mode    Bit 1  status of the quality of Channel 2 in transmission  O Nok  1 Ok     mode    Bit 2  status of the quality of Channel 1 in reception mode  0 Nok  1 Ok           Bit 3  status of the quality of Channel 2 in reception mode  0 Nok  1 Ok     Bit 4  status of the validation of Channel 1  0 invalidated   1 validated   Bit 5  status of the validation of Channel 2  0 invalidated   1 validated   Bit 6  status of traffic on Channel 1  O no traffic  1 traffic   Bit 7  status of traffic on channel 2  O no traffic  1  traffic   Bit 8  status of channel 1  O Nok  1 Ok   OK if  Bit 0 and Bit 2 and  Bit 4 and Bit 6  00  Bit 9  status of channel 2   O Nok  1 Ok     OK if  Bit 1 and Bit 3 and  Bit 5 and Bit 7  00    The unit of time used is the interval between two calls of the funct
48.  replies that a variable cannot be  produced on a produced variable write or that a  variable cannot be consumed on a consumed  variable read    FIPCODE cannot be loaded    fdm_ Initialize not called    W    E  E    All warnings during  fdm_initialize_ network execution are  upgraded    Problem to allocate or restore memory when a  divided memory manager is used       Problem to create system flag    P roblem with physical access to component    Use of memory resources  Hardware error    If the model of the transmission of messages  see  Chapter 1  Subsection 4 7 3  is not respected    peee p eeeeee    PP  e    ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 5 1    Error codes          VALUE MNEMONIC CONTEXT    PROBABLE CAUSE    25          0x401 _ALLOCATE_MEMORY_FAULT fdm_initialize network    fdm_ae_le create    Problem with memory allocation    fdm_mps_var_create  fdm_load_macrocycle_fipconfb  fdm_load_macrocycle_ manual  fdm_messaging fullduplex_create  fdm_messaging to _send_create  fdm_messaging to_rec_create   fam ae te start   fdm_read_ident   fdm_read_report    fdm_read_presence    _PRIVATE_FULLFIP_RAM_OVERFLOW fdm_initialize network    fdm_ae_le create    The configuration requested does not fit into the  private FULLFIP2 memory available   fdm_messaging fullduplex create  fdm_messaging to_send_create  fdm_messaging to_rec_create  fdm_ae_le start   fdm_read_ident   fdm_read_report    fdm_read_presence    _FRAME DESCRIPTOR_TABLE OVERFL
49.  short fdm_get_local_report     7 unsigned short fdm_read_ba_synchronize    short PRINT IDENT    deleted  void PRINT_MNGR_COPYRIGHT    deleted  void PRINT MNGR_ACK   deleted  deleted  short ACCEPT_SEGMENT    paa E  T E  short DELETE SEGMENT    Aes Bn  es t  short LSAP MODIFICATION    aed      FDM_MESSAGING_REF fdm messaging_fullduplex_create     FDM_MESSAGING_REF fdm messaging_to_rec_create  FDM_MESSAGING_REF fdm messaging_to_send_create  unsigned short fdm_messaging_delete  deleted  short UNLOCK MESSAGE    on sa  a t  short SET CHANNEL QUOTA    G F S  Shee ae E MODIFICATION    unsigned short fdm_channel_create    Bz unsigned short fdm_ channel_delete    Short ACCEPT_MESSAGE    deleted  Short CHANNEL ALLOC    deleted  Short CHANNEL FREE    deleted  Short SEND MESSAGE    unsigned short fdm_send_message         ALS 50278 e en    unsigned short fdm msg ref buffer free         unsigned short fdm_msg data_buffer free         unsigned short    fdm_change messaging acknowledge _ type          Table A 1     Compatibility between Version 2 and Version 4    FIP DEVICE MANAGER Software Version 4 User Reference Manual    Page A 3       Compatibility    List of modifications between Version 2 and Version 4     Possibility of managing several FULLFIP2s with the same software instance  The number of FULLFIP2s  which can be managed is not limited by the software itself     Deletion of useless  obsolete primitives     Error processing  every time an error can be detected in the code  give an 
50.  structure of the FDM_REF type     Description of type FDM REF     Inside FIP DEVICE MANAGER  not manipulated by the user     REPORT   This function submits a report of the following type   IRQ TO_PROCESS  if there is still at least one interrupt to process    NO_IRQ_ TO_PROCESS  if there are no more interrupts to process    ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 23    Description of user interface primitives    1 11 fdm_switch_image    SUMMARY     Function for switching operation from the AE LEs of one image  to the other     PROTOTYPE     unsigned short fdm_switch_image      FDM_REF  Ptr_ Network Identification   enum IMAGE NR Image_Nr     DESCRIPTION     This function is for switching operation from the AE LE of one image  to the other for all AE LEs of the FIP  DEVICE MANAGER instance involved     INPUT PARAMETERS     Ptr Network Identification  Pointer to a data structure of the FDM_REF type     Image Nr Identification of the image to which the switch must be made  IMAGE_1 or IMAGE 2    Description of type FDM REF     Inside FIP DEVICE MANAGER  not manipulated by the user     REPORT     This function submits a report as specified by the primitive fdm_stop_network       Page 3 24 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Description of user interface primitives    1 12 fdm_get_image      PROTOTYPE   enum IMAGE NR fdm_get_image      FDM REF  Ptr Network Identification       DESCRIPTION     This 
51.  the  case that this BA is the active BA then the BA is stopped and  then started  in this case it is possible that another BA will be  elected  see the Chapter 2  Subsection 1 4      FDM_WITH_BI MEDIUM Medium redundancy management  Mandatory if card is double    medium     FDM WITH REDUNDANCY MGNT  FIP DEVICE MANAGER  therefore host processor involved   manages medium redundancy  Otherwise  it is managed entirely by  FIPCODE     FDM_WITH_FIPCODE LINKED FIPCODE is link edited with FIP DEVICE MANAGER  as  opposed to FIPCODE that is contained in a disk file         ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 6 5    Installation procedure    OPTIONS EFFECT  IF VALUE    YES    IS SELECTED           FDM_WITH_PSOS For options specific to various operating system or execution  FDM_WITH_NT contexts   FDM_WITH_VXWORKS  FDM_WITH_NDIS  FDM_WITH_SCOUNIX  FDM_WITH_SOLARIS  FDM_WITH_RTX    FDM WITH DELETERN OVERRIDE   Restoration of resources after shutdown caused by pSOS   FDM WITH VXWORKS Use with real time monitor VxWORKS   FDM_WITH NDIS Use with ALSTOM TECHNOLOGY driver PC NDIS     FDM_WITH_ FREE ACCESS Use of free accesses function on system user interface  database is  in shared memory between the host processor and FULLFIP2 and  transactions with the system are reduced to a minimum     FDM_WITH_ CHAMP IO Can be used with INTEL type microprocessors when the  FULLFIP2 system is located in the I O field  as opposed to  conventional location in the me
52.  to stop the procedure for managing redundancy of the MPS time variable  producers  ID 9802  and the management of that variable  production consumption      PROTOTYPE   Unsigned short fdm_generic time delete     FDM_GENERIC_ TIME REFERENCE  Ptr_ Time Identification       DESCRIPTION     Deletion of the MPS time variable  the messaging LSAPs required for the time producer redundancy  management protocol to be operated  and stopping of this protocol     INPUT PARAMETERS     Ptr Time Identification  Pointer to a data structure of the FDM_ GENERIC TIME REFERENCE type     Description of type  FDM GENERIC TIME REFERENCE  Inside FIP DEVICE MANAGER  not  manipulated by the user     REPORT     This function produces a report as specified in Chapter 1 Subsection 4 2  of this document     Page 3 54 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Description of user interface primitives    1 36 fdm_generic_time_set_priority      SUMMARY     This function enables the user to define the subscriber priority in the time producer election mechanism     PROTOTYPE   Unsigned short fdm_generic_time_set_ priority   FDM_GENERIC TIME REFERENCE  Ptr_ Time Identification     GT_ PRIORITY prio       DESCRIPTION   After initialisation  and before calling this function the priority is set to 0  minimum      To use this function  the compiling switch FDM_WITH_GT must be set to YES     INPUT PARAMETERS   Ptr Time Identification  Pointer to a data structure of the FDM GENERIC
53.  true or Channel_x_Down_On_Transmission   true and the other  channel is valid  channel x is invalidated  there can be no more transmission or reception on this channel      Regardless of their status  two channels can never be invalidated at the same time      If Channel_x_Down_On_Reception   false and Channel_x_Down_On_Transmission   false  channel x is  revalidated     Special cases of active Bus Arbitrator    If  over three consecutive calls of the TEST_MEDIUM procedure  both channels have to be invalidated  this is  never done  see above   the Bus Arbitrator function ceases to operate      Filtering occurs so that the BA is not halted spuriously      If both channels have been declared valid over consecutive calls of the TEST MEDIUM procedure  the Bus  Arbitrator function resumes operation      The return to normal is filtered      In all other cases  there is no change     Page 2 4 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Available Functions    Indication to the user    Updating of bits concerning channel status in report variable  See Subsection    5 1 1 of this chapter     Some rules should be respected       the recommended values for the periodicity of calling TEST MEDIUM  are     e 100 ms  for a 5 Mbits s network    e 200 ms  for a 2 5 Mbits s network   e 500 ms  fora 1 Mbit s network    e 1 6 s  for a 31 25 kbits s network     e at least 2 TEST _P instructions should be executed by the Bus Arbitrator  between two successive cal
54.  user by the network  This validity is generated from a maximum consumption period set by the user  The  status is generated the moment the variable is consumed  read  on the network  If the value of the status is  true  the value of the variable has been updated within a period of time less than or equal to the specified  consumption period     REFRESHMENT  Refreshment relates to the validity of the value of a variable being made available to the  network by a producer user  This validity is generated from a maximum production period set by the user   The status is generated the moment the variable is produced on the network  If the value of the status is true   the value of the variable has been updated within a period of time less than or equal to the specified  production period     SIGNIFICANCE  This status is generated the moment the variable is produced on the network  If the value  of the status is true  the value of the variable has been written at least once     1 3 4 2 MPS variables with dynamic refreshment    The value of the variable supplied to the WorldFIP network is then handled by the network which delivers to the  consumer the length of time this value stays in the producer   s local buffer before it is produced  to which must be  added the time taken to transfer it to the network and the length of time it spent with the consumer before being  read     Basic diagram     Read  Value and  User time   Producer time  and   Network transfer time   Consumer time  
55.  variable is a configuration parameter of the variable in question   Similarly  in the case of a remote service  the priority of the request is also a configuration parameter of the  variable     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 2 9    Available Functions    Access to the MPS variables contained in the AE LE therefore requires the following services     Local write  Local write of a variable with immediate confirmation   Local read  Local read of a variable with immediate confirmation     Universal read  This service makes it possible to read the value of a variable without having to know which  type of read service to use  This service offers immediate confirmation that execution is possible and delayed  confirmation is given with the value of the variable     Universal write  This service makes it possible to write the value of a variable without having to know which  type of write service to use  This service offers immediate confirmation that execution is possible  with  delayed confirmation  As far as universal services are concerned  the anticipation factor for the same variable  is 1  All these services guarantee the integrity of the variable value obtained     When read  consumed MPS variables may be produced accompanied by a status indicating the transmission  validity and production validity of a variable  They are     PROMPTNESS  Promptness relates to the validity of the value of a variable being made available to the 
56. 8xxx mask   7  i1960 mask   31      A certain number of development contexts are taken into account as standard  by FIP DEVICE MANAGER  see options above   For all special cases not  covered by these options  the user must add its own options     If they prove to be of general interest and are sent to ALSTOM Technology   they could be included in the library as standard     FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 6 7    Installation procedure    Page 6 8 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Appendix   Compatibility    A    The following table gives the functional compatibility between Version 2 and 4 primitives     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page A 1    Compatibility       FIP DEVICE MANAGER R2    FIP DEVICE MANAGER R4             Short INIT_FIP_ DB PRG     Short INIT FIP DB FILE     Short INIT_FIP_DB PROM     Short INIT FIP _DB PRG TST     Short INIT FIP DB FILE TST     Short INIT FIP DB PROM TST     _FDM_REF  Initialize FULLFIP_ Network     void REMOVE FIP DB     void TEST _MEDIUM                  short VALID MEDIUM    void GET COUNTER     short FIP ONLINE TEST     void SMAP FIP EVT      short PROCESS MESSAGE     short PROCESS MSG_SENT    short PROCESS UPDATE       short ACK _ EVENT     short ACK _EOC    void IT_HTR_FIP      unsigned char  AE LE CREATE     unsigned char  AE LE DELETE     hort AE LE START     hort AE LE STOP     hort AE LE SWITCH     hort AE LE L
57. AE LE to which it belongs has not yet started up     INPUT PARAMETERS    Ptr MPS VAR  Pointer to a data structure of the FDM_MPS VAR_REF type   This parameter enables the variable on which the primitive must act  to be  identified    New_MSGa  New value of the MSGa attribute of the variable identified by    Ptr MPS VAR  FLAG OFF or FLAG ON     Description of type FDM_ MPS VAR_REF     Inside FIP DEVICE MANAGER  not manipulated by the user     REPORT     This function produces a report as specified in Chapter 1 Subsection 4 2  of this document     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 41    Description of user interface primitives    1 26 fdm_mps_var_write_loc    SUMMARY     Write function of a local MPS variable     PROTOTYPE     unsigned short fdm_mps_ var write loc         FDM MPS VAR_REF  Ptr MPS VAR   USER_BUFFER_TO_ READ Data_Buffer     DESCRIPTION     This function makes it possible to write a local MPS variable     INPUT PARAMETERS   Ptr MPS VAR  Pointer to a data structure of the FDM_MPS VAR_REF type     Data_Buffer  Pointer to a read only data structure of indeterminate type   Description of type FDM MPS VAR_REF   Inside FIP DEVICE MANAGER  not manipulated by the user     Description of type USER_BUFFER_ TO READ    typedef const void   USER BUFFER _TO READ    REPORT     This function produces a report as specified in Chapter 1 Subsection 4 2  of this document     Page 3 42 FIP DEVICE MANAGER Software Version 4 User Reference
58. APTER 2   AVAILABLE FUNCTIONS              I     DESCRIPTION OF FUNCTIONS a jescccsts cetetedeevcaatdededicceouts eta ate e hoke elece cou eee eee 2 1  1 1 Self testsich ieee rr ian Ra ean eee hea baa nena eh 2 1  1 1 1 AIMS sn hes tents Aik dn he iiie heel naa det naa eet ee eh auhnid Aisin cell det ae hla 2 1  1 1 2 Offline test functions    3 ves ek eee ae RA ee es a E ee ae 2 2  1 1 3 Online test HUNCHONS ier ie sa sec adeateee ye REEE AEPA CEKAO EEEIEE OTE e e SASOETA EEE 2 3  1 2 Managing the medium  or media  of each configured network         ssssssseeesesssrsrserereresssrsrserererreree 2 3  13    Managing AE LE and MPS Variables e E EE E ER R E  1 3 1 ET t EEEE AE ey ieee E S E E E T EE E  1 3 2 Management of AE LE operating modes  1 3 2 1 Diagram of AE LE operating modes                1 3 2 2 Associated functions            cccscceeseeseeseeseeseceeeeeeeaeeaeeaeeneearenee eee  1 3 2 3 Setting up and adjusting an AE LE and setting its parameters 00 00    tees eeeecseeseeeeseeeeseeseecseescseeecsesaeeseeeaeeetaees 2 7  1 3 3 Managing two  AE LE 1a ess  cveiie si c  stata dace dds Soeeleayatebiees a ends Gh neers ealesd Neila Races  1 3 4 Managing MPS variables                    1 3 4 1 MPS variables             c cesceeceeeeeseeeeteeneetenes  1 3 4 2 MPS variables with dynamic refreshment    1 3 4 3 TIME Variables  is sieccassvesccesscedccusevevecesvcescoess is  1 3 4 4 Synchronisation variables sienai naa a E E EAE EEE N ET E ER ERR  1 3 5 Managing time variable pr
59. COMMAND transmitted by the active Bus Arbitrator via the SUBMMS messaging service    Information_Report     e ceases to be an active producer if the contents of the COMMAND so require        an active non producing consumer subscriber consumes the MPS time variable  ID 9802         the active Bus Arbitrator     The messaging addresses retained are        0xA00000 for the address of the Bus Arbitrator group  STATUS reception   LSAP   A000  num segment   0         0xA00100 for the address of potential producers  COMMAND reception   LSAP   0xA001  num segment   0         OxFy0000 for the address of the COMMAND and STATUS transmitter   y   physical address of the transmitting subscriber   LSAP   OxFy00  num segment   0       Page 2 14    The active producer cannot consume the time variable  if it is read  its value  is meaningless     The user application is informed when a potential producer becomes an  active producer by calling a procedure it supplied to FIP DEVICE  MANAGER when the mechanism was started up and initialised     The user application on the potential producer side may  must  continue to  update the time variable so that the correct value is produced if it is elected     A potential producer which consumes the time variable indicates in STATUS  the refresh status value of the variable so that the active Bus Arbitrator can  decide to elect another active producer should there be a problem     The procedure for managing time producer redundancy is activated  periodi
60. COMPILATION PARAMETERS    The user can set compilation parameters as configuration options in the file user opt h  see example below      Contents of user_opt h file                                         define YES 1   define NO 0   define infini 0   define 5 millisecondes 5000   define FDM WITH FIPCODE 31 25 NO   define FDM WITH FIPCODE 1000 YES   define FDM WITH FIPCODE 5000 YES   define FDM WITH APER YES   if  FDM WITH APER   YES     define FDM WITH SM MPS YES   endif    define FDM WITH MESSAGING YES   define FDM WITH BA YES   define FDM WITH DIAG YES   if  FDM WITH BA    YES     define SUSPEND _DELAI _5 millisecondes 5000   define FDM WITH FIPIO YES   define FDM WITH OPTIMIZED BA YES   endif    define FDM WITH CONTROLS YES   define FDM WITH GT YES   define FDM WITH GT ONLY PRODUCED YES   define FDM WITH GT ONLY CONSUMED YES   define FDM WITH SUSPEND BA ON DEFAULT NO   define FDM WITH BI_MEDIUM YES   define FDM WITH REDUNDANCY MGNT YES   define FDM WITH FREE ACCESS YES   define FDM WITH CHAMP IO YES   define FDM WITH DTACK YES   define FDM WITH FIPCODE LINKED YES   define FDM WITH IRQ EOC ON SAME INTERRUPT YES   define FDM WITH 1960 YES   define FDM WITH 68XXX YES   define FDM WITH DSP YES   define FDM WITH X86 YES   define FDM WITH PSOS YES   define FDM WITH _NT NO   define FDM WITH VXWORKS NO   define FDM WITH NDIS NO   define FDM WITH SOLARIS NO   if  FDM WITH _PSOS    YES     define FDM WITH DELETE RN OVERRIDE YES    ALS 50278 e en FIP DEVICE MANAGER Software Version
61. DEVICE MANAGER   microcode executed by FULLFIP2  WorldFIP communication coprocessor  medium redundancy management system  kilobits per second   kilobytes   megabits per second   megahertz   Manufacturing Periodic aperiodic Services    System Management Manufacturing Periodic aperiodic Services    FIP DEVICE MANAGER Software Version 4 User Reference Manual Gloss 1    Glossary    Gloss 2 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    
62. E to be loaded into the  FULLFIP2 FIPCODE database  A shutdown request does the opposite        change of operating image s   you can switch from one image to another in all states except NON   EXISTENT     1 3 2 3 Setting up and adjusting an AE LE and setting its parameters  Setting up an AE LE consists in creating all the variables it has to contain  along with their associated attributes     Setting the parameters of an AE LE consists in modifying the attributes of the variables it contains when the  AE LE is in the CONFIGURATION state  it has not been started up   The attributes  which can be modified in  this case  are        authorised aperiodic MPS queries      authorised messaging queries       priority of aperiodic MPS queries      prompt period       refresh period      value of associated identifier     Adjustment of an AE LE consists in modifying the attributes of the variables it contains when the AE LE is in  the OPERATION state  it has been started up   The attributes  which can be modified in this case  are        authorised aperiodic MPS queries      authorised messaging queries       priority of aperiodic MPS queries      prompt period       refresh period       produced or consumed     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 2 7    Available Functions    1 3 3 Managing two AE LE images    FIP DEVICE MANAGER can manage two images for each AE LE in which the same variables can have  different attributes  which can be co
63. ELETED_MESSAGE    _IMAGE NOT _CONFIGURED fdm_messaging to rec create  fdm_messaging fullduplex_create    fdm_messaging to_send_create    zee  eee  paajp        2  2222  2 22    0xB01 _GEN_MESSAGING_USER_ACK EMIS fdm messaging_fullduplex_create    fdm_messaging_to_send_create    User procedure indicating transmission  acknowledgement not defined    fdm_messaging_to_rec_create       0xB02 _GEN_MESSAGING_USER_ACK_ RECEP fdm_messaging fullduplex_create    fdm_messaging to _send_ create    User procedure indicating reception not defined    fdm_messaging to_rec_create       Page 5 4 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Error codes          VALUE MNEMONIC CONTEXT E  PROBABLE CAUSE                            0xB03 _GEN_ MESSAGING BLOCK DESC ERROR fdm_send_message    0x804   MESSAGING CONTEXT_NOT_TO_SEND  oxi0s   MESSAGING CONTEXT NOT ALLOWED    0xB06 _GEN_MESSAGING_ALREADY_CONFIGURED  fdm_messaging_fullduplex_create  fdm_messaging_to_send_create  fdm_messaging to_rec_create    Attempt to transmit message with 1   0    Context used not of transmission type  Message transmission on non existent context    LSAP already exists    W  W  W    W   Reception request of bridge type on its own    segment     0xB07 _GEN_MESSAGING_ILLEGAL_SEGMENT fdm_messaging to rec create  ee   fdm_messaging fullduplex_create  a eee   Seen Seana  E of imerface register bit   E of interface register bit    E    SARR e    E        E of interface register bit    of interfa
64. ESCRIPTION     This function is for creating a context for using the FIP DEVICE MANAGER for each network  i e   FULLFIP2 FIPCODE  managed  It must be called as many times as there are networks to manage     The parameter supplied on output is the reference to be given  directly or indirectly  each time an operation is to  be carried out on the corresponding network     INPUT PARAMETERS     User Soft Definition  User variable of the FDM_CONFIGURATION_SOFT type containing the  FIP DEVICE MANAGER parameters relating to database configuration     User Hard Definition  User variable of the FDM_ CONFIGURATION HARD type containing the  FIP DEVICE MANAGER parameters relating to external interfaces     User Ident Param  User variable of the FDM_ IDENTIFICATION type containing the  identification variable parameters     Description of type FDM_CONFIGURATION HARD              typedef struct   Unsigned char K_PHYADR   Char MySegment     i    FDM WITH OPTIMIZED BA    YES   Unsigned char NumberOfThisBusArbitrator   Unsigned char GreatestNumberOfBusArbitrator    else  Unsigned char Reserved  2     endif   if  FDM WITH CHAMP IO    YES   Port type LOC _FIP 8    Port type LOC _FIPDRIVE 4      else    Page 3 4 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Unsigned char    Unsigned char     endif    Description of user interface primitives     volatile LOC FIP 8       volatile LOC_FIPDRIVE  4      Unsigned short volatile   FREE ACCES ADDRESS     void  void  FDM_ER
65. FDM REF  Ref       Page 3 7    Description of user interface primitives    Type     Mode     Page 3 8    16 bit word associated with the basic communication configuration  The logic  OR of the following flags must be carried out to initialize it  The flags are  defined in fdm h     MESSAGE_RECEPTION_AUTHORIZED   The message reception queue is automatically created with 64 message descriptors   TWO_BUS_MODE     Use of a double medium card with a medium redundancy management component ZN130  or FIELDUAL     TWO_IMAGE MODE    Configuration mode for the communication database  operation with two images  1 and 2    EOC_PULSE_MODE    Operating mode for the EOC interrupt of FULLFIP2  pulse mode  otherwise level mode    IMAGE _ 2 STARTUP    The active image on start up is Image 2   TEST_RAM_ STARTUP    Selection of complete RAM test on start up   EXTERNAL TXCK     Position the TXCK signal of the FULLFIP2 circuit on input  Standard use  on output   Therefore this flag not used      IRQ CONNECTED     If the FIP DEVICE MANAGER is compiled with the  gt FDM_ WITH_DIAG    option set to  YES  the use of this flag indicates that the FULLFIP2 IRQn interrupt signal test will be  carried out during the initialization function  self test off line      EOC_CONNECTED     If the FIP DEVICE MANAGER is compiled with the FDM_WITH_DIAG option set to  YES  the use of this flag indicates that the FULLFIP2 EOC interrupt signal test will be  carried out during the initialisation function  self test off lin
66. FIP DEVICE MANAGER  Software Version 4 User  Reference Manual    ALS 50278 e en    First issue  12 1996  This edition  01 2001    Meaning of terms that may be used in this  document   Notice to readers               Warning notices are used to emphasize that hazardous voltages   currents  temperatures  or other conditions that could cause personal  injury exist or may be associated with use of a particular equipment     In situations where inattention could cause either personal injury or  damage to equipment  a Warning notice is used     Caution    Caution notices are used where there is a risk of damage to equipment  for example     Note    Notes merely call attention to information that is especially significant to  understanding and operating the equipment     This document is based on information available at the time of its publication  While efforts have been made to be accurate  the information  contained herein does not purport to cover all details or variations in hardware or software  nor to provide for every possible contingency in  connection with installation  operation  or maintenance  Features may be described herein which are not present in all systems  ALSTOM  assumes no obligation of notice to holders of this document with respect to changes subsequently made     ALSTOM makes no representation or warranty  expressed  implied  or statutory with respect to  and assumes no responsibility for the  accuracy  completeness  sufficiency  or usefulness of the inform
67. ION     This function is for requesting the BA synchronisation SM_MPS variable read  This is carried out by means of  an aperiodic request regarding the variable in question  The active Bus Arbitrator produces this variable     When FIP DEVICE MANAGER will receive the variable  it will call the User Synchro BA Prog    function  This function is a _ user written function given in the configuration parameter   FDM_ CONFIGURATION SOFT in the fdm_Initialize Network    function      INPUT PARAMETERS     Ptr Network Identification  Pointer to a data structure of the FDM_REF type     Description of type FDM REF     Inside FIP DEVICE MANAGER not manipulated by the user     REPORT     This function produces a report as specified by the primitive fdm_stop network        The BA program should contain an aperiodic window  instruction  SEND_APER      Page 3 78 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Description of user interface primitives    1 55 fdm_get_local_report    SUMMARY     Local report variable read     PROTOTYPE   unsigned short fdm_get_local_ report    FDM REF   Ptr Network Identification     FDM REPORT VAR   Ptr Report Var       DESCRIPTION     This function enables the user to read the local report variable  i e  from itself   No traffic is generated on the  network  The value is obtained immediately     INPUT PARAMETERS     Ptr Network Identification  Pointer to a data structure of the FDM_REF type     Ptr Report Var  Pointer to a data 
68. MAGE 2 or  FDM MSG IMAGE 1 AND 2  Identifier  Identifier corresponds to a produced variable intended to    support the transmission channel  If this identifier does not exist  in any AE LE it is automatically created with the produced  attribute     Channel Nr  Periodic messaging channel number     REPORT     This function submits a report as specified by the primitive fdm_stop network       ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 95    Description of user interface primitives    1 62 fdm_channel_delete    SUMMARY     Deleting a periodic messaging channel     PROTOTYPE     unsigned short fdm_channel delete      FDM_REF  Ptr_ Network Identification   unsigned short Channel Nr     DESCRIPTION     This function is for deleting a periodic messaging channel     INPUT PARAMETERS     Ptr Network Identification  Pointer to a data structure of the FDM_REF type     Channel Nr  See the fdm_channel_ create    primitive     Description of type FDM_REF     Inside FIP DEVICE MANAGER  not manipulated by the user     REPORT     This function submits a report as specified by the primitive fdm_stop_ network        Page 3 96 FIP DEVICE MANAGER Software Version 4 User Reference Manual    ALS 50278 e en    Description of user interface primitives    1 63 fdm_send_message    SUMMARY     Request to transmit a message     PROTOTYPE   unsigned short fdm_send_ message    FDM MESSAGING REF  Ptr_ Messaging     FDM MSG _TO SEND  Ptr Msg To Send       DESCRIPTION  
69. MANAGER Software Version 4 User Reference Manual Page 4 7    Performance levels    2 2 Data size    The size of the data zone required for FIP DEVICE MANAGER operation  size on FULLFIP host  microprocessor  can be broken down as follows     stack size  Procedure fdm_initialize network    requires the largest stack size     approximately 1 KB     heap size   in KB   2   2 4 for electing time producer     0 1   number of MPS variables    0 1   number of simultaneous active requests for SM_MPS    0 06   number of messaging contexts      0 036   number of received message descriptors     0 268   number of received message blocks      0 012   number of macrocycles    The capacities given are those required by FIP DEVICE MANAGER and which it allocates to itself  They do not  include user capacities  buffer containing transmitted messages      All dynamic memory allocations made by FIP DEVICE MANAGER are allocated on initialisation or by the  object creation primitives     2 3 Memory capacity for FULLFIP2    This is the capacity of the FIPCODE database  depending on the set up required     The FIPCODE database comprises 5 separate zones     Zone A  microcode   specific data   Zone B  frame descriptors   Zone C  variable descriptors   queue descriptors for messaging  Zone D  BA program and associated queues   Zone E  message and variable data    Zone capacity constraints    Zone A capacity  lt    24 k words   Zone B capacity  lt    64 k words  192 k words in the case of double image 
70. MPS          task that call fdm_mps_ fifo empty function      static void TaskMPS void        for          wait the next event     sm_p sm_mps  SM_WAIT  0      take the semaphore     fdm_mps_fifo_empty Network_ Identification            Page 1 28 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    General introduction    4 7 3 Operational model for the transmission of messages    CD      Message transmission    operational model       Before using this model you have to create a messaging context by calling the fdm_messaging_fullduplex_create  or fdm_messaging_to_send_create function  There are 8 channels for the periodic messages  Channel 1 to 8  and  1 channel for the aperiodic messages  Channel 0      After the creation of a messaging context  you can use the following model each time when you want to send a    message     You don t have to create a new messaging context each time you want to send  a message  This messaging context can be created once for the entire life of  your application  At the end  when you no longer need to send messages on  this messaging context  you can delete it by calling fdm_messaging_delete     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 1 29    General introduction    The operational model is the following   1  Allocate a buffer to store the message to transmit     The user application request is stored in a queue  there is a queue for each channel   the request is    fdm_send_mes
71. M_XAE structure     In the case that you configure the EOC interrupt in pulse mode  see Subsection  4 4   then connect your interrupt  vector corresponding to the EOC interrupt on a  User Interrupt Handler   your interrupt handler      EOC mode is set by the Type field of the FDM_CONFIGURATION_SOFT  structure when you call the fdm_initialize_network function     Page 1 34 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    General introduction    The operational model is the following     1  The indication is received by the FIP DEVICE MANAGER from FIPCODE  If the indication is     transmission of a produced variable  then action 2 is performed   reception of a consumed variable  then action 2 is performed     reception of a synchronisation variable and the EOC interrupt has been configured in level mode  then  action 2 is performed     reception of a synchronisation variable and the EOC interrupt has been configured in pulse mode  then  action 3 is performed     2  FIP DEVICE MANAGER calls the associated procedure provided by the user to inform him of the  indication  The address of this procedure  which is transmitted to FDM when the MPS variable is created by  the function fdm_mps_var_create     is field User_Signal_Asent of FDM_XAE structure in case of reception by FDM of an indication on the  transmission of a produced variable  you can  for example  in the body of the User_Signal_Asent  procedure  call the function fdm_mps_var write_loc to writ
72. Must be set to  0 if Type Communication   VAR_ SYNCHRO    O  no indication requested  1  indication requested  Type Priority  Level of priority of MPS aperiodic requests that can be addressed to the Bus Arbitrator    using the identifier associated with that variable  Must be at zero if  Type Communication   VAR_PRODUCED or if Type  With Time _Var 1    0  Non urgent  dz Urgent  Type RQa  Authorisation to carry out MPS aperiodic requests using the identifier associated with    that variable  Must be at 0 if Type Communication   VAR_PRODUCED or if  Type With Time Var  1    0  MPS aperiodic requests not authorised  1  MPS aperiodic requests authorised    Type MSGa  Authorisation to carry out messaging aperiodic requests using the identifier associated  with that variable  Must be at 0 if Type Communication   VAR PRODUCED  or if Type  With Time _Var 1    0  not authorised      Authorised    ID  Value of the identifier associated with the variable  This value belongs to one of the  following value ranges    0000H y OFFFH    3000H a 8FFFH    9800H os 9FFFH    B000H ay FFFFH   Var_Length        for a single MPS variable  this is the length  in bytes  of the data for the user to read  or write  This length is between  1  125  if the refresh status is requested   1  126  if  it is not        In the case of 5 Mbits s the length should be greater than 6 bytes      must be initialised at 0 for a synchronisation event        for a produced variable with dynamic refresh status  this is the
73. OAD     nsigned short   E LE GET STATE      hort GET IMAGE      hort AE LE DNLOAD     hort AE LE MODIFICATION                HNN PE KH DH DM         Short WRITE _LOC    Short WRITE UNIVERSAL     Short READ LOC    Short READ UNIVERSAL          deleted  deleted  deleted  deleted  deleted  deleted    FDM_REF  fdm_initialize network     unsigned short fdm_stop_ network     void fdm_initialize      deleted   unsigned short fdm_valid_medium    unsigned short fdm_online test     unsigned short fdm_process its fip    unsigned short fdm_process it _eoc    unsigned short fdm_process it _irq    const FDM_ VERSION   fdm_get_version    fdm_msg rec fifo _empty     fdm_msg send fifo empty         fdm_mps fifo _empty    fdm_smmps_fifo_empty     deleted   deleted   void fdm_ticks_ counter     fdm_change test medium ticks          FDM_ AE LE REF  fdm_ae_le create    unsigned short fdm_ae_le delete    unsigned short fdm_ae_le start     unsigned short fdm_ae_le stop    unsigned short fdm_switch_image    FDM_ MPS VAR_REF  fdm_mps_var_create    int fdm_ae_le get_state     int fdm_get_image     deleted   deleted   unsigned short fdm_mps var change _id         unsigned short fdm_mps_ var change periods          unsigned short fdm_mps var_change priority          unsigned short fdm_mps var change prod_cons         unsigned short fdm_mps var change RQa         unsigned short fdm_mps var_change MSGa         unsigned short fdm_mps var write _loc         unsigned short fdm_mps var write universal        
74. OW fdm_initialize network Parameter  FDM_CONFIGURATION_SOFT  NB_OF_ USER    fdm_messaging fullduplex create  _VARIABLE DESCRIPTOR TABLE OVERFLOW    ging_ P    _MPS_ VARIABLE is too small    fdm_messaging to _send_create  VARIABLE TABLE OVERFLOW i oe    z a fdm messaging_to_rec_create  fdm_ae_le_start  fdm_read_ident  fdm_read_report    fdm_read_presence    fdm_create_channel    0x406   _VARIABLE_ALREADY_EXIST    Variable has already been defined  Contents of FDM_IDENTIFICATION incorrect  Contents of FDOM_IDENTIFICATION incorrect    FIP DEVICE MANAGER self test    0x408   ILLEGAL IDENTIFICATION_LENGTH    0x409 _INTEGRITY_DATA_BASE FAULT fdm_initialize network  fdm_messaging fullduplex_create  fdm_messaging to _send_ create  fdm_messaging to_rec_create  fdm_ae_le start  fdm_read_ident  fdm_read_report  fdm_read_presence    txa0a   _SYNCHRO_VAR_ALREADY_EXIST  osos   INDICATION PROG_MISSING    0x40C _CONFLICT_CONFIGURATION fdm_initialize network  fdm_ae_le start    ie pee eee    Sync variable must be unique  User_Signal_Asent or User_Signal_Areceive absent    FIPIO  problem between VCOM and LSAP    Variable number declared for AE LE is either  lt 1 or   gt  max     Ww       Page 5 2 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Error codes                                  VALUE MNEMONIC CONTEXT E  PROBABLE CAUSE  WwW  0x502 _GEN_AE_ LE ILLEGAL_STATE fdm_mps_var_ create W   AE LE is not ina state where primitive execution is  fdm_ae_le start possibl
75. PROTOTYPE     FDM MESSAGING REF   fdm_messaging to_send_ create      FDM_REF  Ptr_ Network Identification   FDM MESSAGING TO SEND  Messaging To Send     DESCRIPTION     This function is for creating a messaging context that can be used in transmission mode     INPUT PARAMETERS     Ptr Network Identification  Pointer to a data structure of the FDM_REF type     Messaging To Send  Pointer to a data structure of the  FDM MESSAGING TO SEND type     Description of type FDM_ REF     Inside FIP DEVICE MANAGER  not manipulated by the user     Description of type FDM_ MESSAGING TO SEND     typedef struct  enum _FDM MSG IMAGE Position   struct    void   User Msg Ack   FDM_ MESSAGING REF   FDM MSG TO _SEND      void  User Qid   void  User Ctxt   unsigned short Channel Nr     sending   unsigned long Local DLL Address   unsigned long Remote DLL Address     FDM MESSAGING TO SEND     Position  _FDM_MSG_IMAGE_1  The messaging context created can only be used if the AE LEs are  operating in Image 1   _FDM_MSG IMAGE 2  The messaging context created can only be used if the AE LEs are  operating in Image 2    _FDM_MSG IMAGE 1 2  The messaging context created can be used whether the AE LEs  are operating in Image 1 or Image 2     Page 3 88 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Description of user interface primitives    User Msg _ Ack  Pointer to the user function which will be called by the FIP DEVICE  MANAGER to send the user the transmission acknowledgeme
76. Page 3 103    Description of user interface primitives    PROCEDURE    Reference sent to the FIP DEVICE  MANAGER by    Called by the FIP DEVICE  MANAGER by or during          User Signal Synchro       User Signal Var Prod      User Signal Var Cons       User Signal Asent       User Signal Areceived         User Signal Mode       User Get_Value      User Set_Value         User Msg Rec Proc      User Msg Ack Proc      User Msg Ack Type               fdm_mps_ var_create   inthe FDM XAE  type parameter    fdm_mps var_create   inthe F  type parameter    fdm_mps_ var_create   inthe FDM XAE  type parameter       fdm_mps var_create   inthe F  type parameter          fdm_mps var_create   inthe F  type parameter    fdm_generic_time_initialize in the  FDM_GENERIC_ TIME DEFINITION type  parameter       fdm_mps_var_create   inthe FDM_XAI  type parameter    Fdmgmps_var_create   inthe FDM_XAE  type parameter      fdm_messaging fullduplex create  fdm_messaging to rec _create   inthe  FDM MESSAGING _FULLDUPLEX and   FDM_ MESSAGING TO_REC type parameters          fdm_messaging fullduplex create  fdm_messaging to send _create   in  the FDM MESSAGING FULLDUPLEX and  FDM_ MESSAGING TO_SEND type parameters    fdm_change_ messaging acknowledge _  type    fdm_generic time give value     Unique for all FIP DEVICE MANAGER  instances   fdm_generic time get value   Unique for all FIP DEVICE MANAGER  instances       Page 3 104    FIP DEVICE MANAGER Software Version 4 User Reference Manual    fdm_process_
77. Page l 6 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    General introduction    Writing a FIP DEVICE MANAGER application means that you have to     call the basic FDM services  see Subsection 4 1 of this chapter      write the error and warning callback functions  see Subsection 4 2 of this chapter         adapt if necessary  some system dependent objects  semaphores  mutex  etc   that FDM code uses  see  Subsection 4 3 of this chapter        write the FULLFIP component interrupt handlers  IRQ and EOC   see Subsection 4 4 of this chapter      write the event callback functions  see Subsection 4 5 of this chapter       write the real time clock handler  see Subsection 4 6 of this chapter         implement the mechanisms of the deferred services if you use these services  see Subsection 4 7 of this  chapter         access to the SM_MPS variables    e access to the aperiodic MPS variables      transmission of messages    e reception of messages        implement the mechanism for the periodic MPS indications if you create periodic MPS variables  see  Subsection 4 8 of this chapter      ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 1 7    General introduction    4 1 Description of the basic services    The FIP DEVICE MANAGER Release 4 programming interface contains all the equipment required to set up  the network s   to provide network management facilities and to offer communication services     This programming in
78. Pointer to a data structure of the FDM_ MPS VAR_REF type     This parameter enables the variable on which the primitive must act  to be  identified     Refreshment Period  New value of the period to be associated with the variable when it is produced   in microseconds      Promptness Period  New value of the period to be associated with the variable when it is consumed   in microseconds      Description of type FDM_ MPS VAR_REF     Inside FIP DEVICE MANAGER  not manipulated by the user     REPORT     This function produces a report as specified in Chapter 1 Subsection 4 2  of this document     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 37    Description of user interface primitives    1 22 fdm_mps_var_change_priority    SUMMARY     Function for modifying the priority attribute of a variable    PROTOTYPE    unsigned short fdm_mps_ var_change priority    FDM MPS VAR REF  Ptr MPS VAR     unsigned New Priority       DESCRIPTION     This function makes it possible to modify the value of the priority of aperiodic transfer requests which is liable to  support an MPS variable     INPUT PARAMETERS    Ptr MPS VAR  Pointer to a data structure of the FDM_ MPS VAR_REF type   This parameter enables the variable on which the primitive must act  to be  identified    New Priority  New value of the priority to be associated with the variable  for any aperiodic    transfer requests  FIFO_URGENT or FIFO_NORMAL     Description of type FDM_ MPS VAR_REF     In
79. ROR_CODE     void  FDM_ERROR_CODE       MEMORY_RN  struct _FDM REF         FDM_CONFIGURATION_HARD     K_PHYADR   My Segment     NumberOfThisBusArbitrator    GreatestNumberOfBusArbitrator    LOC_FIP     LOC_FIPDRIVE     FREE ACCESS ADDRESS     User _Reset_Component    User Signal Fatal_ Error   User Signal Warning     Memory Management_Ref     Ptr _Autotests     ALS 50278 e en      User Reset Component     User Signal Fatal_Error   Struct _FDM_REF   Ref     FIP DEVICE MANAGER Software Version 4 User Reference Manual     struct _FDM CONFIGURATION HARD          User_ Signal Warning   Struct _FDM REF   Ref      Memory Management Ref    Ptr Autotests     Physical address of the subscriber on the WorldFIP network in  the interval  0  255      Number of segment used for messaging other than 0  1  127   0 if  not used     When FDM WITH OPTIMIZED BA is set to YES in the  user opt h file  this parameter represents the number of the Bus  Arbitrator of your station  0   255      When FDM WITH_OPTIMIZED BA is set to YES in the    user opt h file  this parameter represents the highest number of  the Bus Arbitrators connected on your network     Contains the addresses for accessing the FULLFIP2 circuit  registers    Contains the addresses for accessing the ZN130 circuit or  FIELDUAL circuit registers when it is used in ZN130  compatible mode    Address of the beginning of the memory zone shared between the  host microprocessor and FIPCODE FULLFIP2 if free access  mode is used    Pointer to 
80. URATION SOF   parameter    F  F  itialize network    DM CONFIGURATION SOF  parameter    F  F  itialize network    DM CONFIGURATION SOF  parameter       E  F               initialize network    in the  DM CONFIGURATION SOFT type  parameter                Fdm_initialize network    inthe  FDM_CONFIGURATION_ SOFT type  parameter    Fdm_initialize network    in  FDM_CONFIGURATION_ SOFT    Fdm_initialize network    in the  FDM_CONFIGURATION_ SOFT type  parameter             FIP DEVICE MANAGER Software Version 4 User Reference Manual    fdm_stop_ network       Detection of serious errors which lead to  shutdown    Warning of non serious errors    fdm_smmps_ fifo _empty   for  transmitting the    list of equipment present     variable value    fdm_smmps_ fifo _empty   for  transmitting the presence variable value       fdm_smmps_ fifo _empty   for  transmitting the identification variable  value    fdm_smmps fifo empty  transmitting the report variable       fdm_smmps_ fifo _empty   for  transmitting the BA sync variable value    fdm_process_ its fip   for  indicating a variable has been transmitted  or received following a    universal    type  request    fdm_process its fip   for  indicating an SM MPS variable has been  received  following a read request    fdm_process_ its fip   for  indicating a message has been received     fdm_send_message   and  fdm_process its fip   for  indicating a message transmission has been  requested or that acknowledgement has  been received          
81. _DAT last update by network when corresponding RPZDAT   IMAGE2 has been received has been received  i   Reads variable  value is last      Reads variable  value read is   UPdating of variable value one received when operating No variable value updating  IMAGE1   CONSUMED   MPS VAR last update by network  When corresponding RP_DAT  ith previous image 1  even if corresponding  has been received Prompt status false RP_DAT has been received  IMAGE 1 Receives sync event when it Takes sync event into Receives sync event when it  Takes sync event into account  nace CONSUMED  SYNC EVT appears account to inform user of it appears to inform user of it  Does not receive sync event  Does not take sync event into   Receives sync event when it   Takes sync event into account  IMAGE 2 CONSUMED  SYNC EVT when it appears account appears to inform user of it  Receives sync event when it Takes sync event into Does not receive sync event   Does not take sync event into  IMAGE 1 CONSUMED  SYNC EVT appears account to inform user of it when it appears account    Table 2 1  Management of two AE LE images          1 3 4 Managing MPS variables    1 3 4 1 MPS variables    There are two types of MPS variable access services      Local  the variable can be read or written directly in the local database        Remote  circulation of the variable has to be requested of the Bus Arbitrator via an aperiodic request prior to  the read or following the write     The type of access service to be used for a given
82. _Priority parameter  set by the user in the fdm_ba_set_ parameters    function     PL  priority level   Its value is PL   Priority Level parameter set by the user in the fdm_ba_set_ priority     function     BANO  bus arbitrator number  Its value depends on the FDM_WITH_OPTIMIZED_BA compilation option  in the user_opt h file   e if FDM_WITH_OPTIMIZED BA is set to NO then     e BANO   K_PHYADR parameter of the FDM_CONFIGURATION_HARD structure set by the user in  the fdm_initialize network    function    e elseif FDM WITH OPTIMIZED BA is set YES then     e BANO   NumberOfThisBusArbitrator parameter of the FDM CONFIGURATION_HARD structure  set by the user in the fdm_initialize network   function     Page 2 18 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Available Functions       ETOTPI  execution time  in microseconds  of the TEST _P instruction of the BA    Its value depends on the FDM_WITH_OPTIMIZED_BA compilation option  in the user_opt h file  and the  optimization level  STANDARD  OPTIMIZE 1  OPTIMIZE 2 and OPTIMIZE 3  set by the  fdm_ba_set_ parameters    function      if FDM WITH _OPTIMIZED_ BA is set to NO then     e if the optimization level is OPTIMIZE 3 then ETOTPI   0  this value is constant and cannot be  changed by the user     e else if the optimization level is STANDARD or OPTIMIZE 1 or OPTIMIZE 2 then ETOTPI    257 T0 where TO is Silence Time Out and depends on the bit rate of your network  for details see   1    the ETOTPI value
83. _RAM Dim   unsigned short NB OF DIFFERENT ID PROG BA        unsigned short Nr_ Of Repeat   unsigned short Nr_Of Tx Buffer  9      void   User Present List Prog   struct _FDM REF  Ref   FDM PRESENT LIST  Ptr Present List       unsigned short   User_Identification_Prog    struct _FDM REF  Ref  FDM IDENT VAR Ptr Ident Var       unsigned short   User Report Prog   struct _FDM_ REF   Ref  FDM REPORT VAR Ptr Report Var       unsigned short   User Presence Prog   struct _FDM REF   Ref  FDM PRESENCE VAR Ptr Presence Var       void   User Synchro BA Prog   struct _FDM REF  Ref   FDM SYNCHRO BA VAR  Ptr_ Synchro BA Var      unsigned short Test Medium Ticks   unsigned short Time_Out_Ticks    unsigned short Time Out_Msg Ticks   unsigned short Online Tests Ticks     unsigned short Default _Medium_threshold     Page 3 6 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Description of user interface primitives     if  FDM WITH BA   YES  amp  amp   FDM WITH _FIPIO    YES   unsigned short Segment _Paramers Ticks     endif   struct      unsigned short TIMER CNT REGISTER   unsigned short MODE REGISTER       User Responsability     void   User Signal Mps Aper     void   User Signal _Smmps     void   User Signal Send Msg      void   User Signal Rec Msg       void  User Ctxt       FDM_CONFIGURATION_ SOFT     ALS 50278 e en    FIP DEVICE MANAGER Software Version 4 User Reference Manual    struct _FDM REF  Ref     struct _FDM REF  Ref     struct _FDM REF  Ref     struct _
84. a user procedure which is called to carry out hardware  resetting of the component     Pointer to the user function which will be called by the FIP  DEVICE MANAGER if there is an error     Pointer to the user function which will be called by the FIP  DEVICE MANAGER if there is a warning signal     Pointer to a structure required when using divided memory  manager  Must be initialised at NULL_PTR if divided memory  manager not used     Pointer required for interrupt self tests  Must always be    initialised at NULL PTR  The  fdm_initialize_network   function will provide its  value     Page 3 5    Description of user interface primitives    Description of type FDM_ERROR_CODE     typedef struct        FDM_ERROR_CODE  Fdm_ Default     ENUM CODE ERROR Fdm Default   union      struct    unsigned _Ustate  3   unsigned Var State  8     Fipcode_ Report   unsigned long Additional Report       Information     Code of the detected fault on an unsigned integer  The list of codes is given in Chapter 5 of this document     Additional Report     Fipcode Report     Supplementary information on Fdm Default when Fdm_ Default is  different from 0x100     Supplementary information on Fdm Default when Fdm Default equals  0x100  Errors detected at FIPCODE level     Description of type  FDM_CONFIGURATION_SOFT     typedef struct      unsigned short Type    enum _FULLFIP_ Mode List Mode   unsigned short Tslot   unsigned short NB OF USER MPS VARIABLE       unsigned short BA Dim   unsigned long FULLFIP
85. address of this  procedure is transmitted to FDM when a messaging context is created by calling the  fdm_messaging_fullduplex_create or fdm_messaging_to_send_create function     e field User Msg Ack Proc of the FDM MESSAGING FULLDUPLEX structure in the case of a creation  of a messaging context by calling the fdm_messaging_fullduplex_create function     e field User Msg Ack Proc of the FDM MESSAGING_TO_SEND structure in the case of a creation of a    messaging context by calling the fdm_messaging_to_send_create function     Now you can free the allocated buffer used to store the message to transmit     Don t call the fdm_msg_send_fifo_empty function inside the body of the  User Signal Send Msg function  The execution context of the  fdm_msg_send_fifo_empty function should be different from the execution  context of the User_Signal_Send_Msg function     Page 1 30 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    General introduction    Example of implementation of the call of fdm_msg_send_fifo_empty function     for example in the case of pSOS     FDM_REF   Network Identification     this handle is returned by the function        fdm_initialize_network      static unsigned long sm_msg_send     semaphore        create a task and a semaphore     t_create  TMSD   100  4096  0  T LOCAL   T NOFPU   amp TaskMsgSend      sm_create  SMSD   0  SM_ LOCAL  SM_PRIOR   amp sm_msg_ send         User_Signal_Send_Msg callback function     static void User_Signal_Se
86. ally by the system   for example 125us for FULLFIP2 at 64 MHz     It follows from the above that if this type of variable is to be managed correctly  it must be possible to set it up   the producer must be able to write it and the consumer must be able to read it     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 2 11    Available Functions    1 3 4 3 Time variable    The solution adopted consists in changing only the time in an MPS variable produced by the item of equipment  with the reference time     The time variable is configured automatically  if requested at the time of general configuration  The variable  selected is that associated with identifier 9802H     It is created as a variable with dynamic refreshment type     The format of this variable is as follows   normalised contents       1  in the order PF   pf          The value of the reference time supplied to the WorldFIP network in the requested form  POSIX  is handled by  the network  which delivers to the consumer the length of time this value has stayed in the producer   s local  buffer before being produced  to which must be added the time taken to transfer it to the network and the length  of time it stays with the consumer before it is read     Thus  after a time variable is read  the application has an absolute time supplied directly by the FIP DEVICE  MANAGER which adds to the value given by the producer and the producer and consumer waiting times     When this time variab
87. am eaw ao     time unit   medium test function call time     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 2 21    Available Functions    Format of counter 4    Medium 2    Voy ST eae      TE  sak ee und medium during transmission    L__   0   NOK    Quality status of medium during reception  where  1   OK  0   NOK  Channels requested by TEST_MEDIUM    where  1   OK or requested  0   NOK or not requested       Synthesis on the  state of medium Traffic status on medium    where   1   OK where  1   traffic  0   NOK 0   no traffic    Page 2 22 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Available Functions    1 5 1 2 List of equipment present variable    The list of equipment present variable  or presence monitoring variable  is a universal network management  variable associated with identifier 9002 H     No FIP status is associated with this variable  As soon as it is produced  the variable is valid and significant     However  this variable  produced by the active Bus Arbitrator  is only valid and significant when the Bus  Arbitrator has finished updating     BYTE    BIT     Type of  PDU     Length    For channel 1    256 bits     For channel 2    256 bits          i e  32 bytes  subscriber i present on channel x  bit number  i mode 8  of byte number  i div 8    1   Absence  the same bit   0    When operation is with a single medium card  all the bits on channel 2 are at 0  no subscribers present   When  oper
88. ar_create function  a field of FDM_XAE structure        User Signal _Areceived   if the event corresponds to the reception of a consumed variable with  associated event  A_Received   The user provides this function to the FDM  when he calls the  jfdm_mps_var_create function  a field of FDM_XAE structure           User Signal Var Prod   if the event corresponds to the transmission of a produced variable of the  universal type or at the time out of the request  The user provides this function to the FDM  when he calls the  fdm_mps_var_create function  a field of FDM_XAE structure      Processing the EOC handlers  EOC in level mode  as described in the preceding section will activate FDM  wich  will call the following user callback function       User Signal _Synchro   if the event corresponds to the reception of a synchronization variable  The  user provides this function to the FDM  when he calls the fdm_mps_var_create function  a field of  FDM_XAE structure      A more detailed description of the use of these callback functions is given in Subsection 4 7     Page 1 20 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    General introduction    4 6 Processing real time clock interrupt    The hardware environment should have a programmable timer that periodically produces interrupts  The user has  to connect the interrupt vector to the interrupt handler  This operation depends on the user hardware environment  and operating system     We call the period
89. are Version 4 User Reference Manual Page 13    Page 14 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Chapter   General introduction    l    1  GENERAL OVERVIEW OF THE SOFTWARE    The FIP DEVICE MANAGER software  Release 4  designed to operate with the FULLFIP2 coprocessor and  Release 6 of its FIPCODE microcode  takes the form of a library of primitives to be linked to the user  application  Run on the host microprocessor of the communication coprocessor  it can transform the equipment  upon which it is integrated into a WorldFIP subscriber  active as a station  bus arbitrator or both     This library contains all the functions required to manage medium redundancy in the case of a hardware target  that integrates the FIELDUAL component  All the diagnosis functions of the components belonging to the  WorldFIP connection point  excluding the transmission reception self test   and the functions to check the  integrity of the configuration data of the communicating subscriber  are performed by this software on start up   and the whole time the subscriber is working     In relation to the European standard applicable to WorldFIP  EN50170   the interface offered by FIP DEVICE  MANAGER Release 4 is at the application layer level for bus arbitrating and variable exchange services  and at  the data link layer level for message exchanges  The basic network management functionality is also integrated     This library is strictly written in ANSI C and ANSI
90. ation contained herein  ALSTOM gives no warranties of merchantability or    fitness for purpose     In this publication  no mention is made of rights with respect to trademarks or tradenames that may attach to certain words or signs  The  absence of such mention  however  in no way implies there is no protection     Partial reproduction of this document is authorized  but limited to internal use  for information only and for no commercial purpose     However  such authorization is granted only on the express condition that any partial copy of the document bears a mention of its property   including the copyright statement     All rights reserved      Copyright 2001  ALSTOM  Paris  France     Page 2 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Revisions    Index Date Nature of revision  letter    03 1997 Major updates    04 2000 Update    09 2000 Software revision 4 9  Transmission rate 5 Mbits s  01 2001 Updates throughout the document       ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3    Revisions    Page 4 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Preface    1  PURPOSE OF MANUAL AND DOCUMENTED VERSION    This document is the user manual for the FIP DEVICE MANAGER software  version 4  This software is one of  the components of FIPWARE  a comprehensive technological solution for developing connections to the  WorldFIP network  This FIPWARE  developed by ALSTOM Technology 
91. ation is with a double medium card  but with a single channel validated  all the bits on the channel not used    are at 0  no subscribers present      When operation is in FIPIO mode  only the part concerning channel 1 is contained in this variable     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 2 23    Available Functions    1 5 1 3 Presence variable  This variable is linked to one physical allocation identifier per station built in the following way   ID   14xy H where xy  physical address of the subscriber    A station can produce it as soon as it has been powered up in reply to the presence indicator linked to its own  station number     The active Bus Arbitrator to build the list of equipment present consumes it     No FIP status is associated to this variable  As soon as it is produced  it is always valid and significant     Type of  PDU     Length        LG VAR      P Identification variable length  Reserved    00      non significant    BA status priority    BA priority yi  le  le              0  BA not supported  1  BA not eligible  2  BA idle  3  BA active    1 5 1 4 Identification variable    The identification  identity  variable is a variable linked to the physical address of each item of equipment  The  identifier used is built as follows     ID   10xy H where xy   physical address of subscriber     It may be produced by an item of equipment as soon as it has been powered up  in reply to the identification  identifier linked t
92. ble  each item of equipment sends a data item indicating its presence on the network      identity variable  each item of equipment can be clearly identified remotely      report variable  each item of equipment supplies potential users with a set of default counters       presence control variable  the presence of all the items of equipment can be monitored by one particular item  of equipment       BA synchronisation variable  indicates the current status of the active Bus Arbitrator     Page 2 20 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Available Functions    1 5 1 1 Report variable  This variable is linked to one physical allocation identifier per station  built in the following way   ID   11xyH where xy   physical address of the subscriber    It can be produced by an item of equipment as soon as it is powered up in reply to a report identifier linked to its  own station number     No FIP status is associated with this variable  As soon as it is produced  it is always valid and meaningful   BYTES    BITS     gt  7 0  Type of  PDU     Data length  Counter of transactions correctly received by  Time unit  on channel 1    Counter value    Counter of transactions correctly received by  Time unit  on channel 2    Counter value    Counter of frames incorrectly received by  Time unit on channel 1    Counter value    Counter of frames incorrectly received by  Time unit on channel 2    Counter value    Channel status     See below        mw ww 
93. cally on both the active Bus Arbitrator and on the time producers   active or potential   The activation period is set when the mechanism is  started up and initialised     Subscribers which are merely time consumers  not potential producers  do  not produce STATUSES and do not consume COMMANDS     FIP DEVICE MANAGER Software Version 4 User Reference Manual    consumes the STATUSES transmitted by the time producers  potential and active  via the SUBMMS  messaging service Information_Report     builds the COMMAND according to the STATUS contents     produces the COMMAND via the SUBMMS messaging service  nformation_Report  The active producer  is designated in a random manner from among the potential producers standing by to be elected     ALS 50278 e en    Available Functions    1 4 Managing the Bus Arbitrator s     1 4 1 Setting up a Bus Arbitrator program  Bus Arbitrator programs may be supplied as FIP DEVICE MANAGER inputs in two different forms        identical to that supplied by the BA BUILDER  FIPCONFB  tool and to that of remote BA loading via  SMS        simplified to create a manual BA program  i e  with no tools  in a C program     The instructions that can be used are as follows     SEND LIST  Requests that a list of identifiers is transmitted in the form ID_DAT or ID_ MSG  SEND_APER  Requests that a window is opened to process aperiodic MPS requests  SEND_MSG  Requests that a window is opened to process aperiodic messaging requests   BA_ WAIT  Requests internal sy
94. cant byte  Segment    of the LSAP   of the LSAP       Ifbit31 1  Remote DLL Address is unknown  in general used for  broadcast  reception from all the stations      Ifbit31 0  Remote DLL Address is known  i e  a message is received  only if Local DLL Address and Remote DLL Address  correspond to the address field of this message     If you write an application that plays the role of a bridge  at least 2 networks   then you have to set     e bit3l 1   e the Segment byte and the 2 bytes describing the LSAP   any value     Page 3 92 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Description of user interface primitives    Description of type  FDM_ MSG RECEIVED  See the primitive fdm_messaging fullduplex_create     REPORT     This function produces either       aNULL_PTR pointer if it has not been able to run correctly  In this case the User Signal Warning     function has been called at least once        ora pointer to an FDM_MESSAGING_REF type structure     Description of type FDM_ MESSAGING REF     Inside FIP DEVICE MANAGER  not manipulated by the user     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 93    Description of user interface primitives    1 60 fdm_messaging delete      PROTOTYPE   unsigned short fdm_messaging delete      FDM MESSAGING REF  Ptr_ Messaging      DESCRIPTION     This function deletes a messaging context     INPUT PARAMETERS     Ptr Messaging  Pointer to the messaging context to be delet
95. cc eeceecesecsecsceesseeseeeeceeeeeeecesecesecsecsaecsuecseecaeeeaeeeeeeneeenreees 3 81  1 58 fdm messaging to send create         cceeccesccesecesecssecscecseeeseeeeeeseeeseseseeeeecsecaeceeecseecaeeeseseaeeneeenseees 3 88  159       fd messaging  to Tec  cr  ate   Mencia antic cist aves Geeta ea Ne eee an aed ae 3 91  1 60    fd  messaging delete  rer este eae ee a a E A TA 3 94  tol  sfdmischaninel  create  scicess ssakicnig e aie hie le RA ei a E E E T ES 3 95  1 62   fdm  channel delete Qarr airia hades sees histones each denies ede aes ete ei 3 96  1 63   fdr send  message   nerca rE E A E ad edi cateeeiv E R 3 97  1 64 fdm msg send_fifo empty         ce ecccceesceecessceseceeceseceseeeseceseeeeeseceseeeseesaecsaecaecseecesesereeereeereeeeees 3 98  Isaa eia o aeS rec  fifo empty O ASP E EEE AE E AE EA 3 99  1 66 fdm msge ref buffer  freeOnunannn a a a a a a a a a a R 3 100  1 67 fdm msg data buffer freel           eeseeseeseesseserssseersssesresssssteresseseestesersessteresseseesesersteseenesstsresse 3 101  1 68 fdm change messaging acknowledge_typeQ      s  essssssesesssesessseserseesersessreressesesrssersressesreseeseeses 3 102  2  CALLBACK PRIMITIVES TO BE PROVIDED BY THE USER   seesesesessesesesrsrsesrssststsessestsestse 3 103    CHAPTER 4   PERFORMANCE LEVELS    I    USER PRIMITIVE  RUN TIME reien jen i ie E E EE etch dies G NE R An 4 1  1 1 Introd    tion sa sen rni e aE T ER E E ER A AN 4 1  1 2 Start up  fdm_initialize network   primitive          essseseesseses
96. ce is created and initialised   There are three types of functions        complete test of the private FULLFIP2 RAM  the aim of this test is to thoroughly test the private FULLFIP2  RAM by checking   e PDA 15 0  and PA  19 16  address buses private data     e control signals WRn and RDn     This is done by using an algorithm known as the count jump method    whose sequencing is as follows      complete write of the volume   e check of this volume       test of user interface and certain parts of the core of the system  the aim of this test is to carry out an electrical  test  detection of sticking at 1 or 0  of the user interface by running address bit  data and control tests  the    functional test of the internal hardware indicators and the register and FIFO tests  as well as the test of certain  parts of the system core which are accessible     e Ustate register bit test     Bit IC  carries out a CLOSE command when no other transaction is in progress    Bit FE  physical read of more than 128 bytes    Bit AE  read of FIFO when no other transaction is in progress    Bit SV  no time out on a function of the physical read or write type by filtering the Busy bit   Bit FR  FIFO full in write and empty in read    Bit IRQ  forces generation by FULLFIP2    Bit EOC  forces generation by FULLFIP2        user register test   Registers UFLAG and VAR_STATE are tested in read and KEY _L  KEY _H TIMER L  TIMER H in write   The general test principle is signature analysis      FIPCODE inte
97. ce register bit  E of interface register bit    of interface register bit    FAIL ON_INTERNAL FIFO fdm_initialize network    0xC0B _DIAG_FAIL_ON_INTERNAL_REGISTERS E   Internal test of NOK component                   Joxcoc   DIAG FANON INTERNAL TIMERS   fam initialize network  e  Joxcor  on Line COMPONENT ACCES FAILED  sam ontine est  B  Joxcor   ONLINE TESTRAMFAILED  tam ontine test LE    _TEST_ON_TICKS_ON_LINE fdm_online_test Automatic self tests in use therefore manual tests    0xD01 _ERR_FIP_DOWNLOAD FILE fdm_initialize network E   FIPCODE DAT file cannot be opened    ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 5 5    Error codes    Page 5 6 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Chapter   Installation procedure    6    1  SOFTWARE SUPPLY    The software is supplied on a CD ROM  Under Programs Fdm_R4 X you can find the following files and  directories       FIP DEVICE MANAGER files        the following sub directories     e ST1  directory containing FIPCODE files that have to be used in your makefile if you need the following  services  see Chapter 4  Subsection 2 1      e Periodic MPS     e ST2  directory containing FIPCODE files that have to be used in your makefile if you need the following  services  see Chapter 4  Subsection 2 1      e periodic MPS   e periodic DLL messaging     e ST3  directory containing FIPCODE files that have to be used in your makefile if you need the following  services
98. cedure   fdm_generic_time_get_value  makes this request     This ensures the time transmitted is as accurate as possible     To use this function  the compiling switch FDM_WITH_GT or FDM_ WITH _GT_ONLY PRODUCED must be set  to YES        INPUT PARAMETERS     Ptr Time Identification  Pointer to a data structure of the FDM GENERIC TIME REFERENCE  type     Description of type FDM_ GENERIC TIME REF     Inside FIP DEVICE MANAGER  not manipulated by the user     REPORT     This function produces a report as specified in Chapter 1 Section 4 2  of this document     Description of the function  fdm_generic_time_get_value      FDM GENERIC TIME VALUE fdm_generic_time_get_value  void    The FDM_GENERIC_ TIME VALUE type is described on page 3 51     This procedure must be written by the user to provide the time to be transmitted by the FIP DEVICE  MANAGER  This is common to type all the FIP DEVICE MANAGER instances     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 51    Description of user interface primitives    1 34 fdm_generic_time_read_loc    SUMMARY     Time variable read  ID 9802H     PROTOTYPE   FDM MPS READ STATUS fdm_generic_time_read_loc      Const FDM_GENERIC_ TIME REFERENCE  Ptr_ Time Identification       DESCRIPTION   This function enables the user to read the value of the time variable  i e  read the time      The time value is transmitted to the caller by FIP DEVICE MANAGER by calling the user written function  fdm_generic time _give_ val
99. ch is going to be  opened  in microseconds      End time in relation to beginning of  macrocycle  Time 0  of the MPS aperiodic  window which is going to be opened  in  microseconds      Internal sync time in relation to beginning of  macrocycle  Time 0   in microseconds      Time of end of external sync time out in  relation to beginning of macrocycle  Time 0   in microseconds     Time of end of external sync time out in  relation to beginning of macrocycle  Time 0   in microseconds     ID    Frame_Code    ID    Frame_Code    Page 3 61    Description of user interface primitives    REPORT     This function places either        aNULL_PTR pointer if it has not been able to run correctly  In this case the User_Signal_ Warning     function has been called at least once         ora pointer to an FDM_BA_ REF type structure     EXAMPLE    const LIST ELEMENT LO       OxE001 ID DAT        const LIST _ELEMENT L1               O0x9802  ID DAT   0x0010  ID DAT   0x0012  ID DAT   0x0013  ID DAT   0x0014  ID DAT   0x0100  ID DAT   0x0101  ID DAT     const LIST ELEMENT L2                      0x1301  ID MSG   0x1302  ID MSG   0x1303  ID MSG   0x1304  ID MSG   0x1305  ID MSG   0x1306  ID MSG   0x1307  ID MSG   0x1308  ID MSG   0x1309  ID MSG   0x130a  ID MSG   0x130b  ID MSG   Ox130c  ID MSG   0x130d  ID MSG   0x130e  ID MSG   0x130f  ID MSG   0x1300  ID MSG     Page 3 62 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Description of user interface primitives   
100. cks_counter        wait the next interrupt     sm _p sm rtc  SM_WAIT  0      take the semaphore             Page 1 22 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    General introduction    4 7 Operating model for the deferred services    The execution of some services is deferred by FIP DEVICE MANAGER  This chapter describes the general  model to be followed for the use of deferred services     The main objective of this mechanism is to be able to make  as far as possible  running of the FIP DEVICE  MANAGER code independent of the activation context of a service  The user can choose the moment and the  context to run the processing code of the services requested  independently of the moment and the context of the  request     For the most time consuming services  and those that functionally cannot be run immediately  each user request  or each indication of the lower level  i e  FIPCODE  is placed in a queue and the execution environment is  informed of this event  The user requests the emptying of the queue  i e  processing by FIP DEVICE  MANAGER  whenever he wishes  Each request causes all the corresponding queues and all that they contain to  be emptied when this is possible  in relation to the queues of the lower level      Each FIP DEVICE MANAGER instance has its own set of queues    Furthermore  this technique can easily be taken into account in any real time environment   The following services are affected by this mechanism      access t
101. containing the initialisation and operating  parameters for the time producer redundancy management  procedure     Definition of type  FDM_GENERIC_ TIME DEFINITION     typedef struct      enum BOOLEAN With Choice Producer   enum BOOLEAN With MPS Var_ Produced   enum BOOLEAN With _MPS Var Consumed     enum _FDM MSG _ IMAGE Image   unsigned long Refreshment   unsigned long Promptness      const unsigned long  Delta_Time_Location     void   User_Signal_Mode   const int Sens    unsigned short Ticks_Election   unsigned short Channel_Nr       FDM_GENERIC_TIME DEFINITION     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 49    Description of user interface primitives    With_Choice Producer     With_MPS Var_ Produced     With_MPS Var Consumed     Image     Refreshment   Promptness     User Signal Mode     Channel Nr     Delta_Time_Location     Ticks Election     Description of type  FDM_REF     YES  Protocol for electing time producer is active   NO  Protocol for electing time producer is not active   YES  the time variable can be produced  potential producer   NO  the time variable cannot be produced   YES  the time variable can be consumed   NO  the time variable cannot be consumed   1  Time producer redundancy and time can only be managed if    the operating image is Image 1     2  Time producer redundancy and time can only be managed if  the operating image is Image 2     3  Time producer redundancy and time can be managed whatever  the operati
102. ct requested  i e  of the object which will be  contained in the allocated memory zone   PA  Address of the pointer which will contain the address of the allocated  zone   dim  Size in bytes of zone requested   PF  Address of the zone to be freed     This mechanism enables the FIP DEVICE MANAGER to always dynamically manage the memory it needs   while offering the user the opportunity to completely control behavior     FIP DEVICE MANAGER only uses these mechanisms during the configuration phases     The files fdm_gdm c and fdm_gdm h provide a set of macros for the operating systems pSOS and VxWorks  If  you use pSOS or VxWorks and if you want to change these macros or if you use another operating system then  you have to change or adapt these macros     Page 1 16 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    4 4    General introduction    Processing IRQ and EOC interrupts    The FULLFIP component issues 2 interrupts        IRQ  when one of the following events occurs     reception or transmission of an MPS universal type variable     reception of one of the SM MPS network management variables  following a request to read this  variable     transmission of a produced MPS variable with associated event  A_ Sent     reception of a consumed MPS variable with associated event  A_ Received     transmission of a produced MPS variable of the universal type or at the time out of the request   reception of a message    reception of acknowledgement of tra
103. ction    Creation of messaging context to transmit and receive  Creation of messaging context to transmit   Creation of messaging context to receive   Creation of an aperiodic messaging channel   Deletion of an aperiodic messaging channel    Modification of type of messaging  ACK NOACK  being  transmitted    Freeing the part of the memory containing a message received  descriptor    Freeing the part of the memory containing a message received    Request to transmit a message    Time variable write    Time variable read    ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page l 11    General introduction    4 2 Management of the reports and ERROR WARNING callback  functions    Whenever there is a fault of whatever kind  all the user interface primitives return reports with the following  standard format     FDM_OK  if the function was carried out correctly    FDM_NOK  ifan error is detected   except for      functions for creating different objects       functions implemented in the form of macros  fdm_get_ image  fdm_ba_loaded       functions not associated with a FIP DEVICE MANAGER instance  fdm_get_version   fdm_initialization  fdm_initialize network  fdm_ticks counter         activation functions  fdm_mps_ fifo empty  fdm_smmps_ fifo empty   fdm_msg_send fifo empty  etfdm_msg rec fifo empty              Any errors detected by the FIP DEVICE MANAGER primitives are classified in two families  WARNING type  errors which do not call the correct operat
104. ction has been called at least once        ora pointer to an FDM MESSAGING REF type structure     Description of type FDM_ MESSAGING REF     Inside FIP DEVICE MANAGER  not manipulated by the user     Page 3 90 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Description of user interface primitives    1 59 fdm_messaging to_rec_create      PROTOTYPE     FDM MESSAGING REF   fdm_messaging to_rec_ create      FDM_REF  Ptr_ Network Identification   FDM MESSAGING TO REC  Messaging To Rec     DESCRIPTION     This function is for creating a messaging context that can be used in reception mode     INPUT PARAMETERS     Ptr Network Identification  Pointer to a data structure of the FDM_REF type     Messaging To Rec  Pointer to a data structure of the  FDM_ MESSAGING TO REC type     Description of type FDM_ REF     Inside FIP DEVICE MANAGER  not manipulated by the user     Description of type FDM_ MESSAGING TO REC     typedef struct  enum _FMD MSG IMAGE Position     struct    void   User Msg Rec Proc   FDM MESSAGING REF   FDM MSG RECEIVED      void  User Qid   void  User Ctxt   integer Number Of Msg Desc   integer Number Of Msg Block     receiving   unsigned long Local DLL Address   unsigned long Remote DLL Address     FDM_MESSAGING TO REC     Position  _FDM MSG IMAGE 1  The messaging context created can only be used if the AE LEs are  operating in Image 1    _FDM_MSG IMAGE 2  The messaging context created can only be used if the AE LEs are  operating in Imag
105. d  Universal variable write    Local variable read with time    AE_LE SM MPS  All network management variables    fdm_read_present_list       fdm_read_presence       fdm_read_report       fdm_read_identification       List of equipment present variables read  Presence variable read  Report variable read    Identification variable read    BUS ARBITRATOR MACROCYCLE  bus arbitrating function and bus arbitrator program    fdm_ba_load_macrocycle fipconfb   Loading ofa macrocycle built with BA BUILDER    fdm_ba_load_macrocycle manual       fdm_ba_delete macrocycle      fdm_ba_commute_macrocycle    fdm_ba_loaded     fdm_ba_start       fdm_ba_stop      fdm_ba_ status       fdm_ba_set_parameters       fdm_ba_ set priority       fdm_ba_external_resync      Page 1 10    Loading of a macrocycle built manually  Deleting of a macrocycle   Changing of a macrocycle  Identification variable read   Start up of BA function   Stopping of BA function   BA function status read   Initialize BA timer   Initialize BA priority    External sync request    FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    MESSAGING CONTEXT     fdm_messaging fullduplex create  fdm_ messaging to send create  fdm_messaging to _rec_create  fdm_channel create   fdm_channel delete    fdm_change messaging _  acknowledge_type      fdm_ msg ref buffer free    fdm_msg data_buffer free    fdm_msg send message    TIME     fdm_generic_ time_write_loc         fdm_generic time _read_loc      General introdu
106. e      The logic OR  designed to initialize the Type field is to be carried out with the flags  corresponding to the options which are to be implemented  Obviously  the        Type    field must  be initialized at 0 beforehand     Mode of transmission on the network  Its value must be taken from the following list  FIP    UTE physical layer  WorldFIP   IEC 1158 physical layer      WORLD_FIP_31    WorldFIP    type network using a FULLFIP2 component at the  speed of 31 25 kbit s with a 40 MHz clock     WORLD_FIP_1000    WorldFIP    type network using a FULLFIP2 component at the  speed of 1 Mbit s with a 64 MHz clock     WORLD _FIP_2500    WorldFIP    type network using a FULLFIP2 component at the  speed of 5 Mbit s with a 80 MHz clock     WORLD_FIP_5000    WorldFIP    type network using a FULLFIP2 component at the  speed of 2 5 Mbit s with a 80 MHz clock     FIP_31    FIP    type network using a FULLFIP2 component at the speed of  31 25 kbit s with a 40 MHz clock   FAST_FIP_1000  fast FIP    type network using a FULLFIP2 component at the speed    of 1 Mbit s with a 64 MHz clock     FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    oJ LL    FIP_2500  FIP_5000  Slow_FIP_1000    FDM_ OTHER    Description of user interface primitives       FIP    type network using a FULLFIP2 component at the speed of  2 5 Mbit s with a 80 MHz clock      FIP    type network using a FULLFIP2 component at the speed of  5 Mbit s with a 80 MHz clock        slow FIP    type n
107. e    fdm_ae_le_ stop   fdm_ae_le delete  fdm_mps_var_change_id  fdm_mps_var_read_loc  fdm_mps_var_write_loc  fdm_mps_var_write_ universal  fdm_mps_var_read_universal    fdm_read_ident               HEE EE    fdm_read_presence    fdm_read_report    0x503 _GEN_AE LE ILLEGAL RANK Rank greater than size of AE LE    0x504 _GEN_AE LE ILLEGAL POSITION fdm_mps_var_create W   Variable declared in image 2 if single image  configuration    0x505 _GEN_AE LE ILLEGAL MODIFICATION fdm_mps_var_change_ MSGa  fdm_mps_var_change_RQa  fdm_mps_var_change_ priority  fdm_mps_var_change_id  fdm_mps_var_change_periods  fdm_mps_var_change_ prod_cons    0x50A _GEN_AE LE ILLEGAL CONFIGURATION fdm mps_var_create  fdm_generic_time_initialize    0x601 _GEN_BA_CHECKSUM_ERROR oad_macrocycle fipconfb    AE LE is not in a state where modification  requested can be made       Problem creating variable with dynamic refresh    Checksum incorrect    oad_macrocycle_manua    0x602 _GEN_BA_LIST_ERROR oad_macrocyc  oad_macrocyc  0x603 _GEN_BA_ END BA NOT _FOUND oad_macrocyc  oad_macrocyc  0x604 _GEN_BA_NOT_ EXISTED INSTRUCTION oad_macrocyc  oad_macrocyc  0x605 _GEN_BA_NOT_VALID_ TIME oad_macrocyc  oad_macrocyc  0x606 _GEN_BA NOT _ID_IN LIST oad_macrocyc  oad_macrocyc    _GEN_BA_DEF_DICHO oad_macrocyc Problem with memory allocation    Content of a list is incorrect   Error in BA program  no END_BA   Error in BA program  use of non existent operating  code    Error in BA program  time parameter incorrect    Error in BA 
108. e 2     _FDM_MSG IMAGE 1 2  The messaging context created can be used whether the AE LEs  are operating in Image 1 or Image 2     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 91    Description of user interface primitives    User Msg Rec Proc  Pointer to the user function that will be called by FIP DEVICE MANAGER to  send the user a message received in this context     User Qid  Pointer retransmitted to the user for his private use   User Ctxt  Pointer retransmitted to the user for his private use    Number _Of Msg Desc  Number of message descriptors received  of the FDM_ MSG RECEIVED type    see fdm_messaging_fullduplex_create  which can be used to receive messages  with the same destination address as that specified below     Number _Of Msg Block  Number of message blocks received  of the FDM MSG _R_DESC type   see  fdm_messaging_fullduplex_create  which can be used to receive messages with  the same destination address as that specified below     Local DLL Address  destination address of the message received     30 0    Least    Segment  of the LSAP of the LSAP    If you write an application that plays the role of a bridge  at least  2 networks   see Chapter 2  Subsection 1 6 4  then you have to set        e bit30  1   e Segment byte   segment number of the destination address     e the 2 bytes describing the LSAP   any value     Remote DLL Address  source address of the message received     31 0    Most Least  significant byte  signifi
109. e fdm_stop_ network        Only if operating in conventional access  In the case of free access  the  function is implemented with a hardware device     Page 3 72 FIP DEVICE MANAGER Software Version 4 User Reference Manual    ALS 50278 e en    Description of user interface primitives    1 49 fdm_ba_loaded      PROTOTYPE     int fdm_ba_loaded  FDM BA REF    Ptr BA  5    DESCRIPTION     This function makes it possible to find out if a Bus Arbitrator program is loaded     INPUT PARAMETERS     Ptr BA  Pointer to a data structure of the FDM_BA REF type     Description of type FDM BA REF     Inside FIP DEVICE MANAGER  not manipulated by the user     REPORT   This function produces one of the following reports   BA_LOADED  BA program loaded    BA_NOT_LOADED  No BA program loaded    ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 73    Description of user interface primitives    1 50 fdm_read_present_list    SUMMARY     Read function of the list of equipment present     PROTOTYPE   unsigned short fdm_read_present_list      FDM_REF  Ptr_ Network Identification       DESCRIPTION   This function is for the SM_MPS    list of equipment present    variable read request     When FIP DEVICE MANAGER will receive the variable  it will call the User Present List _Prog    function  This function is a _ user written function given in the configuration parameter   FDM_CONFIGURATION SOFT inthe fdm_Initialize Network    function      INPUT PARAMETERS     Ptr Network
110. e set to 0   the variable is set as a remote variable      The operational model is the following     1     The user application request is stored in a queue  the requests can be the following    e fdm_mps_var_write_universal    e fdm_mps_var_read_universal    The FIP DEVICE MANAGER activation manager is warned of the fact that one of the queues is not empty  by calling a procedure reserved for this purpose  which the user must write  The address of this procedure is  transmitted to FDM by the function fdm_initialize_network  field User Signal Mps Aper of    FDM_CONFIGURATION_SOFT structure   The User Signal _Mps_Aper function must activate a task that  implements the action below     The task activated by the User_Signal_Mps_Aper function has to call the fdm_mps_fifo_empty function  This  call activates FIP DEVICE MANAGER to empty the queue and process the request     FIP DEVICE MANAGER uses the FIPCODE services to carry out the request     When the MPS variable is sent  or received  then the FULLFIP component issues an IRQ interrupt  the IRQ  handler has to process the event  see Subsection 4 4   Following processing  FDM stores the event signaling  the production of the MPS variable  or the received MPS variable  in a queue and calls the  User_Signal_Mps_Aper callback function     The User_Signal_Mps_Aper callback function must activate a task that implements the action below     The task activated by the User_Signal_Smmps function has to call the fdm_mps_fifo_empty functi
111. e your actual value     is field User_Signal_Areceived of FDM_XAE structure in case of reception by FDM of an indication on  the reception of a consumed variable  you can  for example  in the body of the User_Signal_Areceived  procedure  call the function fdm_mps_var read_loc     is field User_Signal_Synchro of FDM_XAE structure in case of reception by FDM of an indication on the  reception of a synchronisation variable and if the EOC interrupt has been configured in level mode     3  FIP DEVICE MANAGER calls the User Interrupt Handler in case of reception of a synchronisation variable  and if the EOC interrupt has been configured in the pulse mode     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 1 35    General introduction    4 9 Create an FDM application  To create an FDM application you have to     Build FIP DEVICE MANAGER library     1  Adapt the user _opt file  choosing the right options  to your environment  operating system  processor   compiler type  see Chapter 6 3      2  Adapt if necessary some system dependent objects  semaphores  mutex  etc   that FDM uses by modifying  the files fdm_os c and fdm_os h     3  Adapt if necessary the memory management to your environment  The files fdm_gdm c and fdm_gdm h  provide a set of macros for operating systems pSOS  VxWorks  etc     4  Build the fipman lib library  you can choose another name if you want      Write your application    1  Connect the interrupt vectors to your interrupt hand
112. ed   Description of type FDM_ MESSAGING REF     Inside FIP DEVICE MANAGER  not manipulated by the user     REPORT     This function submits a report as specified by the primitive fdm_stop network       Page 3 94 FIP DEVICE MANAGER Software Version 4 User Reference Manual    ALS 50278 e en    Description of user interface primitives    1 61 fdm_channel_create    SUMMARY     Creation of a periodic messaging channel     PROTOTYPE   unsigned short fdm_channel create    FDM_REF  Ptr_ Network Identification     FDM_ CHANNEL PARAM  Ptr_ Channel      DESCRIPTION     This function is for creating a periodic messaging channel  Eight periodic messaging channels numbered from  1 to 8 can be selected     When the station receives an ID_MSG frame with an identifier corresponding to a produced variable intended to  support a periodic channel  it takes the message to be transmitted from the queue associated with this channel     INPUT PARAMETERS     Ptr Network Identification  Pointer toa data structure of the FDM_REF type     Ptr Channel  Pointer to a data structure of the FDM_CHANNEL PARAM type  specified above and containing the transmission channel  configuration parameters to be created     Description of type FDM_ REF     Inside FIP DEVICE MANAGER  not manipulated by the user     Description of type  FDM_CHANNEL PARAM    typedef struct      enum _FDM MSG IMAGE Position  unsigned short Channel Nr   unsigned short Identifier     FDM_CHANNEL PARAM   Position  FDM_MSG IMAGE 1 or FDM_ MSG I
113. ed with the previous one     User Signal Var_Cons  User procedure which will be called        on reception from the network following a universal type read of this    variable  if consumed variable        on expiry of the time out associated with the previous one    User Get Value User procedure which will be called by the write primitive of a variable  with dynamic refresh  fdm_mps_var_ time write loc  if  Type With Time Var   0  This parameter must then be set to  NULL_ PTR to request the user to supply the address of the byte table  containing the value to be transmitted     Definition of type  FDM_ MPS VAR DATA    typedef struct FDM XAE REF        unsigned char Pdu_Type   unsigned char Pdu_Length   unsigned char Fbouffer  126      FDM_MPS VAR_DATA   Pdu_Type  Type of PDU  40H for MPS variables  50H for SM_MPS  Pdu_Length  Length of PDU  Equivalent to        size of the variable if no refresh status configured       size of the variable if refresh status    FBuffer  126  Value of the variable in the form of a byte string    Definition of type  FDM_ MPS VAR_REF     Inside FIP DEVICE MANAGER  not manipulated by the user     REPORT     This function produces either       a NULL PTR pointer if it has not been able to run  User Signal Warning    function has been called at least once       ora pointer to an FDM MPS VAR_REF type structure     correctly     in which case the    ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 35    Description of 
114. error code which is clearly  identified in the user manual and detail as many different errors as possible     Whenever possible and significant  all functions on the user interface produce reports whose formats are  identical     Deletion of direct dynamic memory allocation  use of a relay which gives the user complete control of  memory allocation     Modification of FULLFIP2 system access protection management     Possibility for user of setting number of IT_HTR_FIP   calls to calculate time outs  instead of  systematically using 100      Deletion of possibility of configuring packing identifier value to be used  identifier 0x9080 is used  systematically for all networks  cf  WorldFIP standard      Deletion of obligation to periodically call the TEST _MEDIUM   primitive  this will be done by the  equivalent of IT _HTR_FIP    which must still be called periodically   the frequency of which will be    determined by the user at the time of configuration     Addition of a new type of AE LE  the produced consumed attribute of the variables they contain can be  modified during operation     FIFO type interface for aperiodic management     The value of a universal consumed variable is supplied directly as a parameter of the user function called  when it is received  deletion of primitive GET_DATA       Possibility of creating BA program macrocycles in two formats  a FIPCONFB BA_BUILDER compatible  format  also compatible with previous versions of FIP DEVICE MANAGER  or a more use
115. ese values in the  calculation of the time outs  see Chapter 2  Subsection 1 4 3     e STANDARD corresponds to the calculation of the time outs in  compliance with the WorldFIP standard     e OPTIMIZE 3  this option can be used only in the case of a single   medium network typology     Max Subscriber  Max  value of physical addresses used by subscribers present on the  network  to optimise the calculation of BA time outs    0  255      Max Priority  Max  value of the priority of BAs present on the network used  to  optimise the calculation of BA time outs    0  15      Description of type FDM BA REF     Inside FIP DEVICE MANAGER  not manipulated by the user     REPORT     This function submits a report as specified by the primitive fdm_stop_ network        Page 3 66 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Description of user interface primitives    1 44 fdm_ba_start0  SUMMARY     Function for starting up a potential Bus Arbitrator     PROTOTYPE     unsigned short fdm_ba_start  FDM BA REF  Ptr_ Ba      DESCRIPTION     This function enables a potential Bus Arbitrator to be started up  for which a program has already been loaded  If  necessary  it will become the active Bus Arbitrator  but only after the Bus Arbitrator election procedure has  acted     INPUT PARAMETERS     Ptr Ba  Pointer to a data structure of the FDM_ BA REF type   Description of type  FDM_BA REF  Inside FIP DEVICE MANAGER  not manipulated by the user     REPORT     This f
116. etwork using a FULLFIP2 component at the speed  of 1 Mbit s with a 64 MHz clock     To set other values than the default ones for the turnaround and  silence time  In this case you have to set the fields of the  User_Responsability structure     The default values of the parameters that characterise the transmission on the  network are given in the table below                                       l     RP       a L    I   i      i TL tt i Tl  i i    lq T2 p a T2  gt      Mnemonic Speed Type of frame Minimum Maximum Silence Time  delimiters and   Turnaround Time   Turnaround Time  CRC T1 T2  FIP _ 31 31 25 kbits s UTE 424us 440us 4096 us  SLOW_FIP_ 1000 1 Mbit s UTE 41 us 115 us 290 us  FAST_FIP_ 1000 1 Mbit s UTE 10 us 33 us 150 us  FIP_ 2500 2 5 Mbit s UTE 13 5 us 40 us 96 us  FIP_5000 5 Mbit s UTE 31 75 us 40 us    92 us  WORLD FIP 31 31 25 kbits s IEC 424 us 440 us 4096 us  WORLD FIP 1000 1 Mbit s IEC 10 us 33 us 150 us  WORLD FIP 2500  2 5 Mbits s IEC 13 5 us 40 us 96 us  WORLD _FIP_5000 5 Mbits s IEC 31 75 us 40 us    92 us                      Table 3 1     Default values for the network transmission        Ifthe time variable  ID 9802  is used then this time is 72 us     Tslot     ALS 50278 e en    Value of the unit of time used as a basis for all time calculations  Its value in microseconds  must be selected from the following list        100  400  1000  4000  62  250  625  2500    50  200  500  2000    FIP DEVICE MANAGER Software Version 4 User Reference Manual    i
117. f FULLFIP2   40 MHz   234 us if FULLFIP2   64 MHz   188 us if FULLFIP2   80 MHz     1 3 5 Managing time variable producer redundancy    Several potential time variable producers can exist on one network segment  However  at any given moment   only one should be the active producer on the network     The various subscriber statuses with regard to the time production mechanism are      potential time producer       active time producer  a selected potential producer        active non producing consumer       active Bus Arbitrator  it elects the active producer       not involved in time management  neither producer nor consumer    The principle implemented to manage time producer redundancy is as follows        a potentially time producing subscriber      consumes the MPS time variable  ID 9802  if required        periodically transmits its STATUS via the SUBMMS messaging service  nformation_Report to the group  of potential Bus Arbitrators     e consumes a COMMAND transmitted by the active Bus Arbitrator via the SUBMMS messaging service  Information_Report        becomes an active producer if the contents of the COMMAND so require        an active time producing subscriber   e produces the MPS time variable  ID 9802      e periodically transmits its STATUS via the SUBMMS messaging service  nformation_Report to the group  of potential Bus Arbitrators     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 2 13    Available Functions       consumes a 
118. f Mode   WORLD FIP 31 or FIP 31    if Mode   FAST_ FIP _1000 or SLOW_ FIP _1000 or  WORLDFIP_ 1000    if Mode   WORLD FIP_2500  WORLD _FIP_5000   FIP_2500 or FIP_5000     Page 3 9    Description of user interface primitives    NB OF USER MPS VARIABLE        BA Dim     FULLFIP RAM Dim     NB_OF DIFFERENT ID PROG BA     Nr_ Of Repeat     Nr Of Tx Buffer     User Present List Prog   User Synchro BA Prog   User Presence Prog    User _Identification_Prog     User _Report_Prog     Maximum number of MPS variables that will be created for the  FDM instance being defined     For a station intended to be a Bus Arbitrator  this is the maximum  size  in number of 16 bit words  reserved for the arbitrating tables   The value must be a multiple of 400H in the range  0  FFFFH      Size of the private RAM of the FULLFIP2 component  in 16 bit  words   The value must be between  6000H  100000H      Maximum number of different identifiers used in a BA macrocycle     Maximum number of repetitions authorised in acknowledged  messaging after the initial attempt  at the data link layer  The value  must be between  0 and 3      0    corresponds to only one attempt  no  repetition  and    3    corresponds to 4 attempts  i e  a maximum of  3 repetitions     Number of buffers reserved for message transmission  The  FIPCODE software makes it possible to consider a maximum of  32 messages for each of the 9 channels     Pointer to a user function which will be called by the FIP DEVICE  MANAGER after the u
119. f the BA program and set a fixed macrocycle duration     BA_WAITING SYNC  Status in which the Bus Arbitrator transmits packing frames until the specified time  has elapsed or requests user restart up  external resynchronisation         BA_PENDING  Status in which the Bus Arbitrator transmits packing frames until the user asks to take over or  the monitoring time elapses     BA_APER_WINDOW  In this status  the Bus Arbitrator processes the urgent and non urgent aperiodic requests  stored in its queues  It leaves this status when the queues are empty or when the time allocated to the window has  elapsed     Page 2 16 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Available Functions    BA_MSG_WINDOW  In this status  the Bus Arbitrator processes the aperiodic messaging requests stored in its  queues  It leaves this status when the queue is empty or when the time allocated to the window has elapsed     1 4 2 2 Bus Arbitrator associated functions  The functions required to manage the Bus Arbitrator operating modes  as defined above  are as follows        Start up  The sequence of actions is as follows        launch of a time out known as Start up Time out  the value of which is greater than the longest Election  Time out possible for the network concerned     e if an activity is detected during this period  the Bus Arbitrator starts up  passing directly to the IDLE  status where it activates its election time out     e if no activity is detected durin
120. fdm_messaging_to_send_create    function and the FDM_MESSAGING_TO_SEND structure         a half duplex context used only for the reception of messages  see Chapter 3   fdm_messaging_to_rec_create    function and the FDM_MESSAGING_TO_REC structure         a full duplex context used for the transmission and the reception of messages  see Chapter 3    fdm_messaging_fullduplex_create function and the FPDM_MESSAGING_FULLDUPLEX structure      ALS 50278 e en    FIP DEVICE MANAGER Software Version 4 User Reference Manual    Page 2 31    Available Functions    For the bridge functionality you can create        a half duplex context used only for message transmission of  see Chapter 3   fdm_messaging_to_send_create  function and the FPDM_MESSAGING_TO_SEND structure        a half duplex context used only for message reception  see Chapter 3   fdm_messaging to_rec_create  function and the FPDM_MESSAGING_TO_REC structure     It is forbidden to create a full duplex context for the bridge functionality     The figure shows you an example of how to configure the local and remote addresses of subscribers and of a  bridge  In the example subscriber 57 of the segment 3 dialogues with subscriber 1 of segment 4     Page 2 32 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Chapter   Description of user interface primitives    3    1  PROVIDED PRIMITIVES  TO BE CALLED BY THE USER    The following conventions have been adopted to describe the primitives      the constan
121. fdm_mps_var_write_universal If running on IMAGE 2  fdm_mps_var_read_universal  Previous remote access to same variable is still in    _REQUEST_RAN_ ALWAYS fdm_mps_var_write_ universal  progress    fdm_mps_var_read_universal    WwW    W  W    _NOT_TIME_ VARIABLE fdm_mps_var_time_read_loc Accessed variable is not a time variable    fdm_mps_var_time_write_loc    WwW          W  W    _INDICATION_VARIABLE_IN_USE fdm mps_var_write_universal    fdm_mps_var_read_universal    _BA_STOPPED ON TIME OUT fdm_licks_conter  _CHANNEL_ALREADY_EXIST    _INVALID_NO_ CHANNEL hannel_ create    hannel nr modif    Universal access prohibited on variables with  Asent ou Areceive    Impossible to send potential BA    Creation of an existing channel    Number of channel specified is  lt  1 or  gt  8    hannel delete    Number of channel specified does not exist    _CHANNEL_NOT_CONFIGURED fdm_send_message    fdm_channel delete    NOT_TX BUFFER ON CHANNEL    _NOT_CREATED_CHANNEL_ON_THIS_VARIA   fdm_channel_create  BLE  vere Oe    _EXCEEDED_ SEGMENT NUMBER fdm_messaging fullduplex_create    fdm_messaging_ to_send_ create    No buffer associated with this channel    Creation of channel impossible on this ID  User procedure indicating message transmission  or reception has not been defined    Creation of messaging context impossible as  concerns segment number possibilities in standard    Memory pool for message reception empty    Image field missing          fdm_messaging to_rec_create    _MISSING_MEMORY_D
122. fo_empty function should be different from the execution  context of the User_Signal_Smmps function     Example of implementation of the call of fdm_smmps_fifo_empty function       for example in the case of pSOS     FDM_REF   Network Identification     this handle is returned by the function        fdm_initialize_network      static unsigned long sm_smmps     semaphore        create a task and a semaphore     t_create  TSMP   100  4096  0  T LOCAL   T NOFPU   amp TaskSMMPS      sm_create  SSMP   0  SM LOCAL  SM_PRIOR   amp sm_smmps         User_Signal_Smmps callback function     static void User_Signal_Smmps struct FDM_REF  Ref          sm_v sm_smmps      free the semaphore  gt  wake up of the task TaskSMMPS          task that call fdm_smmps_ fifo empty function      ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 1 25    General introduction    static void TaskSMMPS void        for          wait for the next event     sm_p sm_smmps  SM_WAIT  0      take the semaphore     fdm_smmps_fifo_empty Network_Identification            Page 1 26 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    General introduction    4 7 2 Operational model for accessing the universal type MPS variables    CD      Accessing universal type MPS    variables operational model       Before using this model you have to create a universal type MPS variable by the fdm_mps_var_create function   the Type  Scope field of the structure FDM_XAE should b
123. fter two TEST_P instructions have been executed     This also makes it possible to find out the status of each subscriber channel  and detect any latent faults    by  forcing reception on each channel of all the connected subscribers     The list of equipment present is updated as a function of the replies  but the list of equipment present variable is  only updated after all subscribers whose presence is being tested have been scanned     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 2 27    Available Functions    The active Bus Arbitrator also produces the list of equipment present variables each time the TEST _P instruction  is executed     The detailed operation of TEST_P instruction processing is as follows       Decoding by the FULLFIP2 system  microcode of Bus Arbitrator function  of a special BA instruction used  to tell FIP DEVICE MANAGER  via a special event associated with an IT of the IRQ type  that it has to  carry out the test of equipment present  The user BA program is no longer executed  packing frames are  transmitted by the system  to prevent the election of another BA         The interrupt which signals the equipment present test to be carried out event is processed by the  fdm_process_its_fip   procedure as follows   e memorising of return address in interrupted BA program   e creation and loading of BA program containing instructions for equipment present test      positioning of channel to be used  if double medium     
124. function makes it possible to know which image all the AE LEs of the same FIP DEVICE MANAGER  instance are operating on     INPUT PARAMETERS     Ptr Network Identification  Pointer to a data structure of the FDM_REF type     Description of type FDM REF     Inside FIP DEVICE MANAGER  not manipulated by the user     REPORT   This function submits a report indicating which image is active  stating   IMAGE 1  if the function has been executed correctly  and AE Ls are operating on Image 1     IMAGE 2  if the function has been executed correctly  and AE Ls are operating on Image 2     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 25    Description of user interface primitives    1 13 fdm_change_test_medium_ticks      PROTOTYPE     fdm_change_test_medium_ticks      FDM_REF  Ptr_ Network Identification   unsigned long New_Value      DESCRIPTION     This function is for modifying the value of the frequency with which the FIP DEVICE MANAGER calls the  medium testing function     INPUT PARAMETERS   Ptr Network Identification  Pointer to a data structure of the FDM_REF type     New_Value  New value of the frequency for calling the medium testing function     Description of type FDM REF     Inside FIP DEVICE MANAGER  not manipulated by the user     REPORT     None    Page 3 26 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Description of user interface primitives    1 14 fdm_ae le create    SUMMARY     Function for creatin
125. g an AE LE    PROTOTYPE    FDM AE LE REF   fdm_ae_le create    FDM_ REF  Ptr Network Identification   int Nb_Vcom     enum FDM ALLOWED Type       DESCRIPTION     This function enables an AE LE to be created  On creation  this AE LE does not contain any variables     INPUT PARAMETERS     Nb_Vcomr  Max  number of MPS variables that the AE LE could contain   Ptr Network Identification  Pointer to a data structure of the FDM_REF type     Type  CHANGE ALLOWED  The P C attribute of the variables contained in this AE LE may  be modified    CHANGE NOT ALLOWED  The P C attribute of the variables contained in this AE LE may  not be modified    Description of type FDM REF     Inside FIP DEVICE MANAGER  not manipulated by the user     REPORT     This function produces either       a NULL PTR pointer if it has not been able to run correctly  in which case the  User Signal Warning    function has been called at least once       or a pointer to an FDM AE LE REF type structure  inside FIP DEVICE MANAGER  not manipulated by  the user      ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 27    Description of user interface primitives    1 15 fdm_ae le deleteQ  SUMMARY     Function for deleting an AE LE     PROTOTYPE   unsigned short fdm_ae_le delete      FDM AE LE REF  Ptr AE LE      DESCRIPTION     This function enables an AE LE to be deleted  The AE LE to be deleted must be in CONFIGURATION mode    It must not be in OPERATION mode      INPUT PARAMETERS     Pt
126. g the start up period  three packing frames are transmitted  If a fault is  detected during transmission  the Bus Arbitrator returns to the STOPPED status  otherwise it passes to the  IDLE status where it activates its election time out     e  when the election period has elapsed  and the Bus Arbitrator has not detected any activity on the network   it becomes active by executing the required BA program        Stop  The stop command causes a return to the STOPPED status  It is taken into account from any other  status       External resynchronisation of a macrocycle  this command is used to position the user sync pulse that makes  the Bus Arbitrator resume execution of the macrocycle        Macrocycle switching  This function is used to select another macrocycle in order to change the nature of the  flow on the network without losing control  The change of macrocycle is only effective at the end of the  current macrocycle execution     1 4 3 Setting the parameters of the Bus Arbitrator Start up function  The sequence of operation for starting up a Bus Arbitrator is described in Subsection 1 4 2 2  of this chapter     The start up of a Bus Arbitrator function uses the following two time outs  Start up Time out and Election  Time out     The parameters that are used to calculate these two time outs are set by user with the following functions      fdm_initialize network        fdm_ba_set_parameters          fdm_ba_set_priority       ALS 50278 e en FIP DEVICE MANAGER Software Ve
127. ge     Description du type  FOM SYNCHRO BA VAR     typedef struct        FDM_SYNCHRO_BA VAR     Report  VAR_TRANSFERT    NO_VAR_TRANSFERT    Hi MC Nr     Subscriber     unsigned char Report   unsigned char Hi_MC_Nr     unsigned char Subscriber     Execution report of the Synchro _BA variable read request     The Synchro BA variable has been received  therefore the following  parameters are significant     The Synchro BA variable has not been received  therefore the following  parameters are not significant     High order byte of the BA macrocycle number that is running     Physical address of the active Bus Arbitrator that produced the Synchro BA  variable     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 15    Description of user interface primitives    REPORT   The fdm_initialize network   primitive returns a pointer to a FDM_REF type structure     If initialisation could not take place correctly  the NULL_ PTR pointer is returned     Description of type FDM REF     Inside FIP DEVICE MANAGER  not manipulated by the user     Page 3 16 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Description of user interface primitives    1 5 fdm_stop_network    SUMMARY     Function for stopping deleting a FIP DEVICE MANAGER utilisation context  i e  stopping the network  corresponding to this instance       PROTOTYPE     void fdm_stop network  FDM_REF  Ptr_ Network Identification       DESCRIPTION     This primitive makes 
128. ge 1 38 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Chapter   Available Functions    Z    1  DESCRIPTION OF FUNCTIONS    1 1 Self tests    1 1 1 Aims   This function is used to run the    In Circuit    test of FULLFIP2 and its associated components   The test is run in two stages      one OFF LINE stage  when the equipment is being powered up      one ON LINE stage  FULLFIP2 configured and connected to the network      The limits are those set by the testing possibilities of the FULLFIP2 system  possibility of accessing the    core     of the components      There are no line tool tests    The following are required       adequate coverage has to be established       faulty elements have to be detected accurately      performance levels have to be reached which do not penalise the user application      aspecial microcode must be available for certain tests  included in FIPCODE V6      Due to critical sections in the ON LINE test stage  the tests are divided into basic blocks whose run time does not  affect the user application  This breakdown requires that the sequencing of the various tasks be closely  monitored     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 2 1    Available Functions    1 1 2 Offline test functions    Offline test functions comprise all the test functions which are called before FULLFIP2 is connected to the  network     They are included in the test stage when a FIP DEVICE MANAGER instan
129. grity test     The aim of the test is to check integrity of the microcode after it has been loaded into the private FULLFIP2  memory  Calculating the check sum of each page of microcode and comparing it with the check sum  supplied for reference does this        check of interrupt lines IRQn and EOC of FULLFIP2  checks that there is no discrepancy between the value  of signals IRQn and EOC transmitted by FULLFIP2 and the value seen by the user processor     Page 2 2 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Available Functions    1 1 3 Online test functions    Online test functions comprise all the test functions  which are called after FULLFIP2 has been connected to the  network  There are four types of functions        ON LINE integrity test of FIPCODE  calculates check sum of each page of microcode to be tested and  compares it with the original  A thorough check is carried out page by page        partial test of private FULLFIP2 RAM  adds a descriptor of a variable and of the corresponding value zone to  the FULLFIP2 FIPCODE database  The test is carried out in this zone by simulating a variable write using  the descriptor  The page in question is thus circulated  This makes it possible to test the entire private RAM  containing the pages used to store variable values or message contents     These functions are processed in a primitive which runs through the test blocks one after the other so that the  user application is not penalised 
130. he    list of equipment present    variables   e management of the presence variable    e management of the identification variable    e management of the report variable     e management of the BA sync variable       Managing  gt WORLDFIP DATA LINK LAYER    messages    This functionality enables the data connection layer services to be performed  These services provide the user  with access to messages at  DLL WorldFIP    level  The functionality consists of the following basic  functions        configure messaging      transmit a message     e receive a message       Managing the time  This functionality consists of the following basic functions   e managing election of time variable producer      time variable read     e time variable write     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 1 5    General introduction    4  OVERVIEW OF THE INTERFACE WITH THE USER  APPLICATION    The environment of an application that uses FIP DEVICE MANAGER Release 4 is the following        Error Warning CallBack Functions    Error CallBack WarningCallBack  Function Function           vent CallBack    Functions    Fip Device Manager Release 4       Interrupt Handlers    IRQ IRQ  amp  EOC  Handler Handler          Handler    Deferred Services i  RTC    Handler H    EOC  Handler       EOC Interrupt         if IRQ and EOC are wired to form an OR gate then EOC should be configured in level mode     EOC can be configured either in level mode or in pulse mode    
131. iation of AE LE objects  this class is derived from the  Fip_Device_Manager class     MPS Var_Prod  this class is used for the instantiation of Producer MPS Variables objects  this class is  derived from the AE_LE class     MPS _Var_Cons  this class is used for the instantiation of Consumer MPS Variables objects  this class is  derived from the AE_LE class     MPS _Var_Syne  this class is used for the instantiation of Synchronisation MPS Variables objects  this class  is derived from the AE_LE class     MPS _Var_Cons_and_Prod  this class is used for the instantiation of Producer Consumer MPS Variables  objects  this class is derived from the class AE_LE        MPS Areceive  this class is used for the instantiation of periodic MPS Variables with indication objects  this  class is derived from the AE_LE class     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page B 1    Use with C      The fdm h file contains the class definition and implementation for each of the above classes  The body of the  member functions contains calls to the C functions described in Chapter 3     Demos CC116 sub directory contains an C   example     Page B 2 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    AE LE    BA    DLL    FDM    FIPCODE    FULLFIP2    FIELDUAL    kbits s     Mbits s     MHz       MPS     SM_MPS    ALS 50278 e en    Glossary    Application Entity Link Entity   Bus Arbitrator  WorldFIP Bus Arbitrator   Data Link Layer   FIP 
132. icity of the timer interrupt a tick     The real time clock interrupt handler has to activate a task  Inside the body of this task you have to call the FDM  function fdm_ticks_counter     The function fdm_ticks_counter manages all the time out aspects of the FIP DEVICE MANAGER  The  following parameters of the structure FDM_ CONFIGURATION SOFT of the function fdm_initialize_network  set the values of the FDM time management aspects     e Test Medium_Ticks  periodicity in ticks of the call of the internal functionality of medium redundancy  management     e Time _Out_Ticks  number of ticks to trigger a time out  it is common to all primitives requiring a time out  except messaging     e Time _Out_Msg Ticks  number of ticks to trigger a time out for messaging   e OnLine_Tests_Ticks  periodicity in ticks of the call of the internal self test functionality   Example of implementation     for example in the case of pSOS     static unsigned long sm _rtc     semaphore        create a task and a semaphore     t_create  TRTC   100  4096  0  T LOCAL   T NOFPU   amp TaskRTC      sm_create  SRTC   0  SM_LOCAL   SM_PRIOR   amp sm rtc         RTC interrupt handler     static void RTC_handler void          sm_v sm_rtc    free the semaphore  gt  wake up of the task TaskRTC          task that treats the real time clock interrupt       ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 1 21    General introduction    static void TaskRTC void        for       fdm ti
133. ified in Chapter 1 Subsection 4 2  of this document     Page 3 56 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Description of user interface primitives    1 38 fdm_mps_fifo_empty    SUMMARY     The user calls this function to activate FIP DEVICE MANAGER for processing the events regarding universal  read or write requests for MPS variables     PROTOTYPE   fdm_mps fifo empty     FDM_REF  Ptr Network Identification       DESCRIPTION     This function enables the user to find out the events received regarding universal read or write requests for MPS  variables by emptying the corresponding file  Activation of this procedure by the user leads to activation by the  FIP DEVICE MANAGER of the User_Signal_Var_xxx user procedure  xxx cons or prod depending  on the case  provided it is done on configuration of the variable     This function must be called after that the user   written function User_Signal_Mps_Aper   is called by FIP  DEVICE MANAGER     INPUT PARAMETERS     Ptr Network Identification  Pointer to a data structure of the FDM_REF type   Description of type FDM_ REF  Inside FIP DEVICE MANAGER  not manipulated by the user     REPORT     None     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 57    Description of user interface primitives    1 39 fdm_ba_load_macrocycle_fipconfbQ    PROTOTYPE     FDM BA REF   fdm_ba_load_macrocycle fipconfb      FDM_ REF  Ptr Network Identification   const unsigned short  Prog
134. interrupt to process    NO_EOC_IRQ TO PROCESS  if there are no more left to process    EOC must be configured by level     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 21    Description of user interface primitives    1 9 fdm_process_it_eoc    SUMMARY     Function for processing EOC interrupt only     PROTOTYPE   unsigned short fdm_process it _eoc     FDM_REF  Ptr Network Identification       DESCRIPTION     This function is for processing EOC interrupts  In this case it must be called each time an EOC interrupt occurs if  it is configured by level     INPUT PARAMETERS     Ptr Network Identification  Pointer to a data structure of the FDM_REF type    Description of type FDM REF     Inside FIP DEVICE MANAGER  not manipulated by the user     REPORT   This function submits a report of the following type   EOC_TO_ PROCESS  if there is still at least one interrupt to process    NO_EOC_TO_PROCESS  if there are no more interrupts to process    Page 3 22 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Description of user interface primitives    1 10 fdm_process_it_irqQ   SUMMARY     Function for processing IRQ interrupts only     PROTOTYPE   unsigned short fdm_process it_irgq      FDM REF  Ptr Network Identification       DESCRIPTION     This function is for processing IRQ interrupts  In this case it must be called each time an IRQ interrupt occurs     INPUT PARAMETERS     Ptr Network Identification  Pointer to a data
135. ion for    testing the mediums    using the FIP DEVICE MANAGER      cf CONFIGURATION _SOFT Test_ Medium_Ticks     Description of type FDM_ IDENTIFICATION     typedef struct   char  char  char  char  char  char  char  char     FDM_IDENTIFICATION    where     Vendor Name    Model_ Name    Revision     Tag_ Name     SM MPS Conform    SMS_ Conform    PMDP_Conform    Vendor Field     Page 3 14 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Vendor Name     Model Name     Revision     Tag Name     SM_MPS Conform     SMS_ Conform     PMDP_Conform     Vendor Field     Description of user interface primitives    Pointer to a string of characters which contains the name of the equipment  supplier  This string must end with the character     0     The length of this string is  limited by the size of the identification variable and must be within the  2  119   range     Pointer to a character string which contains the name of the equipment at the  supplier   s premises  This string must end with the character     0     The length of  this string is limited by the size of the identification variable and must be within  the  2  119  range     Pointer to a character string which contains the revision reference of the  supplier   s equipment  The value of this reference must be between  0  255      Pointer to a character string which contains the Tag Name of the equipment in  the context of the user application  This string must end with the character     0     
136. ion of the FIP DEVICE MANAGER and the WorldFIP connection into  question  and FATAL ERROR type errors which do     When the FIP DEVICE MANAGER detects a FATAL ERROR the User _Signal_Fatal_Error     callback function is called  The user provides this function to FDM when he calls the fdm_initialize_network  function  field of FDM_ CONFIGURATION HARD structure   see Chapter 3      In this procedure  the user must take care to restore all the memory allocated by deleting all the objects created  one by one  This procedure must end with the fdm_stop_ network    function being called  which itself calls  the user function User_Reset_Composent    to reset FULLFIP2      The circuit is thus reset  nothing more is transmitted or received from the network and start up can only occur  after reconfiguration  using fdm_initialize network         To do so  you must remember to restore  if necessary  any reserved memory  for example in the  User Signal Fatal_Error primitive     When the FIP DEVICE MANAGER detects a WARNING error  the user callback function  User Signal Warning   is called  The user provides this function to FDM when he calls the  fdm_initialize_network function  field of FDM_CONFIGURATION_HARD structure   see Chapter 3   After this  function is called  FIP DEVICE MANAGER continues in sequence     Following the detection of an error  WARNING  and after the corresponding user function has been called  the  function concerned immediately sends the Oxffff report to the caller  
137. ipment present variable oo    eee eseseceseeecneesecseesetecsaesecnevsecaeesesecsaeesnevaeeaeaees 2 27  1 5 3 1 ZN130 or FIELDUAL in compatible mode 00    e E E a i ERA E E RRR 2 27  1 5 3 2 FIELDUAL in new mode  1 6 Managing WorldFIP data link layer messages           cccccsceesseesseesceesceeeceeceseceaecaecseecaeeeseeeeeeeeeeneeees 2 29  1 6 1 TintrOd Clini n eare ene e be lv aA EEKE NE A cee Guaeet vena tecdbeeu sicitesede ORA 2 29  1 6 2 Transmission  configuration  2ssiacinndcdse aa anaa dation dhed heen lias dis dented hevaeies 2 30  1 6 3 Reception configuration ai sesser pE REEE AEN EAEE NETER hio EENES 2 30  1 6 4 User application that plays the role of a bridge            ssnsessesessessesssesssssesresssstsersessesstsersesstsernesseseesessesesees 2 31    CHAPTER 3   DESCRIPTION OF USER INTERFACE PRIMITIVES                            1  PROVIDED PRIMITIVES  TO BE CALLED BY THE USER   seessesssesesesesesesrsesesssststststststststseststses 3 1  1 1 fd imalize a se sccs 8 Les eae kG is eo ELA ed OS tae ES RO es  We a 3 1  1 2  fd BEtLAVErSION   sis   cccscvs  2 leleFesoresa dele a ais kb Rage eata shares ees eee 3 2  L3 Adin  ticks counti ea cde acces Hie  cok n asd the tod Moule e te Hag Sod Mh eer iy 3 3  LA  Stdimreinitialize  network  seis cca eee RE dee a ee 3 4  1 5  fdini stop metwork     sc  ciate kek wiih eeeeisiess Aho aches Rees se eR ans 3 17  1 6  fdm    online  testare an a scien ceded see eens ances en EE E EE 3 18  1 7  fdm valid mediumi  2   ccscs cece
138. it possible to end the use of a FIP DEVICE MANAGER context  created by the  fdm_initialize network    function by restoring all the allocated data  memory      Each object which is dependent on the context to be deleted must be deleted first  AE LE  variables  messaging  etc      INPUT PARAMETERS     Ptr Network Identification  Pointer to a data structure of the FDM_REF type     Description of type FDM REF     Inside FIP DEVICE MANAGER  not manipulated by the user     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 17    Description of user interface primitives    1 6 fdm_online_test  SUMMARY   Function for running self diagnosis functions during operation     PROTOTYPE   unsigned shortfdm_online test      FDM_REF  Ptr_ Network Identification       DESCRIPTION     This function enables the FIP DEVICE MANAGER to run a part of the self diagnosis functions during operation  each time a call is made     This function can be used if CONFIGURATION _SOFT Online Tests Ticks   0  Otherwise it is the FIP  DEVICE MANAGER which automatically activates the self tests during operation at a frequency equal to the  CONFIGURATION SOFT Online Tests Ticks parameter     INPUT PARAMETERS     Ptr Network Identification  Pointer to a data structure of the FDM_REF type    REPORT   This function produces a report that reads   FDM_ OK if the function has been carried out correctly    FDM_NOK  if the function has not been carried out correctly  in this case the user fu
139. its fip   to indicate  hat a sync event has been received    fdm_process_ its fip   to indicate  that a universal variable has been  ransmitted    fdm_process_its fip   to indicate  hat a universal variable has been received    fdm_process_ its fip   to indicate  hat a produced variable has been  transmitted       fdm_process_its_fip   to indicate  hat a consumed variable has been  received           Management of time producer redundancy  if switching from prod  to cons  or vice  versa     fdm_mps var time write loc    to request the write value of the variable  with dynamic refresh status       fdm_mps var time read_loc    to give the read value of the variable with  dynamic refresh status         fdm_msg_rec_fifo_empty    to  transmit received message    fdm_msg_ send fifo empty   to  transmit received acknowledgement       The transmission of a message if this  primitive was called for the context  concerned     fdm_generic time read_loc    to give time value       fdm_generic time write loc    to request time value          ALS 50278 e en    Chapter   Performance levels    4    1  USER PRIMITIVE RUN TIME    1 1 Introduction    Performance levels are measured using a        CC117 board  target with an i960SA microprocessor at 16 MHz with a code generated with no particular  optimisation options  with a 1 Mbit s network  therefore FULLFIP2 64 MHz  and pSOS         CC121 board  ISA board  1 MBytes s  with a FULLFIP2 64 MHz  1 Mbit s       CC139 board  PCI board  132 MBytes 
140. l management of the software     fdm_initialize  Creation of the device  fdm_get_version   Access to the version of the software  fdm_ticks counter    Management of internal timing    NETWORK  a WorldFIP network  instance of software to manage it     fdm_initialize network    Creation and start up of network   fdm_stop_ network    Deletion of network     dm_valid_m  dium   Initialization of medium redundancy management   fdm_ack_ewd_medium   Acknowledgment of the Watch dog default   fdm_online test    Activation of online self tests   fdm_process its fip   Processing of IRQ and EOC interrupts   fdm_process it_irq   Processing of IRQ interrupts   fdm_ process it _eoc Processing of EOC interrupts   fdm_switch_ image    Changing the image upon which all the network AE_LEs  function   fdm_get_image    Obtaining the image upon which all the network AE_LEs  function   fdm_generic time initialize   Initialization of time management    fdm_generic_ time _set_priority   Setting of the subscriber priority in the time producer election  mechanism    fdm_generic_time_set_candidate_ Including or not including the subscriber in the time producer          for _election   election mechanism  fdm_get_local_report    Local report variable read  fdm_change_ test _medium_ticks   Modification of the medium test run time  fdm_mps fifo _empty   Emptying of aperiodic MPS events  fdm_smmps fifo empty   Emptying of SMMPS events   fdm msg send fifo empty Activation of message transmission function  fdm
141. ld with FIP DEVICE MANAGER but only FIPIO Agent  not supplied by  ALSTOM      Page 2 26 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Available Functions    1 5 2 Managing network management variables  The operations to be carried out on these variables are as follows        Creation  they are automatically created by the FIP DEVICE MANAGER for each controlled network   when the corresponding FIP DEVICE MANAGER instance is created        Initialisation  the presence and identification variables are initialised when they are created  the  identification variable with the values supplied by the user   The report variable is initialised by FIP DEVICE  MANAGER the first time the medium test function is called  The list of equipment present variable is  initialised by the active Bus Arbitrator subscriber as the potential network subscribers are scanned  however   it is not produced until all the subscribers have been scanned at least once         Updating  the identification variable is never updated  The presence variable is updated  the last byte  as a  function of the possible change in characteristics of the local Bus Arbitrator function  The report variable is  updated each time the medium test function is activated  The list of equipment present variable is updated by  the active Bus Arbitrator each time a subscriber is scanned       Read  each of these variables is read by means of a universal read request  If the variable to be read is not  
142. le is read or written  the operations are the same as those for variables with dynamic    refresh status  see Subsection  1 3 4 2     1 3 4 4 Synchronisation variables    Synchronisation variables are used to signal events generated on reception of a frame of the ID_DAT type with  no associated RP_DAT  This notion        eliminates the need for a producer  there is no associated user variable     is only visible locally     The signal mode of the event in question is the mode that consists in being alerted directly by a special physical  interrupt signal from the FULLFIP2 system  The semantics of this signal are therefore     pure sync event  reception        Page 2 12 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Available Functions    This mode makes use of the following mechanism      the EOC signal from the system is used as an interrupt source        it is set on reception of a frame of the ID_DAT type with no associated response if the descriptor of the  identifier concerned contains the    signal mode    parameter set to the corresponding value        no additional data are associated with this signal        the interrupt is either a pulse lasting approximately 310 ns  in which case it needs no external  acknowledgement  or it operates at various levels and is acknowledged by FIP DEVICE MANAGER after  the user procedure used in this context has been called  The choice of interrupt type can be configured        Pulse duration is  375 us i
143. lers for the IRQ  EOC and real time clock    2  Initialize FDM by calling the function fdm_initialize  see Chapter 3     3  Create a context for using FDM on a network  this context is related to one FULLFIP component      e allocate and fill the structures FDM CONFIGURATION HARD  FDM CONFIGURATION SOFT and  FDM_IDENTIFICATION  then call the function fdm_initialize_network  see Chapter 3        memorize the returned handle  this handle is then used as parameter in the other functions     For each FULLFIP component that your FDM has to drive  you have to call  the fdm_initialize_network function with the right parameters     4  Validate the medium s  by calling the function fdm_valid_medium   5  Create and initialise the tasks that will process the interrupts  see Subsections Falana h 6lof this chapter      6  Implement the Error Warning callback functions  see Subsection 4 2 of this chapter and Chapter 3 for the  description of the FDM_ERROR_CODE structure in the fdm_initialize_network function and Chapter 5 for  the list of the errors warnings      7  If you want to access the SM MPS variables  see Subsection 1 5 of Chapter 2 for their description   then  follow the model described in Subsection 4 7 1 of this chapter     8  If your application manages MPS variables  before creating them you have to create the AE_LE objects  see  Subsection 1 3 of Chapter 2  by calling the function fdm_ae_le_create  see the Chapter 3      9  If you want to send and receive universal type MPS 
144. ls of the TEST MEDIUM procedure     e the recommended value of the threshold is 5      ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 2 5    Available Functions    1 3 Managing AE LE and MPS variables    1 3 1 General    This function is used to manage the operating modes of an AE LE  set it up  set its parameters  adjust it and  access the MPS variables it contains     The AE LE such as FIP DEVICE MANAGER handling them are unconnected MPS variables associated with  their projections on buffers identified by a data link layer identifier     1 3 2 Management of AE LE operating modes    1 3 2 1 Diagram of AE LE operating modes            fdm ae le delete      fdm _ mps_var_change periods     fdm mps_var_change MSGa    fdm mps var create    fdm mps_ var change RQa    fdm_mps_var_ change ID      fdm mps_var_ change priority       fdm ae le stop    fdm ae le start      fdm_mps var change periods     OPERATION    fdm_mps_var_change priority      fdm_mps_var_change prod cons       Page 2 6 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Available Functions    1 3 2 2 Associated functions  The functions required to manage the operating modes of an AE LE as defined above are as follows        creation and deletion  a creation request creates the envelope  which receives all the variables of this AE LE   A deletion request deletes the envelope        start up and shutdown  start up causes the variables contained in the AE L
145. m_stop_ network        The BA program should contain an aperiodic window  instruction  SEND_APER      ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 75    Description of user interface primitives    1 52 fdm_read_identification    SUMMARY     Read function of the subscriber identification variable     PROTOTYPE     unsigned short fdm_read_identification      FDM_REF  Ptr_ Network Identification   unsigned char Subscriber     DESCRIPTION     This function is for requesting the subscriber identification SM_ MPS variable read  including itself   This is  carried out by means of an aperiodic request regarding the variable in question     When FIP DEVICE MANAGER will receive the variable  it will call the User Identification_Prog    function  This function is a _ user written function given in the configuration parameter   FDM_ CONFIGURATION SOFT inthe fdm_Initialize Network    function      INPUT PARAMETERS     Ptr Network Identification  Pointer to a data structure of the FDM_REF type     Subscriber  Physical address on the network of the subscriber whose  identification variable is to be read     Description of type FDM REF     Inside FIP DEVICE MANAGER  not manipulated by the user     REPORT     This function submits a report as specified by the primitive fdm_stop_ network        The BA program should contain an aperiodic window  instruction  SEND_APER      Page 3 76 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en  
146. mber of ticks to trigger execution of the online self test primitive  If it  equals 0  then the user is responsible for calling this function     Threshold of medium default between two calls of internal function that  tests the mediums used to declare medium NOK  for reception   The value  must be given as a percent     of transactions without errors compared to  transactions with errors    Only in FIPIO mode  periodicity of the transmission of the  Segment Parameters SM_MPS variable by the FIPIO manager    Data structure which  if the    Mode    field is FDM_ OTHER  makes it  possible to configure the internal registers with values compatible with the  operating modes of earlier versions which are no longer taken into account  with V4  see the FIPCODE User Manual  6  Chapter 2  Subsection 1 1     see description of FIP_Timer_Cnt parameter in FIPCODE User Manual  6   Chapter 2  Subsection 1 1    see description of FIP_Extend Par parameter in FIPCODE User Manual   6  Chapter 2  Subsection 1 1     Pointer to a user function which will be called by the FIP DEVICE  MANAGER following reception or transmission of the value of a  universa    type variable     Pointer to a user function which will be called by the FIP DEVICE  MANAGER following reception of the value of a network management  variable  list of equipment present  presence  report  identification or BA  sync     Pointer to a user function which will be called by the FIP DEVICE  MANAGER following reception of a message  
147. mbined as follows      Produced implies with or without transmission and Consumed implies with or without reception        IMAGE 1 IMAGE 2  nil produced  nil consumed  produced produced  produced nil  consumed consumed  consumed nil   pure event pure event  nil pure event  pure event nil    The idea of    image 1    and    image 2     or Master Slave or Normal Backup  as regards the variables of an AE LE  is only meaningful in terms of what can be transmitted or received on the network  under no circumstances can it  refer to what is produced or read by the user     The idea of an AE LE image implies the image seen from the network  The user has only one image of the  AE LEs  which comprises all the variables declared in the AE LE  regardless of the image seen  from the  network to which they belong     This means that once a variable exists in an AE LE  regardless of the image s  of the AE LE to which it belongs   it is always accessible  and in the case of a produced variable in particular  it is always updated     The following table shows the different possible cases  indicating what is happening on the network and what the  user can do     It should be noted that the transmission or reception indication depends on what is happening on the network and  therefore produced or consumed implies with or without a transmission indication     Page 2 8 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Available Functions       Variable   Produced   MPS
148. mory field     FDM_ WITH DTACK Dtack    hard    signal can be used  As opposed to activation by the    software of FULLFIP2 Ustate register FR bit test each time the  system FILE register is accessed     FDM_WITH_IRQ EOC_ON_SAME_INTERRUPT   Use of interrupts EOC et IRQ  by host microprocessor  at the same  interrupt level     FDM_ WITH LITTLE ENDIAN Data representation in conventional INTEL internal memory     FDM_WITH BORLAND For options specific to various compilers   FDM_WITH_MICROSOFT  FDM_WITH_METAWARE  FDM_WITH_GNU    FDM_WITH_MICROTEC  FDM WITH MSDOS  FDM_WITH CAD UL       FDM_WITH_DSP For options specific to various microprocessors   FDM_WITH_X86  FDM_WITH_ PLX9050    FDM_WITH_ SPECIAL USAGE If the option is set to YES then the user can specify some elements  for his application  These elements can be defined between a  ifdef  FDM WITH SPECIAL USAGE and  endif couple     FDM_WITH_WIN32 For use with Win 32     Table 6 1     FIP DEVICE MANAGER library options       Page 6 6 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Installation procedure    There are three constants     SUSPEND _DELAT  Time out on execution of TEST _P by an active BA  If this    timeout elapses  the BA is stopped     If the value equals INFINITY  there is no active timeout     _5_millisecondes    SPLX_VALUE FOR MASKALL  Max  operating level for an interrupt to be impossible  must be    ALS 50278 e en    greater than max  level used     Used with certain processors   6
149. n  requested by the fdm_send_message    primitive  line acquired or time out      In the second case  when the user activates this procedure  the FIP DEVICE MANAGER activates the  User _Msg_Ack   user procedure  provided for this purpose on configuration of the messaging context on  which the message is sent     INPUT PARAMETERS     Ptr Network Identification  Pointer to a data structure of the FDM_REF type     Description of type FDM_ REF     Inside FIP DEVICE MANAGER  not manipulated by the user     REPORT     None     Page 3 98 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Description of user interface primitives    1 65 fdm_msg rec _fifo_empty    SUMMARY     Activation of processing of message in reception mode     PROTOTYPE     void fdm msg rec fifo empty        FDM_REF  Ptr Network Identification       DESCRIPTION   This function enables the user to find out about received messages after their reception has been acknowledged     When the user activates this procedure  the FIP DEVICE MANAGER activates the User_ Msg Rec_Proc    user procedure  provided for this purpose on configuration of the messaging context on which the message was  received     INPUT PARAMETERS     Ptr Network Identification  Pointer to a data structure of the FDM_REF type     REPORT     None     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 99    Description of user interface primitives    1 66 fdm_msg_ref_buffer_free      PROTOTYPE 
150. n 6 taken into  account which provides significant improvements as regards processing performance levels on user interface    and line  turnaround time        Management of time variable  ID9802H  and time multi producers     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page A 5    Appendix   Use with C      B    FIP DEVICE MANAGER can be used in a C   environment  The classes of FDM are the following     Fdm_Initialize  this class is used for the general initialisation of the FDM timers     Fip_Device_Manager  this is the root base class  it is used for the instantiation of a WorldFIP network  connection     Bus_Arbitrator  this class is used for the instantiation of Bus Arbitrator objects  this class is derived from  the Fip_Device_Manager class     GenericTime  this class is used for the instantiation of the MPS time variable object  this class is derived  from the Fip_Device_Manager class     MsgDataLinkFullduplex  this class is used for the instantiation of a full duplex message context object   this class is derived from the Fip_Device_Manager class     MsgDataLinkToSend  this class is used for the instantiation of a half duplex transmitting message context  object  this class is derived from the Fip_Device_Manager class        MsgDataLinkToReceive  this class is used for the instantiation of a half duplex receiving message context  object  this class is derived from the Fip_Device_Manager class     AE_LE  this class is used for the instant
151. n it is the destination address of the message  transmitted     31    Most Least  significant byte  significant byte  Segment    of the LSAP   of the LSAP       Ifbit31 1  Remote DLL Address is unknown  in general used for    broadcast   transmission for all the stations and reception from all  the stations      Ifbit31 0  Remote DLL Address is known  i e  a message is received    only if Local _ DLL Address and Remote _DLL_Address  correspond to the address field of this message     Page 3 82 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Description of user interface primitives    It is forbidden to configure the station as a bridge  at least 2 networks  in full   duplex mode  A station can be configured as a bridge only in half duplex  mode  see functions fdm_messaging_to_send_create and  fdm_messaging_to_rec_create      Description of type FDM_ MSG TO SEND     typedef struct _FDM MSG TO SEND              struct FDM MSG TO SEND  Next    struct FDM MSG TO SEND  Prev   integer Nr_Of Blocks   FDM_MSG_T_ DESC  Ptr Block   Unsigned long Local DLL Address  unsigned long Remote DLL Address   FDM MSG_SEND_ SERVICE REPORT Service Report   FDM_ PRIVATE DLI T Fdm Msg T Private     FDM_MSG_TO SEND   Next  Pointer of concatenation on another data structure of the  same type  front concatenation    Prev  Pointer of concatenation on another data structure of the  same type  back concatenation    Nr_Of Blocks  Number of FDM_MSG_T_ DESC type blocks that make 
152. n produces a report that reads    AE_LE_NOT_EXIST  if the function has been carried out correctly  AE LE non existent   AE_LE_CONFIG  if the function has been carried out correctly  AE LE being configured     AE_LE_RUNNING  if the function has been carried out correctly  AE LE in operation     Page 3 30 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Description of user interface primitives    1 18 fdm_ae le stop    SUMMARY     Function for shutting down an AE LE     PROTOTYPE   unsigned short fdm_ae_le stop      FDM AE LE REF  Ptr AE LE    DESCRIPTION     This function enables an AE LE to be shut down     INPUT PARAMETERS     Ptr AE LE  Pointer to a data structure of the FDM_ AE LE REF type     Description of type FDM AE LE REF     Inside FIP DEVICE MANAGER  not manipulated by the user     REPORT     This function produces a report as specified in Chapter 1  Subsection 4 2  of this document     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual    Page 3 31    Description of user interface primitives    1 19 fdm_mps_var_create    SUMMARY     Function for creating an MPS variable     PROTOTYPE    FDM MPS VAR REF  fdm_mps var_create    FDM AE LE REF  Ptr AE LE   const FDM XAE  Var      DESCRIPTION     This function is for creating a variable and loading it into an AE LE     INPUT PARAMETERS   Ptr AE LE  Pointer to a data structure of the FDM_AE LE REF type   Var  Pointer to a data structure in the FDM_XAE format  describing
153. n the FIPCODE data base  This function returns an array of char  that contains the variable value to be written  This function call is encapsulated between  OS Enter Region    and OS Leave Region   calls  So the execution time of  these user written functions must be as short as possible     Delta  Pointer to the constant representing the time differential already provided by the user     REPORT     This function produces a report as specified in Chapter 1 Subsection 4 2  of this document     Page 3 44 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Description of user interface primitives    1 29 fdm_mps_var_read_loc    SUMMARY     Read function of a local variable     PROTOTYPE     FDM MPS READ STATUS fdm_mps_ var _read_loc         FDM MPS VAR_REF  Ptr MPS VAR     FDM MPS VAR DATA  Storage Buffer   j     DESCRIPTION     This function makes it possible to read a local variable  obtaining in return the value read and any MPS status     INPUT PARAMETERS   Ptr MPS VAR  Pointer to a data structure of the FDM_ MPS VAR_REF type   Storage Buffer  Pointer to a data structure of the FDM MPS VAR DATA type     Definition of type  FDM_ MPS VAR DATA     See primitive fdm_mps_var_create       Description of type FDM MPS VAR_REF     Inside FIP DEVICE MANAGER  not manipulated by the user     REPORT     This function produces a report of the FDM_ MPS READ STATUS type     Definition of type  FDM MPS READ STATUS  typedef struct FDM_ MPS READ STATUS     Enum Report
154. nchronisation   SYN_WAIT  Requests external synchronisation   NEXT MACRO  Reloops the macrocycle   TEST P  Requests a test of subscribers present   END BA  Denotes the end of a BA program    The behaviour of the NEXT MACRO instruction depends on the bit rate of the network        at 31 25 kbits s  after the NEXT MACRO instruction and the end of the macrocycle  a time T composed of  Silences and Stuffing will elapse  This time depends on the FDM_WITH_OPTIMIZED_ BA compilation  option  in the user_opt h file         if FDM WITH _OPTIMIZED_ BA is set to NO then     T   MAX_ Subscriber   2  T0   6260   where  e MAX Subscriber parameter is set by the user in the fdm_ba_set_ parameters    function  e TO is Silence Time Out and its value is 4096 ms  for details see  1        if FDM WITH _OPTIMIZED_ BA is set to YES then    T    GreatestNumberOfBusArbitrator   2  T0   6260   where    e GreatestNumberOfBusArbitrator is a parameter of the FODM CONFIGURATION HARD structure  set by the user in the fdm_initialize network    function    e TO is Silence Time Out and its value is 4096 ms  for details see  1         at 1 Mbit s  2 5 Mbits s and 5 Mbits s  after the NEXT_MACRO instruction and the end of the macrocycle   a time that corresponds to one Stuffing ID_DAT Silence will elapse  the elapsed time depends on the bit rate     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 2 15    Available Functions    1 4 2 Managing Bus Arbitrator operating modes    1 4 2
155. nction  User Signal Warning has been called at least once to warn of an FDM ERROR CODE  type fault that is specified in Chapter 5 of this document     Page 3 18 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Description of user interface primitives    1 7 fdm_valid_medium    SUMMARY     Function for initialising medium redundancy management    PROTOTYPE   unsigned short fdm valid medium    FDM_REF  Ptr_Network_Identification     enum MEDIUM_DEF Bus_Mode      DESCRIPTION     This function initialises the medium management functionality by indicating which channels are used and what  fault threshold to take into account  see Chapter 2  Subsection 1 2  of this document      INPUT PARAMETERS     Ptr_Network_Identification  Pointer to a data structure of the FDM_REF type     Bus_Mode  _ MEDIUM 1  Selection of Channel 1  _ MEDIUM 2  Selection of Channel 2  _ MEDIUM _1 2  Selection of Channels 1 and 2    Description of type FDM_REF     Inside FIP DEVICE MANAGER  not manipulated by the user     Description of type MEDIUM_DEF     enum MEDIUM_DEF   MEDIUM 1       MEDIUM 2     MEDIUM 12  3     REPORT     This function submits a report as specified by the primitive fdm_online_test       This function must be called on all the stations with a double medium card  and on all stations with a single medium card which are potential Bus  Arbitrators     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 19    Description of user inte
156. nd_Msg struct FDM_REF  Ref          sm_v sm_msg_ send      free the semaphore  gt  wake up of the task TaskMsgSend          task that call fdm_msg_send_fifo empty function      static void TaskMsgSend void        for          wait the next event     sm_p sm_msg_ send  SM_WAIT  0      take the semaphore     fdm_msg_ send_fifo_empty Network_ Identification            ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 1 31    General introduction    4 7 4 Operational model for the reception of messages    4    Message reception  operational model                  Before using this model you have to create a messaging context by calling the fdm_messaging_fullduplex_create  or fdm_messaging_to_rec_create function     After the creation of a messaging context you can use the following model each time you want to receive a    message     You don t have to create a new messaging context each time when you want  to receive a message  This messaging context can be created once for the  entire life of your application  At the end when you no longer need to receive  messages on this messaging context you can delete it by calling  fdm_messaging delete     The operational model is the following     1  The indication received by FIP DEVICE MANAGER  in the form of a call to a primitive  is stored in a  queue     2  The FIP DEVICE MANAGER activation manager is warned of the fact that one of the queues is not empty  by calling a procedure reserved for this purpose 
157. ng image  1 or 2      Time variable refresh period in us ifWith_MPS_Var_Produced   YES  Time variable prompt period in us ifWith_MPS_Var_Consumed   YES    User function called when moving from potential producer to active producer  or vice versa     Number of transmission channel chosen to transmit messages from services  linked to the time producer redundancy management protocol  This channel  has to have been created     Pointer to the zone where the time supplied by the user is to be recovered     Activation period of the procedure for electing the time producer     Inside FIP DEVICE MANAGER  not manipulated by the user     REPORT     This function places either       a NULL_PTR pointer if it has not been able to run correctly  In this case the User Signal Warning     function has been called at least once      or a pointer to an FDM_GENERIC_TIME_REFERENCE type structure  inside FIP DEVICE MANAGER     not manipulated by the user      Page 3 50 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Description of user interface primitives    1 33 fdm_generic_time_write_loc    SUMMARY     Time variable write  ID 9802H      PROTOTYPE     unsigned short fdm_generic_time_write_loc         Const FDM_GENERIC_ TIME REFERENCE  Ptr_ Time Identification     DESCRIPTION     This function enables the user to write the value of the time variable  i e  write the time   The time value is  transmitted to the FIP DEVICE MANAGER on request  Calling the user written pro
158. ns in previous versions   Offers the user the possibility of optimising size or performance levels    according to his requirements        In order to simplify use and make it more secure  possibility of using  in certain cases  FIP DEVICE  MANAGER  a function prototype file   h  which can be used with C          All conditional compilation switches have been replaced by centralised configuration options in a  h file   They must have a name which is directly connected to their use        Supply ofa file that contains all the functions to be written by the user with an empty procedure space     Adoption of rules for clear  accurate and conventional naming       Management of time variables  ALSTOM Technology terminology  i e  variables for which the time spent  with the transmitter and the receiver are sent to the consumer s        Use of free access possibilities to FULLFIP2 database  memory shared between FIP DEVICE MANAGER  and FIPCODE       Possibility of deleting processing linked to BA    TEST_P    instruction  subscribers present test  since this is  done internally by FIPCODE Version 6        Queues taken into account by type of event from FIPCODE FULLFIP2        Possibility of exchanging messaging frames with a given field size  with the exception of the address field   which may be equal to 256 bytes  instead of 251 previously         Operation at 2 5 Mbits s and 5 Mbits s      Updating of software included with latest available versions  in particular FIPCODE Versio
159. nsmission of a message     start of the TEST_P instruction by a BA  in the case of utilization of ZN130 components or FIELDUAL  components in ZN130 mode     stop of the TEST _P instruction by a BA  in the case of utilization of ZN130 components or FIELDUAL  components in ZN130 mode       EOC  when the following event occurs     reception of a synchronization variable  see Subsection 1 3 4 4 of Chapter 2      The user has to connect the interrupt vectors to the interrupt handlers  This operation depends on the user  hardware environment and operating system     Depending on the hardware environment the user can implement 4 types of interrupt handlers       IRQ Handler  process of the IRQ interrupt only        EOC in level mode Handler  process of the EOC interrupt only and if EOC is configured in level mode        EOC in pulse mode Handler  process of the EOC interrupt only and if EOC is configured in pulse mode        IRQ and EOC in pulse mode Handler  process of the IRQ and EOC interrupts when they are wired up to  form an OR gate and EOC is configured in level mode     The setting of the pulse mode of EOC is performed when calling the  fdm_initialize_network function and using the flag EOC_PULSE MODE of  the field Type of the structure FDM CONFIGURATION SOFT     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 1 17    General introduction    1  IRQ Handler  process of the IRQ interrupt only    The interrupt handler processing time has to be sh
160. nt or the time out  if necessary    User Qid  Pointer retransmitted to the user for his private use    User Ctxt  Pointer retransmitted to the user for his private use    Channel Nr  Transmission channel number to be used    Local DLL Address  Source address of the message transmitted     Segment    of the LSAP   of the LSAP    If you write an application that plays the role of a bridge  at least 2  networks   see the subsection 1 6 4 of Chapter 2  then you have to set        e   bit 30  1   e Segment byte   segment number of the source address     e the 2 bytes describing the LSAP   any value   Remote DLL Address  destination address of the message transmitted     31 0  Most Least    significant byte  significant byte  Segment  of the LSAP   of the LSAP       If bit31 1  Remote DLL Address is unknown  in general used for  broadcast   transmission for all the stations     If bit31 0  Remote DLL Address is known    If you write an application that plays the role of a bridge  at least 2 networks   then you have to set     e bit 31 1   e the Segment byte and the 2 bytes describing the LSAP   any value     Description of type FDM_MSG_TO SEND     See the primitive fdm_messaging fullduplex_create       ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 89    Description of user interface primitives    REPORT     This function produces either        aNULL_PTR pointer if it has not been able to run correctly  In this case the User Signal Warning     fun
161. o account in the Bus Arbitrator election time slot calculation     Description of type FDM_ IDENT VAR     typedef struct        FDM_ IDENT VAR  Report   VAR_TRANSFERT     NO_VAR_ TRANSFERT   Subscriber     Identification_length     Identification     unsigned char Report   unsigned char Subscriber   unsigned short Identification Length     unsigned char Identification  128      Execution report of the identification variable read request     The identification variable has been received  therefore the following two  parameters are significant     No transfer of the identification variable  therefore the following two parameters  are not significant     Number of the subscriber  physical address  from which the identification  variable was requested     Size in bytes of the identification variable     Content of the identification variable     Description of type FDM_ REPORT VAR     typedef struct        FDM_REPORT_VAR   Report   VAR_TRANSFERT     NO_VAR_TRANSFERT   Subscriber     Nb_Of Transaction_OK_1   Nb_Of Transaction_OK_2   Nb_Of Frame_NOK 1   Nb_Of Frame_NOK 2           unsigned char Report    unsigned char Subscriber    unsigned short Nb_Of Transaction_Ok_1   unsigned short Nb_Of Transaction_Ok_2   unsigned short Nb_Of Frames Nok _1   unsigned short Nb_Of Frames Nok 2   unsigned short Activity status     Execution report of the report variable read request     The report variable has been received  therefore the following two  parameters are significant     No transfer
162. o its own station number     No FIP status is associated with this variable     This variable is always valid and significant     Page 2 24 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Available Functions    The conformity in question has to be interpreted as the software potential           ALS 50278 e en    NBR_REVISION    83 H  LG    86H    8AH    Nee Ld A A    Type of  PDU   Length  lt    126  Length of vendor field    Field for the vendor    Length of model field  1 3 LG 3 118   Model field    Revision number    optional  TAGNAME  1 3 LG 3 32     Supported report variable SM_MPS conformity    optional  SMS conformity    optional  MPS  MMS  DLL  Physical conformity    optional  free for the vendor    FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 2 25    Available Functions    1 5 1 5 BA synchronisation variable  The BA sync variable is a universal network management variable associated with identifier 9003H   No FIP status is associated with this variable  As soon as it is produced  it is valid and significant     The active Bus Arbitrator produces this variable     50H  04H    80H       02H  MACROCYCLE NO    je High order of macrocycle no  of  BA programme in progress    SUBSCRIBER    _ gt  Physical address of the active BA subscriber       1 5 1 6 Segment Parameters variable  This variable is only produced on a subscriber that runs in FIPIO mode  i e  as a FIPIUO manager   It could not    be consumed by subscribers bui
163. o the SM_MPS variables       access to the universal type MPS variables       transmission of messages       reception of messages     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 1 23    General introduction    4 7 1 Operational model for accessing the SM_MPS variables    The operational model is the following     CD      Accessing SM_MPS variables    operational model       1  The user application request is stored in a queue  the requests are the following   e fdm_read_present_list   e fdm_read_presence   e fdm_read_identification   e fdm_read_report   e fdm_read_ba synchronize     2  The FIP DEVICE MANAGER activation manager is warned of the fact that one of the queues is not empty  by calling a callback procedure reserved for this purpose  and which the user must write  The address of this  procedure is transmitted to FDM by the function fdm_initialize_network  field User_Signal_Smmps of  FDM _ CONFIGURATION SOFT structure   The User_Signal_Smmps callback function must activate a task  that implements the action below     3  The task activated by the User_Signal_Smmps function has to call the fdm_smmps_fifo_empty function  This  call activates FIP DEVICE MANAGER to empty the queue and process the request     4  FIP DEVICE MANAGER uses the FIPCODE services to carry out the request     5  When a SM_MPS variable is received  the FULLFIP component issues an IRQ interrupt  the IRQ handler  has to process the event  see Subsection 4 4   Follo
164. oducer redundancy           cesseceseseceeeeeceeseesecseeseseceaesecnevsecsessesecaeeecneveeeneeaees 2 13  1 4 Managing the Bus Arbitrator s             cccecccesccssecesecssecseecseeeseeeseeeeceecsseenseeaeceaecaecseecaeecaeeeeesneeenreees  1 4 1 Setting up a Bus Arbitrator program           cccccccscessscesecseeeecesecsecseceecesecasecseesecsaecaaecaeceeaecaaecaeeeeeeaeeeaeeneees  1 4 2 Managing Bus Arbitrator operating modes                    1 4 2 1 Diagram of Bus Arbitrator operating modes  1 4 2 2 Bus Arbitrator associated fUnctions          ceeeceeseeseeseeteeneeeeeeseeeeneene  1 4 3 Setting the parameters of the Bus Arbitrator Start up function  1 5 Managing SM MPS network management variables 0 0 0    ceeeseesceceeeceseseeesecaeesecneeeeeeaeeeeeaeeaeeaes 2 20  1 5 1 Format of network management variables           eccecceeccesecssesecesecesecseeesceseceaecaeeeeceseceaecaeeeeceseceaeeaeeeeeeaees 2 20    ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 9    Contents           1 5 1 1 Report varlable hevey ia vect clades ba ae E OE EAE ETAN oak toc ated gs EE eeu stud inde eed coe Ente ee  1 5 1 2 List of equipment present variable               1 5 1 3 Presence variable nasien kenaa a  1 5 1 4 Identification variable            cceeeeeereereeee  1 5 1 5 BA synchronisation variable                     1 5 1 6 Segment Parameters variable            eee eeeeeeeeeeee  1 5 2 Managing network management variables  1 5 3 Creation of list of equ
165. oint s   optional    process events coming from the network s     manage memory resources    develop the various time outs required for other functions    monitor the quality of the mediun s     prevent degradation    prevent latent faults  in double medium      allow the subscriber to run as FIPIO manager       Managing AE LE and the MPS variables    This functionality enables the application layer services to be performed  which enables the user to have  access to the MPS variables through unconnected logic entities called AE LE  It consists of the following  basic functions     create and delete an MPS AE LE    startup and stop an MPS AE LE    add a variable in an MPS AE LE    read a variable consumed in an AE LE with or without dynamic refresh status   write a variable produced in an AE LE with or without dynamic refresh status     manage supposed    pure sync    variables       Managing the bus arbitrator  S     This functionality consists of the following basic functions     load a macrocycle    start or stop a macrocycle   change a macrocycle   resynchronize a macrocycle     manage election of a bus arbitrator     Page 1 4 FIP DEVICE MANAGER Software Version 4 User Reference Manual    ALS 50278 e en    General introduction      Handling SM MPS network management variables    This functionality enables network management services to be performed and provides the user with access  to the SM MPS variables  It consists of the following basic functions     e management of t
166. on  This  call activates FIP DEVICE MANAGER to empty the queue and signal the event to the user     FIP DEVICE MANAGER calls a user callback procedure  The address of this procedure  which is  transmitted to FDM when the MPS variable is created by the function fdm_mps_var_create is        the field User_Signal_Var_Prod of FDM_XAE structure  it is called if the fdm_mps_var_write_universal  function is used        the field User_Signal_Var_Cons of FDM_XAE structure  it is called if the fdm_mps_var_read_universal  function is used     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 1 27    General introduction    Don t call the fdm_mps_fifo_empty function inside the body of the  User Signal Mps_Aper function  The execution context of the  fdm_mps_fifo_empty function should be different from the execution context  of the User_Signal_Mps_Aper function     Example of implementation of the call of fdm_mps_fifo_empty function     for example in the case of pSOS     FDM_REF   Network Identification     this handle is returned by the function        fdm_initialize_network      static unsigned long sm_mps     semaphore        create a task and a semaphore     t_create  TMPS   100  4096  0  T LOCAL   T NOFPU   amp TaskMPS      sm_create  SMPS   0  SM LOCAL   SM  PRIOR   amp sm_mps         User Signal Mps_Aper callback function     static void User_Signal Mps_Aper struct FDM_REF  Ref          sm_v sm_mps      free the semaphore  gt  wake up of the task Task
167. ontext is characterised by     two addresses on 24 bits in messaging data link format   Local DLL Address and Remote DLL Address    e in the case of a context configured for transmission  Local DLL Address represents the source address  and Remote_DLL_Address represents the target address for messages transmitted on this context     e in the case of a context configured for reception  the messages received on this context have a target  address corresponding to Local _DLL_Address and a source address at Remote DLL Address     e inthe case of a context configured for reception and transmission  messages which have been received on  this context have a target address corresponding to Local_DLL_Address and a source address at  Remote_DLL_Address and Local_DLL_Address represents the source address and Remote_DLL_Address  represents the target address of messages transmitted on this context     a user procedure  to be written by the user  which will be called by FIP DEVICE MANAGER to signal the  arrival of a received message intended for this context  or the end of transmission  line acknowledgement or    time out or fault  of a message transmitted on this context     two standard pointers intended for use by the user  They are transmitted to the user by the procedures  mentioned above     the channel number in the case of a transmission or transmission reception context     the memory zone intended to contain the message in the case of a reception or transmission reception    con
168. operation   Zone C capacity  lt    64 k words   Zone D capacity  lt    64 k words   Zone E capacity  lt    512 k words    CONFIGURATION SOFT BA DIM   zone D capacity    Page 4 8 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Performance levels    CONFIGURATION SOFT  FULLFIP RAM DIM zone A capacity   zone B capacity   zone C capacity    zone D capacity   zone E capacity    Total memory capacity required      Zone A capacity   zone B capacity   zone C capacity   zone D capacity   zone E capacity    Calculation of zone A capacity   if  FDM_WITH_BA  YES  or  FDM_WITH_ FREE ACCES   YES   zone A capacity   48 KB    otherwise    if FDM_ WITH_APER   YES then  zone A capacity   20 KB    otherwise    if FDM_ WITH MESSAGING   YES then  zone A capacity   14 KB    otherwise    zone A capacity   8 KB    endif  endif  endif    Calculation of zone B capacity     Zone B capacity    Zone B capacity    Zone B capacity    Zone B capacity    Zone B capacity    Zone B capacity    Zone B capacity    Zone B capacity    Zone B capacity      ALS 50278 e en    256 words  3 ifMPSvariablenumber 5  lt 16  512 words  3 ifMPSvariablenumber 5  lt 32  1024 words  3 ifMPSvariablenumber 5  lt 64  2048 words  3 ifMPSvariablenumber 5  lt 128  4096 words  3 ifMPSvariablenumber 5  lt 256  8192 words  3 ifMPS variable number  5  lt 512  16384 words  3 ifMPSvariablenumber 5  lt  1024  32768 words  3 ifMPSvariablenumber 5  lt  2048  64536 words  3 if MPS variable number  5  lt  4096     
169. ority      FDM_REF  Ptr Network Identification   unsigned char Priority Level     DESCRIPTION     This function makes it possible to modify the priority of a potential Bus Arbitrator     INPUT PARAMETERS   Ptr Network Identification  Pointer to a data structure of the FDM_REF type   Priority Level  Priority level of the Bus Arbitrator between  0  15   0 being the  highest priority     Description of type FDM_ REF     Inside FIP DEVICE MANAGER  not manipulated by the user     REPORT     This function submits a report as specified by the primitive fdm_stop_ network        ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 65    Description of user interface primitives    1 43 fdm_ba_set_parameters    SUMMARY     Function for modifying the time outs used for the calculation of election and start up of a Bus Arbitrator     PROTOTYPE     unsigned short fdm_ba_set_ parameters      FDM_ REF  Ptr_ Network Identification   enum _BA_SET MODE   unsigned char MAX Subscriber   unsigned char MAX Priority     DESCRIPTION     This function makes it possible to modify the time outs of a potential Bus Arbitrator     INPUT PARAMETERS     Ptr Network Identification  Pointer to a data structure of the FDM_REF type     _BA SET MODE  This parameter is used for the calculation of Start up Time out and  Election Time out used for the startup of a BA  You can enter one of  the following values  STANDARD  OPTIMIZE 1  OPTIMIZE 2   OPTIMIZE 3  To understand the impact of th
170. ort  Therefore  the IRQ interrupt handler has to activate a  task  In the body of this task you can process        one event at a time using FDM function fdm_process_it_irq Network_ Identification      or    e all the waiting events  produced by IRQs  using the following FDM macro sequence   e BEGIN SMAP FIP _EVT   e SMAP ON _IRQ Network Identification    e END SMAP FIP EVT     2  EOC in level mode Handler  process the EOC interrupt if and only if EOC is configured in level mode  The interrupt handler processing time has to be short  For that the EOC interrupt handler has to activate a  task  In the body of this task you can process        one event at a time using FDM function fdm_process_it_eoc Network_Identification      or  e all the waiting events  produced by EOCs  using the following FDM macro sequence   e BEGIN SMAP FIP _EVT   e SMAP ON EOC Network Identification    e END SMAP FIP EVT     3  EOC in pulse mode Handler  process the EOC interrupt if and only if EOC is configured in pulse mode   see Subsection 4 8 of this chapter    In this case you don t have to call any FDM functions and you can  for example  activate a task that waits for  this synchronization event    4  IRQ and EOC in pulse mode Handler  process the IRQ and EOC interrupts when they are wired up to  form an OR gate and EOC is configured in level mode   The interrupt handler processing time has to be short  Therefore  the IRQ and EOC interrupt handler has to  activate a task  In the body of this task y
171. ou can process     e one event at a time using FDM function fdm_process_its_fip Network_Identification      or  e all the waiting events  produced by IRQs or EOCs  using the following FDM macro sequence   e BEGIN SMAP FIP EVT   e SMAP ON_IRQ EOC Network Identification    e END SMAP FIP EVT     Network Identification  FDM_REF type  this handle is returned by the function fdm_initialize_network     Page l 18 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    General introduction    Example of implementation     for example in the case of pSOS     FDM_REF   Network Identification     this handle is returned by the function        fdm_initialize_network      static unsigned long sm irq     semaphore        create a task and a semaphore     t_create  TIRQ   100  4096  0  T LOCAL   T_NOFPU   amp TaskIRQ      sm_create  SIRQ   0  SM_LOCAL   SM_PRIOR   amp sm irq         IRQ interrupt handler     static void IRQ_handler void          sm_v sm_irq    free the semaphore  gt  wake up of the task TaskIRQ          task that treat the interrupt IRQ       static void TaskIRQ void        for       BEGIN _SMAP FIP _EVT   SMAP_ON_IRQ Network Identification    END_SMAP FIP EVT      wait the next interrupt     sm_p sm_irq  SM_WAIT  0      take the semaphore             ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 1 19    General introduction    4 5 Processing events    Events are signaled by an interrupt from the circuit  This interrup
172. owledged   FIP ACK NO REC AFTER RETRY No acknowledgement after retry   FIP ACK NEG AFTER RETRY Negative acknowledgement after retry   FIP ACK NEG NO RETRY Negative acknowledgement with no retry   FDM_TIME_OUT Time out waiting to be transmitted     Description of type FDM_PRIVATE_DLI_T     Inside FIP DEVICE MANAGER  not manipulated by the user     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 85    Description of user interface primitives    Description of type  FDM_ MSG RECEIVED    typedef struct _FDM MSG RECEIVED    struct _FDM MSG RECEIVED  struct _FDM MSG RECEIVED  Integer  FDM MSG _R_DESC  unsigned long  unsigned long  Void  Void  FDM MESSAGING REF     FDM_MSG_ RECEIVED    Next     Prev     Nr_ Of Blocks     User Qid et User Ctxt     Local_DLL Address   Remote DLL Address      Next     Prev    Nr Of Blocks    Ptr Block   Local DLL Address   Remote DLL Address    User Qid     User Ctxt     Ref     Pointer for concatenation to another data structure of the  same type  front concatenation      Pointer for concatenation to another data structure of the  same type  back concatenation      Number of FDM_MSG_R_DESC type blocks used to store  the received message   Always equal to 1 in the case of  FIP DEVICE MANAGER      Pointers retransmitted to the user for his private use   They are those which were given on creation of the context     Optional user information     See Local DLL Addresses     This field is used when Bit 31 of the Remote DLL
173. program  use of empty ID list    W  W  W  W  W  W  W  W  W  W  W  W  W  W  W  W  W  W  W  W    oad_macrocyc    0x608 _GEN_BA_DEF_DEM_MEM_MC oad_macrocyc No space in FULLFIP2 RAM for macrocycle             oad_macrocyc    0x901 _LEVEL PRIORITY BA fdm_ba_set_priority Incorrect parameter  fdm_ba_set_parameters    0x902 _MAX_SUBSCRIBER_ BA fdm_ba_set_priority Incorrect parameter  fdm_ba_set_parameters       ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 5 3    Error codes                                  VALUE MNEMONIC CONTEXT E  PROBABLE CAUSE  WwW  0x903 _DELETE MC IN USE fdm_ba_ delete _macrocycle W   Macrocycle in    RUN    state    0x904 _USER_NB OF _USER_MPS_ VARIABLE fdm_initialize network E   FDM_ CONFIGURATION SOFT Desc_Par  incorrect   0x905 _USER_MODE_ FAULT fdm_initialize network E   Parameter FDM_ CONFIGURATION SOFT   Timer incorrect    _VAR_PERIOD_ FAULT fdm_ae_le start W   Refresh or prompt time out value is incorrect    fdm_mps_var_change_periods W    0x907  LENGTH VAR FAULT    _USER_NR_OF_TX_BUFFER_FAULT fdm_initialize network E   Number of buffers for message transmission  incorrect    0x909 _USER_SWITCH_FAULT fdm_ae_le switch image Switch attempt during single image operation    _NON_CONSUMING_VARIABLE fdm_mps_var_read_loc W   Produced variable read attempt    fdm_mps_var_read_universal       _NON_PRODUCING_VARIABLE fdm_mps_var_write_loc W   Consumed variable write attempt    fdm_mps_var_write_ universal  IMAGE FAULT ON REQUEST 
174. r     REPORT     This function submits a report as specified the primitive fdm_stop network       Page 3 102 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Description of user interface primitives    2  CALLBACK PRIMITIVES TO BE PROVIDED BY THE USER    The table below is a review of the callback procedures which the user has to write  and which are called by the  FIP DEVICE MANAGER to warn the user of various events  In this document  all these functions are prefixed  by User_  However  the user may name them as he sees fit     The FIP DEVICE MANAGER recognises these functions by means of a pointer     PROCEDURE    Reference transmitted to the FIP  DEVICE MANAGER by    Called by the FIP DEVICE  MANAGER by or during          User Reset Component       User Signal Fatal Error       User Signal Warning       User Present List Prog       User Presence Prog      User Identification _Prog      User Report _Prog      User Synchro BA Prog         User Signal Mps Aper      User_Signal_Smmps       User Signal Rec _Msg      User Signal _Send_Msg      ALS 50278 e en    Fdm_initialize network    inthe  FDM_CONFIGURATION_HARD type  parameter      initialize networ  DM_ CONFIGURATION    parameter    F  F       initialize_network    in the  DM CONFIGURATION   D type  parameter          E  F      initialize_network    in the  DM CONFIGURATION SOFT type  parameter    F  F  itialize network    DM CONFIGURATION SOFT  parameter    F  F  itialize network    DM CONFIG
175. r AE LE  Pointer to a data structure of the FDM_AE LE REF type     Description of type FDM AE LE REF     Inside FIP DEVICE MANAGER  not manipulated by the user     REPORT     This function submits a report as specified by the primitive fdm_online_test       Page 3 28 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Description of user interface primitives    1 16 fdm_ae_le_start    SUMMARY     Function for starting up an AE LE     PROTOTYPE   unsigned short fdm_ae_le start      FDM AE LE REF  Ptr AE LE    DESCRIPTION     This function enables an AE LE to be started up     INPUT PARAMETERS     Ptr AE LE  Pointer to a data structure of the FDM_AE LE REF type   Description of type FDM_ AE LE REF     Inside FIP DEVICE MANAGER  not manipulated by the user     REPORT     This function submits a report as specified by the primitive fdm_online test        ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual    Page 3 29    Description of user interface primitives    1 17 fdm_ae le get state    SUMMARY     Function for obtaining the state of an AE LE     PROTOTYPE     enum FDM AE LE STATE fdm_ae_le get state  FDM AE LE REF  Ptr AE LE      DESCRIPTION     This function makes it possible to know the operating state of an AE LE     INPUT PARAMETERS     Ptr AE LE  Pointer to a data structure of the FDM AE LE REF type     Description of type FDM AE LE REF     Inside FIP DEVICE MANAGER  not manipulated by the user     REPORT    This functio
176. r friendly format  for manual building    Possibility of setting maximum number of parameters for bus arbitrator start up and election time out     FIFO type interface for managing reception of values of variables requested     The various user functions to be called when the SM MPS variable values arrive are no longer sent to FIP  DEVICE MANAGER each time there is a user request  but once and for all at the time of configuration     The values of the variables requested are supplied directly as a parameter of the user function called when  they are received  GET XXX primitives deleted     Addition of possibility of not deleting the variable created each time the SM MPS variable is requested  The  user is responsible for deletion  saves time in request procedure if not created each time and in read  procedure if not deleted each time      Use of mechanism and data structure resulting from work on upper layer integration  MCS  SubMMS      Switch to a FIFO type interface     Page A 4 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Compatibility       Simplification of configuration interface of messaging in reception mode  LSAP        Coding of messaging addresses  LSAP numbers   segment numbers  systematically as long          Increased modularity so that a user can include in his executable file only that which he really needs       Optimisation of code whenever possible  particularly by modifying code sequences resulting from successive  additio
177. ramme     DESCRIPTION     This function is for loading a Bus Arbitrator program presented in a format like that of the BA BUILDER  output  automatic tool for building Bus Arbitrator program      INPUT PARAMETERS     Ptr Network Identification  Pointer to a data structure of the FDM_REF type     Programme  Pointer to a table of elements of the unsigned short type  with the BA  program output format written by BA_BUILDER     Description of type FDM_REF    Inside FIP DEVICE MANAGER  not manipulated by the user   Description of type FDM_BA REF    Inside FIP DEVICE MANAGER  not manipulated by the user     REPORT     This function places either       aNULL_PTR pointer if it has not been able to run correctly  In this case the User Signal Warning     function has been called at least once        ora pointer to an FDM_BA REF type structure     Page 3 58 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Description of user interface primitives    1 40 fdm_ba_load_macrocycle_manual      PROTOTYPE   FDM BA REF   fdm_ba_load_macrocycle manual    FDM_REF  Ptr Network Identification   Integer Nb_Of Lists   integer Nb_Of Instructions   unsigned short Label   const PTR_LISTS  Ptr Lists   const PTR_INSTRUCTIONS  Ptr_ Instructions     DESCRIPTION     This function is for loading a Bus Arbitrator program presented in a format which differs from that of the  BA_BUILDER output  automatic tool for building Bus Arbitrator program  but which is easy to manipulate  using C
178. reate    SUMMARY     Creation of a full duplex messaging context     PROTOTYPE     FDM MESSAGING REF   fdm_messaging fullduplex_ create      FDM_REF  Ptr_ Network Identification   FDM MESSAGING FULLDUPLEX  Messaging Fullduplex     DESCRIPTION     This function enables a full duplex messaging context to be created which can be used in transmission and  reception mode     INPUT PARAMETERS   Ptr Network Identification  Pointer to a data structure of the FDM_REF type   Messaging Fullduplex  Pointer to a data structure of the    FDM MESSAGING FULLDUPLEX type     Description of type FDM REF     Inside FIP DEVICE MANAGER  not manipulated by the user     Description of type FDM MESSAGING FULLDUPLEX     typedef struct    enum _FDM MSG IMAGE Position   struct    void   User Msg Ack   FDM MESSAGING REF   FDM MSG TO SEND      void  User Qid   void  User Ctxt   unsigned short Channel Nr     sending   struct    void   User Msg Rec Proc   FDM_MESSAGING REF   FDM MSG RECEIVED       void  User Qid   void  User Ctxt   int Number Of Msg Desc   int Number Of Msg Block     receiving   unsigned long Local DLL Address   unsigned long Remote DLL Address     FDM MESSAGING FULLDUPLEX     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 81    Description of user interface primitives    Position     User Msg Ack     User Qid   User Ctxt   Channel Nr     User Msg Rec Proc     Number Of Msg Desc              Number Of Msg Block     Local DLL Address     Remote DLL Address 
179. rface primitives    Page 3 20    Precision for the different types of initialisation required to manage medium  redundancy in accordance with the configurations used     Double medium card and double medium network     CONFIGURATION SOFT Type   TWO_BUS MODE      other  possible flags    VALID MEDIUM  3  threshold      Double medium card and single medium network     CONFIGURATION SOFT Type   TWO _BUS MODE     other  possible flags    VALID MEDIUM  1  threshold    or    VALID MEDIUM  2  threshold     Mono medium card     with or without TWO_BUS MODE to build CONFIGURATION SOFT Type  VALID MEDIUM  1  threshold     FIP DEVICE MANAGER Software Version 4 User Reference Manual    ALS 50278 e en    Description of user interface primitives    1 8 fdm_process its fipQ  SUMMARY     Function for processing EOC and IRQ interrupts    PROTOTYPE   unsigned short fdm_process its fip      FDM_ REF  Ptr Network Identification       DESCRIPTION     This is the function for processing EOC interrupts  if it is configured by level and IRQ interrupts when they are  together on the same interrupt level  This function must  in this case  be called each time an EOC or IRQ  interrupt occurs     INPUT PARAMETERS     Ptr Network Identification  Pointer to a data structure of the FDM_REF type     Description of type FDM REF     Inside FIP DEVICE MANAGER  not manipulated by the user     REPORT   This function submits a report of the following type   EOC_IRQ TO_ PROCESS  if there is still at least one more 
180. rget and source     Target addresses have to be associated with memory zones allocated to store messages received at this address     Page 2 30 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Available Functions    1 6 4 User application that plays the role of a bridge    If you want to use a station as a bridge  at least 2 networks   then you have to write an application that plays the    role of a bridge     The following figure shows you a network with 2 segments and a bridge          FDM_MESSAGING TO REC   lt  local   0x40000004    remote   0x80000000         FDM_MESSAGING_TO_ SEND    lt  local   0x40000003    remote   0x80000000          BRIDGE    Subscriber 58 Subscriber 80                    Segment 3    seneenemneens Subscriber 57    FDM_MESSAGING_TO_REC  local   0x00125703  remote   0x80000000    FDM_MESSAGING_TO_SEND  local   0x00125703  remote   0x00180104  OR  FDM_MESSAGING_FULLDUPLEX    local   0x00125703    remote   0x80000000    For the subscribers you can create              weeeeee eee Subscriber 1    FDM_MESSAGING_TO_REC      FDM_MESSAGING_TO_REC    local   0x40000003  remote   Ox80000000    FDM_MESSAGING_TO_SEND    local   0x40000004      remote   0x80000000    Segment 4    local   0x00180104  remote   Ox80000000    FDM_MESSAGING_TO_SEND  local   0x00180104  remote   0x00125703   OR  FDM_MESSAGING_FULLDUPLEX  local   0x00180104  remote   Ox80000000       a half duplex context used only for message transmission  see Chapter 3   
181. riodic channel using the function fdm_channel_create     create a messaging context used only for the reception of messages by calling the function  fdm_messaging_to_rec_create  see Chapter 3      create a messaging context used for both the transmission and the reception of messages by calling the  function fdm_messaging_fullduplex_create  see Chapter 3   if the transmission channel is aperiodic then  the Channel_Nr field of the structure FDM_MESSAGING_FULLDUPLEX should be 0  Otherwise  if it is  periodic  this field must be set to the value used when creating the periodic channel using the function  fdm_channel_create     if you want to send messages then you have to follow the model described in Subsection 4 7 3 of this  chapter     if you want to receive messages then you have to follow the model described in Subsection 4 7 4 of this  chapter     12  If you want to manage a bus arbitrator  see Chapter 2  Subsection 1 4 and Chapter 3      to load a bus arbitrator program then call    e fdm_ba load macrocycle manual  loading a simple bus arbitrator generated manually by yourself   e fdm_ba_load_macrocycle_fipconfb  loading a bus arbitrator generated by an external tool    start the bus arbitrator by calling the fdm_ba_start function     link the application with the FDM library     The Programs Fdm_R4 X demo subdirectory of the CD contains a C   application     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 1 37    General introduction    Pa
182. rsion 4 User Reference Manual Page 2 17    Available Functions    The two time outs are calculated with the following formula   Start up Time Out      GNOBA   1   MP  1    ETOTPI   3  2  Election Time Out     GNOBA   1  PL   ETOTPI   BANO   3  2    where       GNOBA  highest number of the BAs on the network     Its value depends on the FDM_WITH_ OPTIMIZED BA compilation option  in the user_opt h file  and the  optimization level  STANDARD  OPTIMIZE 1  OPTIMIZE 2 and OPTIMIZE_3  set by the function  fdm_ba_set_parameters       e ifFDM WITH OPTIMIZED BA is set to NO then     e if the optimization level is STANDARD then GNOBA   255  this value is constant and cannot be  changed by the user     e else if the optimization level is OPTIMIZE 1 or OPTIMIZE 2 or OPTIMIZE 3 then the  GNOBA   MAX Subscriber parameter set by the user in the fdm_ba_set_ parameters     function     e elseif FDM WITH OPTIMIZED BA is set to YES then   e GNOBA   GreatestNumberOfBusArbitrator parameter of the FDM CONFIGURATION HARD  structure set by the user in the fdm_initialize network    function     MP  maximum priority of the Bus Arbitrators connected on the network    Its value depends on the optimization level  STANDARD  OPTIMIZE 1  OPTIMIZE 2 and  OPTIMIZE_3  set by the fdm_ba_set_parameters    function    e if the optimization level is STANDARD or OPTIMIZE 1 then MP   15  this value is constant and  cannot be changed by the user     e if the optimization level is OPTIMIZE 2 or OPTIMIZE 3 then MP   Max
183. s  with a FULLFIP2 64 MHz  1 Mbit s      The main aim is to determine the difference in performance levels between conventional access and free access  operation     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 4 1    Performance levels    1 2 Start up  fdm_initialize_network   primitive    seconds  16                                  CA 100 CA 20 FA 100 FA 20  CA     Conventional access FA  Freeaccess 100  Max  variable no     No RAM test on start up  RAM test on start up    The test above has been performed on a CC117 board     Page 4 2 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Performance levels    1 3 Miscellaneous functions    Tst_Medium  Periodic medium redundancy management by FIP DEVICE  MANAGER  frequency is determined by the user     Read_Evt  Time taken to process an interrupt and associated processing time   user procedure   This is the mean value of all possible cases    On_line Tst  Online Autotest  Duration of a call by FIP DEVICE MANAGER  or    by the user  depending on set up      microseconds       1400       1200       1000       800       600       400    200                   0    Free access  Conventional access    The test above has been performed on a CC117 board     Tst Medium Read_Evt OnLine Tst    ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 4 3    Performance levels    1 4 AE LE start up    milliseconds       160       140       120       100  
184. s called  periodically by FIP DEVICE MANAGER  is as follows     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 2 3    Available Functions    Assessment of reception quality    If the number of reception faults  read on the FULLFIP2 FIPCODE counters  on channel x since the last  TEST MEDIUM call exceeds the configured threshold on three consecutive calls of the same procedure  then  Channel_x_ Down_On_Reception   true      Faults are filtered to prevent reaction to the slightest interference      If the number of reception faults on channel x is less than the threshold over three consecutive calls of the  TEST MEDIUM procedure  then Channel_x_Down_On_Reception   false      The return to normal is filtered      In all other cases  there is no change     Assessment of transmission quality    If the transmission status of channel x  specified by the medium redundancy arbitrator  is positioned on error  over three consecutive calls of the TEST MEDIUM procedure  then Channel_x_Down_On_Transmission    true      Faults are filtered to prevent reaction to the slightest interference      If the transmission status of channel x  specified by the medium redundancy arbitrator  is not positioned on error  over three consecutive calls of the TEST MEDIUM procedure  then Channel_x_Down_On_Reception   false      The return to normal is filtered      In all other cases  there is no change     Channel validation decision making    If Channel_x_Down_On_Reception  
185. s of concurrent access  updating pointer without using semaphores   At the  same time  the procedure to return to the initial state is also called     These procedures are    OS _ Enter Region      OS Leave _ Region      These procedures can be specified by the user in the form of macros     The following table shows the FDM functions that use the above primitives     CA  Classical Access of the host processor to the data base using  FULLFIP2 IO ports    FA  Free Access of the host processor to the data base shared between the  host processor and FULLFIP2    OS_sm_v OS_sm_vt OS_sm_v_bd QS_sm_v_vcom OS_enter_region  OS_sm_p OS_sm_p_t OS_sm_p_bd OS sm_p_vcom OS_leave_region  fm initialize to    fam initialize o O i a    fam get version ST S S S S S S S i   fam ticks counter KRES   C T T f f f   fam change test medium tieks  f fJ S  C 0 T       f   ee Ee ee ee ee ee ee ee   fam initialize network IX  x  x  x TTT   fam stop network tT S S S S S S o oei   fam valid medium KRE   0 0 T       f  fam online test KRS   CT S oee T i   fam process its fip KRES f T T S T S f i    fdm process_it_eoc i                              f   moasa       CP S  im ba set prioriy     kk        x    1  Fam ba set parameters O   PP PX       Page 1 14 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    General introduction    OS_sm_vt QS_sm_v_vcom  OS sm_p_vcom           fdm_ba_status    O   O  fdm read_report    fdm read_ba_synchronize  fdm get local report    dm switch image 
186. sage     Don t free the allocated buffer till step 8     2  The FIP DEVICE MANAGER activation manager is warned of the fact that one of the queues is not empty  by calling a callback procedure reserved for this purpose  and which the user must write  The address of this  procedure is transmitted to FDM by the function fdm_initialize_network  User_Signal_Send_Msg field of the  FDM_CONFIGURATION_SOFT structure   The User_Signal_Send_Msg callback function must activate a  task that implements the action below     3  The task activated by the User_Signal_Send_Msg callback function has to call the fdm_msg_send_fifo_empty  function  This call activates the FIP DEVICE MANAGER to empty the queue and process the request     4  The FIP DEVICE MANAGER uses the FIPCODE services to carry out the request     5  When the message is sent  the the FULLFIP component issues an IRQ interrupt  the IRQ handler has to  process the event  see Subsection k4   Following processing FDM stores the event signaling the sending of  the message in a queue and calls the User_Signal_Send_Msg callback function     6  The User Signal Send_Msg callback function must activate a task that implements the action below     7  The task activated by the User_Signal_Send_Msg callback function has to call the fdm_msg_send_fifo_empty  function  This call activates FIP DEVICE MANAGER to empty the queue and signal the event to the user     8  FIP DEVICE MANAGER calls a user callback procedure when it sends the message  The 
187. ser has requested a list of equipment present   Pointer to a user function which will be called by the FIP DEVICE  MANAGER after the user has requested a sync variable    Pointer to a user function which will be called by the FIP DEVICE  MANAGER after the user has requested a presence variable    Pointer to a user function which will be called by the FIP DEVICE  MANAGER after the user has requested an identification variable     Pointer to a user function which will be called by the FIP DEVICE  MANAGER after the user has requested a report variable              The above three user functions must provide the following values in response  to the call  NO_VAR_DELETE if FDM is not meant to delete the variable     and VAR_DELETE if it is     Page 3 10    FIP DEVICE MANAGER Software Version 4 User Reference Manual    ALS 50278 e en    Test _Medium_ Ticks     Time Out Ticks     Time Out Msg Ticks     Online Tests Ticks     Default _Medium_threshold     Segment _Paramers Ticks     User Responsability     Timer CNT Register     Mode_Register     User Signal Mps Aper     User Signal Smmps     User Signal Rec Msg     User Signal Send Msg     User _Ctxt     Description of user interface primitives    Periodicity of call of internal function for testing the mediums  One ticks       one call of fdm_ticks_counter       Number of ticks to trigger a time out  common to all primitives requiring  idling time except messaging   Number of ticks to trigger a time out for messaging function     Nu
188. sersessreresseseessesersessresesseseesesees 3 58  1 40  fdm_ba_load_macrocycle_mamual            ccceccceeccessecsseesseeseeeeceseeeseceseensccaecsaecsaecseecaeeeaeeeeeeneeenseens 3 59  1 4      fdm  ba delete macrocycle   cscs cece wis Hae a RAW AR ah ened 3 64  1 42  fdm ba set priority  pennrener cebe sehen eee ccnes eh eanseeeeuek even hes ee doce esc eS 3 65  1 43  fdm  b  set parameters   isene rieni Fece sacs dese cteu seg E EA E E E R R R T 3 66  1 44 fdm bastart enner erre nini a E ER EERE R E eee 3 67  MAS     fda    Dal stOp O ANSE A EEE E A E E E EE 3 68  146      fd oE o E NEn TEE R O E E A E E E 3 69  1 47 fdm ba commute _macrocycle         ccceccceeccesscesecesecsecseecseeeseeeaeeeeeeenscenseesecaecaecseecaeeeaeeeaeeneeenseeas 3 71  1 48  fdm ba  external resyheO emnin a e ee ie 3 72   49 fd ba loaded    rnn a a a towne n 3 73  1 507 fdin read present listai aseene eon i E aod E E E E E O E Ea 3 74  1 5     fd t  ad preseice O R E E ee 3 75  1 52  fdm read identification ieri i REE RE EE E E R 3 76  1 53  fdm read report  neieern nienean ER E E E E RE RE E TE 3 77  1 54 fdm read ba synehronizel  s      6  cc iscsdpcccsseesscsacs nce cues odevtacesacaecsesseossnbaes cues esse cbaebacbsnssecdestsottceersens 3 78  1 55  fdmoget local  reportQ icczsansicst incase SRSA ee ee a eed E 3 79  1 56 fdm smmps fifo empty         ce eeeccceesseesceesceseceecescecseecseeeaeeeeseeeeseceseensecnsecsaecaaecseecaeeeseeeaeeneeetenes 3 80  1 57 fdm messaging fullduplex create     
189. sga   iscsi tce hit hi el eich AAA SAU AAR IA Haas 3 41  1 26  fdm amps  var write  loc isc  scescesecicegee nie i k seecccenen eek RER E kee sts ee ate te eee eds 3 42  1 27  fdm mps  Var  write universal  aksn isere i i R E RR R a 3 43  1 28    fdr  mps v  r time write loc  esesmrei nae a a E E a Me e aa 3 44  129  e ia ER na DTPa Var redd loc   lt   ccc  5 ccccsecasccsduds dcsdacsszceduads dy seen ca satadeda  E 3 45  1 30  fdm_mps_ var _read_umiversal           cccccecssessceescesecessecseeeseeeseeeeeeecesecnseceseeseceaeceaecseecaeesaeeeeeeneeeneeees 3 47    Page 10    FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Contents                         1 3     dimi mps var time read loc  onise caine vies E ERE canon aed nose E teen a 3 48  1 32     fdmgeneric  time  initialize  Sien e Ae e s aE E S E ES E Aad 3 49  1 33  fdm generic time write  1OC   nosne e i aE ER R a EE EREK  3 51  1 34 fdm generic time read locO anienr renr iiie i T RE E KEE E 3 52  1 35   fdmsgeneric  time  dela E a e estes a a en ee a 3 54  1 36 fdm generic time Set _PriOrity            sesesssssesssseessesersresersessteresststestesttstssteresstetesresetstsseenesseseessesets 3 55  1 37 fdm generic time set candidate for election             ccccecseeseessceesceseceeceeeceeecaeeeseeeeeeseeeeeeeeeeerens 3 56  138  lt fdmemps  ffo empty    rererere eae a eE E S ee Ea EEE EAEE EEE E EEEn 3 57  1 39 fdm ba load_macrocycle_fipconfb           esseeseseesseeesseeeessesersressesese
190. side FIP DEVICE MANAGER  not manipulated by the user     REPORT     This function produces a report as specified in Chapter 1 Subsection 4 2  of this document     Page 3 38 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Description of user interface primitives    1 23 fdm_mps_var_change_prod_cons    SUMMARY     Function for modifying the P C attribute of a variable     PROTOTYPE     unsigned short fdm_mps_var_change_prod_cons      FDM MPS VAR_REF  Ptr MPS VAR    enum _FDM CHANGE TYPE New_Imagel Prod Cons    enum _FDM CHANGE TYPE New_Image2_Prod_Cons     DESCRIPTION     This function makes it possible to modify the value of the Produced Consumed attribute associated with an MPS  variable when the AE LE to which it belongs is started up     INPUT PARAMETERS     Ptr MPS VAR  Pointer to a data structure of the FDM_ MPS VAR_REF type     This parameter enables the variable on which the primitive must act  to be  identified     New_Imagel Prod_Cons  New value of the produced consumed attribute for Image 1 of the  variable  CONSUMED or PRODUCED     New_Image2 Prod_Cons  New value of the produced consumed attribute for Image 2 of the  variable  CONSUMED or PRODUCED     Description of type FDM_ MPS VAR_REF     Inside FIP DEVICE MANAGER  not manipulated by the user     REPORT     This function produces a report as specified in Chapter 1 Subsection 4 2  of this document     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 39
191. ssesersrsresseserssstesesstsresseseesreseeseseseseesreses 4 2  1 3  S o ETONE N OTa TGO a RE EE E EE E E E A E 4 3    ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 11    Contents    L4     AE LE Start up tevwo cts ten eE a AEE R   A E EE E EA E A E 4 4  Ey   IMessaGine r ed MAGE SARC E a er HAL aS 4 5  1 6  MPS variables  nrar ee eels eee iecnce ies edt aoe eee diel ae heer ee a ieee hee 4 6  2  MEMORY CAPACITY REQUIRED    ae a aae Aa A AA NEE AE EE A 4 7  2 1  Ee  EAIA atole LIET i AVARA A E E E AO A A E 4 7  DD  Dath SIZE a AE P E TAE A she A ion das T eee 4 8  2 3 Memory capacity for FULLFIP2         sseeseseeserseesessererssvsereeseesorsresesserersrreesovsrssessevorssertrertseesersersessete 4 8    CHAPTER 5   ERROR CODES  1    ERROR MESSAGES    aianei aar a T ct svbes toads oes E EEEE Sek adh ost EAE cs subse E E EE 5 1    CHAPTER 6   INSTALLATION PROCEDURE    Ie     SORT WARE  SUPPLY 9 coszcvscciees R E E NE ANA stan EREE 6 1  27 IMPLEMENTATION ahlar sees  amp  a vodh E a E E E E a A tite 6 2  3   COMPILATION  PARAMETERS re traean nag Ea a e e a a ea i 6 3    APPENDIX A   COMPATIBILITY  APPENDIX B   USE WITH C      GLOSSARY    Page 12 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Table 3 1     Default values for the network transmission          Table 6 1     FIP DEVICE MANAGER library options             Table A 1     Compatibility between Version 2 and Version 4    ALS 50278 e en FIP DEVICE MANAGER Softw
192. structure of the FDM_REPORT_VAR type in which  the value of the report variable read will be stored     Description of type FDM REF     Inside FIP DEVICE MANAGER not manipulated by the user     Description of type FDM REPORT VAR     See the primitive fdm_initialize network        REPORT     This function produces a report as specified by the primitive fdm_stop network        ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 79    Description of user interface primitives    1 56 fdm_smmps _ fifo _empty    SUMMARY     Function for emptying the event file regarding SM_MPS requests     PROTOTYPE     fdm smmps fifo empty         FDM REF  Ptr Network Identification       DESCRIPTION     This function enables the user to find out about received events regarding SM_MPS variable read requests by  emptying the corresponding queue  When the user activates the procedure  the FIP DEVICE MANAGER  activates the User _yyy_prog user procedure  yyy Present_list or Presence or  Identification or Report or Synchro BA depending on the case  provided to do this on  configuration of the variable     INPUT PARAMETERS     Ptr Network Identification  Pointer to a data structure of the FDM_REF type     Description of type FDM REF     Inside FIP DEVICE MANAGER  not manipulated by the user     REPORT     None    Page 3 80 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Description of user interface primitives    1 57 fdm_messaging fullduplex_c
193. t must be processed as indicated in the  preceding section     Processing the IRQ handlers as described in the preceding section will activate FDM  which will call the  following user callback functions        User Signal _Mps Aper   ifthe event corresponds to the reception or the transmission of a universal   type variable  The user provides this function to the FDM  when he calls the fdm_initialize_network function   a field of FPDM_ CONFIGURATION _SOFT structure        User Signal _Smmps   if the event corresponds to the reception of one of the network management  variables  following a request to read this variable  The user provides this function to the FDM  when he calls  the fdm_initialize_network function  a field of FDM_CONFIGURATION_SOFT structure        User Signal Receive Msg   if the event corresponds to the reception of a message  The user  provides this function to the FDM  when he calls the fdm_initialize_network function  a field of  FDM_CONFIGURATION_SOFT structure        User Signal _Send_Msg   if the event corresponds to the reception of acknowledgement of  transmission of a message or to a request for user transmission  The user provides this function to the FDM   when he calls the fdm_initialize_network function  a field of FDM_CONFIGURATION_SOFT structure        User Signal _Asent   if the event corresponds to the transmission of a produced variable with  associated event  A Sent   The user provides this function to the FDM  when he calls the  fdm_mps_v
194. ted  and which are the aperiodic requests which can be  processed by the Bus Arbitrator    03 H  ID DAT   05 H  ID MSG    Code of the Bus Arbitrator program instruction which must be  chosen from the following      2  NEXT_MACRO  Macrocycle re looping   4  SEND_MSG  Opening of aperiodic messaging  window   5  SEND_APER  Opening of aperiodic MPS  variable window   6  BA WAIT  Internal synchronisation waiting  window   100  SEND LIST  Periodic processing   103  TEST_P  Test of subscribers present   104  SYN WAIT  External synchronisation waiting  window with stuffing   105 SYN WAIT SILENT External synchronisation waiting       window without stuffing     This instruction must be used  with caution because of  potential BA election problems     Page 3 60 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Param 1     ALS 50278 e en    Description of user interface primitives    Significance dependent on Op_Code parameter    SEND LIST   NEXT MACRO  END BA  TEST P    SEND MSG     SEND _ APER     BA WAIT     SYN_WAIT_SILENT     SYN_WAIT     Ptr_Lists List_size    Ptr _list_El  ment       List_size       Ptr_list_ El  ment         ID       Frame_Code    ID    Frame_Code    Ptr_Intructions Op_Code    Param 1    Op_Code    Param 1    FIP DEVICE MANAGER Software Version 4 User Reference Manual    Number of the list  i e   index in the list array      Param    0   End time in relation to beginning of  macrocycle  Time 0  of the aperiodic    messaging window whi
195. terface is arranged around different objects  which can be manipulated using a set of  functions  and which are associated with different aspects of network functionality     The functions provide everything required to       create or delete objects  in accordance with their dependency rules      modify objects in accordance with the possibilities offered      manage operating modes in accordance with the protocol      have access to the MPS variables and to transmit and receive messages to communicate     The list of objects which can be manipulated and their interdependence are shown below             DEVICE  ee ee ee  REICH foc Re ON rege Send A Pace SEIVORK    TIME TIME  AE_LEsMPS MESSAGING CONTEXTS AE_LEsMPS MESSAGING CONTEXTS  MACROCYCLE MACROCYCLE  ues AE_LE SM_MPS VARIABIES AE_LE SM_MPS    The indentation which shows the interdependence of the objects indicates  for example  that a variable object  required for MPS variable exchanges  can only be created in the context of an existing AE_LE  which itself can  only be created in the context of an existing network     All the creation primitives refer to the object created which must be specified as a parameter of all the primitives  that manipulate the object     Page 1 8 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    General introduction    The primitives for each object are     DEVICE  equipment that can control several WorldFIP networks  The primitives regard initialization and  overal
196. terface with the operating System onsena i E E E A ETE 1 13  4 3 1 Management of mutual exclusion           ecceceescesscesecseesecesecsecseeseecusecseeecsecsaecseeeeeeseceaecaeeesensecaeeneenseeaees 1 13  4 3 2 Memory MmajagemMent os dvsac saccasevevcivess east odsdbeas se GEE AEri NE AA AN Nea 1 16   4 4 Processing IRQ and EOC interrupts  0         cccceccescceecssecseeeseeeeeeeeeeecesecnseesecsaecseecseecseeeseeeeeensenereees 1 17   a K e 0E TaT AE a E E AE E E E E EE EE AAR 1 20  4 6   Processing real timesclock interrupts nrnna e cae EE E EERE EE RN O 1 21  4 7 Operating model for the deferred Services         ccescescceseesseesseeseeeeeeeecesecesecsecaecaecseecaeeeseeeneenseeereees 1 23  4 7 1 Operational model for accessing the SM_MPS variables             ccceccessesseeeceeceeecenecsecseeeeeeseceeceaeeneeeeeeeees 1 24  4 7 2 Operational model for accessing the universal type MPS variables            c esescessesseseceeeceeceseeeeeeeeeeeees 1 27   4 7 3 Operational model for the transmission Of MeSSAGES            ccsceesseescescesseeecssecseeseceseceaecseeeecesecaecaeeteeeaees 1 29  4 7 4 Operational model for the reception Of messages         eeeeecescetecssesscescesecesecseeseesseesecesessecseeeeeeeeeseeeteeeaees 1 32   4 8 Operating model for the local MPS indications           ccccceescesseeseceseeeeeeeeceseceeecenecseecaeecsecneeeeeeneeees 1 34  4 9   Create anJF DM applications irnc 5 ci60  tie  ek Soba eek ee es Mende Ah e aa cose ete eat ed ese anis 1 36    CH
197. text     The message exchange type at the Data Link Level is acknowledged or not  acknowledged according to the contents of the address     23 22 8 7 6 0    pp si   sone    ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 2 29    Available Functions                                     VG S R Segment Address Type Message exchange  0 0 00 to 7F Individual address Acknowledged    1 0 00 to 7F Group address on the segment Not Acknowledged  X 1 TF Group address on all the segments   Not Acknowledged         If you want to exchange unacknowledged messages on an individual address  then use the function  fdm_change_message_acknowledge_type  see Chapter 3  to change the type of message exchange     1 6 2 Transmission configuration    The configuration of the Message transmission function consists in creating periodic and aperiodic transmission  channels     For periodic messaging channels  the configuration parameters for a channel are as follows      associated identifier      channel number  from 1 to 8  a number cannot be associated with more than one identifier     In the case of aperiodic messaging  there can be only one channel with number 0  It is configured at the same  time as the MPS variables  see Page 3 29 fdm_mps_var_create   primitive      1 6 3 Reception configuration    The reception configuration consists in indicating the addresses  WorldFIP 24 bits  to be used for receiving  messages     There are two address types for one message  ta
198. that of the subscriber making the request  an aperiodic request is made  Hence the need for an aperiodic MPS  window in the Bus Arbitrator program  The user is informed of the arrival of the variable requested by  calling a procedure written by it     1 5 3 Creation of list of equipment present variable    This variable is only built  and therefore produced  by the active Bus Arbitrator subscriber whose BA program   the series of frames to be circulated  comprises at least one instruction of the TEST P type  see  4   Subsection 12 1      There are two ways of processing this instruction depending on which equipment is used to manage medium  redundancy        either FIP DEVICE MANAGER is used with a ZN130 component or a FIELDUAL system used in a mode  compatible with ZN130  In this case  the subscribers present test is partly managed by the FIP DEVICE  MANAGER and partly by FIPCODE      or FIP DEVICE MANAGER is used with a FIELDUAL system used in a    new    mode  which can be    controlled by FULLFIP2   In this case  the subscribers present test is entirely managed by FIPCODE which  creates the list of equipment present variables     1 5 3 1 ZN130 or FIELDUAL in compatible mode    Each time a TEST _P instruction is given  FIP DEVICE MANAGER interrogates a subscriber and asks it to  produce its presence variable in order to check its presence     Transmitting on each channel alternately carries out this interrogation  complete information about a subscriber  is only obtained a
199. ts written in BOLD are those contained in the fdm h file  therefore they can be used directly        the lines of C code are written in courrier     1 1 fdm_initializeQ  SUMMARY     FIP DEVICE MANAGER general initialisation function    PROTOTYPE     void fdm_initialize  void     DESCRIPTION     This function carries out the general initialisation operations for the FIP DEVICE MANAGER  in particular  those regarding the management of timers     It is totally independent of the managed networks and must be the first function called by any application using  FIP DEVICE MANAGER Version 4     INPUT PARAMETERS   None   REPORT     None     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 1    Description of user interface primitives    1 2 fdm_get_version     SUMMARY    Function for obtaining the software versions used   PROTOTYPE    const FDM_VERSION   fdm_get_version  void    DESCRIPTION     This function is for finding out which version of FIP DEVICE MANAGER is being used and which version of  the FIPCODE software is included     INPUT PARAMETERS   None  REPORT     This function produces a report of the FDM VERSION type  which gives the version  the revision number  and any prototype references for both the software packages     In all the marketed product versions  the prototype reference is equal to 0  If the prototype reference is not 0  this  means the version or revision is not yet stabilised     Definition of type  FDM_VERSION    Typedef str
200. tware     Chapter 2     Available functions  contains a detailed description of the available features     Chapter 3   Description of user interface primitives  contains a detailed description of each primitive  available  as well as of those called by FIP DEVICE MANAGER  to be written by the user     Chapter 4     Performance levels  specifies the performances on the user interface and on the line   Chapter 5     Error codes  describes the error codes returned following primitive calls    Chapter 6     Installation procedure  describes the installation procedures    Appendix A     Compatibility  describes the compatibility between Version 2 and Version 4 primitives   Appendix B     Use with C    describes the FDM use in a C   environment     Glossary    3  RELATED PUBLICATIONS    For more information  refer to these publications      1  EN50170 partie 3  Normes WorldFIP     2  FIP Network General Introduction ALS 50249   3  FIELDUAL User Manual ALS 50273   4  FIELDRIVE User Reference Manual ALS 50261   5  FULLFIP2 Component User Reference Manual ALS 50262     6  Manuel de r  f  rence utilisateur du logiciel FIPCODE V6 ALS 50277    4  WE WELCOME YOUR COMMENTS AND SUGGESTIONS    ALSTOM strives to produce quality technical documentation  Please take the time to fill in and return the   Reader s Comments  page if you have any remarks or suggestions     Page 6 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Reader s comments    FIP DEVICE MANAGER Sof
201. tware Version 4 User    ALS 50278 e en Reference Manual       Your main job is     E System designer Q Programmer   LJ Distributor LJ Maintenance   E System integrator Q Operator   LJ Installer l Other  specify below     If you would like a personal reply  please fill in your name and address below     Send this form directly to your ALSTOM sales representative or to this address     ALSTOM Technology  Technical Documentation Department  TDD   23 25  Avenue Morane Saulnier  92364 Meudon la For  t Cedex  France  Fax   33  0 1 46 29 10 21    All comments will be considered by qualified personnel     REMARKS    ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 7    Reader s comments    Page  amp  FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Contents    CHAPTER 1   GENERAL INTRODUCTION    1  GENERAL OVERVIEW OF THE SOFTWARE  J     ccceccccescesseesscesecesecaecaeecaeecaeeeseeneeeeeeeeeneeeeaeeneenaeenaes 1 1  2  OVERVIEW OF TARGET HARDWARE CONFIGURATIONS 1    eccccsecseeesceesceeeeeeceseensecsseeneeeneeenes 1 3  3  PRESENTATION OF THE FUNCTIONALITY   0 2 0  ccecccecccesecscessecseeceecseeeseeeeeeeeeseenseenseceaeenaeenaeenaeenees 1 4  4  OVERVIEW OF THE INTERFACE WITH THE USER APPLICATION           ccccecccssecseeeeeseeeseeseeneees 1 6  4 1 Description of the basic Services  nenei S E EE E E a itha 1 8  4 2 Management of the reports and ERROR WARNING callback functions       s sssseeseeseeeeeseeees seese 1 12  4 3  In
202. uct    FDM VERSION ELEMENT fdm   FDM_ VERSION ELEMENT fipcode     FDM VERSIONS   Typedef struct    char Version   char Revision   char Indice     FDM_VERSION_ELEMENT     Page 3 2 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Description of user interface primitives    1 3 fdm_ticks_counter    SUMMARY   Time management function     PROTOTYPE     void fdm_ticks counter  void    DESCRIPTION     This is the function which manages the time outs of those aspects of the FIP DEVICE MANAGER functionality  aspects which use them and which periodically call  periods given in the primitive  fdm_initialize network    the internal functionality of medium redundancy management   ex TEST_MEDIUM   in Version 2  or  if necessary  the internal self test functionality   This is the equivalent  of the IT _HTR_FIP   function of Version 2      an    The unit of time will therefore be the same for all the networks controlled by the FIP DEVICE MANAGER   i e  all FIP DEVICE MANAGER instances      INPUT PARAMETERS   None  REPORT     None    ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 3    Description of user interface primitives    1 4 fdm_initialize_networkQ  SUMMARY   Function for creating a FIP DEVICE MANAGER utilisation context     PROTOTYPE     FDM REF  fdm_initialize network    const FDM _CONFIGURATION_SOFT  User Soft Definition   FDM_ CONFIGURATION HARD  User Hard Definition     const FDM_IDENTIFICATION  User Ident Param     D
203. ucture of the BA_INF_STATUS type specified  previously and containing the state of the BA function as well as the  label of the program underway if running     Description of type  FDM_ BA REF  Inside FIP DEVICE MANAGER  not manipulated by the user     Definition of type BA_INF_STATUS    typedef struct      enum BA INF Actif_Running   unsigned short Status_Fiphandler   unsigned short Label       BA_INF_ STATUS    Actif Running  Overall status of the BA  NOT _BA  The subscriber is not a potential BA  or the subscriber is a potential BA  but the BA function is not running   LOADED BA  The BA program is loaded   ACTIVE  The BA function is in the BA_STARTING or BA_IDLE or  BA_STOPPED mode   RUNNING  The BA function is in the BA_LSENDING  BA_PENDING     BA_WAIT_TIME  BA_WAIT_SYNC BA_WAIT_SYNC SILENT   BA_MSG_WINDOW or BA_APER_WINDOW mode     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 69    Description of user interface primitives    Status Fiphandler  Detailed status of the BA   BA_SENDING  Periodic window   BA_STOPPED  Stopped   BA_STARTING  Starting up   BA_IDLE  Waiting for election   BA_MSG WINDOW  Aperiodic messaging window   BA_APER_WINDOW  Aperiodic MPS window   BA_WAIT_TIME  Waiting for internal synchronisation   BA_WAIT_SYNC  Waiting for external synchronisation without stuffing on the line   BA_WAIT_SYNC_SILENT Waiting for external synchronisation with stuffing on the line  BA_PENDING  Waiting for external synchronisation  TEST_P   
204. ue       The FIP DEVICE MANAGER directly adds the total differential to the value of the variable     To use this function  the compiling switch FDM_WITH_GT or FDM_ WITH _GT_ONLY CONSUMED must be set  to YES        INPUT PARAMETERS     Ptr Time Identification  Pointer to a data structure of the FDM GENERIC TIME REF type   Description of type  FDM GENERIC TIME REFERENCE     Inside FIP DEVICE MANAGER  not manipulated by the user     Description of the function  fdm_generic_time_give value      FDM GENERIC TIME VALUE fdm_generic_ time_give value  void      Definition of type  FDM_ GENERIC TIME VALUE  3    typedef INOUT struct      unsigned long Significance   unsigned long Number Of Second   unsigned long Number Of Nanosecond       FDM_GENERIC_ TIME VALUE     Page 3 52 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Description of user interface primitives    Significance    x00  time written by an overall external reference    x02  time written locally by the producer   Number Of Second  Number of seconds since 1 01 70     Number Of Nanosecond  Number of nanoseconds since the beginning of the current second     REPORT     This function produces a report of the FDM_MPS READ STATUS type as specified by the primitive  fdm_mps_ var_read_loc          ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 53    Description of user interface primitives    1 35 fdm_generic_time_delete    SUMMARY     This function enables the user
205. unction submits a report as specified by the primitive fdm_stop_ network        ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 67    Description of user interface primitives    1 45 fdm_ba_stop Q    SUMMARY     Function for shutting down a potential Bus Arbitrator     PROTOTYPE   unsigned short fdm_ba_stop      FDM_REF  Ptr_ Network Identification       DESCRIPTION     This function makes it possible to request the shutdown of the Bus Arbitrator function  This shutdown will be  effective as soon as a new BA program instruction is processed     INPUT PARAMETERS     Ptr Network Identification  Pointer to a data structure of the FDM_REF type     Description of type FDM_ REF     Inside FIP DEVICE MANAGER  not manipulated by the user     REPORT     This function submits a report as specified by the primitive fdm_stop_ network        Page 3 68 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Description of user interface primitives    1 46 fdm_ba_status    SUMMARY     Function for obtaining the state of a potential Bus Arbitrator     PROTOTYPE     unsigned short fdm_ba_status     FDM_REF  Ptr_ Network Identification   BA_INF_ STATUS  Ptr BA Status     DESCRIPTION     This function makes it possible to find out the operating state of the Bus Arbitrator functionality of the station     INPUT PARAMETERS     Ptr Network Identification  Pointer to a data structure of the FDM_REF type     Ptr BA Status  Pointer to a data str
206. up  the message to be transmitted   Ptr Block  Pointer to the first block of the FDM_ MSG T_DESC type    which contains the message to be transmitted   Local_DLL Address     Remote DLL Address  Same definition as for the Local DLL Address  parameter  above      Service Report  Message transmission report given by the FIP DEVICE  MANAGER when the user procedure intended to  acknowledge it  and the reference which is given by the  aforementioned User Msg Ack Proc parameter  is  called  The parameter of this user procedure is a pointer to a  data structure of the FDM MSG TO SEND type  the same  as that used for transmission     Fdm Msg T Private  Data structure in the FDM PRIVATE DLI_T format  which only the FIP DEVICE MANAGER can use     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 83    Description of user interface primitives    Description of type  FDM_MSG T DESC    typedef struct _FDM MSG T DESC     integer Nr_Of Bytes   unsigned char  Ptr Data   struct _FDM MSG T DESC  Next_Block       FDM_MSG_T DESC     Nr_Of Bytes  Number of bytes contained in the block pointed to by  Ptr_Data    Ptr Data  Pointer to the zone containing data    Next_Block  Pointer to the following block of the same type     Description of type FDM_ MSG SEND SERVICE REPORT   typedef struct      enum _FDM MSG SND CNF Valid        enum _FDM MSG USER_ERROR_ LIST msg_user soft report        enum FIP MSG SND REP Way        enum _FDM MSG SND CNF         FDM MSG SEND OK   0  
207. ure of the FDM_MPS VAR_REF type     Description of type FDM MPS VAR_REF     Inside FIP DEVICE MANAGER  not manipulated by the user     REPORT     This function produces a report as specified in Chapter 1 Subsection 4 2  of this document     ALS 50278 e en FIP DEVICE MANAGER Software Version 4 User Reference Manual Page 3 47    Description of user interface primitives    1 31 fdm_mps_var_time_read_loc      SUMMARY     Read function for a local variable     PROTOTYPE     FDM MPS READ STATUS fdm_mps var _time_read_loc         FDM MPS VAR_REF  Ptr MPS VAR     Void   User Set Value   FDM_MPS VAR_TIME DATA           FDM MPS VAR _ TIME DATA  Variable          DESCRIPTION     This function makes it possible to read a local MPS variable     INPUT PARAMETERS     Ptr MPS VAR     User Set_Value    Variable     Pointer to a data structure of the FDM_ MPS VAR_REF type     User function that would be called by FIP DEVICE MANAGER to indicate that the  variable value is available in the FDM_MPS VAR _TIME DATA type structure  This  function call is encapsulated between OS Enter Region   and  OS Leave Region    calls  So the execution time of these user written functions must  be as short as possible        Pointer to the data structure containing the variable and its additional information     Definition of type  FDM_ MPS VAR_TIME DATA     typedef struct         unsigned long Network Delay   unsigned char Pdu_Type   unsigned char Pdu_Length   unsigned char FBuffer  126        FDM MPS VAR _TIME
208. user interface primitives    1 20 fdm_mps_var_change_id    SUMMARY     Function for modifying the value of the ID associated with a variable  PROTOTYPE   unsigned short fdm_mps var _change_id     FDM MPS VAR REF  Ptr MPS VAR     unsigned short New_ID       DESCRIPTION     This function modifies the value of the identifier associated with an MPS variable when it has already been  created but when the AE LE to which it belongs has not yet started up     INPUT PARAMETERS   Ptr MPS VAR  Pointer to a data structure of the FDM_ MPS VAR_REF type   This parameter enables the variable on which the primitive must act  to be  identified   New_ID  New value of identifier to be associated with the variable     Description of type FDM MPS VAR_REF     Inside FIP DEVICE MANAGER  not manipulated by the user     REPORT     This function produces a report as specified in Chapter 1 Subsection 4 2  of this document     Page 3 36 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    Description of user interface primitives    1 21 fdm_mps_var_change_periods    SUMMARY     Function for modifying the refresh or prompt periods of a variable     PROTOTYPE   unsigned short fdm_mps var _change_ periods      FDM MPS VAR_REF  Ptr MPS VAR     unsigned long Refreshment Period   unsigned long Promptness Period     DESCRIPTION     This function makes it possible to modify the value of the prompt and refresh windows associated with an MPS  variable     INPUT PARAMETERS     Ptr MPS VAR  
209. variables        create the universal type MPS variables by calling the function fdm_mps_var_create  see the Chapter 3    for each variable to create you have to call the function fdm_mps_var_create     e follow the model described in Subsection 4 7 2 of this chapter     Page 1 36 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    General introduction    10  If you want to send and receive local MPS variables     create the local MPS variables by calling the function fdm_mps_var_create  see Chapter 3   for each  variable to create you have to call the function fdm_mps_var_create     you can read and write local variables using the functions fdm_mps_var_read_loc and  fdm_mps_var_write_loc     if you want to receive indications after a write of a variable or when you receive a variable  follow the  model described in Subsection 4 8 of this chapter     11  If you want to send and receive messages  see Subsection 1 6 of Chapter 2 for an overview      if you want to use the periodic messaging then you have to create a periodic channel by calling the  function fdm_channel_create  the channel number should be 1 to 8      create a messaging context used only for the transmission of messages by calling the function  fdm_messaging_to_send_create  see Chapter 3   if the channel is aperiodic then the Channel Nr field of  the structure FPDM_ MESSAGING_TO_SEND should be 0  otherwise if it is periodic  this field must be set  to the value used when creating the pe
210. wing this processing  FDM stores the received SM_MPS  variable in a queue and calls the User_Signal_Smmps callback function     6  The User_Signal_ Smmps callback function must activate a task that implements the action below     7  The task activated by the User_Signal_Smmps function has to call the fdm_smmps_fifo_empty function  This  call activates FIP DEVICE MANAGER to empty the queue and to signal the event to the user     Page 1 24 FIP DEVICE MANAGER Software Version 4 User Reference Manual ALS 50278 e en    General introduction    FIP DEVICE MANAGER calls a user callback procedure  The address of this procedure which is transmitted    to FDM by the function fdm_initialize_network     is the field User_Present_List_ Prog of FOM CONFIGURATION SOFT structure  it is called if the  fdm_read_present_list function is used     is the field User_Identification_Prog of FDM_ CONFIGURATION SOFT structure  it is called if the  fdm_read_identification function is used     is the field User_Report_Prog of FDM_ CONFIGURATION SOFT structure  it is if the fdm_read_report  function is used     is the field User Presence Prog of FDM CONFIGURATION SOFT structure  it is called if the  fdm_read_presence function is used     is the field User_Synchro_BA_Prog of FDM CONFIGURATION SOFT structure  it is called if the  fdm_read_ba_synchronize function is used     Don t call the  dm_smmps_fifo_empty function inside the body of  User Signal Smmps function  The execution context of the  fdm_smmps_fi
    
Download Pdf Manuals
 
 
    
Related Search
    
Related Contents
Massive Table lamp 37679/48/10  RAMOS Optima - standard manual v1.1  クリシスイ ー` 取扱説明書  BAI-219 Manual de Instrucciones  Philips Viva Collection Hand blender HR1616/00  Le clivage de l`objet et la clinique contemporaine  Proofm 3.21.07 User Manual  SG2 PLR USER Manual  HP 200 250 G3  03-3960-75ー ー httm//wwwjeskk    Copyright © All rights reserved. 
   Failed to retrieve file