研选课堂
HOME
研选课堂
正文内容
plc编程为啥要转换字节 PLC的高低字节转换
发布时间 : 2024-10-06
作者 : 小编
访问数量 : 23
扫码分享至微信

PLC的高低字节转换

PLC的寄存器分为单字(Word)和双字(Dword),Word占用2个字节Byte,Dword占用4个字节Byte;

在PLC和其他设备通讯往往以字节为单位进行传送的,根据不同的通讯协议,传送所发的内容不一致,其中有些协议需要进行前后字节交换,向常见的PLC,三菱,汇川等日系PLC有专门的指令SWAP来进行转换;例如寄存器 A:=16#AABB,经过SWAP指令后,A=16#BBAA

Codesys编程和传统的PLC编程不一样,Codesys编程是属于一种面向对象的编程方式,使用起来比较具有灵活性,可以根据自己的编程习惯风格来进行编程程序;下面举例如何使用Codesys来进行编写SWAP指令;

代码如下:

---------------------------------------变量声明区--------------------------------------------------------------------------

PROGRAM PLC_PRG//程序名字

VAR

//

IN :WORD;//IN是变量名称, WORD是变量变量类型

OUT :WORD;

END_VAR

---------------------------------------程序执行区-------------------------------------------------------------

OUT :=IN/256+(IN MOD 256)*256;

(*

16位数据除以256,即将16位数据的高低8位自动分开。

例如原数值是;2#1111111100000000,转换成10进制就是 65280,转换出16进制就是FF00.

将该数值除以256和取余256,结果分别是 数值的高8位(整数),和数值的低8位(余数)

再将余数乘以256+整数得出的新数据就是高低字节转换后的数值;

*)

需要学习PLC(三菱,西门子,汇川,禾川,信捷,台达,松下,欧姆龙,Codesys)可以在评论区留言;

西门子PLC的数据类型及数据转换

1. 数据类型

在PLC项目编程中,离不开数据类型和变量,搞清楚数据类型和数据类型的转换很重要。

常用的数据类型包括以下几种:

位(bit),字节(Byte),字(Word),双字(Double Word),整型数(INT),双整型书(DINT),及实数/浮点数(Real)

1.1 位(bit)

常称作布尔量BOOL,在高级语言中,会说布尔变量,布尔控件等。

取值:0 ,1

寻址:I0.0 M0.0 Q0.0 等。

应用:在DI,DO梯形图编程中,会大量用到I点,M点,Q点。

1.2 字节(Byte)

8个bit组成一个Byte,其中0位表示最低位,7位表示最高位。如MB0(包括M0.0-M0.7位),IB0(包括I0.0-I0.7位),QB0(包括Q0.0-Q0.7位)。

寻址:MB0,IB0,QB0,VB0等。

范围:00-FF(十进制0-255)

应用:MB0赋值为1(0000 0001)即M0.0赋值为真,其余M0.1-M0.7为假。

MB2赋值为1(0000 0010)即M0.1赋值为真,其余为假。

MB3赋值为1(0000 0011)即M0.1和M0.0赋值为真,其余为假。

······

1.3 字(Word)

相邻的两个字节(Byte)组成一个字(Word),来表示一个无符号数。一个Word包括16bit。

寻址:MW0,IW0,QW0,VW0等。

范围:0000-FFFF(十进制0-65536)

应用:在模拟量的处理采集中会大量涉及到Word的应用。要注意数据的转换,在后面一块说。

······

注意:相邻两个字要慎用,如MW0(MB0+MB1),MW1(MB1+MB2),所以用了MW0,再用就从MW2,MW4这么用。

1.4 双字(Double Word)

相邻的两个字(Word)组成一个字(DWord),来表示一个无符号数。一个双字包括32bit。如MD0由MW0(MB0,MB1),MW2(MB2,MB3)组成。

寻址:MD0,ID0,QD0,VD0等。

范围:0000 0000-FFFF FFFF(十进制0-4294967295)

应用:在模拟量的处理采集中会大量涉及到DWord的应用。要注意数据的转换,在后面一块说。

······

注意:相邻两个字要慎用,如MD0(MW0+MW1),MD2(MW2+MW3),所以用了MD0,再用就从MD2,MD4这么用。

1.5 16位整形(INT,Integer)

整数为有符号数,最高位为符号位,1表示负数,0表示正数。范围为-32768-32767.

寻址:MW0,IW0,QW0,VW0,DB1.DBW0等。

范围:-32768-32767

