课程中心
HOME
课程中心
正文内容
plc编程等于整数 学PLC经常遇到的基本数据类型问题,看完就懂了
发布时间 : 2024-11-25
作者 : 小编
访问数量 : 23
扫码分享至微信

学PLC经常遇到的基本数据类型问题,看完就懂了

点击"PLC发烧友"关注我们吧!

众多PLC学习者中,学到数据类型总会遇到坎。如果在这个问题上一知半解,就会直接导致思维停留在基本逻辑编程上,延伸到后续的模拟量运算、通信数据交换等知识时,就很难真正弄懂。原本模拟量和通信并不难,但却又很多人学不会,根本原因就在于前面的基本数据类型不通。

今天就给大家讲解为什么要有数据类型、存储器?它们在整个PLC里面起到什么作用?

PLC如果只能让电机正转或者反转,阀门闭合或者关闭,指示灯闪烁等,那么PLC就和普通的继电器控制没有太大区别。PLC能代替原来的继电器控制,就是因为它像一个微型电脑一样,还可以计算,存储数据,不仅仅是简单的通断电。现实中用到的数,有正数,负数,还有带小数点,不带小数点,有的数大,有的数小。这些都需要PLC进行智能识别,且根据类型不同,进行分类存放,因此就有了数据类型和数据存储器。这两个知识点,需要同时学习。

西门子300/400要比小型机200系列的PLC功能更强大,因为数据类型增加了不少。最常用的数据类型主要有:位、字节、字、双字、整数、双整数、浮点数。例:PLC像现在的电脑、手机、相机一样,都是数字化产品,里面最基本的单位就是位,就是开关量,也叫数字量,只有两个状态,0和1,0代表没电,1代表通电。PLC的内部所有的数据,本质上都是0和1组合而成。比如3这个数,比较小,存放到什么地方呢?下面给大家展示一下几种存储器的类型。

(1)1个字节=8个位,用B(byte)表示

(2)1个字=16个位,用W(word)表示

(3)1个双字=32个位,用D(double word)表示

字节,字,双字,我们可以叫做8位、16位、32位的存储器。怎么区分什么样的数据存放到什么样存储器呢?假如把存储器想象成公园的椅子,有只能坐8个人的,有可以坐16个人的,还有超长版坐32个人的。如果最多只有8个人,建议大家用字节(8位相等于8个人,当然坐3个人或者更少也是可以的)。如果是10个人,很显然,字节就容不下了,推荐16位的字。如果是20个人,那么就只能选择32位的双字存储器了,其他两个都容不下。

也就是说,8位,16位,32位分别代表了他们的最大值,字节最大就是8个位都填满, 相当于8个人都坐到椅子上,多一个都不行,因此字节的最大值就是2#11111111,换算成十进制就是255(进制之间的转换在西门子300精品课程第一部分有详细讲解),以此类推,可以推算出来16位的最大值是65535,和32位的最大值4294967295(建议大家自己去算)。

提醒一下,比如一个数是34,没有超过255,这个数既可以存放到字节里,也可以存到字,还可以存到双字地址里,就像虽然只有1个人,他非要占住超常版的椅子(32位)也是可以的。有同学就会问了,如果有33个人,坐什么椅子呢?哈哈,问的好,目前还没有这么长的椅子,也就是说PLC目前能处理的最大数就是32位的了,其他的爱莫能助。

首先明白了8位,16位,32位存储器的作用,然后再学习IB0,QW0,DB0.DBD0等这一类的地址或者指令时,才会灵活使用。下面用DB0数据块为例,给大家总结一下不同的存储器里可能存放的数据类型。

(1)DB0.DBX0.0:表示一个位,不是0就是1

(2)DB0.DBB0:字节,里面只能是255以内的正数

(3)DB0.DBW0:字,里面可能是0-65535的正数,也可能是-32767到+32768之间的整数(有正负之分的数)

(4)DB0.DBD0:双字,里面存放的类型比较多,分别是

(a)0-4294967295之间的正数

(b)-2147483648到2147483647的双整数

(c)浮点数,即带小数点的数

关于数据类型你清楚了吗?

S7-1200 PLC的转换操作指令,你能说出几个?

前面给大家介绍了移动操作指令,接下来就接着介绍一下转换操作指令吧,S7-1200 PLC的转换操作指令也包括有数据类型的转换指令、实数转整数指令、以及用于缩放和标准化指令。

在我们S7-1200 PLC中,转换指令就是CONVERT,我们可以在指令中更改数据类型,相当于所有的转换指令都集合在这个CONVERT指令中,而对于S7-200/200 SMART PLC的转换指令是比较多的,我们需要哪个类型的转换指令就调用哪个指令,不能更改指令的类型,大家在学习的时候可以对比着学习,下面我们就介绍一下S7-1200 PLC常用的移动指令吧。

1、转换指令CONVERT

转换指令是将一种数据类型转换成另一种数据类型的,使用的时候单击指令“???”的位置,然后在下拉列表中选择输入数据类型和输出数据类型。

