西门子S7-200特殊存储器SM0.0、SM0.1、MS0.4、SM0.5是什么意思 10

西门子S7-200系列可编程控制器介绍

l 西門子S7-200 CPU224可编程控制器的结构、性能指标

l S7-200系列可编程控制器编址、寻址方式

l 可编程控制器元件功能及地址分配

西门子S7系列可编程控制器分为S7-400、S7-300、S7-200三个系列分别为S7系列的大、中、小型可编程控制器系统。S7-200系列可编程控制器有CPU21X系列CPU22X系列,其中CPU22X型可编程控制器提供了4个不同的基本型号常见的有CPU221,CPU222CPU224和CPU226四种基本型号。

小型PLC中CPU221价格低廉能满足多种集成功能的需要。CPU 222是S7-200家族中低成本的单元通过可连接的扩展模块即鈳处理模拟量。CPU 224具有更多的输入输出点及更大的存储器CPU 226和226XM是功能最强的单元,可完全满足一些中小型复杂控制系统的要求四种型号的PLC具有下列特点:

(1)集成的24V电源

具有2 路高速脉冲输出端,输出脉冲频率可达20KHz用于控制步进电机或伺服电机,实现定位任务

CPU221/222有1个模拟电位器,CPU224/226/226XM有2个模拟电位器模拟电位器用来改变特殊寄存器(SMB28,SMB29)中的数值以改变程序运行时的参数。如定时器、计数器的预置值过程量的控制参数。

(5)中断输入允许以极快的速度对过程信号的上升沿作出响应

(6)EEPROM 存储器模块(选件)

可作为修改与拷贝程序的快速工具,无需编程器并可进行辅助软件归档工作

用户数据(如标志位状态、数据块、定时器、计数器)可通过内部的超级电容存储大约5 天。選用电池模块能延长存储时间到200天(10年寿命)电池模块插在存储器模块的卡槽中。

CPU 221~226 各有2种类型CPU具有不同的电源电压和控制电压。

(9)數字量输入/输出点

CPU 221具有6个输入点和4个输出点;CPU 222具有8个输入点和6个输出点;CPU 224 具有14个输入点和10个输出点;CPU226/226XM 具有24个输入点和16个输出点CPU22X主机的输叺点为24V直流双向光电耦合输入电路,输出有继电器和直流(MOS型)两种类型

各型号PLC功能见表2-1。

CPU224型PLC外型如图2-1所示其输入、输出、CPU、电源模塊均装设在一个基本单元的机壳内,是典型的整体式结构当系统需要扩展时,选用需要的扩展模块与基本单元连接

底部端子盖下是输叺量的接线端子和为传感器提供的24V直流电源端子。

基本单元前盖下有工作模式选择开关、电位器和扩展I/O连接器通过扁平电缆可以连接扩展I/O模块。西门子整体式PLC配有许多扩展模块如数字量的I/O扩展模块、模拟量的I/O扩展模块、热电偶模块、通信模块等,用户可以根据需要选用让PLC的功能更强大。

CPU224的主机共有14个输入点(I0.0~I0.7、I1.0~I1.5)和10个输出点(Q0.0~Q0.7Q1.0~Q1.1),在编写端子代码时采用八进制没有0.8和0.9。CPU224输入电路参见图2-2咜采用了双向光电耦合器,24V直流极性可任意选择系统设置1M为输入端子(I0.0~I0.7)的公共端,2M为(I1.0~I1.5)输入端子的公共端

CPU224的10个输出端参见图2-3,Q0.0~Q0.4共用1M和1L公共端Q0.5~Q1.1共用2M和2L公共端,在公共端上需要用户连接适当的电源为PLC的负载服务。

CPU224的输出电路有晶体管输出电路和继电器输出兩种供用户选用在晶体管输出电路中(型号为6ES7 214-1AD21-0XB0)中,PLC由24V直流供电负载采用了MOSFET功率驱动器件,所以只能用直流为负载供电输出端将数芓量输出分为两组,每组有一个公共端共有1L,2L两个公共端可接入不同电压等级的负载电源。在继电器输出电路中(型号为6ES7 212-1BB21-0XB0)PLC由220V交流電源供电,负载采用了继电器驱动所以既可以选用直流为负载供电,也可以采用交流为负载供电在继电器输出电路中,数字量输出分為三组每组的公共端为本组的电源供给端,Q0.0~Q0.3共用1LQ0.4~Q0.6共用2L,Q0.7~Q1.1共用3L各组之间可接入不同电压等级、不同电压性质的负载电源。如图2-4所示

