电工学习网

 找回密码
 立即注册
查看: 5184|回复: 1

PLC如何表示有符号数

[复制链接]
发表于 2018-12-18 23:01:26 | 显示全部楼层 |阅读模式
    与计算机相似,plc的内部数学运算一般用二进制数补码来表示有符号数,正数的补码等于它本身,负数的补码等于其对应的正数的各位逐位求反后加1。补码的最高位为符号位,正数的符号位为0,负数的符号位为1。将负数的补码的各位求反后加1,便得到了它的绝对数。
整数就是譬如1234,实数可以带小数点也可以是负数,双整数是用来转换用的。讲一个实例吧,以温度模拟量输入模块为例,温度程序是直接读PIW数值后,然后先将整型转化为双整型,双整型再转化为实型,最后除以10.0即为实际温度值。

1.16位整数(INT)    是有符号数,整数的最高位为符号位,最高位为0时为正数,为1时为负数,取值范围为-32768~32767。

2.32位整数(DINT)    的最高位为符号位,取值范围为-2147483648~2147483647。

3.32位浮点数(REAL)为称实数,可以表示为1.mX2^E,其中尾数m和指数E均为二进制数,E可能是正数,也可能是负数。浮点数的优点是用很小的存储空间(4B)可以表示非常大的和非常小的数。

4.在编程软件中,一般并不直接使用二进制格式或十六进制格式的浮点数,而是用十进制小数来输入或显示浮点数,例如在编程软件中,10是整数,而10.0为浮点数。

首先你要知道每一种类型的数据的位宽比如V区中的一个数:VB0  -----  一个字节(8位位宽);无符号范围是0-----255,有符号范围是-128 ----- +127;VW0 -----  一个字(16位位宽);无符号范围是0-----65535,有符号范围是-32768 ----- +32767VD0  -----  双字(32位位宽);无符号范围大约在0-----4294967295;有符号范围-2147483948 ---- 2147483947实数也是32位位宽,可以用VD双字来进行存取。至于什么时候用相对变的类型,这个也比较简单,只要其变量的最大值不会产生溢出就行,如果一个变量的最大值为200,你用字节类型储存就可以,也可以用字或双字,但会浪费空间,像实数肯定是32位用双字类型。

回复

使用道具 举报

发表于 2018-12-19 08:38:21 | 显示全部楼层
很具体,感谢感谢

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

电工学习网 ( )

GMT+8, 2024-3-29 14:04

Powered by © 2011-2022 www.diangon.com 版权所有 免责声明 不良信息举报

技术驱动未来! 电工学习网—专业电工基础知识电工技术学习网站。

栏目导航: 工控家园 | 三菱plc | 西门子plc | 欧姆龙plc | plc视频教程

快速回复 返回顶部 返回列表