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,可以得到**值与它相同的负数的补码。
上海庆惜自动化设备有限公司
详细信息
上海庆惜自动化设备有限公司一切产品均为正品,支持专业检验,质保一年,发货*,库存丰厚,您需要的较终型号价格请与我公司联系后再下单,我们会给您*的服务,满意的回答,同时也欢迎您来公司考察产品品质与价格,
——存储在*<地址>的位值为1时,(常开触点)处于闭合状态。触点闭合时,梯形图轨道能流流过触点,逻辑运算结果(RLO)=1。否则,如果*<地址>的信号状态为0,触点将处于断开状态。触点断开时,能流不流过触点,RLO=0。常开触点对应的地址位为1状态时,该触点闭合。
串联使用时,通过AND逻辑将——与RLO位进行连接。并联使用时,通过OR逻辑将其与RLO位进行连接。
【例6-1】常开触点指令实例
常开触点指令实例如图6-1所示。
[图片]图 6-1 常开触点指令实例图
满足下列条件之一时,将会通过能流,Q16.4通电。
输入端I4.0和I4.1的信号状态为1时或输入端I4.2的信号状态为1时。
例6-1的输入/输出状态如表6-4所示。
2.常闭触点(地址)
符号:
<address>
——|/|——
常闭触点指令参数如表6-5所示。
[图片]
——/——存储在*<地址>的位值为0时,(常闭触点)处于闭合状态。触点闭合时,梯形图轨道能流流过触点,RLO=1。否则,如果*<地址>的信号状态为1,将断开触点。触点断开时,能流不流过触点,RLO=0。常闭触点对应的地址位为0状态时该触点闭合。
串联使用时,通过AND逻辑将——/——与RLO位进行连接。并联使用时,通过OR逻辑将其与RLO位进行连接。
【例6-2】常闭触点指令实例
常闭触点指令实例如图6-2所示。——|NOT|——表示取反RLO位。取反触点的中间标有“NOT”,用来将它左边电路的逻辑运算结果RLO取反(见图6-3),运算结果若为1则变为0,为0则变为1,该指令没有操作数。换句话说,能流到达该触点即停止流动;若能流未到达该触点,该触点给右侧供给能流。
【例6-3】能流取反指令实例
能流取反指令实例如图6-3所示。
[图片]图 6-3 能流取反指令实例图
满足下列条件之一时,输出端Q16.4的信号状态将是0。
输入端I4.0和I4.1的信号状态为1时或当输入端I4.2的信号状态为1时。
例6-3的输入/输出状态如表6-7所示。
——()的工作方式与继电器逻辑图中线圈的工作方式类似。如果有能流通过线圈(RLO=1),将置位<地址>位置的位为1。如果没有能流通过线圈(RLO=0),将置位<地址>位置的位为0。只能将输出线圈置于梯级的右端。可以有多个(较多16个)输出单元(请参见实例)。使用——NOT——单元可以创建取反输出。
【例6-4】输出线圈指令实例
输出线圈指令实例如图6-4所示。
满足下列条件之一时,输出端Q16.4的信号状态将是1。
[图片]图 6-4 输出线圈指令实例图
输入端I4.0和I4.1的信号状态为1时或输入端I4.2的信号状态为0时。
满足下列条件之一时,输出端Q16.5的信号状态将是1。
输入端I4.0和I4.1的信号状态为1时或输入端I4.2的信号状态为0且输入端I4.3的信号状态为1时。
例6-4的输入/输出状态如表6-9所示。
——(#)——是中间分配单元,它将RLO位状态(能流状态)保存到*<地址>。中间输出是一种中间赋值元件,用该元件*的地址来保存它左边电路的逻辑运算结果(RLO位,或能流的状态)。中间标有“#”号的中线输出线圈与别的触点串联,就像一个插入的触点一样。中线输出只能放在梯形图的中间,不能接在左侧的垂直“电源线”上,也不能放在电路较右端结束的位置。使用——|NOT|——单元可以创建取反——(#)——。
【例6-5】中间输出指令实例
中间输出指令实例如图6-5所示。
只有在前面指令的RLO为1(能流通过线圈)时,才会执行——(R)。如果能流通过线圈(RLO为1),将把单元的*<地址>复位为0。即使RLO变为0,它也仍然保持l状态,除非有新的操作。RLO为0(没有能流通过线圈)将不起作用,单元*地址的状态将保持不变。<地址>也可以是值复位为0的定时器(T编号)或值复位为0的计数器(C编号)。如果被*复位的是定时器或计数器,将清除定时器/计数器的定时/计数当前值,并将它们的地址位复位。
【例6-6】复位线圈指令实例
满足下列条件之一时,将把输出端Q16.4的信号状态复位为0:
输入端I4.0和I4.1的信号状态为1时或输入端I4.2的信号状态为0时。
满足下列条件时才会复位定时器T0的信号状态:
输入端I4.3的信号状态为1时。
满足下列条件时才会复位计数器C0的信号状态:
输入端I4.4的信号状态为1时。
只有在前面指令的RLO为1(能流通过线圈)时,才会执行——(S)。即使RLO变为0,它也仍然保持l状态,除非有新的操作。如果RLO为1,将把单元的*<地址>置位为1。RLO=0将不起作用,单元的*<地址>的当前状态将保持不变。
【例6-7】置位线圈指令实例
置位线圈指令实例如图6-7所示。
满足下列条件之一时,输出端Q16.4的信号状态将是1:
[图片]图 6-7 置位线圈指令实例图
输入端I4.0和I4.1的信号状态为1时或输入端I4.2的信号状态为0时。
8.RS置位优先型RS双稳态触发器
如果R输入端的信号状态为1,S输入端的信号状态为0,则复位RS(置位优先型RS双稳态触发器)。否则,如果R输入端的信号状态为0,S输入端的信号状态为1,则置位RS。如果两个输入端的RLO均为1,则指令的执行顺序是较重要的。RS触发器先在*<地址>执行复位指令,然后执行置位指令,以使该地址在执行余下的程序扫描过程中保持置位状态。只有在RLO为1时,才会执行S(置位)和R(复位)指令。这些指令不受RLO为0的影响,指令中*的地址保持不变。输入/输出状态如表6-14所示。
[图片]
【例6-8】置位优先型RS双稳态触发器指令实例
置位优先型RS双稳态触发器指令实例如图6-8所示。
如果输入端I4.0的信号状态为1,I4.1的信号状态为0,则复位存储器位M0.0,输出Q16.4将是0。否则,如果输入端I4.0的信号状态为0,I4.1的信号状态为1,则置位存储器位M0.0,输出Q16.4将是1。如果两个信号状态均为0,则不会发生任何变化。如果两个信号状态均为1,将因顺序关系执行置位指令;置位M0.0,Q16.4将是1。该例输入/输出状态如表6-15所示。
如果S输入端的信号状态为1,R输入端的信号状态为0,则置位SR。否则,如果S输入端的信号状态为0,R输入端的信号状态为1,则复位SR。如果两个输入端的RLO均为1,则指令的执行顺序是较重要的。SR触发器先在*<地址>执行置位指令,然后执行复位指令,以使该地址在执行余下的程序扫描过程中保持复位状态。
只有在RLO为1时,才会执行S(置位)和R(复位)指令。这些指令不受RLO为0的影响,指令中*的地址保持不变。输入/输出状态如表6-17所示。
[图片]
【例6-9】复位优先型SR双稳态触发器指令实例
复位优先型SR双稳态触发器指令实例如图6-9所示。
如果输入端I4.0的信号状态为1,I4.1的信号状态为0,则置位存储器位M0.0,输出Q16.4将是1。否则,如果输入端I4.0的信号状态为0,I4.1的信号状态为1,则复位存储器位M0.0,输出Q16.4将是0。如果两个信号状态均为0,则不会发生任何变化。如果两个信号状态均为1,将因顺序关系执行复位指令;复位M0.0,Q16.4将是0。输入/输出状态如表6-18所示。
——(N)——检测地址中1到0的信号变化,并在指令后将其显示为RLO=1。将RLO中的当前信号状态与地址的信号状态(边沿存储位)进行比较。如果在执行指令前地址的信号状态为1,RLO为0,则在执行指令后RLO将是1(脉冲),在所有其他情况下将是0。指令执行前的RLO状态存储在地址中。
【例6-10】下降沿检测指令实例
下降沿检测指令实例如图6-10所示。
边沿存储位M0.0保存RLO的先前状态。RLO的信号状态从1变为0时,程序将跳转到标号CAS1。
——(P)——检测地址中0到1的信号变化,并在指令后将其显示为RLO=1。将RLO中的当前信号状态与地址的信号状态(边沿存储位)进行比较。如果在执行指令前地址的信号状态为0,RLO为1,则在执行指令后RLO将是1(脉冲),在所有其他情况下将是0。指令执行前的RLO状态存储在地址中。
【例6-11】上升沿检测指令实例
上升沿检测指令实例如图6-11所示。
边沿存储位M0.0保——(SAVE)将RLO保存到状态字的BR位。未复位*一个校验位/FC,因此,BR位的状态将包含在下一程序段的AND逻辑运算中。
指令“SAVE”(LAD、FBD、STL)适用下列规则,手册及在线帮助中提供的建议用法并不适用:
用户不要在使用SAVE后在同一块或从属块中校验BR位,因为这期间执行的指令中有许多会对BR位进行修改。用户在退出块前使用SAVE指令,因为ENO输出(=BR位)此时已设置为RLO的值,所以可以检查块中是否有错误。
【例6-12】将RLO状态保存到BR指令实例
将RLO状态保存到BR指令实例如图6-12所示。
存RLO的先前状态。RLO的信号状态从0变为1时,程序将跳转到标号CAS1。