S7-1200 PLC的数据类型

2023-11-06

S7-1200 PLC的数据类型。除了基本数据类型之外,还支持一些复杂的数据类型,包括结构数据类型Struct、PLC数据类型UDT、数组Array、系统数据类型SDT、硬件数据类型DB_ANY、参数数据类型Variant、String和Char数据类型、WString和WChar数据类型、DTL数据类型等。就基本数据类型而言,S7-1200 PLC与S7-200/200 SMART PLC的也有不同,这篇文件中我们先介绍基本数据类型(复杂数据类型下一篇中介绍),基本数据类型包括位、字节、字、双字、整数、浮点数、日期时间,此外字符(String和Char数据类型、WString和WChar数据类型)也属于基本数据类型。

 1、位、字节、字和双字

  位为Bool,字节为Byte,字为Word,双字为DWord。这些数据类型与S7-200/200 SMART PLC都是一样的。这里便不再多说,具体可看下表。

  2、整数数据类型

  对于S7-200/200 SMART PLC整数数据类型只有INT整数和DINT双整数这两种,而S7-1200 PLC支持6种,USInt、UInt、UDInt是无符号数,SInt、Int、DInt是有符号数,他们的数值范围有所不同。

  3、浮点数数据类型

  在S7-1200PLC中,浮点数以 32 位单精度数 (Real) 或 64 位双精度数 (LReal) 表示。但是像S7-200/200 SMART PLC中就没有LReal的数据类型。

  4、时间和日期数据类型

  时间和日期数据类型包括Time、Date、Time_of_Day这三种。S7-200/200 SMART PLC是不支持这几种数据类型的,但是S7-1200PLC可以支持这几种数据类型。

  Time 数据作为有符号双整数存储,基本单位为毫秒。可以选择性使用日期 (d)、小时(h)、分钟 (m)、秒 (s) 和毫秒 (ms) 作为单位。

  Date 数据作为无符号整数值存储。用以获取指定日期。

  TOD (Time_of_Day) 数据作为无符号双整数值存储,为自指定日期的凌晨算起的毫秒数。

  5、字符数据类型

  字符数据类型包括String和Char、WString和WChar。WString和WChar在S7-200/200 SMART PLC中是不支持的。其中Char数据类型在S7-200/200 SMART PLC里面属于ASCII数据类型,只是它在S7-1200PLC中叫Char 数据类型,这是在名称上有所不同。

  Char 数据类型为字符,将单个字符存储为 ASCII 编码形式。每个字符占用空间为1字节。

  String 数据类型为字符串,操作数可存储多个字符,多可包括 254 个字符。如:"abcdefg"叫字符串,而其中的每个元素叫字符。

  WChar数据类型称为宽字符,占用2个 byte 的内存。它是将单个字符保存为 UFT-16 编码形式。

  WString 数据类型称为宽字符串,用于在一个字符串中存储多个数据类型为 Wchar 的 Unicode 字符。如果未指定长度,则字符串的长度为预置的 254 个字。

  以上就是S7-1200 PLC的基本数据类型,除了支持基本数据类型之外,还支持一些复杂的数据类型,包括结构数据类型Struct、PLC数据类型UDT、、系统数据类型SDT、硬件数据类型DB_ANY、参数数据类型Variant、String和Char数据类型、WString和WChar数据类型、DTL数据类型等。那么这篇文章就来给大家介绍一下复杂的数据类型吧。

结构数据类型Struct与PLC数据类型UDT

Struct类型和UDT类型都是一种由多个不同数据类型元素组成的数据结构,其元素可以是基本数据类型,也可以是Struct、数组等复杂数据类型以及PLC数据类型UDT等。Struct 类型可以在DB、OB/FC/FB接口区、PLC数据类型UDT 处定义使用。UDT类型可以在DB、OB/FC/FB接口区处使用。

从TIA 博途 V13SP1 开始,S7-1200 V4.0开始,PLC变量表中的I和Q也可以使用UDT类型。

UDT类型作为整体使用时,可以与Variant、DB_ANY类型及相关指令默契配合。Struct数据类型使用非常灵活,随时可以使用,但是相对于PLC数据类型 UDT有一些缺点,所以建议需要使用Struct类型时,可以使用PLC数据类型UDT代替。理论上来说,UDT是Struct类型的升级替代,功能基本完全兼容Struct类型。

数组Array

数组表示的是由固定数目的同一数据类型的元素组成的一个域,格式为:域名:ARRAY[下索引值..大索引值]of数据类型,比如DATA:ARRAY[0..7] of INT。

数组可以使用单个数组元素例如"DB1".Static_1[1],也可以使用整个数组例如"DB1".Static_1。

多维数组可以降维使用,例如三维数组:3D[0..2,0..3,0..4]of Int是一个3×4×5大小的Int数组,3D[0]是一个4×5大小的二维Int数组,3D[0,1]是一个5个元素的一维Int数组,当然多维数组下标也可以换成变量,例如3D[Tag_1,1]这种。

