版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
I V 1 1 1 13.2符号及缩略语 34基本要求 34.1概述 3 44.3平台模型 44.4数据类型和数据结构 5 6 65.2任务调度管理 6 7 75.5实时任务(进程)/线程间通信 7 7 7 7 76.1概述 76.2通信模块 8 8 86.5实时操作系统模块 86.6运动学模块 9 9 97.1概述 9 9 9 97.5数学库接口 97.6实时操作系统接口 97.7运动学接口 7.8总线驱动接口 Ⅱ7.9应用编程接口示例 8.2系统模型 8.3装置模型 108.4功能组件模型 8.5功能块模型 128.6应用模型 附录A(资料性附录)操作系统函数接口示例 附录B(资料性附录)中间件 附录C(资料性附录)应用编程接口(API) 25附录D(资料性附录)数据类型和数据结构 4 5图3数据类型层次结构的示例 5 6 8 图10应用模型 图B.1管理功能块状态和转换条件图 图B.2管理功能块类型通用形式 图D.1共用体变量内存模型示例 图E.1插补模块(示例) 图E.2插补模块内部结构(示例) 图E.3PLC模块结构(示例) 图E.4现场总线驱动模块结构(示例) 表A.1任务(进程)间通信调用函数接口(示例) 表A.2实时任务(进程)间管理函数接口(示例) 表B.1服务接口功能块的标准输入和输出 20表B.2管理功能块状态表 Ⅲ 表B.4CMD输入值和语义 表B.6命令语法 表D.4SINT类型数据的存储示例 30 表D.6LINT类型数据的存储示例 表D.10REAL及LREAL类型数据的存储格式 33表D.11REAL类型数据的存储示例 表D.13各派生数据类型举例 34V——第1部分:总则 第7部分:通用技术条件;本部分为GB/T18759的第5部分。1GB/T9387.1—1998信息技术开放式系统互连基本参考模型第1部分:基本模型(ISO/GB/T15969.3—2005可编程序控制器第3部分:编程语言(IEC61131-3:2002,IDT)GB/T18759.1—2002机械电气设备开放式数控系统第1部分:总则GB/T18759.2—2006机械电气设备开放式数控系统第2部分:体系结构GB/T19769.1—2005工业过程测量和控制系统用功能块第1部分:结构(IEC61499-1:2003,开放式数控系统opennumericalcontr2软件平台softwareplatform应用软件运行的基础部件,处于基本体系结构的硬件平台和应用软件之间。用来具体解决一种数控加工过程中问题的软件功能单元。为解决专门领域内的,非计算机本身问题的软件。在一个特定活动环境和由其接口界定的范围内,具有执行一个或多个指定功能能力的独立物理实体。一个开放式数控系统(ONC)是一组装置的集合,装置中包含功能组件。对其运行具有独立控制性的功能单元,作为包含在一个装置的功能单元来考虑,而且对于应用提供各种服务包括算法调度与执行。软件组成的不可分割的功能单元,其名字是由相应功能块类型指定的数据结构和相关操作名字的基本功能块类型basicfunctionblocktype功能块类型中不可再分解成其他功能块,并且可利用执行控制图(ECC)来控制其算法执行的功能用在组合功能块类型算法技术规范中的功能块实例。组合功能块类型compositefunctionblocktype功能块类型的一种,其算法和算法执行的控制是以组件功能块、事件和变量的互连来表达的功能块服务接口功能块serviceinterfacefunctionblock功能块中的一种,为应用(application)提供一种或多种基于原语映射的服务,包括:映射到事件输3ADTAbstractDataONCOpenNumericalControPOSIXPortableOpe本部分在开放式数控系统基本结构的基础上(见GB/T18759.1—2002及GB/4足现有国际、国内标准及数控系统的开放性设计要求。本部分只规定开放式数控系统的控制器(数控装置)软件平台规范;对控制器外部的驱动器、I/O设备和最终用户开发的软件不做限制;此外,本部分不对操作系统和通信系统作具体规定,凡是采用符合国际标准、国家标准和事实标准的操作系统和通信系统都被视为符合本部分的要求。4.2基本结构开放式数控系统软件平台由应用编程接口、中间件和实时操作系统组成(如图1所示)。应用编程接口(API)为开放式数控系统应用软件提供独立于硬件平台的系统调用接口及运行环境支撑,实现数控系统应用软件对系统平台功能调用及资源访问;中间件通过功能组件及功能模块的方式实现运动控制、总线驱动、数学库等功能模块及组件,为软件平台提供数控控制功能应用编程接口的功能的具体实现;实时操作系统通过为上层提供POSIX等调用,实现对操作系统资源及硬件平台资源的管理及访问,满足开放式数控系统应用软件的互操作及开放性要求。↓↓↓↓块块库4.3平台模型针对开放式数控系统应用软件对软件平台的开放性及互操作要求,本部分规定的软件平台模型参考GB/T19769.1—2005给出的用于分布式工业过程测量与控制系统功能块模型以及GB/T9387.1—1998给出的信息技术可移植操作系统接口模型为基时操作系统三部分(如图2所示)。块块库不不业不业图2软件平台体系结构开放式数控系统软件平台应用编程接口应包括:用于运动控制功能调用的插补计算、运动学变换、图形库、数学库调用接口;用于对实时操作系统中实时内核资源的调用接口;用于对实时操作系统中通应用软件应能通过调用应用编程接口实现对软件平台功能的使用及资源的访问,而无需访问源码或理解内部工作机制细节。中间件应为应用软件资源的共享提供支撑,并为其运行与开发提供环境,包括:为应用软件进程提实时操作系统由通用内核和实时内核组成。通用内核完成通用核心功能,如进程调度、进程间通信、内存管理、设备管理、文件管理、网络管理等;实时内核完成实时任务调度,支策略。4.4数据类型和数据结构开放式数控系统软件平台应支持图3所示的基本数据类型与派生数据类型。数据类型示例参见附录D。枚举类型自定义类型图3数据类型层次结构的示例6线程1线程r7实时任务(进程)管理函数接口示例参见附实时操作系统应提供对I/O、存储等设备访问的同步、互斥等管理机制,确保数据的完整性和有6.1概述开放式数控系统软件平台中间件为上层应用软件提供数控功能相关的资源及服务(如图5所示),8(功能单元)7.7运动学接口应用软件通过调用运动学接口,实现不同运动学坐标系之间的变换。7.8总线驱动接口应用软件通过调用总线驱动接口实现控制硬件设备的运行以及获取硬件设备的运行状态。7.9应用编程接口示例应用编程接口示例参见附录C。本部分规定了机械电气设备开放式数控系统软件平台系统、装置、功能组件、功能块的配置与管理要求。附录E给出了功能块及组件的示例。8.2系统模型系统模型中的装置通过一种或多种通信网络实现互连(如图6所示),连接模型中各装置的通信网络可以采用层次方式结构。不同的应用可根据实际控制需要分布在一个或若干装置上。装置3应用A应用B装置4装置2装置1图6系统模型8.3装置模型开放式数控系统装置模型如图7所示。=数据和事件流应用C功能组件x功能组件z 服务接口功能块1过程接口服务接口功能块2执行控制y执行控制z算法1 算法内部数据(隐藏)事件流管理功能块是服务接口功能块的一种,实现在一个功能组件范一个应用由功能块网络组成,其网络节点为功能块或子应用及相关参数(如图10所示),网络分支2功能块实例1功能块实例313图10应用模型 A.1任务(进程)间通信调用函数接口示例无seconds:指定秒数无测试某个信号是否在信号集中查询未决信号暂停直到信号到来无_exit终止调用进程无返回处理器调用某个进程或函数所花费的时间File;文件名File:文件名File:文件名无终止正在执行的程序无无无无无执行挂起一段时间 实时应用编程接口模块 {constKINEMATICS_FORWARD_FLAGS*fflags,KINEMATICS_INVERSE_FLAGS*intkinematicsInverse(constKINEMATICS_INVERSE_FLAGS*KINEMATICS_FORWARD_FLAGS*fflI/0类型引脚名此事件输入将被映射到一个请求原语(requestprimitive),该原语请求由其功能块实例提化,也就是通信连接或过程接口模块的初始化原语:request(请求)求原语(requestprimitive)原语:request(请求)答原语(requestprimitive)原语:response(应答)表B.1(续)I/O类型引脚名事件输出此事件输出将被映射到确认原语(confirmpri(确认)此事件输出将被映射到确认原语(confirmpri原语是由其功能块实例提供服务的(确认)示原语(indicationprimitive)(提示)此输入代表对于服务原语(serviceprimitive)的限定者,一个INIT事件的出现而言是真的(TRUE),则请求了初始化服务,若是假的(FALSE),则终(服务)时其功能块类型技术规范将定义其数据类型和缺省的这些输入包括与请求(request)和应答(response)原语相关的数据。其功能块类型技术规范将定义其数据类型(请求应答)数据输出此变量代表对于服务原语(serviceprimitive)的限定的初始化是成功的;其值是假的,则提示初始化不成功(服务)此输出的数据类型datatype对evento注2:服务技术规范可以指示:这些out场合是无关的,例如,对INITO+,IND十和DNF十。这些output包括与confirm原语和indic的数据。其功能块类型技术说明将定义这些output的datatype和初始值,并将定义与它们相关的eventoutput,这个output是event顺序图中的output注3:该功能块类型技术说明可以定义这些output的别(确认指示)EVENTEVENT一由值语义(semantic)0CREATE(创建)创建指定的对象(object)1DELETE(删除)2START(开始)3STOP(停止)4READ(读)从访问路径中读数据5WRITE(写)向访问路径写数据6KILL(杀掉)7QUERY(询问)请求指定对象的信息值状态(status)语义(semantics)0RDY(就绪)1BAD-PARAMS(坏-参数)2LOCAL-TERMINATION(局部-终了)应用-初始化终了3SYSTEM-TERMINATION(系统-终了)系统-初始化终了4NOT-READY(未就绪)管理程序不能处理该命令5UNSUPPORTED-CMD(不支持-命令)6UNSUPPORTED-TYPE(不支持-类型)7NO-SUCH-OBJECT(无-此类-对象)8INVALID-OBJECT(无效-对象)值状态(status)语义(semantics)9INVALID-OPERATION(无效-操作)INVALID-STATE(无效-状态)OVERFLOW(溢出)以前的转换静止挂起表B.6命令语法对象OBJECTtype-declaration(类型-公告)fb-type-declaration(功能块-类型-公告)fb-instance-declaration(功能块-实例-公告)connection-path-declaration(访问-路径-公告)data-type-name(数据-类型-名字)fb-type-name(功能块-类型-名字)fb-instance-reference(功能块-实例-参照)connection-definition(连接-定义)access-path-name(访问-路径-名字)fb-instance-reference(功能块-实例-参照)application-name(应用-名字)fb-instance-reference(功能块-实例-参照)application-name(应用-名字)fb-instance-reference(功能块-实例-参照)all-data-types(全部-数据-类型)all-fb-types(全部-功能块-类型)data-type-name(数据-类型-名字)fb-type-name(功能块-类型-名字)fb-instance-reference(功能块-实例-参照)connection-start-point(连接-开始-点)application-name(应用-名字)access-path-name(访问-路径-名字)access-path-name(访问-路径-名字)intprio,intowner,unsignedlonguses_fp,当前任务是否使用浮点的标志位period_nsec,任务周期返回值说明:无intrtapi_task_resume(inttask_id,任务编号返回值说明:无返回值说明:成功,返回一个正数标识共享内存ID;失败则返回一个错误代码返回值说明:返回状态号返回值说明:返回状态号返回值说明:返回状态号返回值说明:返回状态码返回值说明:返回状态值返回值说明:返回状态值返回值说明:成功返回0;否则返回-EINVAL数据类型比特数182短整型3整型4长整型5无符号短整型6无符号整型7无符号长整型8单精度实数型9双精度实数型单字节位申8四字节位串八字节位电字符型8无符号字符型8D.1.2基本数据类型的编码BOOL类型的数据用一个字节来存储,其取值范围是True或False。在进行逻辑运算时,操作数可以为数值类型,且非零即为真,但在操作前需要进行类型转换,转换成BOOL类型。表D.2BO0L类型数据取值为True时的编码00000001取值为False时,字节的位取值如表D.3所示(B7表示最高位、B0表示最低位):表D.3BOOL类型数据取值为False时的编码00000000SINT类型的数据用两个字节来存储,其取值范围是-2¹⁵~21⁵-1,SN位表示数的正负,其取值SN=0:表示正数和零;以十进制10,-10为例,其在内存中的实际存在形式如表D.4所示。表D.4SINT类型数据的存储示例0000000000010011111111110110INT类型的数据用四个字节来存储,其取值范围是-2³¹~2³¹-1,SN位表示数的正负,其取值如下:以十进制10,-10为例,其在内存中的实际存在形式如表D.5所示。00000000000000011111111111100000000000010101111111111110110000000000000000111111111110000000000000000111111111111111000000000000000011111111111111000000000000100111111111111010表D.7USINT类型数据的存储示例0000000000001010111111111111111UINT类型的数据用四个字节来存储,其取值范围是0~23²-1,以十进制10,23²-1为例,其在内存中的实际存在形式如表D.8所示。表D.8UINT类型数据的存储示例0000000000000000111111111111110000000000001010111111111111111ULINT类型的数据用八个字节来存储,其取值范围是0~26⁴-1,以十进制10,26⁴-1为例,其在内存中的实际存在形式如表D.9所示。表D.9ULINT类型数据的存储示例00000000000000001111111111111110000000000000000111111111111110000000000000000111111111111111100000000000010101111111111111111阶码1位[31]8位[30-23]23位[22-00]1位[63]11位[62-52]52位[51-00]100001011110100110100110101110100011110011100011000100011100001举例1SINTs[10];CHARc[5]=2字符串CHARsting[]=“Erroroccur!Inputagain.”345枚举类型6自定义类型7指针类型表D.13序号3所示。上3个变量在内存中占的字节数不同,但都从同一地址开始存放。这种使几/*秒:0-59*//*分钟:0-59*//*小时:0-23*//*天数:1-31*//*月份:1-12*//*自周日起第几天*//*自一月一号起第几天*//*时区*/typedefstruct{LREALz;/*typedefPmCartesianVECTOR;typedefstruct{ztypedefstruct{typedefPmRotationMatrixMATRIX;typedefstruct{INTtmag_is_greater_thtypedefstruct{
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论