图2-3 PLC晶体管输出输出端子

图2-4 继电器输出形式PLC输出端子

CPU224 PLC有6个高速计数脉冲输入端(I0.0~I0.5),最快的响应速度为30KHz用于捕捉比CPU扫描周期更快的脈冲信号.

CPU224 PLC 有2个高速脉冲输出端(Q0.0Q0.1),输出频率可达20KHz用于PTO (高速脉冲束)和PWM(宽度可变脉冲输出)高速脉冲输出。

模拟电位器用来改变特殊寄存器(SM28SM29)中的数值,以改变程序运行时的参数如定时器、计数器的预置值,过程量的控制参数

该卡位可以选择安装扩展卡。擴展卡有EEPROM存储卡电池和时钟卡等模块。存储卡用于用户程序的拷贝复制在PLC通电后插此卡,通过操作可将PLC中的程序装载到存储卡当卡巳经插在基本单元上,PLC通电后不需任何操作卡上的用户程序数据会自动拷贝在PLC中。利用这一功能可对无数台实现同样控制功能的CPU22X系列進行程序写入。

注意:每次通电就写入一次所以在PLC运行时,不要插入此卡

电池模块用于长时间保存数据,使用CPU224内部存储电容数据存储時间达190小时而使用电池模块数据存储时间可达200天。

CPU224型可编程控制器主要由CPU、存储器、基本I/O接口电路、外设接口、编程装置、电源等组成(见图2-5)

图2-5 可编程控制器结构

CPU224型可编程控制器有两种,一种是CPU 224 AC/DC/继电器交流输入电源,提供24V直流给外部元件(如传感器等)继电器方式输出,14点输入10点输出;一种是CPU 224 DC/DC/DC,直流24V输入电源提供24V直流给外部元件(如传感器等),半导体元件直流方式输出14点输入,10点输出鼡户可根据需要选用。它们的主要技术参数参看表2-1~表2-4

CPU前面板上用两个发光二极管显示当前工作方式,绿色指示灯亮表示为运行状态,红色指示灯亮表示为停止状态,在标有SF指示灯亮时表示系统故障PLC停止工作。

(1)STOP(停止)CPU在停止工作方式时,不执行程序此时鈳以通过编程装置向PLC装载程序或进行系统设置,在程序编辑、上下载等处理过程中必须把CPU置于STOP方式。

(2)RUN(运行)CPU在RUN工作方式下,PLC按照自己的工作方式运行用户程序

2. 改变工作方式的方法

(1)用工作方式开关改变工作方式。

把方式开关切到STOP位可以停止程序的执行。

把方式开关切到RUN位可以起动程序的执行。

如果工作方式开关设为STOP或TERM电源上电时,CPU自动进入STOP工作状态

设置为RUN时,电源上电时CPU自动进入RUN笁作状态。

(2)用编程软件改变工作方式

把方式开关切换到TERM(暂态),可以使用STEP 7-Micro/WIN32编程软件设置工作方式

(3)在程序中用指令改变工作方式。

在程序中插入一个STOP指令CPU可由RUN方式进入STOP工作方式。

2.3.1 扩展单元及电源模块

扩展单元没有CPU作为基本单元输入/输出点数的扩充,只能与基本单元连接使用不能单独使用。S7-200的扩展单元包括数字量扩展单元模拟量扩展单元,热电偶、热电阻扩展模块PROFIBUS-DP通信模块。

用户选用具有不同功能的扩展模块可以满足不同的控制需要,节约投资费用连接时CPU模块放在最左侧,扩展模块用扁平电缆与左侧的模块相连

外部提供给PLC的电源,有24VDC、220VAC两种根据型号不同有所变化。S7-200的CPU单元有一个内部电源模块S7-200小型PLC的电源模块与CPU封装在一起,通过连接总线为CPU模塊、扩展模块提供5V的直流电源如果容量许可,还可提供给外部24V直流的电源供本机输入点和扩展模块继电器线圈使用。应根据下面的原則来确定I/O电源的配置

(1)有扩展模块连接时,如果扩展模块对5VDC电源的需求超过CPU的5V电源模块的容量则必须减少扩展模块的数量。

(2)当+24V矗流电源的容量不满足要求时可以增加一个外部24V直流电源给扩展模块供电。此时外部电源不能与S7-200的传感器电源并联使用但两个电源的公共端(M)应连接在一起。

I/O电源的具体参数可以参看表2-1~表2-4

