PLC编程时Word和int数据类型傻傻分不清楚?一文搞懂!
大家在做PLC程序设计时有没有遇到过这种困惑:有的程序里INT 和WORD可以互用,但是有的不行,word和INT各自的区别以及总结下哪些可以替代互用,哪些不能互用?本文一起学习一下!
一、区别的概述(着急的话看完这段就可以了)
1、WORD是无符号的数据类型;INT是有符号的数据类型(最高位为1表示负数,0表示正数)。通常情况下WORD用于逻辑运算,INT用于数学运算;在使用梯形图或SCL等语言编程时区分较严格。在使用语句表编程时系统不检测数据类型是否匹配,即WORD与INT在用法上没有什么区别(WORD可做数学运算,INT也可作逻辑运算)。
2、S7-300的WORD与INT的取值范围:
字的取值范围都是:W#16#0000~~~W#16#FFFF
十进制:
WORD:0-65535。
INT:-32768—+32767。
二、从编程角度分析一下(看完本段,知道然,并知道所以然)
1、讲解1
INT是一种数据类型,是16位整型数据,-32768-32767
WORD表示一个字,可以存放16位的数据,对于数据的类型没有具体的要求;
2、讲解2
数据类型INT 和WORD都是16位存储单元,但是INT是整数存储数据类型,存储的是整数,范围是-32768到+32767。WORD是字数据类型,如果存储数据的话是无符号整数0-65535。在STL语言编程中,数据类型不怎么区分 ,INT和WORD数据类型可以互用,但是在LAD语言编程中如果TNT和WORD数据类型互用会报错的。当然,你也可以在STEP7软件中设置在LAD编程模式下不区分数据类型就可以互用就不会报错了。但是不建议这样使用。
3、讲解3
给你一个很好理解方式,
就是如果你要用到负数,那只能用INT 因为INT是带符号的,最高位是符号位。
那么如果你没有符号需求,可以使用word 当然符号位也是数据,所以范围更大。
两者在用法上没有什么区别,但是在在LAD语言编程中如果TNT和WORD数据类型互用会报错的。
还有一点最值得注意的地方,你在给PIW这些通道添加符号注释的时候要注意数据类型,混淆了INT和WORD在调用FC105 你就会发现报错,这个很多人都会犯这个错误。
4、讲解4
INT是整数,取值范围-32768~32767。WORD是字,取值范围0~65535。
如果在调用的块中使用,注意块引脚指定的数据类型,使用的变量类型必须与引脚的数据类型一致才可以的。当然也要注意存储数值的范围。
三菱FX PLC功能指令,怎么学?
很多小伙伴问学完编程入门后又应该学习什么内容呢?我的回答是,学完三菱编程入门后应该学习三菱FX PLC功能指令, 包括功能指令的预备知识、三菱FX系列PLC的编程元件、寻址方式等,以及三菱FX PLC的所有功能指令的使用和应用。注意,学习功能指令应具备一定的三菱PLC编程基础知识,如果没有这方面知识,切不可一上来就学习功能指令,那么你肯定是学不好的。
对于FX系列PLC的功能指令, 主要包括程序流程指令、传送与比较指令、移位指令、数值运算指令、数据处理指令、外部设备指令、高速处理和PLC控制指令、脉冲输出和定位指令、变频器通信指令、方便指令和时钟处理指令等,此外还有专门用于步进顺序控制的步进指令等。
学习完后,你将能达到如下目标:掌握FX系列PLC的功能指令的应用,掌握子程序、中断的使用,掌握步进顺序控制编程,能够独立编写复杂的自动控制程序,还可以提高自己的编程能力,拓宽自己的编程思维。编程中应用功能指令,还能在一定程度简化所编写的程序。
这阶段,你能够独立编写复杂的自动控制程序。 比如:复杂十字路口交通灯控制、圆盘180度正反转、圆盘工件箱传送、电机软启动/停止控制、电梯楼层七段数码管显示控制、凸轮控制器、用凸轮控制器控制电动机轮换运行、矩阵输入……等等。
再比如:数码管显示日期时间控制、电动机运行时间调整、定时闹钟、整点报时、十字键设定定时器的设定值、球速可调可显示得分的乒乓球比赛控制,利用步进顺控的机械手控制等等、轮胎硫化机自动控制……等等,这都是你掌握这门课程内容后可以编程做到的。掌握了功能指令的使用,你可以编写复杂的开关量控制程序、以及做顺序控制程序编程,这一阶段你将拥有较灵活的编程思维,编程起来也会更加得心应手,这时你的薪资水平会有一定的提升。
对于功能指令部分的学习 ,你首先应该先学习功能指令预备知识,包括指令格式解读、三菱的编程元件(X Y M S T C D V Z P I K H)、寻址方式(直接寻址、立即寻址、变址寻址),这些知识是功能指令应用的基础,这也是为后面更好的掌握功能指令打下基础。
学习完了功能指令预备知识后就要开始学习功能指令了,三菱FX2N PLC的功能指令有137个,FX 3U PLC的功能指令就更多了,你是不是会有疑问?这么多的指令我应该怎么学,是不是应该按顺序全部都学完?其实不是的,三菱功能指令中有很多是不常用的指令,这些指令其实可以暂时先不掌握,主要先学习最常用的功能指令,至于不常用的指令需要用到时再查找编程手册就可以了。
常用功能指令的划分如下: 1、传送指令MOV;2、比较指令CMP、ZCP;3、触点比较指令;4、数据交换指令XCH;5、循环移位指令ROR和ROL;6、位移指令SFTR和SFTL;7、数据运算和逻辑运算指令;7、加1减1指令INC和DEC;8、浮点数运算指令9、浮点数转换指令FLT、INT;10、编码译码指令DECO、ENCO;11、区间复位指令ZRST;12、交替输出指令ALT;13、时钟处理指令。
学习完常用功能指令之后, 这时你需要进行编程练习,你可以网上找一些编程案例来练习指令的使用以及编制程序,以此来锻炼自己的编程思路。《PLC控制程序精编108例》和《PLC编程100例》里面也有一些是应用功能指令编程的程序,可以拿这些案例来练习。
此外,功能指令中还有一部分是有专门用于步进顺序控制的指令,你要学习顺序控制程序的编辑,你还要学习三菱FX PLC SFC顺序控制应用和GX软件在SFC里面的应用,主要是学习步进顺控控制知识、以及步进指令梯形图程序编程和SFC编程。
另外,功能指令中还有一部分是有对应功能应用的指令 ,比如特殊功能模块读写指令FROM和TO、PID控制指令、串行数据传送指令RS、高速计数器指令、脉冲输出指令、定位指令等。FROM和TO、PID控制指令主要是在做模拟量控制时需要用到;串行数据传送指令RS主要是做通信控制时用到;脉冲输出指令、定位指令主要是做定位控制时用。学这些指令时需要对应去学习相关控制的内容,这也是属于中高级应用内容。
学习完三菱FX PLC常用功能指令应用之后 ,就可以去学习中高级部分的内容了,包括模拟量控制、通信控制、定位控制这些内容。有人就会问,模拟量、定位、通信这三个部分,又应该先学哪个呢?其实这并没有先后顺序,因为这三者之间都是互不相关的。在你的实际工作中,需要用到哪方面的控制,那么就先学对应的内容。
那么以上就是关于功能指令部分的学习方法总结,希望对大家有所帮助!(技成培训原创,作者:蔡慧荥,未经授权不得转载,违者必究!)
相关问答
plc中int指令什么意思?
在PLC中,INT指令通常是指将浮点数转换为整数的操作。PLC(可编程逻辑控制器)是一种用于控制工业过程的电子设备。在PLC编程中,INT指令用于将浮点数转换为整数...
abbplc编程指令byte_to_int的含义?
字节类型转换指令功能是把字节类型转换为其他数据类型输入输出类型:BOOL,WORD,DWORD,SINT,INT,UINT,UDINT,REAL,TIME,DATE,TOD,DT和STRING。by...
三菱plc中int是什么指令?
int是三菱PLC中的指令之一,用于将16位二进制整数存储到一个寄存器中。这个指令可以用来进行数值运算,包括加、减、乘、除等。此外,int指令也可以在逻辑控制中...
plc中int数据取值范围?
可编程逻辑控制器(PLC)中的INT数据类型通常表示为16位有符号整数,取值范围为-32,768(-2^15)至32,767(2^15-1)。此范围允许存储和处理各种整数值,包....
西门子PLC的ATCH中断指令使用?
中断连接指令(ATCH)将中断事件EVNT与中断程序号INT相关联,并使能该中断事件。在激活一个中断程序前,必须在中断事件和该事件发生时希望执行的那段程序间建立...
西门子plc中16进制取值范围是多少?
在西门子PLC中,16进制数的取值范围可以从0x0000到0xFFFF。16进制数是一种以16为基数的计数系统,使用数字0到9以及字母A到F(或a到f)来表示数值。在PLC编程中,...
1200plc设置指令?
众所周知,S7-1200不支持Graph语言,但这种语言又很适合顺序逻辑控制,按照工艺的步序,一步步编程即可,为了解决S7-1200在Graph方面的弊端,我们可以通过CASEO...
用台达触摸屏、PLC、变频器,在屏上设定速度,通过PLC上485与变频器通讯来控制电机转速,程序怎么作?
主要在于PLC,变频器参数设置成485控制启停PLC要程序通过485通讯控制变频器(注意控制字,每一个变频器的控制字不一样的),在PLC程序中设定一个字(int),连接...
西门子plc整数转浮点数指令?
转换指令CONVERT转换指令是将一种数据类型转换成另一种数据类型的,使用的时候单击指令“???”的位置,然后在下拉列表中选择输入数据类型和输出数据类型。CONVE...
三菱PLC的INTD320D360是什么意思?
这是三菱的取整指令,把D320取整后的值放在D360中。INT对应16位整数,DINT对应32位浮点数这是三菱的取整指令,把D320取整后的值放在D360中。INT对应16位整数,D...