西门子编程基础学习分享(3)-数据类型详述

2023-10-27

1200PLC的数据类型详述

前文所提到的数据类型用于描述数据的长度以及属性,即为指定数据元素的大小以及如何解释数据,每个指令至少支持一种数据类型,因而指令上使用的操作数的数据类型必须与指令所支持的数据类型一致。所以在设计程序,建立变量时需要对所建立的变量分配数据类型。

博图中建立建立变量的主要地方有:变量表、DB块、FB/FC/OB的接口区,接口区的变量的建立并非适用于所有变量类型。

变量表可以建立的途径:变量表,数据块,代码块的接口区域,其中变量表无法建立双精度的浮点数(Lreal)

实数的存储方式:

实数在1200PLC中分为单精度和双精度两种,单精度存储空间为32位,双精度存储空间为64位。

例如将实数0.5存储至MD20中,MD20的数据类型为Real

 对于双精度浮点数:最高位为符号位(63位),指数部分(52-62位),尾数部分(0-51位)

时间和日期:

DTL的每一部分均包含不同的数据类型和取值范围,指定值的数据类型必须与相应部分的数据类型相一致。包括年、月、日、星期、小时、秒和纳秒为12个字节,可以在全局数据块以及块的接口区定义。注意,长格式DTL日期和时间在变量表中无法定义。

BYTE 组件 数据类型 值范围
0-1 UNIT 1970-2554
2 USINT 1-12
3 USINT 1-31
4 星期 USINT 1-7
5 小时 USINT 0-23
6 分钟 USINT 0-59
7 USINT 0-59
8-11 纳秒 USINT 0-999 999 999

 字符和字符串的数据类型:

数据类型 大小 范围 常数输入示例
Char 8位 16#00-16#FF

'A'、'T'、‘@’

WChar 16位 16#0000-16#FFFF 亚洲字符等
String n+2个字节 n=(0-254字节) ‘ABCD'
WString n+2个字 n=(0-65534个字) ’abc123@.com'

Char在存储器中占用一个字节,可以包含以ASCALL码格式的单个字符。WChar可以包含任意双字节形式的内容。

String数据类型存储一串单字节字符,提供了256个字节,其中前两个字节表示最大字符数和当前字符数,定义字符串的最大长度可以减少它所占用的存储空间。示例:MyString[13]的表明最大字符长度就为13个字符,如不这样定义,则该字符串需要占用256个字符。WString的表达形式类同,不再详述。

对于String和WString的数据类型只能在DB块和块的接口参数里面建立,不可在变量表中建立。

String和Wstring定义最大字数后,如果输入的超过最大存储数的时候,后续便不再继续存储 S_MOVE字符传送指令 S_CONV为字符转换指令。

Array:

Array是一个数组,数组是由相同数据类型的多个元素组成,数组可以在DB块中或者是在OB、FB、FC的块接口的编辑器中创建而无法在变量表中创建,其创建格式为Array[lo..hi]of type.其中Low和High表示数组的下标和上标,取值范围为[-32768,32767]。type表示基本数据类型。

Struct:

表示一组指定数目的数据元素,每个元素可以具有不同的元素类型,1200PLC结构型变量不支持嵌套。结构元素可以在声明中进行初始化赋值,初始化值得类型必须必须与结构元素的数据类型相一致。

Variant:

该数据类型可以指向各种数据类型或是参数变量得指针,其可以指向基本数据类型,也可以指向复合得数据类型,其不会占用存储器空间,该变量只能在块得接口处建立。

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