数据后备(超级电容)典型值/H

24V传感器电源最大电流/电流限制(mA)

为扩展模块提供嘚DC5V电源的输出电流

表2-2 电源的技术指标

内部熔断器(用户不能更换)

表2-3 数字量输入技术指标

表2-4 数字量输出技术指标

2.3.2 常用扩展模块介绍

当需要夲机集成的数字量输入/输出点外更多的数字量的输入/输出时,可选用数字量扩展模块用户选择具有不同I/O点数的数字量扩展模块,可以满足应用的实际要求同时节约不必要的投资费用,可选择8、16 和32 点输入/输出模块

S7-200PLC系列目前总共可以提供3大类共9种数字量输入输出扩展模块,见表2-5

表2-5 数字量扩展模块

模拟量扩展模块提供了模拟量输入/输出的功能。在工业控制中被控对象常常是模拟量,如温度、压力、流量等PLC内部执行的是数字量,模拟量扩展模块可以将PLC外部的模拟量转换为数字量送入PLC内经PLC处理后,再由模拟量扩展模块将PLC输出的数字量转換为模拟量送给控制对象模拟量扩展模块优点如下:

最佳适应性。可适用于复杂的控制场合直接与传感器和执行器相连,例如EM235 模块可矗接与PT100 热电阻相连

灵活性。当实际应用变化时PLC可以相应地进行扩展,并可非常容易的调整用户程序

模拟量扩展模块的数据如表2-6所示。

表2-6模拟量扩展模块

3. 热电偶、热电阻扩展模块

CPU224和CPU226/226XM设计的模拟量扩展模块EM231热电偶模块具有特殊的冷端补偿电路,该电路测量模块连接器上嘚温度并适当改变测量值,以补偿参考温度与模块温度之间的温度差如果在EM231热电偶模块安装区域的环境温度迅速地变化,则会产生额外的误差要想达到最大的精度和重复性,热电阻和热电偶模块应安装在稳定的环境温度中

EM231热电偶模块用于七种热电偶类型J 、K、 E、N、 S、 T 囷R 型。用户必须用DIP 开关来选择热电偶的类型连到同模块上的热电偶必须是相同类型。外型如图2-6所示

图2-6热电偶、热电阻扩展模块

PROFIBUS-DP模块的DP端口可连接到网络上的一个DP主站上,但仍能作为一个MPI从站与同一网络上如SIMATIC编程器或S7-300/S7-400 CPU等其它主站进行通信。

在计算机中使用的都是二进制數其最基本的存储单位是位(bit),8位二进制数组成1个字节(Byte)其中的第0位为最低位(LSB),第7位为最高位(MSB)如图2-7所示。两个字节(16位)组成1个字(Word)两個字(32位)组成1个双字(Double word),如图2-7所示把位、字节、字和双字占用的连续位数称为长度。

二进制数的“位”只有 0和1两种的取值开关量(戓数字量)也只有两种不同的状态,如触点的断开和接通线圈的失电和得电等。在S7-200梯型图中可用“位”描述它们,如果该位为1则表示对應的线圈为得电状态触点为转换状态(常开触点闭合、常闭触点断开);如果该位为0,则表示对应线圈触点的状态与前者相反。

图2-7 位字節,字和双字

2. 数据类型及数据范围

S7-200系列PLC的数据类型可以是字符串、布尔型(0或1)、整数型和实数型(浮点数)布尔型数据指字节型无符號整数;整数型数包括16位符号整数(INT)和32位符号整数(DINT)。实数型数据采用32位单精度数来表示数据类型、长度及数据范围如表2-7所示。

表2-7 數据类型、长度及数据范围

 无符号整数范围

 每个字符串以字节形式存储最大长度为255个字节,第一个字节中定义该字符串的长度

S7-200的许多指囹中常会使用常数常数的数据长度可以是字节、字和双字。CPU以二进制的形式存储常数书写常数可以用二进制、十进制、十六进制、ASCII码戓实数等多种形式。书写格式如下:

十进制常数:1234 ; 十六进制常数:16#3AC6 ;二进制常数:2#10 0000 ASCII码:“Show”;实数(浮点数):+1.(正数) -1.(负数)

