首页 > 国家标准(GB) > GB/T 39406-2020 工业机器人可编程控制器软件开发平台程序的XML交互规范
GB/T 39406-2020

基本信息

标准号: GB/T 39406-2020

中文名称:工业机器人可编程控制器软件开发平台程序的XML交互规范

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

标准状态:现行

出版语种:简体中文

下载格式:.zip .pdf

相关标签: 工业 机器人 控制器 平台 程序 交互 规范

标准分类号

关联标准

出版信息

相关单位信息

标准简介

GB/T 39406-2020.Specification of XML exchange of PLC-based software development platform for industrial robots.
1范围
GB/T 39406规定了基于可编程控制器的工业机器人软件开发平台程序的交互规范,包括工业机器人程序中使用的数据类型、工程信息、程序组织单元、变量.功能块图等。
GB/T 39406适用于基于可编程控制器的工业机器人应用程序软件开发平台。
2规范性引用文件
下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GB/T 12643机器人 与机器人装备词汇
GB/T 15969.1可编程序控制器 第1部分:通用信息
GB/T 15969.3-2017 可编程序控制器 第3 部分:编程语言
3术语和定义
GB/T 12643、GB/T 15969.1 、GB/T 15969.3-2017 界定的以及下列术语和定义适用于本文件。
3.1 .
工业机器人 industrial robot
在工业自动化领域使用的,自动控制的,可对不少于三个轴进行重复编程的多用途机器人。它可以是固定式或移动式。
3.2
软件开发平台 software development platform
用来对机器人控制程序进行开发的软件工具,具备程序编辑、组织、编译、下载、调试等软件开发相关的功能。
3.3
功能块 function block
预先编辑的程序集合,具有特定的功能要素,可以用图形或文本表达,并通过输入输出参数来使用这个程序集合的功能。
3.4
功能块组合 group function block
多个功能块组合起来,形成一个功能块集合,完成一组特定的功能.。

标准图片预览






标准内容

