FX5U PLC数据类型详解
本文详细整理了三菱FX5U系列PLC的各类数据类型定义、取值范围、存储方式及位操作方法。---1. Bool位类型| 属性 | 说明 ||------|------|| **数据位** | Bool只可能是 **0 / 1** || **数据大小** | 1位 || **X、Y点** | 8进制 |输入/输出区定义- **输入区 X点**X0位、X1位、X2位...- **输出区 Y点**Y0位、Y1位、Y2位... **PLC对位操作**PLC可以直接对单个位Bit进行读写操作。---2. Word字类型| 属性 | 说明 ||------|------|| **值的范围** | 0 ~ 65535 || **数据大小** | 16位 |X输入点与Word的关系- 16个X点合成一个**字**Word- 例如X10、X12、X13、X14、X15、X16、X17、X0、X1、X2、X3、X4、X5、X6、X7、X11 组成一个16位输入字- 理论上可表示为 **DX0**重要限制 **注意**在三菱FX5U中**不允许使用 DX0**只能使用D区寄存器D0, D1, D2...。 使用D区时D0、D1...的大小都是 **16位**。---3. D寄存器的位结构D0拆解D0作为16位寄存器可以拆解为16个独立的位Bit进行操作位编号D0.15 D0.14 D0.13 D0.12 D0.11 D0.10 D0.9 D0.8 | D0.7 D0.6 D0.5 D0.4 D0.3 D0.2 D0.1 D0.015 14 13 12 11 10 9 8 | 7 6 5 4 3 2 1 0**特性**- 可以对D0中的**任意一位**进行独立操作- 可转化为16进制进行查看和计算---4. DWord双字类型| 属性 | 说明 ||------|------|| **值的范围** | 0 ~ 4294967295 || **数据大小** | 32位 |**存储方式**- 当数据类型选择DWord时写D0实际上包括 **D0和D1**两个连续的16位寄存器- D0为低16位D1为高16位---5. INT整数类型| 属性 | 说明 ||------|------|| **值的范围** | -32768 ~ 32767 || **数据大小** | 16位 |符号位说明当数据为整数INT时- **D0.15位**最高位表示**符号位**- 1 表示**负号**-- 0 表示**正号**位结构图示位功能D0.15 D0.14 D0.13 D0.12 D0.11 D0.10 D0.9 D0.8 | D0.7 D0.6 D0.5 D0.4 D0.3 D0.2 D0.1 D0.0符号位 1/0 数值位 数值位 数值位 数值位 数值位 数值位 数值位 | 数值位 数值位 数值位 数值位 数值位 数值位 数值位 数值位---6. DINT双整数类型| 属性 | 说明 ||------|------|| **值的范围** | -2147483648 ~ 2147483647 || **数据大小** | 32位 | DINT使用两个连续的16位寄存器如D0和D1存储最高位第31位为符号位。---7. REAL单精度实数/浮点数类型| 属性 | 说明 ||------|------|| **定义** | 有小数点的数 || **值的范围** | -2^128 ~ -2^-12602^-126 ~ 2^128 || **数据大小** | 32位 |**存储特点**- 浮点数的存储方法与DWord存储方法**不一样**- 结构比较复杂包括符号位、指数位、尾数位**不要求掌握**具体存储细节---8. 数据存储详解8.1 正数存储示例数字10**规定大小**16位十进制10的存储过程1. 十进制 **10** 转成二进制00000000 000010102. 在寄存器中的位分布位编号 D0.15 D0.14 D0.13 D0.12 D0.11 D0.10 D0.9 D0.8 | D0.7 D0.6 D0.5 D0.4 D0.3 D0.2 D0.1 D0.0二进制 0 0 0 0 0 0 0 0 | 0 0 0 0 1 0 1 0[-------------------- 高位 --------------------] [-------------------- 低位 --------------------]**说明**- D0.15位为0表示这是**正数**- 其余位存储数值的二进制表示---8.2 负数存储示例数字-10**规定大小**16位负数存储的核心原理补码表示法**步骤1将-10的绝对值10转换为二进制**- 10的二进制00000000 00001010**步骤2取反0变11变0**- 取反后11111111 11110101**步骤3加1**- 加1后11111111 11110110**最终存储在寄存器中**位编号 D0.15 D0.14 D0.13 D0.12 D0.11 D0.10 D0.9 D0.8 | D0.7 D0.6 D0.5 D0.4 D0.3 D0.2 D0.1 D0.0二进制 1 1 1 1 1 1 1 1 | 1 1 1 1 0 1 1 0[-------------------- 高位 --------------------] [-------------------- 低位 --------------------]**验证**- D0.15位为1表示这是**负数** ✓- 将11111111 11110110转换为十进制- 先减111111111 11110101- 再取反00000000 00001010 10- 加上负号**-10** ✓---9. 数据类型速查表| 数据类型 | 数据大小 | 取值范围 | 符号位 ||---------|---------|---------|--------|| Bool | 1位 | 0 / 1 | 无 || Word | 16位 | 0 ~ 65535 | 无 || DWord | 32位 | 0 ~ 4294967295 | 无 || INT | 16位 | -32768 ~ 32767 | D0.15 || DINT | 32位 | -2147483648 ~ 2147483647 | 第31位 || REAL | 32位 | -2^128 ~ 2^128 | 有浮点格式|---10. 关键要点总结1. **Bool类型**只有0和1两种状态用于开关量控制2. **Word/DWord**无符号整数用于计数、地址等3. **INT/DINT**有符号整数最高位为符号位补码存储4. **REAL**浮点数用于需要小数精度的场合5. **负数存储**采用补码方式便于计算机进行加减运算6. **D寄存器**16位为基本单位DWord和DINT占用连续两个寄存器---11. 实际应用建议- **开关量控制**使用Bool类型X、Y、M点- **普通计数**使用Word类型0~65535范围足够- **温度/压力等模拟量**使用INT或REAL类型- **大数值计算**使用DINT或DWord类型- **精确计算**使用REAL类型注意浮点精度问题--- **版权声明**本文为学习笔记整理仅供学习交流使用。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2420232.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!