西门子PLC指令实例教程.ppt
《西门子PLC指令实例教程.ppt》由会员分享,可在线阅读,更多相关《西门子PLC指令实例教程.ppt(96页珍藏版)》请在三一办公上搜索。
1、第四章 S7-300软件基础,4.1 PLC编程基础4.2 STEP7的指令结构4.3 位逻辑指令4.5 定时器与计数器指令,4.1 PLC编程基础,4.1.1 STEP7编程语言,STEP7是S7-300/400系列PLC应用设计软件包,所支持的PLC编程语言非常丰富。该软件的标准版支持STL(语句表)、LAD(梯形图)及FBD(功能块图)3种基本编程语言,并且在STEP 7中可以相互转换。不同的编程语言可供不同知识背景的人员采用。其中LAD、STL和FBD是三种基本编程语言。,4.1.1 STEP7编程语言,LAD(LAD:Ladder Diagram)简称梯形图,LAD是使用最多的PLC
2、编程语言。因与继电器电路很相似,具有直观易懂的特点,很容易被熟悉继电器控制的电气人员所掌握,特别适合于数字量逻辑控制,也适合于熟悉继电器电路的人员使用。LAD编程语言如图4.1所示。,图4.1LAD编程语言,1、梯形图(LAD),4.1.1 STEP7编程语言,2、语句表(STL)STL(STL:Statement List)简称语句表,STL是一种类似于微机汇编语言的一种文本编程语言,由多条语句组成一个程序段。语句表适合于经验丰富的程序员使用,可以实现某些梯形图不能实现的功能。STL适用于喜欢用汇编语言编程的人员使用。STL编程语言如图4.2所示。,图4.2STL编程语言,4.1.1 STE
3、P7编程语言,3、功能块图(FBD)FBD(FBD:Function Block Diagram)简称功能块图,功能块图使用类似于布尔代数的图形逻辑符号来表示控制逻辑,一些复杂的功能用指令框表示。FBD适合于有数字电路基础的编程人员使用。FBD编程语言如图4.3所示。,4.1.1 STEP7编程语言,图4.3FBD编程语言,4.1.2 S7-300 CPU的系统存储器,1、过程映像输入表/输出表(I/Q)过程映像输入表(PII):循环扫描开始时,存储数字量输入模块的输入信号的状态。过程映像输出表(PIQ):循环扫描结束时,存储用户程序计算的输出值,并将PIQ的内容写入数字量输出模块。2、内部存
4、储器区(M)内部存储器区(M),主要用于存储中间变量。3、定时器(T)存储器区 在CPU的存储器中,有一个区域是专为定时器保留的。此存储区域为每个定时器地址保留一个16位字。梯形图逻辑指令集支持256个定时器。时间值可以用二进制或BCD码方式读取。,4.1.2 S7-300 CPU的系统存储器,4、计数器(C)存储器区 在用户CPU的存储器中,有为计数器保留的存储区。此存储区为每个计数器地址保留一个16位字。梯形图指令集支持256个计数器。计数值(0999)可以用二进制或BCD码方式读取。5、数据块/背景数据块(DB)DB为共享数据块,DBX2.3,DBB5,DBW10和DBD12。DI为背景
5、数据块,DIX,DIB,DIW和DID。6、外部I/O存储区(PI/PQ)外设输入(PI)区和外设输出(PQ)区允许直接访问本地的和分布式的输入模块和输出模块。,4.1.3 S7-300 CPU的寄存器,1、累加器(ACCUx)累加器用于处理字节、字或双字的寄存器。S7-300有两个32位累加器(ACCU1和ACCU2)。2、状态字寄存器(16位)状态字用于表示CPU执行指令时所具有的状态。一些指令是否执行或以何方式执行可能取决于状态字中的某些位;执行指令时也可能改变状态字中的某些位,也能在位逻辑指令或字逻辑指令中访问并检测。状态字的结构如图4.4所示。,图4.4 状态字的结构,4.1.4 S
6、TEP7数据类型,在STEP7中,大多数指令要与具有一定大小的数据对象一起操作,不同的数据类型具有不同的格式。编程所用的数据要指定数据类型,要确定数据大小和数据的位结构。数据类型分为3大类。1、基本数据类型 基本数据类型有很多种,每种数据类型在分配内存空间时有确定的位数,如布尔型(BOOL)数据为1位,字节型(BYTE)数据为8位,字型(WORD)数据为16位,双字型(DWORD)数据为32位。基本数据类型见表4-1。,4.1.4 STEP7数据类型,表4-1 STEP 7中常用的基本数据类型,4.1.4 STEP7数据类型,2、复式数据类型 超过32位或由其他数据类型组成的数据为复式数据类型
7、,STEP7允许4种复式数据类型,见表4-2。,表4-2 STEP7中的复式数据类型,4.1.4 STEP7数据类型,3、参数类型 参数类型用于向FB和FC传送参数。STEP7提供的参数类型见表4-3。,表4-3 STEP7的参数类型,4.1.5 PLC编程的基本原则,1)外部输入、输出继电器、内部继电器、定时器、计数器等器件的接点可多次重复使用;2)梯形图每一行都是从左母线开始,线圈接在最右边,接点不能放在线圈的右边;3)线圈不能直接与左母线相连;4)同一编号的线圈在一个程序中使用两次容易引起误操作,应尽量避免线圈重复使用;5)梯形图程序必须符合顺序执行的原则,从左到右,从上到下地执行,如不
8、符合顺序执行的电路不能直接编程;6)在梯形图中串联接点、并联接点的使用次数没有限制,可无限次地使用。,PLC编程应该遵循以下基本原则:,4.2 STEP7的指令结构 指令是程序的最小独立单位,用户程序是由若干条顺序排列的指令构成。STEP7编程语言其指令功能非常丰富。利用程序编辑器,可以进行离线编程,即把程序存储在编程器中,也可以进行在线编程,将程序存储在CPU中。4.2.1 指令操作数 指令操作数(又称编程元件)一般在用户存储区中,操作数由操作标识符和参数组成。操作标识符由主标识符和辅助标识符组成,主标识符用来指定操作数所使用的存储区类型,辅助标识符则用来指定操作数的单位(如:位、字节、字、
9、双字等)。主标识符有:I(输入过程映像寄存器)、Q(输出过程映像寄存器)、M(位存储器)、PI(外部输入寄存器)、PQ(外部输出寄存器)、T(定时器)、C(计数器)、DB(数据块寄存器)和L(本地数据寄存器);辅助标识符有:X(位)、B(字节)、W(字)、D(双字)。4.2.2 寻址方式 所谓寻址方式就是指令执行时获取操作数的方式,可以直接或间接方式给出操作数。S7-300有4种寻址方式:立即寻址、存储器直接寻址、存储器间接寻址和寄存器间接寻址。,1、立即寻址 立即寻址是对常数或常量的寻址方式,其特点是操作数直接表示在指令中,或以唯一形式隐含在指令中。下面各条指令操作数均采用了立即寻址方式。S
10、ET/把RLO置1 OW W#16#A320/将常量W#16#A320与累加器1“或”运算 L 27/把整数27装入累加器1 L C#0100/把BCD码常数0100装入累加器12、存储器直接寻址 存储器直接寻址,简称直接寻址。该寻址方式在指令中直接给出操作数的存储单元地址。存储单元地址可用符号地址(如SB1、KM等)或绝对地址(如I0.0、Q4.1等)。下面各条指令操作数均采用了直接寻址方式。A I 0.0/对输入位I 0.0进行“与”逻辑操作S L 20.0/把本地数据位L 20.0置1=M 115.4/使存储区位M 115.4的内容等于RLO的内容L IB 10/把输入字节IB 10的内
11、容装入累加器1T DBD 12/把累加器1中的内容传送给数据双字DBD 12中,3、存储器间接寻址 存储器间接寻址,简称间接寻址。该寻址方式在指令中以存储器的形式给出操作数所在存储器单元的地址,也就是说该存储器的内容是操作数所在存储器单元的地址。该存储器一般称为地址指针,在指令中需写在方括号“”内。地址指针可以是字或双字,对于地址范围小于65535的存储器可以用字指针;对于其他存储器则要使用双字指针。存储器间接寻址的双字指针的格式如图4.5所示。,图4.5 寄存器间接寻址的指针格式,4.3位逻辑指令,位逻辑指令包含位逻辑运算指令、定时器指令、计数器指令和位测试指令等。可以使用位逻辑指令扫描布尔
12、操作数的状态,通过“与(AND)”、“或(OR)”、“异或(XOR)”及其组合操作实现逻辑操作。所产生的结果(“1”或“0”)称为逻辑运算结果,存储在状态字的“RLO”中。逻辑操作结果(RLO)用于赋值、置位/复位布尔操作数,也用于控制定时器和计数器的运行。4.3.1 触点与线圈 在LAD(梯形图)程序中,通常使用类似继电器控制电路中的触点符号及线圈符号来表示PLC的位元件,被扫描的操作数(用绝对地址或符号地址表示)则标注在触点符号的上方,如图4.6所示。,图4.6触点符号的表示方式,1、常开触点 对于常开触点(动合触点),则对“1”扫描相应操作数。在PLC中规定:若操作数是“1”则常开触点“
13、动作”,即认为是“闭合”的;若操作数是“0”,则常开触点“复位”,即认为是“打开”的。常开触点所使用的操作数是:I、Q、M、L、D、T、C。2、常闭触点 常闭触点(动断触点)则对“0”扫描相应操作数。在PLC中规定:若操作数是“1”则常闭触点“动作”,即触点“断开”;若操作数是“0”,则常闭触点“复位”,即触点“闭合”。常闭触点所使用的操作数是:I、Q、M、L、D、T、C。3、输出线圈(赋值指令)输出线圈与继电器控制电路中的线圈一样,如果有电流(信号流)流过线圈(RLO=“1”),则被驱动的操作数置“1”;如果没有电流流过线圈(RLO=“0”),则被驱动的操作数复位(置“0”)。输出线圈只能出
14、现在梯形图逻辑串的最右边。输出线圈等同于STL程序中的赋值指令(用等于号“=”表示)。输出线圈所使用的操作数是:Q、M、L、D。,4、中间输出 在梯形图设计时,如果一个逻辑串很长不便于编辑时,可以将逻辑串分成几个段,前一段的逻辑运算结果(RLO)可作为中间输出,存储在位存储器(I、Q、M、L或D)中,该存储位可以当作一个触点出现在其他逻辑串中。中间输出只能放在梯形图逻辑串的中间,而不能出现在最左端或最右端,如图4.7所示。,(a)带中间输出的梯形图(b)不带中间输出的等效梯形图图4.7 带中间输出和不带中间输出的梯形图程序,4.3.2 位逻辑运算指令,4.3.2 位逻辑运算指令 位逻辑运算指令
15、是对“0”或“1”的布尔操作数进行扫描,经过相应的位逻辑运算,将逻辑运算结果“0”或“1”送到状态字的RLO位。1、“与”和“与非”(A,AN)指令 逻辑“与”在梯形图里是用串联的触点回路表示的,如果串联回路里的所有触点皆闭合,该回路就通“电”了。如图4.8所示。,图4.8“与”逻辑指令,2、“或”和“或非”(O,ON)指令 逻辑“或”在梯形图里是用并联的触点回路表示的,被扫描的操作数标在触点上方。在图4.9中,只要有一个触点闭合,输出0.1的信号状态就为“1”。,图4.9“或”和“或非”逻辑梯形图,3、“异或”和“异或非”(X,XN)指令 图4.10是“异或”逻辑梯形图,它类似“或”和“或非
16、”指令,用于扫描并联回路能否“通电”。,图4.10“异或”逻辑梯形图,4、输出指令 逻辑输出指令又称为赋值操作指令,该操作把状态字中RLO的值赋给指定的操作数(位地址)。表4.4列出了操作数的数据类型和所在的存储区。,表4.4 输出指令,【例4-1】用“与”、“或”、“输出”指令编写电机启动停止控制程序。编程元件地址分配:启动按钮SB1(常开触点),I0.1;停止按钮SB2(常闭触点),I0.2;接触器线圈KM,Q0.0。用梯形图编写的控制程序如图4.11所示。,图4.11 电机启停控制梯形图程序,4.4.3 置位和复位指令 置位复位指令根据RLO的值,来决定被寻址位的信号状态是否需要改变。若
17、RLO的值为1,被寻址位的信号状态被置1或清0;若RLO是0,则被寻址位的信号保持原状态不变。置位复位指令有关内容见表4.5。表4.5 置位复位指令,(a)复位指令操作,(b)置位操作指令图4.12 置位复位指令,【例4.2】用置位与复位指令编制传送带运动控制程序。如图4.13所示为一个传送带,在传送带的起点有两个按钮:用于启动的S1和用于停止的S2。在传送带的尾端也有两个按钮:用于启动的S3和用于停止的S4。要求能从任一端启动或停止传送带。另外,当传送带上的物件到达末端时,传感器S5使传送带停止。,图4.13传送带示意图,地址分配,梯形图程序,图4.14 控制传送带程序,4.4.4 RS和S
18、R触发器 如果置位/复位指令用功能框图表示就构成了触发器。该功能框有两个输入端,分别是置位输入端S和复位输入端R,有一个输出Q(位地址)。触发器可分为两种类型:置位优先型(RS触发器,当R和S驱动信号同时为“1”时,触发器最终为置位状态)和复位优先型(SR触发器,当R和S驱动信号同时为“1”时,触发器最终为复位状态)。触发器指令和操作数指令见表4.6。,表 4.6 RS触发器,RS触发器分为置位优先和复位优先型两种,置位优先型RS触发器的R端在S端之上,当两个输入端都为1时,下面的置位输入最终有效。既置位输入优先,触发器或被复位或保持复位不变,如图4.15所示。,图4.15 置位优先型RS触发
19、器,4.4.5 位测试指令,当信号状态变化时就产生跳变沿。当从0变到1时,产生一个上升沿(或正跳沿);若从1变到0,则产生一个下降沿(或负跳沿)。S7中有两类跳变沿检测指令,一种是对RLO的跳变沿检测的指令,另一种是对触点跳变沿直接检测的梯形图方块指令。具体内容见表4.7。,表4.7 跳变沿检测指令,图4.16是使用RLO正跳沿检测指令的例子。这个例子中,若CPU检测到输入I1.0有一个正跳沿,将使得输出Q4.0的线圈在一个扫描周期内通电。对输入I1.0常开触点扫描的RLO值存放在存储位M1.0中。,图4.16 RLO正跳沿检测,图4.17是使用触点负跳沿检测指令的例子。图中,由给出需要检测的
20、触点编号(I 0.3),(M 0.0)用于存放该触点在前一个扫描周期的状态。,图4.17 触点负跳沿检测,【例4.3】设计故障信息显示电路,若故障信号I0.0为1,使Q4.0控制的指示灯以1HZ的频率闪烁。操作人员按复位按钮I0.1后,如故障信息消失,指示灯熄灭。如果没有消失,指示灯转为常亮,直至故障消失。分析:故障信息显示程序如图4.18所示,在设置CPU属性时令M1为时钟存储器字节,其中的M1.5提供周期为1S的时钟脉冲。出现故障时,将I0.0提供的故障信号用M0.1锁存起来,使Q4.0控制的指示灯以1Hz的频率闪烁。按复位按钮I0.1后,将故障锁存信号M0.1复位为0状态,如果这时故障以
21、消失,指示灯熄灭。如果没有消失,M0.1的常闭触点与I0.0的常开触点组成的串联电路使指示灯转为常亮,直至故障消失,I0.0变为0状态。,图4.18 故障信息显示梯形图程序,4.5 定时器与计数器指令,4.5.1 定时器指令1、定时器的种类 定时器是PLC中的重要部件,它用于实现或监控时间序列。定时器是一种由位和字组成的复合单元,定时器的触点由位表示,其定时时间值存储在字存储器中。不同的CPU模块,用于定时器的存储区域也不同,最多允许使用64512个定时器。在S7-300中有5种定时器可供选择:脉冲定时器(SP)、扩展定时器(SE)、接通延时定时器(SD)、带保持的接通延时定时器(SS)和断电
22、延时定时器(SF)。2、定时器的组成 在CPU的存储器中留出了定时器区域,用于存储定时器的定时时间值。每个定时器有一个16位的字和一个二进制位,定时器的字用来存放它当前的定时时间值,定时器触点的状态由它的位的状态来决定。用定时器地址(T和定时器号,例如T6)来存取它的时间值和定时器位,带操作数的指令存取定时器位,带字操作数的指令存取定时器的时间值。不同的CPU支持32512个定时器,在S7-300中,最多允许使用256个定时器。,3、定时器的表示方法 S7中的定时时间由时基和定时值两部分组成,定时时间等于时基与定时值的乘积。采用减计时,定时时间到后会引起定时器触点的动作。时间值以二进制格式存放
23、,定时器的第0位到第11位存放二进制格式的定时值,第12、13位存放二进制格式的时基,如图4.19所示。表4.8给出了可能出现的组合情况。表4.8给出了可能出现的组合情况。,图4.19累加器1低字的内容(定时值127,时基1s),表4.8 时基与定时范围,设置定时时间,用户需给累加器1装入需要的数值,为避免格式错误,用户可以按下列的形式将时间预置值装入累加器的低位字:1)十六进制数W#16#wxyz,其中,w=时间基准,取值为0,1,2或3,分别表示时基为10ms,100ms,1s或10s;xyz为定时值,取值范围为1999;2)直接使用S5中的时间表示法装入定时数值,例如:S5T#aH_bM
24、_cS_dMS,其中,H=小时,M=分钟,S=秒,MS=毫秒;a、b、c、d为用户设置的值。可输入的最大时间值为9990s或2H-46M_30S。例如S5T#1H_12M_18S为1h12min18s;S5T#18S为18秒。,4、定时器梯形图方块指令,1)S5脉冲定时器 脉冲定时器的功能类似于数字电路中上升沿触发的单稳态电路,图4.19中的指令框中,S为脉冲定时器的设置输入端,TV为预置值输入端,R为复位输入端;Q为定时器位输出端,BI输出16进制格式的当前时间值,BCD输出当前时间值的BCD码。,图4.19 脉冲定时器指令,在I0.0提供的启动输入信号S的上升沿,脉冲定时器开始定时,输出Q
25、04.0变为1。定时器的当前时间值等于TV端输入的预置值(即初值)减去启动后的时间值。定时时间到时,当前时间值变为0,Q输出变为0状态。在定时期间,如果I0.0的常开触点断开,则停止定时,当前时间值便为0,Q0.0的线圈断电。工作时序如图4.20,图4.20中的t是定时器的预置值。R是复位输入端,在定时器输出为1时,如果复位输入I0.1由0变为1,定时器被复位,复位后输出Q0.0变为0状态,当前时间值和时标被请0。BI输出端输出不带时基的十六进制整数格式的定时器当前值,BCD输出端输出BCD码格式的当前时间值和时基。,图4.20 脉冲定时器时序,2)S5扩展脉冲定时器 S5扩展脉冲定时器如图4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西门子 PLC 指令 实例教程
链接地址:https://www.31ppt.com/p-6038302.html