CONVERT指令支持的数据类型包括有整数、双整数、实数、无符号短整型、无符号整型、无符号双整型、短整型、长实数、字、双字、字节、BCD32等,比如INT TO DINT就是表示把整数转换成双整数。

IN管脚是输入要转换的数据,OUT管脚是转换后的数据,在管脚输入数据类型的时候注意要跟设置的数据类型一致哦。

2、浮点数转整数指令

S7-1200 PLC的浮点数转换指令包括有四舍五入取整指令ROUND、向上取整指令CEIL、向下取整指令FLOOR和截取尾数部分取整指令TRUNC这四个,而S7-200/200 SMART PLC的浮点数转换指令只有ROUND和TRUNC,那么S7-1200 PLC的CEIL和FLOOR指令大家可以着重了解一下,对比着学习效率更高哦。

这里还要提一下的是,前面所说的CONVERT转换指令也是可以实现浮点数转整数的功能的哦,具体想使用哪个指令就看你怎么选择了。

上图的程序中ROUND是对13.7四舍五入输出14,TRUNC是将12.5的尾数部分截取掉,取12进行输出,FLOOR是15.8向下取整变成15,CEIL是将12.4向上取整变成13。

3、缩放SCALE_X和标准化NORM_X指令

缩放和标准化指令通常配合使用来实现模拟量输入和输出的转换,模拟量的转换是有个对应的公式的,这两个指令其实也是根据如下这个公式而来的。

缩放指令SCALE_X用于按照参数MIN和MAX所指定的数据类型和值范围对标准化实参VALUE进行标定,OUT=VALUE*(MAX-MIN)+MIN,其中0.0<=VALUE<=1.0。

标准化指令NARM_X用于通过参数MIN和MAX指定的范围内的参数VALUE,把其标定在0%~100%范围内。OUT=(VALUE-MIN)/(MAX-MIN),其中0.0<=OUT<=1.0。

以上这两个指令主要是在模拟量控制中会有应用,如果是入门的学习可以先简单了解就可以,等之后学习到模拟量控制部分再来详细学习。

以上这些就是转换操作指令的介绍,转换指令在我们做一些运算处理的时候是会应用到的,除了缩放和标准化指令可以简单了解,其他的转换指令都是需要掌握的哦,大家记住了吗?

( 技成培训网原创,作者:蔡慧荥,未经授权不得转载,违者必究 )

更多了解,点↓

相关问答

plc程序等于整数什么意思?

作为语法语言,PLC程序中的各种标识符都必须遵守固定的命名规则和语法规则。在某些编程语言中,等于号(=)是用来表示变量赋值操作的符号。因此,“PLC程序等于...

小弟刚学PLC,B_I:字转换为整数,在什么情况下使用?I_DI:整数...

[最佳回答]DI_R:双整数转换为实数,比如,整数除法会四舍五入,实数精确到小数ROUND:四舍五入取双整数指将实数值(IN)转换成双整数值.比如想把实数转成整数,实数...

plc序号是什么?

PLC序号是指在PLC程序中给每个步骤或操作分配的唯一数字标识符。它通常是一个整数,用于识别和跟踪程序的不同部分。PLC序号在程序编写和调试过程中非常重要,因...

PLC的“字”和“位”是什么意思?

它只占用地址一位,表示方法是V0.0;M0.0;I0.0等。VB是字节数据地址,也就是小于255的8位二进制数或大于-126的整数。PLC编程语言符合IEC61131标准。其中比...

西门子S7-1200PLC如何转换模拟量?

下面看模拟量输出程序假设MD360存储的就是我们需要输出的电压伏数乘以2746.8转换成整数放入QW134即可因为满输出对应10V对应是27648,1V应该是多少呢?就是27...

plc中整数与双整数之间的相互转换有什么意义?

整数范围-32768到32767双整数范围-2147483648到2147483647实数范围±1.175495e-38到±3.402823e+38根据所用到的数转换成需要的数值,范围不一样所以...

plc中浮点是什么意思?

在PLC(可编程逻辑控制器)中,浮点数是一种数据类型,用于存储实数(即带有小数点的数字)。浮点数通常用于需要高精度计算的应用程序中,例如控制系统中的PID控...

有谁能帮我介绍下,我对西门子PLC的实数,整数,双整数,浮点数,字符串有写不明白他们之间是如何转换的?

实数,就是浮点数可以理解为带小数点的数据如1.5100.5整数,顾名思义就是没有小数点范围0-65535的双整数,同上范围0-4294967295浮点数,就是实数...

plc变量如何分配?

在PLC(可编程逻辑控制器)编程中,变量分配通常涉及将物理输入/输出信号映射到PLC内存中的变量。以下是变量分配的基本步骤:确定输入和输出信号:首先,需要识...

plc与c语言的数据类型?

PLC是可编程逻辑控制器的缩写,它通常用于工业自动化控制领域。PLC与C语言的数据类型之间存在一定的差异。PLC通常使用的数据类型包括布尔型(bool)、整数...

 纳米复合材料  朱令铊中毒案 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部