项目数据类型和寻址方式.docx
- 文档编号:30819942
- 上传时间:2024-01-30
- 格式:DOCX
- 页数:17
- 大小:120.43KB
项目数据类型和寻址方式.docx
《项目数据类型和寻址方式.docx》由会员分享,可在线阅读,更多相关《项目数据类型和寻址方式.docx(17页珍藏版)》请在冰豆网上搜索。
项目数据类型和寻址方式
工程3数制、数据类型和寻址方式
1.数制
所有的数值在PLC中都是以二进制形式表示的,数据的长度和表示方式称为数据格式。
S7-200PLC的指令对数据格式有一定的要求,指令与数据之间的格式一致才能正常工作。
矚慫润厲钐瘗睞枥庑赖。
1)计数体制
常用的技术体制有十进制、二进制、十六进制等。
(1)十进制数
在十进制数中,用0,1,2,3,4,5,6,7,8,9这十个不同数码按照一定的规律排列起来表示数值的大小,其计数规律是“逢十进一”。
十进制数是以10为基数的计数体制。
聞創沟燴鐺險爱氇谴净。
各位数表示的数值就是该位数码(系数)乘以相应的权。
按此规律,任意一个十进制数(N)
都可以写成按权展开式残骛楼諍锩瀨濟溆塹籟。
=
=
(2)二进制
二进制是以2为计数的计数体制。
它只有0和1两个数码,采用“逢二进一”的计数规律。
任意一个二进制数都可以写成按权展开式酽锕极額閉镇桧猪訣锥。
=
二进制数比较简单,只有0和1两个数码,并且算术运算也很简单。
(3)十六进制数
十六进制数是以16为基数的计数体制,它用0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F这16个数码表示,采用“逢十六进一”的计数规律。
四位二进制码可以用一位十六进制码来表示。
任意十六进制数可以写成按权展开式彈贸摄尔霁毙攬砖卤庑。
=
表1几种数制对照表
十进制数
二进制数
十六进制数
0
0000
0
1
0001
1
2
0010
2
3
0011
3
4
0100
4
5
0101
5
6
0110
6
7
0111
7
8
1000
8
9
1001
9
10
1010
A
11
1011
B
12
1100
C
13
1101
D
14
1110
E
15
1111
F
(4)数制转换
1)二进制数转换成十进制数
例如:
将二进制数
转换成十进制数
=
2)十进制数转换成二进制数
例如:
将
45转换成二进制数
用短除取余法
数值从下往上记
3)十六进制数转换成十进制数
例如:
将十六进制数
转换成十进制数
=
4)十进制转换成十六进制数
10进制数转换成16进制的方法,和转换为2进制的方法类似,唯一变化:
除数由2变成16。
同样是45,转换成16进制则为:
2DH
5)二进制数转换成十六进制数
二进制数要转换为十六进制,就是以4位一段,分别转换为十六进制。
如:
上行为二制数,下面为对应的十六进制;
11111101,10100101,10011011
FD,A5,9B
2#111111011010010110011011=16#FDA59B
6)十六进制数转换成二进制数
反过来,当我们看到FDA59BH时,如何迅速将它转换为二进制数呢?
FDA59B
111111011010010110011011
16#FDA59B=2#111111*********110011011
(5)奇偶校验码
数码在传送和存取过程中,会发生将“1”码误成“0”码、“0”码误成“1”码的错误。
为了。
为了检查出这种错误,可采取奇偶校验码的编码方式。
代码有两部份组成:
一部分是信息位,一部分是检误位。
若加上去的检误位中的“1”码的个数和信息位中的“1”码的个数之和为奇数个,则为奇校验码,否则为偶校验码。
謀荞抟箧飆鐸怼类蒋薔。
例如,对8位一组的二进制码来说,若低7位为信息位,最高位位检误位,码组1011011的奇校验码为01011011,而偶校验码为11011011。
厦礴恳蹒骈時盡继價骚。
在代码传送过程中,对所收到的码组中“1”码的个数进行计算,如“1”码的个数与预定的不同,则可判断已经产生了误码。
茕桢广鳓鯡选块网羈泪。
(6)机器数的编码及运算
对带符号数而言,有原码、反码、补码之分,计算机内一般使用补码。
1)原码
将数“数码化”,原数前“+”用0表示,原数前“-”用1表示,数值部分为该数本身,这样的机器数叫原码。
设X——原数;则[X]原=X(X0)
[X]原=2n-1–X(X0),n为字长的位数。
如,[+3]原=00000011B[-3]原=27-(-3)=1000,0011B
0有两种表示方法:
00000000+0,10000000-0
原码最大、最小的表示:
+127、-128鹅娅尽損鹌惨歷茏鴛賴。
2)反码
规定正数的反码等于原码;负数的反码是将原码的数值位各位取反。
[X]反=X(X0)
[X]反=(2n–1)+X(X0)
如:
[+4]反=[+4]原=0000,0100B
[-4]反=1111,1011B
反码范围:
-128~+127
两个0;+0——00000000B,-0——11111111B
3)补码补码的概念:
现在是下午3点,手表停在12点,可正拨3点,也可倒拨9点。
即是说-9的操作可用+3来实现,在12点里:
3、-9互为补码。
运用补码可使减法变成加法。
规定:
正数的补码等于原码。
负数的补码求法:
1)反码+1
2)公式:
[X]补=2n+X(X<0)
如:
设X=-0101110B,则[X]原=10101110B
则[X]补=[X]反+1=11010001+00000001=11010010B
如:
[+6]补=[+6]原=00000110B
[-6]补=28+(-6)=10000000–00000110=11111010B籟丛妈羥为贍偾蛏练淨。
位补码的范围–128~+127。
0的个数:
只一个,即00000000
而10000000B是-128的补码。
原码、反码、补码对照表:
表1-2P10預頌圣鉉儐歲龈讶骅籴。
4)补码的运算
当X≥0时,[X]补=[X]反=[X]原
[[X]补]补=[X]原
[X]补+[Y]补=[X+Y]补
[X-Y]补=[X+(-Y)]补
例:
已知X=52Y=38求X-Y渗釤呛俨匀谔鱉调硯錦。
计算机在做算术运算时,必需检查溢出,以防止发生错误
5)运算的溢出问题
资料字长(位数)有一定限制,所以资料的表示应有一个范围。
如字长8位时;补码范围-128~+127
若运算结果超出这个范围,便溢出。
铙誅卧泻噦圣骋贶頂廡。
错:
两个负数相加和为正数。
可见:
结果正确(无溢出)时,Cs+1=Cs
结果错误(溢出)时,Cs+1≠Cs
溢出判断:
溢出=Cs+1Cs(即结果是0为无溢出;1为有溢出)擁締凤袜备訊顎轮烂蔷。
(7)BCD码
BCD码是BinaryCodedDecimalNumbers(二进制编码的十进制数)的缩写。
BCD码用四位二进制数的组合来表示1位十进制数。
贓熱俣阃歲匱阊邺镓騷。
例如:
十进制数23对应的BCD码为16#23,或2#00100011,
BCD码常用于输入输出设备,例如拨码开关输入的是BCD码,送给七段显示器的数字也是BCD码。
表2BCD码和十进制数
十进制数
BCD码
0
0000
1
0001
2
0010
3
0011
4
0100
5
0101
6
0110
7
0111
8
1000
9
1001
BCD码的运算:
1)BCD码加法规则
两个BCD数相加时,“某位”的和小于10则保持不变;
两个BCD数相加时,“某位”的和大于9,则和数应加6修正。
坛摶乡囂忏蒌鍥铃氈淚。
2)BCD码减法规则两个BCD数相减时,“某位”的差未发生借位,则差数保持不变;
两个BCD数相减时,“某位”发生了借位,其差应减6修正。
这里“某位”指BCD数中的“个位”、“十位”、“百位”、……蜡變黲癟報伥铉锚鈰赘。
(9)负数的表示方法
PLC一般采用二进制补码来表示有符号数,其最高位为符号位,最高位为0时为正数,最高位为1时为负数,最大的16位正数为16#7FFF(即32767)。
正数的补码是它的本身,将正数的补码逐位取反(0变为1,1变为0)后加1,得到绝对值与它相同的负数的补码。
将负数的补码的各位取反后加1,得到它的绝对值。
買鲷鴯譖昙膚遙闫撷凄。
例如:
十进制正整数35对应的二进制补码为2#00100011,十进制数-35对应的二进制补码为2#11011101。
不同数据的取值范围如下表。
綾镝鯛駕櫬鹕踪韦辚糴。
数据的位数与取值范围
数据的位数
无符号整数
有符号整数
十进制
十六进制
十进制
十六进制
B(字节),8位值
0~255
0~FF
-128~127
80~7F
W(字)16位值
0~65535
0~FFFF
-32768~32767
8000~7FFF
D(双字)32位值
0~4294967295
0~FFFFFFFF
-2147483648~2147483647
8000000~7FFFFFFF
(10)用1位二进制数表示开关量
二进制数的1位(bit)只有0和1两种不同的取值,可以用来表示开关量的两种不同的状态。
如果该位为1,梯形图中对应的元件的线圈“通电”,其常开触点接通,其常闭触点闭合。
如果该位为0,则编程元件的线圈和触点的状态与上述相反。
驅踬髏彦浃绥譎饴憂锦。
(11)位
S7-200的位存储单元的地址由字节和位地址组成,例如:
I3.2,其中的区域标识符“I”表示输入(Input),字节地址为3,位地址为2。
这种存取方式称为“字节。
位”寻址方式。
猫虿驢绘燈鮒诛髅貺庑。
(12)字节
8位二进制组成一个字节(Byte)。
其中的第0位为最低有效位(LSB),第7位为最高有效位(MSB)。
输入字节IB3(B是Byte的缩写)是由I3.0,I3.1,I3.2,I3.3,I3.4,I3.5,I3.6,I3.7这8位组成。
锹籁饗迳琐筆襖鸥娅薔。
VB100
MSBLSB構氽頑黉碩饨荠龈话骛。
V100.7
V100.6
V100.5
V100.4
V100.3
V100.2
V100.1
V100.0
(13)字
相邻的两个字节组成一个字,VW100是由VB100和VB101组成的一个字,V为区域标识符,W表示字(Word),100为起始字节的地址。
注意:
VB100是高位字节。
輒峄陽檉簖疖網儂號泶。
VW100
MSBLSB
150
V100.7----V100.0
V101.7---V101.0
(14)双字
相邻的4个字节组成一个双字,VD100是由VB100---VB103组成的双字,V为区域标识符,D表示双字(DoubleWord),100为起始字节的地址。
注意:
VB100是高位字节。
尧侧閆繭絳闕绚勵蜆贅。
VD100
MSBLSB
310
VB100
VB101
VB102
VB103
2.CPU存储区
(1)输入过程映像寄存器(I)
输入过程映像寄存器是PLC接收外部输入的数字量信号的窗口。
PLC通过光电偶合器,将外部信号的状态读入并存储在输入过程映象寄存器中,外部输入电路接通时对应的映像寄存器为ON(1状态),反之为OFF(0状态)。
输入端可以外接常开触点或常闭触点,也可以接多个组成的串、并联电路。
在梯形图中,可以多次使用输入位的常开触点和常闭触点。
识饒鎂錕缢灩筧嚌俨淒。
(2)输出过程映像寄存器(Q)
在扫描周期尾部,CPU将输出过程映像寄存器的数据传送给输出模块,再由后者驱动外部负载。
在梯形图中,每一个输出位的常开触点和常闭触点都可以多次使用。
凍鈹鋨劳臘锴痫婦胫籴。
(3)变量存储区(V)
变量(Variable)存储器用来在程序执行过程中存放中间结果,或者用来保存与工序或任务有关的数据。
(4)位存储区(M)
位存储器类似于继电器控制系统中的中间继电器,用来存储中间控制状态或其它控制信息。
虽然名为“位存储区”,但是也可以按字节、字或双字来存取。
恥諤銪灭萦欢煬鞏鹜錦。
有些编程人员习惯于用M区来作为中间地址,但是S7-200的M区只有32个字节。
如果不够用可以用V存储区来代替M存储区。
可以按位、字节、字、双字来存储V区数据。
如:
V10.1,VB20,VW100,VD200等鯊腎鑰诎褳鉀沩懼統庫。
(5)定时器存储区(T)
定时器相当于继电器控制系统中的中间继电器。
S7-200有3种定时器,他们的时间基准分别为1ms,10ms,100ms。
定时器的当前值是16位有符号整数,用于存储定时器累计的时间基准量值(1-32767)。
硕癘鄴颃诌攆檸攜驤蔹。
(6)计数器存储区(C)
计数器用来累计其计数输入脉冲电平由低到高的次数。
CPU提供加计数器、减计数器、加减计数器。
计数器的当前值为16位有符号整数,用来存放累计的脉冲数(1-32767)。
当计数器的当前值大于或等于设定值时,计数器被置为1。
用计数器地址(例如C20)来存取当前值和计数器位。
带位操作数的指令存取计数器位,带字操作数的指令存取当前值。
阌擻輳嬪諫迁择楨秘騖。
(7)高速计数器(HC)
高速计数器用来累计比CPU的扫描速率更快的事件,计数过程与扫描周期无关。
其当前值与设定值为32位有符号整数,当前值为只读数据。
(HC2)氬嚕躑竄贸恳彈瀘颔澩。
(8)累加器(AC)
累加器是可以像存储器那样使用的读/写单元,例如可以用他来向子程序来传递参数,或从子程序返回参数,以及用来存放计算的中间值。
CPU提供4个32位的累加器(AC0、AC1、AC2、AC3),可以按字节、字、双字来存取累加器中的数据。
按字节、字只能存取累加器中的低8位或低16位,按双字存取全部的32位,存取的长度由所用的指令决定。
釷鹆資贏車贖孙滅獅赘。
例如在指令“MOVWAC2,VW100”中,AC2按字(W)存取。
(9)特殊存储器(SM)
特殊存储器用于CPU与用户之间的交换信息,例如:
SM0.0一直为1状态。
(10)局部存储器(L)
S7-200有64个字节的局部(Local)存储器,其中60个可以作为暂时存储器,或者给子程序传递参数。
如果用梯形图编程,编程软件保留局部存储器的后4个字节。
如果用语句表编程,可以使用所有的64个字节。
怂阐譜鯪迳導嘯畫長凉。
主程序、子程序、中断程序简称为POU(ProgramOrganizationalUint,程序组织单元),个POU都有自己的局部变量表,局部变量只在它被创建的POU中有效。
谚辞調担鈧谄动禪泻類。
(11)模拟量输入(AI)
S7-200将连续变化的模拟量用A/D转换成一个字长为(16位)的数字量。
用区域表示符AI、和表示长度的W和起始字节的地址来表示模拟量输入的地址。
因为模拟量输入是一个字长,应从偶数字节地址开始存放。
例如:
AIW2,AIW4等等,模拟量输入只为只读数据。
嘰觐詿缧铴嗫偽純铪锩。
(12)模拟量输出(AQ)
S7-200将一个字长的数字用D/A转换成连续变化的模拟量,用区域标示符AQ、表示数据长度的W和字节起始地址来表示存储模拟量输出的地址。
因为模拟量输出是一个字长,应从偶数字节开始存放。
例如:
AQW2、AQW4等等。
模拟量输出值是只写数据,用户不能读取模拟量数值。
熒绐譏钲鏌觶鷹緇機库。
(13)顺序控制继电器(S)
顺序控制继电器(SCR)用于组织设备的顺序操作,与顺序控制继电器指令配合使用。
(14)常数的表示方法和范围
常数值可以是字节、字、双字,CPU以二进制方式存储常数,常数也可以用十进制、十六进制、ASCII码或浮点数形式来表示。
鶼渍螻偉阅劍鲰腎邏蘞。
表3常数表示方式
常数
举例
十进制常数
20047
十六进制常数
16#4E4F
ASCII码常数
‘Text’
实数或浮点数格式
23.5-1.175E-20
二进制格式
2#10110101
(15)实数
实数(REAL)又称浮点数,可以表示为
其中尾数M和指数E均为二进制数,E可能是正数,也可能为负数。
标准格式的32位实数可以表示为浮点数
,式中指数e=E+127(1《e〈〈254)为8位正整数。
实数最高位(第31位)为符号数,最高位为0时为整数,为1时为负数。
因为规定为数的整数部分总是为1,只保留了尾数的小数部分m(0~22位)。
纣忧蔣氳頑莶驅藥悯骛。
浮点数的表示范围是
。
(16)字符串的格式
ASCII(美国信息交换标准码)是一种字符编码格式,用一个字节中不同的二进制值代表不同的字符。
例如字母“A”的ASCII值为十六进制数41H,数字5的ASCII值是35H。
颖刍莖蛺饽亿顿裊赔泷。
字符串由若干个ASCII码字符组成,每个字符占一个字节。
字符串的第一个字节定义了字符串的长度(0-254),即字符的个数。
一个字符串的最大长度是255,一个字符串常量的最大长度是128字节。
濫驂膽閉驟羥闈詔寢賻。
字符串也能包括汉字编码,每个汉字的编码占两个字节。
3.CPU存储器的范围与特性
表:
S7-200CPU存储器的范围与特性
描述
CPU221
CPU222
CPU224
CPU224XP
CPU226
输入映像寄存器
I0.0~I15.7
输出映像寄存器
Q0.0~Q15.7
模拟量输入(只读)
AIW0~AIW30
AIW0~AIW62
模拟量输出(只写)
AQW0~AQW30
AQW0~AQW62
变量存储器(V)
VB0~VB2047
VB0~VB8191
VB0~VB10239
局部变量存储器(L)
LB0~LB63
位存储器(M)
M0.0~M31.7
特殊存储器(SM)
SM0.0~SM179.7
SM0.0~SM299.7
SM0.0~SM549.7
特殊存储器(只读)
SM0.0~SM29.7
SM0.0~SM29.7
SM0.0SM0.0~SM29.7
定时器(T)
T0~T255
计数器(C)
C0~C255
高速计数器(HC)
HC0~HC5
顺序控制继电器
S0.0~S31.7
累加寄存器
AC0~AC3
跳转/标号
0~255
调用/子程序
0~63
0~127
中断子程序
0~127
正负跳变
256
PID回路
0~7
串行通信口
端口0
端口0,1
表3S7-200操作数范围
寻址方式
CPU221
CPU222
CPU224
CPU224XP
CPU226
位存取
I0.0~I15.7Q0.0~Q15.7M0.0~M31.7
S0.0~S31.7T0~T255C0~C255L0.0~L63.7
V0.0~V2047.7
V0.0~V8191.7
V0.0~V10239.7
SM0.0~SM165.7
SM0.0~SM299.7
SM0.0~SM549.7
字节存取
IB0~IB15QB0~QB15MB0~MB32
SB0~SB31LB0~LB63AC0~AC3
SMB0~165
SMB0~299
SMB0~549
字存取
IW0~IW14QW0~QW14MW0~MW30
SW0~SW30T0~255C0~255
LW0~LW62AC0~AC3
VW0~2046
VW0~8190
VW0~10238
SMW0~164
SMW0~298
SMW0~548
AIW0~30
AQW0~30
AIW0~62
AQW0~62
双字存取
ID0~12QD0~12MD0~28
SD0~28LD0~60AC0~3HC0~5
VD0~2044
VD0~8188
VD0~10236
SMD0~162
SMD0~296
SMD0~546
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 项目 数据类型 寻址 方式