系统数据类型SDT

系统数据类型SDT是由系统提供,并且具有预定义的结构,它的结构由固定数目的具有各种数据类型的元素构成,不能更改系统数据类型的结构。系统数据类型只能用于特定指令,比如定时器使用的IEC_TIMER 16数据类型,可用于“TP”、“TOF”、“TON”、“TONR”、“RT”和“PT”指令。系统数据类型还有很多个,具体可以参考手册哦,这里不做详细介绍。

硬件数据类型

硬件数据类型是由 CPU 提供的,可用硬件数据类型的数目取决于 CPU。根据硬件配置中设置的模块存储特定硬件数据类型的常量。在用户程序中插入用于控制或激活已组态模块的指令时,可将这些可用常量用作参数。

比如说REMOTE数据类型,用于S7通信PUT/GET指令中指定远程CPU的数据地址,必须以P#指针的形式作为实参,例如P#DB1.DBX0.0 BYTE 10。硬件数据类型还有很多,具体可以参考手册哦,同样这里不做详细介绍。

参数数据类型Variant

参数数据Variant类型只能出现在除FB的静态变量以外的OB/FC/FB接口区。Variant类型的实参是一个可以指向不同数据类型变量的指针。它可以指向基本数据类型,也可以指向复杂数据类型、UDT等。调用某个块时,可以将该块的Variant参数连接任何数据类型的变量。除了传递变量的指针外,还会传递变量的类型信息。该块中可以利用Variant的相关指令,将其识别出并进行处理。

Variant指向的实参,可以是符号寻址,也可以是绝对地址寻址,还可以是比如P#DB1.DBX0.0 BYTE 10这种指针形式的寻址。P#DB1.DBX0.0 BYTE 10这种结构起源于S7-300/S7-400的Any指针,S7-1200无法像S7-300/S7-400一样定义以及拆解Any指针,但是在参数类型为Variant时,可以输入这种指针,并且S7-1200将识别其为数组。P#DB1.DBX0.0 BYTE 10的解释:指向从DB1.DBX0.0开始的10个字节,并且DB1必须包含有10字节长度的变量。

时间数据类型DTL

日期和时间的数据类型 DTL 用于存储日期和时间信息。它主要由几个部分组成,每一部分都包含不同的数据类型和取值范围。指定值的数据类型必须与相应元素的数据类型相匹配。下图给出了数据类型 DTL 的格式、结构组成及其属性:

时间数据类型什么时候会用到呢,比如我们要读取S7-1200CPU的系统/本地时钟,就需要在DB块中创建数据类型为DTL的变量。

以上就是S7-1200 PLC的复杂数据类型啦,一对比,就会发现这明显比S7-200/200SMART PLC复杂多了,是吧?没关系,我们可以先掌握一些比较常用的,比如说数组ARRAY数据类型等,其他的可以等需要用到再查手册呗

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

S7-1200 PLC的数据类型 的相关文章

  • 【uni-app教程】四、UniAPP 路由配置及页面跳转

    四 UniAPP 路由配置及页面跳转 1 路由配置 uni app页面路由为框架统一管理 开发者需要在pages json里配置每个路由页面的路径及页面样式 类似小程序在 app json 中配置页面路由一样 所以 uni app 的路由用