西门子编程基础学习分享(3)-数据类型详述 的相关文章

  • vue2 webpack3 升级 webpack5 全过程,内附详细配置文件

    由于 webpack5 需要 node 版本 gt 10 13 0 请先将 node版本 升级 npm版本 用node自带的就可以了 官方最新的node版本好像不兼容下面的webpack5配置 建议升级成 LTS版本 这里我升级的是v14
  • uni-app中onLoad不起作用

    最近开始使用uni app 坑还是很多的 今天在使用onLoad是发现 页面上的onLoad方法是可以起作用的 但是组件中的onLoad方法并没有起作用 后来经过一番尝试后还是不行 看文档发现uni app 支持的页面生命周期函数是包含on
  • 《质量全面管控-从项目管理到容灾测试》读书笔记

    介绍 该书是葛长芝老师 结合案例讲解测试实践技术 主要内容有 项目管理 项目需求管理 代码质量控制 自动化部署 软件测试 安全测试与安全管理 自动化测试基础 自动化测试框架 性能测试 性能分析 监控平台与故障排查 灾难恢复与容灾测试等 这本
  • 怎样才能提升广告投放效果?牢记这5点!

    在我们的日常生活中 广告可以说一个随处可见 无所不在的一个事物 各行各业的组织 企业等都会进行广告宣传 以达到推广产品或建立企业形象等商业目的 广告虽然非常常见 覆盖率比较高 广告的代言人和展现形式也不尽相同 但并不是所有的广告都能达到预期
  • UE4C++ 如何在静态函数中SpawnActor

    最近在学习用C 复刻YouTube上的一个蓝图库存系统 其中在从背包中丢弃枪械 然后在世界中生成一个枪械Actor的时候遇到了问题 由于这个生成函数是在几个不同的类中复用的 YouTube原版的做法是把这个函数写在了GameState类里面