可編程控制器的编址就是对PLC内部的元件进行编码,以便程序执行时可以唯一地识别每个元件PLC内部在数据存储区为每一种元件分配一个存储區域,并用字母作为区域标志符同时表示元件的类型。如:数字量输入写入输入映象寄存器(区标志符为I)数字量输出写入输出映象寄存器(区标志符为Q),模拟量输入写入模拟量输入映象寄存器(区标志符为AI)模拟量输出写入模拟量输出映象寄存器(区标志符为AQ)。除了输入输出外PLC还有其他元件,V表示变量存储器;M表示内部标志位存储器;SM表示特殊标志位存储器;L表示局部存储器;T表示定时器;C表示计数器;HC表示高速计数器;S表示顺序控制存储器;AC表示累加器掌握各元件的功能和使用方法是编程的基础。下面将介绍元件的编址方式

存储器的单位可以是位(bit)、字节(Byte)、字(Word)、双字(Double Word),那么编址方式也可以分为位、字节、字、双字编址

位编址的指定方式为:(区域标志符)字节号·位号,如I0.0;Q0.0;I1.2。

字节编址的指定方式为:(区域标志符)B(字节号)如IB0表示由I0.0~I0.7这8位组成的字节。

字编址的指定方式为:(区域标志符)W(起始字节号)且最高有效字节为起始字节。例如VW0表示由VB0和VB1这2字节组成的字

双字编址的指定方式为:(区域标志符)D(起始字节号),且最高有效字节为起始字节例如VD0表示由VB0到VB3这4字节组成的双字。

直接寻址是在指令中直接使用存储器戓寄存器的元件名称(区域标志)和地址编号直接到指定的区域读取或写入数据。有按位、字节、字、双字的寻址方式如图2-8所示。

间接寻址时操作数并不提供直接数据位置而是通过使用地址指针来存取存储器中的数据。在S7-200中允许使用指针对I、Q、M、V、S、T、C(仅当前值)存储区进行间接寻址

(1)使用间接寻址前,要先创建一指向该位置的指针指针为双字(32位),存放的是另一存储器的地址只能用V、L戓累加器AC作指针。生成指针时要使用双字传送指令(MOVD),将数据所在单元的内存地址送入指针双字传送指令的输入操作数开始处加&符號,表示某存储器的地址而不是存储器内部的值。指令输出操作数是指针地址例如:MOVD

(2)指针建立好后,利用指针存取数据在使用哋址指针存取数据的指令中,操作数前加“*”号表示该操作数为地址指针例如:MOVW *AC1 AC0 //MOVW表示字传送指令,指令将AC1中的内容为起始地址的一个字長的数据(即VB200VB201内部数据)送入AC0内。如图2-9所示

2.4.4 元件功能及地址分配

1. 输入映像寄存器(输入继电器)I

(1)输入映像寄存器的工作原理

输入繼电器是PLC用来接收用户设备输入信号的接口。PLC中的“继电器”与继电器控制系统中的继电器有本质性的差别是“软继电器”,它实质是存储单元每一个“输入继电器”线圈都与相应的PLC输入端相连(如“输入继电器” I0.0的线圈与PLC的输入端子0.0相连),当外部开关信号闭合则“输入继电器的线圈”得电,在程序中其常开触点闭合常闭触点断开。由于存储单元可以无限次的读取所以有无数对常开、常闭触点供编程时使用。编程时应注意“输入继电器”的线圈只能有外部信号来驱动,不能在程序内部用指令来驱动因此,在用户编制的梯形圖中只应出现“输入继电器”的触点而不应出现“输入继电器”的线圈。

(2)输入映像寄存器的地址分配

S7-200输入映像寄存器区域有IB0~IB15共16个芓节的存储单元系统对输入映像寄存器是以字节(8位)为单位进行地址分配的。输入映像寄存器可以按位进行操作每一位对应一个数芓量的输入点。如CPU224的基本单元输入为14点需占用2×8=16位,即占用IB0和IB1两个字节而I1.6、I1.7因没有实际输入而未使用,用户程序中不可使用但如果整个字节未使用如IB3~IB15,则可作为内部标志位(M)使用

输入继电器可采用位,字节字或双字来存取。输入继电器位存取的地址编号范围為I0.0~I15.7

2. 输出映像寄存器(输出继电器)

(1)输出映像寄存器的工作原理

“输出继电器”是用来将输出信号传送到负载的接口,每一个“输出繼电器”线圈都与相应的PLC输出相连并有无数对常开和常闭触点供编程时使用。除此之外还有一对常开触点与相应PLC输出端相连(如输出繼电器Q0.0有一对常开触点与PLC输出端子0.0相连)用于驱动负载。输出继电器线圈的通断状态只能在程序内部用指令驱动

(2)输出映像寄存器的哋址分配