ICS25.040.30
中华人民共和国国家标准
GB/T39406—2020
工业机器人可编程控制器软件开发平台程序的XML交互规范
Specification of XML exchange of PLC-based software developmentplatform for industrial robots2020-11-19发布
国家市场监督管理总局
国家标准化管理委员会
2021-06-01实施
规范性引用文件
术语和定义
缩略语
程序文件描述规范
数据类型
工程描述方法
程序组织单元
变量声明
功能块图程序
状态示意图·
附录A(资料性附录)
工业机器人控制程序的XML交互过程rKaeerkAca-
GB/T39406—2020
本标准按照GB/T1.1-2009给出的规则起草本标准由中国机械工业联合会提出。本标准由全国自动化系统与集成标准化技术委员会(SAC/TC159)归口。GB/T39406—2020
本标准主要起草单位:杭州电子科技大学、北京机械工业自动化研究所有限公司、博众精工科技股份有限公司、山东大学、浙江大学、杭州海康机器人技术有限公司。本标准主要起草人:鄂惠峰、严义、陈佰平、曹俊、秦修功、张承瑞、赵建勇、尹作重、任建勋、侯春敏、郭栋、杜已超、陈彬、刘勇、包健、朱可平m
rrKaerkAca-
1范围
工业机器人可编程控制器软件开发平台程序的XML交互规范
GB/T39406-—2020
本标准规定了基于可编程控制器的工业机器人软件开发平台程序的交互规范,包括工业机器人程序中使用的数据类型、工程信息、程序组织单元、变量、功能块图等,本标准适用于基于可编程控制器的工业机器人应用程序软件开发平台。规范性引用文件
下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。GB/T12643机器人与机器人装备词汇GB/T15969.1可编程序控制器第1部分:通用信息GB/T15969.3—2017可编程序控制器第3部分:编程语言术语和定义
GB/T12643、GB/T15969.1、GB/T15969.32017界定的以及下列术语和定义适用于本文件3.1
工业机器人industrialrobot
在工业自动化领域使用的,自动控制的,可对不少于三个轴进行重复编程的多用途机器人。它可以是固定式或移动式。
软件开发平台softwaredevelopmentplatform用来对机器人控制程序进行开发的软件工具,具备程序编辑、组织、编译、下载、调试等软件开发相关的功能。
功能块functionblock
预先编辑的程序集合,具有特定的功能要素,可以用图形或文本表达,并通过输入输出参数来使用这个程序集合的功能。
功能块组合groupfunctionblock多个功能块组合起来,形成一个功能块集合,完成一组特定的功能3.5
controlsystem
控制系统
具有逻辑控制和动力控制功能,能控制和监测机器人动作,并与环境(设备和操作者)进行通信的系统。
KaeerKAca-
GB/T39406—2020
程序交互programexchange
将程序从软件开发平台以某种格式导出,然后在其他软件开发平台导入,实现代码复用的过程注:本标准所述的XML交互是指以XML作为工业机器人控制程序的存储格式.通过导人/导出XML文件实现不同软件开发平台间的程序交互。附录A给出了XML交互过程和示意图。4缩略语
下列缩略语适用于本文件。
FBD功能块图(FunctionBlockDiagram)IL
指令表(InstructionList)
梯形图(LadderDiagram)
可编程控制器(ProgrammableLogicController)POU
程序组织单元(ProgramOrganizationUnit)顺序流程功能图(SequentialFunctionChart)SFC
结构化文本(StructuredText)XML、可扩展标记语言(ExtensibleMarkupLanguage)5程序文件描述规范
版本管理
程序文件的版本号中,第一位数字为主版本号,第二位数字保留为主版本微小改动后的子版本号。与程序文件对应的XML结构定义文件的名称也应反映版本号。5.2
命名规范
程序文件使用下列命名规范:
属性名称应以小写字母开头;
类型及元素名称应以大写字母开头:包含多个单词的名称应取每个单词的首字母,名称首字母大写,不能使用下划线5.3
图语言坐标系统
图形语言(LD、FBD、SFC等)编写的程序,对每个图形单元应保存它的位置、尺寸和缩放信息,对于子图形单元保存相对于其父单元的相对位置。图形单元位置不能表示执行顺序。两个图形单元间的连接可以通过保存一对位置以对图形单元的连接路径布局进行描述。虚拟坐标系统有X和Y两个轴坐标系原点(0,0)为图形窗体的左上角。X的正向为从左向右,Y的正向为从上向下。图形单元的绝对坐标都是正值,子单元相对于父单元的相对坐标可以为负值或正值6数据类型
6.1布尔类型
布尔类型只有真和假两种类型,具体定义见表1。2
KaeerKAca-
数据类型
整数类型
布尔类型定义
可取值
TRUE(1).FALSE(0)
整数类型根据不同的应用需要可以定义多种长度的类型,具体定义见表2。表2
数据类型
实数类型
最小值
2147483648
整数类型定义
最大值
4294967295
2147483647
4294967295
GB/T39406—2020
大小(位)
大小(位)
实数类型表示有小数点的数据类型,包含单精度型和双精度型两种形式,具体定义见表3。表3
实数类型定义
数据类型
字符串类型
最小值
1.175e-38
2.2250738585072014e-308
最大值
3.403e+38
1.7976931348623158e+308
大小(位)
一个STRING数据类型的变量可以包含任意字字符串类型包含“STRING”和\WSTRING”两类。符,且一个字符占一个字节,在定义字符串变量的时候如不指定长度,则字符串长度默认255,实际长度为字符所占字节数再加一个额外字节。WSTRING数据类型的变量可以包含任意Unicode格式的字符,一个字符占两个字节,实际长度为字符所占字节数再加两个额外字节。3
iKaeeiKca
GB/T39406—2020
5时间类型
时间类型具体定义见表4。
数据类型
TIME_OF_DAY
DATE_AND_TIME
高分辨时间类型
最小值
表4时间类型定义
最大值
4294967295
0(00:00:00:000)
0(01.01.1970)ag
0(1970-01-01.00:00:00)
4294967295
(11:59:59PM:999)
4294967295(2106-02-07)
4294 967295(2106-02-07,
06:28:15)
LTIME数据类型可作为高分辨率时钟(纳秒级),具体定义见表5。表5高分辨率时间类型定义
数据类型
数组类型
最小值
最大值
213503d23h34m33s709ms551us615ns大小(位)
大小(位)
数组类型包括数组的基本类型名称、数组名称以及维度定义。维度定义用于为数组类型定义一个或多个维度。维度定义包含边界信息用于存放维度的上界和下界两个值。如果数组是变长数组,则应使用变量长度信息来规定数组长度6.8
枚举类型
枚举类型包含一个或多个枚举信息。对于枚举列表的每个元素,都需要一个枚举信息,用名称存储关联的标识符,枚举类型还可包含初始值信息、附加信息(AddData)。附加信息是一个供应商相关的数据结构,用来保存和扩展供应商实现相关的信息。结构体类型
结构体类型中包含一个或多个成员信息。对于每个成员信息,包括用标识符表示的成员名称以及成员的数据类型。结构体类型还可以包括附加信息。6.10子范围数据类型
子范围数据类型包含范围信息、基本类型信息、附加信息,子范围数据类型的上下限信息。6.11引用类型
引用包含引用目标信息、附加信息。4
rKaeerKAca-
6.12用户定义数据类型元素
GB/T39406-—2020
用户定义数据类型元素通过名称进行标识,它还可包含间隔、注释、使用指令、相对位置、尺寸、用户定义类型信息
7工程描述方法
7.1工程信息
工程信息(Project)表示一个项目的基本信息,在通过XML描述的工程信息中应包含文件头、内容头、类型和实例。工程信息也可包含附加信息。7.2文件头
文件头(FileHeader)包含平台软件概要信息,包括提供者的名称、平台软件名称和版本信息。除此以外,提供者也可以提供附加信息。7.3内容头
内容头(ContentHeader)表示XML文件的内容概要信息,包括项目名称、项目版本、创建时间、最后修改时间、创建者名称信息。其中项目名称应唯一。7.4类型
类型(Types)表示所有类型相关元素集合的信息,可包括注释、全局标识、使用指令、文档、扩展和注解信息。
7.5实例
实例(Instances)应包含该实例配置的相关信息。配置(Configuration)包括配置的名称、资源、全局变量表、访问变量表、配置变量表的信息配置的名称对配置进行标识,配置名称应唯一。资源(Resource)应包含资源名称、资源类型名、全局变量表、任务、程序实例信息。它由资源名称进行标识,资源名称应唯一。
全局变量表(GlobalVars)应包括变量名、变量类型信息,变量名应唯一。访问变量表(AccessVars)应包含变量名、实例路径和名称以及变量类型信息。配置变量表(ConfigVars)应包含实例路径和名称、变量类型、变量初始值以及地址信息8程序组织单元
8.1程序
程序(Program)中包含程序的访问变量表、全局变量表、参数集、外部变量表、变量表、临时变量表主体、动作、变迁的相关信息。8.2功能块
功能块(FunctionBlock)中可以包括继承、模块实现、参数集、外部变量、变量、临时变量、方法、主体,动作、变迁、使用指令、文档以及附加信息。若功能块是继承的,那么该功能块的继承信息中应包括nKaeerKAca-
GB/T39406—2020
继承的基类或功能块的名称,若功能块实现了某个接口,那么模块实现中应包含实现的接口信息。8.3类
类(Class)中可以包含继承、类实现、外部变量、变量、方法的相关信息以及是否使用关键字ABSTRACT和FINAL定义了该类的信息。若类是继承的,那么该类的继承信息中应包括继承的基类或功能块的名称,若类实现了某个接口,那么类实现中应包含实现的接口信息。8.4函数
函数(Function)中可以包含结果类型、参数集、外部变量、临时变量、主体的信息。其中,结果类型信息中应包含函数传递的数据类型的名称。8.5接口
接口(Interface)可以包含继承方法的信息。若接口是继承的,那么继承信息中应包含基类或功能块的名称。
方法(Method)中包含名称、访问说明符、结果类型、参数集、临时变量、代码体信息以及是否使用关键字ABSTRACT、FINAL和OVERRIDE定义了该方法的信息。若该方法为抽象方法,那么代码体信息应省略。
8.7参数集
参数集(Parameters)表示用于函数、功能块、程序、方法原型或方法中的参数,使用关键字VAR_INPUT,VAR_OUTPUT和VAR_IN_OUT定义。其中可以包含输人输出变量表、输入变量表、输出变量表信息。输入输出变量表、输入变量表和输出变量表都是变量的序列,每个变量在参数集中的排列顺序可以通过位置属性给出。变量的位置属性的值在参数集中是唯一的,并且应从1开始并按变量顺序递增1。
8.8代码体
代码体(Body)表示功能块的实现,是程序和动作中的代码段。其中可包含注释、全局标识、内容、使用指令、文档、附加信息
9变量声明
9.1变量表
变量表(VarList),提供了常量、掉电保持、掉电不保持、注释和全局标识信息9.2外部变量表
外部变量表(ExternalVarList),提供了常量、注释和全局标识信息。9.3变量声明
变量声明(VariableDecl)表示变量的属性,包含名称、类型、注释、全局标识、初始值、地址、文档、附加信息。
nKaeerKAca-
9.4类型引用
GB/T39406—2020
类型引用(TypeRef)表示变量的类型声明,可以选择引用一个已经定义的类型,或者定义一个没有名称的类型。
值(Value)表示变量的初始化值,可以选择简单值、数组值、结构体值中的任意一个。简单值提供了值信息。数组值提供了重复值信息。结构体值提供了结构体成员的信息。值的初始化可以递归的定义。
10功能块图程序
块(Block)表示函数调用、功能块实例调用、功能块方法调用或类实例方法调用的图形化描述。它可以包含类型名、实例名、输人输出变量表、输入变量和输出变量表、相对位置、尺寸、文档和附加信息具体为:
类型名(typeName)信息表示要在矩形块顶部中心显示的类型名称。实例名(instanceName)信息表示要在矩形上方显示的实例的名称。如果是函数调用,则不需要实例名。
输人输出变量表(InOutVariables)表示块上的输人-输出变量的图形化表示。它包括一系列规范的输人输出变量信息。
输入变量表(InputVariables)表示块上的输人变量的图形化描述。它包括输入变量信息,表示每个输入变量的规范声明。边缘(edge)表示边缘修饰符信息,此信息仅用于形式参数的图形化描述,是否应用上升沿或下降沿应在相应功能块类型的变量声明中定义。输出变量表(OutputVariables)表示块上的输出变量的图形化描述。它包括输出变量信息,表示每个变量的规范说明。
输入输出变量、输人变量和输出变量之间的顺序在本标准中并未给出明确的定义。如果需要相关定义,导出的系统可以分别使用连接点输入和连接点输出中的相对位置分配给每个变量,用于图形化输出元素间的顺序。导人系统也可以使用该输出或根据导人工具的内部规则安排变量的顺序。10.2数据源
数据源(DataSource)表示通过指定变量对功能块输人参数或输入输出参数赋值的图形化描述。它包含复杂标识符信息,该信息表示变量名或文字表达式。它还包含连接点输出、相对位置、尺寸、文档、和附加信息。连接点输出表示可以在其右侧连接线的连接点。10.3数据赋值
数据赋值(DataSink)表示功能块输出参数或输人输出参数对指定变量赋值的图形化描述。它包含标识符信息,该信息表示变量名或文字表达式。它还包含连接点输人、相对位置、尺寸、文档、附加信息和FBD对象信息。连接点输人表示可以在其左侧连接线的连接点。10.4未连接www.bzxz.net
未连接(Unconnected)表示没有连接功能块的变量或字段。未连接是用于未完成项目的描述。它包含标识符信息,该信息表示变量名或文字表达式。它还包含连接点输人、连接点输出、相对位置、尺Kaeeica
GB/T39406—2020
寸、文档和附加信息。
10.5跳转
跳转(Jump)表示FBD或LD程序图形执行流程的转变。它包含跳转的目标网络标签信息。跳转还包含连接点输入、相对位置、尺寸、文档和附加信息10.6返回
返回(Return)表示FBD或LD程序图形执行流程的返回。它包含连接点输入、相对位置、尺寸、文档和附加信息。
10.7执行顺序
执行顺序(evaluationOrder)表示任务的执行顺序。执行顺序的值越小的程序实例会被较早执行。该值不能为负。宜将每个功能块的执行顺序按其在图形程序中的位置进行递增编号11状态示意图
11.1状态信息
状态信息(State)表示状态对象。它包含名称和文档、附加信息、相对位置、尺寸、连接点输入、连接点输出信息。
11.2初始状态
初始状态(InitialState)信息表示初始状态。它包含名称和文档、附加信息、相对位置、尺寸、连接点输入、连接点输出信息。
11.3最近状态
最近状态(CurrentState)表示现行状态。它包含名称和文档、附加信息、相对位置、尺寸、连接点输人连接点输出信息。
11.4最终状态
最终状态(FinalState)表示终态。它包含名称和文档、附加信息、相对位置、尺寸、连接点输人、连接点输出信息。
11.5状态变迁
状态变迁(StateTransition)表示状态转移。它包含文档、附加信息、相对位置、尺寸、连接点输入、连接点输出和条件。
11.6状态功能块
状态功能块(StateFunctionBlock)表示状态转移时所需的功能模块。它包含名称和文档、附加信息、相对位置、尺寸和功能块信息。8
rKaeerKAca-
附录A
(资料性附录)
工业机器人控制程序的XML交互过程GB/T39406—2020
可编程控制器开发平台上开发的工业机器人控制程序被保存为XML格式的文件,然后导出并在另一二个可编程控制器软件开发平台上导人;在新的软件开发平台上,使用导人的机器人控制程序对可编程控制器软件进行编程,实现工业机器人控制目的。根据工程应用目标场景,在新的软件开发平台上可以对导入的机器人控制程序进行修改,以完成目标场景下的可编程控制器和工业机器人类型的适配。图A.1描述了可编控制器软件开发平台间工业机器人控制程序的XML交互过程。百编程控剧案
续件开发平件1
可编程控制器
应用汤景
导入/导!Ⅲ
上业机器人控制
(XM.文件)
寻入/导山
工业机器人控制程序的XML交互过程rKaeerKAca-
几编程控器
软件开发平分2
可缩程控制器2
用场款2
小提示:此标准内容仅展示完整标准里的部分截取内容,若需要完整标准请到上方自行免费下载完整标准文档。