1、Recognized as anAmerican National Standard (ANSI)Copyright 1979 byThe Institute of Electrical and Electronics Engineers, Inc.No part of this publication may be reproduced in any form, in an electronic retrieval system or otherwise, without the priorwritten permission of the publisher.SS7609-NAUSH760
2、9-NAUIEEE Std 758-1979(R2006)IEEE Standard Subroutines for Computer Automated Measurement and Control (CAMAC)Sponsor Instrumentation and Detectors Committeeof theIEEE Nuclear and Plasma Sciences SocietyReaffirmed March 30, 2006Approved December 14, 1978IEEE-SA Standards BoardReaffirmed January 13, 2
3、000Approved December 21, 1990American National Standards InstituteiiForeword(This Foreword is not a part of IEEE Std 758-1979, Standard Subroutines for CAMAC.)This standard presents a recommended set of software subroutines for use with the CAMAC modular instrumentationand interface system of IEEE S
4、td 583-1975. These subroutines provide a general capability for communicating withCAMAC systems. They will be of primary interest to those who wish to write their own data-processing programs ina high-level programming language, such as Fortran. The achievable data transfer rate is, of course, depen
5、dent on anumber of factors, including the language used, the operating system, the compiler, and the method and level ofsubroutines implementation and the computer.The report on which this standard is based, and with which it is technically identical (DOE/EV-0016), was prepared bythe NIM (National I
6、nstrumentation Methods) Committee of the US Department of Energy and the ESONE (EuropeanStandards on Nuclear Electronics) Committee of European Laboratories.This standard was reviewed and balloted by the Nuclear Instruments and Detectors Committee of the IEEE Nuclearand Plasma Sciences Society.Appro
7、ved December 14, 1978IEEE Standards BoardJoseph L. Koepfinger, Chair Irvin N. Howell, Jr, Vice Chair Ivan G. Easton, Secretary William E. AndrusC. N. BerglundEdward J. CohenWarren H. CookDavid B. DobsonR. O. DuncanCharles W. FlintJay ForsterRalph I. HauserLoering M. JohnsonIrving KolodnyWilliam R. K
8、ruesiThomas J. MartinJohn E. MayDonald T. MichaelVoss A. MooreWilliam S. MorganRobert L. PritchardBlair A. RowleyRalph M. ShowersB. W. WhittingtonAt the time of approval of this standard, the membership of the Nuclear Instruments and Detectors Committee of theIEEE Nuclear and Plasma Sciences Society
9、 was as follows:D. E. Persyk, Chair J. A. Coleman, Vice Chair Louis Costrell, Secretary R. L. ButenhoffD. C. CookJ. F. DetkoF. S. GouldingF. A. KirstenT. R. KohlerH. W. KranerW. W. ManaganG. L. MillerJ. H. TrainorS. WagnerF. J. WalterH. R. WassoniiiNIM CommitteeL. Costrell, Chair E. J. BarsottiE. Da
10、veyW. K. DawsonS. DhawanJ. GallagherC. E. L. GingellD. R. HeywoodN. W. HillG. A. HoltD. HorelickC. KernsF. A. KirstenR. S. LarsenA. E. Larsh, JrN. LatnerF. R. LenkszusD. R. MachenD. A. MackR. G. MartinV. C. NegroI. PizerS. RankowitzS. J. RudnickW. P. SimsD. R. StillwellG. L. StrahlR. F. Thomas, JrJ.
11、 H. TrainorH. R. WassonJ. W. Woody, JrNIM Software Working GroupR. F. Thomas, Jr, Chair W. K. Dawson, Secretary L. CostrellS. DhawanR. W. GoinV. P. ElischerR. A. LaSalleF. R. LenkszusL. B. MortaraD. G. PerryJ. P. SteffaniESONE CommitteeP. Christensen, Denmark, Chairman 1977/78W. Attwenger, AustriaL.
12、 Binard, BelgiumJ. Biri, HungaryB. Bjarland, FinlandD. A. Boyce, EnglandB. A. Brandt, GermanyM. J. Cawthraw, EnglandF. Cesaroni, ItalyP. Clout, EMBLM. Coli, ItalyW. K. Dawson, CanadaE. DeAgostino, ItalyB. V. Fefilov, JINRP. Gallice, FranceC. Gauffin, SwedenH. R. Hidber, SwitzerlandR. Horvath, Czecho
13、slovakiaR. Hunt, EnglandF. Iselin, CERNW. Kessel, GermanyR. Klesse, MLPLE. Kwakkel, NetherlandsJ. Lecomte, FranceJ. Lingertat, GermanyP. F. Manfredi, ItalyCh. Mantakas, GreeceD. Marino, ItalyG. Metzger, FranceH. Meyer, EURATOMK. D. Muller, GermanyJ. G. Ottes, GermanyA. T. Overtoom, NetherlandsM. Pat
14、rutescu, RoumaniaR. Patzelt, AustriaA. C. Peatfield, EnglandG. Perna, ItalyI. C. Pyle, EnglandB. Rispoli, ItalyM. Sarquiz, FranceW. Schoeps, SwitzerlandL. Stanchi, EURATOMH. J. Stuckenberg, GermanyR. Trechcinski, PolandM. Truong, FranceA. J. Vickers, EnglandM. Vojinovic, YugoslaviaK. Zander, Germany
15、D. Zimmermman, GermanyivNOTE Availability of DocumentsIEEE IEEE Service Center, 445 Hoes Lane, Piscataway, New Jersey 08854, U.S.A.IEC International Electrotechnical Commission, 1, rue de Varembe, CH-1211 Geneva 20,Switzerland.DOE and TID Reports National Bureau of Standards, Washington, D.C. 20234,
16、 U.S.A., Attn: L. Costrell.EURATOM Ofce of Ofcial Publications of the European Communities, P.O. Box 1003,Luxembourg.ESONE Commission of the European Communities, CGR-BCMN, B-2440 GEEL, Belgium,Attn: ESONE Secretariat, H. Meyer.CAMAC Specifications and ReportsTitle IEEE, ANSI Std NoIEC No DOE NoEURA
17、TOM(EUR) orESONE NoModular Instrumentation and Digital Interface System (CAMAC) ANSI/IEEE Std 583-1975*516EUR 4100eSupplement to CAMAC IEEE Standards Documents IEEE Std 583A-1979 DOE/EV-0009 Serial Highway Interface System (CAMAC) ANSI/IEEE Std 595-1976* 640EUR 6100eParallel Highway Interface System
18、 (CAMAC) ANSI/IEEE Std 596-1976* 552EUR 4600eMultiple Controllers in a CAMAC Crate ANSI/IEEE Std 675-1979 DOE/EV-0007EUR 6500eBlock Transfers in CAMAC Systems ANSI/IEEE Std 683-1976 EUR 4100 supplCAMAC Instrumentation and Interface StandardsSH06437(Library of Congress No 76-39660) Amplitude Analogue
19、 Signals within a 50WSystem TID-26614 EUR 5100eThe Definition of IML A Language for use in CAMAC Systems TID-26615 ESONE/IML/01CAMAC Tutorial Articles TID-26618 Real-Time BASIC for CAMAC IEEE Std 726-1979* TID-26619 ESONE/RTB/02Recommendations for CAMAC Serial Highway Drivers and LAM Graders for the
20、 SCC-L2 DOE/EV-0006 ESONE/SD/02* Includes supplementary information.Superseded by corresponding IEEE Standard listed. In preparation. This is a hard cover book that contains IEEE Stds 583-1975, 595-1976, 596-1976, and 683-1976, plus introductory material.* Contains some differences with respect to t
21、he two identical documents TID-26619 and ESONE/RTB/02.vCLAUSE PAGE1. Introduction.12. Functional Specifications22.1 Primary Subroutines. 22.2 Single-Action Subroutines . 32.3 Block Transfers, Multiple Actions, and Inverse Declarations . 63. Definitions of Parameters104. Bibliography12Annex A System-
22、Dependent Subroutines (Informative) 13Annex B FORTRAN Implementation (Informative)18Annex C Function-Code Mnemonic Symbols (Informative)25IEEE Standard Subroutines for Computer Automated Measurement and Control (CAMAC)1. IntroductionThis standard describes a set of standard subroutines to provide ac
23、cess to CAMAC facilities in a variety of computer-programming languages. It is specically intended that the subroutines be suitable for use with FORTRAN, althoughthey are not restricted to that language. Appendix B describes a recommended implementation of the subroutinesexplicitly for FORTRAN.The p
24、resent approach is based largely on IML and IML-M1 6.1A distinction is made between declarations, whichare used to name and specify computer and CAMAC entities, and actions, which are used to implement the variousdata movements and condition tests which make up the CAMAC-related portion of a program
25、. As far as possible, thenomenclature of IML-M1 has been followed in order to take advantage of existing familiarity with that system and toprovide as uniform a terminology and style as possible among the various CAMAC software documents.Because of the widespread use of CAMAC on computers with a wor
26、d length of less than 24 bits and because of thegreat differences in computer and operating-system features, special system-dependent features are often required toprovide greater efciency or to make appropriate use of the features of particular systems. The main body of thisstandard describes subro
27、utines which, at the user interface, depend only on the features of CAMAC and therefore,when implemented in any standard procedural language, should be computer-independent. Appendix A describessubroutines which depend not only on CAMAC, but to some extent on individual computers. They cannot be mad
28、eindependent of the system on which they are implemented, and the user should take special precautions when it isnecessary to incorporate them into a program. Such a program may not be transportable from one computer to anotherwithout modication.The subroutines have been grouped into three subsets i
29、n order to provide different standard levels of implementation.The lowest level requires only two subroutines, but, nevertheless, gives access to most of the facilities which can befound in CAMAC. In higher levels of implementation subroutines are added which permit procedures to be written inmore m
30、nemonic terminology, provide better handling of LAMs, permit procedures to be independent of the type ofCAMAC highway used, and provide efcient block-transfer capability.1Numbers in brackets correspond to those in the Bibliography, Section 4. of this standard.2Copyright 1979 IEEE All Rights Reserved
31、IEEE Std 758-1979 IEEE STANDARD2. Functional SpecificationsThis section introduces and describes in detail all the recommended subroutines. Since many implementations will notrequire the complete set, the subroutines are grouped into three subsets corresponding to the recommendedimplementation level
32、s. Level A, the simplest, requires only the subroutines from 2.1. Level B, an intermediate level,requires the subroutines from 2.1 and 2.2. Level C is the highest level and requires implementation of the subroutinesfrom 2.1, 2.2, and 2.3.Two CAMAC facilities are not available through the use of thes
33、e subroutines: the X response from an action and theBZ command. These facilities are available through the use of system-dependent subroutines described inAppendix A.Naming conventions, compatible with the requirements of many computer languages, have been adopted. In order tomake it simple for a us
34、er to avoid name conicts, the name of each recommended subroutine begins with the letter C.The second letter of the subroutine name is coded to indicate the general function of the subroutine. Six letters havebeen used for this purpose:C indicates that the subroutine performs a control functionD ind
35、icates that the subroutine is a declaration of a CAMAC entityF indicates that the subroutine transfers full-length (24-bit) data wordsG indicates that the subroutine analyzes a named CAMAC entity into its address componentsS indicates that the subroutine transfers short (less than 24-bit) data words
36、T indicates that the subroutine tests the state of a signal or status indicationThe remaining letters of each subroutine name (to a maximum of six) are chosen for their mnemonic value inidentifying which function the subroutine performs.Since no particular language is assumed in the body of this sta
37、ndard, no syntax can be dened for a subroutine call.The subroutines are described in terms of a subroutine name and an ordered sequence of parameters. As far as possibleevery implementation should retain the designated name and the order of the parameters. For the same reason nospecic form can be de
38、ned for the subroutine parameters. CAMAC data words are bit strings with a length of twenty-four. An implementation must have the capacity to represent such strings. Other subroutine parameters are representedeither as integer values or as the logical values trueor false. In this standard the parame
39、ters of subroutines aredescribed as variables or arrays of types CAMAC word, integer, or logical. For each implementation appropriatestorage units and data formats must be chosen for each of these generalized entities.2.1 Primary SubroutinesThese two subroutines, which are required in all implementa
40、tions, make up level A. The rst provides the capability todene the address of a CAMAC entity and to access it. The second is used to perform CAMAC operations on thedened entities. In principle any CAMAC entity for which there is a dened standard mode of access can be accessedthrough the use of these
41、 two subroutines. In practice some systems may contain restrictions on the use of cratecontrollers or other system modules.2.1.1 Declare CAMAC RegisterName:CDREGParameters:ext(external address, see 3.1)Copyright 1979 IEEE All Rights Reserved3SUBROUTINES FOR CAMAC IEEE Std 758-1979b(branch number, se
42、e 3.2)c(crate number, see 3.3)n(station number, see 3.4)a(subaddress, see 3.5)Function:CDREG combines the branch number b, the crate number c, the station number n, and the subaddress aintoa convenient system-dependent form and stores the result in ext.Since the method of encoding depends on theimpl
43、ementation, the contents of extshould not be modied by the program. Some subroutines (see 2.2) require only acrate address; if the parameters nand aare both zero, CDREG encodes a crate address and stores it in ext.2.1.2 Perform Single CAMAC ActionName:CFSAParameters:f(function code, see 3.6)ext(exte
44、rnal address, see 3.1)int(CAMAC data word, see 3.7)q(Q response, see 3.8)Function:CFSA causes the CAMAC action specied by the function code fto be performed at the CAMAC addressspecied by ext.If fcontains a read or write code, a twenty-four-bit data transfer occurs between the CAMAC registeraddresse
45、d by extand the computer storage location int.Otherwise intis ignored. The state of Q resulting from theoperation is stored in q, trueif Q=1, falseif Q=0.2.2 Single-Action SubroutinesThese subroutines, together with those described in 2.1, form the level B implementation, which provides a completefa
46、cility for specifying single CAMAC actions in a way which is mnemonic, compact, and independent of the type ofhighway or crate controller. Facilities are provided for declaring LAMs and performing LAM actions usingconstructions which are independent of the LAM access mode (that is, subaddress or reg
47、ister access).2.2.1 Generate Dataway InitializeName:CCCZParameter:ext(external address, see 3.1)Function:CCCZ causes Dataway Initialize (Z) to be generated in the crate specied by ext.2.2.2 Generate Crate ClearName:CCCCParameter:ext(external address, see 3.1)Function:CCCC causes Dataway Clear (C) to
48、 be generated in the crate specied by ext.4Copyright 1979 IEEE All Rights ReservedIEEE Std 758-1979 IEEE STANDARD2.2.3 Set or Clear Dataway InhibitName:CCCIParameters:ext(external address, see 3.1)l(logical truth value, see 3.9)Function:CCCI causes Dataway Inhibit (I) to be set in the crate specied
49、by extif the value of lis trueand to be resetif the value of lis false.2.2.4 Test Dataway InhibitName:CTCIParameters:ext(external address, see 3.1)l(logical truth value, see 3.9)Function:CTCI sets the value of lto trueif Dataway Inhibit is set in the crate specied by extand sets the value of lto falseif Dataway Inhibit is not set.2.2.5 Enable or Disable Crate DemandName:CCCDParameters:ext(external address, see 3.1)l(logical truth value, see 3.9)Function:CCCD causes Crate Demand to be enabled in the crate specied
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1