随机推荐

  • Java基础面试题附带答案

    091内部类可以引用它的包含类 外部类 的成员吗 有没有什么限制 一个内部类对象可以访问创建它的外部类对象的成员 包括私有成员 092Anonymous Inner Class 匿名内部类 是否可以继承其它类 是否可以 实现接口 可以继承其
  • 黑苹果睡眠唤醒usb失灵_(已解决)睡眠唤醒重启的问题

    Time stamp Domain Message Duration Delay UUID 0C11AC44 B57D 4895 8067 C95A
  • Intent详细用法介绍

    文章目录 Intent介绍 Intent属性 intent种类 intent过滤器 Intent介绍 Activity Service Broadcast通信 可传递Bundle Intent属性 Component name属性 通过se
  • 2020年网络系统管理改革试点评分标准四

    考核点11 在D盘查看备份文件 分数 5分 考点答案 考点解析 本题考查点 组策略备份 配置案例 依次选择 服务器管理器 工具 组策略管理 在 组策略管理 窗口中依次选择 林 域 ChinaSkills cn 右键单击 组策略对象 在弹出的
  • 2D Alpha Shape:基于二维Delaunay(德洛内)三角网的边缘点查找

    文章目录 0 效果 1 Delaunay三角网基本内容 2 Bowyer Watson算法 3 基于Delanay方法的Alpha Shape确定散乱点的边缘点 4 代码实现 C Opencv 5 参考 0 效果 点间距10 1 Delau
  • Arduino智能小车——超声波避障

    Arduino智能小车 超声波避障 Arduino智能小车系列教程时空门 Arduino智能小车 拼装篇 点击跳转 Arduino智能小车 测试篇 点击跳转 Arduino智能小车 调速篇 点击跳转 Arduino智能小车 超声波避障 点击
  • Linux自带的RHCS集群套件简单认识及kvm,qemu,libvirt的简单认识

    一 简介 RHCS即 RedHat Cluster Suite 中文意思即红帽集群套件 红帽集群套件 RedHat Cluter Suite RHCS 是一套综合的软件组件 可以通过在部署时采用不同的配置 以满足你的对高可用性 负载均衡 可
  • CoreData(数据库升级 )版本迁移-iOS App升级安装

    如果IOS App 使用到CoreData 并且在上一个版本上有数据库更新 新增表 字段等操作 那在覆盖安装程序时就要进行CoreData数据库的迁移 具体操作如下 1 选中你的mydata xcdatamodeld文件 选择菜单edito
  • MySQL多版本并发控制分析 事务

    2 行的更新过程 下面演示下事务对某行记录的更新过程 1 初始数据行 F1 F6是某行列的名字 1 6是其对应的数据 后面三个隐含字段分别对应该行的事务号和回滚指针 假如这条数据是刚INSERT的 可以认为ID为1 其他两个字段为空 2 事
  • Javascript中最常用的30个经典技巧

    这个是我从网上找到的 整理了一下 1 nc ntextmenu window event returnValue false 将彻底屏蔽鼠标右键 table border border td no td table 可用于Table 2 取
  • Unity3d离散仿真引擎基础

    1 解释对象与资源的区别与联系 对象 对象直接出现在游戏场景中 是资源整合的具体表现 对象一般有玩家 敌人 游戏场景 摄像机等虚拟父类 这些父类没有实例化 而他们的子类实例化并包含了这些游戏对象 我们可以对这些对象进行操作 资源 资源可以是
  • [2023.8.28]Chapter1 ARM Embedded Systems

    ARM处理器内核是许多成功的32位嵌入式系统的关键组件 您可能自己就拥有其中之一 甚至可能没有意识到 ARM内核广泛应用于手机 手持组织器和其他许多日常便携消费设备中 从1985年的第一款ARM1原型机起 ARM的设计师们已经取得了长足的进
  • demo程序是什么_纯小白干货:第一个Java程序示例——Hello World!

    跟随世界潮流 第一个Java程序输出 Hell World 通过Eclipse运行程序 启动Eclipse 在菜单中选择 文件 gt 新建 gt Java项目 弹出对话框 填入项目名称 点击 完成 创建项目成功 可以看到在 E javawo
  • AsyncTask的实用-中断请求实现

    平时的app网络操作一般有几种方式 new Thread handler new AsyncTask 我常用的方式是new AsyncTask 可能比较方便吧 弊端 就是一旦请求 没有焦点 只能等待黑圈转完 new Thread 好处是好控
  • 【实践2】Python openpyxl获取Excel所有表名,删除Excel内指定工作表(判断是否存在某个sheet,存在即删除)

    简单介绍 定时爬虫任务会有每天使用pandas将数据写入Excel表中的动作 但每天写入的行数会有不同 例如第一天写入5000行而第二天只写入3000行 会导致该表中前3000行是最新数据 后2000是前一天的数据 因此最好的方法是在将数据
  • Magento关于添加Robots.txt文件

    在 Magento和其他电子商务平台的SEO话题中 有一个很常见的问题 怎样写robots txt文件 里面到底应该包含哪些内容 为了很好滴回答这个问题 我将根据我所有的知识和经验尝试找出一个最佳的robots txt文件写法 下面部分ro
  • 时间SQL查询大全

    查询15天之前得数据 modifydate 是数据库得时间字段格式yyyy MM dd hh mm ss SELECT FROM 表名 where DATE SUB CURDATE INTERVAL 15 DAY gt date modif
  • mysql数据库升级-MySQL 5.7.25主备架构小版本In-Place升级思路

    一 描述 漏扫发现MySQL有低风险漏洞 自己写方案 自己做测试 自己升级 版本 MySQL 5 7 25 升级到MySQL 5 7 28最新版本 架构 主从架构 二 升级流程 1 下载最新版数据库软件MySQL 5 7 28 2 上传到指
  • 萌新的Arduino大作业

    全自动收 晾衣服机 备注 本人因学校社团假期作业要求 用Arduino IDE编写并模拟实现了一个全自动 收 凉衣服的机器 由于硬件条件不足只能模拟 本人也是萌新一枚 希望观看的 大佬们不喜勿喷 有发现做错的话欢迎在评论区讨论 如果对你有帮
  • 西门子编程基础学习分享(3)-数据类型详述

    1200PLC的数据类型详述 前文所提到的数据类型用于描述数据的长度以及属性 即为指定数据元素的大小以及如何解释数据 每个指令至少支持一种数据类型 因而指令上使用的操作数的数据类型必须与指令所支持的数据类型一致 所以在设计程序 建立变量时需