0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

定义结构数据类型-STRUC

机器人及PLC自动化应用 ? 来源:机器人及PLC自动化应用 ? 2020-06-30 15:49 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

复合型数据类型:结构

定义结构数据类型-STRUC

用关键词 STRUC 定义一个结构类型复杂变量.

结构是不同数据类型的组合.

一种结构必须首先经过定义,然后才能继续使用.

例如:

例如:对一辆汽车而言,发动机功率或里程数为整数型。对价格而言,实数型最适用。而空调设备的存在则与此相反,更应为布尔型。所有部分汇总起来可描述一辆汽车。

在结构中可使用简单的数据类型 INT、REAL、BOOL 及 CHAR

变量实例:

STRUC CAR_TYPE INT motor, REAL price, BOOL air_condition

CAR_TYPE:是结构变量名称

motor: 是结构里的一个变量,INT是motor的变量类型.

在结构中可以嵌入 CHAR 数组

变量实例:

STRUC CAR_TYPE INT motor, REAL price, BOOL air_condition, CHAR

car_model[15]

在结构中也可以使用诸如位置 POS 等已知结构

变量实例:

STRUC CAR_TYPE INT motor, REAL price, BOOL air_condition, POS

car_pos

定义完结构后还必须对此声明工作变量

STRUC CAR_TYPE INT motor, REAL price, BOOL air_condition

DECL CAR_TYPE my_car CAR_TYPE变成了变量的类型


结构的初始化 / 赋值

例如:

在$CONFIG.DAT 中给工具1初始化/中赋值

TOOL_DATA[1]={X 0.0,Y 0.0,Z 996.5,A 0.0,B 90.0,C 1.35000002}

在结构中不必指定所有结构元素,一个结构将通过一个结构元素进行初始化,未初始化的值已被或将被设置为未知值.

例如:

结构变量my_car赋值.

my_car = {motor 50, price 14999.95, air_condition = TRUE}

结构变量my_car中motor的 赋值.

my_car = {motor 75} ;

也可以通过点号进行: my_car.price = 9999.0

位置范围内预设定的 KUKA 结构:

AXIS:STRUC AXIS REAL A1, A2, A3, A4, A5, A6

结构AXIS中的元素A1…A6 是相对于机器人的6个轴的角度值 (转轴) 或平移值(平移轴) 。

E6AXIS:STRUC E6AXIS REAL A1, A2, A3, A4, A5, A6, E1, E2, E3, E4,E5, E6

在结构E6AXIS利用附加元素E1...E6可以对外部轴的值进行调用。

FRAME:STRUC FRAME REAL X, Y, Z, A, B, C

在结构类型FRAME中可以在空间上(X,Y and Z)定义三个位置值,在空间上3 (A, B and C)上定义3个角度值. 由此可以明确一个点空间的位置和取向。

POS:STRUC FRAME REAL X, Y, Z, A, B, C

因为有的机器人可以带多种轴位抵达空间的同一点,所以用结构类型POS中的整数变量S和T来确定某个明确的轴位.

E6POS:STRUC E6POS REAL X, Y, Z, A, B, C, E1, E2, E3, E4, E5, E6 INT S,T

在结构类型E6POS中可以利用附加元素E1...E6对附加轴进行调用。

AXIS,E6AXIS,POS,E6POS和FRAME的类型也被称为几何数据类型,因为它们提供一个简单的方法用来说明几何关系。

事例:

坐标点的工作属性结构赋值

