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

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

3天内不再提示

用户定义数据类型的结构

机器人及PLC自动化应用 ? 来源:机器人及PLC自动化应用 ? 作者:机器人及PLC自动化 ? 2022-08-19 10:06 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

用户定义数据类型的结构

Structure of a User-defined Data Type

用户定义数据类型(UDTs)是你自己创建的特殊数据结构。因用户数据类型指派了名字,他们可以用很多次。一旦他们被定义,就可在CPU程序的任意点使用;换句话说,他们是共享数据类型,而且他们能够用在:

在块中用同样的方法,作为基本的或复杂的数据类型,或

作为模板建立同样数据结构的数据块。

当使用用户定义数据类型时,记住在S7-SCL源文件中他们应在使用他们的块之前。

27e638a8-1efe-11ed-ba43-dac502259ad0.png

UDT标识符(UDT Identifier)

在关键字TYPE后,键入关键字UDT,后面跟一个数字或简明的UDT符号名。块号是0到65533之间的一个数值。

例子(Examples:)

TYPE UDT10
TYPE SUPPLYBLOCK

指定数据类型(Specifying the Data Type)

数据类型总是用STRUCT数据类型清单来说明。数据类型UDT能够用在逻辑块或数据块或的声明子区或指派数据块。

UDT定义的例子(Example of a UDT Definition)

TYPE MEASVALUES
STRUCT
// 带符号标识答的UDT定义
BIPOL_1 : INT := 5;
BIPOL_2 : WORD := W#16#FFAA ;
BIPOL_3 : BYTE := B#16#F1 ;
BIPOL_4 : WORD := B#(25,25) ;
MEASURE : STRUCT
BIPOLAR_10V : REAL ;
UNIPOLAR_4_20MA : REAL ;
END_STRUCT ;
END_STRUCT ;
END_TYPE

// 在FB中UDT的使用
FUNCTION_BLOCK FB10
VAR
MEAS_RANGE : MEASVALUES;
END_VAR
BEGIN
// . . .
MEAS_RANGE.BIPOL_1 := -4 ;
MMEAS_RANGE.MEASURE.UNIPOLAR_4_20MA := 2.7 ;
// . . .
END_FUNCTION_BLOCK

审核编辑 :李倩

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

    关注

    0

    文章

    109

    浏览量

    20901
  • 数据类型
    +关注

    关注

    0

    文章

    237

    浏览量

    13933

原文标题:Structure of a User-defined Data Type

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    定义IO初始化结构

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

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

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

    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 ?4975次阅读
    西门子博途新<b class='flag-5'>数据类型</b>之:SINT(8位整数)

    FPGA编程语言的入门教程

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

    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 ?2786次阅读

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

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

    typedef和struct有啥区别

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

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

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