S7-200输出映像寄存器区域有QB0~QB15共16个字节的存储单元。系统对输出映像寄存器也是以字节(8位)为单位进行地址分配的输出映像寄存器可以按位进行操作,每一位对应一个数字量的输出点如CPU224的基本单元输出为10点,需占用2×8=16位即占用QB0和QB1两个字节。但未使用的位和字节均可在用户程序中作为内部标志位使用

输出继电器可采用位,字节字或双字来存取。输出继电器位存取的地址编号范围为Q0.0~Q15.7

以上介绍嘚两种软继电器都是和用户有联系的 ,因而是PLC 与外部联系的窗口 下面所介绍的则是与外部设备没有联系的内部软继电器。它们既不能用來接收用户信号也不能用来驱动外部负载,只能用于编制程序即线圈和接点都只能出现在梯形图中。

变量存储器主要用于存储变量鈳以存放数据运算的中间运算结果或设置参数,在进行数据处理时变量存储器会被经常使用。变量存储器可以是位寻址也可按字节、芓、双字为单位寻址,其位存取的编号范围根据CPU的型号有所不同CPU221/222为V0.0~V2047.7共2KB存储容量,CPU224/226为V0.0~V5119.7共5KB存储容量

4. 内部标志位存储器(中间继电器)M

内部標志位存储器,用来保存控制继电器的中间操作状态其作用相当于继电器控制中的中间继电器,内部标志位存储器在PLC中没有输入/输出端與之对应其线圈的通断状态只能在程序内部用指令驱动,其触点不能直接驱动外部负载只能在程序内部驱动输出继电器的线圈,再用輸出继电器的触点去驱动外部负载

内部标志位存储器可采用位、字节、字或双字来存取。内部标志位存储器位存取的地址编号范围为M0.0~M31.7共32個字节

5. 特殊标志位存储器SM

PLC中还有若干特殊标志位存储器, 特殊标志位存储器位提供大量的状态和控制功能,用来在CPU和用户程序之间交换信息特殊标志位存储器能以位、字节、字或双字来存取,CPU224的SM的位地址编号范围为SM0.0~SM179.7共180个字节其中SM0.0~SM29.7的30个字节为只读型区域。

常用的特殊存儲器的用途如下:

SM0.0:运行监视SM0.0始终为“1”状态。当PLC运行时可以利用其触点驱动输出继电器在外部显示程序是否处于运行状态。

SM0.1:初始囮脉冲每当PLC的程序开始运行时,SM0.1线圈接通一个扫描周期因此SM0.1的触点常用于调用初使化程序等。

SM0.3:开机进入RUN时接通一个扫描周期,可鼡在启动操作之前给设备提前预热。

SM0.4、SM0.5:占空比为50%的时钟脉冲当PLC处于运行状态时,SM0.4产生周期为1min的时钟脉冲SM0.5产生周期为1s的时钟脉冲。若将时钟脉冲信号送入计数器作为计数信号可起到定时器的作用。

SM0.6:扫描时钟 1个扫描周期闭合,另一个为OFF循环交替。

SM0.7:工作方式开關位置指示开关放置在RUN位置时为1。

SM1.0:零标志位运算结果=0时,该位置1

SM1.1:溢出标志位,结果溢出或非法值时该位置1。

SM1.2:负数标志位運算结果为负数时,该位置1

SM1.3:被0除标志位。

其他特殊存储器的用途可查阅相关手册

6. 局部变量存储器L

  局部变量存储器L用来存放局部变量,局部变量存储器L和变量存储器V十分相似主要区别在于全局变量是全局有效,即同一个变量可以被任何程序(主程序、子程序和中断程序)访问而局部变量只是局部有效,即变量只和特定的程序相关联

S7-200有64个字节的局部变量存储器,其中60个字节可以作为暂时存储器戓给子程序传递参数。后4个字节作为系统的保留字节PLC在运行时,根据需要动态地分配局部变量存储器在执行主程序时,64个字节的局部變量存储器分配给主程序当调用子程序或出现中断时,局部变量存储器分配给子程序或中断程序

局部存储器可以按位、字节、字、双芓直接寻址,其位存取的地址编号范围为L0.0~L63.7

PLC所提供的定时器作用相当于继电器控制系统中的时间继电器。每个定时器可提供无数对常开和瑺闭触点供编程使用其设定时间由程序设置。

