Home

view the device driver and system service manual

image

Contents

1. Parameter Description 1 Longword aligned user buffer to be read from reflective memory 2 Byte count to transferred modulus of 4 bytes 3 Longword aligned starting byte address in reflective memory 4 5 Read Network FIFO IO READRCT The PCI 5565 device has four 128 entry FIFOs that can be enabled individually Data is written to these FIFOs based on the interrupt type passed in the message This can be from one to four The sending node id and the data is placed into the selected FIFO This function allows the user to read the particular FIFO The IO _INTIALIZE IO M_READATTN must be enabled for the particular FIFO QIO Parameters Parameter Description 1 Longword aligned user buffer to be read from reflective memory Two longwords are returned for each entry The first longword contains the sender node and the second contains the sender s data 2 Byte count to transferred modulus of 8 bytes 3 FIFO number 1 2 3 or 4 4 6 Read Init Node FIFO IO READHEAD The driver maintains a bit map of nodes if function is enabled that have recently joined the reflective memory ring eight long words This function will return this bit map and reset it The recognition of these 34 PCI 5565 Device Driver events must be enabled by the using the IO _INTIALIZE IO M_BOOTING function QIO Parameters Parameter Description 1 Eight longword user buffer to be r
2. 12 character Documentation about the node that owns this tag e g writes to it Should not contain any commas or apostrophes 52 Utilities 5 4 3 Example CSV file Tag Name Data Variable Array RFM ADD Description Units Source Type Type Size hex Define structures first d PDO Struct START Start structure definition Produced Length Struct REAL Produced length M Produced Gauge Struct REAL Produced gauge mm Coil ID Struct Char 12 Coil identification Alloy Elem Char 10 Coils alloy PDO Struct END End structure definition PLC to CPU1 PLC_CPU1_GWStart Elem INT 0 0x000100 Guard Word Start 0 PLC S1_ModelGauge_RFM Elem INT 0 0x000102 Model Gauge Stand 1 100 1mm PLC S2_ModelGauge_RFM Elem INT 0 0x000104 Model Gauge Stand 2 100 1mm PLC S3_ModelGauge_RFM Elem INT 0 0x000106 Model Gauge Stand 3 100 1mm PLC S1 AntiForce RFM Elem INT 0 0x000108 Model Anticipated Force Stand 1 10 1MT PLC S2 AntiForce RFM Elem INT 0 0x00010A Model Anticipated Force Stand 2 10 1MT PLC S3 AntiForce RFM Elem INT 0 0x00010C Model Anticipated Force Stand 3 10 1MT PLC S12 ModelTenRef RFM Elem INT 0 0x00010E Model 1 2 Tension Reference 10 1kg cm2 PLC S23 ModelTenRef RFM Elem INT 0 0x000110 Model 2 3 Tension Reference 10 1kg cm2 PLC TR ModelTenRef RFM Elem INT 0 0x000112 Model Reel Tension Reference 10 1kg cm2 PLC S1 Model RBRef RFM Elem INT 0 0x000114 Model Roll Bending Reference
3. C and FORTRAN prototypes for the RFMGetReference function are shown below The functions have been designed for ease of use in the FORTRAN environment The passing mechanism shown in the C prototype is consistent with the default FORTRAN passing mechanism int RFMGetReference IPDRFM_HANDLE pHandle APITAG Tags int TagCnt int pStrucSize Integer 4 RFMGetReference Integer 4 Handle Integer 4 Tags Integer 4 TagCnt Integer 4 StrucSize Handle Usage A pointer to the EXEC mode Handle structure Type Longword Access Read only Mechanism By reference The address of a variable that contains the pointer to the EXEC mode handle structure Tags Usage Address of APITAG structure for tag to be referenced Type Longword Access Write Mechanism By reference The Tags parameter contains the address of a single APITAG structure or a contiguous block of APITAG structures TagCnt Usage Number of tags in the Tags structure Type Longword Access Read only Mechanism By reference This is the address of a variable that contains the number of tags within the Tags structure If more than a single tag is provided in the Tags structure they must be contiguous within the containing structure Size Usage Size of the entire Tag structure provided Type Longword Access Read only Mechanism By reference The address of a variable containing the size in bytes of the entire Tag structure provid
4. OpenVMS distribution These commands are created through the use of DCL symbols The foreign commands for the IPD utilities are shown below and are defined in the command procedure RFM_SYMBOLS COM DEVDMP SIPD PROD DEVDMP GETIT IPD_PROD GETIT PUTIT IPD_PROD PUTIT PEEK SIPD PROD RFM PEEK POKE IPD PROD RFM POKE RFM IPD PROD RDM PSTCFG IPD PROD PSTCFG Each utility is described in the following sections In addition some debugging tools are also available DEVDMP Dumps device driver data structures and FINDPCI browses the adapter tables and displays PCI devices installed in the running system and creates a sysman driver load file for all found PCI 5565 reflective memory cards found 5 1 1 DEVDMP The DEVDMP utility is a debugging tool that can help IPACT diagnose any problems with the driver The syntax of the command is DEVDMP DeviceName DeviceName The DeviceName is RBAO RBBO RBCO or RBDO If not specified RBAO is assumed This utility must be ran from an account that has change mode to kernal privledge It examines the current running system and extracts a copy of the device data structures and formats them for the user These data structures are documented in the HP OpenVMS device driver manual and in the header file for these structures RFM_5565_DEF H A sample output is shown below Some of the data listed that might be of user interest are e Actual car
5. and are comma seperated Repeat specifiers are supported for a single field but no parenthetical repeat is supported If no format information is provided Z8 8 hex is used Zw Integer 4 hex Iw Integer 4 decimal Wwe Integer 2 decimal Bw Byte decimal Fw d Real 4 decimal IEEE float Xw Skip over w bytes from read buffer Cc Character D 23 character OpenVMS Time Stamp Where w Width of field d Precision Examples poke adapter rba0 count 100 address x1000 debug data 1234 poke adapter rba0 count 100 address x1000 fmt 10z8 count 80 poke adapter rba0 count 100 address x1000 fmt 1018 count 80 poke adapter rba0 count 100 address x1000 fmt 1018 count 80 datafile test log poke adapter rba0 address x1000 fmt 10z8 poke adapter rba0 address x1000 fmt 10f10 7 gfloat poke adapter rba0 address x1000 fmt 10f10 7 poke address x1000 fmt f10 7 count 4 datsym speed debug poke adapter rba0 count 100 address x1000 data lt from time poke force address x1000 fmt i10 count 4 data 1023 5 3 REM The RFM utility provides a convenient DCL interface to control some of the capabilities of the PCI 5565 device The utility makes use of the special I O function codes to the driver 5 3 1 RFM Command Syntax 49 Utilities The lt gt denote one of the options and are not part of syntax The are optional parameters One or more option
6. INTIALIZEI ees ees sees see 36 4 12 REFRESH MEMORY TO RING sxa AO 37 4 13 ROGUE MASTER ENABLE IO INTIALIZE aaa 37 4 14 LOOPBACK MODE ENABLE DISABLE IOS INTIALIZE esse esse 38 4 15 SET DARK ON DARK MODE IOS INTTIALIZEI ee ees sees sees ee ees ee 38 ALO ERROR CODES EE 38 KEE Ee ee 38 4 18 DEVICE ERROR AND EVENT MESSAGES ese se se se se se se se se se se se se es ese 39 det ide E 41 ick sh DEVDMP on DE ER AT 41 RR SA ARE EE EE mee 44 e A RE 46 J 4 REM PEEK UTILITY od ae Ad 47 sg REM POKE UTILITY ee 48 E REN WEEN 49 5 3 1 RFM Command SURE EE 49 SA BLES aa Naya OE A errr ry A AKA N 50 5 4 1 Command EE 51 5 4 2 CSV ER 51 Table of Contents 5 43 Example CSV EE 53 6 4 4 Example Command EE 58 5 4 5 Example Bit Definition File eise Ee GE ee eg 59 5 5 RTREND PLOTTING PROGRAM FOR RFM TAGS eee ee ee 61 SAY L10 NG AA N EG Ge OT EEEE N 61 5 5 2 RTREND Example PIOU es Me DS RS EEE EKE KAKA 62 6 Development Considerations 6 1 ENDIAN CONSIDERATIONG cccccccccccccccsccccccescccscceeceeeecesseeeeeeeeecs 63 Introduction 1 Introduction This document explains the operation and functionality of the GEFANUC PCI 5565 PCI reflective memory interface and associated OpenVMS system services The user should reference section 2 for the installation procedure The following is a brief description of the environment e OpenVMS install kit utilizes sys udpate vmsinstal com e OpenVMS PCI device drive
7. PUTIT utility described earlier pass 1 getit symbol PD 46 Utilities CURRENT_SDR PEDGPOS Pass PHORTORQUE Pass Epos f element 0 PD Torque f element 1 PD write sys output EdgPos Epos write sysSoutput Torque Torque The above example shows the usage with arrays Note also the substitution of the DCL symbol pass into the string and the parsing of the symbol to get the particular values if f search sdr tmp nes then Delete sdr tmp GETIT quiet out sdr tmp L2 SDR1 PUTIT quiet CURRENT_SDR sdr tmp The above example moves the L2_SDR1 process variable record structure to the CURRENT_SDR record structure 5 1 4 RFM PEEK UTILITY The RFM PEEK utility allows the caller to read anywhere in reflective memory and format the data out to the user By default if no format information is provided the output is simply displayed in hex longwords 5 RFM PEEK Start reflective memory address Adapter Delimiter DATAfile filename DATASYM DCL SYMBOL FMT format string FMTSYM DCL symbol COUNT Byte count of read GFLOAT ADDRESS Reflective memory address in hex ADAPTER 5565 device RBAO RBBO etc If not specified RBAO is used COUNT Optional count If present will limit the read regardless of how much data is read If format string specifies more data than the count the count takes precedence DELIMITER Character used as a delimiter to separ
8. Stand 1 10 1kg cm2 PLC F1 Top Coolant pat 1 Elem INT O 0x000198 Stand 1 Top Coolant Bit Fdbk 45 0 PLC F1 TOP DS 1 Elem BIT 0 0x000198 00 F1 TOP drive side 1 Logical PLC F1 TOP OS 1 Elem BIT 0 0x000198 01 F1 TOP operator side 1 Logical PLC F1 TOP DS 2 Elem BIT 0 0x000198 02 F1 TOP drive side 2 Logical PLC F1 TOP OS 2 Elem BIT 0 0x000198 03 F1 TOP operator side 2 Logical PLC 53 F1_TOP_DS_3 Elem BIT 0 0x000198 04 F1 TOP drive side 3 Logical PLC F1 TOP OS 3 Elem BIT 0 0x000198 05 F1 TOP operator side 3 Logical PLC F1 TOP DS 4 Elem BIT 0 0x000198 06 F1 TOP drive side 4 Logical PLC F1 TOP OS 4 Elem BIT 0 0x000198 07 F1 TOP operator side 4 Logical PLC F1 TOP DS 5 Elem BIT 0 0x000198 08 F1 TOP drive side 5 Logical PLC F1 TOP OS 5 Elem BIT 0 0x000198 09 F1 TOP operator side 5 Logical PLC F1 TOP DS 6 Elem BIT 0 0x000198 0A F1 TOP drive side 6 Logical PLC F1 TOP OS 6 Elem BIT 0 0x000198 01 F1 TOP operator side 6 Logical PLC F1 TOP DS 7 Elem BIT 0 0x000198 0C F1 TOP drive side 7 Logical PLC F1 TOP OS 7 Elem BIT 0 0x000198 0D F1 TOP operator side 7 Logical PLC F1 TOP DS 8 Elem BIT 0 0x000198 0E F1 TOP drive side 8 Logical PLC F1 TOP OS 8 Elem BIT 0 0x000198 0F F1 TOP operator side 8 Logical PLC F1 Top Coolant pat 2 Elem INT O 0x00019A Stand 1 Top Coolant Bit Fdbk 44 Bitword PLC F1 TOP DS 9 Elem BIT 0 0x00019A 00 F1 TOP drive side 9 Logical PLC F1 TOP OS 9 Elem BIT 0 0x00019A 01 F1 TOP operator side 9 Logical PLC F1 TOP DS 10 Elem BIT 0 0x00019A
9. TOP DS 5 0x199 bit F1 TOP drive side 5 Integer 4 F1 TOP DS 5 Pos Parameter F1 TOP DS 5 Pos 8 Integer 2 F1 TOP DS 5 Msk Parameter F1 TOP DS 5 Msk 0100 X Discrete tag F1 TOP OS 4 0x198 bit F1 TOP operator side 4 Integer 4 F1 TOP OS 4 Pos Parameter F1 TOP OS 4 Pos 7 Integer 2 F1 TOP OS 4 Msk Parameter F1 TOP OS 4 Msk 0080 X Discrete tag F1 TOP DS 4 0x198 bit F1 TOP drive side 4 Integer 4 F1 TOP DS 4 Pos Parameter F1 TOP DS 4 Pos 6 Integer 2 F1 TOP DS 4 Msk Parameter F1 TOP DS 4 Msk 0040 X Discrete tag F1 TOP OS 3 0x198 bit F1 TOP operator side 3 Integer 4 F1 TOP OS 3 Pos Parameter F1 TOP OS 3 Pos 5 Integer 2 F1 TOP OS 3 Msk Parameter F1 TOP OS 3 Msk 0020 X Discrete tag F1 TOP DS 3 0x198 bit F1 TOP drive side 3 Integer 4 F1 TOP DS 3 Pos Parameter F1 TOP DS 3 Pos 4 Integer 2 F1 TOP DS 3 Msk Parameter F1 TOP DS 3 Msk 0010 X Discrete tag F1 TOP OS 2 0x198 bit F1 TOP operator side 2 Integer 4 F1 TOP OS 2 Pos Parameter F1 TOP OS 2 Pos 3 Integer 2 F1 TOP OS 2 Msk Parameter F1 TOP OS 2 Msk 0008 X Discrete tag F1 TOP DS 2 0x198 bit F1 TOP drive side 2 Integer 4 F1 TOP DS 2 Pos Parameter F1 TOP DS 2 Pos 2 Integer 2 F1 TOP DS 2 Msk Parameter F1 TOP DS 2 Msk 0004 X Discrete tag F1 TOP OS 1 0x198 bit 0d2 0d1 0d0 0d7 0d6 0d5 0d4 0d3 0d2 0d1 Utilities 60 Utilities F1 TOP o
10. Vendor id 0x114a PCI Device ID 0x5565 SubVendor ID 0x10b5 SubSystem ID 0x9656 Controller 0x0 CSR 0x0 Node Number 0x6008 Vector 0x1530 TRO 0x1530 CRB 0x0 ADP 0x0 Entry Adp 01 0x89450100 02 0x89450100 03 0x89450100 04 0x8946e740 05 0x8946e740 06 0x8946e740 07 0x8946b7c0 08 0x8946b7c0 09 0x89450600 10 0x89450600 11 0x89464000 12 0x89492400 PCI Devices found Ba Vendor DevId SubVendId SubSysId 0x89485728 1011 0005 0000 0000 0x89485838 1095 0649 095 0649 0x89485948 8086 1229 03c 1274 0x89487a58 1033 0035 033 0035 Ox89487b68 1033 0035 033 0035 Ox89487c78 1033 00e0 033 00e0 0x89489b28 1011 0005 0000 0000 0x89489c38 14e4 1645 03c 12a4 0x8948bc58 1000 0030 000 1000 0x8948bd68 1000 0030 000 1000 0x89493e28 114a 5565 0b5 9656 0x89497aa8 1014 01a7 0000 0000 Creating new Driver install command file vmiSkwd rfm driver load com RFM board 1 S MCR SYSMAN IO CONNECT RBAO DRIVER NAME SYSSLOADABLE IMAGES SYSSRFMDRIVER CSR 0 NODE x6008 ADAPTER 9 TR number Installation Installation VECTOR x1530 set prot s rwpl o rwpl g rwpl w rwpl device rmA SIPD I Moving files SVMSINSTAL I SYSDIR This product creates system directory IPD5565D011 SCREATE I EXISTS VMISCOMMON IPD5565D011 already exists SVMSINSTAL I SYSDIR This product creates system directory IPD5565D011 EXAMPLES Ts CREATE I EXISTS VMISCOMMON IPD5565D011 EXAMPLES already exists IPD S Installed Product succes
11. descriptor pDevName IPDRFM HANDLE pHandle Int pEFN Int MaxTags Integer 4 RFMOpen Character 10 DevName Integer 4 Handle Integer 4 EFN Integer 4 MaxTags DevName Usage Device name Type character coded text string Access read only Mechanism by descriptor The address of a character string descriptor pointing to a name string for the VMIC device to be used in reflective memory accesses Typically this will be RMAO in a single controller system If multiple reflective memory cards are present in a system the device name may be RBAO RBBO or RBCO The VMIC device driver currently supports a maximum of four devices per system but will typically be limited by the number of slots available in the PCI or PCIX bus Handle Usage The address of a variable to receive the EXEC mode pointer to the Handle structure Type Longword 18 IPD System Service Access Write Mechanism By reference The address of a variable that will receive the pointer to the EXEC mode handle structure This variable will be used in all subsequent calls to the interface functions EFN Usage Event flag number Type Longword Access Read only Mechanism By reference An event flag number to be used internally by the RFM function calls The event flag should be obtained by use of the LIB GET_EF call to insure that the event flag is unique in the context of the application MAXTAGS Usage Maximum number of tags caller will r
12. element index can be specified using square brackets element number The element number always starts with one If the process variable is an element then the tag name followed by the desired elements of the structure can be specified including elements of arrays contained within the structure Tags can also be a file name that contains a list of elements from the process variable If more than a single element of a process variable is to be returned the string must be enclosed in quotes unless the tag string is passed via a data file QUIET This is useful for simulation scripts where console output is not desired Typically the out or symbol would be used to capture the data from the process variable DEBUG This will cause the output of tag information and other information as the data is acquired from the process variable It can be helpful when determining if the VMIC address or other information is valid SYMBOL symbol name This will write the data to a DCL local symbol with commas between the variables Examples getit quiet symbol GD CURRENT SDR INGOTID ALLOY getit symbol GD sysSinput CURRENT SDR INGOTID ALLOY MyTag CURRENT SDR INGOTID ALLOY Sgetit symbol GD MYTAG getit quiet out GD TXT CURRENT SDR INGOTID ALLOY The above examples get INGOTID and ALLOY elements from CURRENT SDR process variable and write them to the local DCL symbol GD or to a file called GD TXT The GD TXT file can be used by the
13. is created during the kit installation or may be created using the FINDPCI utility The different QIO function calls are summarized here and further documented in with their parameters and possible error codes in each subsequent section The function codes shown in parenthesis are from OpenVMS IODEF and are chosen to be similar to existing OpenVMS device driver function codes The user should reference the OpenVMS System Service Manual for a description of the SYSSQIO and SYSSQIOW system service calls RFM DRIVER LOAD COM The REM DRIVER LOAD COM command procedure is created during the kit installation procedure by the FINDPCI utility e Write Virtual Block IO _WRITEVBLK Write a block of memory to the reflective memory ring buffered I O e Write Physical Block IO _WRITEPBLK Write a block of memory to the reflective memory ring DMA e Write Interrupt Word IOS WRITEHEAD Write interrupt data to a node on the reflective memory ring e Read Virtual Block IO _READVBLK Read a block of memory from the reflective memory ring buffered I O 31 PCI 5565 Device Driver Read Physical Block IO _READPBLK Read a block of memory from the reflective memory ring DMA Read Network FIFO IO _READRCT Read one of the four network FIFOs Read Init Node FIFO IO READHEAD Read FIFO of nodes that have joined reflective memory ring Read Control Buffer IO _READTRACKD Read the auxiliary controller structure CBF Refresh Memory to ri
14. perform the read merge and write for the data item that crosses the longword boundary Data that is written to reflective memory is written into a FIFO for transmission to the network The actual transmission the fiber ring is asynchronous to the writing of the data by the host Whenever a data item larger than 4 bytes or any data item that crosses a longword boundary it can possibly be transmitted in different data packets resulting in inconsistent data on the ring until subsequent packets are received to complete the update Users typically insert guard words into data items that span multiple longwords The receiving nodes should only process the data when the guard words match Memory should be partitioned by node for each write area No two nodes should have write access to the same memory space Additionally the memory should be contiguous by node The driver attempts to ensure that no rogue process tries to write in a location not intended for write access by the host node However only three partitions are supported by the driver Some type of node synchronization should be designed when nodes join the reflective memory The data from other nodes to the new joined node will not be valid until all other nodes write their memory locations and refresh the newly joined member s memory A special driver function is available that will perform this reads the current contents of memory and writes it back without modification 6 1 En
15. section The following three figures show the operation of the interface routines in each of the three valid operating modes The READONLY and OFFLINE modes require the following system logical names Mode logical name is the adapter device name plus MODE The value of this logical name should be NORMAL OFFLINE or READONLY If this logical name is not defined then NORMAL is assumed Region name logical is the name of the region to be used for READONLY and OFFLINE usage It is defined as the ADAPTER plus GHOST_REG e g RBAOGHOST_REG Section filename logical is the RMS backing page file for the OFFLINE global section It is defined as the ADAPTER plus GHOST_SECFILE e g RBAO_GHOST_SECFILE Ghost Region Size logical is the size of the OFFLINE global section It is defined as the ADAPTER plus GHOST SIZE e g RBA GHOST SIZE 13 IPD System Service To set up a global GHOST region for a 64 MB reflective memory card the following would be required create ipd__prod 64M_PAGE FDL ipd__prod 64m pag set file end of file ipd__prod 64m pag define system RBAOGHOST_SECFILE ipd__prod 64m pag define system RBAOGHOST_REG RBAO_SEC define system RBAOMODE OFFLINE Read Write Operation Operation VMS VMS Process Pocess NA O d g a e System Service Layer o MC DAA VMIC Ring Figure 3 2 NORMAL MODE 14 IPD System Service Read Write Operati
16. that a pointer has not been initialized before calling the system service function IPDM_APIHDLCORRUPT Indicates that the handle pointer passed by the user is pointing to a structure that has an invalid structure identifier in it The IPDRFM_HANDLE structure has a specific identification stored within it following a successful RFMOpen call Please make sure that the application has called RFMOpen prior to passing the handle to the RFMGetReference function The function call may also return any of the return codes defined by the device driver 3 2 5 RFMReadTags The RFMReadTags function reads the value of a tag or a list of tags into the calling application s APITAG structure The source of the information read is dependant upon the current operating mode e g NORMAL READONLY or GHOST The value or values can then be accessed using standard C or FORTRAN record access syntax For example if the application defined an APITAG structure by the name of L2_TEST_TAG the application could access the data for the requested tag in one of two ways depending on the data type of the tag If the data type is not STRUCT the tag s value is accessed in the following way Local_variable_value L2_TEST_TAG V If the tag happened to be of type STRUCT then the user would access the fields of the user defined structure data using the following syntax Local_variable L2_TEST_TAG V field_val_1 This example assumed that the user defined str
17. writeable regions for the Alpha or Itanium host for each reflective memory adapter The name of the kit reflects if the kit is a demonstration and evaluation kit or a production kit IPD5565PRRV A production IPD5565DRRV A demonstration Installation The RRV are the standard OpenVMS release and version number conventions and the A is the first saveset of the kit The production versions require a serial number and license number from IPACT The kit is not supplied with an IVP Installation Validation Procedure as doing so might risk the corruption of the memory on the reflective memory by invalid writes However when the driver is loaded informational messages are written to the operator console and the operator log file sys manager operator log see section 4 17 The utility DEVDMP can also be used to check if the driver was successfully loaded this utility requires change mode to Kernel privilege 2 1 VMS INSTAL Session Capture The following is capture of an actual installation for a demonstration kit The user would have been prompted for a serial number and license number for a production version set def sysSupdate vmsinstal OpenVMS Software Product Installation Procedure V8 2 1 It is 25 SEP 2006 at 08 57 Enter a question mark at any time for help Are you satisfied with the backup of your system disk YES y Where will the distribution volumes be mounted sysSupdate Enter the prod
18. 02 F1 TOP drive side 10 Logical PLC F1 TOP OS 10 Elem BIT 0 0x00019A 03 F1 TOP operator side 10 Logical PLC F1 TOP DS 11 Elem BIT 0 0x00019A 04 F1 TOP drive side 11 Logical PLC F1 TOP OS 11 Elem BIT 0 0x00019A 05 F1 TOP operator side 11 Logical PLC F1 TOP DS 12 Elem BIT 0 0x00019A 06 F1 TOP drive side 12 Logical PLC F1 TOP OS 12 Elem BIT 0 0x00019A 07 F1 TOP operator side 12 Logical PLC F1 TOP DS 13 Elem BIT 0 0x00019A 08 F1 TOP drive side 13 Logical PLC F1 TOP OS 13 Elem BIT 0 0x00019A 09 F1 TOP operator side 13 Logical PLC F1 TOP DS 14 Elem BIT 0 0x00019A 0A F1 TOP drive side 14 Logical PLC F1 TOP OS 14 Elem BIT 0 0x00019A 01 F1 TOP operator side 14 Logical PLC F1 TOP DS 15 Elem BIT 0 0x00019A 0C F1 TOP drive side 15 Logical PLC F1 TOP OS 15 Elem BIT 0 0x00019A 0D F1 TOP operator side 15 Logical PLC CPU1 to CPU2 CPU1_CPU2_GWStart Elem UDINT 0 0x004100 Guard Word Start 0 CPU1 S1 Roll Gap RFM12 Elem REAL 0 0x004104 Current Roll Gap Stand 1 mm CPU1 Utilities 54 Utilities S2 Roll Gap RFM12 Elem REAL 0 0x004108 Current Roll Gap Stand 2 mm CPU1 S3 Roll Gap RFM12 Elem REAL 0 0x00410C Current Roll Gap Stand 3 mm CPU1 Alloy Grade Num RFM12 Elem UDINT 0 0x004110 Alloy Grade 0 CPU1 S1 Motor RPM Ref RFM Elem REAL 0 0x004114 Motor RPM Reference Stand 1 RPM CPU1 S2 Motor RPM Ref RFM Elem REAL 0 0x004118 Motor RPM Reference Stand 2 RPM CPU 1 S3 Motor RPM Ref RFM Elem REAL 0 0x00411C Motor RPM Reference Stand 3 RPM CPU1 S1 Strip Sp
19. 1 lclbsmpci 0x00000000 ler 1 Iclbsdm 0x00000000 ler 1 pcibsrm 0x00000000 lcr_l_pcicfgrg 0x00000000 rtr 1 mbx0 0x00000000 rtr 1 mbxl 0x00000000 rtr 1 mbx2 0x00000000 rtr 1 mbx3 Ox00000000 rtr 1 mbx4 0x00000000 rtr_1l_mbx5 0x00000000 rtr 1 mbx6 0x00000000 rtr 1 mbx7 0x00000000 rtr 1 pcilcldb 0x00000000 rtr 1 lclpcidb 0x00000000 itr 1 1trCs Ox0f010100 rtr 1 eeprmct 0x100f767e rtr w vendid 0x000010b5 rtr_w_devid 0xffff9656 rtr_w_revid 0x000000ba rtr_w_unused 0x00000000 rtr 1 mbxregl 0x00000000 rtr 1 mbxreg2 0x00000000 dcr 1 dmamode0 0x00000043 dcr 1 dma0padr 0x00000000 dcr 1 dma0ladr 0x00000000 der 1 dma0xfr 0x00000000 dcr 1 dma0dsc 0x00000000 dcr 1 dmamodel 0x00000043 der 1 dmalpadr 0x00000000 der 1 dmalladr 0x00000000 der 1 dmalxfr 0x00000000 dcr 1 dmaldsc 0x00000000 dcr_c_dmacsr0 0x00000010 dcr c dmacsr1 0x00000010 dcr_w_resrved 0x00000000 der 1 marbr 0x03040000 dcr 1 dmathr 0x00000000 dcr 1 dmadac0 0x00000000 dcr 1 dmadacl 0x00000000 43 rfm b brv 0x00000007 rfm_b_bid 0x00000065 rfm_b_nid 0x00000001 rfm 1 lcsri 0x80000084 rfm 1 resv3 0x00000000 rfm 1 lisr 0x00000000 rfm 1 lier 0x00000000 rfm 1 ntd 0x00000000 rfm_b_ntn 0x00000000 rfm_b_nic Ox0000000f rfm 1 isdi 0x00000000 rfm b sidl 0x00000000 rfm 1 isd2 0x00000000 rfm c sid2 0x00000000 rfm 1 isd3 0x00000000 rfm b sid3 0x00000000 rfm 1 initd 0x00000000 rfm b initn 0x00000000
20. 8 PCI 5565 Device Driver The VMSINSTAL kit scans assume the PCI 5565 devices have been installed The utility FINDPCI examines the results of the POST Power On and Self Test stored in the configuration data within the OpenVMS data tables It then creates the SYSMAN commands to actually load the driver The FINDPCI utility can be ran at anytime if a second PCI 5565 is added The driver uses certain resources that can become exhausted and will not allow the PCI 5565 to be useable The only mechanism that is available to the driver to report any problems is through the use of the device message service EXE_STD SNDEVMSG facility The messages available limited and this driver uses the message codes for things not necessarily associated with OpenVMS s intended meaning The following error messages and their meaning with respect to loading the device driver are listed below The symbolic value comes from MSGDEF Symbolic OpenVms Device Message PCI 5565 Driver meaning MSG _DEVONLIN Device RBAO is online Normal operation device is ready Written after device was found and configuration and mapping of device was successful MSG _MVCOMPLETE Mount verification has completed for device RBAO Normal operation device controller is ready MSG _SHACHASTA RBAO shadow set has changed state Normal operation unit on controller is ready MSG _DEVOFFLIN MSG _DEVOFFLINX Error attempting
21. Ctr 0x00000000 cbf 1 dma address 0x00000000 cbf 1 5565Addr Ox00000000 cbf 1 ByteCnt 0x00000000 cbf 1 Dma0Dsc 0x00000000 cbf 1 itrcsStGo 0x00000000 cbf 1 DmaMd0Go 0x00000000 cbf 1 DmaCsrGo 0x00000000 cbf 1 itrcs st Ox0f010100 cbf 1 dmamode0St 0x00000000 cbf 1 DmaExpected 0x00000000 cbf 1 DmaTmoCtr 0x00000000 cbf 1 ferctr 0x00000000 EDE 1 PeiIntCtr 0x00000000 cbf 1 DmaIntCtr 0x00000000 cbf 1 IclIntCtr 0x00000000 cbf 1 UnsolDmaCtr 0x00000000 cbf 1 itrcs int Ox00000000 cbf 1 rfmlcsr1 0x00000000 cbf 1 rfmlisr 0x00000000 cbf 1 Dma0Csr int 0x00000000 cDf 1 TmoOccurred 0x00000000 cbf 1 ToDoneCtr 0x00000000 cbf 1 Lstfunc 0x00000021 cbf 1 WdTmCtr 0x0000000a cbf 1 TdRfmCsr1 Ox80000085 cbf 1 TdRfmLisr 0x00000000 Utilities 42 Utilities cbf 1 stsLed 0x00000000 cbf 1 SyncSts 0x00000000 cbf 1 RxvFifoFull 0x00000000 cbf 1 TxFifoFull 0x00000000 cbf 1 BadData 0x00000000 cbf 1 RxSigDet 0x00000000 Write Partitions not initialized for this node cbf 1 NewNodes 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 cbf 1 end Oxffeaff02 ler 1 lasorr Oxffffffco0 ler 1 lasoba Oxc0000001 lcr 1 marbr 0x03040000 lcr b bigend 0x00000000 lcr b Imisc1 0x00000005 lcr_b_prot_ area 0x00000030 ler_b_lmisc2 0x00000021 ler 1 rgpcilclr 0x00000000 ler 1 rgdescp 0x00000000 tezi lbrdl 0x42430143 ler_l_rgdmpci 0x00000000 lcr
22. E pHandle Integer 4 RFMClose Integer 4 Handle Handle Usage The address of a variable containing the pointer to the EXEC mode Handle structure Type Longword Access Write Mechanism By reference The address of a variable that contains the pointer to the EXEC mode handle structure 30 PCI 5565 Device Driver 4 PCI 5565 Device Driver The device driver provides the actual access and control of the GE FANUC PCI 5565 device installed in the PCI or PCIX bus The driver provides synchronized access to the reflective memory on the card from multiple OpenVMS Processes and multiple CPU cores The actual driver QIO OpenVMS Driver system interface calls are shown in this section However the end user should reference the provided RFM system service API Application Programming Interface instead of the driver QIO interface when possible The device driver supports Symmetric Multi Processing SMP The driver supports up to four devices The OpenVMS device name for each PCI 5565 is RBAO RBBO RBCO and RBDO Currently there is no real software limit in the driver but bus space and PCI address space may limit the actual number of devices that may be installed in the system After the kit is installed normally installed in vms common ipdproduct the command file RFM_5565_STARTUP COM is executed which calls the RFM_DRIVER_LOAD COM command procedure to actually load the driver The RFM_DRIVER_LOAD command procedure
23. E DESCRIPTION TagName Character 32 Name of the TAG pReference Integer 4 Address of the TAGDEF record for the specified tag in the tag definition area of the memory resident MCF This value is returned by the call to RFMOpen intType Integer 4 The IPD data type for the specified tag This value is returned by the call to RFMOpen intOffset Integer 4 The offset in reflective memory space for the specified tag This value is returned by the call to RFMOpen intSize Integer 4 The size of the region following this field in the structure which will be used to store a local copy of the tag value This value is supplied by the caller of RFMOpen User defined User defined This space is reserved by the user specification to contain a copy of the tag s value When used with an RFMRead operation this area will receive the current value for the specified tag When used in conjunction with the RFMWrite function the area will contain the new value to be written to the tag The size of this area is defined by the value in the intSize field above Table 3 2 APITAG Structure The minimum size for an APITAG structure is 52 bytes This is because the minimum size of a tag value in reflective memory is 4 bytes The size of the fields above the User 20 IPD System Service Defined portion of the APITAG structure is 48 bytes This plus the minimum tag value size of 4 renders the minimum size structure of 52 bytes The
24. ERENCE TAG 11 RFM SYMBOLS COM 9 RFM WRITE 11 RFM WRITE BLIND 11 RFM WRITETAG 11 RFMC lose 30 RFMExtendedStatus 29 RFMGetReference 20 21 22 24 25 27 29 RFMOpen 18 20 22 24 25 27 29 RFMRead 20 22 23 RFMReadTags 24 27 29 RFMWrite 20 26 RFMWriteTags 27 28 29 RTREND 60 Section filename 13 Tag CSV file 49 65
25. PAS_guard_word1 Elem DINT 0 0x014290 Guard word 1 incremented for new setup 0 L2 TPAS coil id Elem Char 12 0x014294 Coil ID for this setup message 0 L2 TPAS coil setup time Elem Char 16 0x014298 Coil setup time stamp from ATA level 2 0 L2 TPAS alloy index Elem REAL 0 0x0142A4 alloy index used in setting up gage 0 L2 TPAS alloy Elem Char 8 0x0142B4 alloy for this schedule 0 L2 TPAS transfer gauge Elem REAL 0 0x0142B8 final gauge from roughing mill final pass mm L2 TPAS exit gauge Elem REAL 0 0x0142C0 scheduled exit gauge for finishing mill mm L2 TPAS exit gauge 1l Elem REAL 0 0x0142C4 exit gauge lower limit mm L2 TPAS exit gauge ul Elem REAL 0 0x0142C8 exit gauge upper limit mm L2 TPAS exit gauge blip lim Elem REAL 0 0x0142CC exit gauge blip count limit 0 L2 TPAS transfer width Elem REAL 0 0x0142DO width from roughing mill final pass mm L2 L2 CUR PDO Record PDO 0 Current PDO record L2 L2 HIST PDO Record PDO 6 Last 6 produced PDO records L2 57 Utilities 5 4 4 Example Command The following is an example command file to regenerate the reflective memory map using a CSV file File ReDo_All com Abstract This command file creates a clean slate from the CSV files First it deletes the MCF and structures files RFMMCF DAT and RFM_STRUCTURES DAT Second creates new ones Third run pstcfg for each file Files LEVEL2 CSV set noon ff 0 8 12 if f search ip
26. PCI back plane of the Integrity or Alpha system prior to software installation The PCI or PCIX bus is probed by as part of the power up and self test code of the Integrity or Alpha Hewlett Packard Servers This configuration data is stored in the adapter tables and read as part of the kit installation The kit can be installed without the card installed in the bus but custom startup editing will be required after the install The OpenVMS install kit is provided as a saveset on a CD or downloaded via FTP that must be copied to sys update prior to installation and the file attributes set done by the MOVE_KIT COM command procedure The following is a typical procedure where DKA400 is the CD drive on the OpenVMS system and the user is logged into the system account SET DEF SYS UPDATE Mount DKA400 over id DKA400 MOVE_KIT COM The user should invoke VMSINSTAL COM and provide the product kit which was copied from the CD also printed by MOVE_KIT COM The following is a session capture of the kit installation A single PCI 5565 PCI card was present in the PCIX bus After installation a single command procedure is added to target directory that can be used to load the device driver and the system service below if for demonstration release 1 1 SYS COMMON IPD5565D011 RFM_5565_STARTUP COM This is normally added to the system s sys startup systartup_vms com command procedure The utility RFM is normally ran at this time to set the
27. Reflective Memory Driver amp System Service Rev 1 3 Date 23 JUL 2008 MANUFACTURING SOLUTIONS Copyright 2008 Integrated Process Automation and Control Technologies Incorporated All rights reserved No part of this publication may be reproduced stored in a retrieval system or transmitted in any form without written permission from IPACT Inc Technical Writer Earl D Lakia Senior Staff Engineer IPACT Inc file W Projects Active IPACT GEFANUC_RFM Documentation RFM_Manual doc date 7 23 2008 7 41 AM Document Revision History Date Description 25 Sep 2006 E Lakia Orginal writing 27 Sep 2006 M Taylor Added header and page numbers amp did some editing 28 amp 29 Sep 2006 M Taylor Did some editing 01 Nov 2006 E Lakia Update cleanup 02 Nov 2006 E Lakia Added RFM_PEEK and RFM_POKE utilities 14 Nov 2006 E Lakia Added DEVDMP utility and some updates regarding the logical names for different modes of operation 19 24 Apr 2007 M Taylor Did some editing 1 May 2007 M Taylor Inserted index 2 May 2007 E Lakia Added PSTCFG documentation 2 May 2007 M Taylor Updated drawings 18 Sep 2007 E Lakia Adds some post installation information including the license information 07 Nov 2007 M Taylor Inserted a drawing 14 dec 2007 E Lakia Document cleanup 02 mar 2008 E Lakia Documentation correction for RFM_OPEN call Added the RFM_Read and RFM_Writ
28. ag variable The data file can contain comment lines that begin with an exclamation point Text variables must have sufficient characters to populate the string and may not contain the comma delimiter QUIET This is useful for simulation scripts where console output is not desired Typically the out or symbol would be used to capture the data from the process variable DEBUG This will cause the output of tag information and other information as the data is acquired from the process variable It can be helpful when determining if the VMIC address or other information is valid Examples putit quiet CURRENT SDR INGOTID ALLOY 1234567890 LL putit CURRENT_SDR INGOTID ALLOY sys input Ingot ID 1234567890 Alloy LL MyTag CURRENT_SDR INGOTID ALLOY putit MYTAG alloy dat MYDATA 1234567890 LL putit quiet CURRENT_SDR INGOTID ALLOY MYDATA 45 Utilities The above examples write INGOTID and ALLOY elements into CURRENT_SDR process variable The data is either from a file a DCL symbol or the command line 5 1 3 GETIT The GETIT utility is responsible for reading the value to any process variable This includes a simple type real int byte or to an array of simple types and finally to any element or elements of a structure SGETIT DEBUG SYMBOL symbolname OUT Filename QUIET Tags Tags The Tags is the process variable desired to be acquired If the process variable is an array then the
29. ate output data Default is a comma DATAFILE Filename of the file to receive data read from memory Default is sys output DATSYM DCL Symbol to write formatted data to FMT or FMTSYM Contains the format string used to format the data from the reflective memory The format specifiers are as follows similar to FORTRAN FORMAT Specifiers and are comma separated Repeat specifiers are supported for a single field 47 Utilities but no parenthetical repeat is supported If no format information is provided Z8 8 hex is used Zw Integer 4 hex Iw Integer 4 decimal Wwe Integer 2 decimal Bw Byte decimal Fw d Real 4 decimal IEEE float Xw Skip over w bytes from read buffer Cc Character D 23 character OpenVMS Time Stamp Where w Width of field d Precision GFLOAT Floating point data should be converted from G_float Examples peek Sipd prod rfm peek peek adapter rba0 count 100 address x1000 peek adapter rba0 count 100 address x1000 fmt 10z8 count 80 peek adapter rba0 count 100 address x1000 fmt 1018 count 80 peek adapter rba0 count 100 address x1000 fmt 1018 count 80 datafile test log peek adapter rba0 address x1000 fmt 10z8 peek adapter rba0 address x1000 fmt 10f10 7 gfloat peek adapter rba0 address x1000 fmt 10f10 7 peek address x 1000 fmt f10 7 count 4 datsym speed peek address x 1000 fmt 3f10 7 416 count 28 d
30. atsym speed 5 2 RFM POKE UTILITY The RFM POKE utility allows the caller to write data in to reflective memory If the memory location is not configured as a writeable region by the RFM utility then the FORCE switch must be specified to override this nodes write partition in reflective memory This utility should be used with caution Syntax RFM POKE Start reflective memory address Adapter Delimiter DATA lt delimited data gt DATAfile filename DATASYM DCL SYMBOL FMT format string FMTSYM DCL symbol COUNT Byte count of read FORCE ADDRESS Reflective memory address in hex ADAPTER PCI 5565 device RBAO RBBO etc If not specified RBAO is used 48 Utilities COUNT Optional count If present will limit the write regardless of how much data is read If format string specifies more data than the count the count takes precedence FORCE If present will write to anywhere in reflective memory including memory range not allocated to this host see RFM utility and driver partition table DELIMITER c Character used as a delimiter to parse data for the reflective memory Default is a comma DATAFILE filename File containing the data to write to reflective memory DATSYM DCL Symbol to read formatted data from FMT or FMTSYM Contains the format string used to write the data for encoding into memory The format specifiers are as follows similar to FORTRAN FORMAT Specifiers
31. ay that no change is required to the applications using the IPDRFMSS system service function The mode of operation is controlled by a single GROUP 12 IPD System Service logical name called IPDRFM_MODE Assigning the value of NORMAL READONLY or OFFLINE to this logical will cause applications to operate in the defined mode The desired mode of operation must be defined prior to starting the VMIC aware applications on the OpenVMS system If a mode change is required each VMIC aware application on the OpenVMS system must be restarted following the mode change The range of VMIC Reflective memory address space that can be written by the OpenVMS system service is written by the RFM utility The device driver stores this information and validates writes prior to doing any writes to the Reflective memory In the NORMAL mode of operation all applications which use the IPDRFMSS functions will write to and read from the specified tags on the VMIC ring This is the standard operating mode The READONLY mode is provided to allow applications to read actual live VMIC data from the ring while blocking writes to the ring from the OpenVMS node The write operations place the output data into a the global memory section This mode is ideal for testing the response of applications to external signals The OFFLINE mode is provided to allow total isolation from the VMIC ring In this mode read and write operations are from a global memory
32. cked bit word and select the bit from the packed register using one of the library routines or Boolean arithmetic Packed Bit word definition file RFM TEMP F1 TOP COOLANT PAT 1 Bits inc Generated by PSTCFG Packed register F1 TOP COOLANT PAT 1 from 198 to 199 Discrete tag F1_TOP_OS_8 0x199 bit 0d7 F1 TOP operator side 8 Integer 4 F1 TOP OS 8 Pos Parameter F1 TOP OS 8 Pos 15 Integer 2 F1 TOP OS 8 Msk Parameter F1 TOP OS 8 Msk 8000 X Discrete tag F1 TOP DS 8 0x199 bit 0d6 F1 TOP drive side 8 Integer 4 F1 TOP DS 8 Pos Parameter F1 TOP DS 8 Pos 14 Integer 2 F1 TOP DS 8 Msk Parameter F1 TOP DS 8 Msk 4000 X Discrete tag F1 TOP OS 7 0x199 bit 0d5 F1 TOP operator side 7 Integer 4 F1 TOP OS 7 Pos Parameter F1 TOP OS 7 Pos 13 Integer 2 F1 TOP OS 7 Msk Parameter F1 TOP OS 7 Msk 2000 X Discrete tag F1 TOP DS 7 0x199 bit 0d4 F1 TOP drive side 7 59 Integer 4 F1_TOP_DS_7_Pos Parameter F1 TOP DS 7 Pos 12 Integer 2 F1 TOP DS 7 Msk Parameter F1 TOP DS 7 Msk 1000 X Discrete tag F1 TOP DS 6 0x199 bit F1 TOP drive side 6 Integer 4 F1 TOP DS 6 Pos Parameter F1 TOP DS 6 Pos 10 Integer 2 F1 TOP DS 6 Msk Parameter F1 TOP DS 6 Msk 0400 X Discrete tag F1 TOP OS 5 0x199 bit F1 TOP operator side 5 Integer 4 F1 TOP OS 5 Pos Parameter F1 TOP OS 5 Pos 9 Integer 2 F1 TOP OS 5 Msk Parameter F1 TOP OS 5 Msk 0200 X Discrete tag F1
33. ction allows the user to specify a range of memory partitions up to three that will be checked before a write can occur By default the full range is available when the driver loads This enables the validation check of both buffered and DMA write transfers to 35 PCI 5565 Device Driver reflective memory for the host node All writes must be contained in one of the three valid writeable partitions unless IOSM TRUSTED modifier is set in the write function The IOSM TRUSTED modifier is used for simulation purposes and disables this validation check The partitions should be specified in ascending beginning reflective memory address Depending on the memory installed the upper limit is 4000000 Hex 67 108 864 Decimal for 64 MB option 8000000 Hex 134 217 728 Decimal for 128 MB option The actual amount mapped can be less than available on the card if there are insufficient SPTEs to map the PCI address space The utility DEVDMP can be used after the driver is loaded to identify how much of the memory is actually available to the system The following snippet from the output of DEVDMP is shown below this example shows all of the memory available it was executed on an Itanium 0x0208x ucb l card size Ox04000000 64 megs mapped Ox04000000 64Mb total card memory QIO Parameters Parameter Description Start of writeable partition one in reflective memory Length of writeable partition in bytes Start of writeab
34. ction is used to refresh the local memory owned writeable by the local node see the IOS READPBLK IOSM REQ MINICOPY This function will simply read each memory partition and write the data back forcing a ring update This is typically used after a new node joins the reflective memory ring The user buffer must be large enough for the largest partition defined for the host s writeable regions Additionally the writeable regions must be setup before use of this function DMA is used first to read each partition and then to write it This method reduces CPU overhead and the DMA engine automatically throttles the writes to the transmit FIFO The driver also ensures that the refresh is completed before any other updates to the reflective memory can occur ensuring an atomic refresh QIO Parameters Parameter Description 1 Longword aligned user buffer to be read written from reflective memory 2 Byte count of largest writeable partition 4 13 Rogue Master Enable lO _INTIALIZE This function enables this node as one of the two rogue packet detectors and destroyers See the PCI 5565 manual for further information QIO Parameters Parameter Description 1 1 enable O disable 2 Rogue 1 or Rogue 2 37 PCI 5565 Device Driver 4 14 Loopback Mode Enable Disable lO _INTIALIZE Enable Loop back mode of the PCI 5565 See PCI 5565 for further documentation QIO Parameter
35. d size and how much was mapped ucb l card size e PCI configuration information pci lt field name gt see the PCI standard for more details e Copy of first few registers from reflective memory cbf l rmem e Device register contents for DMA start and interrupt completion 41 Current write partitions set up for this node Sample Output DEVDMP command line DEVDMP device name Assuming RBAO Acquiring UCB for device RBAQ Device information for RBAO Base memory via DVIS DEVDEPEND2 0x816266c0 0x005c ucb 1_devdepend 0x00000000 0x0060 ucbs1 devdepnd2 0x816266c0 0x0064 ucb 1_devdepnd3 0x00009501 38145 0x00b8 ucb 1_boff 0x00000080 0x00b4 ucb 1_bent 0x00000064 0x00b0 ucb l svapte 0x8162ecc0 Ox00f4 ucbs1 msg 0x00000061 Ox00f8 ucb 1 cbf 0x816113c0 0x00fc ucb l_pci_page size 0x00000020 0x0100 ucbs1 adp 0x81447600 0x0108 ucb q plx handle 0x0000000081628ac0 0x0110 ucb a rfm handle 0x0000000081628b00 0x0118 ucb a mem handle 0x0000000081628b40 0x0120x ucb l card size 0x03900000 57 megs mapped 0x04000000 64Mb total card memory 0x016c ucb l fault 0x00000000 0x0170 ucb l fault loc 0x00000005 5 0x0168 ucbSs crctx Ox81630fc0 cbf 1 ident Oxffeaff01 cbf 1 self 0x816113c0 cbf q LoadTime 13 NOV 2006 17 15 04 0 cbf 1 idb 0x81628a40 cbf 1 ucb 0x816266c0 cbf 1 memsize 0x04000000 cbf 1 adp 0x81447600 cbf 1 crb 0x816310c0 cbf 1 TxFIFOFullCtr 0x00000000 cbf 1 SyncLost
36. d_prod RFM_STRUCTURES DAT nes then delete ipd_prod rfm_structures dat endif if pl nes then write sys output Deleteing old Database files Purge ipd_prod RFM_STRUCTURES DAT Purge ipd_prod RFMMCF DAT rename ipd_prod RFM_STRUCTURES DAT 0 ipd_prod RFM_STRUCTURES save rename ipd_prod RFMMCF DAT 0 ipd prod RFMMCF save endif Delete old versions if present if f search ipd_prod RFM_STRUCTURES DAT egs then delete ipd_prod RFM_STRUCTURES DAT if f search ipd_prod RFMMCF DAT eqs then delete ipd_prod RFMMCF DAT wee write sys output Creating new Database files create fdl ipd_data RFMMCF FDL create fdl ipd_data RFM_STRUCTURES FDL where f environment Default 58 Utilities temp where temp temp temp show sym temp if fbtrnInm rfm temp eqs then define job rfm temp temp endif write sys output Deleting old include files in temp directory if f search rfm_temp inc nes then delete rfm temp inc pstcfg S where pstcfg RFM board write sysSoutput write sys output RFM csv write sysSoutput pstcfg wrtlo x00014000 wrthi x017fff bits rfm csv 5 4 5 Example Bit Definition File Currently only FORTRAN type include files are supported Contact IPACT if C header files are desired Normally the user would get the pa
37. ddress in reflective memory 4 3 Read Virtual Block IO READVBLK This function will read into the user s buffer from the reflective memory address passed as the P3 parameter Because of the trade off of locking a buffer down in memory and the typical small size of the transfer this function is implemented using buffered I O Any reads from odd boundaries in reflective memory results in a read of the lower four byte modulus address longword 4 byte Users should develop applications that attempt to align data in reflective memory on longword boundaries Data buffers do not need to be longword aligned but efficiencies will be achieved if they are QIO Parameters 33 PCI 5565 Device Driver Parameter Description 1 User buffer to be read from reflective memory 2 Byte count to transfer 3 Starting byte address in reflective memory 4 4 Read Physical Block IO READPBLK This function will read into the user s buffer from the reflective memory address passed as the P3 parameter This function is designed for larger transfers and will execute without the host processor intervention The user buffer and target reflective memory addresses must be longword aligned and the byte count must be a modulus of four bytes The Maximum transfer size is 64K bytes limited by both OpenVMS and the PCI 5565 To increase throughput the user buffer can be locked down in memory see sys lkwset QIO Parameters
38. de off of locking a buffer 32 PCI 5565 Device Driver down in memory and the typical small size of the transfer this function is implemented using buffered I O Any writes to odd boundaries in reflective memory results in a read of the lower four byte modulus address longword 4 byte with a merge of the data Users should develop applications that attempt to align data in reflective memory on longword boundaries Data buffers do not need to be longword aligned but efficiencies will be achieved if they are QIO Parameters Parameter Description 1 User buffer to be written to reflective memory 2 Byte count to transfer 3 Starting byte address in reflective memory 4 2 Write Physical Block IO _WRITEPBLK This function will write the user s buffer to the reflective memory address passed as the P3 parameter This function is designed for larger transfers and will execute without the host processor intervention The user buffer and target reflective memory addresses must be longword aligned and the byte count must be a modulus of four bytes The Maximum transfer size is 64K bytes limited by both OpenVMS and the PCI 5565 To increase throughput the user buffer can be locked down in memory see sys lkwset QIO Parameters Parameter Description 1 Longword aligned user buffer to be written to reflective memory 2 Byte count to transferred modulus of 4 bytes 3 Longword aligned starting byte a
39. dent copy of the MCF Please correct the tag name and try again If the APITAG structure contains more than a single tag you must use the RFMExtendedStatus function to determine the failing tag The function call may also return any of the return codes defined by the VMIC system service routines Please check the VMIC documentation for these codes 3 2 6 RFMWrite The RFMWrite function writes raw data from the user s buffer into reflective memory The source of the data written is dependent upon the current operating mode e g NORMAL READONLY or GHOST The prototypes for the RFMWrite function in both C and FORTRAN are shown below int RFMRead IPDRFM HANDLE pHandle void Buffer int Offset int Bytecnt Integer 4 RFMWrite Integer 4 Handle Integer 4 Buffer Integer 4 Offset Integer 4 ByteCnt Handle Usage A pointer to the EXEC mode Handle structure Type Longword Access Read only Mechanism By reference The address of a variable that contains the pointer to the EXEC mode handle structure Buffer Usage Address of target buffer Type Longword Access Write Mechanism By reference The buffer should be on a long word boundry 26 IPD System Service Offset Usage Reflective memory offset Type Longword Access Read only Mechanism By value This is the offset or address on the reflective memory board of the data to be returned Size Usage Number of bytes to write starting at th
40. dian considerations At the time of this writing there are three versions of the PCI 5565 reflective memory adapters PCI VME and Allen Bradley for Control Logix The Allen Bradley Control Logix version CLB 5565 may or may not be readily available The VME version VME 5565 may be used in applications where the host processor may address memory differently GE FANUC PAC90 GE 90 70 I O Works INTEL based processor or 63 Development Considerations other embedded processor Some experimentation may be needed to determine the best way to configure the byte ordering of the PCI reflective memory adapter It may be necessary because of the different participants on the ring that the host applications may need to do byte swapping 64 APITAG structure 20 21 22 24 25 26 27 28 29 byte ordering 62 Control Logix 62 DEVDMP 7 8 35 40 41 GETIT 8 10 40 45 46 Ghost Region Size 13 ipd prod rfmss exe share 10 ipd library olb 10 IPDRFM MODE 12 19 29 Mode 13 OFFLINE 12 13 14 16 19 29 PCI 5565 31 34 PSTCFG 8 16 40 49 PUTIT 8 10 40 43 44 45 46 READONLY 12 13 15 18 19 22 24 26 29 Region name 13 RFM 6 8 13 18 19 20 29 31 40 47 48 49 RFM 5565 STARTUP COM 6 9 10 31 RFM DRIVER LOAD COM 31 RFM EXTENDED STATUS 11 RFM OPEN 11 Index REM PEEK 40 RFM PEEK utility 46 RFM POKE 40 RFM POKE utility 47 REM READ 11 RFM READTAG 11 RFM REF
41. e device name is other than A B or C Correct the device name and try again 19 IPD System Service IPDM_SS_OFFSET_NOT_MUL4 The offset value provided is not a multiple of four The offset and total size provided must be evenly divisible by four Please correct the value and try again IPDM_SS_OFFSET_NOT_4BYTES The specified size must be at least 4 bytes Please correct the size value and try again LIB and SS RETURN CODES The RFM functions may also return standard OpenVMS system service and library routine status values Please refer to the OpenVMS manuals for these codes and the appropriate corrective action 3 2 3 RFMGetReference Function The RFMGetReference function is used to retrieve information for the tags which the application will be using during its processing The information for each specified tag is retrieved from the configuration file The information for each tag is stored in a structure supplied by the user for this call The structure has a specific format that must be strictly adhered to Each tag must have a structure such as this defined for it These structures may then be included in a container structure for ease of access The format of the structure called APITAG is shown in the table below Each tag structure may contain additional information after the items shown below but the total bytes per tag should be long word aligned Multiple calls to RFMGetReference may be used FIELD NAME TYP
42. e function calls 23 jul 2008 E Lakia Model number change by GEFANUC e g dropping the legacy VMIC from the model 1 2 3 5 Table of Contents Eh e TT EE 5 ED GAN e WEE 6 2 1 VMS INSTAL SESSION CAPTURE EE EES SE DES EE kek kk K KK KK K k T 2 2 EO PING ALS Ge Ee Ge GR AG 9 IPD System Service dd dd delk kk k l EG AG EA REENEN ENEE AG AA AA AG AA AA AA AGE k 10 3 1 VMIC INTERFACE OPERATING MODES see se se se se se se es ese 12 3 2 TAG DATABASE MASTER CONFIGURATION FILE 16 Bad Ee de EER as RS go ie ita 17 E 18 3 2 3 RFMGetReference EE 20 9 2 2 RE MRe EE 22 S0 IRE MRCOG TAGS EE E WIR W n n Vek an nakan 24 TE 26 GE REM WHET Eeer 27 3 2 8 RFMExtendedStatus Function is ee Se sg ie HENSE ast 29 SEENEN EE 30 PCI 5565 Device Driger seet NEEN s kese ke an UNAG NEE kel e ke b kek ke daene 31 4 1 WRITE VIRTUAL BLOCK IOS WRITENVBLKRI ee 32 4 2 WRITE PHYSICAL BLOCK IO _WRITEPBLK ee 33 4 3 READ VIRTUAL BLOCK IO _READVBLK aaa 33 4 4 READ PHYSICAL BLOCK IO _RBADPBLK eee 34 4 5 READ NETWORK FIFO IO _READRCT u ke 34 4 6 READ INIT NODE FIFO IOS READHEAD eee 34 4 7 READ CONTROL BUFFER IO _READTRACKD 200000000000 35 4 8 SET RTE ER ET d EE 35 4 9 SET MEMORY WRITE RANGE IO INTIALZE aaa 35 4 10 ENABLE NETWORK INTERRUPTS IOS INTIALIZEI sees sees sees see 36 4 11 REGISTER FOR INIT NODE WAKEUP IO
43. e passed offset Type Longword Access Read only Mechanism By value The number of bytes to be returned This value should be a modulus of four bytes 3 2 6 1 Function Return Codes The function may return any of the following return codes As with all OpenVMS functions an odd value indicates success and an even code indicates failure SS _ACCVIO Indicates that the system service code does not have access to at least one of the parameters passed to it This may mean that a pointer has not been initialized before calling the system service function IPDM_APIHDLCORRUPT Indicates that the handle pointer passed by the user is pointing to a structure that has an invalid structure identifier in it The IPDRFM_HANDLE structure has a specific identification stored within it following a successful RFMOpen call Please make sure that the application has called RFMOpen prior to passing the handle to the RFMGetReference function The function call may also return any of the return codes defined by the device driver 3 2 7 RFMWriteTags The RFMWriteTags function writes the value of a tag or list of tags to reflective memory or associated memory global section depending on the current operating mode Using standard C or FORTRAN record access syntax sets the value or values for the tags For example if the application defined an APITAG structure by the name of L2_TEST_TAG the application could set the data for the requested tag in one o
44. ead from reflective memory The reflective memory ring support up to 256 nodes 2 Byte count to transferred 32 bytes 4 7 Read Control Buffer 05 READTRACKD This function is a diagnostic function that returns the auxiliary controller structure CBF from the driver for the particular device The definition of this structure is contained in the driver definition header file RFM 5565 DEF H QIO Parameters Parameter Description 1 User buffer to be receive the CBF from the driver Use a variable of type CBF as defined in RFM_5565_DEF h 2 Byte count to transferred from CBF use size of CBF 4 8 Set Endian lO INTIALIZE This will change the current Endian setting for the PCI 5565 device The single parameter should be either O Little Endian default power up state of PCI 5565 and 1 Big Endian This effects how bytes are written to the reflective memory by the host and therefore which byte is sent out first on the ring In addition the data being written to reflective memory by incoming packets can also be changed This has no effect on the interrupt FIFOs QIO Parameters Parameter Description 1 Host writes to reflective memory Endian Setting 0 Little 1 Big 2 Slave writes to reflective memory Endian Setting O Little 1 Big 4 9 Set Memory Write Range lO _INTIALIZE The PCI 5565 allows the host node to write into any location within reflective memory This fun
45. ead is dependent upon the current operating mode e g NORMAL READONLY or GHOST The prototypes for the RFMRead function in both C and FORTRAN are shown below int RFMRead IPDRFM_HANDLE pHandle void Buffer int Offset int Bytecnt Integer 4 RFMRead Integer 4 Handle Integer 4 Buffer Integer 4 Offset Integer 4 ByteCnt Handle Usage A pointer to the EXEC mode Handle structure Type Longword Access Read only Mechanism By reference The address of a variable that contains the pointer to the EXEC mode handle structure Buffer Usage Address of target buffer Type Longword Access Write Mechanism By reference The buffer should be on a long word boundry Offset Usage Reflective memory offset Type Longword Access Read only Mechanism By value This is the offset or address on the reflective memory board of the data to be returned Size Usage Number of bytes to return starting at the passed offset Type Longword Access Read only Mechanism By value The number of bytes to be returned This value should be a modulus of four bytes 3 2 4 1 Function Return Codes The function may return any of the following return codes As with all OpenVMS functions an odd value indicates success and an even code indicates failure 23 IPD System Service SS _ACCVIO Indicates that the system service code does not have access to at least one of the parameters passed to it This may mean
46. ed For a single tag this value would be the size of the fixed portion of an APITAG structure plus the user supplied size value of the tag data This must be 21 IPD System Service provided in order for the system service code to determine if the user s entire APITAG structure is accessible from EXEC mode 3 2 3 1 Function Return Codes The function may return any of the following return codes As with all OpenVMS functions an odd value indicates success and an even code indicates failure IPDM_BADTAGCOUNT Indicates that the user has requested an invalid number of tags The number of tags must be greater than 0 but less than 500 IPDM_APIHDLCORRUPT Indicates that the handle pointer passed by the user is pointing to a structure which has an invalid structure identifier in it The IPDRFM_HANDLE structure has a specific identification stored within it following a successful RFMOpen call Please make sure that the application has called RFMOpen prior to passing the handle to the RFMGetReference function IPDM TAGELEMENTMODULUS Indicates that the size of the tag passed to the function is not an even multiple of 4 bytes Please correct the size and try again IPDM_TAGELEMENTSIZE Is an indication that the size of the requested tag is larger than the allowable maximum of 1024 bytes Correct the invalid size and try the call again IPDM_TAGELEMENT Indicates that the size of the element given is smaller than the minimum possible
47. eed RFM12 Elem REAL 0 0x004120 Strip Speed Stand 1 MPM CPU1 S2 Strip Speed RFM12 Elem REAL 0 0x004124 Strip Speed Stand 2 MPM CPU1 S3 Strip Speed RFM12 Elem REAL 0 0x004128 Strip Speed Stand 3 MPM CPU1 S1 Vern Speed RFM12 Elem REAL 0 0x00412C Stand 1 Operator Speed Vernier Change Percent CPU1 S2 Vern Speed RFM12 Elem REAL 0 0x004130 Stand 2 Operator Speed Vernier Change Percent CPU1 S3 Vern Speed RFM12 Elem REAL 0 0x004134 Stand 3 Operator Speed Vernier Change Percent CPU1 ICPUZ 453325 CPU2_PLC_GWStart Elem UINT 0 0x004478 Start Guard 0 CPU 2 S1 Cal Scw Pos RFM Elem DINT 0 0x00447C S1 Position Actual amp Calibrated 100 1 mm CPU2 S1 UnCal Scw Pos RFM Elem DINT 0 0x004480 S1 Position Actual amp Uncalibrated 100 1 mm CPU2 S1_Scw_SetPoint_RFM Elem DINT 0 0x004484 S1 Position Setpoint 100 1 mm CPU2 S1_Scw_RCMinPos_RFM Elem DINT 0 0x004488 S1 Roll Change Minimum Position 100 1 mm CPU2 CPU2 Alive RFM Elem INT O 0x00448C CPU2 Heartbeat for the screw control in PLC N A CPU2 S1 Scw Jog Ref RFM Elem INT O 0x00448E S1 Current Jog Reference Setpoint 100ct m cnts m CPU2 ICPUZ2 sos S1 Screw Packed Bits1 Elem UINT 0 0x004494 CPU2 to PLC Word 1 BitWord CPU2 S1 Screw Not Ready Elem BIT 0 0x004494 01 S1 Screw Not Ready Or Faulted Logical CPU 2 S1 Screw Ready Elem BIT 0 0x004494 02 S1 Screw Ready and Enabled Logical CPU2 S1 Screw In Zone Elem BIT 0 0x004494 03 S1 Screw In Zone Within Dead Band Logical CPU2 S1 Screw In RollChg Po
48. eference Type Longword Access Read only Mechanism By value Space must be allocated for each tag that the caller intends to read or write to This parameter should be specified as zero for the default value or to the number of tags the user intends to access The system service stores the data type VMIC address data length and if it is an output or output tag in protected address space allocated in executive mode and pointed to by the returned handle variable 3 2 2 1 Function Return Codes The function may return any of the following return codes As with all OpenVMS functions an odd value indicates success and an even code indicates failure IPDM_SS_MODE_NOT_SUPPORTED Indicates that the logical name IPDRFM_MODE is either not defined or its translation string identifies a mode that is not currently supported Re define the logical with a translation name of NORMAL READONLY or OFFLINE SS _ACCVIO Indicates that the system service code does not have access to at least one of the parameters passed to it This may mean that a pointer has not been initialized before calling the system service function IPDM_SS_DEV_NAME_TOO_LONG Indicates that the user has passed a device name string which is larger than the maximum allowed device name of ten characters Change the device name string to a length of less than ten characters It should be RMAO RMBO or RMCO IPDM SS DEV LETTER BAD Indicates that the second character of th
49. ere are tags PLO are the plot low limit values parentheses not required if one tag If omitted these values default to O If not omitted there must be the same number of plot low limit values as there are tags SCALE are the RFM scaling factors tag values are divided by these factors parentheses not required if one tag If omitted these values default to 1 If not omitted there must be the same number of scale values as there are tags Usage Plotted Value Tag Value Scale Factor 61 Utilities is the list of 3 maximum of 9 RFM tag names quotes not required if one tag 5 5 2 RTREND Example Plot 12 DEC 2003 04 48 00 St MTRCURRENT RFM Motor Current Stand 1 1 1Anp 30 00000 04 48 00 51 MTR RPM RFM Motor RPM Stand 1 1051RPM 18 90000 04 48 00 S1 MOTOR RPM REH Motor RPM Stand 1 RPN 19 46789 00 400 4000 nnn nn 000 d N l Ban nnn 1 OAK N A l Mit J d dAn 1 3 04 38 04 39 04 4 04 41 04 42 04 45 04 44 4 Hit any key to QUIT CI TF Pano Figure 5 5 1 Sample RTREND Screen 62 Development Considerations 6 Development Considerations All reads and writes to reflective memory are done using longword moves 4 bytes If a data item crosses over a longword boundary the adjoining words must also be read and written resulting in two longwords being transmitted on the reflective memory ring This may result in data being transmitted unexpectedly The driver will
50. f two ways depending on the data type of the tag If the data type is not STRUCT the tag s value is accessed in the following way L2_TEST_TAG V new_value If the tag happened to be of type STRUCT then the user would access the fields of the user defined structure data using the following syntax L2_TEST_TAG V field_val_1 new_value 27 IPD System Service This example assumed that the user defined structure in reflective memory contains a field that is named field_val_1 The prototypes for the RFMReadTags function in both C and FORTRAN are shown below int RFMWriteTags IPDRFM_HANDLE pHandle APITAG Tags int TagCnt int pStrucSize Integer 4 RFMWriteTags Integer 4 Handle Integer 4 Tags Integer 4 TagCnt Integer 4 StrucSize Handle Usage A pointer to the EXEC mode Handle structure Type Longword Access Read only Mechanism By reference The address of a variable which contains the pointer to the EXEC mode handle structure Tags Usage Address of APITAG structure for tag to be referenced Type Longword Access Read only Mechanism By reference The Tags parameter contains the address of a single APITAG structure or a contiguous block of APITAG structures TagCnt Usage Number of tags in the Tags structure Type Longword Access Read only Mechanism By reference The address of a variable that contains the number of tags within the Tags structure If more than a single tag is prov
51. h type function and any process that uses the tag method must be restarted if its tags are moved in reflective memory The PSTCFG process reads a comma delimited Tag CSV file normally maintained by Excel and exported as a CSV file and populates an RMS keyed file which defines a Tag within the reflective memory name 50 Utilities description data type length and offset in the memory It will also support bit type tags that are packed into a long word A header file that contains the definition of the bit word which contains the particular bit is also created A small example of a CSV file is shown at end of this section The RMS file is accessed by RFMGetReference function 5 4 1 Command Syntax The syntax for this command is pstcfg wrtlo xxxx wrthi xxxx bits filename csv Filename csv Input CSV file exported from Excel or other spread sheet or utilitiy wrtlo where in vmic reflective memory can write low value wrthi where in vmic reflective memory can write high value bits Write the bit header files The write locations mark the tag as being a tag written or read by this local host This version of the software uses a partition table in the driver to protect errant writes to process variables owned by other systems 5 4 2 CSV File Column Definition The columns for the CSV file are shown in the table below Column Values Description Record ELEM Describes either a structure Type STRUC defini
52. he RFM READTAG and RFM WRITETAG as needed 3 Makes call directly to the PCI 5565 device driver using the QIO interface REM OPEN Open a particular PCI 5565 reflective memory adapter RFM_READ Read data from reflective memory at supplied offset RFM_WRITE Write data to reflective memory at supplied offset RFM_READTAG Read data for a tag location of tag acquired from RFM_REFERENCE_TAG RFM_WRITETAG Write data to a tag location of tag acquired from RFM_REFERENCE_TAG RFM_REFERENCE_TAG Reads configuration file for a tag to acquire its data type length and location in reflective memory RFM EXTENDED STATUS Returns additional information when RFM READTAG and RFM WRITETAG are used RFM WRITE BLIND Write to a TAG without regard to node s writeable region used for simulation of an absent ring member The diagram below shows the basic implementation of the system service 11 IPD System Service Fer Rocess Potected Memory Created by HM OPEN System Service lt RMS BE bp RBAO to RBDO IPACT5565 Open VMS Device Driver lt PCI BUS gt GEFANUC see Wto4 PCI 5565 PCI 5565 Figure 3 1 IPD System Services 3 1 VMIC INTERFACE OPERATING MODES There are three modes of operation provided by the IPDRFMSS system service layer The modes are referred to as NORMAL READONLY and OFFLINE modes These modes are implemented in such a w
53. hods described in the utilities section All memory data types should be long word aligned where possible including those data types which are shorter e g pad to a four byte modulus The system service is linked into a user application with the following linker option command ipd__prod rfmss exe share The logical names ipd__prod and rfmss are defined by the RFM_5565_STARTUP COM command procedure A typical linker command might be the following example from rfm_poke ipd_library olb contains utility routines used by rfm_poke all objects for the utility are in rfm_poke olb The pd prod ipd library olb include ipdmsgdefinition includes message codes for the RFMSS system service 10 IPD System Service link exe rfm_poke sys input opt rfm_poke olb include rfm_poke rfm poke olb lib ipd prod ipd library olb lib ipd prod ipd library olb include ipdmsgdefinition ipd prod rfmss exe share The following lists each of the API Application Programming Interface calls provided in the system service These are individually documented later in this chapter Typically a user does one of the following also see provided example applications provided in the distribution examples directory 1 Calls the RFM OPEN to connect to the driver and calls the RFM READ and RFM WRITE as needed 2 Calls the RFM OPEN to connect to the driver calls RFM REFERENCE TAG to get information about the tags that are going to be used and calls t
54. ided in the Tags structure they must be contiguous within the containing structure Size Usage Size of the entire Tag structure provided Type Longword Access Read only Mechanism By reference 3 2 7 1 Function Return Codes 28 IPD System Service The function may return any of the following return codes As with all OpenVMS functions an odd value indicates success and an even code indicates failure SS _ACCVIO Indicates that the system service code does not have access to at least one of the parameters passed to it This may mean that a pointer has not been initialized before calling the system service function IPDM_BADTAGCOUNT Indicates that the user has requested an invalid number of tags The number of tags must be greater than 0 but less than 500 IPDM_APIHDLCORRUPT Indicates that the handle pointer passed by the user is pointing to a structure that has an invalid structure identifier in it The IPDRFM_HANDLE structure has a specific identification stored within it following a successful RFMOpen call Please make sure that the application has called RFMOpen prior to passing the handle to the RFMGetReference function IPDM SS MODE NOT SUPPORTED Indicates that the mode logical name IPDRFM_MODE has been set to a value that is not currently supported The value must be NORMAL READONLY or OFFLINE IPDM TAGELEMENTMODULUS Indicates that the size of the tag passed to the function is not an even multiple of 4 by
55. le partition two in reflective memory Length of writeable partition in bytes Start of writeable partition three in reflective memory OV U1 KON Length of writeable partition in bytes 4 10 Enable Network Interrupts IO INTIALIZE This will enable one of the network interrupt data FIFOs or disable all of the interrupt data FIFOs The function would need to be called once for each of the interrupt data types The function allows the ability to have the calling process have a local event flag set whenever an entry is placed into the particular FIFO The FIFO can then be read QIO Parameters Parameter Description 1 FIFO number 1 2 3 or 4 A zero will disable all interrupts 2 Optional event flag zero indicates no event flag is to be set 4 11 Register for Init Node wakeup lO _INTIALIZE 36 PCI 5565 Device Driver The PCI 5565 can detect when a new node joins the reflective memory ring This function enables this recognition and optionally allows for the setting of the process s local event flag when this event occurs on the ring When a node is detected the associated bit in the init node bit array is set The IO _READHEAD function can be used to read the eight longword bit map QIO Parameters Parameter Description 1 1 enable O disable 2 Optional event flag zero indicates no event flag is to be set 4 12 Refresh Memory to ring This fun
56. m L2 L2 S12 ModelTenRef RFM Elem DINT 0 0x01401C Model 1 2 Tension Reference 10 1kg cm2 L2 L2 S23 ModelTenRef RFM Elem DINT 0 0x014020 Model 2 3 Tension Reference 10 1kg cm2 L2 L2 TR ModelTenRef RFM Elem DINT 0 0x014024 Model Reel Tension Reference 10 1kg cm2 L2 L2 S1 Model RBRef RFM Elem DINT 0 0x014028 Model Roll Bending Reference Stand 1 10 1kg cm2 L2 L2 S2 Model RBRef RFM Elem DINT 0 0x01402C Model Roll Bending Reference Stand 2 10 1kg cm2 L2 L2 S3 Model RBRef RFM Elem DINT 0 0x014030 Model Roll Bending Reference Stand 3 10 1kg cm2 L2 L2 T Bar Gauge RFM Elem DINT 0 0x014040 Hot Entry Gauge 100 1mm L2 L2 Strip Width RFM Elem DINT 0 0x014044 Hot Strip Width mm L2 L2 Entry Temp RFM Elem DINT 0 0x014048 Entry Temperature DegC L2 L2 Ingot ID RFM Elem DINT 2 0x01404C Ingot ID 0 L2 L2 Alloy Grade RFM Elem DINT 0 0x014054 Alloy Grade 0 L2 L2 SETUP ENTRY LENGTH Elem DINT 0 0x014064 Entry length mm L2 L2 SETUP ENTRY TEMP Elem DINT 0 0x014068 Entry temperature C L2 L2 SETUP ENTRY CROWN Elem DINT 0 0x01406C Entry Crown mm 100 L2 L2 SETUP PROD GA Elem DINT 0 0x014070 Cold Product Gauge mm 100 L2 L2 SETUP PROD WID Elem DINT 0 0x014074 Cold Product Width mm L2 56 Utilities L2_SETUP_TRIMMER_WID Elem DINT 0 0x014078 Side Trimmer Width Reference Hot prod width mm L2 L2_SETUP_SHAPE_BIAS Elem DINT 0 0x01407C Shape Bias L2 L2_SETUP_GDW2 Elem DINT 0 0x0140F8 Setup guard word end 0 L2 L2_HEARTBEAT Elem DINT 0 0x0140FC Alpha Heartbeat 0 L2 T
57. ng 0S READPBLK IOSM REQ MINICOPY Function to read and write local reflective memory for nodes that have recently joined the reflective memory ring Set Endian IOS INITIALIZE IOSM SWAP Set the Endian mode Set Memory Write Range IOS INITIALIZE IO M UPDATE MAP Set starting address to allow writes to and length of memory for this node If left as zero no write validations are performed Enable Network Interrupts IO _INITIALIZE IO M_INTERRUPT Register for Init Node wakeup IO _INITIALIZE IO M_INTERRUPT IO M_BOOTING Register for event flag to be set when FIFO has data e g new node has joined ring Rogue Master Enable IO _INITIALIZE IO M_SET_MODEM IO M_PURGE Enables this node to detect rogue packets Loopback Mode Enable Disable IO _INITIALIZE IO M_SET_MODEM IO M_LOOP Set Dark on Dark mode IO _INITIALIZE IO M_SET_MODEM IO M_UNLOOP IOS IOCTLV Unix IOCTL functions IOS IOSENSEMODE Standard sense mode functions All reads and writes to the reflective memory ring are 32 bit longwords The driver supports non aligned data user buffer and reflective memory addresses for the buffered transfers However if possible all buffers and byte counts should be 4 byte aligned and have a 4 byte length modulus This is a requirement for the DMA functions 4 1 Write Virtual Block IO WRITEVBLK This function will write the user s buffer to the reflective memory address passed as the P3 parameter Because of the tra
58. on Operation U VMS MS Process Process J Ba N d 4 j d System Service Layer Global VMIC DATA Section WIC L P Hardware Ring Figure 3 3 READONLY MODE 15 IPD System Service Read White Operation Operation WS wS Process Rocess o Ko System Service Layer Global Section WIC k Hardware VMIC Ring Figure 3 4 OFFLINE MODE 3 2 TAG DATABASE MASTER CONFIGURATION FILE If desired the memory locations within the Reflective Memory can be addressed symbolically referred to as TAGS Each tag has a name data type size and a description Each TAG has a single source written by only one node All other nodes may read the information but only the source node may write to the tag The PSTCFG process creates and maintains updates configuration file ipd_prod rfmmcf dat 16 IPD System Service 3 2 1 TAG DATA TYPES The Logan implementation of IPD supports 12 data types A brief description of each data type is included in this section The user must keep in mind that the minimum size value for the Logan Hot Mill project is 4 bytes If a data type is shown as less than 4 bytes the remaining bytes are allocated for the data type but are unused Data types that are defined as non longword aligned will always be expanded to be longword aligned The user should use datatypes that are compatible for all
59. pciSw vendor id 0x0000114a pciSw device id 0x00005565 pciSw command 0x00000147 pci w_status 0x000002b0 pci b_revision_ id 0x00000001 pci b programming if 0x00000000 pci b_sub_class Oxffffff80 pciSb base pci b_ cache line size 0x00000010 class 0x00000002 pciSsb latency timer Oxffffffff pciSsb header type 0x00000000 pci b bist 0x00000000 pci l base address 0 0x03fb7e00 pci l base address 1 0x01ffff01 pci l base address 2 0x03fb7d00 pcisl base address 3 0x04000000 pcisl base address 4 0x00000000 pcisl base address 5 0x00000000 pci l cardbus cis 0x00000000 pci w_sub_vndr 0x000010b5 pci w_sub_id Oxffff9656 pci 1 exp rom base 0x00000000 pci 1 reserved 3 0x00000040 pci l reserved 4 0x00000000 pcisb intr line 0x00000010 pciSb intr pin 0x00000001 pci b min ont 0x00000000 pcisb max lat 0x00000000 cbf 1 rmem 0 0x00000000 cbf 1 rmem 1 0x00000401 cbf 1 rmem 2 0x00000802 cbf 1 rmem 3 0x00000c03 cbf 1 rmem 4 0x00001004 cbf 1 rmem 5 0x00001405 cbf 1 rmem 6 0x00001806 cbf 1 rmem 7 0x00001c07 cbf 1 rmem 8 0x00002008 cbf 1 rmem 9 0x00002409 cbf 1 rmem 10 0x0000280a cbf 1 rmem 11 0x00002c0b cbf 1 rmem 12 0x0000300c cbf 1 rmem 13 0x0000340d cbf 1 rmem 14 0x0000380e cbf 1 rmem 15 0x00003c0f 5 1 2 PUTIT Utilities 44 Utilities The PUTIT utility is responsible for writing a value to any process variable This includes a simple type real int byte or to an array of
60. perator side 1 Integer 4 F1_TOP_OS_1_Pos Parameter F1 TOP OS 1 Pos 1 Integer 2 F1 TOP OS 1 Msk Parameter F1 TOP OS 1 Msk 0002 X Discrete tag F1 TOP DS 1 0x198 bit Od0 F1 TOP drive side 1 Integer 4 F1 TOP DS 1 Pos Parameter F1 TOP DS 1 Pos 0 Integer 2 F1 TOP DS 1 Msk Parameter F1 TOP DS 1 Msk 0001 X 5 5 RTREND Plotting Program for RFM Tags RTREND is a real time graphics program that plots up to 9 different RFM tags on the CRT screen using Regis graphics It was developed as an aid to the software and modeling engineer All tags updated every second which means that 11 minutes worth of data are plotted on the screen At the end of the 11th minute the graph shifts to the left by 5 minutes the oldest 6 minutes of data disappear and plotting continues for another 5 minutes Both integer and real tags are recognized and are converted correctly 5 5 1 Usage Limitations 1 Recognizes only command line input Trend files not directly supported 2 Real time plotting only Plotting from historical data files is not available Usage RTREND PHI plot high list PLO plot low list SCALE scaling factor list tag list Example rtrend phi 1000 1000 1000 plo 0 0 0 scale 10 10 10 learning s1 force rfm learning s2 force rfm learning s3 force rfm where PHI are the plot high limit values parentheses not required if one tag There must be the same number of plot high limit values as th
61. r Used to control the actual GEFANUC PCI 5565 device and configure it into OpenVMS operating system running on HP Integrity or Alpha servers e System Service The system service is a privileged image that provides a controlled access to the reflective memory contained within the PCI 5565 and the reflective memory ring using the above mentioned device driver Access to the reflective memory can be either address based or symbolic tag based access for applications running on the OpenVMS host The system service also provides the ability to run in three modes e g normal read only and ghost e Configuration Application This application provides the mapping of the tags to memory addresses The configuration uses a comma delimited file to provide a symbolic mapping of process variables within the memory Typically this is exported from an Excel or spreadsheet database e Debug Development Utilities A set of utilities is provided that allow for the debug and development of systems based using reflective memory Installation 2 Installation The reflective memory installation uses the OpenVMS VMSINSTAL method for installation The system supports up to four PCI cards within the PCI or PCIX bus The PCI 5565 reflective memory ring adapter follows the PCI standard which allow for easy configuration into the system Each of the PCI 5565s should be configured for a unique node IDS for each reflective memory ring and installed into the
62. s Parameter Description 1 1 enable O disable 4 15 Set Dark on Dark mode lO _INITIALIZE Turn off the fiber transmitter when no signal is detected on the fiber receiver QIO Parameters Parameter Description 1 1 enable O disable 4 16 Error Codes The PCI 5565 device driver returns status in conformance to OpenVMS standards The status can be returned via the status of the SYSSQIO function call if the request is not valid or it can be returned in the I O status quad word The PCI 5565 device driver uses the OpenVMS symbolic codes defined in Sssdef mapped to the definitions for this driver Symbolic Status Code Description SSS NORMAL Normal completion SSS ABORT I O was cancelled SS TIMEOUT Device timeout SS NOSLOT Reflective memory address is not in range of the PCI 5565 currently installed Validate parameter is passed by value SS ILLBLKNUM Buffered I O size exceeds reasonability The size exceeds the constant DMA THRESHOLD Validate parameter is passed by value or consider using DMA SS BADPARAM QIO parameter is in error zero or negative byte count SS BUFBYTALI SS IVBUFLEN SS ACCVIO SS ILLBLKUNM Writeable partition information is invalid Start or start plus size exceeds PCI 5565 available memory or length less than zero SS _ILLIOFUNC Illegal function or function modifier entered 4 17 Device Loading 3
63. s Elem BIT 0 0x004494 05 S1 Screws In Position For Roll Change Logical CPU2 S1 Screw At Zero Speed Elem BIT O 0x004494 06 S1 Screw Zero Speed Screw not Moving Logical CPU2 S1 Screw Position Move CMD Elem BIT 0 0x004494 07 S1 Screw Position Move Command Logical CPU2 S1 Screw Up Limit Stop Elem BIT O 0x004494 08 S1 Screw Up Limit Stop Logical CPU2 S1 Screw Down Limit Stop Elem BIT O 0x004494 09 S1 Screw Down Limit Stop Logical CPU 2 55 Utilities CPU2_PLC_GWEnd Elem INT 0 0x0044D2 Guard Word End 0 CPU2 TRACE_SAMPLES Elem DINT 0 0x0082D4 Gauge Trace Buffer sample counter samples CPU2 TRACE_BUF_COUNTER Elem UDINT 0 0x0082D8 New Buffer Counter Increments when coil complete 0 CPU2 TRACE_DISP Elem DINT 1500 0x0082DC Sample displacement from head end Meters 10 CPU2 TRACE_MIN Elem DINT 1500 0xO09A4C Maximum deviation in sample mm 1000 CPU2 TRACE_MAX Elem DINT 1500 0xOOB1BC Minimum deviation in sample mm 1000 CPU2 TRACE_SIGMA Elem DINT 1500 0x00C92C Standard deviation of sample mm 1000 CPU2 TRACE AVG Elem DINT 1500 0x00E09C Average deviation in sample mm 1000 CPU2 TRACE LENGTH Elem DINT 0 0x00F80C Incremental Length Measurement M 10 CPU2 L2 to C PUT 3 L2_SETUP_GDW1 Elem DINT 0 0x014000 Setup guard word 0 L2 L2_S1_ModelGauge_RFM Elem DINT 0 0x014004 Model Gauge Stand 1 100 1mm L2 L2_S2_ModelGauge_RFM Elem DINT 0 0x014008 Model Gauge Stand 2 100 1mm L2 L2_S3_ModelGauge_RFM Elem DINT 0 0x01400C Model Gauge Stand 3 100 1m
64. s can cause system faults OpenVMS provides a controlled method to accomplish this using a device driver The system service is installed with privileges that allow the normal user the ability to write to the reflective memory The system service checks to ensure that all writes to the reflective memory are within the writeable region for this node by each adapter e g PCI 5565 The system service supports development when a PCI 5565 is not available and when a ring member is absent The system service calls the PCI_5565 device driver to actually access the reflective memory unless in one of the offline modes If partitions have been enabled in the driver the validation of the writeable area is done by the driver The API is designed to support two access methods e Read and write directly to memory locations in the reflective memory e g Peek and Poke e Read and write symbolic tags to memory locations in reflective memory e Provides method for notification of events on the reflective memory ring The use of the symbolic tag reference requires the configuration of each symbolic tag using a simple comma delimited file CSV typically created using a spreadsheet example spread sheet is provided on the distribution CD This method allows for the support of a simple data type such as an integer as well as a more complex type such as a structure Using this method allows support for some of the utilities GETIT and PUTIT and debug met
65. s may be specified on the command line The adapter must be specified and may be a logical name or the actual PCI 5565 adapter device name e g RBAO RBBO etc RFM adapter ENDIAN lt 0 1 gt MEMPAR start1 sizel1 start2 size2 start3 size3 NEWNODE INTERRUPT REFRESH ROGUE 1 or 2 D 1 DARK STATUS Switch Description ENDIAN Set little or big Endian mode O little Endian 1 big Endian MEMPAR Set memory range partitions used the local host writeable start1 sizel regions within the reflective memory start2 size2 start3 size3 NEWNODE Enable disable processing of node interrupt messages for nodes NONEWMODE that join the reflective memory ring INTERRUPT Enable disable network interrupts NOINTERRUPT REFRESH Refresh memory owned by this node for other nodes ROGUE Enable disable Rogue packet functioning by this node Default NOROGUE is rogue master one 1 or 2 D 1 LOOPBACK Enable disable local card loopback NOLOOPBACK DARK Enable disable dark on dark fiber operation NODARK STATUS Display information about device 5 4 PSTCFG The PSTCFG process is provided to support the accessing of the reflective memory using symbolic tags instead of absolute memory addresses in the reflective memory The actual binding of the tag name to its address in reflective memory is done at runtime by the RFMGetReference function This is a batc
66. s when multiple tags are present in the APITAG structure int RFMExtendedStatus IPDRFM_HANDLE pHandle RFM_IOSB plosb 29 IPD System Service Integer 4 RFMExtendedStaus Integer 4 Handle Integer 4 Iosb Handle Usage The pointer to the EXEC space Handle structure Type Longword Access Read only Mechanism By reference The address of a variable that contains the pointer to the EXEC mode handle structure Iosb Usage IO Status Buffer Type Longword Array 2 elements Access Write Mechanism By reference An array of two longwords that will receive the extended status code and the index to the offending tag 3 2 8 1 Function Return Codes The function may return any of the following return codes As with all OpenVMS functions an odd value indicates success and an even code indicates failure SS _ACCVIO Indicates that the system service code does not have access to at least one of the parameters passed to it This may mean that a pointer has not been initialized before calling the system service function 3 2 9 RFMClose Function The RFMClose function is provided as the mechanism through which an application terminates its access to the reflective memory environment and a value of NULL is placed in the Handle structure pointer variable An application that intends to exit need not call this function as normal OpenVMS process rundown will release all resources captured by the process int RFMClose IPDRFM_HANDL
67. sfully installed SVMSINSTAL I MOVEFILES Files will now be moved to their target directories Installation of IPD5565D V1 1 completed at 08 58 Adding history entry in VMISROOT SYSUPD VMSINSTAL HISTORY Creating installation data file VMISROOT SYSUPD IPD5565D011 VMI DATA Enter the products to be processed from the next distribution volume set x Products VMSINSTAL procedure done at 08 59 2 2 POST Install After installing the kit the command procedure to load the driver and install the system service should be ran SYSSCOMMON IPD5565D011 RFM 5565 STARTUP COM If the user intends to use the utilities the foreign commands for the utilities are defined in the command file IPD DROD REM SYMBOLS COM All files for this product are located in the installation directory including the device driver and its symbol table If the 5565 driver had not been installed in the PCIX bus when the kit was installed the user may look for the driver again by executing the following from within the IPD REM directory Set Def IPD__RFM FINDPCI IPD__RFM RFM_DRIVER_LOAD COM OpenVMS does not support the reloading of a device driver If a new release of the driver is installed the system must be bootstrapped IPD System Service 3 IPD System Service The actual writing and reading of the reflective memory ring data requires PCI bus memory cycles This is a privileged function within the OpenVMS executive as errant read and write
68. simple types and finally to any element or elements of a structure The PUTIT utility can write to any process variable regardless if the process variable is owned by the local system This utility should be used with caution Typically this utility is used for simulation purposes when the actual owner of the process variable is not controlling the variable PUTIT DEBUG QUIET Tags Data Tags The Tags is the process variable desired to be written If the process variable is an array then the element index can be specified using square brackets element number The element number always starts with one If the process variable is an element then the tag name followed by the desired elements of the structure can be specified including elements of arrays contained within the structure Tags can also be a file name that contains a list of elements from the process variable If more than a single element of a process variable is to be returned the string must be enclosed in quotes unless the tag string is passed via a data file Data The Data are the corresponding data items for the process variable elements specified in Tags argument If more than a single value is present the data items must be separated by commas and the whole string quoted Additionally the data can be sourced from a local DCL symbol by specifying a symbolname or from a data file datafile The data file is a simple text file with values for each element of the t
69. size The fixed portion of an APITAG structure is 4 bytes8 This plus the size of the smallest possible tag 4 bytes results in a minimum size for an APITAG of 52 bytes IPDM_NOTFOUND The specified tag name was not found in the memory resident copy of the MCF Please correct the tag name and try again If the APITAG structure contains more than a single tag you must use the RFMExtendedStatus function to determine the failing tag IPDM_SS_MAP OUT OF RANGE Indicates that the current reflective memory limit values set by logical names exceeds physical limits of the reflective memory card present Redefine the limit logical names for your environment and try again IPDM_SS_WRTLIM_VIOLATION Indicates that one of the tags defined as an output tag in the current operation would result in a write to an area of reflective memory which is not within the local nodes writable area Check the write limit logical name definitions and the tags to be written in the APITAG structure SS _ACCVIO Indicates that the system service code does not have access to at least one of the parameters passed to it This may mean that a pointer has not been initialized before calling the system service function Example programs written in FORTRAN can be found in the IPD_EXA directory of the IPD directory tree 3 2 4 RFMRead 22 IPD System Service The RFMRead function reads raw reflective memory data into the user s buffer The source of the data r
70. systems The definition of the datatype is used for debugging purposes Only the starting address and length are actually used when reading or writing to reflective memory DATATYPE SIZE DESCRIPTION bytes TIMESTAMP 8 An OpenVMS formatted time value in binary form FLOAT 4 A 4 byte floating point value For the Logan implementation this is IEEE formatted INTEGER 4 A 32 bit signed integer value DISCRETE 4 A 32 bit unsigned value used to represent an ON OFF type of status The least significant bit is used for this purpose Its contents may be derived from a single bit in a reflective memory longword SHORT 2 A 16 bit signed integer value CHAR 1 A single byte signed value UINTEGER 4 A 32 bit unsigned integer value USHORT 2 A 16 bit unsigned integer value UCHAR 1 A single byte unsigned value DOUBLE 8 An 8 byte floating point value For the Logan implementation this is IEEE formatted TEXT n A text string of n bytes The size is defined during generation of the database If the text string is not longword aligned its size is expanded to be longword aligned Bytes in excess of the specified text size are reserved but are unused STRUCT n A user defined structure tag The size is defined during generation of the database Ifthe structure is not longword aligned its size is expanded to be longword aligned Bytes in excess of the specified structure size are reserved but are un
71. tes Please correct the size and try again IPDM_TAGELEMENTSIZE Is an indication that the size of the requested tag is larger than the allowable maximum of 1024 Correct the invalid size and try the call again IPDM_TAGSTRUCTTOOSMALL Indicates that the size of the element given is smaller than the minimum possible size The fixed portion of an APITAG structure is 48 This plus the size of the smallest possible tag 4 bytes results ina minimum size for an APITAG of 52 bytes IPDM_NOTFOUND The specified tag name was not found in the memory resident copy of the MCF Please correct the tag name and try again If the APITAG structure contains more than a single tag you must use the RFMExtendedStatus function to determine the failing tag The function call may also return any of the return codes defined by the VMIC system service routines Please check the VMIC documentation for these codes 3 2 8 RFMExtendedStatus Function The RFMExtendedStatus function is provided as the mechanism through which an application gains access to extended status from a prior RFM system service call A typical use for the call is in the case of an RFMGetReference where the APITAG structure contains multiple tags In order to determine the identity of the offending tag from the group of tags the user would call the RFMExtendedStatus routine The index to the offending tag would be returned to the caller The same case exists with the RFMReadTags and RFMWriteTag
72. tes failure SS _ACCVIO Indicates that the system service code does not have access to at least one of the parameters passed to it This may mean that a pointer has not been initialized before calling the system service function IPDM_BADTAGCOUNT Indicates that the user has requested an invalid number of tags The number of tags must be greater than 0 but less than 500 IPDM_APIHDLCORRUPT Indicates that the handle pointer passed by the user is pointing to a structure that has an invalid structure identifier in it The IPDRFM_HANDLE structure has a specific identification stored within it following a successful RFMOpen call Please make sure that the application has called RFMOpen prior to passing the handle to the RFMGetReference function IPDM TAGELEMENTMODULUS Indicates that the size of the tag passed to the function is not an even multiple of 4 bytes Please correct the size and try again 25 IPD System Service IPDM_TAGELEMENTSIZE Is an indication that the size of the requested tag is larger than the allowable maximum of 1024 bytes Correct the invalid size and try the call again IPDM_TAGSTRUCTTOOSMALL Indicates that the size of the element given is smaller than the minimum possible size The fixed portion of an APITAG structure is 48 This size plus the size of the smallest possible tag 4 bytes results in a minimum size for an APITAG of 52 bytes IPDM_NOTFOUND The specified tag name was not found in the memory resi
73. tion or an element of a structure or simple tag Note structure datatypes may not be possible over all platforms Data Type INT 2 byte integer The type of data contained in this DINT 4 byte intger SINT 1 byte integer REAL Float CHAR Text string BIT Bit string START Start Structure definition END End Structure definition tag The floating point data types are normally expected to be IEEE float The number of characters in the CHAR is defined using the Array size column The structure definitions should be first in the CSV file All BIT tags should be contained in a packed process variable of type INT or DINT The packed variable is 51 Utilities acquired and the bit is added to acquire its value The bits switch will define the layout of the bits RFM Addr O to cardsize Reflective memory address on the PCI 5565 adapter Should always attempt to use long word offset e g modulus of 4 bytes If this is a bit definition the address is in the form of Address bt number in hex Array size Number of characters in a character string or the number of elements contained in the tag Note using arrays may not be possible over all platforms Descriptio n 80 characters Description of tag Should not contain any commas or apostrophes Units 20 characters Documentation about the units of the tag Should not contain any commas or apostrophes Source
74. to enable interrupts Device is offline MSG _DEVWRTLCK MSG _SHARDUCED 4 18 Device Error and Event Messages During normal operation the device driver polls the PCI 5565 five second interval to detect any possible problems When these events are detected a message is sent using the EXE STD SNDEVMSG facility Any significant event is logged using an OpenVMS device message which is mapped to the PCI 5565 driver meaning shown in the following table Again the OpenVMS device message is what is printed and has no meaning with regard to the PCI 5565 driver In addition to polling the PCI 5565 the status light on the PCI 5565 is toggled each five seconds Symbolic OpenVms Device Message PCI 5565 Driver meaning MSG _DISMOUNTED Volume dismounted Sync was lost MSG _SHAMEMFAL Member failed out of shadow set Write FIFO almost full MSG _MVABORTED Mount verification has aborted Receiver no signal present 39 PCI 5565 Device Driver for device RBAO MSGS SHAWROMEM RBAO is an incorrect shadow Receiver FIFO full set member volume MSGS SHAREDZER RBAO contains zero working Bad data received members 40 Utilities 5 Utilities There are six utility programs supplied as part of this product Each of these utilities is invoked through the use of a foreign command A foreign command is a command that is not included as part of the
75. ucts to be processed from the first distribution volume set Products IPD5565D011 Enter installation options you wish to use none The following products will be processed IPD5565D V1 1 Beginning installation of IPD5565D V1 1 at 08 58 SVMSINSTAL I RESTORE Restoring product save set A IPACT Process Database for GE FANUC VMIC PCI5565 Adapter Copyright IPACT Inc 260 S Campbell St Valparaiso IN 46485 www ipact com Support 219 464 7212 mpblus ipact com This software is licensed to a single computer This is a demo kit The driver will only function for two days after the driver is loaded SIPD I KitType This is a Demonstration kit This software will be installed in the following directory sysScommon IPD5565D011 sysScommon IPD5565D011 EXAMPLES All user input complete dp dp PO mg PI rg o oe PO o l oe ro o ae do oe tg tg tg rg oe Linking Linking Linking Linking Linking Linking Linking Linking Linking D S CoffeeBreak All input complete Dat 5565 device driver RFMSS system service DEVDMP utility DUMPMCF utility FINDPCI utility GETIT utility PSTCFG utility PUTIT utility REM Looking for 5565 PCI adapter cards Expect output showing system bus structure Running FINDPCI to find your devices SIPD I Find5565 Find PCI adapters Changing mode to Kernel to find PCI RFM devices Reflective Memory PCI device found 1
76. ucture in reflective memory contains a field that is named field_val_1 The prototypes for the RFMReadTags function in both C and FORTRAN are shown below int RFMReadTags IPDRFM_HANDLE pHandle APITAG Tags int TagCnt int pStrucSize Integer 4 RFMReadTags Integer 4 Handle Integer 4 Tags Integer 4 TagCnt Integer 4 StrucSize Handle Usage A pointer to the EXEC mode Handle structure Type Longword 24 IPD System Service Access Read only Mechanism By reference The address of a variable that contains the pointer to the EXEC mode handle structure Tags Usage Address of APITAG structure for tag to be referenced Type Longword Access Write Mechanism By reference The Tags parameter contains the address of a single APITAG structure or a contiguous block of APITAG structures TagCnt Usage Number of tags in the Tags structure Type Longword Access Read only Mechanism By reference This is the address of a variable that contains the number of tags within the Tags structure If more than a single tag is provided in the Tags structure they must be contiguous within the containing structure Size Usage Size of the entire Tag structure provided Type Longword Access Read only Mechanism By reference 3 2 5 1 Function Return Codes The function may return any of the following return codes As with all OpenVMS functions an odd value indicates success and an even code indica
77. used The database has no knowledge of the fields within the structure and treats the tag as a region of n bytes Table 3 1 IPD Data Types 17 IPD System Service 3 2 2 RFMOpen Function The RFMOpen function is provided as the mechanism through which an application gains access to the VMIC Reflective memory and the associated tag information This function must be the first of the IPD functions called in all cases Calling the RFMOpen function temporarily places the application in EXEC mode While in EXEC mode an RFMHandle structure is created The handle structure is used as a container for information related to the application s request for access to the reflective memory information It contains a channel number to the VMIC device if operating in NORMAL or READONLY mode as well as pointer information to the memory resident group global section created for the MCF copy in memory Since the handle structure is created while in EXEC mode it is not accessible by the application once control is returned to the application in USER mode Once a successful call to RFMOpen has been made the other five functions may be used The C and FORTRAN prototypes for the RFMOpen function are shown below All the RFM functions have been designed for ease of use in the FORTRAN environment The passing mechanism shown in the C prototype is consistent with the default FORTRAN passing mechanism int RFMOpen struct dsc

Download Pdf Manuals

image

Related Search

Related Contents

Altronix ALTV2416 power extension  J-SPEC BLENDER 7011JS 取扱説明書  Powermax pro Bedienungsanleitung    PTS controller SDK _PTSU2_  Kramer Electronics C-HDK6/HDK6-175 networking cable  Regelmäßige Wartung und kleinere Reparaturen    取扱説明書  Acer 340 Series Laptop User Manual  

Copyright © All rights reserved.
Failed to retrieve file