1、。J中华人民共和昌航天工业部部标准QJ827-84 计算机自动测量和控制(CAMAC)实时语言(BASIC)1985-01-29发布1985-02-01实施中华人畏共和噩黠天工监曾发布昌:在主题内容与运吊范围号. . ( 1 ) 2 弓IIll标准.3 实时性能4 i盖碗.巾,、. ( 1 ) 5 并行活动钮. 令川、.年( 5 ) 6 CA.MAC的输入和输出. . ut 7 CA.MAC的Q.酌X.信号.8 CAMAC的LAM处理9 电文传输.、. . (吕10 共享数据也钮,也.e 飞9i 11 位操作.句句句.令. ( 9 ; 附录Ai岳注定义的方法(参考件).、.罩.年6号令.飞11
2、)附录B形式定义(参考件.年. (12) 照录CCAMAC关键字.画数和语句参考件u、.丰.(14) 中华人民共和国航天工业部部标准QJ827-84 计算杭自动那量和控制(CAMAC)实时语言(BASIC)1 主皇室内容与适用范围本标准用形式语法和符号定义了用于CAMAC号实时BASIC语言,共有70个语句3现定了每个语句的名称、参数和功能参见附录B) 0 本标准设计时考虑到涓子CHMAC的ANSIBASIC的各种不愿实现使之间具有最大的兼容性.2 3 引用标准QJ 820-84 QJ 821-84 QJ 822-84 QJ 823-84 QJ 824-84 QJ 825-84 QJ 826-
3、84 实对性能计算机自动满量和控制(CAMAC)模块化仪器和数字接口系统。计算机启动测量和控制(CAMAC)串行公路接口系统。计算机自动测量和控制(CA双AC)并行公路接口系统。计算极启动测量和控制(CA)IAC)机箱中的多重控制器。计算机启动测量和控制,CAMAC)系统中的数据块传输。计算机启动测量和控制,CAMACJ子程序c计算机自动测量和控制(CAMAC)术语的意义。编写一个实射程序是要使许多并发活动,按需要进行通迅相同步也以达到实际应用的总目的。每一个活动,具有它的局部变量,辈辈通过端口与其周围环婆遥远B其端口有三类2a.在两个活动之间传送数据的电文端口3b .允许坊问存在于本活动之外
4、的共享数据的共享数据端口。c .提供CA:IAC输入-一输出的过程端口。另外,还主义了一些语句,以便实时地调度辛苦安排并发活动以及碗应外部和内部所产生的事件。4 说明说明语句是用来定义草草口的属性和通过端口进行传送的数据结构,它必须放在程序的开头,以及在任何可执行语句的前面。这些语句岳用于整个实时程序.不象DIM定维吾句只局限于某一个并发活动之中24. 1 数据结构的说阴航天工业部1985-01-29批准1985-02-01实施QJ827-84 数据结构是指实型.整型和字符串等数据类型前一个麦格。在通过端口送数据的词句中,数据结梅是m来对一些变量和数据构成的表格进行有效的定义,并对访问共享数据
5、部基本单元进行定义。例如一个数据结构,名称为STAT.含有三个实型数一个整型数组和离个字符率,对它的说确豆豆如下z200 STR1JCTURE STAT, 3 OF REAL I:TEGER (lOO). 2 OF STRING 数据结构说确的形式主义是z数据结构说明=STRUCTURE结稳名称冒号重复次数v类型争结构名称=字母(字母/数字)拿重复次数=整数OF 整数=数字数字,类型1)= (REAL/INTEGERISTRH喝G)维数了维数=左括号界线右摇号界限=塾数(逗号整数)? 注2川在ANSI标准中,数揭只烧运费斡类主:数字十i茸串i浮点、手括字符串.在大量的CAMAC应用中,这种数据
6、格式会Jll掉过量的内存,会使计算速度大为F痒,为了使JllCAMAC.将数字再甘为实登和整型湾类,实型王在用卜进制或二进制内部格式,整整对在24泣油CAMAC字,在数字运算中,整型接24位的2 ,.约褂喜马遂行处理。4.2 CAMAC说想在ANSI标准中.在过程外留系统是CAMAC的将定情况T.CAlV始,1AC说呈阴就是过程端口i说兑晓CAl双fAC没明吉泊号伊惋i子主郊nf4白。PROCESS INPUT鄂TEIGHTCAMAC (1 , 3, 17. 0) (F 2 ) ( B 10) 410 PRODESS OUTPUT PANEL CAMAC (. 2.4) JOO THEN 79
7、0 790 PRI;T C; TRANSFERS ACCO:lILISHEO 注1 )在ANSI标准中,没喜正式地走立数据块传擒,当形式敦经出现在ln结持或out结构中时,隐式结数据块传输载出现了但是对过程对象没有没说数据接结束信号,对程序设计可洁的实际完或传输次数也没有定立报应的III能。6.3 CAMAC控制动作这些动作是CAlIAC特有的,在ANSI标准中,没有定义等价的语句。它们与罩在兽涉及设备状态而不在数据线上传送数据的CAlfAC.操作功能有关c这些操作是在CA:IAC系统的硬件级上进行的3被执行约动作是在语句中指定的3控幸1动作法句具有8 QJ827岳4于苦口形式z真中CONTR
8、OL camac端口名称.控树动作控秘动作=(F操作码);模件操作J机箱操作模件操作=ENB;DIS/CLI!CL2 机籍操作=CZ;ENCDI DlSCDi CC CLRCI! SETCI 操作码是代表功能码h操作组之一的!进削常数。机箱操作是出i司机篇控制器的控制动作.机箱控制器就是参数A与1为零(觅4.幻的过程对象控制动作的例于如下2800 CONTROL MIX ( 4) ENB 各个关键字的含意如F,ENB=功能码26DIS=功能码24CLl=功能跨9(请经1寄存器CL2=功能码11飞请组2寄存器,cz=启动机箱约.z.总线ENCD=许动机精请求D1SCD=禁功在1L箱请求CC=启动
9、极箱约零总线CLRCI=清除、机第禁坊SETCI=设置机箱禁动句7 CAl1AC的Q和X.信号在每个活动中.将是近的CAIAC操作收到的Q它Xj直存入变量QCAl1和XCAl1中。这些是程序约状态变量?对每个活动均建立这一对局部状态变量,它们可以通过IF语句进们测试,比如-800 IF QCAM= 0 THE1 900 8 CAMAC的LAM处理对于一t-CAMACLA1I-是根据lam名有:在BASIC级选h处理的在4.2节中去句430是lam说明的一个伊l于.LAM处理必须考虑下重重两个方面怎么用控制动作使它丁+作嘈禁止它和激试它的状态.如何使程序利用所出现的lam信号。8. 1 LA沼控
10、制动作l) LAM CONTROL 4IJ作是在CAMAC系统始硬件级上进行的乞LAM地址出说明活句中与事件有关的CAMAC设备提洪口其中LAM CO到TROL动作的形式定义是CONTIWL事件名称lam动作QJ827-84 lam动作=ENL/DISL/TEST CLRLI MENL; MDlSI MTEST I llCLRL 各个关键字的含意如下2ENL=许动LAM.或在于地址主使用功能码F260或按照说晚,将组2屏蔽寄存器A13部适当位设置为10 DlSL=禁动LAM.或在于地址上使用功能弱F24.或按照说明,将组2屏蔽寄存寄存器AI3的适当位清零。TEST=戳试LAM请求.或在子地址上
11、使勇功能码F8 .或测试组2寄存器A14的相应位豹位置,如果有LA1I 2000 它们是!i,核实现方式的,这种方式,对许多CA11AC应用来讲,速度;莹,并且占用内存本事.f;对此种情形.结荐于如i位操作WJ数:AND=左括号数字表达式运号数字表达式右括号。R=左括亏数字表达式旦号数字表达式有摇号XOR=左括导数字麦这式i豆号数字表达式右摇亏:01=左括号数字表达式右括号数字表达式儿能是数字常数和警数=w QJS27-S4 附录Ai吾法定义约方法参考件在形式定义中用到的些约定是采用ECMA,ANSI和ISO标准中程应的部分c这些约定在主述文本中有详尽始说明,但在此对语法定义前方法仍作简要的i
12、呈现。本文用至1的i吾法上的元语言是从BNF引申哥哥来的乙语法是照系列产生烧那啊来定义韵。元语言是层次型的,p产生规则按照上一层次中的一些语法元素去定义F一层次的语法元素.直到遇.终止符为丘c终止符是正在定义的运言&PCAMAC号实对BASIC的一个忌素。定义中用到些专用符号.它们的含意如下z= 将生产规则中右边部分与左边部分区分开来。t ;1前面街语法元素是可选用的。e 前面的语法元素可重复选ltl任意次(包括另次)( )左括号寻和桂右括寻替换项之i部丐的分吉撬草符。空格和新h.是为了提高定义的可读性,它们是没有居法意义的。下恶用例子来说明这些符号中的一部分的用法zout结构=out结构素(
13、逗号。ut主吉德元素out结构元素=表达式/形式数经这就是说,于out结构是由一系列out结构元素组成,如果结构元主多于一个,它们之间用逗号分开,每一个元素或是表达式,或是形式数组。满是本定义的。旺结构的倒子是.A+2.().C事11 (!J 8 2 7-84 附录B形式定义f参i言i牛)本部录孩童条号也;帽、序)iIJH-:全部形式豆主义的清单,口左边的数字是应形式运立的ZE条:;J , 4. 数据结构说明二吕RUCTURE结构名称言亏幸去三次数F11主i次数了类电1 结构名称=宇巧(字tI数字)1 l重复次数=整数OF 4. 1 整数数字数字1 类型-(REAL! I;TEGERiSTRl
14、lGl维数了1 维数=主括号界限右括号1 界深=辛苦数,;豆号警数类主(逗号4.2 过程维数法乍)=IROnUI过程数绍说明远点过在数绍说明4.2 过程数组i盖明二过程数经.f;羁;维数4.2 过程主串门税明=IROC F:SS ,过程短陆/事件短if-)法i可信息4.2 过程提iilf=io主性得amac稿L1名称,-限iof 结构名称( TI ll EOCT 噎泣数l2 iO主持符=l :i PUT i OUTI气亏TjOT:TIJX4.2 camac端口名称=字巧t字i:/数字y命4.2 毛主主数二有效数指数4.2 手J效数二整数):,)号了/警数f小数4. 2 J、数二句号整数4.2
15、指数=E飞i巨号j1J. 手铿数4.2 事?宁短l哥二EVEJXTlam名称4. 2 la酷名称=宇铲除(亏,!主/数字拿4.2 W问信息、=双号|亏CA.:IAC i寄存器说月jlam说明i反JI弓4.2 奇存器说明二bcna法沟格式4.2 bcna=左括弓整数,(豆号憨数P逗号整数i豆弓整数右括号4. 2 坊i可=左括号湾问rjj能运亏Lji fwJ窃喜乞右括号4.2 民间功能_(F整数)j:-;X!通道主;陈4. 2 通运名屈;=通实现J式定义4. 2 格式二左括号IlL飞:/1 )整数右括号4. 3 lam 说明=camac端3名称GL整数(.p/Ai需在数!5 ,再凌LE句二开始iF
16、T乍IJ/等待iE七IJifd号i岳-),j/并1,停止;后仨j5 开起告lf仨J= START ;li 4J名彷、12 QJ827-84 in结构。ut结构活动名称=字母字母/数字l 等待语句=WAI(等待区部/等待时间/等待事件)等待区间=DELAYa主间表达式时间表达式=数字表达式/字符串表达式等待时间=TIlIEatl再表达式等待事件=EVENT(事件名称Ilam名称P事件名称=字得字母/数字) 并行停止活句=PARSTOP信号i垂勾=SIGNAL事件名称6. 1 过程io活句=inm:句/out语句6. 1 in语句=IN FRO camac端口名称6. 1 in结构=ln结构元素逗
17、号in结构元素)6. 1 in结构元素=变量/形式数组6. 1 out语句=OUTTO eamac端r:l名称FR01l 6. 1 out结构=out结构元素逗号。ut结梅元素) 6. I out结构元素=麦达式/形式数组6. 1 形式数组=数组左括号逗号1右括号6. 3 控制动作=F操作码)!模件操作/极箱操作6. 3 模件操作=ENB/ DIS; CLl/ CL2 6. 3 机籍操作=CZjENCDI DISCDI CC! CLRCI SETCI TO RJWRJVRURURURURU 5 5 8. 1 lam动作=EN L/ DlSL! T EST! CLRLj ENL/ 11 DIS;
18、双TEST/MCLRLS 电文端口说晓=MESSAGE电文端口名称。F结构名弱:电文立击日名称=字母字E主/数字) 发送语句=SENDTO 电文端口名称9 atl同时刻13 out结核TIMEOUTin结构TLtEOUTin结构。ut结构结构名称OF 电文端1:1名称TO维数1FR(HI 表达式)1 接收活句=RECEIVE表达式)? 数据瑞口说明=SHARED数据端口名称数据端口名称=字得(字母/数字) get活句=GETFROM 数据瑞口名称TO put语句=PUTTO数据端口名称FR01l FRO1 g !o 10 10 10 QJ827-84 然录CCAMAC关键字、函数和语句参考件)
19、本能录按字号顺序列出全部的关键字和语甸的清单.左边的数字是该定义的章条号34.2 A x守所有LAM控帝J号子地址4.3 AEX 一个检查CA11AC地址的函数4.3 AMY 个修改CA11AC地址的主自数11 AND 一个逻辑函数4.2 B 二进制符号和量值4.3 4. 3 4. 2 4. 2 6. 3 4.3 6.3 8. 1 6. 3 6. 3 4.3 BEX BMY C CAMAC CC CEX CLRCI CLRL CLl CL2 CMY 6.3 , 8.1 CONTROL 6.3 CZ 5 DELAY, 在.3Dl S 6. 3 DISCD 8. 1 DISL 6.3 ENB 6.
20、3 ENCD 5 END PARACT 8. 1 ENL 4 , 2 , 4 EVENT 4.2 F 9 GET 4.2 GL 8. 3 4.2 14 GMY I 一个检查CA11AC地址的显数一个修改CAlIAC地址的岳数BCD格式表示CAMAC实体一个CAMAC控制动作一个检查CA11AC地址的岳数一个CAMAC控制动作一个CAMAC控制动作一个CAMAC控制动作一个CAMAC控制动作一个修改CAMAC地址的温数个CONTROL吾旬的关键字一千CAMAC控制动作在等待语句中引入Bt延个CAMAC控制动作一个CAMAC控制动作个LAM控制动作一个CAMAC控哥哥动作个CAMAC控制动作终止并
21、行活动程序段一个LAM控割动作寻i入个事件名称弓|入一个CAMAC功能码共享数据路入语句的关键字弓|入一个CAMACGL数一个改变LAMGL数的盈数2的补码整数格式QJ827-84 6 IN FROM CA:IAC 输入语句罐关键字4. 2 INIUT 说明CAMAC寄存器的性质是只提供涂入的革.1 n证TEGER结构说确申创数据类型8.1 MCLRL 一个LAM控弱动作8.1 MDISL 一个LAM搜司带动作8.1 MENL 个LAM控秘动作9 MESSAGE 引入个电文端口说呢8.1 MTEST 一个LAM控事,动作4. 3 NEX 一个检查CAMAC地址的函数4.3 NMY -1-修改C
22、AMAC地址灼函数11 NOT 一个逻辑函数4.2 NX 关键字,它注明=当该向对应的模件时,不进行X出错检查1 1 OR -个逻魏渴望重4.2 OUTIN 说明CAMAC寄存器的性质是输入和输出均可以的4. 2 OUTPUT I呈弱CAMAC寄存器的性质是只接收输出的6 OUT TO 一个CAMAC输出后句4. 2 P 弓i入LAM位部位置5 PARACT 引入并行活动程序段5 PARSTOP 个调度i吾句4.2 PROCESS 4.2 PRODIM 9 PUT 7 QCA1It 4. 1 REAL 9 RECEIVE 9 SEND 6. 3 SETCI 9 SHARED 5 SIGNAL
23、5 START 4.1 STRUCTURE 4. 1 STRI到G8. 1 TEST 5 TDIE 4.2.9 TI览EOUT5 WAIT 7 XCAM 11 XOR 弓!入一个CAMACI!()端口说明注入CA:IAC数组i兑瞬共享数据输出活旬的关键字存放CA:IACQ信号的系统变景-j结构说明的数据类型电文输入语句的关键字电文输出语甸的关键字个CMAC控flj!J动作定义被并行活动共享约数据段信号语句的关键字并行活动烧开始语句定义一个结构时,寻|入一系列数据类型结构说明中的数据类型一个LAM控极动作在等待语句中弓i入一个时间表达式升入通过喘口的旅入/输出均超时篮等待居勾的关键字存放CAMAC五信号系统变量一个逻絮函数15 QJ827-84 附主E说明=本标准等同采用美国民家标准ANSIEEE726-l9位CAMAC实对ASIC)( 1982年报)。16 本标准应航天工业部七C八所提出2本标准出航天工业部五。二所起草3