西门子PLC的寄存器结构
- 格式:pdf
- 大小:895.22 KB
- 文档页数:7
PLC的数据存储结构PLC的数据存储结构在我们西门子PLC当中主要有,我们的I区,Q区,M 区,T区(定时器),C区(计数器)。
还有的就是V存储区(它是PLC内部数据存储区,也是按8进制分配如:v0.0-v0.7 .v1.0-v1.7)现在来看一下它们的结构。
1.位(BOOL\BITE)对于位它只存在‘0’和‘1’两种状态表现形式,类似于开关。
0代表断开,1代表接通。
如:M0.0,Q0.0,I0.0,…都是位的一种。
现在来看一下I0.0的位,当I0.0为‘0’时如下图:现在再来看一下I0.0为‘1’时如下图:同理,我们的M0.0,Q0.0,I0.0,都是这样的。
这就是位状态结构。
2.字节(BYTE)1个字节=8个位如:QB0,QB1IB0,IB1MB0,MB1VB0,VB1如何解释上面这句1个字节=8个位如图:1是一个I0.0的位转换为2进制就是一个‘0’那么在2里是不是发现,当写入的地址是IB0时我们的二进制里显示了8个‘0’,也就是说有8个位。
同理QB0,QB1 IB0,IB1MB0,MB1VB0,VB1都是一样的含有8个位。
我们可以往VB0里写入数值比如说写入30如下图:数据范围字节:有符号-128-127无符号0-2553.字(WORD)1个字=2个字节=16个位如:QW0,QW2,QW4VW0,VW2,VW4MW0,MW2,MW4QW0/ \QB0 QB1/ \ / \Q0.7-Q0.0 Q1.7- Q1.0这个就是我们一个分配图、Q1.7-Q1.0,为低位,Q0.7-Q0.0,为高位。
记住这个格式。
数据范围:字有符号-32768-32767无符号0-655354.双字(DWORD)1个双字=2个字=4个字节=32位如下图:QD0/ \QW0 QW2/ \ / \ QB0 QB1 QB2 QB3/ \ / \Q0.7-Q0.0 Q1.7- Q1.0如上图所示,有些人就问为什么是QW0,QW2.为什么不写QW1!!注意看下面是不是有QB0和QB1. 那么我如果在写QW1是不是QW1含QB1和QB2那么是不是QB1和QB1重复了。
<S7-200寄存器及在组态中的应用>西门子S7-200PLC的内部寄存器V区和M区的区别西门子的例程中是按照下述约定来编程的:1.变量存储器(V)(相当于内辅继电器)PLC执行程序过程中,会存在一些控制过程的中间结果,这些中间数据也需要用存储器来保存。
变量存储器就是根据这个实际的要求设计的。
变量存储器是S7-200CPU为保存中间变量数据而建立的一个存储区,用V表示可以按位、字节、字、双字四种方式来存取。
共有5120个字节.2.位存储器(M)区PLC执行程序过程中,可能会用到一些标志位,这些标志位也需要用存储器来寄存。
位存储器就是根据这个要求设计的。
位存储器是S7-200CPU为保存标志位数据而建立的一个存储区,用M表示。
该区虽然叫位存储器,但是其中的数据不仅可以是位、还可以是字节、字或双字.共有32个字节.寄存器(数字量输入映相寄存器(数字量输入映象区)(I)数字量输入映象区是S7-200CPU为输入端信号状态开辟的一个存储区。
输入映像寄存器的标识符为I,在每个扫描周期的开始,CPU对输入点进行采样,并将采样值存于输入映像寄存器中。
输入映像寄存器是PLC接收外部输入的开关量信号的窗口。
可以按位、字节、字、双字四种方式来存取。
(1)按“位”方式:从I0.0~I15.7,共有128点(2)按“字节”方式:从IB0~IB15,共有16个字节(3)按“字”方式:从IW0~IW14,共有8个字(4)按“双字”方式:从ID0~ID12,共有4个双字2.输出映像寄存器(Q)数字量输出映象区是S7-200CPU为输出端信号状态开辟的一个存储区。
输出映像寄存器的标识符为Q(从Q0.0~Q15.7,共有128点),在每个扫描周期的末尾,CPU将输出映像寄存器的数据传送给输出模块,再由后者驱动外部负载。
可以按位、字节、字、双字四种方式来存取。
(1)按“位”方式:从Q0.0~I15.7,共有128点(2)按“字节”方式:从QB0~QB15,共有16个字节(3)按“字”方式:从QW0~QW14,共有8个字(4)按“双字”方式:从QD0~QD12,共有4个双字说明:实际没有使用的输入端和输出端的映象区的存储单元可以作中间继电器用。
状态字用于表示CPU 执行指令时所具有的状态。
一些指令是否执行或以何方式执行可能取决于状态字中的某些位;执行指令时也可能改变状态字中的某些位,也能在位逻辑指令或字逻辑指令中访问并检测他们。
状态字的结构如下:31……………9 8 7 6 5 4 3 2 1 0(1)首位检测位()状态字的位0称为首位检测位。
若位的状态为0,则表明一个梯形逻辑网络的开始,或指令为逻辑串的第一条指令。
CPU 对逻辑串第一条指令的检测(称为首位检测)产生的结果直接保存在状态字的RLO 位中,经过首次检测存放在RLO 中的0或1被称为首位检测结果。
位在逻辑串的开始时总是0,在逻辑串指令执行过程中位为1,输出指令或与逻辑运算有关的转移指令(表示一个逻辑串结束的指令)将清0。
(2)逻辑操作结果(RLO )状态字的位1称为逻辑操作结果RLO (Result of Logic Operation )。
该位存储逻辑指令或算术比较指令的结果。
在逻辑串中,RLO 位的状态能够表示有关信号流的信息。
RLO 的状态为1,表示有信号流(通);为0,表示无信号流(断)。
可用RLO 触发跳转指令。
(3)状态位(STA )FC FC FC FC FC状态字的位2称为状态位。
状态位不能用指令检测,它只是在程序测试中被CPU 解释并使用。
如果一条指令是对存储区操作的位逻辑指令,则无论是对该位的读或写操作,STA总是与该位的值取得一致;对不访问存储区的位逻辑指令来说,STA位没有意义,此时它总被置为1。
(4)或位(OR)状态字的位3称为或位(OR)。
在先逻辑“与”后逻辑“或”的逻辑串中,OR位暂存逻辑“与”的操作结果,以便进行后面的逻辑“或”运算。
其它指令将OR位清0。
(5)溢出位(OV)状态字的位4称为溢出位。
溢出位被置1,表明一个算术运算或浮点数比较指令执行时出现错误(错误:溢出、非法操作、不规范格式)。
后面的算术运算或浮点数比较指令执行结果正常的话OV位就被清0。
(一)数字量输入和输出映象区1.输入映象寄存器(数字量输入映象区)(I)数字量输入映象区是S7-200CPU为输入端信号状态开辟的一个存储区。
输入映像寄存器的标识符为I,在每个扫描周期的开始,CPU对输入点进行采样,并将采样值存于输入映像寄存器中。
输入映像寄存器是PLC接收外部输入的开关量信号的窗口。
可以按位、字节、字、双字四种方式来存取。
(1)按“位”方式:从I0.0~I15.7,共有128点(2)按“字节”方式:从IB0~IB15,共有16个字节(3)按“字”方式:从IW0~IW14,共有8个字(4)按“双字”方式:从ID0~ID12,共有4个双字2.输出映像寄存器(Q)数字量输出映象区是S7-200CPU为输出端信号状态开辟的一个存储区。
输出映像寄存器的标识符为Q(从Q0.0~Q15.7,共有128点),在每个扫描周期的末尾,CPU将输出映像寄存器的数据传送给输出模块,再由后者驱动外部负载。
可以按位、字节、字、双字四种方式来存取。
(1)按“位”方式:从Q0.0~I15.7,共有128点(2)按“字节”方式:从QB0~QB15,共有16个字节(3)按“字”方式:从QW0~QW14,共有8个字(4)按“双字”方式:从QD0~QD12,共有4个双字说明:实际没有使用的输入端和输出端的映象区的存储单元可以作中间继电器用。
(二)模拟量输入映象区和输出映象区1.模拟量输入映象区(AI区)模拟量输入映象区是S7-200CPU为模拟量输入端信号开辟的一个存储区。
S7-200将测得的模拟量(如温度、压力)转换成1个字长(2个字节)的数字量,模拟量输入映像寄存器用标识符(AI)、数据长度(W)及字节的起始地址表示。
从AIW0~AIW30,共有16个字,总共允许有16路模拟量输入。
说明:模拟量输入值为只读数据。
2.模拟量输出映象区(AQ区)模拟量输出映象区是S7-200CPU为模拟量输出端信号开辟的一个存储区。
西门子S7200PLC存储器类型PLC的内部资源是编写程序的基础,PLC内部的编程元件有多种,应当掌握各种元器件和它们的直接寻址方式。
本文内容包括S7-200 CPU存储器的类型、范围和特性。
一、S7-200 CPU存储器的类型1、输入继电器(I)每个输入继电器都有一个PLC的输入端子对应,它用于接收外部的开关信号。
当外部的开关信号闭合,则输入继电器的线圈得电,在程序中其常开触点闭合,常闭触点断开。
这些触点在编程时的使用次数不受限制。
2、输出继电器(Q)每个输出继电器都有—个PLC上的输出端子对应。
当通过程序使得输出继电器线圈得电时,PLC上的输出端开关闭合,以控制外部负载的状态。
同时在程序中其常开触点闭合,常闭触点断开。
这些触点在编程时的使用次数不受限制。
3、通用辅助继电器(M)通用辅助继电器如同继电控制接触系统中的中间继电器,在PLC 中没有输入输出端与之对应,因此通用辅助继电器的线圈不直接受输入信号的控制,其触点不能驱动外部负载。
4、特殊标志继电器(SM)有些辅助继电器具有特殊功能或存储系统的状态变量、有关的控制参数和信息,称为特殊标志继电器。
用户可以通过特殊标志来沟通PLC与被控对象之间的信息。
SM0.1:首次扫描为1,常用来对程序进行初始化5、变量存储器(V)变量存储器用来存储变量。
它可以存放程序执行过程中控制逻辑操作的中间结果,也可以使用变量存储器来保存与工序或任务相关的其他数据。
6、局部变量存储器(L)局部变量存储器用来称放局部变量。
局部变量与变量存储器所存储的全局变量十分相似,主要区别是全局服务是全局有效的,局部服务是局部有效的。
全局有效是指同一个变量可以被任何程序访问;而局部有效是指变量只和特定的程序相关联。
7、顺序控制继电器(S)用在顺序控制和步进控制中,它是特殊的继电器。
8、定时器(T)是累计时间增量的内部器件。
灵活地使用定时器可以编制出动作要求复杂的控制程序。
9、计数器(C)用来累计输入脉冲的次数。
西门子S7-200PLC各数据存储区含义及接线大家好,今天我们学习一下西门子S7-200PLC的接线与S7-200数据存储区:首先,我们看一下如何接线:S7-200数据存储区:1. 输入/输出映像寄存器:S7-200 PLC编址范围(I0.0~I15.7)。
输入映像寄存器(该区域可以按位操作又称输入继电器)输入继电器线圈由外部信号驱动,常开触点和常闭触点供用户编程使用。
输出映像寄存器:S7-200 PLC编址范围(Q0.0~Q15.7)。
输出映像寄存器(又称输出继电器)是用来将PLC的输出信号传递给负载,线圈用程序指令驱动。
PLC的每一个I/O点都是一个确定的物理点。
CPU 224主机有I0.0~I0.7,I1.0~I1.5共14个数字量输入端点,Q0.0~Q0.7、Q1.0、Q1.1共10个数字量输出端点。
2.变量存储器V用以存储运算的中间结果和其它数据。
CPU 224有VB0.0~VB5119.7的5K存储字节。
可按位、字节、字或双字使用。
3. 内部标志位(M)存储区M作为控制继电器(又称中间继电器),用来存储中间操作数或其它控制信息。
S7-200 PLC编址范围M0.0~M31.7,可以按位、字节、字或双字来存取存储区的数据。
4. 顺序控制继电器(S)存储区S又称状态元件,以实现顺序控制和步进控制。
S7-200 PLC编址范围S0.0~S31.7,可以按位、字节、字或双字来存取数据。
5.特殊标志位(SM)存储器① SMB0为状态位字节,在每次扫描循环结尾由S7-200 CPU更新,定义如下:SM0.0 RUN状态监控,PLC在运行RUN状态,该位始终为1。
SM0.1 首次扫描时为1,PLC由STOP转为RUN状态时,ON(1态)一个扫描周期,用于程序的初始化。
SM0.2 当RAM中数据丢失时,ON一个扫描周期,用于出错处理。
SM0.3 PLC上电进入RUN方式,ON一个扫描周期。
SM0.4 分脉冲,该位输出一个占空比为50%的分时钟脉冲。
西门子plc各部件结构及功能西门子plc各部件结构及功能德产西门子PLC的类型繁多,功能和指令系统也不尽相同,但结构与工作原理则大同小异,通常由主机、输入/输出接口、电源扩展器接口和外部设备接口等几个主要部分组成。
PLC的硬件系统结构如下图所示:1、主机主机部分包括中央处理器(CPU)、系统程序存储器和TK6100iv5用户程序及数据存储器。
CPU是西门子PLC的核心,它用以运行用户程序、监控输入/输出接口状态、作出逻辑判断和进行数据处理,即读取输入变量、完成用户指令规定的各种操作,将结果送到输出端,并响应外部设备(如电脑、打印机等)的请求以及进行各种内部判断等。
西门子PLC的内部存储器有两类,一类是系统程序存储器,主要存放系统管理和监控程序及对用户程序作编译处理的程序,系统程序已由厂家固定,用户不能更改;另一类是用户程序及数据存储器,主要存放用户编制的应用程序及各种暂存数据和中间结果。
2、输入/输出(I/O)接口I/O接口是西门子PLC与输入/输出设备连接的部件。
输入接口接受输入设备(如按钮、传感器、触点、行程开关等)的控制信号。
输出接口是将主机经处理后的结果通过功放电路去驱动输出设备(如接触器、电磁阀、指示灯等)。
I/O接口一般采用光电耦合电路,以减少电磁干扰,从而提高了可靠性。
西门子plc的I/O点数即输入/输出端子数是信捷PLC的一项主要技术指标,通常小型机有几十个点,中型机有几百个点,大型机将超过千点。
3、电源图中电源是指为CPU、存储器、I/O接口等内部电子电路工作所配置的直流开关稳压电源,通常也为输入设备提供直流电源。
4、编程编程是西门子PLC利用外部设备,用户用来输入、检查、修改、调试程序或监示PLC的工作情况。
通过专用的PC/PPI电缆线将西门子PLC与电脑联接,并利用专用的软件进行电脑编程和监控。
5、输入/输出扩展单元I/O扩展接口用于将扩充外部输入/输出端子数的扩展单元与基本单元(即主机)连接在一起。
2008.12.18S7300/400存储S7300/400存储S7300/400存储S7-300/400CPU 存储器介绍及存储卡使用•了解S7-300CPU 存储器的概念及区域划分•了解新型S7-300CPU 及标准型S7-300CPU 的区别•MMC 卡的使用方法及注意事项,包括如何将程序写入和删除等•FEPROM 卡的使用方法及注意事项,包括如何将程序写入及删除等•了解用户程序在S7-300CPU 的数据保持问题,包括如何定义保持区等•S7-300CPU 的启动方式及如何进行存储器复位•如何将存储卡格式化2008.12.182008.12.18S7300/400存储S7 300/400 存储区概述S7 300/400 存储区概述S7300/400存储• 1.系统存储器:系统存储器用于存放输入输出过程映像区(PII,PIQ)、位存储器(M)、定时器(T)和计数器(C))、块堆栈和中断堆栈以及临时存储器(本地数据堆栈)。
• 2.工作存储器:工作存储器仅包含运行时使用的程序和数据。
RAM工作存储器集成在CPU 中,RAM 中的内容通过电源模块供电或后备电池保持。
除了S7 417-4 CPU 可以通过插入专用的存储卡来扩展工作存储器外,其他PLC 的工作存储器都无法扩展。
• 3.装载存储器:装载存储器是用于存放不包含符号地址分配或注释(这些保留在编程设备的存储器中)的用户程序。
装载存储器可以是存储器卡、内部集成的RAM或内部集成的EPROM.• 4.保持存储器:保持存储器是非易失性的RAM,通过组态可以在PLC 掉电后即使没有安装后备电池的情况下,保存一部分位存储器(M)、定时器(T)、计数器(C)和数据块(DB)。
在设置CPU 参数时一定要指定要保持的区域。
(注意:由于S7-400 PLC 没有非易失性RAM,即使组态了保持区域,再掉电时若没有后备电池,也将丢失所有数据。
这是S7-300 PLC与S7-400的重要区别)2008.12.182008.12.18S7300/400存储MMC 卡的使用1.MMC 卡的大小(64K~8M )2.MMC 卡的使用寿命3.如何将程序写入MMC4.如何删除MMC 卡中的程序5.MMC 的被动格式化6.MMC 的升级2008.12.18S7300/400存储MMC 卡使用寿命•1.删除或编程步骤的数量•2. 外界影响。
西门子200PLC存储器的数据类型与寻址方式一.存储器的数据类型与寻址方式1.位、字节、字和双字二进制数1位(bit)只有0和1两种不同的取值,可用来表示开关量(或称数字量)的两种不同的状态:通和断。
8位二进制数组成1个字节(Byte),第0位最低位(LSB)、第7位为最高位(MSB)。
两个字节组成1字(Word)。
两个字组成1双字(D表示双字)。
数据的位数与取值范围B(字节),8位值:无符号数十进制:0~255;十六进制:0~FFW(字),16位值:无符号数十进制:0~65535;十六进制:0~FFFFD(双字),32位值:无符号数十进制:0~4294967295;十六进制:0~FFFFFFFF2.数据的存取方式位存储单元的地址由字节地址和位地址组成,如:I3.2中的I表示区域标识符input,字节地址为3,位地址为2。
这种存取方式称为“字节.位”寻址方式。
输入字节IB3(B是Byte的缩写)由I3.0~I3.7这8位组成。
相邻的两个字节组成一个字,VW100表示由VB100和VB101组成的1个字,V表示区域标识符;W表示字(Word);100表示起始字节的地址。
VD100表示由VB100~VB103组成的双字,V为区域标识符;D 表示存取双字(DoubleWord);100为起始字节的地址。
二.存储取的寻址(I、Q、V、M、SM、L均可按位、字节、字和双字来存取)1.输入映像寄存器(I)寻址输入映像寄存器的标识符为I(I0.0~I15.7),在每个扫期描周的开始,CP对输入点进行采样,并将采样值存入映像寄存器中。
2.输出映像寄存器(Q)寻址输出映像寄存器的标识符为Q(Q0.0~Q15.7),在扫期描周的末尾,CPU输出映像寄存器数据传输给输出模块,再由后者驱动外部负载。
3.量存储器(V)寻址在程序执行的过程中存放中间结果,或用来保存与工序或任务有关的其他数据。
4.位存储区(M)区寻址内部存储器标志位(M0.0~M31.7)用来保存控制继电器的中间操作状态或其他控制信息。
西门子PLC的寄存器结构
一访问数据
CPU 将信息存储在不同存储单元,每个位置均具有唯一的地址。
可以显式标识要访问的存储器地址。
这样程序将直接访问该信息。
要访问存储区中的位,必须指定地址,该地址包括存
储器标识符、字节地址和位号(也称为“字节.位”寻址)。
表格--存储区
M存储器最多32个(256个位、32个字节、16个字),从MB0~MB31,MW0~MW30,MD0~MD28。
V存储器最多可到几千~几万个。
M是位地址。
比如M0.0,M0.1等。
MB0、MB1是字节地址,包括8个位地址,从M0.0~M0.7,从
M1.0~M1.7。
MW0是字地址,包括MB0和MB1,即从M0.0~M1.7共16个位
地址。
常用于寄存16位数据。
MD0是双字地址,包括MW0和MW1,即从M0.0~M3.7共32
个位地址。
常用于寄存32位数据。
在程序执行期间,使用过程映像寄存器比直接访问输入或输出点更有优势。
使用映像寄存器共有三个原因:
●在扫描开始时对所有输入进行采样可在扫描周期的程序执行阶段同步和冻结输入值。
程序执行完成后,使用映像寄存器中的值更新输出。
这样会使系统更稳定。
●程序访问映像寄存器的速度比访问 I/O 点的速度快得多,从而可以更快地执行程序。
● I/O 点是位实体,必须以位或字节的形式访问,但可以采用位、字节、字或双字的形式访问映像寄存器。
因此,映像寄存器更为灵活。
使用“字节地址”格式可按字节、字或双字访问多数存储区(V、I、 Q、 M、 S、 L 和 SM)中的数据。
要按字节、字或双字访问存储器中的数据,必须采用类似于指定位地址的方法指定地址。
这包括区域标识符、数据大小标识和字节、字或双字值的起始字节地
址,如下图所示。
二、基本数据类型
1、位(bit)
常称为BOOL(布尔型),只有两个值:0或1。
如:I0.0,Q0.1,M0.0,V0.1等。
2、字节(Byte)
一个字节(Byte)等于8位(Bit),其中0位为最低位,7
位为最高位。
如:IB0(包括I0.0~I0.7位),QB0(包括Q0.0~Q0.7位),MB0,VB0等。
范围:00~FF(十进制的0~255)。
3、字(Word)
相邻的两字节(Byte)组成一个字(Word),来表示一个无符号数,因此,字为16位。
如:IW0是由IB0和IB1组成的,其中I是区域标识符,W表示字,0是字的起始字节。
需要注意的是,字的起始字节(如上例中的“0”)都必须是偶数。
字的范围为十六进制的0000~FFFF(即十进制的0~65535)。
在编程时要注意,如果已经用了IW0,如再用IB0或IB1要特别加以小心,不要出现交叉引用。
4、双字(Double Word)
相邻的两个字(Word)组成一个双字,来表示一个无符号数。
因此,双字为32位。
如:MD100是由MW100和MW102
组成的,其中M是区域标识符,D表示双字,100是双字的起始字节。
需要注意的是,双字的起始字节(如上例中的“100”)和字一样,必须是偶数(4的倍数)。
双字的范围为十六进制的00000000~FFFFFFFF(即十进制的0~4294967295)。
在编程时要注意,如果已经用了MD100,如再用MW100或MW102要特别加以小心,不要出现交叉引用。
以上的字节、字和双字数据类型均为无符号数,即只有正数,没有负数。
三、地址分配:
在PLC中,同一个地址不可以同时用来存储不同的数据,这种情况会造成数据错乱,地址重叠。
这种错误不能被PLC通过编译检查出来,需要编程员自己把控。
PLC中地址的分配方式举例如下:
VW10=VB10+VB11,VW11=VB11+VB12,VW12=VB12+VB13
VD10=VW10+VW12,VD11=VW11+VW13,VD12=VW12+VW14,VD13=VW13+VW15,VD14=VW14+VW16
字节、位的排列:“字节”由低到高是从左到右排列的, “位”由低到高是从右到左排列的。
示例1:
IB0寄存器值为33H (00110011B ), 则:I0.0=1, I0.1=1, I0.2=0, I0.3=0, I0.4=1, I0.5=1, I0.6=0, I0.7=0,
0 0
1 1
0 0
1 1
IB1寄存器值为D7H (11010111B ), 则:I1.0=1, I1.1=1, I1.2=1, I1.3=0, I1.4=1, I1.5=0, I1.6=1, I1.7=1, IW0寄存器值为33D7H ,
ID0寄存器值为33D7OOOOH ,(假设IB2=0,IB3=0)
I0.0
I0.2
I0.4
I0.6
I0.7
I0.5
I0.3
I0.1
IB0
已知VW50=101(0065H),
求:V50.3=0?,V51.3=0? ,
VB50=00? , VB51=65(01100101)? , 可以用V50.12表示一个位地址吗?
5、16位整数(INT,Integer)
整数为有符号数,最高位为符号位,1表示负数,0表示正数。
范围为-32768~32767。
(1000 0000 0000 0000B~0111 1111 1111 1111B) (8000H~7FFFH)
AIW、AQW寄存器为16位整数(INT)数据,有符号位。
6、32位整数(DINT,Double Integer)
32位整数和16位整数一样,为有符号数,最高位为符号位,1表示负数,0表示正数。
范围为-2147483648~2147483647。
(1000 0000 0000 0000 0000 0000 0000 0000B~0111 1111 1111 1111 1111 1111 1111 1111B)(8000 0000H~7FFF FFFFH)
其它数据类型:实数、字符串、ASCII码数……,自己看手册。