GB T 9362-1988 用于工业过程控制 实时FORTRAN.pdf
《GB T 9362-1988 用于工业过程控制 实时FORTRAN.pdf》由会员分享,可在线阅读,更多相关《GB T 9362-1988 用于工业过程控制 实时FORTRAN.pdf(32页珍藏版)》请在麦多课文档分享上搜索。
1、中华人民共和国国家标准用于工业过程控制实时发布实施中华人民共和国电子工业部发布中华人民共和国国家标准用于工业过程控制实时中华人民共和国电子工业部批准实施本标准等效采用国际标准用于工业过程控制工业实时主题内容与适用范围本标准描述了一种任务模型和一组有关的子例行程序使得能控制以作为程序设计语言的多任务系统本标准规定了用于工业计算机控制系统的外部过程引用这些外部过程引用提供了对时间和日期信息的存取提供了程序与执行系统以及与过程输入和输出功能的接口允许位串处理提供了文卷处理的方法这些过程适用于按程序设计语言编写的程序在实时执行系统控制下的单个程序的环境中和多程序环境中这些程序都应该是可执行的对诸如零作
2、除数或引用了那样的例外和错误的处理是执行系统的职责以使这样的错误不会产生严重的影响例如产生不希望的或不受控制的异常终止或影响其他任务本标准适用于要求多任务特性的所有系统注在本标准中除了明显地指出与处理器相关的特性之外本标准中的其他内容在实现时不应被扩充或改变引用标准程序设计语言数据处理词汇部分操作技术和设备定义下面的定义适用于本标准注定义中以黑体字印刷的术语在本章中有定义然而在每个定义中仅当这种术语首次出现时才以黑体字印刷存取方式遵照对存取许可的请求处理器所授予的存取读或写文卷的权力或许可主时钟计数系统实时时钟基本单位的计数它适用于用户程序计算对一组数据执行的一组操作它适用于用户程序采用说明因
3、本标准增加了引用标准一章为使本标准与主要技术内容相对应故将的引言和第章合并为本标准的第章临界区对共享数据进行操作的一部分顺次操作因此在执行期间这部分程序必须具有对共享数据的互斥存取潜在的一种确定任务状态执行系统知道潜在任务但它不是未决状态运行状态或挂起状态中的任一种事件有意义的单个事情或事故它被用来以预计的方法影响某个任务的执行事件自身瞬时发生并设置事件标记事件标记执行系统的内部变量用来表示事件已经发生如果用户的系统包含并行任务那么对于这些任务来说事件标记是共享的数据元素执行计算机处理器以顺序方式执行指令时所完成的动作之集合可执行程序一种程序其中包含的所有函数和子例行程序都为适于执行的形式执行
4、例行程序执行系统处理器的一部分它支持在本标准中叙述的程序过程文卷作为一个部件来处理的相关记录的集合对于本标准来说认为记录是固定长度的记录存储和存取都与记录的内部格式无关初启为了在第一个执行语句处开始执行任务执行系统所做的动作多重处理一种操作方式它由多处理机中的两个或多个处理器提供并行处理多道程序设计一种操作方式它由单处理机提供两个或多个计算机程序的交叉执行多任务一种多重操作它提供两个或多个任务的并发性能或交叉执行不存在的一种确定的形式的任务状态执行系统不知道不存在的任务目标任务指定的任务被引用的任务要求或预计要启动暂停停止的任务换言之由于系统子例行程序调用而受影响的任务操作用于从另一个有限数据
5、集合产生一个有限数据集合的确定规则重叠运行由于以前的初启任务仍在运行的同时初启任务的条件成为真时发生的情况并行任务并发任务其操作可以按时间重叠的一组任务未决的一种确定的任务状态未决的任务已经与事件或时间条件相联系因此当条件发生时任务将被转换成运行状态然后被初启处理器数据处理系统和一种机制的组合通过此机制把程序变换得能用于该数据处理系统与处理器相关表示在本标准中未指定的处理器动作重复执行不管是按固定的间隔还是由于重复的事件重复地初启任务时发生的情况资源标记执行系统的内部变量用于指示为某一任务专门保留的资源运行的一种确定的任务状态运行的任务在它的虚拟处理器中执行信号量执行系统的变量用于在交互作用的
6、并行任务之间交换同步信息在本标准中所有信号量操作都隐含有由执行系统提供的临界区保护顺次操作一种操作次序其结果是好象这些操作严格地一个接一个地执行挂起的一种确定的任务状态挂起的任务已临时暂停它的虚拟处理器的执行并且等待指定的条件以便继续它的虚拟处理器的执行任务能调度的计算此计算的操作都按严格的顺次操作来执行见条和条时间绝对时间完整的时间和日期说明相对时间时间增量或差虚拟处理器从任务被初启直至结束任务所能运行的环境不考虑资源的可用性这些资源由处理器管理不由用户程序管理可用一种特定的实现方法把一组虚拟处理器映射到一组实际处理器这种映射是与处理器相关的第一篇多道程序设计和实时特性绪言本篇叙述用户程序可
7、使用的几个过程引用并涉及多道程序设计特别是实时操作对于在本篇中给出的所有调用其操作通常被认为是不可分的即这些操作好象没有被中断一样日期和时间信息对于在实时环境中的程序设计用户必须存取执行系统的时间变量通过下面要介绍的系统调用可获得这些时间变量明确的时间说明需要唯一的时间标志包括完整的日期和世界公认的日历以及定义时间零执行对子例行程序的引用能提供全部信息日期参照格林威治日历这些调用是用于获得当前日期和时间用于获得主时钟计数获得日期和时间调用形式为其中为整型数组数组中的前个元素将放置绝对时间它由执行此调用时执行系统的实时时钟时间来表示这些元素如下第个元素主时钟计数第个元素毫秒至第个元素秒至第个元素
8、分至第个元素小时至第个元素日至第个元素月至第个元素年获得时钟计数执行对本子例行程序的引用使用户程序能获得系统实时时钟的当前值它以主时钟计数来表示调用形式为其中为整型变量或整型数组元素其中存放以正整数表示的时钟当前值被计数到由给定的最大值然后置为零且再次计数为每秒的主时钟计数数值它是由系统送回的整型值此自变量应是整型变量或整型数组元素为能达到的最大值它是由系统送回的整型值此自变量应是整型变量或整型数组元素自变量给出了的模数大小模数实际上这通常等于实现时钟的硬件计数器的模数任务分配的一般情况状态和转换在任何时刻任务处于一种且仅处于一种状态中由执行系统执行的动作其他任务或指定的任务本身都可以使得任务
9、从一种状态转换到另一状态这些转换都是瞬时完成的即理论上认为它们不占时间可以用状态图来形象地表示任务的数学模型在下面的状态图中状态是节点以圆来表示而转换被画成从一个节点至另一个节点的箭头多任务系统由几个并行任务组成并能用一些不相交但类似的图来建立模型应用三维图形是可行的由于把类似的图定向地夹在彼此的顶部因此各个图的同一状态彼此覆盖一般由子例行程序调用事件发生或时限期满引起状态转换子例行程序调用的名字形式和解释是标准化的如下所述在本标准中通过数学模型来叙述任务此模型用图中的状态图来解释此模型遵循下列基本原则转换是明确的即在给定状态中给定激励的情况下任务仅能转换至一种可能的新状态转换是即刻完成的即用
10、的时间为零在某一时刻任务仅处于一种状态中从应用程序员来看状态模型描述了任务的工作情况图状态模型和转换图在状态图中下列符号用于转换方框中的英文字母由另一任务施加于任务的作用即在一个任务中的子例行程序调用会对指定的任务施加方框中指明的作用不在方框中的英文字母当任务处于运行状态时对其自身施加的作用不在圆圈中的汉字表示某种条件在此条件下执行系统实现指定的状态转换以上述的原则为基准不企图描述对应用程序员来说是透明的执行系统动作因此运行状态与任务的虚拟处理器见条有关不管是把物理处理器分配给任务还是由于可用的物理处理器有限并且任务的优先权较低使得执行系统临时阻止任务执行对于任务的状态都是非本质的所以这个模型
11、不仅能适合于单处理机的计算机同样也适用于多处理机多活动调用显然不同的几个任务可能对同一目标任务发出相矛盾的转换调用在正常操作期间以及在错误条件下都可以出现这种情况这是由于在另一任务做转换调用时目标任务的状态是未知的根据在一个时刻任务仅处于一种状态的原则见条在状态转换和作这种转换的调用之间存在差别转换调用由执行系统接按然后它应用自己的调度策略来处理这些调用根据可用的资源例如执行系统的内部表格空间等将接受或拒绝转换调用在引用以后回送一个自变量其中设置适当的值它表示引用已被正常地接受或被拒绝同步概念本标准提供了三个概念它们用于任务间的同步以及用于解决资源争用事件标记资源标记信号量事件标记和信号量主要
12、用于同步目的而资源标记主要用于解决资源争用事件标记资源标记和信号量都是执行系统的局部变量除了通过本标准中叙述的机制之外不可存取这些变量事件标记在并发任务管理中必须把某些任务与某些事件联系在一起这些事件既可是外部的又可是内部的事件外部事件是某些物理现象例如触点闭合但外部事件与它的事件标记之间的连接超出了本标准的范围内部事件是由特定的程序动作产生的见条关于的介绍通过引用其范围在之间的数值选择器来选择事件标记其中是与处理器相关的事件标记有两种状态通过子例行程序调用见条见条见条和见条来实现事件与任务的联系当发生内部或外部事件时事件标记转变成如果一个或多个任务与这个事件相联系那么执行系统将使得每个相联系
13、的任务开始或继续执行事件标记由直接的程序控制转变成或者在执行系统服务于与事件标记相联系的任务时由执行系统转变成仅能通过在本标准中定义的程序过程引用或服务于事件的执行系统改变事件标记还可以通过特定的程序动作见条把事件标记设置为状态事件标记可以被屏蔽和除去屏蔽见条和条此外可以通过逻辑函数见条来测试事件标记的值资源标记资源标记概念为我们提供了解决资源争用的简单方法在一个时刻允许一个任务且仅一个任务使用资源通过引用其范围在之间的数值选择器来选择资源标记其中是与处理器相关的资源标记有两种状态锁定的未锁定的本标准不定义能把什么认为是资源把资源与资源标记相联系是用户的责任如果用户要求把资源专门留给正在运行的
14、任务使用那么应选择该资源的资源标记并且执行引用见条假设这时资源标记是未锁定状态为了使相应的资源专门留给这个任务使用资源标记将改变为锁定状态以后由任务通过执行对见条或见条的引用来释放这种保留假设任务企图通过对子例行程序的引用来锁定已经被锁定的资源标记那么执行系统将把这个任务转变成挂起状态此任务一直处于这个状态直至某个其他任务解锁此资源标记为止如果几个任务都在等待资源标记的解锁那么执行系统仅选择其中一个任务来执行详细情况见条这是与事件标记概念的主要差别如果事件标记被设置为那么等待事件标记的所有任务都被转变成运行状态通过对逻辑函数的引用见条也能把资源标记设置为锁定状态信号量信号量给出了另一种同步概念
15、在希望使用比资源标记和事件标记更高级机制的地方是很有用的通过引用其范围在之间的数值选择器来选择信号量其中是与处理器相关的与事件标记和资源标记不同信号量具有整型值信号量的值必须被初始化以后可以通过引用见条来设置如果任务需要等待直至信号量的值大于或等于某个特定值那么任务应使用引用见条通过执行执行系统测试指定的减量是否大于在此情况下调用任务被转变成挂起状态任务一直处于此状态直至由另一任务把信号量值增加至大于或等于为止如果不大于那么值减少然后调用任务继续执行通过执行见条执行系统是指定的信号量值增加如果变得大于或等于挂起任务的那么这种增加可以使等待此信号量的任务从挂起状态转换为运行状态如果多个任务等待这
16、个信号量并且它们都是运行的候选者那么在增加以后这些任务转换成运行状态的次序是与处理器相关的通过把设置为一定值并且选择不同的值可能实现各种高级同步概念和各种解决资源争用的方法除了上述调用以外还可以使用整型函数见条来读信号量的值过程引用过程引用的术语和概要本章包含了在以后各章中叙述的子例行程序调用和函数引用的概要下列各参数名称适用于以后一些调用如果这些参数名称的严格意义偏离下面的叙述那么在调用的详细介绍中将专门标明如果其意义完全与下列定义相同那么将在调用的介绍中省略参数介绍且指明参见此条款为受影响的任务目标任务该自变量应是整型数组为整型数组它的前个元素包含了绝对时间和相对时间说明不允许这些元素取负
17、值这些元素的含义如下第个元素主时钟计数第个元素毫秒第个元素秒第个元素分第个元素时第个元素日第个元素月第个元素年对于绝对时间如果在三个日期元素之一中用值零那么执行系统将把它解释为当前日当前月或当前年对于包含了非零的月或年的相对时间说明的解释是与处理器相关的为返回调用程序时置值的参数它表示对请求的处置各种值的含义如下或小于未定义请求被接受或大于请求被拒绝错误条件本自变量应是整型电量或整型数组元素处理器可以定义大于或等于的特定值以便区分各种拒绝原因表为函数和子例行程序调用的清单以后的条款中将作详细介绍表函数和子例行程序调用清单所在条款调用参数被建立的任务和相关程序的标识与相反通用的调度方式选择器事件
18、标记引用第次初启的绝对或相对时间循环初启的时间周期重叠运行事件标记引用立即启动延迟时间后启动在初启前延迟的时间按绝对时间启动初启的绝对时间立即执行第次初启然后循环时间间隔长度延迟时间后第次初启然后循环第次初启以前延迟的时间时间间隔长度按绝对时间作第次初启然后循环第次初启的绝对时间时间间隔长度建立事件连接事件标记引用取消调度方式选择器事件标记引用取消事件连接事件标记引用取消时间调度按时间周期继续挂起调用任务或挂起直至发生事件方式选择器延迟结束的事件标记引用时间延迟结束延迟的原因指示符挂起直至事件发生延迟结束的事件标记引用挂起任务直至事件发生时间延迟设置事件标记事件标记引用清除事件标记事件标记引用
19、测试事件标记的状态事件标记引用函数值事件标记的状态设置事件标记的屏蔽事件标记引用清除事件标记的屏蔽事件标记引用锁定资源标记资源标记引用续表所在条款调用参数解锁资源标记资源标记引用测试并锁定资源标记资源标记引用函数值资源标记的状态信号量的初始化信号量引用信号量的初值等待信号量信号量引用减量释放信号量信号量引用增量读信号量值信号量引用函数值信号量变量值终止执行建立新任务通过引用子例行程序把新任务引入实质系统指定的任务将与该任务执行所必须的某个特定程序相联系如其他资源那样此程序被认为是一种资源通常认为相联系的程序以可执行的形式存在从形式上看依据状态模型此引用的作用是把任务从不存在状态转变为潜在状态见
20、图和条假设在本标准的范围以外存在一个机制它至少建立并初启第一个任务即父任务这个任务依次又可以建立其他任务调用形式为其中为整型数组它包含了指定任务和与它相联系的程序所必须的所有信息后者包括与其他项一起程序的名称能找到程序的地方例如文卷描述存在时的驻留处主存驻留或可交换的等等此数组还可以包含任务的处理器优先权通常此数组还将包含输出信息即把这个任务与由同一程序代码建立的其他任务区别开的引用对各数据集的引用等第章中的其他过程引用也可以使用这些信息关于参数的介绍见条此数组的所有细目都是与处理器相关的与条中介绍相同从实时系统中取消任务对子例行程序的引用将通过把任务转换为不存在状态从实时系统中取消指定任务如
21、果指定的任务处于潜在状态或未决状态那么立即做此操作如果指定的任务处于运行或挂起状态那么仅在将来执行时才能终止任务因此指定的任务将继续当前的执行而不受此调用的干预调用形式为其中如条所述调度任务执行对子例行程序或在条中列出的子例行程序的引用将调度对指定的任务的初启建立条件以便接着把它转变为运行状态如果当执行调用时指定的任务处于潜在状态那么该任务将转变为未决状态如果它已经处于未决状态那么根据调用的自变量引用将会增加它的条件以便接着把它转换成运行状态于是当任何一个仍有效的条件为真时指定的任务将转变为运行状态为转换成运行状态要求任务正处于未决状态否则会出现重叠运行条件增加运行条件应服从处理器任何资源限制
22、并且任何违反这种限制都造成错误返回当任务转变为运行状态时将从组合条件的可能集合体中除去产生这种转变的条件而仍然保留其他条件以后当运行的任务退出时把任务从运行状态转变为潜在状态从以前的调度调用中遗留的可能存在的调度条件会引起任务立即转变为未决状态注意术语重叠运行的定义和它的表示规定如下所述每次正常接受对子例行程序的引用都会产生下列作用在指定延迟时间期满以后或到达所希望的绝对时间或者发生了指定的事件目标任务转换成运行状态并且在程序的第个可执行语句处开始执行在特定的工业计算机系统中可得到的实际时间分辨力受到系统的实时时钟分辨力的支配如果通过发生事件来初启目标任务那么执行系统将把事件标记设置为作为初启
23、的一部分如果多于一个任务正等待指定的事件标记改变为状态那么当发生这种改变时所有这些任务都将转变为运行状态本过程引用的形式为其中如条中所述为整型表达式它指定下面的三种任务调度变量的值在和之间则使任务初启一次自变量的值在和之间则使得任务按时周期地初启自变量的值在和之间则使得每当指定的事件标记成为时都初启任务为调度的事件标记它是整型表达式为整型数组它包含要调度的绝对或相对时间术语调度的相对时间是指从执行引用的时间直至预期的运行之间的时间延迟见条为整型数组它表示循环运行的时间周期见条为重叠运行事件标记如果发生重叠运行那么它转变为目标任务执行的动作是与处理器相关的自变量的值在和之间则定义了第次且仅一次执
24、行任务如果立即启动如果在绝对时间时启动如果延迟后启动如果发生事件时启动一次如果在绝对时间或发生事件时启动一次如果延迟后或发生事件时启动一次自变量的值在和之间则定义了任务的第次执行和以后按时间周期重复执行如果立即启动且按循环如果在时启动且按循环如果延迟以后启动且按循环如果发生事件时启动且按循环如果在时或发生事件时启动且按循环如果延迟以后或发生事件时启动且按循环自变量的值在和之间则定义了任务的第次执行且以后每当由指定的事件标记成为时重复执行任务如果立即启动且按重复执行如果在时启动且按重复执行如果延迟以后启动且按重复执行如果发生事件时启动且按重复执行如果在时或发生事件时启动且按重复执行如果延迟在以后
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- GB 9362 1988 用于 工业 过程 控制 实时 FORTRAN
