西门子PLC指令实例教程.ppt
《西门子PLC指令实例教程.ppt》由会员分享,可在线阅读,更多相关《西门子PLC指令实例教程.ppt(96页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四章第四章 S7-300S7-300软件基础软件基础 4.1 PLC编程基础编程基础 4.2 STEP7的指令结构的指令结构 4.3 位逻辑指令位逻辑指令 4.5 定时器与计数器指令定时器与计数器指令4.1 PLC4.1 PLC编程基础编程基础4.1.1 STEP7编程语言 STEP7是S7-300/400系列PLC应用设计软件包,所支持的PLC编程语言非常丰富。该软件的标准版支持STL(语句表)、LAD(梯形图)及FBD(功能块图)3种基本编程语言,并且在STEP 7中可以相互转换。不同的编程语言可供不同知识背景的人员采用。其中LAD、STL和FBD是三种基本编程语言。4.1.1 STEP
2、74.1.1 STEP7编程语言编程语言 LAD(LAD:Ladder Diagram)简称梯形图,LAD是使用最多的PLC编程语言。因与继电器电路很相似,具有直观易懂的特点,很容易被熟悉继电器控制的电气人员所掌握,特别适合于数字量逻辑控制,也适合于熟悉继电器电路的人员使用。LAD编程语言如图4.1所示。 图4.1 LAD编程语言1、梯形图(LAD)4.1.1 STEP74.1.1 STEP7编程语言编程语言2、语句表(STL) STL(STL:Statement List)简称语句表,STL是一种类似于微机汇编语言的一种文本编程语言,由多条语句组成一个程序段。语句表适合于经验丰富的程序员使用
3、,可以实现某些梯形图不能实现的功能。STL适用于喜欢用汇编语言编程的人员使用。STL编程语言如图4.2所示。 图4.2 STL编程语言4.1.1 STEP74.1.1 STEP7编程语言编程语言3、功能块图(FBD) FBD(FBD:Function Block Diagram)简称功能块图,功能块图使用类似于布尔代数的图形逻辑符号来表示控制逻辑,一些复杂的功能用指令框表示。FBD适合于有数字电路基础的编程人员使用。FBD编程语言如图4.3所示。4.1.1 STEP74.1.1 STEP7编程语言编程语言图4.3 FBD编程语言4.1.2 S7-300 CPU4.1.2 S7-300 CPU的
4、系统存储器的系统存储器 1、过程映像输入表/输出表(I/Q) 过程映像输入表(PII):循环扫描开始时,存储数字量输入模块的输入信号的状态。 过程映像输出表(PIQ):循环扫描结束时,存储用户程序计算的输出值,并将PIQ的内容写入数字量输出模块。2、内部存储器区(M) 内部存储器区(M),主要用于存储中间变量。3、定时器(T)存储器区 在CPU的存储器中,有一个区域是专为定时器保留的。此存储区域为每个定时器地址保留一个16位字。梯形图逻辑指令集支持256个定时器。时间值可以用二进制或BCD码方式读取。4.1.2 S7-300 CPU4.1.2 S7-300 CPU的系统存储器的系统存储器 4、
5、计数器(C)存储器区 在用户CPU的存储器中,有为计数器保留的存储区。此存储区为每个计数器地址保留一个16位字。梯形图指令集支持256个计数器。计数值(0999)可以用二进制或BCD码方式读取。5、数据块/背景数据块(DB) DB为共享数据块,DBX2.3,DBB5,DBW10和DBD12。 DI为背景数据块,DIX, DIB,DIW和DID。 6、外部I/O存储区(PI/PQ) 外设输入(PI)区和外设输出(PQ)区允许直接访问本地的和分布式的输入模块和输出模块。4.1.3 S7-300 CPU4.1.3 S7-300 CPU的寄存器的寄存器 1、累加器(ACCUx) 累加器用于处理字节、字
6、或双字的寄存器。S7-300有两个32位累加器(ACCU1和ACCU2)。2、状态字寄存器(16位) 状态字用于表示CPU执行指令时所具有的状态。一些指令是否执行或以何方式执行可能取决于状态字中的某些位;执行指令时也可能改变状态字中的某些位,也能在位逻辑指令或字逻辑指令中访问并检测。状态字的结构如图4.4所示。 FCRLOSTAOROVOSCC0CC1BR未用012345678915 图4.4 状态字的结构4.1.4 STEP74.1.4 STEP7数据类型数据类型 在STEP7中,大多数指令要与具有一定大小的数据对象一起操作,不同的数据类型具有不同的格式。编程所用的数据要指定数据类型,要确定
7、数据大小和数据的位结构。数据类型分为3大类。1、基本数据类型 基本数据类型有很多种,每种数据类型在分配内存空间时有确定的位数,如布尔型(BOOL)数据为1位,字节型(BYTE)数据为8位,字型(WORD)数据为16位,双字型(DWORD)数据为32位。基本数据类型见表4-1。4.1.4 STEP74.1.4 STEP7数据类型数据类型表4-1 STEP 7中常用的基本数据类型4.1.4 STEP74.1.4 STEP7数据类型数据类型2、复式数据类型 超过32位或由其他数据类型组成的数据为复式数据类型,STEP7允许4种复式数据类型,见表4-2。表4-2 STEP7中的复式数据类型数据类型数据
8、类型说明说明日期日期_ _时间时间 DT DT DATE_ANDATE_AND_TIMED_TIME定义定义6464位区(位区(8 8字节)。用字节)。用BCDBCD码存储时间信息:字节码存储时间信息:字节0 0,年;字,年;字节节1 1,月;字节,月;字节2 2,日;字节,日;字节3 3,小时;字节,小时;字节4 4,分;字节,分;字节5 5,秒;,秒;字节字节6 6和字节和字节7 7的高位,毫秒;字节的高位,毫秒;字节7 7的低位,星期几的低位,星期几字符串字符串STRINGSTRING可定义可定义254254个字符。字符串的默认大小为个字符。字符串的默认大小为256256字节(存放字节(
9、存放254254个字个字符,外加双字节字头),可以通过定义字符串的实际数目来符,外加双字节字头),可以通过定义字符串的实际数目来减少预留值减少预留值数组数组ARRAYARRAY定义一种数据格式的多维数组定义一种数据格式的多维数组构造构造STRUCTSTRUCT定义多种数据类型组合的数组定义多种数据类型组合的数组4.1.4 STEP74.1.4 STEP7数据类型数据类型3、参数类型 参数类型用于向FB和FC传送参数。STEP7提供的参数类型见表4-3。参数参数大小大小说明说明定时器(定时器(TimerTimer)2 2字节字节指定执行逻辑块时要使用的定时器,如指定执行逻辑块时要使用的定时器,如
10、T1T1计数器(计数器(CounterCounter)2 2字节字节指定执行逻辑块时要使用的计数器,如指定执行逻辑块时要使用的计数器,如C1C1块块Block FBBlock FBBlock FCBlock FCBlock DBBlock DBBlock SDBBlock SDB2 2字节字节如:如:FB1FB1FC1FC1DB1DB1SDB1SDB1指针(指针(Pointer)Pointer)6 6字节字节定义内存单元,如定义内存单元,如P#M30.0P#M30.0ANYANY1010字字节节如果实参的数据类型未知,或可以使用任如果实参的数据类型未知,或可以使用任何数据类型时,如何数据类型时
11、,如P#M30.0P#M30.0,byte 10byte 10表4-3 STEP7的参数类型4.1.5 PLC4.1.5 PLC编程的基本原则编程的基本原则 1 1)外部输入、输出继电器、内部继电器、定时器、计数)外部输入、输出继电器、内部继电器、定时器、计数器等器件的接点可多次重复使用;器等器件的接点可多次重复使用; 2 2)梯形图每一行都是从左母线开始,线圈接在最右边,)梯形图每一行都是从左母线开始,线圈接在最右边,接点不能放在线圈的右边;接点不能放在线圈的右边; 3 3)线圈不能直接与左母线相连;)线圈不能直接与左母线相连; 4 4)同一编号的线圈在一个程序中使用两次容易引起误操)同一编
12、号的线圈在一个程序中使用两次容易引起误操作,应尽量避免线圈重复使用;作,应尽量避免线圈重复使用; 5 5)梯形图程序必须符合顺序执行的原则,从左到右,从)梯形图程序必须符合顺序执行的原则,从左到右,从上到下地执行,如不符合顺序执行的电路不能直接编程;上到下地执行,如不符合顺序执行的电路不能直接编程; 6 6)在梯形图中串联接点、并联接点的使用次数没有限制,)在梯形图中串联接点、并联接点的使用次数没有限制,可无限次地使用。可无限次地使用。PLC编程应该遵循以下基本原则:4.2 STEP74.2 STEP7的指令结构的指令结构 指令是程序的最小独立单位,用户程序是由若干条顺序排列的指令构成。STE
13、P7编程语言其指令功能非常丰富。利用程序编辑器,可以进行离线编程,即把程序存储在编程器中,也可以进行在线编程,将程序存储在CPU中。4.2.1 指令操作数 指令操作数(又称编程元件)一般在用户存储区中,操作数由操作标识符和参数组成。操作标识符由主标识符和辅助标识符组成,主标识符用来指定操作数所使用的存储区类型,辅助标识符则用来指定操作数的单位(如:位、字节、字、双字等)。 主标识符有:I(输入过程映像寄存器)、Q(输出过程映像寄存器)、M(位存储器)、PI(外部输入寄存器)、PQ(外部输出寄存器)、T(定时器)、C(计数器)、DB(数据块寄存器)和L(本地数据寄存器);辅助标识符有:X(位)、
14、B(字节)、W(字)、D(双字)。 4.2.2 寻址方式 所谓寻址方式就是指令执行时获取操作数的方式,可以直接或间接方式给出操作数。S7-300有4种寻址方式:立即寻址、存储器直接寻址、存储器间接寻址和寄存器间接寻址。 1、立即寻址 立即寻址是对常数或常量的寻址方式,其特点是操作数直接表示在指令中,或以唯一形式隐含在指令中。下面各条指令操作数均采用了立即寻址方式。 SET /把RLO置1 OW W#16#A320 /将常量W#16#A320与累加器1“或”运算 L 27 /把整数27装入累加器1 L C#0100 /把BCD码常数0100装入累加器12、存储器直接寻址 存储器直接寻址,简称直接
15、寻址。该寻址方式在指令中直接给出操作数的存储单元地址。存储单元地址可用符号地址(如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的内容装入累加器1T DBD 12 /把累加器1中的内容传送给数据双字DBD 12中3、存储器间接寻址 存储器间接寻址,简称间接寻址。该寻址方式在指令中以存储器的形式给出操作数所在存储器单元的地址,也就是说该存储器的
16、内容是操作数所在存储器单元的地址。该存储器一般称为地址指针,在指令中需写在方括号“”内。地址指针可以是字或双字,对于地址范围小于65535的存储器可以用字指针;对于其他存储器则要使用双字指针。存储器间接寻址的双字指针的格式如图4.5所示。 bbbb bxxxbbbb bbbb0000 0bbb0000 00000781 51 62 32 43 1说 明 : 位 0 2 ( x x x ) 为 被 寻 址 地 址 中 位 的 编 号 ( 0 7 )位 3 8 为 被 寻 址 地 址 的 字 节 的 编 号 ( 0 6 5 5 3 5 )位 序bbbb bxxxbbbb bbbb0000 0bbb
17、0000 00000781516232431说明:位02(xxx)为被寻址地址中位的编号(07)位38为被寻址地址的字节的编号(065535)位序图图4.5 4.5 寄存器间接寻址的指针格式寄存器间接寻址的指针格式4.34.3位逻辑指令位逻辑指令 位逻辑指令包含位逻辑运算指令、定时器指令、计数器指令和位测试指令等。可以使用位逻辑指令扫描布尔操作数的状态,通过“与(AND)”、“或(OR)”、“异或(XOR)”及其组合操作实现逻辑操作。所产生的结果(“1”或“0”)称为逻辑运算结果,存储在状态字的“RLO”中。逻辑操作结果(RLO)用于赋值、置位/复位布尔操作数,也用于控制定时器和计数器的运行。
18、 4.3.1 触点与线圈 在LAD(梯形图)程序中,通常使用类似继电器控制电路中的触点符号及线圈符号来表示PLC的位元件,被扫描的操作数(用绝对地址或符号地址表示)则标注在触点符号的上方,如图4.6所示。 图图4.64.6触点符号的表示方式触点符号的表示方式1 1、常开触点、常开触点 对于常开触点(动合触点),则对“1”扫描相应操作数。在PLC中规定:若操作数是“1”则常开触点“动作”,即认为是“闭合”的;若操作数是“0”,则常开触点“复位”,即认为是“打开”的。常开触点所使用的操作数是:I、Q、M、L、D、T、C。 2 2、常闭触点、常闭触点 常闭触点(动断触点)则对“0”扫描相应操作数。在
19、PLC中规定:若操作数是“1”则常闭触点“动作”,即触点“断开”;若操作数是“0”,则常闭触点“复位”, 即触点“闭合”。常闭触点所使用的操作数是:I、Q、M、L、D、T、C。3 3、输出线圈(赋值指令)、输出线圈(赋值指令) 输出线圈与继电器控制电路中的线圈一样,如果有电流(信号流)流过线圈(RLO=“1”),则被驱动的操作数置“1”;如果没有电流流过线圈(RLO=“0”),则被驱动的操作数复位(置“0”)。输出线圈只能出现在梯形图逻辑串的最右边。输出线圈等同于STL程序中的赋值指令(用等于号“=”表示)。输出线圈所使用的操作数是:Q、M、L、D。 4、中间输出 在梯形图设计时,如果一个逻辑
20、串很长不便于编辑时,可以将逻辑串分成几个段,前一段的逻辑运算结果(RLO)可作为中间输出,存储在位存储器(I、Q、M、L或D)中,该存储位可以当作一个触点出现在其他逻辑串中。中间输出只能放在梯形图逻辑串的中间,而不能出现在最左端或最右端,如图4.7所示。 (a a)带中间输出的梯形图)带中间输出的梯形图 (b) (b) 不带中间输出的等效梯形图不带中间输出的等效梯形图图图4.7 4.7 带中间输出和不带中间输出的梯形图程序带中间输出和不带中间输出的梯形图程序4.3.2 位逻辑运算指令位逻辑运算指令4.3.2 位逻辑运算指令 位逻辑运算指令是对“0”或“1”的布尔操作数进行扫描,经过相应的位逻辑
21、运算,将逻辑运算结果“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是“异或”逻辑梯形图,它类似“或”和“或非”指令,用于扫描并联回路能否“通电”。图
22、图4.10“异或异或”逻辑梯形图逻辑梯形图4、输出指令 逻辑输出指令又称为赋值操作指令,该操作把状态字中RLO的值赋给指定的操作数(位地址)。表4.4列出了操作数的数据类型和所在的存储区。LAD指令STL指令功能操作数类型存储区( )=逻辑串赋值输出BOOLQ、M、D、L( # )中间结果赋值输出BOOLQ、M、D、L表表4.4 输出指令输出指令 【例4-1】用“与”、“或”、“输出”指令编写电机启动停止控制程序。编程元件地址分配:启动按钮SB1(常开触点),I0.1; 停止按钮SB2(常闭触点),I0.2; 接触器线圈KM,Q0.0。用梯形图编写的控制程序如图4.11所示。图图4.11 电机
23、启停控制梯形图程序电机启停控制梯形图程序4.4.3 置位和复位指令 置位复位指令根据RLO的值,来决定被寻址位的信号状态是否需要改变。若RLO的值为1,被寻址位的信号状态被置1或清0;若RLO是0,则被寻址位的信号保持原状态不变。置位复位指令有关内容见表4.5。表4.5 置位复位指令LAD指令STL指令功能操作数数据类型存储区( R )R复位输出BOOLQ、M、D、LTIMERTCOUNTERC位地址( S )S置位输出BOOLQ、M、D、L(a)复位指令操作)复位指令操作(b)置位操作指令)置位操作指令图图4.12 置位复位指令置位复位指令【例4.2】用置位与复位指令编制传送带运动控制程序。
24、 如图4.13所示为一个传送带,在传送带的起点有两个按钮:用于启动的S1和用于停止的S2。在传送带的尾端也有两个按钮:用于启动的S3和用于停止的S4。要求能从任一端启动或停止传送带。另外,当传送带上的物件到达末端时,传感器S5使传送带停止。 图图4.13传送带示意图传送带示意图地址分配地址分配梯形图程序梯形图程序 图图4.14 控制传送带程序控制传送带程序4.4.4 RS和SR触发器 如果置位/复位指令用功能框图表示就构成了触发器。该功能框有两个输入端,分别是置位输入端S和复位输入端R,有一个输出Q(位地址)。触发器可分为两种类型:置位优先型(RS触发器,当R和S驱动信号同时为“1”时,触发器
25、最终为置位状态)和复位优先型(SR触发器,当R和S驱动信号同时为“1”时,触发器最终为复位状态)。触发器指令和操作数指令见表4.6。复位优先RS置位优先型RS参数数据类型存储区 BOOLQ、M、D、L需要置位、复位的位S允许置位输入R允许复位输入Q的状态表表 4.6 RS触发器触发器 RS触发器分为置位优先和复位优先型两种, 置位优先型RS触发器的R端在S端之上,当两个输入端都为1时,下面的置位输入最终有效。既置位输入优先,触发器或被复位或保持复位不变, 如图4.15所示。图图4.15 4.15 置位优先型置位优先型RSRS触发器触发器4.4.5 位测试指令 当信号状态变化时就产生跳变沿。当从
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西门子 PLC 指令 实例教程
限制150内