应用:IW0包括IB0和IB1,IB0为高字节,IB1为低字节;

注意:16位整形数和Word的寻址地址是一样的,这里就看把这个寻址地址定义为什么数据类型了。

注意2:注意区分寻址地址和数据类型,这里讨论的是数据类型。可以把一个寻址地址(DB1.DBW0)里的数定义为无符号数(Word)或(INT)

1.6 32位整形(INT,Integer)

一个32位整数里包括两个字或者说4个字节共32位(bit0-bit31),最高位的bit31表示符号位,bit31=1表示为负数。

寻址:MD0,ID0,QD0,VD0,DB0.DBD0等。

范围:-2147483648-2147483647

注意:32位整形数和DWord的寻址方式是一样的,这里就看把这个寻址地址定义为什么数据类型了。

注意2:注意区分寻址地址和数据类型,这里讨论的是数据类型。可以把一个寻址地址(DB1.DBD0)里的数定义为无符号数(DWord)或(DINT)

1.7 实数/浮点数(Real)

浮点数为32为,可以用小数来表示。

寻址:MD0,ID0,QD0,VD0,DB0.DBD0等。

范围:±1.75495×10 -38-±1.75495×10 38

2. 位、字节、字、双字关系表

3. 应用举例

在PLC模拟量的采集和输出中,经常会用到数据类型转换和线性转换,这里只简单说一下,具体应用在下一篇中介绍。

在模拟量的采集中,采集到的数据类型为16位整型,要想把它转换为物理量,就需要线性转换,线性转换就涉及到加减乘除,就需要把整形转换为实数型。

在S71200,1500中,模拟量的寻址:如%IW9。

在1200中,INT数据类型直接可以转换为Real类型

在S7300,200中,模拟量寻址:PIW0。

在300和200PLC中不允许INT直接转换为Real,先要把INT转化为DINT,然后把DINT转换为REAL。

相关问答

plc为什么要传送数据字节?

PLC(可编程逻辑控制器)需要传送数据字节是为了实现控制和通信功能。以下是其中几个原因:1.数据交换:PLC通常需要与其他设备(如传感器、执行器、人机界面等...

plc的位和节什么意思?

在PLC(可编程逻辑控制器)中,位(bit)和节(byte)是计量存储容量的单位。下面我将详细解释一下它们的含义和用途。1.位(bit):位是计算机中最小的存储单...通过...

plc字节和位是干什么用的?

PLC中的字节和位是用于在控制器中存储和操作数据的单元。1.字节(byte):它通常是8位二进制数字的一个单元,可以存储从0到255之间的数据值。在PLC中,它被用...

为什么三菱plc高低字节互换?

三菱PLC高低字节互换是因为它使用的是大端模式(BigEndian)的数据格式,即高位字节在前,低位字节在后。这种数据格式在数据传输和处理中比较常见,但有些机器...

在西门子PLC编程中,什么时候用字节,什么时候用字,什么时候用双字?难道就不能用一种,如字节?

按照数据长度选用。8位数据用字节,比如IB0(包括I0.0~I0.7共8个位).16位数据用字,比如IW0(包括IB0、IB1共16位)32位数据用双字,比如MD100(包括MW100、MW10...

PLC为什么要用字或双字?

PLC中位只有两个值,0或1,比如I0.1,Q0.1,M0.1。一个字节等于8位,其中0位为最低位,7位为最高位。比如IB0(I0.0~I0.7位),QB0(Q0.0~Q0.7位),MB0(M0.0...

在plc编程中byte转换成real的原理是什么

你想要一个16进制数形式的字符串还是把每个16进制数转成它代表的ascii字符?你的源数据是个byte[]?第一种就没什么可说的了,直接调每个byte的ToStri...

西门子字节表示方法?

西门子是一种S7系列PLC控制器所使用的编程语言,其字节表示方法是以大端字节序(BigEndian)为主。在大端字节序中,高位字节存储在低地址中,而低位字节存...

BYTE在PLC中是什么意思?

在PLC中,位,就是用0、1代码表示bool量,即是bit字节是8个bit,即是byte。字就是2个字节。双字就是2个字。这些都是为了在设备中存储区使用方便,做的一些规定。...

PLC编程里的十进制什么意思?

在PLC编程中,十进制(Decimal)是一种数字表示方式,它使用10个基本数字(0-9)和位置权重(10的幂)来表示数值。与二进制、八进制和十六进制等其他数字系统相...在...

 宝马545  张宗昌简介 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

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

热线

188-0000-0000
专属服务热线

微信

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