资源预览内容
第1页 / 共183页
第2页 / 共183页
第3页 / 共183页
第4页 / 共183页
第5页 / 共183页
第6页 / 共183页
第7页 / 共183页
第8页 / 共183页
第9页 / 共183页
第10页 / 共183页
亲,该文档总共183页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第4章 S7-300编程语言与指令系统,4.1 STEP 7编程语言 4.2 数据类型 4.3 S7-300指令基础 4.4 位逻辑指令 4.5 定时器与计数器指令 4.6 数字指令 4.7 控制指令 4.8 思考与练习,返回首页,4.1 STEP 7编程语言,STEP 7是S7-300/400系列PLC应用设计软件包,所支持的PLC编程语言非常丰富。该软件的标准版支持STL(语句表)、LAD(梯形图)及FBD(功能块图)3种基本编程语言,并且在STEP 7中可以相互转换。专业版附加对GRAPH(顺序功能图)、SCL(结构化控制语言)、HiGraph(图形编程语言)、CFC(连续功能图)等编程语言的支持。不同的编程语言可供 不同知识背景的人员采用。,返回本章,STL(语句表),STL(语句表)是一种类似于计算机汇编语言的一种文本编程语言,由多条语句组成一个程序段。语句表可供习惯汇编语言的用户使用,在运行时间和要求的存储空间方面最优。在设计通信、数学运算等高级应用程序时建议使用语句表。,返回本节,FBD(功能块图),FBD(功能块图)使用类似于布尔代数的图形逻辑符号来表示控制逻辑,一些复杂的功能用指令框表示。FBD比较适合于有数字电路基础的编程人员使用。,返回本节,GRAPH(顺序控制),GRAPH类似于解决问题的流程图,适用于顺序控制的编程。利用S7-GRAPH编程语言,可以清楚快速地组织和编写S7 PLC系统的顺序控制程序。它根据功能将控制任务分解为若干步,其顺序用图形方式显示出来并且可形成图形和文本方式的 文件。,返回本节,HiGraph(图形编程语言),S7-Higraph允许用状态图描述生产过程,将自动控制下的机器或系统分成若干个功能单元,并为每个单元生成状态图,然后利用信息通讯将功能单元组合在一起形成完整的系统。,返回本节,SCL(结构化控制语言),S7-SCL(Structured Control Language:结构控制语言)是一种类似于PASCAL的高级文本编辑语言,用于S7-300/400和C7的编程,可以简化数学计算、数据管理和组织工作。S7-SCL具有PLC公开的基本标准认证,符合IEC 1131-3 (结构化文 本)标准。,返回本节,CFC(连续功能图),利用工程工具CFC(Continuous Function Chart:连续功能图),可以通过绘制工艺设计图来生成SIMATIC S7和SIMATIC M7的控制程序,该方法类似于PLC的FBD编 程语言。 在这种图形编程方法中,块被安放在一种绘图板上并且相互连接。利用CFC用户可以快速、容易地将工艺设计 图转化为完整的可执行程序。,返回本节,4.2 数据类型,数据类型决定数据的属性,在STEP 7中,数据类 型分为三大类: 4.2.1 基本数据类型 4.2.2 复杂数据类型 4.2.3 参数类型,返回本章,4.2.1 基本数据类型,返回本节,4.2.2 复杂数据类型,数组(ARRAY) 结构(STRUCT) 字符串(STRING) 日期和时间(DATE_AND_TIME) 用户定义的数据类型(UDT) 功能块类型(FB、SFB),返回本节,1.数组(ARRAY),数组是由一组同一类型的数据组合在一起而形成的复杂数据类型。数组的维数最大可以到6维;数组中的元素可以是基本数据类型或者复杂数据类型中的任一数据类型(Array类型除外,即数组类型不可以嵌套);数组中每一维的下标取值范围是-3276832767,要求下标的下限 必须小于下标的上限。,返回上级,2.结构(STRUCT) 结构是由一组不同类型(结构的元素可以是基本的或复杂的数据类型)的数据组合在一起而形成的复杂数据类型。结构通常用来定义一组相关的数据,例如电机的一组 数据可以按如下方式定义:,返回上级,3.字符串(STRING) 字符串是最多有254个字符(CHAR)的一维数组,最大长度为256个字节(其中前两个字节用来存储字符串的长度信息)。字符串常量用单引号括起来,例如:,返回上级,4.日期和时间(DATE_AND_TIME) 用于存储年、月、日、时、分、秒、毫秒和星期,占用8个字节,用BCD格式保存。星期天的代码为1,16的 代码为27。例如:,返回上级,5.用户定义的数据类型(UDT) 用户定义数据类型表示自定义的结构,存放在UDT块中(UDT1UDT65535),在另一个数据类型中作为一个数据类型“模板”。当输入数据块时,如果需要输入几个相同的结构,利用UDT可以节省输入时间。,6.功能块类型(FB、SFB) 这种数据类型仅可以在FB的静态变量区定义,用于实现多背景DB。,返回上级,4.2.3 参数数据类型,参数类型是一种用于逻辑块(FB、FC)之间传递参数 的数据类型,主要有以下几种: (1)TIMER(定时器)和COUNTER(计数器)。 (2)BLOCK(块):指定一个块用作输入和输出,实 参应为同类型的块。 (3)POINTER(指针):6字节指针类型,用来传递DB 的块号和数据地址。 (3)ANY:10字节指针类型,用来传递DB块号、数据 地址、数据数量以及数据类型。,返回本节,4.3 S7-300指令基础,指令是程序的最小独立单位,用户程序是由若干条顺序排列的指令构成。指令一般由操作码和操作数组成,其中的操作码代表指令所要完成的具体操作(功能),操作数则是该指令操作或运算的对象。 4.3.1 PLC用户存储区的分类及功能 4.3.2 指令操作数 4.3.3 寻址方式 4.3.4 状态字,返回本章,4.3.1 PLC用户存储区的分类及功能(1/2),返回本节,4.3.1 PLC用户存储区的分类及功能(2/2),返回上级,4.3.2 指令操作数,指令操作数(又称编程元件)一般在用户存储区中,操作数由操作标识符和参数组成。操作标识符由主标识符和辅助标识符组成,主标识符用来指定操作数所使用的存储区类型,辅助标识符则用来指定操作数的单位(如:位、字节、字、双字等)。 主标识符有:I(输入过程映像寄存器、Q(输出过程映像寄存器)、M(位存储器)、PI(外部输入寄存器)、PQ(外部输出寄存器)、T(定时器)、C(计数器)、DB(数据块寄存器)和L(本地数据寄存器); 辅助标识符有:X(位)、B(字节)、W(字或2B)、D(2DW或4B)。,返回本节,4.3.3 寻址方式,所谓寻址方式就是指令执行时获取操作数的方式,可以直接或间接方式给出操作数。S7-300有4种寻址方式: 立即寻址 存储器直接寻址 存储器间接寻址 寄存器间接寻址,返回本节,1.立即寻址,立即寻址是对常数或常量的寻址方式,其特点是操作数直接表示在指令中,或以惟一形式隐含在指令中。下面各条指令操作数均采用了立即寻址方式,其中“/”后面的内容为指令的注释部分,对指令没有任何影响。,返回上级,2.存储器直接寻址,存储器直接寻址,简称直接寻址。该寻址方式在指令中直接给出操作数的存储单元地址。存储单元地址可用符号地址(如SB1、KM等)或绝对地址(如I0.0、Q4.1等)。下面各 条指令操作数均采用了直接寻址方式。,返回上级,3.存储器间接寻址(1/3),存储器间接寻址,简称间接寻址。该寻址方式在指令中以存储器的形式给出操作数所在存储器单元的地址,也就是说该存储器的内容是操作数所在存储器单元的地址。该存储器一般称为地址指针,在指令中需写在方括号“”内。地址指针可以是字或双字,对于地址范围小于65535的存储器可以 用字指针;对于其他存储器则要使用双字指针。,返回上级,4.存储器间接寻址(2/3),【例4-3-1】 存储器间接寻址的单字格式的指针寻址。,返回上级,4.存储器间接寻址(3/3),存储器间接寻址的双字指针的格式如图所示。,【例4-3-2】 存储器间接寻址的双字格式的指针寻址。,返回上级,5.寄存器间接寻址(1/4),寄存器间接寻址,简称寄存器寻址。该寻址方式在指令中通过地址寄存器和偏移量间接获取操作数,其中的地址寄存器及偏移量必须写在方括号“”内。在S7-300中有两个地址寄存器AR1和AR2,用地址寄存器的内容加上偏移量形成地址指针,并指向操作数所在的存储器单元。地址寄存器的地址指针有两种格式,其长度均为双字,指针格式如图所示。,返回上级,5.寄存器间接寻址(2/4),第一种地址指针格式适用于在确定的存储区内寻址,即 区内寄存器间接寻址。 【例4-3-3】 区内寄存器间接寻址。,返回上级,5.寄存器间接寻址(3/4),第二种地址指针格式适用于区域间寄存器间接寻址。 【例4-3-4】 区域间寄存器间接寻址。,返回上级,5.寄存器间接寻址(4/4),第一种地址指针格式包括被寻址数据所在存储单元地址的字节编号和位编号,至于对哪个存储区寻址,则必须在指令中明确给出。这种格式适用于在确定的存储区内寻址,即 区内寄存器间接寻址。 第二种地址指针格式包含了数据所在存储区的说明位(存储区域标识位),可通过改变标识位实现跨区域寻址,区域标识由位2624确定。这种指针格式适用于区域间寄存 器间接寻址。,返回上级,4.3.4 状态字,状态字用于表示CPU执行指令时所具有的状态信息。,首位检测位(FC) 逻辑操作结果(RLO) 状态位(STA) 或位(OR),溢出位(OV) 溢出状态保持位(OS) 条件码1(CC1)和条件码0(CC0) 二进制结果位(BR),返回本节,4.4 位逻辑指令,位逻辑指令处理的对象为二进制位信号。位逻辑指令扫描信号状态“1”和“0”位,并根据布尔逻辑对它们进行组合,所产生的结果(“1”或“0”)称为逻辑运算结果,存储在状态字的“RLO”中。 4.4.1 触点与线圈 4.4.2 基本逻辑指令 4.4.3 置位和复位指令 4.4.4 RS和SR触发器 4.4.5 跳变沿检测指令,返回本章,4.4.1 触点与线圈,在LAD(梯形图)程序中,通常使用类似继电器控制电路中的触点符号及线圈符号来表示PLC的位元件,被扫描的操作数(用绝对地址或符号地址表示)则标注在触点符号的上 方,如图所示。,返回本节,1.常开触点,对于常开触点(动合触点),则对“1”扫描相应操作数。在PLC中规定:若操作数是“1”则常开触点“动作”,即认为是“闭合”的;若操作数是“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”)。输出线圈只能出现在梯形图逻辑串的最右 边。 输出线圈等同于STL程序中的赋值指令(用等于号“=”表 示),所使用的操作数可以是:Q、M、L、D。,返回上级,4.中间输出,在梯形图设计时,如果一个逻辑串很长不便于编辑时,可以将逻辑串分成几个段,前一段的逻辑运算结果(RLO)可作为中间输出,存储在位存储器(I、Q、M、L或D)中,该存储位可以当作一个触点出现在其他逻辑串中。中间输出只能放在梯形图逻辑串的中间,而不能出现在最左 端或最右端。,与下面程序等效,返回上级,4.4.2 基本逻辑指令,基本逻辑指令包括: “与”指令 “与非”指令 “或”指令 “或非”指令 “异或”指令 “异或非”指令 逻辑块的操作 信号流取反指令,返回本节,1.逻辑“与” 指令,逻辑“与” 指令使用的操作数可以是:I、Q、M、L、D、T、C。有2种指令形式(STL和FBD),用LAD也可以实现逻辑 “与” 运算。,返回上级,2.逻辑 “与非”指令,逻辑
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号