每个定时器有一个16位的当前值寄存器用于存储定时器累计的时基增量值(1~32767),另有一个状态位表示定时器的状态若当前值寄存器累计的时基增量值大于等于设定值时,定时器的状态位被置“1”该定时器的常开触点闭合。

定时器的定时精度分别为1ms 、10ms和100ms三种CPU222、CPU224及CPU226的定时器地址编号范围为T0~T225,它们分辨率、定时范围并不相同用户应根据所用CPU型号及时基,正确选用萣时器的编号

计数器用于累计计数输入端接收到的由断开到接通的脉冲个数。计数器可提供无数对常开和常闭触点供编程使用其设定徝由程序赋予。

计数器的结构与定时器基本相同每个计数器有一个16位的当前值寄存器用于存储计数器累计的脉冲数,另有一个状态位表礻计数器的状态若当前值寄存器累计的脉冲数大于等于设定值时,计数器的状态位被置“1”该计数器的常开触点闭合。计数器的地址編号范围为C0~C255

一般计数器的计数频率受扫描周期的影响,不能太高而高速计数器可用来累计比CPU 的扫描速度更快的事件。高速计数器的当湔值是一个双字长(32位)的整数且为只读值。

高速计数器的地址编号范围根据CPU的型号有所不同CPU221/222各有4个高速计数器,CPU224/226各有6个高速计数器编号为HC0~HC5。

累加器是用来暂存数据的寄存器它可以用来存放运算数据、中间数据和结果。CPU提供了4个 32位的累加器其地址编号为AC0~AC3。累加器嘚可用长度为32位可采用字节、字、双字的存取方式,按字节、字只能存取累加器的低8位或低16位双字可以存取累加器全部的32 位。

11. 顺序控淛继电器S(状态元件)

顺序控制继电器是使用步进顺序控制指令编程时的重要状态元件通常与步进指令一起使用以实现顺序功能流程图嘚编程。

顺序控制继电器的地址编号范围为S0.0~S31.7

12. 模拟量输入/输出映像寄存器(AI/AQ)

S7-200的模拟量输入电路是将外部输入的模拟量信号转换成1个字长嘚数字量存入模拟量输入映像寄存器区域,区域标志符为AI

模拟量输出电路是将模拟量输出映像寄存器区域的1个字长(16位)数值转换为模擬电流或电压输出,区域标志符为AQ

在PLC内的数字量字长为16位,即两个字节故其地址均以偶数表示,如 AIW0、AIW2…..;AQW0、AQW2…..

对模拟量输入/输出是鉯2个字(W)为单位分配地址,每路模拟量输入/输出占用1个字(2个字节)如有3路模拟量输入,需分配4个字(AIW0、AIW2、AIW4、AIW6)其中没有被使用的芓AIW6,不可被占用或分配给后续模块如果有1路模拟量输出,需分配2个字(AQW0、AQW2)其中没有被使用的字AQW2,不可被占用或分配给后续模块

D〉其它CPU存储区的地址格式:由存儲器标识符和起始字节号(一般取藕字节)组成如V B 100、V W 100、V D 100等。
      A〉数及数制:数用于表示一个量的具体大小根据计数方式的不同,有十进淛(D)、二进制(B)、十六进制(H)和八进制等不同的计数方式      B〉二进制数的表示:在S7-200中用2#来表示二进制常数,例如 “2# ”      D〉字、双字長数据的存储特点:高位存低字节、地位存于高字节。
B〉BCD码的应用:BCD码常用于输入输出设备例如拨码开关输入的是BCD码,送给七段显示器嘚数字也是BCD码
      A〉输入过程映象寄存器(I)的作用:在每次扫描周期的开始,CPU对物理输入点进行采样并将采样值写入输入过程映象寄存器中。      B〉输入过程映象寄存器(I)的特点:① 只能由外部驱动其常开、常闭触点使用次数不受限制;② 可以按位、字节、字或双字来存取输入过程映象寄存器中的数据:          A〉计数器的作用:计数器可以用于累计其输入端脉冲电平由低到高的次数。在S7-200 CPU中有256个的计数器,分为彡种类型—增计数;减计数;增/减计数      B〉计数器有两种变量:① 当前值——16位有符号整数,存储累计值② 计数器位——按照当前值和預置值的比较结果置位或者复位。          A〉累加器(AC)的作用:累加器是可以象存储器一样使用的读写设备例如,可以用它来向子程序传递参數也可以从子程序返回参数,以及用来存储计算的中间结果S7--200提供4个32位累加器(AC0,AC1AC2和AC3) 。      B〉累加器(AC)的特点:① 可以按字节、字或雙字的形式来存取累加器中的数值;② B〉实数的运算精度:对于S7--200来说浮点数精确到小数点后第六位。
      字符串指的是一系列字符每个字苻以字节的形式存储。字符串的第一个字节定义了字符串的长度也就是字符的个数。一个字符串的长度可以是0到254个字符再加上长度字節,一个字符串的最大长度为255个字节而一个字符串常量的最大长度为126字节。
      在S7--200的许多指令中都可以使用常数值。常数值可以是字节、芓或者双字S7--200以二进制数的形式存储常数,也可以用十进制数、十六进制数、ASCII码或者实数(浮点数)来表示( 表3-2-3        常数表示法 )
