英语原文共 26 页,剩余内容已隐藏,支付完成后下载完整资料
目录
1 简介
图1-1
SCAPE Communication Server(SCS)的目的是在SCAPE和机器人之间建立一种连接。
它包含一些可以被与SCS连接的客户端修改的变量(比如SCAPE系统或者机器人)。服务器上的变量用作一种存储的形式可以在连接到服务器的系统上共享。
SCS可以监听进入的套接字或者用户定义端口上的串联连接信号。在连接了SCS之后,客户端有一下选项:
- 可以改变SCS上变量或者组的值
- 可以查询变量或者组的值
- 可以从服务器中删除所有变量,定义一个应该存在于服务器上的新的变量
- 可以添加额外的变量组到现有的变量里
- 可以向服务器发送一条消息,请求应答(,以确保它仍然连接到服务器)
- 可以使SCS关闭SCS和客户端之间的连接。
1.1 变量
SCS中所包含的变量列表能区分不同的应用程序。SCAPE系统和机器人之间的通信通常会要求以下变量存在于服务器上:
ROBOT_ACCELERATION
ROBOT_BLEND_DISTANCE
ROBOT_COLLISION_STATE
ROBOT_PARAMETER_0
ROBOT_PARAMETER_1
ROBOT_PARAMETER_2
ROBOT_POSITION_A
ROBOT_POSITION_B
ROBOT_POSITION_C
ROBOT_POSITION_X
ROBOT_POSITION_Y
ROBOT_POSITION_Z
ROBOT_PROGRAM_ID
ROBOT_SIGNAL_READY
ROBOT_SLEEP_TIME
ROBOT_SPEED
ROBOT_STOP
ROBOT_STOP_COMPLETELY
ROBOT_TASKS_LEFT
ROBOT_TASK_READY
ROBOT_TASK_TYPE
ROBOT_TRIGGER_CAMERA
ROBOT_USE_LINEAR_MOTION
ROBOT_WORKCELL_STATE
如何使用这些可以在SCAPE通信流程图上看到的变量。
当变量在SPACE系统和SCS之间传输的时候,变量值以整数形式存在。为了确保我们将浮点数转换为整数时不会失去太多的精度,在他们转换为整数之前,要将浮点数乘以10倍或者100倍。请注意,这意味着当他们从SCS中收到一个值时包含一个必须在机器人程序里除以10或100距离或角度。
1.2 支持的命令格式
SCS支持两种“命令格式”。SCS解析命令为第一种格式,使用简单的”字符串解析器” 这种格式易于使用,并且可以在大多数机器人上成功实现。第二种格式仅仅可以在KUKA机器人上用“KUKA KRL XML” 或者 “KUKA.Ethernet KRL”软件包使用以及关于“KUKA xml parser”服务器的部分命令格式。下面的部分描述了如何在SCS访问数据使用这两个命令格式。
1.3 “简单的字符串”命令格式
当使用这个命令格式,SCS支持以下命令: ADD_VARIABLE_NAMES, GET, SET, ADD_VARIABLE_TO_GROUP, GET_GROUP_VALUES,SET_GROUP_VALUES, SET_CLIENT_NAME, PING and lt;CLOSEgt;.下面可以看到这些语法的描述和命令的用法。
注意,变量名和命令要区分大小写!
1.3.1 ADD_VARIABLE_NAMES
变量可以被添加到服务器上的变量列表以便使用ADD_VARIABLE_NAMES命令。当新的变量被添加到服务器用来使用ADD_VARIABLE_NAMES命令时,他们有默认值0。ADD_VARIABLE_NAMES命令的语法如下:
ADD_VARIABLE_NAMES lt;varname_1gt; lt;varname_2gt; hellip; lt;varname_ngt;lt;csgt;
这里lt; varname_1 gt; - lt; varname_n gt;是新变量的名称,lt; cs gt;是命令分隔符。当配置服务器时要用到命令分隔符。如果选择一个设置预设在新服务的配置,那么它是默认选择的。命令分隔符必须下列字符之一:
|: ; = / # ! * @ $ cr nl
Cr回车字符,nL是换行符。
例如使用以下ADD_VARIABLE_NAMES命令可以看到。在这个例子中,用作命令分隔符“,”。
ADD_VARIABLE_NAMES ROBOT_SLEEP_TIME ROBOT_FRAME_ID
ROBOT_ACCELERATION
如果操作是成功的,服务器可以配置为回复OK。如果服务器遇到问题时,它将总是回复lt;ERRORgt;。这将发生如果指定相同的变量名多次在单个ADD_VARIABLE_NAMES命令里出现。例如:
ADD_VARIABLE_NAMES ROBOT_STOP ROBOT_STOP ROBOT_SPEED;
如果一个或多个提供给ADD_VARIABLE_NAMES命令的变量的名字在服务器上已经存在,那么这些变量名称将被忽略,现有的变量将不改变它们的值,即这些变量不会被设置为0。在服务器上已经不存在的变量,将被添加到服务器上的变量列表,并且它们的值将被设置为0。
1.3.2 GET
当客户端系统需要一组值SCS,命令会按照模式写入服务器上
GET lt;varname_1gt; lt;varname_2gt; hellip; lt;varname_ngt;lt;csgt;
这里lt; varname_1 gt;hellip;lt; varname_n gt;是变量的名称,客户需要知道的和lt; c gt;命令分隔符值。
对于给定的命令,SCS会回复一个字符串在下列两种形式之一的(取决于服务器的配置)。
回复类型1:
lt;varname_1gt; lt;value_1gt; lt;varname_2gt; lt;value_2gt;hellip; lt;varname_ngt; lt;value_ngt; lt;csgt;
回复类型2:
lt;value_1gt; lt;value_2gt; hellip; lt;value_ngt; lt;csgt;
在答案lt; varname_hellip;gt;是请求的变量的名称,lt; value_hellip;gt;是变量的值。当在SCS中创建“通信服务”时,无论变量名称是否应该回复的一部分(如回复1型)被定义(如回复2型)。下面是当使用GET命令时的客户端和SCS之间的数据交换的一个示例。在这个例子中,“,”用作命令分隔符。
客户端读取:
GET ROBOT_POSITION_X ROBOT_POSITION_Y ROBOT_POSITION_Z;
SCS会以以下两种形式回复:
回复形式1:
ROBOT_POSITION_X 4521 ROBOT_POSITION_Y 3423 ROBOT_POSITION_Z
13252;
回复形式2:
4521 3423 13252;
如果客户端请求一个服务器上不存在的变量,服务器将回复以下内容:
lt;ERRORgt;;
1.3.3 SET
当客户端需要在SCS改变一个变量的值,它可以使用SET命令。SET命令的语法如下:
SET lt;varname_1gt; lt;value_1gt; lt;varname_2gt; lt;value_2gt; hellip; lt;varname_ngt;
lt;value_ngt;lt;csamp;
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[146408],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。