9
上海庆惜自动化设备有限公司
详细简介
上海庆惜自动化设备有限公司是一家集代理、配套和技术方案的综合型企业,秉着仓储式的经营理念,以专业、诚信、服务为宗旨,向客户提供规范化、专业化、多元化的*优质服务,深受国内外厂家、经销商的信赖和支持!真诚欢迎广大朋友前来洽谈合作,共谋发展和建立长期的合作关系!
于数字量逻辑控制。有时梯形图称为电路或程序。
梯形图由触点、线圈和用方框表示的指令框组成。触点代表逻辑输入条件,例如外部的开关、按钮和内部条件等;线圈通常代表逻辑运算的结果,常用来控制外部的负载和内部的标志位等;指令框用来表示定时器、计数器或数学运算等指令。
使用编程软件可以直接生成和编辑梯形图,并将其下载到PLC。
触点和线圈等组成的独立电路称为网络,编程软件自动为网络编号。梯形图中的触点和线圈可以使用物理地址,也可以在符号表中对某些地址定义符号,使程序易于阅读和理解。用户可以在网络号的右边加上网络的标题,在网络号的下面为网络加上注释。还可以选择在梯形图下面自动加上该网络中使用的符号信息(symbol information)。如果将两块独立电路放在同一个网络内,将会出错。本书为了节约篇幅,在插图中一般没有标出梯形图的网络号,但是相邻网络左边的垂直线是断开的,以此来表示网络的分界点。
在分析梯形图中的逻辑关系时,为了借用继电器电路图的分析方法,可以想象在梯形图的左右两侧垂直“电源线”之间有一个左正右负的直流电源电压,当网络中的触点同时接通,有一个假想的“能流”(power flow)流过线圈。能流这一概念可以帮助我们更好地理解和分析梯形图,能流只能从左向右流动。
如果没有跳转指令,在网络中,程序中的逻辑运算按从左往右的方向执行,与能流的方向一致。网络之间按从上到下的顺序执行,执行完所有的网络后,下一次循环返回较上面的网络(网络1)重新开始执行。
2.语句表
S7系列PLC将指令表称为语句表(STL),它是一种类似于微机的汇编语言的文本语言,多条语句组成一个程序段。语句表可以实现某些不能用梯形图或功能块图表示的功能。
3.功能块图
功能块图(FBD)使用类似于布尔代数的图形逻辑符号来表示控制逻辑。一些复杂的功能(如数学运算功能)用指令框来表示,有数字电路基础的人很*掌握。功能块图用类似于与门、或门的方框来表示逻辑运算关系,方框的左侧为逻辑运算的输入变量,右侧为输出变量,输入、输出端的小圆圈表示“非”运算,方框被“导线”连接在一起,信号自左向右流动。
4.编程语言的相互转换与选用
在STEP 7编程软件中,如果程序块没有错误,并且被正确地划分为网络,在梯形图、功能块图和语句表之间可以转换。用语句表编写的程序不一定能转换为梯形图,不能转换的网络仍然保留语句表的形式,但是并不表示该网络有错误
在STEP 7编程软件中,如果程序块没有错误,并且被正确地划分为网络,在梯形图、功能块图和语句表之间可以转换。用语句表编写的程序不一定能转换为梯形图,不能转换的网络仍然保留语句表的形式,但是并不表示该网络有错误。
语句表可供习惯用汇编语言编程的经验丰富的程序员使用,在运行时间和存储空间方面较优。语句表的输入方便快捷,还可以在每条语句的后面加上注释,便于复杂程序的阅读和理解。在设计通信、数学运算等高级应用程序时建议使用语句表。
梯形图与继电器电路图的表达方式较为相似,适合于熟悉继电器电路的用户使用。语句表程序较难阅读,其中的逻辑关系很难一眼看出,在设计和阅读复杂的触点电路的程序时较好使用梯形图语言。功能块图适合于熟悉数字电路的用户使用。
6.2 S7-300/400的存储区
S7-300/400系列PLC的存储区用于存储系统程序和用户程序。根据使用功能的不同,存储区通常还被分为若干个区域,了解这些区域的作用是进行PLC编程的基础。
6.2.1 数制
1.二进制数
二进制数
二进制数的1位(bit)只能取0和1这两个不同的值,可以用来表示开关量(或称数字量)的两种不同的状态,例如触点的断开和接通、线圈的通电和断电等。如果该位为1,表示梯形图中对应的位编程元件(例如位存储器M和输出过程映像Q)的线圈“通电”,其常开触点接通,常闭触点断开,以后称该编程元件为1状态,或称该编程元件ON(接通)。如果该位为0,对应的编程元件的线圈和触点的状态与上述的相反,称该编程元件为0状态,或称该编程元件OFF(断开)。二进制常数用2#表示,例如2#1111 0110 1001 000l是16位二进制常数。
2.十六进制数
十六进制的16个数字是0~9和A~F(对应于十进制数10~15),每个数字占二进制数的4位。B#16#、W#16#、DW#16#分别用来表示十六进制字节、字和双字常数,例如W#16#13AF。在数字后面加“H”也可以表示十六进制数,例如16#13AF可以表示为13AFH。
十六进制数的运算规则为逢16进l,例如B#16#3C=3×16+12=60。
3.BCD码
BCD码用4位二进制数表示一位十进制数,例如十进制数9对应的二进制数为1001。4位二进制数共有16种组合,有6种(1010~1111)没有在BCD码中使用
BCD码实际上是十六进制数,但是各位之间的关系是逢十进一。十进制数可以很方便地转换为BCD码,例如十进制数296对应的BCD码为W#16#296,或2#0000 0010 1001 0110。
二进制整数2#0000 0001 0010 1000对应的十进制数也是296,因为它的*3位、*5位和*8位为1,对应的十进制数为256+32+8=296。
6.2.2 数据类型
STEP 7有3种数据类型:基本数据类型、用户通过组合基本数据类型生成的复合数据类型和用来定义传送FB(功能块)和FC(功能)参数的参数类型。
1.西门子CPU模块基本数据类型
(1)位
位(bit)数据的数据类型为BOOL(布尔)型,在编程软件中BOOL变量的值1和0常用英语单词TURE(真)和FALSE(假)来表示。
位存储单元的地址由字节地址和位地址组成,例如I3.2中的区域标示符“I”表示输入(Input),字节地址为3,位地址为2。这种存取方式称为“字节.位”寻址方式。
(2)字节
位二进制数组成1个字节(BYTE),其中的*0位为较低位(LSB),*7位为较高位(MSB)。
(3)字
相邻的两个字节组成一个字(WORD),字用来表示无符号数。MWl00是由MBl00和MBl01组成的1个字,MBl00为高位字节。MWl00中的M为区域标示符,W表示字,100为字的起始字节MBl00的地址。字的取值范围为W#16#0000~W#16#FFFF。
(4)双字
两个字组成1个双字(Double Word),双字用来表示无符号数。MDl00是由MBl00~MBl03组成的1个双字,MBl00为高位字节,D表示双字,100为双字的起始字节MB100的地址。双字的取值范围为DW#16#0000 0000~DW#16#FFFF FFFF。
(5)16位整数
整数(Integer,INT)是有符号整数,其较高位为符号位,较高位为0时为正数,为1时为负数,取值范围为-32768~32767。用补码来表示,正数的补码就是它的本身,将一个正数对应的二进制数的各位求反后加1,可以得到**值与它相同的负数的补码。
上海庆惜自动化设备有限公司
详细信息
公司始终本着"顾客至上"的经营理念,在为客户提供尖端技术的同时,我们同样非常注重售后服务。西门子上海庆惜自动化设备有限公司拥有多名技术人员,他们经过专业培训和长期实践,积累了丰富的现场经验,能做到24小时响应,处理各种故障和紧急情况, 使用户没有后顾之忧。 一直以来,其工作得到了用户的一致**。
NEG是单个地址位提供的信号的下降沿检测指令,比较<address1>的信号状态与**次扫描的信号状态(存储在<address2>中)。如果当前RLO状态为1且其**状态为0(检测到下降沿),执行此指令后RLO位将是1。相应的输出线圈“通电”一个扫描周期。
【例6-13】地址下降沿检测指令实例
地址下降沿检测指令实例如图6-13所示。
POS是单个地址位提供的信号的上升沿检测指令,比较<address1>的信号状态与**次扫描的信号状态(存储在<address2>中)。如果当前RLO状态为1且其**状态为0(检测到上升沿),执行此指令后RLO位将是1。相应的输出线圈“通电”一个扫描周期。
1.定时器的种类
定时器相当于继电器电路中的时间继电器,S7 300/400的定时器分为脉冲定时器(SP)、扩展脉冲定时器(SE)、接通延时定时器(SD)、保持型接通延时定时器(SS)和断开延时定时器(SF)。
脉冲定时器在输入信号的上升沿开始定时,输出为1,当定时时间到或输入信号变为0或者复位输入信号为1时,则输出为0。
扩展脉冲定时器在输入信号的上升沿开始定时,输出为1,当定时时间到或复位输入信号为1,则输出为0,脉冲定时器和扩展脉冲定时器的主要区别在于开始定时后,在定时时间未到时是否受到输入信号的影响。
接通延时定时器是使用较多的定时器,在输入信号的上升沿开始定时,当输入信号为1且定时时间到时输出才为1,否则输出为0。
保持型接通延时定时器在输入信号的上升沿开始定时,定时时间到时输出为1,当复位输入信号为1时,输出为0,与接通延时定时器的主要区别在于开始定时后是否受到输入信号的影响。
断开延时定时器在输入信号的上升沿输出为1,在输入信号的下降沿才开始定时,时间到时或复位输入信号为1时,输出为0。
2.定时器的存储区
S5是西门子PLC老产品的系列号,S5定时器是S5系列PLC的定时器,在梯形图中用指令框(Box)的形式表示。此外每一个S5定时器都有功能相同的用线圈形式表示的定时器。
S7 CPU为定时器保留了一片存储区域。每个定时器有一个16位的字和一个二进制位,定时器的字用来存放当前的定时时间值,定时器触点的状态由位的状态来决定。用定时器地址(T和定时器号,如T6)来存取时间值和定时器位,带位操作数的指令存取定时器位,带字操作数的指令存取定时器的时间值。不同的CPU支持32~512个定时器。梯形图逻辑指令集支持256个定时器。
下列功能可访问定时器存储区。
1)定时器指令。
2)通过定时时钟更新定时器字。当CPU处于RUN模式时,此功能按以时间基准*的时间间隔,将给定的时间值递减一个单位,直至时间值等于零。3.定时器字的表示方法
用户使用的定时器由3位BCD码时间值(0~999)和时基组成,时基是时间基准的简称,时间值以*的时基为单位。在CPU内部,时间值以二进制格式存放,占定时器字的0~9位。时间值*单位数。时间更新操作按以时间基准*的时间间隔,将时间值递减一个单位,递减至时间值等于零。可以用二进制、十六进制或以二进制编码的十进制(BCD)格式,将时间值装载到累加器1的低位字中。
可以使用以下任意一种格式预先装载时间值。
1)十六进制数W#16#wxyz,其中,w=时间基准(即时间间隔或分辨率);xyz=以二进制编码的十进制格式表示的时间值。
2)S5T#aH_bM_cS_dMS,其中,H=小时,M=分钟,S=秒,MS=毫秒;a、b、c、d为用户设置的值。
时基是CPU自动选择的,选择的原则是在满足定时范围要求的条件下选择较小的时基。可以输入的较大时间值是9990秒或2小时46分钟30秒。下面举例说明。
定时器字的*12位和*13位用于时基(时间基准),时间基准定义为将时间值递减一个单位所用的时间间隔。较小的时间基准是10毫秒;较大的时间基准是10秒。时基代码为二进制数00、01、10和11时,对应的时基分别为10ms、100ms、1S和10s。实际的定时时间等于时间值乘以时基值。例如,定时器字为W#16#3999时,时基为l0s,定时时间为9990s。时基反映了定时器的分辨率,时基越小分辨率越高,定时的时间越短;时基越大分辨率越低,定时的时间越长。
不接受**过2小时46分30秒的数值,其分辨率**出范围限制的值(如2小时10毫秒)将舍入到有效的分辨率。用于S5TIME的通用格式对范围和分辨率的限制如表6-26所示。
[图片]
(2)时间单元中的位组态
定时器启动时,定时器单元的内容用作时间值。定时器单元的0~11位容纳二进制编码的十进制时间值(BCD格式:四位一组,包含一个用二进制编码的十进制值)。12位和13位存储二进制编码的时间基准。
(3)读取时间和时间基准
每个定时器逻辑框提供两种输出:BI和BCD,从中可指示一个字位置。BI输出提供二进制格式的时间值。BCD输出提供二进制编码的十进制(BCD)格式的时间基准和时间值。
如果在启动(S)输入端有一个上升沿,S_PULSE(脉冲S5定时器)将启动*的定时器。信号变化始终是启用定时器的必要条件。定时器在输入端S的信号状态为1时运行,但较长周期是由输入端TV*的时间值。只要定时器运行,输出端Q的信号状态就为1。如果在时间间隔结束前,S输入端从1变为0,则定时器将停止。这种情况下,输出端Q的信号状态为0。
如果在定时器运行期间定时器复位(R)输入从0变为1时,则定时器将被复位。当前时间和时间基准也被设置为零。如果定时器不是正在运行,则定时器R输入端的逻辑1没有任何作用。
可在输出端BI和BCD上扫描当前时间值。时间值在BI端是二进制编码,在BCD端是BCD编码。当前时间值为初始TV值减去定时器启动后经过的时间。例6-16】S_PULSE脉冲S5定时器指令实例
S_PULSE脉冲S5定时器指令实例如图6-17所示。
如果输入端I0.0的信号状态从0变为1(RLO中的上升沿),则定时器T5将启动。只要I0.0为1,定时器就将继续运行*的两秒(2s)时间。如果定时器达到预定时间前,I0.0的信号状态从1变为0,则定时器将停止。如果输入端I0.1的信号状态从0变为1,而定时器仍在运行,则时间复位。
[图片]图 6-17 S_PULSE脉冲S5定时器指令实例图
只要定时器运行,输出端Q4.0就是逻辑1,如果定时器预设时间结束或复位,则输出端Q4.0变为0。如果在启动(S)输入端有一个上升沿,S_PEXT(扩展脉冲S5定时器)将启动*的定时器。信号变化始终是启用定时器的必要条件。定时器以在输入端TV*的预设时间间隔运行,在时间间隔结束前,S输入端的信号状态变为0,只要定时器运行,输出端Q的信号状态就为1。如果在定时器运行期间输入端S的信号状态从0变为1,则将使预设的时间值重新启动(“重新触发”)定时器。
如果在定时器运行期间复位(R)输入从0变为1,则定时器复位。当前时间和时间基准被设置为0。
可在输出端BI和BCD上扫描当前时间值。时间值在BI端为二进制编码,在BCD端为BCD编码。当前时间值为初始TV值减去定时器启动后经过的时间。
例6-17】S_PEXT扩展脉冲S5定时器指令实例
S_PEXT扩展脉冲S5定时器指令实例如图6-19所示。
如果输入端I0.0的信号状态从0变为1(RLO中的上升沿),则定时器T5将启动。定时器将继续运行*的两秒(2秒)时间,不会受到输入端S处下降沿的影响。
[图片]图 6-19 S_PEXT扩展脉冲S5定时器指令实例图
如果在定时器达到预定时间前I0.0的信号状态从0变为1,则定时器将被重新触发。只要定时器运行,输出端Q4.0就为逻辑1。