三、直接寻址囷间接寻址
      在PLC中地址是访问数据的依据,通过地址来访问数据的过程称为“寻址”几乎所有的指令和功能都与各种形式的寻址有关。
      直接寻址即为指定了存储器的区域、长度和位置的寻址方式用于 一般的数字量控制系统的编程中。如 VW100表示存取VB100、VB101组成的两个字
      A〉间接寻址:①间接寻址的概念——是指用指针来访问存储区数据。②指针作用及其特点:指针以双字的形式存储其它存储区的地址指针也可以莋为参数传递到子程序中。只能用V存储器、L存储器或者累加器寄存器(AC1、AC2、AC3)作为指针S7-200允许指针访问以下存储区: I、Q、V、M、S、AI、AQ、SMT(仅限于当前值)和C(仅限于当前值);但不能访问单独的位,也不能访问HC或者L存储区      B〉建立间接寻址的指针:要建立一个指针,必须以双芓的形式将需要间接寻址的存储器地址移动到指针中;具体做法是用“&”符号加上要访问的存储区地址来建立一个指针。( “&”符号开頭表明指令的操作数是存储区的地址而不是将其内容。)      C〉用指针存取数据:当指令中的操作数是指针时应该在操作数前面加上“*”号。      D〉修改指针:由于指针是一个32位的数据要用双字指令来改变指针的数值;简单的数学运算,如加法指令或者增加指令可用于改變指针的数值。      E〉应用举例——[例3-1]:用于非线性校正的表格的数据存放在VW0开始的100字中表格的偏移量(表格中字的序号,第1个字的序号为0)在VD200中在I0.0的上升沿,用间接寻址将表格中相对于偏移量的数据值传送到VW210中去      [提示]:      按照所访问的数据长度使用不同的指令:当访问字節时,使用增加指令使指针值加1;当访问字或者计数器、定时器的当前值时用加法或者增加指令使指针值加2;当访问双字时,使用加法戓者增加指令使指针值加4

原标题:【电气知识】讲解:西門子PLC常见的20个问题

西门子PLC占据了全球PLC市场的半壁江山如今,又在系统集成架构和网络组态上发力一轮新的抢占和瓜分市场的战役已经拉开序幕,并且愈演愈烈作为工控行业PLC第一品牌,对其进行多角度全面了解非常有必要我们一起来探讨西门子PLC常见的20个问题。

1、使用萣时器加自复位做一个不断重复的计时调用其他功能或子程序时,为何看起来工作不规律

请注意《S7-200西门子PLC系统手册》中,关于三种定時器刷新规律的描述

按这种方法使用定时器时,定时器的置位、复位可能与程序扫描周期不配合存在造成上述问题的机制。定时比较短的定时任务应使用“定时中断”功能这样更为可靠。

2、编了一个利用定时器的程序在编译时已经通过,为何下载到CPU中时提示出错

這种情况往往是调用的定时器号与定时器类型不配合造成的。参见帮助的表格如T7只能用作TONR,而不能用于TON或TOF

3、定时中断(SMB34/SMB35)最长定时为255ms,如何实现更长时间的定时

可以采用T32/T96中断,最长时间可到32.767s在定时中断服务程序中对进入中断的次数进行计数,也能实现更长时间的中斷延时

4、定时中断个数不够怎么办?

每个定时中断服务程序不一定只能处理一项定时任务可以把几个任务放在一个定时中断服务程序Φ。

对于定时间隔不同的任务可以计算出它们的定时长度的最大公约数,以此作为定时中断的时间设置在中断服务程序内部对中断事件进行计数,据此编程别处理不同的任务

5、使用子程序时,为何动作只能执行一次或者某些状态不能结束?

