news 2026/5/23 18:56:50

CoDeSys入门实战一起学习(二十):布尔、整型、实数、字符串、时间5大类标准数据类型详解(附实战案例)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CoDeSys入门实战一起学习(二十):布尔、整型、实数、字符串、时间5大类标准数据类型详解(附实战案例)

写CoDeSys程序的第一步,必然是声明变量/常量,而所有声明都离不开数据类型。CoDeSys的标准数据类型完全遵循IEC61131-3标准,共分为布尔、整型、实数、字符串、时间5大类,是所有PLC程序的“基础积木”。

很多新手容易踩坑:比如把整型赋值给布尔型导致编译报错、字符串未指定长度浪费内存、时间类型格式写错无法运行……这篇文章就把5大类标准数据类型的关键字、位数、取值范围、核心用法和避坑点讲透,搭配实战案例,看完就能直接用。

一、布尔类型(BOOL):PLC程序的“开关”

布尔类型是PLC中使用频率最高的类型,仅表示两种状态:TRUE(1)或FALSE(0),对应现场的“开关量”——比如传感器信号、阀门状态、电机启停信号。

  1. 核心参数:占用8位内存(注意:不是1位),仅最低位有效;
  2. 赋值规则:只能赋TRUE/FALSE或0/1,赋值整型会报C0032转换错误;
  3. 避坑重点:
  • 若内存最低位置1(如2#00000001)为TRUE,置0为FALSE,其他值会显示INVALID
  • 布尔数组不节省内存A:ARRAY[0..7] OF BOOL会占用8个8位字节,而非1个字节。

实战案例:与逻辑结果赋值

二、整型:无小数点数值的“全家桶”,记规律不用死记硬背

整型是CoDeSys标准类型中成员最多的类别,用于表示无小数点的整数,核心分有符号无符号,前缀有固定规律,记住再也不用翻手册:

  • U:Unsigned,无符号(全部位存数据,无符号位);
  • S:Short,短整型(8位);
  • D:Double,双整型(32位);
  • L:Long,长整型(64位)。

核心整型分类(常用)

类型

关键字

位数

取值范围

适用场景

无符号字节

BYTE

8

0~255

单字节数据、寄存器状态

有符号整型

INT

16

-32768~32767

常规整数运算、小范围计数

无符号双整型

UDINT

32

0~4294967295

大范围无符号计数、地址存储

长整型

LINT

64

-2^63~2^63-1

超大范围数据运算

有符号vs无符号核心区别

  • 无符号:所有位存储数据,正数范围更大(如UINT:0~65535);
  • 有符号:最高位为符号位(0正1负),正数范围缩小一倍(如INT:-32768~32767)。

实战案例:整型运算

三、实数(REAL/LREAL):处理小数的“专用工具”,指数形式超实用

实数也叫浮点数,用于表示带小数点的数值,比如温度、压力、流量等模拟量,CoDeSys支持两种:

  1. REAL:32位,取值范围1.175494351e-38~3.402823466e+38,满足常规模拟量运算;
  1. LREAL:64位,高精度,取值范围更大,需确认目标PLC支持(部分设备会转换为REAL导致精度丢失)。

两种赋值形式

  • 十进制小数:rTemp:=25.6;(直接赋值,直观);
  • 指数形式:rTemp:=2.56e1;(等价于25.6,适合超大/超小数值);

✅ 规范写法:e前有数字,e后为整数(如123e3);❌ 错误写法:e3、2.1e3.5。

四、字符串(STRING):字符处理的关键,按需定义节省内存

字符串用于存储字符序列(如设备名称、故障信息),关键字STRING,核心特点是可指定长度,这是节省PLC内存的关键!

  1. 存储规则:实际占用内存 =定义长度+1个字节(额外1字节存结束符);
  1. 默认规则:未指定长度时,系统默认分配80个字符,占用81字节;
  1. 截断规则:赋值字符串长度超过定义值,从右至左自动截断

避坑与优化技巧

  • 若程序中有大量短字符串(如设备编号、状态描述),务必指定长度,避免内存浪费;
  • 字符串常量必须用单引号包裹,如'Hello CoDeSys'

实战案例1:默认长度字符串(浪费内存)

实战案例2:指定长度字符串(优化内存)

五、时间数据类型:PLC的“时钟”,4种类型适配不同场景

时间类型用于处理时间、时刻、日期,内部以双字(DWORD)存储,共4种,格式有严格要求,写错直接编译报错,核心参数如下:

类型

关键字

精度

取值范围

格式示例

时间

TIME

毫秒

0~71582m47s295ms

T#3d19h27m41s1ms

时刻

TIME_OF_DAY/TOD

毫秒

0:0:0~1193:02:47.295

TOD#21:32:23.123

日期

DATE

1970-01-01~2106-02-06

D#2024-01-27

日期时间

DATE_AND_TIME/DT

1970-01-01~2106-02-06 06:28:15

DT#2024-01-27-16:22:31

核心用法与避坑

  1. 时间(TIME):必须以T#/t#开头,单位按d→h→m→s→ms排序,可自动溢出校正(如T#3d29h→T#4d5h);

❌ 错误:15ms(缺T#)、t#4ms13d(顺序错);

  1. 时刻(TOD):按时:分:秒.毫秒格式,如TOD#10:05:00.500
  1. 日期(DATE):按年-月-日格式,如D#2024-12-31
  1. 日期时间(DT):按年-月-日-时:分:秒格式,毫秒可省略。

实战案例:时间类型赋值

总结

标准数据类型是CoDeSys程序的“地基”,核心原则是**“按需选择”**:

  • 开关量用BOOL,整数运算用整型(优先选匹配取值范围的类型,节省内存);
  • 模拟量用REAL/LREAL,字符处理用STRING(务必指定长度);
  • 时间/日期用专用时间类型,严格遵循格式要求。

下一篇我们将讲解CoDeSys的标准扩展数据类型——联合体、长时间、宽字符串、引用、指针,这些高级类型能解决更复杂的编程问题,比如字节整合、高精度计时、间接访问内存等,敬请期待!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/21 1:19:08

centos7-nvidia驱动安装及简单测试

centos7-nvidia驱动安装类别信息服务器型号Rack Mount Chassis NF5280M6CPUIntel Xeon Silver 4310 CPU 2.10GHz * 2系统版本Centos 7系统内核版本3.10.0-1160.el7.x86_64GPU型号NVIDIA A100(40G)*4Nvidia版本525.85.05CUDA版本12.0.0docker版本20.10.9…

作者头像 李华
网站建设 2026/5/20 10:56:55

BUCK-BOOST升降压电路Multisim电路仿真分析

目录 0 概述 工作过程简述 Q1 导通阶段 Q1 关断阶段 稳态输出 主要元件作用 电路特点 1 过程分析: 第一次开关闭合时 第二次Q1闭合时C1放电 2 Multisim仿真分析 占空比D=25% 占空比D=60% 摘要 本文分析了三极管型BUCK-BOOST升降压开关电源的工作原理。该电路结…

作者头像 李华
网站建设 2026/5/21 17:31:04

内存固态等大幅涨价的优势是什么?

原本电子垃圾又有了些许价值升华。 排名上升 现在有部分旧电脑重新启用。看大数据的排名结果: https://blog.csdn.net/ZhangRelay/article/details/155345614 这是去年,2025年11月28日测试的结果,2%排位,非常低端了。 预料之中的…

作者头像 李华
网站建设 2026/5/21 0:26:22

YOLOv12官版镜像训练全流程,附完整代码示例

YOLOv12官版镜像训练全流程,附完整代码示例 YOLOv12不是迭代编号的简单延续,而是一次范式跃迁——它彻底告别了卷积主干,将注意力机制作为目标检测的原生语言。当行业还在为RT-DETR的推理延迟发愁时,YOLOv12已用1.6毫秒完成一次高…

作者头像 李华
网站建设 2026/5/22 8:42:45

SAM 3多模态提示实战:文本+点选协同提升小目标分割准确率

SAM 3多模态提示实战:文本点选协同提升小目标分割准确率 1. 模型概述 SAM 3是Meta推出的新一代多模态分割基础模型,能够同时处理图像和视频中的对象分割任务。与传统的单一模态分割模型不同,SAM 3创新性地支持文本提示和视觉提示的协同使用…

作者头像 李华
网站建设 2026/5/20 23:29:57

【毕业设计】SpringBoot+Vue+MySQL spring boot校园商铺管理系统平台源码+数据库+论文+部署文档

摘要 随着互联网技术的快速发展,校园商铺管理系统逐渐成为高校信息化建设的重要组成部分。传统校园商铺管理多依赖人工操作,效率低下且容易出错,无法满足现代校园商业活动的需求。通过数字化手段实现商铺信息的统一管理、订单的高效处理以及…

作者头像 李华