S7-200 SMART的数据类型主要分为输入/输出映象区、内部存储区及特殊功能区,以下是具体分类及特性:
输入/输出映象区
- I(数字量输入):范围从I0.0到I31.7,共32个输入点,支持位、字节、字、双字寻址。
- Q(数字量输出):范围从Q0.0到Q31.7,共32个输出点,支持位、字节、字、双字寻址。
- AI(模拟量输入):从AIW0到AIW110(共16路),仅支持双字寻址。
- AQ(模拟量输出):从AQW0到AQW110(共16路),仅支持双字寻址。
内部存储区
- V(变量存储区):范围从VB0到VD5116,支持位、字节、字、双字寻址,用于程序变量存储。
- M(位存储区):范围从M0.0到M31.7,支持位、字节、字、双字寻址,用于逻辑控制。
- T(定时器):用于时间累计,支持位、字节、字、双字寻址。
- C(计数器):用于脉冲计数,支持位、字节、字、双字寻址。
- HC(高速计数器):独立于CPU扫描周期,仅支持双字寻址。
- AC(累加器):支持字节、字、双字寻址,可读写。
- SM(特殊存储器):用于CPU控制功能,支持位、字节、字、双字寻址。
- L(局部存储区):范围从L0.0到L31.7,支持位、字节、字、双字寻址,用于子程序参数传递。
- S(顺序控制继电器):范围从S0.0到S31.7,支持位、字节、字、双字寻址,用于逻辑分段控制。
存储器特性
不同CPU型号的用户程序和用户数据大小不同(例如SR20用户程序最大12288字节),过程映象区与存储器范围根据型号有所差异。
数据类型
我们打开交叉引用表,从表中我们可以看出
VD0=VW0+VW2
VW0=VB0+VB1
VB0=V0.0+V0.1+V0.2+V03+V0.4+V0.5+V0.6+V0.7
所以
S7-200 SMART PLC的指令系统所用的数据类型有:
1位布尔型(BOOL):V0.0
8位字节型(BYTE):VB0
16位无符号整数型(WORD):VW0
16位有符号整数型(INT):VW0
32位符号双字整数型(DWORD):VD0
32位有符号双字整数型(DINT):VD0
和32位实数型(REAL):VD0
WORD和INT的区别是符号问题,INT有正负,WORD没有
从上面我想大家就理解1个字节等于8位,一个字等于2个字节
我再举一个例子,
如果我们使用了VW0,那么VD0和VB0以及V0.0就不能使用了。
如果我们使用了V0.0,那么VW0,VB0以及VD0也就不能使用了。
只要有重合我们就要避免去使用。
当然如果是我们使用了V0.0到V0.7,然后我们想全部置零,我们可以VB0=0即可。
Ⅰ、为什么要学习数据类型
在工业控制中,除了应用开关量(I/O)进行程序控制之外,还会有“位置”、“速度”、“流量”、“个数”、“温度”、“压力”、“时间”等参数要监控。
常用的数据类型:整数(正整数、0、负整数)、实数(浮点数、小数)、时间、日期等
Ⅱ、各进制的不同表达
各进制的含义
-
10进制(逢10进1):0、1、2、3、4……9、10、11……
-
16进制(逢16进1):16#0、16#1…….16#9、16#A、16#B、16#C……16#F、16#10……
-
2进制(逢2进1):2#0、2#1、2#10、2#11……
为什么要用16进制形式?
计算机使用二进制格式处理数据(PLC也是),但是过长的数字代码对人的阅读造成较大的障碍,为解决这一问题才使用十六进制来表示二进制,每4位6二进制数用1位十六进制数表示。例如:一个16位的二进制数1111 1111 1111 1111 用十六进制FFFF就可以表示。
结论:不管用哪一种数据格式(?进制),其实都是表达一个数值,只是形式看上去不同,在PLC编程中大部分数值还是用10进制格式表达。
Ⅲ、2进制、10进制、16进制之间的转换
-
2进制与10进制之间的转换
10进制→2进制
除二取余倒记法
2进制→10进制
乘权相加法
-
16进制与10进制之间的转换
10进制→16进制
除16取余倒记法
16进制→10进制
乘权相加法
-
2进制与16进制之间的转换
2进制→16进制
16进制→2进制
※16进制与2进制之间的转换,每4个2进制位用1个16进制数表示。
Ⅳ 常用数值对应表
2进制、10进制、16进制常用数值对照表
2的N次方对应表


返回顶部
刷新页面
下到页底