PLC:200smart
- 第十章、==数据类型==、==数据存储==
- 1、数据类型
- 1.1、有符号数
- 1.2、有符号数
- 2、传送指令
- 第十一章、==比较指令==、==整数、浮点数的运算==
- 1、比较指令
- 1、运算指令
- 1.1、浮点数运算
- 1.2、整数运算
第十章、数据类型、数据存储
1、数据类型
数据类型分为两大类
无符号数:位、字节、字、双字;
有符号数:整数、双整数、浮点数;
1.1、有符号数
① 位,又叫Bit或Bool,是一个开关量或者数字量,只有0和1两种状态,是最小的存储单元(如I0.0,Q0.0,M0.0,V0.0);
范围:0、1
注1:
I、Q、M的数量太少了,都是只有255个,不适合做存储;
V的数量很多,足够用,可以专门用来做存储;
注2:T、C也有两种状态,但是不是位,是带功能的指令
② 字节,又叫Byte,又叫B,由连续的8个位组成,如QB0(Q0.7<–Q0.0)、IB0(I0.7<–I0.0);(左侧是高位,右侧是低位)
范围:0~255
存储器:使用VB进行存储,如VB0(V0.7<–V0.0)
③字,又叫Word,又连续的2个字节(16位) 组成
范围:0~65535
存储器:使用VW进行存储(间隔2),如VW0(VB0和VB1)、VW2(VB2和VB3)

④双字,又叫DW,由连续的2个字(或连续的4个字节,或连续的32个位组成)
范围:0~42亿多
存储器:使用VD进行存储(间隔4),

总结
| 数据类型 | 位Bit | 字节B | 字 W | 双字 DW |
|---|---|---|---|---|
| / | 1位 | 8位 | 16位 | 32位 |
| / | 0,1 | 0~255 | 0~65535 | 0~42亿多 |
| 对应的存储器 | V | VB | VW | VD |
1.2、有符号数
①整数,又叫INT,简称I,又连续的16个位组成;
范围:-32768~32767
存储器:使用VW存储
注:负数在计算机中是以补码的形式进行存储的,也是以补码的形式进行运算的
② 双整数,又叫DINT简称DI,由连续的32个位组成,
范围:-21亿多~+21亿多
存储器:使用VD进行存储;
③ 浮点数,又叫Real,简称R,是带小数点的数,又连续的32个位组成;
范围:(-很大,0)U(0,+很大)
总结
| 数据类型 | 整数I | 双整数DI | 浮点数R |
|---|---|---|---|
| / | 16位 | 32位 | 32位 |
| / | -32768~32767 | -21亿多~+21亿多 | (-很大,0)U(0,+很大) |
| 对应的存储器 | VW | VD | VD |
2、传送指令
常用的有MOV_B、MOV_W、MOV_DW、MOV_R
| 数据类型 | MOV_B | MOV_W | MOV_DW | MOV_R |
|---|---|---|---|---|
| / | 传送字节 B | 传送整数I | 传送双整数DI | 传送浮点数R |
| 输入 | BYTE | WORD, INTI | DWORD, DINT | REAL |
| 输出 | BYTE | WORD, INTI | DWORD, DINT | REAL |
以
MOV_W为例,传送整数,当传送-1时,out显示的是65535,可实际out是-1,将out用于加法运算:out+1+0
例:使用传送指令实现Q0.0亮

例:按I0.0,使Q0.7<--Q0.0、Q1.7<--Q1.0全亮
下面三种方法都可

第十一章、比较指令、整数、浮点数的运算
1、比较指令
| 区别 | 等于 | 不等于 | 小于 | 大于 | 大于等于 | 小于等于 |
|---|---|---|---|---|---|---|
| 生活中的比较 | = | ≠ | < | > | ≥ | ≤ |
| PLC中的比较 | == | < > | < | > | >= | <= |
比如:
只能相同数据类型的数据才能比较,所有比较指令都是常开,符合条件时闭合,否则断开;
每种比较数据指令有对应四种不同的数据类型:B(字节)、I(整数)、DI(双整数)、R(浮点数);如下

例:如下图,右键比较指令的符号–>写入,写一个5给VW0,随后Q0.0得电

例:当温度小于16℃时打开暖气阀门,当温度大于26℃时,关闭阀门;
方法一:

方法二:

例:使用比较指令做振荡电路;

1、运算指令
按照数据类型分为两大类:浮点数运算(R)、整数运算(I、DI)
按照运算规则分为四类:加(ADD)、减(SUB)、乘(MUL)、除(DIV)
| 分类 | 加 | 减 | 乘 | 除(除数不为0) |
|---|---|---|---|---|
R | ADD_R | SUB_R | MUL_R | DIV_R |
I | ADD_I | SUB_I | MUL_I 和 MUL | DIV_I 和 DIV |
DI | ADD_DI | SUB_DI | MUL_DI | DIV_DI |
一些需要了解的运算指令:
| 平方根 | 正弦 | 余弦 | 正切 | 自然对数 | 自然指数 | 微分/积分 |
|---|---|---|---|---|---|---|
| SQRT | SIN | COS | TAN | LN | EXP | DID |
运算指令的位置:
1.1、浮点数运算
例:计算[(18.0+12.0)-10.0]x5.0÷5.0=20.0

1.2、整数运算
整数乘法:
MUI_I:两个16位整数相乘,得到16位整数;
MUI:两个16位整数相乘,得到32位整数(由于改变了数据类型,所用的少,当范围不够时直接使用MUL_DI即可)

整数除法:
DIV_I、DIV_DI保留商,舍余
DIV保留商和余数

例:已知圆柱形水桶的半径r=30cm,水深是用VD8存储,求水的质量(kg)