DECL VW_MPARA_TYP P1_D = {TOOL_NO 1,BASE_NO 1,VB 100,VE 0,ACC 100,TRG_TIME 0,MOVE_TYPE #PTP_MOTION}

轨迹坐标点

DECL E6POS P1 = {X 2892.639, Y -1126.021, Z -1979.668, A 89.99997, B 0.000055789, C -178.648, S 2, T 35 , E1 114.0, E2 0.0, E3 0.0, E4 0.0, E5 0.0, E6 0.0}

-执行轨迹E1轴,焊钳动极臂的补偿-

VW_MPARA_ACT=P1_D

Act_P1 = P1

Act_P2 = P1

VW(#MPARA,TRUE)

act_P1.E1=(act_P1.E1-(MyCorrValue*SZ1_Z1_AHV))

PTP act_P1 偏差轨迹的改变

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据类型
    +关注

    关注

    0

    文章

    237

    浏览量

    13933
  • 数组
    +关注

    关注

    1

    文章

    420

    浏览量

    26787

原文标题:KRL 复合型数据类型:结构

文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    定义IO初始化结构

    由上述IOPORT相关功能的枚举类型我们可以知道,在对IOPORT模块进行初始化时需要根据情况配置它们。因此我们定义一个IOPORT初始化的结构类型IOPORT_Init_t,它的成
    的头像 发表于 07-16 16:26 ?701次阅读

    IEC101协议可以传输什么类型数据

    维度展开说明: 一、IEC101协议支持的核心数据类型 协议通过 应用服务数据单元(ASDU) 定义数据格式,覆盖电力系统关键信息,具体分类如下:
    的头像 发表于 05-21 11:37 ?311次阅读

    labview数据类型与PLC 数据类型之间的转换(来自于写入浮点数到汇川 PLC中的数据转换关键的修改)

    为32位无符号整型U32 2、将U32拆分为两个U16,分高低位写入PLC 3、在PLC中,将低位寄存器设置为浮点数数据类型 4、结果:PLC中一直无法正确转换。 原因及解决方法: 1、labview
    发表于 02-24 19:01

    请问ADS1299使用Test Signals ,获取到的数据类型是什么?

    请问ADS1299使用Test Signals ,获取到的数据类型是什么?使用什么公式可以还原?据了解,外部信号转换完成后是浮点型的,但是没有看到这块的说明。
    发表于 01-06 07:14

    西门子博途新数据类型之:SINT(8位整数)

    数据类型 SINT (Short INT) 的操作数长度为 8 位,由以下两部分组成:一部分是符号,另一部分是数值。位 0 到 6 的信号状态表示数值。位 7 的信号状态表示符号。符号可以是“0”(正信号状态),或“1”(负信号状态)。
    的头像 发表于 11-09 09:52 ?4976次阅读
    西门子博途新<b class='flag-5'>数据类型</b>之:SINT(8位整数)

    FPGA编程语言的入门教程

    编程基础 基本结构 Verilog程序的基本结构包括模块(module)和端口(port)定义。每个模块都有输入(input)、输出(output)和可能的双向(inout)端口。 数据类型
    的头像 发表于 10-25 09:21 ?1385次阅读

    AIC23采集到的数据是应该用什么数据类型来接收?int还是unsigned int?

    AIC23采集到的数据是应该用什么数据类型来接收,int还是unsigned int? 这个采集到的数字是什么含义呢?代表的是声音信号的幅值? while(!MCBSP_rrdy(hMcbsp
    发表于 10-18 06:56

    鸿蒙原生应用元服务开发-仓颉基础数据类型字符类型

    字符类型使用 Rune 表示,可以表示 Unicode 字符集中的所有字符。 字符类型字面量 字符类型字面量有三种形式:单个字符、转义字符和通用字符。一个 Rune 字面量由字符 r 开头,后跟一个
    发表于 09-19 10:58

    鸿蒙原生应用元服务开发-仓颉基础数据类型元组类型

    二元,例如,(Int64, Float64) 表示一个二元组类型,(Int64, Float64, String) 表示一个三元组类型。 元组的长度是固定的,即一旦定义了一个元组类型
    发表于 09-12 11:02

    鸿蒙原生应用元服务开发-仓颉基础数据类型浮点类型

    表示一个从 start 开始,以 step 为步长,到 end(包含 end)为止的区间。 下面的例子定义了若干区间类型的变量: let n = 10 let r1 = 0..10 : 1// r1
    发表于 09-11 11:08

    鸿蒙原生应用元服务开发-仓颉基础数据类型Unit与Nothing类型

    一、Unit 类型 对于那些只关心副作用而不关心值的表达式,它们的类型是Unit。例如,print 函数、赋值表达式、复合赋值表达式、自增和自减表达式、循环表达式,它们的类型都是 Unit
    发表于 09-06 15:43

    labview数据类型的取值范围是多少

    LabVIEW的数据类型丰富多样,涵盖了整数、小数(浮点数)、复数等多种类型,每种类型都有其特定的取值范围。以下是对LabVIEW中常见数据类型取值范围的说明: 整数
    的头像 发表于 09-04 17:33 ?2791次阅读

    常见的遥感数据类型有哪些

    遥感技术是一种通过遥感器在远离目标的位置获取目标地物的电磁波信息,并进行分析的技术。遥感数据类型繁多,涵盖了从可见光到红外、微波等多个波段,以及不同的数据格式和分辨率。 光学遥感数据 : 全色影像
    的头像 发表于 09-04 14:30 ?3837次阅读

    typedef和struct有啥区别

    )是C语言中一种复合数据类型,它允许将多个不同类型数据项组合成一个单一的数据结构结构体可以包含各种基本
    的头像 发表于 08-20 11:00 ?2667次阅读

    人体红外传感器的数据类型及工作原理

    人体红外传感器是一种利用红外技术检测人体活动和位置的传感器。它广泛应用于安防、智能家居、医疗健康等领域。 人体红外传感器的数据类型 人体红外传感器的数据主要包括以下几种类型: 1.1 温度数据
    的头像 发表于 08-20 09:18 ?2474次阅读