1、1.1第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.1第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统 返回总目录返回总目录返回总目录返回总目录 1.2第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.2SIMATICS7-200系列系列PLC可使用可使用STEP7-Micro/WIN32软件进行程序编软件进行程序编辑,联机调试和在线监控,使用十分方便。在软件编程环境中可使用梯形图、辑,联机调试和在线监控,使用十分方便。在软件编程环境中可使用梯形图、指令表、功能图等多种语言进行程序设计,而且在一定规约下,可以
2、实现不指令表、功能图等多种语言进行程序设计,而且在一定规约下,可以实现不同编程语言间的直接转换。同编程语言间的直接转换。SIMATICS7-200系列系列PLC可应用西门子公司为可应用西门子公司为S7-200系列系列PLC设计的设计的SIMATIC指令集和国际电工委员会指令集和国际电工委员会(IEC)制定的旨在统制定的旨在统一各一各PLC生产厂家指令的生产厂家指令的IEC1131-3指令集,两种指令集在指令集,两种指令集在STEP7-Micro/WIN32编程软件中都可以使用。所以本章首先介绍编程软件中都可以使用。所以本章首先介绍STEP7-Micro/WIN32软件的使用。其次介绍软件的使用
3、。其次介绍SIMATICS7-200系列系列PLC的基本指令。的基本指令。由于指令是由于指令是PLC的核心内容,只有切实掌握了指令的使用,能够应用指令完的核心内容,只有切实掌握了指令的使用,能够应用指令完成各种功能,才能充分体现成各种功能,才能充分体现PLC的先进性和实用性,所以后者是本章介绍的的先进性和实用性,所以后者是本章介绍的重点。重点。1.3第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.3本章内容本章内容7.1编程软件编程软件STEP7-Micro/WIN32简介简介7.2指令及其结构指令及其结构7.3位逻辑指令位逻辑指令7.4定时器与计数器指令定时器与
4、计数器指令7.5数据处理功能指令数据处理功能指令7.6数据运算指令数据运算指令7.7程序控制指令程序控制指令7.8S7系列系列PLC的顺序控制指令的顺序控制指令7.9其他重要功能指令其他重要功能指令思考题与习题思考题与习题1.4第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.47.1 7.1 编程软件编程软件STEP7-Micro/WIN32STEP7-Micro/WIN32简介简介STEP7-Micro/WIN32是运行在计算机是运行在计算机Windows系统环境下的系统环境下的SIMATICS7-200系列系列PLC的编程软件,其功能强大,界面简单实用,容易掌
5、握和使用。的编程软件,其功能强大,界面简单实用,容易掌握和使用。如图如图7.1所示,通过所示,通过PC/PPI编程电缆连接计算机的编程电缆连接计算机的RS-232串口和串口和PLC的的RS-485通信接口后,编程软件就可以向通信接口后,编程软件就可以向PLC下载或从下载或从PLC上载所编写的应用程序。在上载所编写的应用程序。在程序运行时还可对程序运行时还可对PLC的运行情况进行监控,或通过强制命令对的运行情况进行监控,或通过强制命令对PLC进行调试。进行调试。PC/PPI编程电缆上有拨档开关,可以组态设置数据传输的波特率。编程电缆上有拨档开关,可以组态设置数据传输的波特率。图图7.1计算机与计
6、算机与PLC的连接的连接1.5第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.5STEP7-Micro/WIN32编程软件是西门子编程软件是西门子PLC用户不可缺少的开发工具,用户不可缺少的开发工具,它具有它具有Windows应用软件的通用界面,可以在短时间内学会使用,节省编程应用软件的通用界面,可以在短时间内学会使用,节省编程时间,能够对时间,能够对S7-200的所有功能进行编程,解决复杂的自动化任务。的所有功能进行编程,解决复杂的自动化任务。图图7.2为为STEP7-Micro/WIN32编程软件的主界面。系统菜单和工具栏可编程软件的主界面。系统菜单和工具栏可
7、提供各种功能,指令树结构列出了整个程序编辑所涉及的资源。包括所有的提供各种功能,指令树结构列出了整个程序编辑所涉及的资源。包括所有的程序块、符号表、状态图、数据块、通信块等,还列出了所有可用指令。在程序块、符号表、状态图、数据块、通信块等,还列出了所有可用指令。在程序编辑区,可打开相关的各种窗口,进行程序编辑。编程软件的程序编辑程序编辑区,可打开相关的各种窗口,进行程序编辑。编程软件的程序编辑窗口中包括窗口中包括3个页面:个页面:MAIN、SBR_0、INT_0分别表示主程序、子程序分别表示主程序、子程序0、中、中断程序断程序0,而且子程序和中断程序页面可根据需要添加。这种结构使用了模块,而且
8、子程序和中断程序页面可根据需要添加。这种结构使用了模块化编程体系,使程序结构简单、层次清楚、组织方便,十分有利于编写规模化编程体系,使程序结构简单、层次清楚、组织方便,十分有利于编写规模较大的程序。较大的程序。7.1 7.1 编程软件编程软件STEP7-Micro/WIN32STEP7-Micro/WIN32简介简介1.6第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.6图图7.2STEP7-Micro/WIN32编程软件界面编程软件界面7.1 7.1 编程软件编程软件STEP7-Micro/WIN32STEP7-Micro/WIN32简介简介1.7第第7章章SI
9、MATICS7-200系列系列PLC基本指令系统基本指令系统1.7编程软件具体功能如下。编程软件具体功能如下。(1)可以用梯形图可以用梯形图(LAD,LadderDiagram)、语句表、语句表(STL,StatementList)和功能块图和功能块图(FBD,FunctionBlockDiagram)编程。编程。(2)可以进行符号编程,通过符号表分配符号和绝对地址,即对编程元件定可以进行符号编程,通过符号表分配符号和绝对地址,即对编程元件定义符号名称,增加程序的可读性,并可打印输出。义符号名称,增加程序的可读性,并可打印输出。(3)支持三角函数,开方,对数运算功能。支持三角函数,开方,对数运
10、算功能。(4)具有易于使用的组态向导,用于具有易于使用的组态向导,用于TD200文本显示器、文本显示器、PID控制器、控制器、CPU间数据传输的通信功能、高速计数器。间数据传输的通信功能、高速计数器。(5)可用于可用于CPU硬件设置,如扩展模块组态、输入延时、实时时钟设置、口硬件设置,如扩展模块组态、输入延时、实时时钟设置、口令分配、令分配、CPU保持区的组态、通信系统的网络地址、保持区的组态、通信系统的网络地址、CPU最近的错误状态。最近的错误状态。(6)可以将可以将STEP7-Micro/WIN正在处理的程序与所连接的正在处理的程序与所连接的PLC中的程序进中的程序进行比较。行比较。(7)
11、可通过调制解调器支持可通过调制解调器支持S7-200远程编程。远程编程。(8)可进行检测和故障诊断,执行单次扫描,强制输出等。可进行检测和故障诊断,执行单次扫描,强制输出等。(9)具有可编辑的变量状态表,易于进行程序调试。具有可编辑的变量状态表,易于进行程序调试。(10)可同时打开多个窗口显示信号状态和状态表。可同时打开多个窗口显示信号状态和状态表。(11)可导入和导出可导入和导出STEP7-Micro/DOS格式的文件。格式的文件。(12)可在可在Windows下设置打印机,并可在任何下设置打印机,并可在任何Windows打印机上打印程打印机上打印程序和其他表格。序和其他表格。7.1 7.1
12、 编程软件编程软件STEP7-Micro/WIN32STEP7-Micro/WIN32简介简介1.8第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.87.2 7.2 指令及其结构指令及其结构7.2.1指令的组成指令的组成S7-200系列系列PLC既可使用既可使用SIMATIC指令集,又可使用指令集,又可使用IEC1131-3指令集。指令集。SIMATIC指令集是西门子公司专为指令集是西门子公司专为S7-200系列系列PLC设计的,设计的,STEP7-Micro/WIN32编程软件中可使用的编程软件中可使用的3个编程器个编程器(LAD、STL、FBD)都可编辑该都可
13、编辑该指令集,而且指令的执行速度较快。指令集,而且指令的执行速度较快。IEC1131-3指令集是国际电工委员会指令集是国际电工委员会(IEC)推出的推出的PLC编程方面的轮廓性标准。该标准鼓励不同的编程方面的轮廓性标准。该标准鼓励不同的PLC厂商向用户提供符厂商向用户提供符合该指令集的指令系统,有利于用户编写出适用于不同品牌合该指令集的指令系统,有利于用户编写出适用于不同品牌PLC的程序。但对的程序。但对于于S7-200系列系列PLC,该指令集的指令执行时间要长一些,且只能在梯形图,该指令集的指令执行时间要长一些,且只能在梯形图(LAD)、功能块图、功能块图(FBD)编辑器中使用,不能使用灵活
14、的指令表编辑器中使用,不能使用灵活的指令表(STL)编辑器。编辑器。许多许多SIMATIC指令集不符合指令集不符合IEC1131-3指令集标准,所以两种指令集不能混用,指令集标准,所以两种指令集不能混用,而且许多功能不能使用而且许多功能不能使用IEC1131-3指令集实现。指令集实现。本章中以本章中以SIMATIC指令集为主要内容进行介绍与分析。指令集为主要内容进行介绍与分析。由于梯形图由于梯形图(LAD)、指令表、指令表(STL)编辑方式为广大编程人员所熟悉,所以编辑方式为广大编程人员所熟悉,所以本章以梯形图本章以梯形图(LAD)和指令表和指令表(STL)为主介绍指令的组成与使用。为主介绍指
15、令的组成与使用。1.9第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.91.梯形图编辑器中指令的组成与使用梯形图编辑器中指令的组成与使用如图如图7.3所示,在梯形图编辑器中,程序被分为一个个的网络段所示,在梯形图编辑器中,程序被分为一个个的网络段(Networkn)。每一个网络中是具体功能的实现。在整个程序中包括许多注释,如程序块。每一个网络中是具体功能的实现。在整个程序中包括许多注释,如程序块的注释、网络段的注释、每一个元件的注释等,能够使他人方便地读懂整个程的注释、网络段的注释、每一个元件的注释等,能够使他人方便地读懂整个程序的内容和功能。序的内容和功能。图图
16、7.3梯梯形图编辑形图编辑器中指令器中指令的组成的组成7.2 7.2 指令及其结构指令及其结构1.10第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.10梯形图指令中的基本内容如下。梯形图指令中的基本内容如下。(1)左母线左母线梯形图左侧的粗竖线,它是为整个梯形图程序提供能量的源头。梯形图左侧的粗竖线,它是为整个梯形图程序提供能量的源头。(2)触点触点代表逻辑代表逻辑“输入输入”条件。如开关、按钮等闭合或打开动作,或者条件。如开关、按钮等闭合或打开动作,或者内部条件。内部条件。(3)线圈线圈代表逻辑代表逻辑“输出输出”结果。如灯的亮灭、电动机的启动停止,中间结果。
17、如灯的亮灭、电动机的启动停止,中间继电器的动作,或者内部输出条件。继电器的动作,或者内部输出条件。(4)功能框功能框/指令盒指令盒代表附加指令。如定时器、计数器、功能指令或数学代表附加指令。如定时器、计数器、功能指令或数学运算指令等。运算指令等。梯形图编辑方式方便初学者使用,易于理解,可以建立与电气接线图类似梯形图编辑方式方便初学者使用,易于理解,可以建立与电气接线图类似的程序,而且全世界通用。可以使用指令表编辑器显示所有用梯形图编辑器编的程序,而且全世界通用。可以使用指令表编辑器显示所有用梯形图编辑器编写的程序。写的程序。2.指令表编辑器中指令的组成与使用指令表编辑器中指令的组成与使用如图如
18、图7.4所示,在指令表编辑器中,程序也分为一个个的网络段,这样可所示,在指令表编辑器中,程序也分为一个个的网络段,这样可方便地与梯形图进行转换。当然也可以不分网络段,此时指令表程序不能转换。方便地与梯形图进行转换。当然也可以不分网络段,此时指令表程序不能转换。注释部分和梯形图编辑器中相同。注释部分和梯形图编辑器中相同。7.2 7.2 指令及其结构指令及其结构1.11第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.11图图7.4指令表编辑器中指令的组成指令表编辑器中指令的组成指令表程序的基本构成为指令助记符指令表程序的基本构成为指令助记符+操作数。如操作数。如LDI
19、0.0,LD为指令助记为指令助记符,表示具体需要完成的功能;符,表示具体需要完成的功能;I0.0为操作数,表示被操作的内容。指令表属为操作数,表示被操作的内容。指令表属于文本形式的编程语言,和汇编语言类似,可以解决梯形图指令不易解决的问于文本形式的编程语言,和汇编语言类似,可以解决梯形图指令不易解决的问题,适用于对题,适用于对PLC和逻辑编程的有经验程序员。和逻辑编程的有经验程序员。7.2 7.2 指令及其结构指令及其结构1.12第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.127.2.2寻址方式寻址方式PLC最大的特点是可以利用其内部软元件的逻辑组合代替由继电
20、器盘实现最大的特点是可以利用其内部软元件的逻辑组合代替由继电器盘实现的硬件逻辑,软元件没有使用次数的限制,可以无限次使用。所谓软元件实际上的硬件逻辑,软元件没有使用次数的限制,可以无限次使用。所谓软元件实际上就是就是PLC内部的各存储单元,为方便编程使用,各存储单元根据功能的不同分配内部的各存储单元,为方便编程使用,各存储单元根据功能的不同分配了不同的名称,如输入过程映像寄存器了不同的名称,如输入过程映像寄存器(I)、输出过程映像寄存器、输出过程映像寄存器(Q)、变量寄存、变量寄存器器(V)等。每一个存储器单元都编有唯一的地址,通过这个地址,用户可以方便等。每一个存储器单元都编有唯一的地址,通
21、过这个地址,用户可以方便地在程序中使用该存储单元进行数据存储或传输。地在程序中使用该存储单元进行数据存储或传输。一个完整的地址包括存储器标识符、字节地址及位地址。如一个完整的地址包括存储器标识符、字节地址及位地址。如I6.3,I表示输表示输入过程映像寄存器;入过程映像寄存器;6表示第表示第6个字节;个字节;3表示该字节中的第表示该字节中的第3位。字节与位地址位。字节与位地址之间用之间用“.”分隔。分隔。S7-200系列系列PLC可以使用直接寻址方式和间接寻址方式对数可以使用直接寻址方式和间接寻址方式对数据进行操作。据进行操作。1直接寻址方式直接寻址方式直接寻址是指在编程过程中直接使用各存储单元
22、的地址编号存取数据的寻直接寻址是指在编程过程中直接使用各存储单元的地址编号存取数据的寻址方式。直接寻址方式可以对各存储器区进行位地址、字节地址、字地址、双字址方式。直接寻址方式可以对各存储器区进行位地址、字节地址、字地址、双字地址的数据操作。图地址的数据操作。图7.5以变量存储区以变量存储区(V)为例,介绍位地址、字节地址、字地址、为例,介绍位地址、字节地址、字地址、双字地址的表示方法。双字地址的表示方法。7.2 7.2 指令及其结构指令及其结构1.13第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.13以下具体介绍的各类存储单元中,前以下具体介绍的各类存储单元中
23、,前7种的寻址方式可以参照图种的寻址方式可以参照图7.5中变量中变量存储区的寻址方式。下面就存储区的寻址方式。下面就S7-200系列系列PLC中可以直接寻址的各存储单元的功中可以直接寻址的各存储单元的功能进行说明能进行说明(名称后面括号中字母为寄存器功能标识名称后面括号中字母为寄存器功能标识)。(a)位地址位地址7.2 7.2 指令及其结构指令及其结构1.14第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.14(b)字节地址、字地址、双字地址字节地址、字地址、双字地址图图7.5变量存储区变量存储区(V)直接寻址的表示方法直接寻址的表示方法7.2 7.2 指令及其结
24、构指令及其结构1.15第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.151)输入映像寄存器输入映像寄存器(I)输入映像寄存器输入映像寄存器(I)中的每一个位地址对应中的每一个位地址对应PLC的一个输入端子,用于存放的一个输入端子,用于存放外部传感器或开关元件发来的信号。在每个扫描周期的开始,外部传感器或开关元件发来的信号。在每个扫描周期的开始,PLC对所有输入对所有输入端子状态进行采样,并把采样结果送入输入映像寄存器端子状态进行采样,并把采样结果送入输入映像寄存器(I)。在一个扫描周期内,。在一个扫描周期内,程序执行只使用输入映像寄存器中的数据进行处理,而不论外
25、部输入端子的状程序执行只使用输入映像寄存器中的数据进行处理,而不论外部输入端子的状态是什么。编程时要注意,输入映像寄存器只能反映外部信号的状态,而不能态是什么。编程时要注意,输入映像寄存器只能反映外部信号的状态,而不能由程序设置,也不能用于驱动负载。由程序设置,也不能用于驱动负载。2)输出映像寄存器输出映像寄存器(Q)输出映像寄存器中的每一个位地址对应输出映像寄存器中的每一个位地址对应PLC的一个输出端子,用于存放程的一个输出端子,用于存放程序执行后的所有输出结果,以控制外部负载的接通与断开。序执行后的所有输出结果,以控制外部负载的接通与断开。PLC在执行用户程在执行用户程序的过程中,并不把输
26、出信号直接输出到输出端子,而是送到输出映像寄存器序的过程中,并不把输出信号直接输出到输出端子,而是送到输出映像寄存器(Q)中,在每个扫描周期的最后,才将输出映像寄存器中的数据统一送到输出端中,在每个扫描周期的最后,才将输出映像寄存器中的数据统一送到输出端子。子。3)变量存储器变量存储器(V)在程序处理过程或上下位机通信过程中,会产生大量的中间变量数据需要在程序处理过程或上下位机通信过程中,会产生大量的中间变量数据需要存储,存储,S7-200系列系列PLC专门提供了一个较大存储器区存储此类数据,即变量存专门提供了一个较大存储器区存储此类数据,即变量存储器。在变量存储器中也可存放与控制过程和任务相
27、关的其他数据,应用比较储器。在变量存储器中也可存放与控制过程和任务相关的其他数据,应用比较灵活。灵活。7.2 7.2 指令及其结构指令及其结构1.16第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.164)内部标志位存储器内部标志位存储器(M)PLC进行逻辑控制时,除了输入映像寄存器和输出映像寄存器直接与外进行逻辑控制时,除了输入映像寄存器和输出映像寄存器直接与外部设备联系之外,还有一些内部状态标志或者输入端子与输出端子之间的逻部设备联系之外,还有一些内部状态标志或者输入端子与输出端子之间的逻辑关系需要中间单元进行存储和过渡,这些中间单元即内部标志位存储器。辑关系
28、需要中间单元进行存储和过渡,这些中间单元即内部标志位存储器。内部标志位存储器只起中间状态暂存的作用,不能直接接收输入信号的控制,内部标志位存储器只起中间状态暂存的作用,不能直接接收输入信号的控制,也不能直接输出用于驱动外部设备,类似于继电盘控制系统中的中间继电器。也不能直接输出用于驱动外部设备,类似于继电盘控制系统中的中间继电器。5)特殊标志位存储器特殊标志位存储器(SM)特殊标志位存储器是特殊标志位存储器是PLC内部保留的一部分存储空间,用于保存内部保留的一部分存储空间,用于保存PLC自自身工作状态数据或提供特殊功能。该存储器区可以反映身工作状态数据或提供特殊功能。该存储器区可以反映CPU运
29、行时的各种状运行时的各种状态信息,用户程序能够根据这些信息判断态信息,用户程序能够根据这些信息判断PLC的工作状态,从而确定下一步的工作状态,从而确定下一步的程序走向。的程序走向。(在在7.2.4小节中会有详细介绍小节中会有详细介绍)6)顺序控制继电器顺序控制继电器(S)顺序控制继电器是用于步进顺控指令中的特殊继电器,通常要与步进顺顺序控制继电器是用于步进顺控指令中的特殊继电器,通常要与步进顺控指令结合使用,用于组织步进过程。控指令结合使用,用于组织步进过程。7.2 7.2 指令及其结构指令及其结构1.17第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.177)局
30、部存储器局部存储器(L)局部存储器与变量存储器十分类似,都是作为中间变量的存储空间。其主局部存储器与变量存储器十分类似,都是作为中间变量的存储空间。其主要区别在于变量存储器是全局有效的,即同一个变量存储器可以被任何程序要区别在于变量存储器是全局有效的,即同一个变量存储器可以被任何程序(主程序、子程序、中断程序主程序、子程序、中断程序)访问并进行数据存取;而局部存储器是局部有效访问并进行数据存取;而局部存储器是局部有效的,只能与特定的程序相关联。的,只能与特定的程序相关联。S7-200系列系列PLC有有64个字节的局部存储器,其中个字节的局部存储器,其中60个字节可以作为临时个字节可以作为临时数
31、据的存储器或者为子程序传递参数,最后数据的存储器或者为子程序传递参数,最后4个字节为系统所保留。局部存储个字节为系统所保留。局部存储器由器由CPU根据需要动态分配。在主程序执行过程中,分配给子程序或中断程序根据需要动态分配。在主程序执行过程中,分配给子程序或中断程序的局部存储器实际上是不存在的,当出现子程序或中断程序调用时,则由的局部存储器实际上是不存在的,当出现子程序或中断程序调用时,则由CPU随时给子程序或中断程序分配局部存储器。由于不同程序中使用的局部存储器随时给子程序或中断程序分配局部存储器。由于不同程序中使用的局部存储器不能相互访问,所以主程序、子程序和中断程序中可以使用相同地址编号
32、的局不能相互访问,所以主程序、子程序和中断程序中可以使用相同地址编号的局部存储器。局部存储器在分配时不被初始化,也没有任何值,在参数传递过程部存储器。局部存储器在分配时不被初始化,也没有任何值,在参数传递过程中也不接收新值,只能由中也不接收新值,只能由CPU在当前程序中使用。在当前程序中使用。7.2 7.2 指令及其结构指令及其结构1.18第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.188)定时器存储器定时器存储器(T)在在PLC中,定时器的作用相当于延时继电器,其定时值由程序赋予。中,定时器的作用相当于延时继电器,其定时值由程序赋予。S7-200系列系列PL
33、C中包括中包括1ms、10ms、100ms3种精度的定时器,每个定时器对应种精度的定时器,每个定时器对应一个一个16位的当前值寄存器和一个状态位。位的当前值寄存器和一个状态位。16位的寄存器存储定时器所累积的时位的寄存器存储定时器所累积的时间,状态位标志定时器定时时间到达时的动作。当前值寄存器和状态位均可由间,状态位标志定时器定时时间到达时的动作。当前值寄存器和状态位均可由(T+定时器号定时器号)来表示,如来表示,如T10。区分依赖于对其操作的指令,位操作指令存取。区分依赖于对其操作的指令,位操作指令存取定时器状态位,而字操作指令对寄存器值进行操作。定时器状态位,而字操作指令对寄存器值进行操作
34、。9)计数器存储器计数器存储器(C)在在PLC中,计数器用于累积输入脉冲的个数,当计数值达到由程序设置的中,计数器用于累积输入脉冲的个数,当计数值达到由程序设置的数值时,执行特定功能。数值时,执行特定功能。S7-200系列系列PLC提供了提供了3种类型的计数器,即增计数种类型的计数器,即增计数器、减计数器和增减计数器,每个计数器也对应一个器、减计数器和增减计数器,每个计数器也对应一个16位的当前值寄存器和一位的当前值寄存器和一个状态位。当前值寄存器和状态位均可由个状态位。当前值寄存器和状态位均可由(C+定时器号定时器号)来表示,如来表示,如C10。其区。其区分同定时器。分同定时器。7.2 7.
35、2 指令及其结构指令及其结构1.19第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.1910)高速计数器高速计数器(HC)计数器计数器(C)的输入脉冲频率受到的输入脉冲频率受到PLC扫描周期的限制不能太高,而在控制领扫描周期的限制不能太高,而在控制领域中,高频脉冲的技术又是普遍要求域中,高频脉冲的技术又是普遍要求(如控制电机的精确定位等如控制电机的精确定位等)。所以。所以PLC专门专门设计了能够对高频脉冲进行计数的高速计数器,使用专用端子接收高频脉冲信号。设计了能够对高频脉冲进行计数的高速计数器,使用专用端子接收高频脉冲信号。高速计数器用高速计数器用HC作为标识,
36、可用作为标识,可用“HC+计数器号计数器号”的形式进行的形式进行32位有符号整数位有符号整数(即当前计数值即当前计数值)的存取,如的存取,如HC0。高速计数器的当前值为只读值。高速计数器的当前值为只读值。11)模拟量输入模拟量输入(AI)及模拟量输出及模拟量输出(AQ)模拟量的转换是通过模拟量模块完成的,但其数据的存储是在模拟量的转换是通过模拟量模块完成的,但其数据的存储是在CPU模块模块中,也是由中,也是由CPU完成其寻址的。模拟量经过完成其寻址的。模拟量经过A/D转换变为数字量,存储在模拟转换变为数字量,存储在模拟量输入寄存器量输入寄存器(AI)中。而存储在模拟量输出寄存器中。而存储在模拟
37、量输出寄存器(AQ)中的数字量经过中的数字量经过D/A转转换变为模拟量,供外部电路使用。模拟量输入寄存器和模拟量输出寄存器均按换变为模拟量,供外部电路使用。模拟量输入寄存器和模拟量输出寄存器均按16位位(1个字个字)存储数值,所以要从偶数号字节开始为其编址。具体内容如图存储数值,所以要从偶数号字节开始为其编址。具体内容如图7.6所示。如模拟量输入寄存器地址为所示。如模拟量输入寄存器地址为AIW0、AIW2、AIW4、;模拟量输出寄;模拟量输出寄存器地址为存器地址为AQW0、AQW2、AQW4、。要注意的是用户程序无法读取模拟。要注意的是用户程序无法读取模拟量输出寄存器的内容。量输出寄存器的内容
38、。7.2 7.2 指令及其结构指令及其结构1.20第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.2015870AIW2字节字节2(最高有效字节最高有效字节)字节字节3(最低有效字节最低有效字节)MSBLSB15870AQW10字节字节10(最高有效字节最高有效字节)字节字节11(最低有效字节最低有效字节)MSBLSB图图7.6模拟量输入与输出字节示意图模拟量输入与输出字节示意图12)累加器累加器(AC)累加器是可以像存储器一样使用的读累加器是可以像存储器一样使用的读/写区间,它可以用于向子程序传递写区间,它可以用于向子程序传递参数或从子程序返回参数,也可以用于存
39、储计算过程的中间值。参数或从子程序返回参数,也可以用于存储计算过程的中间值。S7-200系列系列PLC提供了提供了4个个32位的累加器,地址编号分别为位的累加器,地址编号分别为AC0、AC1、AC2、AC3,使,使用时只需写出累加器的地址编号即可。用时只需写出累加器的地址编号即可。7.2 7.2 指令及其结构指令及其结构1.21第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.21可以按字节、字或双字方式对累加器进行数据存取。以字节方式存取数可以按字节、字或双字方式对累加器进行数据存取。以字节方式存取数据时只占用累加器的最低据时只占用累加器的最低8位,以字方式存取数
40、据时占用累加器的低位,以字方式存取数据时占用累加器的低16位,以位,以双字方式存取数据时才占用累加器的全部双字方式存取数据时才占用累加器的全部32位。占用累加器的数据长度取决位。占用累加器的数据长度取决于所用指令的具体要求,例如,于所用指令的具体要求,例如,MOVB指令以字节方式存取数据;指令以字节方式存取数据;MOVW指指令以字方式存取数据;令以字方式存取数据;MOVD指令以双字方式存取数据。如图指令以双字方式存取数据。如图7.7所示。所示。7.2 7.2 指令及其结构指令及其结构1.22第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.2270MOVBAC0VB
41、100字节字节(VB100)15870MOVWAC0VB100最高有效字节最高有效字节(VB100)最低有效字节最低有效字节(VB101)3124231615870MOVDAC0VB100最高有效最高有效字节字节(VB100)(VB101)(VB102)最低有效字节最低有效字节(VB103)图图7.7累加器使用方法图累加器使用方法图7.2 7.2 指令及其结构指令及其结构1.23第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.232.间接寻址方式间接寻址方式间接寻址是指在编程过程中使用指针来存取寄存器中的数据的寻址方式。间接寻址是指在编程过程中使用指针来存取寄存器
42、中的数据的寻址方式。使用地址指针的间接寻址在处理连续空间数据运算方面十分方便,可以直接通使用地址指针的间接寻址在处理连续空间数据运算方面十分方便,可以直接通过地址指针的修改,改变对应的存储空间,可缩短程序代码,使程序更加灵活。过地址指针的修改,改变对应的存储空间,可缩短程序代码,使程序更加灵活。间接寻址的使用范围包括输入映像寄存器间接寻址的使用范围包括输入映像寄存器(I)、输出映像寄存器、输出映像寄存器(Q)、变量存、变量存储器储器(V)、内部标志位存储器、内部标志位存储器(M)、顺序控制继电器、顺序控制继电器(S)、定时器存储器、定时器存储器(T)、计数、计数器存储器器存储器(C)的字节、字
43、、双字编码地址,即间接寻址针对的只是数据对象,而的字节、字、双字编码地址,即间接寻址针对的只是数据对象,而不能是单个的位地址。另外,模拟量值也不能进行间接寻址。不能是单个的位地址。另外,模拟量值也不能进行间接寻址。使用间接寻址方式存取数据应遵循以下几点。使用间接寻址方式存取数据应遵循以下几点。1)地址指针的建立地址指针的建立要使用间接寻址,首先必须建立地址指针。地址指针为一个双字值,其内要使用间接寻址,首先必须建立地址指针。地址指针为一个双字值,其内部存放的是数据所在存储器的物理地址。能够存储地址指针数据的存储空间只部存放的是数据所在存储器的物理地址。能够存储地址指针数据的存储空间只有变量存储
44、器有变量存储器(V)、局部存储器、局部存储器(L)和累加器和累加器(AC1、AC2、AC3)。需要使用双字。需要使用双字传送指令传送指令(MOVD)将数据所在地址装入用于存储物理地址的指针数据所在的存储将数据所在地址装入用于存储物理地址的指针数据所在的存储器单元或寄存器,格式如以下指令所示。器单元或寄存器,格式如以下指令所示。7.2 7.2 指令及其结构指令及其结构1.24第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.24例:例:MOVD&VB200VD10MOVD&MB10LD0MOVD&T0AC1(1)“&”为取地址符号,它与存储单元地址编号结合表示对应单元
45、的为取地址符号,它与存储单元地址编号结合表示对应单元的32位位物理地址。物理地址是指存储单元在整个存储器中的绝对位置。物理地址。物理地址是指存储单元在整个存储器中的绝对位置。VB200只是存只是存储单元的一个直接地址编号。储单元的一个直接地址编号。(2)指令中第二个存储器单元或寄存器必须为双字长度指令中第二个存储器单元或寄存器必须为双字长度(32位位),如,如VD、LD、AC。2)利用地址指针存取数据利用地址指针存取数据在存储器单元或寄存器前面加在存储器单元或寄存器前面加“*”号表示一个地址指针。号表示一个地址指针。例:例:MOVD&VB200AC1MOVW*AC1VW100该程序表示将该程序
46、表示将VW200中的数据传送到中的数据传送到VW100中。中。AC1中存储着中存储着VB200的的物理地址,物理地址,*AC1直接指向直接指向VB200存储单元,存储单元,MOVW指令决定了指针指向的是指令决定了指针指向的是一个字长的数据,在本例中,存储在一个字长的数据,在本例中,存储在VB200,VB201中的数据被送到中的数据被送到VB100,VB21中,如图中,如图7.8所示。所示。7.2 7.2 指令及其结构指令及其结构1.25第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.25图图7.8使用地址指针存取数据使用地址指针存取数据3)地址指针的修改地址指针的
47、修改通过修改地址指针,可以方便地存取相邻存储单元的数据,如进行查表通过修改地址指针,可以方便地存取相邻存储单元的数据,如进行查表或多个连续数据两两计算。只需要使用加法、自增等算术运算指令就可以实或多个连续数据两两计算。只需要使用加法、自增等算术运算指令就可以实现地址指针的修改,但要注意指针所指向数据的长度。存取字节时,指针值现地址指针的修改,但要注意指针所指向数据的长度。存取字节时,指针值加加1;存取一个字、定时器或计数器的当前值时,指针值加;存取一个字、定时器或计数器的当前值时,指针值加2;存取双字时,;存取双字时,指针值加指针值加4。如图如图7.9所示为一连加运算程序,修改指针使所示为一连
48、加运算程序,修改指针使VW200VW204的数值和的数值和AC0中的数值连加,最后放入中的数值连加,最后放入AC0中。中。7.2 7.2 指令及其结构指令及其结构1.26第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.26图图7.9修改指针进行连加运算修改指针进行连加运算7.2 7.2 指令及其结构指令及其结构1.27第第7章章SIMATICS7-200系列系列PLC基本指令系统基本指令系统1.277.2.3操作数操作数在在PLC编程中,多数指令需要指定具体的存储单元或具体数据参与其运算,编程中,多数指令需要指定具体的存储单元或具体数据参与其运算,这些就是指令所需
49、的操作数。按照表现形式的不同,这些就是指令所需的操作数。按照表现形式的不同,S7-200系列系列PLC可提供可提供3种形式的操作数,即存储单元、常数、能流。种形式的操作数,即存储单元、常数、能流。1.存储单元存储单元在直接寻址中涉及的所有存储器都可以作为操作数。此类操作数包括输在直接寻址中涉及的所有存储器都可以作为操作数。此类操作数包括输入映像寄存器入映像寄存器(I)、输出映像寄存器、输出映像寄存器(Q)、变量存储器、变量存储器(V)、内部标志位存储器、内部标志位存储器(M)、特殊标志位存储器、特殊标志位存储器(SM)、顺序控制继电器、顺序控制继电器(S)、局部存储器、局部存储器(L)中的位寻
50、址方中的位寻址方式、字节寻址方式、字寻址方式、双字寻址方式。还包括定时器存储器式、字节寻址方式、字寻址方式、双字寻址方式。还包括定时器存储器(T)、计、计数器存储器数器存储器(C)、高速计数器、高速计数器(HC)、模拟量输入、模拟量输入(AI)、模拟量输出、模拟量输出(QI)和累加器和累加器(AC)。不同的。不同的CPU模块中存储单元类操作数的数量有所不同,表模块中存储单元类操作数的数量有所不同,表7-1列出了列出了S7-200系列系列PLC中的所有可用存储单元类操作数。中的所有可用存储单元类操作数。7.2 7.2 指令及其结构指令及其结构1.28第第7章章SIMATICS7-200系列系列P