首页 > 国家标准(GB) > GB/T 9362-1988 用于工业过程控制 实时FORTRAN
GB/T 9362-1988

基本信息

标准号: GB/T 9362-1988

中文名称:用于工业过程控制 实时FORTRAN

标准类别:国家标准(GB)

英文名称: Real-time FORTRAN for industrial process control

标准状态:已作废

发布日期:1988-06-01

实施日期:1988-10-01

作废日期:2005-10-14

出版语种:简体中文

下载格式:.rar.pdf

下载大小:KB

标准分类号

标准ICS号:机械制造>>工业自动化系统>>25.040.40工业过程的测量与控制

中标分类号:电子元器件与信息技术>>信息处理技术>>L74程序语言

关联标准

采标情况:=ISO 7846-1985

出版信息

页数:33页

标准价格:24.0 元

相关单位信息

复审日期:2004-10-14

起草单位:北京有线电厂

归口单位:全国工业过程测量和控制标准化技术委员会

发布部门:中国机械工业联合会

主管部门:中国机械工业联合会

标准简介

GB/T 9362-1988 用于工业过程控制 实时FORTRAN GB/T9362-1988 标准下载解压密码:www.bzxz.net

标准图片预览






标准内容

中华人民共和国国家标准
用于工业过程控制实时FORTRAN
Industrial reat-time FORTRAN-Applicatlon forthe control of industrlal processes本标准等效采用国际标准ISO784685用于工业过程控制一0主题内容与适用范围1
GB9362—88
工业实时FORTRAN
本标准描述了·一种任务模型和一组有关的子例行程序,使得能控制以FORTRAN作为程序设计语言的多任务系统。本标准规定了用于工业计算机控制系统的外部过程引用。这些外部过程引用提供了对时间和日期信息的存取,提供了程序与执行系统以及与过程输人和输出功能的接口,允许位串处理,提供了文卷处理的方法。
这些过程适用于按GB3057—一82《程序设计语言FORTRAN编写的FORTRAN程序。在实时执行系统控制下的单个程序的环境中和多程序环境中,这些程序都应该是可执行的。对诸如零作除数或引用了SQRT(一1.0)那样的例外和错误的处理是执行系统的职责,以使这样的错误不会产生严重的影响,例如产生不希塑的或不受控制的异常终止,或影响其他任务。本标准适用于要求多任务特性的所有FORTRAN系统。注,在本标准中除了明壶地指出与处理器相关的特性之外,本标准中的其他内容在实现时不应被扩充或改变。1引用标准
GB3057程序设计语言FORTRAN
GB5271.10数据处理词汇10部分操作技术和设备2定义
下面的定义适用于本标准
往,定义中以黑体字印谢的术语在本章中有定义,然而,在每个定义中,仅当这种术语首次出现时,才以黑体字印刷。
2.1存取方式access mode
遵照对存取许可的请求,处理器所投予的存取(读或写)文誉的权力或许可。主时钟计数basicciockcounts
系统实时时钟基本单位的计数,它适用于用户程序。2.3计算computation
对一组数据执行的一组操作,它适用于用户程序。采用说明,
1] 因本标准增加了引用标准一章,为使本标准与 IS0 7846—85主要技术内容相对应,故将I50 7846一85的引言和第1章合并为本标准的第0至。中华人民共和国电子工业部1988-04-20批准1988-10-01实施
2.4 临界区 critical region
GB 9362—8B
对共享数据进行操作的一部分顺次操作,因此在执行期间这部分程序必须具有对共享数据的互斥存取。
2.5潜在的DORMANT
一种确定任务状态。
执行系统知道潜在任务,但它不是未决状态,运行状态或挂起状态中的一种。2.6事件:event
有意义的单个事情或事故,它被用来以预计的方法影响某个任务的执行。事件自身瞬时发生,并设置事件标记。2.7事件标记eventmark
执行系统的内部变量,用来表示事件已经发生。如果用户的系统包含并行任务,那么对于这些任务来说,事件标记是共享的数据元素。2.8执行execution
计算机处理器以顺序方式执行指令时所完成的动作之集合。2.9 可执行程序executable program一种程序,其中包含的所有函数和子例行程序都为适于执行的形式。2.10执行例行程序executiveroutine,执行系统executivesystem处理器的一部分,它支持在木标准中叙述的程序过程。2.11文卷lile
作为…个部件来处理的相关记录的集合。对于本标推来说,认为记录求是定长度的。记录存储和存取都与记录的内部格式无关。2.12初启initiation
为了在第一个执行语们处开始执行任务,执行系统所做的动作。2.13多重处理multiprocessing
-一种操作方式,它由多处理机中的两个或多个处理器提供并行处理。2.14 多道程序设计multiprogramming一种操作方式,它出单处理机提供两个或多个计算机程序的交叉执行。2.15多任务mullitasking
一种多重操作,它提供两个或多个任务的并发性能或交叉执行。2.16不存在的NON--EXISTENT
一种确定的(形式的)任务状态。执行系统不知道不存在的任务。2.17日标任务objecttask;指定的任务designated task,被引用的任务referenced task要求或预计要启动、暂停,停止的任务:换言之,由于系统子例行程序调用而受影响的任务。2.18操作operation
用于从另个有限数据集合产生个有限数据集合的确定规则。2.19 重叠运行 overrun
由于以前的初启,任务仍在运行的同时,初启任务的条件成为真时发生的情况。2.20 并行任务Pgrallel tasks;并发任务concurrent taske其操作可以按时间重叠的·-组任务。2.21未决的PENDING
一种确定的任务状态。
未决的任务已终与手件或时间条件机喉系,因此当条件发生时:任务将被转接成运行状态,然后被初启。
2.22处理器Processor
GB 9362—88
数据处理系统和一种机制的组合,通过此机制把程序变换得能用于该数据处理系统。2.23与处理器相关processordependent表示在本标准中未指定的处理器动作。2.24重复执行repctitivecxcutian不管是按固定的间隔,还是由于重复的事件重复地初启任务时发生的情况。2.25资源标记 resoucemark
执行系统的内部变量,用于指示为某一任务专门保留的资源。2.26运行的 RUNNING
一种确定的任务状态。
运行的任务在它的虚拟处理器中执行。2.27信号量semaphorc
执行系统的变量,用于在交互作用的并行征务之间交换同步信息。在本标准中所有信号量操作都隐含有由执行系统提供的临界区保护。2.28顺饮操作gequentialorderofoperations一种操作次序,其结果是好象这些操作严格地一个接一个地执行。2.29挂起的SUSPENDED
种确定的任务状态。
起的任务已临时暂停它的拟处理器的执行,并且等待指定的条件,以便继续它的虚拟处理器的执行。
2.30任务task
能调度的计算。
此计算的操作都按严格的顺次操作来执行。(见 2. 17 条和 2. 28 条)
2.31 时间 time
2.31.1绝对时间
absolute time
完整的时间和日期说明。
2.31.2 相对时间 relative time时间增量或差。
虚拟处理器virtual processot
从任务被初启直至结束,任务所能运行的环境,不考虑资源的可用性,这些资源由处理器管理,不由用户程序臂理。
可用一种特定的实现方法把一组虚拟处理器映射到一组实际处理器。这种映射是与处理器相关的。
第一篇多道程序设计和实时特性3绪古
本篇叙述用户程序可使用的几个过程引用,并涉及多道程序设计,特别是实时操作。对于在本篇中给出的所有调用,其操作通常被认为是不可分的,即这些操作好象没有被中断-样。4日期和时简信息
GB 9362—88
对于在实时环境中的程序设计,用户必须存取执行系统的时间变量。通过下面要介绍的系统调用可获得这些时间变量。
明确的时间说明需要唯一的时间标志,包括完整的日期和世界公认的日历,以及定义时间零。执行对子例行程序DATIM的引用能提供全部信息。日期参照格林威治日历,这些调用是:
CALL DATIM(t1),用丁获得当前甘期和时间。CALLCLOCK(.1.R2,用于获得主时钟计数。4.1获得口期和时间
调用形式为:
CALL DATIM(t1)
其中,t1—为整型数组,数组中的前8个元案将放置绝对时间,它由执行此调用时执行系统的实时时钟时间来表示。这些元素如下:第1个元素;主时钟计数;
第2个元素:毫秒(0至999)#
第3个元素:秒(0至59);
第4个元素:分(0至59)
第5个元素,小时(0至23),
第6个元素:日(1至31)
第7个元素:月(1至12);
第8个元素,年。
4.2获得时钟计数
执行对本子例行程序的引用,使用户程序能获得系统实附时钟的当前值、它以主时钟计数来表示。调用形式为:
CALL CLOCK .kl.k2
其中:j一一为整型变星或整型数组元素,其中存放以正整数表示的时钟当前值。了被计数到由2给定的最大值,然后置为零,且再次计数。为每秒的主时钟计数数值。它是由系统送回的整型值。此自变量应是整型变量或整型数组kl
元素。
2一一为能达到的最大值。它是由系统送回的整型值。此自变量应是整型变量或型数组元素。自变量2给出了的模数大小模数=2十1)。实际上,这通常等于实现时钟的硬件计数器的模数。
5任务分配的一般情况
5.1状态和转换
在任何时刻,任务处于一种且仅处于一种状态中。由执行系统执行的动作,其他任务、或指定的任务本身,都可以使得任务从一种状态转换到另一状态。这些转换都是瞬时完成的,即理论上认为它们不占时间
可以用“状态图”来形象地表示任务的数学模型,在下面的“状态图\中,状态是节点,以圆来表示;而转换被面成从一个节点至另一个节点的箭头。多任务系统由几个并行任务组成,并能用一些不相交但类似的图来建立模型。应用三维图形是可行的,巾十把类似的阁定向地火在彼此的顶部,因此各个图的同状态彼此微孟,..comGB 936288
·般由了例行程序调用、事件发生或时限期满引起状态转换。了例行程序调用的名字、形式和解释是标准化的,如下所述。
在本标准中,通过数学模型来叙述任务,此模型用图1中的状态图来解释,此模型遵循下列基本原则:
转换是明确的,即在给定状态中给定激励的情况下,任务仅能转换至一种可能的新状态。转换是即刻完成的,即用的时间为零。b
在某一时刻任务仅处于一种状态中。d.
从应用程序员来看,状态模型描述了任务的工作情况。挂起
SIRTAT
CYCLAT
STRTAEIGYCLAF
CREATE
不存在
在状态图中,下列符号用于转换:置复
CANGET
STOP END
图1状态模型和转换图
事件、时间
方框中的英文字母:由另一任务随加于任务的作用,即在一个任务中的于例行程序调用会对指定的任务施加方框中指明的作用。不在方框中的英文字母:当任务处于运行状态时,对其自身施加的作用。一不在圆圈中的汉字:表示某种条件,在此茶件下,执行系统实现指定的状态转换。以上述的原则d为基准,不企图描述对应用程序员来说是透明的执行系统动作。因此,运行状态与任务的虚拟处理器(见2.32条)有关。不管是把物理处理器分配给任务,还是由于可用的物理处理器有限并且任务的优先权较低,使得执行系统临时阻止任务执行,对于任务的状态都是非本质的。所以,这个模型不仅能适合于单处理机的计算机,同样也适用于多处理机。5.2多活动调用
显然,不同的几个任务可能对同一目标任务发出相矛盾的转换调用。在正常操作期间,以及在错误条件下都可以出现这种情况,这是由于在另一任务做转换调用时目标任务的状态是未知的。根据在一个时刻,任务仅处于一种状态的原则(见5.1条),在状态转换和作这种转换的调用之间存在差别。转换调用由执行系统接按,然后它应用自已的调度策略来处理这些调用。根据可用的资源,例如执行系统的内部表格空间等,将接受或拒绝转换调用。在引用以后回送一个自变量,其中设置适当的值,它表示引用已被正常地接受或被拒绝。5.3同步概念
GB9362—88
本标准提供了三个概念,它们用于任务间的同步以及用于解决资源争用,事件标记:
资源标记,
信导量。
事件标记和信号量主要用于同步自的,而资源标记主要用于解决资源争用。事件标记,资源标记和信号量都是执行系统的局部变量,除了通过本标准中叙述的机制之外,不可存取这些变量。
5.3.1事件标记
在并发任务管理中,必须把某些任务与某些事件联系在一起。这些事件既可是外部的,又可是内部的事件。外部事件是某些物理现象,例如触点闭合,但外部事件与它的事件标记之间的连接超出了本标准的范围。内部事件由特定的程序动作产生的(见 6.9.1条关于 CALL POST的介绍)。通过引用其范围在1~~n之间的数值选择器来选择事件标记,其中 n 是与处理器相关的。事件标记有两种状态,
通过子例行程序调用CALL.SKED(见6.4条),CALLCON(见 6.5.8条)、CALLSUSPND(见6. 7 条)和 CALL HOLD(见 6. 8. 1 条)来实现事件与任务的联系。当发生内部或外部事件时,事件标记转变成ON。如果一个或多个任务与这个事件相联系,那么执行系统将使得每个相联系的任务开始或继续执行。事件标记由直接的程序控制转变成OFF,或者在执行系统服务于与事件标记相联系的任务时,由执行系统转变成OFF。仅能通过在本标准中定义的程序过程引用或服务于事件的执行系统改变事件标记。还可以通过特定的程序动作CALLCLEAR(见6.9.2条)把事件标记设置为OFF状态,事件标记可以被屏蔽和除去屏敲(见 6. 9, 4 条和 6. 9. 5 条) 。此外,可以通过逻辑函数TESTEM(见6.9.3条)来测试事件标记的值。5.3.2资源标记
资源标记概念为我们提供了解决资源争用的简单方法。在一个时刻,允许一个任务且仅一个任务使用资源。
通过引用其范围在1~\之间的数值选择器来选择资源标记,其中n是与处理器相关的。资源标记有两种状态:
锁定的LOCKED
未锁定的UNLOCKED
本标准不定义能把什么认为是资源。把资源与资源标记相联系是用户的责任。如果用户要求把资源专门留给正在运行的任务使用,那么应选择该资源的资源标记,并且执行引用CALLLOCK(见6.10.1条)。假设这时资源标记是未锁定状态,为了使相应的资源专门留给这个任务使用,资源标记将改变为锁定状态。.以后由任务通过执行对EXIT(见6.12条)或UNLOCK(见6.10.2条)的引用来释放这种保留。
假设任务企图通过对LOCK子例行程序的引用来锁定已经被锁定的资源标记,那么执行系统将把这个任务转变成挂起状态,此任务一直处于这个状态,直至基个其他任务解锁此资源标记为止。如果儿个任务都在等待资源标记的解锁,那么执行系统仅选择其中一个任务米执行(详细情况见6.10.2条),这是与事件标记概念的主要差别。如果事件标记被设置为ON,那么等待事件标记的所有任务都被转变成运行状态。
通过对逻辑函数TLOCK的引用(见6.10.3条),也能把资源标记设置为锁定(LOCKED)状态。5.3.3信号量
..comGB9362-88
停号量给出了别一种同形概念,在希望使用比资源标记和事件标记更高级机制的地行是很有用的,通过引用其范围在1~刀之间的数值选择器来选择信号量,其中是与处理器相关的。与事件标记和资源标记不同,信号量其有整型值s。信号量的值s必须被初始化,以后可以通过引用CALLPRESEM(见6.11.1条)来设置。
如果任务需要等待,直至信号量的值大于或等于某个待定值,那么任务应使用引用CALLWAITS(见6.11.2条)。通过执行CALLWAITS,执行系统测试指定的减量i是否大于:。在此情况下,调用任务被转变成挂起状态,任务直处于此状态,直至由另·住务把信号量值5增加至大于或等于了为止。如果不大于:,那么值s减少讠,然后调用任务继续执行。通过执行CALLSIGNAL(见6.11.3条),执行系统把指定的信号量值s增加了。如果:变得大于或等于挂起任务的,那么这种增加可以使等待此信号量的任务从挂起状态转换为运行状态。如果多个任务等待这个信号量,并且它们都是运行的候选者,挪么在$增加以后,这些任务转换成运行状态的次序是与处理器相关的。
通过把5设置为一定值,并且选择不同的j值,可能实现各种高级同步概念和各种解决资源争用的方法。
除了上述调用以外,还可以使用整型函数 IRDSEM(见 6.11.4条)来读信号量的值。6 过程引用
6.1过程引用的术语和概要
本章包含了在以后各章中叙述的子例行程序调用和函数引用的概要。下列各参数名称适用于以后一些调用。如果这些参数名称的严格意义偏离下面的叙述,那么在调用的详细介绍中将专门标明。如果其意义完全与下列定义相同,那么将在调用的介绍中省略参数介绍,且指明参见此条款。
1一—为受影响的任务(目标任务),该白变量应是整型数组。t,t1,t2 一为整型数组,它的前 8 个元素包含了绝对时间和相对时间说明。不允许这些元素取负值。这些元索的含义如下:
第1个元素:主时钟计数
第2个元素:毫秒,
第3个元素:秒;
第4个元素分,
第5个元案时;
第6个元素:日
第7个元素:月,
第8个元素;年。
对于绝对时间,如果在三个日期元素之一中用值零,那么执行系统将把它解释为“当前日”、“当前月\或“当前年”。
对于包含了非零的月或年的相对时间说明的解释是与处理器相关的。㎡为返回调用程序时置值的参数,它表示对请求的处置,各种值的含义如下:0或小于0:末定义1
1.请求被接受;
2或大于2:请求被拒绝(错误条件)。本自变量应是整型电量或整型数组元素。处理器可以定义大于或等于2的特定值,以便区分各种拒绝原因。
表1为函数和子例行程序调用的清单,以后的条款中将作详细介绍。..com所在条款
.6.5.8
CALLCREATE(im)
GB9362—88
表1函数和子例行程序调用清单
i+被建立的任务和相关程序的标识CALL KILL(m)(与 CREATE相)
CALL SKED(1,$+el,t1+*2+e2,m)《通用的谢度)CALL STRT(i,m)(立即启动)
CALL STRTAF(i,t1,m(延迟时间后启动)CALL STRTAT(i,1,m)(按绝对时间启动)CALI. CYCI.(i,+2,m )
(立即执行第1次韧启然后循环)CALL CYCLAF(i+1,2,m )
(延返时间后第1次初启,后循环)CALL CYCI.AT(1,t1,t2,m)
(按跑对时间作第1次初启,然后循环)CALL CON(i,e+m)(建立事件述按)CALL DSKED(2,s,e,m)(取消调皮)CALL DCON( i,e,m )(取消事件连接)CALL CANCEL(i,m )(取消时间调度)CALI SUSPND( s+e,t+n,m )
(按时间周期继续挂起调用任务,或挂起直至发生事件)
CALL HOLD(e,)(挂起直至事件发生)CALL DELAY(t,m)(控起任务直至事件发生)CALL POST(,m)(设置事件标记)
CALL CLEAR(e,m)(清除享件标记)TESTEM(e,m>(测试事件标记的状态)CALL MKEM(e,设置事件标记的屏鼓)CALLUNMIKEM(em)(清除事件标记的屏蔽)CALLLOCK(r,m)(锁定资源标记)8;方式选择器
el:事件标记引用
11 +第1次初启的绝对或相对时间t2 ,循环初启的时间周期
22,重叠运行事件标记引用
1:在初启前延迟的时间
1;初肩的绝对时间
12时间间隔长度
11 ;第 1 次初启以前延迟的时间t2 ;时间间隔长度
41 :;第 1 次初启的绝对时间
t2;时间间橘长度
事件标记引用
“方式选择器
e:事件标记引用
;事件标记引用
5方式选择器
e延迟结束的事件标记引用
时间延迟
社1结束延迟的原因指示符
e:延迟结束的事件标记引用
时何延迟
:事件标记引用
e:事件标记引用
e:事件标记引用
函数值,事件标记的状态
;事件标记引用
e,事件标记引用
:资源标记引用
所在条款
6, 11,1
GB 9362—88
续表1
CALL UNLOCK(r,烘)(解锁赞源标记)TLOCK(Tm)(测试,并锁定资源标记)CALL PRESEM(r,s,m信号最的初始化)CALLWAITS(r,m)等特信号量)
CALLSIGNAL(r,j,m)释放信号量)IRDSEM(m)(读信号量值)
CALL EXIT(终止执行)
6.2建立新任务
:资源标记引用
1资源标记引用
函数值,资源标记的状态
厂:信号量引用
:信导量的初值
下信号量引用
主:减量
r:信量引用
jt增量
信整引用
函数值:信号量变量值
通过引用子例行程序CREATE,把新任务引人实质系统。指定的任务将与该任务执行所必须的某个待定程序相联系,如其他资源那样,此程序被认为是一种资源。通常认为相联系的程序以可执行的形式存在。从形式上看,依据状态模型,此引用的作用是把任务从不存在状态转变为潜在状态(见图1和5.1条)。
假设在本标准的范围以外存在一个机制,它至少建立并初启第一个任务(即父任务),这个任务依次又可以建立其他任务。
调用形式为:
CALL CREATE(i,m)
为整型数组,它包含了指定任务和与它相联系的程序所必须的所有信息。后者包括(与其他其中—
项一起)程序的名称,能找到程序的地方(例如,文卷描述),存在时的驻留处(主存驻留或可交换的)等等。此数组还可以包含任务的处理器优先权。通常,此数组还将包含输出信息,即把这个任务与由同一程序代码建立的其他任务区别开的引用,对各数据集的引用等。第6章中的其他过程引用也可以使用这些信息。关于参数1的介绍,见6.1条。此数组的所有细目都是与处理器相关的。与6.1条中介绍相同。
6.3从实时系统中取消任务
对子例行程序KILL的引用将通过把任务转换为不存在状态从实时系统中取消指定任务,如果指定的任务处于潜在状态或未决状态,那么立即做此操作。如果指定的任务处汀运行或挂起状态,那么仅在将来执行时才能终止任务。因此,指定的任务将继续当前的执行,而不受此调用的干预。调用形式为:
CAEL KILL(i,m )
其中.t,m-
如 6. 1 条所述。
6.4调度任务
执行对子例行程序SKED、或在6.5条中列出的子例行程序的引用,将调度对指定的任务的初启,建立条件以便接着把它转变为运行状态。如果当执行调用时指定的任务处于潜在状态,那么该任务将转GB9362—88
变为未决状态。如巢它已经处于未决状态,那么根据调用的自变量,引用将会增加它的条件,以便接着把它转换成运行状态,于是当任何一个仍有效的条件为真时+指定的任务将转变为运行状态。为转换成运行状态要求任务正处于未决状态,否则会出现重叠运行条件。增加运行条件应服从处理器任何资源限制,并且任何违反这种限制都造成错误返回。当任务转变为运行状态时,将从组合条件的可能集合体中除去产生这种转变的条件,而仍然保留其他条件。以后当运行的任务退出时,把任务从运行状态转变为潜在状态,从以前的调度调用中遗留的可能存在的调度条件会引起任务立即转变为未决状态(注意:术语“单叠运行\的定义和它的表示规定,如下所述)
每次正常接受对子例行程序 SKED 的引用都会产生下列作用。在指定延退时间期满以后或到达所希望的绝对时间或者发生了指定的事件,目标任务转换成运行状态,并且在程序的第1个可执行语句处开始执行。在特定的工业计算机系统中可得到的实际时间分辨力受到系统的实时时钟分辩力的支配。如果通过发生事件来初启目标任务,那么执行系统将把事件标记设留为OFF,作为初启的一部分。如果多于一个任务正等待指定的事件标记改变为ON状态,那么当发生这种改变时,所有这些任务都将转变为运行状态。本过程引用的形式为,
CALL SKED(i,s,el,t1,t2,e2,m )其市:im-
如 6. 1 条中所述。
为整型表达式,它指定下面的三种任务调度:变量s的值在10和15之间,则使任务初启·次;一自变属s的值在20和25之间,则使得任务按时周期地初启;一白变量s的值在30和35之间,则使得每当指定的事件标记为ON时都初启任务。
为调度的事件标记,它是整型表达式。el
为整型数组,它包含要调度的绝对或相对时间(术语调度的相对时问是指从执行引用的tl
时间直至预期的运行之间的时间延迟,见6.1条)。为整型数组,它表示循环运行的时间周期(见6.1条)。2
为重登运行事件标记,如巢发生重叠运行,那么它转变为ON,国标任务执行的动作是与处理器相关的,
自变量s的值在10和15之间,则定义了第1次且仅一次执行任务。如果 s =10:立即启动;
如果s==11:在绝对时间红时启动;如果s=12:延迟1后启动;
如果s=13.发生事件e1时启动(一次);如果s=14:在绝对时间1或发生事件e1时启动(一次):如果 5 =15;延迟 后或发生事件 e1 时启动(一饮)。自变量5的值在20和25之间,则定义了任务的第1次执行和以后按时问周期t2重复执行。如巢 s = 20;立即启动,且按 2 循环;如果 3 = 21 ;在 t1 时启动,且按 t2 循环如果 s = 22 ;延迟 以后启动,且按 r2 循环1如果 s= 23:发生事件 e1时启动,且按r2循环:如果:=24:在t1时或发生事件e1时启动,且按t2循环:如果s=25:延迟1以后或发生事件e1时启动,且按t循环。自变量s的值在30和35之间,则定义了任务的第1次执行,且以后每当由e1指定的事件标记成为ON 时重复执行任务。
GB 9362--88
如果 s = 30 r立即启动,且按 e1 重复执行;如果 s 一 31 ,在 t1 时启动,且按 e1 重复热行:如果s=32:延迟t以后启动,且按el重复执行:如果 s = 33 ,发生事件 e1 时启动,且按e1 重复执行1如果:=34:在1时或发生事件e1时启动,且按el重复执行:如巢 5 = 35 :延迟在 t1 以后或发生事件 e1 时启动,且按 el 重复执行。6.5通过简单调用来启动任务
下列调用用于调度,它是CALL SKED功能的子集。只是它们更易于程序设计。CALL STRT(1,m),立即启动
CALL STRTAF(ttl,m),延退 后启动;CAL1. STRTAT(i,t1,m ),在t1 时启动:CALL CYCI(i,12,㎡),立即启动,且按12 循环;CALI CYCLAF(i,tl,t2,m),延迟t1后启动,且按 t2循环CALL CYCLAT(1t1,t2,m),在+1时启动,且按t2循环:CALL CON(i,el,m),发生事件el时启动,且按el重复。6.5.1立即启动任务
执行对子例行程序STRT的引用,将会建立使指定任务通过未决状态立即转换成运行状态的条件,任务将从第1个可执行语句开始执行。如果在执行引用时,指定的任务处于潜在状态,那么任务将转变为未决状态,并立即继续转变为运行状态。调用形式为:
CALL STRT(t,m)
其中,i,m
如 6. 1 条所述。
6.5.2延迟指定时间后启动任务
执行对子例行程序 STRTAF的引用,将会建立以时间延巡作为指定任务通过未决状态转变为运行状态的亲件。
在执行引用后,指定的时间延期满时,预期把指定的任务转换成运行状态,若此时该任务处于末决状态,则进行状态转换。如果执行引用时任务处于潜在状态,那么任务将转变为末决状态。在运行状态中,任务将从第1个可执行语句开始执行。调用形式为:
CALLSTRTAF(i,l,m)
如6.1条所述。
其中:1,拼--
为整型数组,它表示开始执行目标任务的时间延退。6.5.3在指定的绝对时间启动任务执行对子例行程序STRTAT引用,将会建立以绝对时间作为使指定的任务经过未决状态转换成运行状态的条件。
到达指定的绝对时间时,目标任务应被转换成运行状态,如果这时任务处于未决状态,那么将做这种状态转换。如果在执行引用时,该任务处于潜在状态,那么它将转变为未快状态。处于运行状态时,任务将从它的第1个可执行语句开始执行。如果当执行对STR工AT的引用时,已经超过了指定的绝对时间,那么立即启动任务。
调用形式为:
CALL STRTAT(i,tl,m)
其中;i,m-
如6.1条所述。
GB 9362—B8
1—一为整型数组,它指定绝对时间,目标任务将在此时间开始执行。6.5.4肩动重复执行的任务
调用 CYCL、CYCLAF,CYCLAT和 CON用于重复执行,它们具有下面公共特性。如果任务的目前状态是潜在状态或当任务成为潜在状态时,指定的任务将被转换成未决状态。接着,此引用为指定的任务以后从未决状态转变为运行状态建立条件,以便第1次执行和将来产生重复执行。
对子例行程序 CYCL、CYCLAF、CYCLAT 或 CON 的引用与对单次执行的引用具有同样的直接效果,此外,在它结束以后(例如通过执行EXIT),目标任务将立即从潜在状态转换贼未决状态以便下次重复执行,如图1中由“重复”指出的那样。当任务处于运行状态时,实际运行可能被无意识地延迟,这是由于其他程序在运行。对于周期地重复的任务,这些延迟将不会被积累。如果在下--饮执行的时间以前没有执行完,那么会出现重叠运行情况,并且被重复的任务要作的动作是与处理器相关的。指定条件下的再调度将维续下去直至通过调用子例行程序 CANCEL(见 6. 6. 2)或 DCON(见6. 6.1)主动地结束。
上面的叙述对于CALL SKED(具有参数3一20~25和30~35)同样合法,然而,在重叠运行的情况下SKED的特殊参数e2被设置为ON。6. 5,5立即韧始启动
调用形式为:Www.bzxZ.net
CALL CYCL(i,t2,m)
如 6. 1 条所述。
其中i,m
t2——为整型数组,它指定时间间隔的名义长度(见 6. 1 条)。6.5.6在指定时间延退以后初始启动调用形式为:
CALL CYCIAF(i,tl,t2,m)
其中,i,m ——如 6.1条所述。
红一为整型数组,它指定初始激励的时间延迟,延迟是从执行调用时起测量的(见6.1条)。2——一为整型数组,它指定时间间隔的名义长度(见 6. 1 条)。6.5.7在指定的绝对时间初始启动调用形式为:
CALL CYCLAT(i,tI,t2,m )
其巾:i,m如 6.1条所述。
为整型数组,它表示绝对时间,认为指定的任务在此时并始进入运行状态。这个自变量严格地等价于调用了例行程序 STRTAT的参数t1(见 6. 1条)。…—为整型数组,它指定时间间隔的名义长度(见6.1条)。6.5.8任务与事件的连接
执行对了例行程序(ON的引用,将会建立以指定的事件作为从未决状态转变为运行状态的条件。如果在执行引用时处于潜在状态或在成为潜在状态时,那么首先把任务转变为未决状态。然后,如果相联系的事件标记是ON或成为 ON,那么指定的任务将从未决状态转变成运行状态,并且从它的第 1个可执行语句并始执行。事件和指定任务之间的联系仍然保持,直至通过引1用DSKED或DCON(见6.6条和6.6.1条)主动取消为止。
调用形式为:
CALL CON(i,e,m )
其中:,m
如 6. 1 条所述。
小提示:此标准内容仅展示完整标准里的部分截取内容,若需要完整标准请到上方自行免费下载完整标准文档。