随机推荐

  • Qt实现在表格中添加气泡显示功能

    经常在项目中会使用到QTableWidget QTableView QTreeWidget等这类的表格 其中的Item中显示的内容较多 如果设置Item过宽的话 就会导致出现横向滚动条很难看 所以为了解决上述问题 可以采用气泡的形式 当鼠标
  • c语言基础(6)-----逗号运算及数据类型转换

    逗号运算符 表达式1 表达式2 逗号右边的表达式作为运算结果 4 数据类型的转换 4 1 自动类型转换 当用一种数据类型的数据赋值给另一数据类型的变量时 int a 1 1 int i a char 97 char a float f 0
  • 小程序蓝牙通信

    蓝牙通信能力封装 一开始是根据uniapp提供的蓝牙api写的蓝牙方法 之后发现复用性 以及一些状态的监听存在缺陷 之后整理成了类 这样复用性以及状态监听的问题就解决了 蓝牙组件 创建蓝牙组件的类 单例模式是为了保证蓝牙长连接 只有一个蓝牙
  • vue2中使用wangEditor(JS引入)

    本文讲的不是npm安装 是下载js本地引入哦 想了解vue2和vue3的npm安装的 去这里 用于 Vue React wangEditor 为了防止内网无法使用 咱不用cdn引入 直接下载js放入本地使用 第一步 下载wangEditor
  • 使用LibVlc解决视频播放中的部分问题

    使用LibVlc解决视频播放中的部分问题 标签 空格分隔 libvlc 简介libvlc vlc是一个开源的 跨平台的视频播放器 VLC支持大量的音视频传输 封装和编码格式 详情可访问 http www videolan org 了解 li
  • Linux的mysql在Windows无法远程连接

    Linux的mysql在Windows无法远程连接 0 设置跳过校验 mysqlId 添加skip grant tables vi etc my cnf 顺便查一下编码 1 权限不够只允许本机连接 linux登入mysql执行命令 gran
  • 计算机中原码反码补码的应用场合,反码

    反码是数值存储的一种 多应用于系统环境设置 如linux平台的目录和文件的默认权限的设置umask 就是使用反码原理 在计算机内 定点数有3种表示法 原码 反码和补码 中文名 反码 外文名 Inverse code所属领域 作 用 存储数值
  • DIY 一个汽车方向盘游戏外设(MMOS OSW DIY)

    OSW MMOS直驱方向盘DIY过程记录 简书 jianshu com DIY 一个汽车方向盘游戏外设 MMOS OSW DIY 首先讲一下这个直驱系统大概的框架 首先是电脑 电脑里装MMOS的软件 这个软件国内高手把它汉化了的 电脑通过U
  • [983]mitmweb的使用

    安装mitmproxy时带有mitmweb 可直接在命令行输入命令 mitmweb 此时可打开web界面 来源 https www cnblogs com shenhf p 9783174 html
  • 超详细debug教程!小白必看!百分之八十的人都不知道的debug小技巧;pycharm界面如何设置?pycharm如何debug?for循环时如何停止?各种debug小技巧分享!

    如果你是刚上手python的小白 一定要看这篇文章 如果已经用了好几年python 也不要错过这篇文章哦 总有一些小tips是你不知道的 目录 1 整体界面设置 2 如何debug 3 怎么运行到下一步 3 1 Step Over 3 2
  • apk开发教程!那些年Android面试官常问的知识点,2年以上经验必看

    前言 下面的题目都是大家在面试字节跳动或者其它大厂面试时经常遇到的 如果大家有好的题目或者好的见解欢迎分享 参考解析 郭霖 鸿洋 内容特点 条理清晰 含图像化表示更加易懂 内容概要 包括 Handler Activity相关 Fragmen
  • 数据挖掘工程师主要做什么?

    转自 微点阅读 https www weidianyuedu com content 5317504350632 html 数据挖掘工程师负责科技数据挖掘算法模型的构建 应用 评测 报告 下面是第一范文网小编为您精心整理的数据挖掘工程师的基
  • SIMPLIS仿真软件1-SIMPLIS介绍

    SIMPLIS仿真软件1 SIMPLIS介绍 导读 SIMPLIS是什么 SIMPLIS的三种分析模式 SIMPLIS的三个关键概念 1 SIMPLIS是时域仿真 2 SIMPLIS的模型都是PWL模型 3 SIMPLIS的特有的POP的作
  • hausman检验_互助问答第302期:关于内生性检验的问题

    http weixin qq com r PTkwKHjEvSXCrTxL92wv 二维码自动识别 关于内生性检验的问题老师 您好 关于内生变量的检验常常相互矛盾 请问应当以哪种检验结果为准呢 1 首先进行豪斯曼检验结果如下 结论拒绝所有解
  • 怎样才能从Java初级程序员成长为一名合格的架构师?

    怎样学习才能从一名Java初级程序员成长为一名合格的架构师 或者说一名合格的架构师应该有怎样的技术知识体系 这不仅仅是一个刚刚踏入职场的初级程序员也是工作三五年之后开始迷茫的老程序员经常会问到的问题 下面 我来详细回答这些问题 希望这篇文章
  • 基于Python和mysql开发的智慧校园答题考试系统(源码+数据库+程序配置说明书+程序使用说明书)

    一 项目简介 本项目是一套基于Python和mysql开发的智慧校园答题考试系统 主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Python学习者 包含 项目源码 项目文档 数据库脚本等 该项目附带全部源码可作为毕设使用 项目
  • 搭建自己的searx搜索引擎

    Searx是一个隐私尊重的免费元搜索引擎 它具有以下功能特性 自我托管 默认不使用 Cookie 不跟踪 不分析用户 不收集用户数据 不与第三方共享用户数据 提供安全的加密连接 HTTPS SSL 等 如果您更在意隐私而不是效率 这会是一个
  • PPTP L2TP IPsec

    点对点隧道协议 PPTP PPTP是一个第2层的协议 将PPP数据桢封装在IP数据报内通过IP网络 如Internet传送 PPTP还可用于专用局域网络之间的连接 RFC草案 点对点隧道协议 对PPTP协议进行了说明和介绍 该草案由PPTP
  • springboot+cache缓存下(原理篇)

    原理 1 自动配置类 CacheAutoConfiguration 在idea中使用快捷键ctrl shift n 查找出CacheAutoConfiguration类 看到import中有导入CacheConfigurationImpor
  • S7-1200 PLC的数据类型

    S7 1200 PLC的数据类型 除了基本数据类型之外 还支持一些复杂的数据类型 包括结构数据类型Struct PLC数据类型UDT 数组Array 系统数据类型SDT 硬件数据类型DB ANY 参数数据类型Variant String和C