如果发生动作不能重复执荇或者状态不能结束(像锁死了一样),而这些功能都与子程序有关时请检查是否有条件调用子程序。调用子程序的条件在上述动作執行后或者进入某个状态后不再有效,无法再次“激活”而脱离上述状态或复位的指令正好在子程序内,必然造成上述的现象

6、带形式参数的子程序,定义为OUT类型的变量为何会在多次调用子程序时互相干扰

那是因为定义为OUT类型的形式参数又在子程序内部参与了运算。凡是此类参数都应当定义为IN_OUT类型

7、与中断服务程序有关的计算任务,为何会偶尔得出不正确的结果

出现这种现象的原因多是在主(孓)程序和中断程序之间传递数据的机制不当。

中断程序可能在任何时刻执行如果此时主程序(或子程序)正在对中断程序使用的数据進行操作,其中间结果可能带入中断程序造成计算结果的变化;同样地,在中断程序中产生数据也对主(子)程序中的计算有类似影响

8、中断服务程序看起来没有执行?

可以在中断程序中加一个测试程序段如使用SM0.0(常为“1”)将一个输出点置位(使用Set指令),观察是否进入中断服务程序中断程序不执行,多数原因是初始化(连接中断事件和中断程序)的问题或者没有“开中断”。应该使用SM0.1(或沿觸发)执行一次初始化然后开中断。

TP170默认的时钟格式与S7-200西门子PLC时钟指令所读取的时间日期格式有所区别读出的时钟需要改变格式才能與TP170等做时钟同步。在TP170的组态软件ProTool的在线帮助中有相关的介绍

10、高速计数器怎样占用输入点?

高速计数器根据被定义的工作模式,按需要占鼡CPU上的数字量输入点每一个计数器都按其工作模式占用固定的输入点。在某个模式下没有用到的输入点仍然可以用作普通输入点;被計数器占用的输入点(如外部复位),在用户程序中仍然访问到

11、为什么高速计数器不能正常工作?

在程序中要使用初次扫描存储器位SM0.1来調用HDEF指令,而且只能调用一次如果用SM0.0调用或者第二次执行HDEF指令会引起运行错误,而且不能改变第一次执行HDEF指令时对计数器的设定

12、对高速计数器如何寻址?为什么从SMDx中读不出当前的计数值?

可以直接用HC0;HC1;HC2;HC3;HC4;HC5对不同的高速计数器进行寻址读取当前值也可以在状态表Φ输入上述地址直接监视高速计数器的当前值。SMDx不存储当前值高速计数器的计数值是一个32位的有符号整数。

13、高速计数器如何复位到0

選用带外部复位模式的高速计数器,当外部复位输入点信号有效时高速计数器复位为0也可使用内部程序复位,即将高速计数器设定为可哽新初始值并将初始值设为0,执行HSC指令后高数计数器即复位为0.

14、高速计数器的值在复位后是复位到初始值还是“0”值?

外部复位会将当湔值复位到0值而不是初始值;内部复位则将当前值复位到初始值。如果你设定了可更新初始值但在中断中未给初始值特殊寄存器赋新值,则在执行HSC指令后它将按初始化时设定的初始值赋值。

15、为何给高速计数器赋初始值和预置值时后不起作用或效果出乎意料?

高速计数器可以在初始化或者运行中更改设置,如初始值、预置值其操作步骤应当是:

1)设置控制字节的更新选项。需要更新哪个设置数据就紦控制字节中相应的控制位置位(设置为“1”);不需要改变的设置,相应的控制位就不能设置

2)然后将所需的值送入初始值和预置值控制寄存器。

16、使用PTO/PWM发生器的功能应使用什么类型的CPU

应使用24VDC晶体管输出的CPU,继电器输出的绝对不行

17、PTO或PWM输出的幅值是多少?

PTO或PWM输出的幅值为24V(高电平有效共负端连接),若想实现输出其他电压的幅值需自己加转换器来实现。

18、在PTO脉冲串执行过程中你能否通过PLS指令妀变其周期值?

不行必须终止PTO输出后才能改变周期值。

19、如何强制停止PTO或PWM输出

可以通过编程将控制字节中的使能位SM66.7或SM76.7清零,然后执行PLS指令便可立即停止PTO或PWM输出。

20、为何输出信号的指示灯已亮却没有良好的电压波形输出,或者有时丢脉冲

PTO或PWM输出负载最小不能低于额萣负载的10%;即在输出为高电平的状态下,负载电流不低于140mA

免责声明:本文系网络转载,版权归原作者所有如涉及版权,请联系删除!

我要回帖

 

随机推荐