《毕业设计精品基于S7200系列PLC的交通灯毕业论文.doc》由会员分享,可在线阅读,更多相关《毕业设计精品基于S7200系列PLC的交通灯毕业论文.doc(40页珍藏版)》请在三一办公上搜索。
1、第一章 PLC的基础知识1.1 概述 PLC(Programmable Logic Controller)可编程逻辑控制器,一种数字运算操作的电子系统,专为在工业环境应用而设计的。它采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算,顺序控制,定时,计数与算术操作等面向用户的指令,并通过数字或模拟式输入/输出控制各种类型的机械或生产过程。是工业控制的核心部分。1.2 PLC的由来 在PLC问世之前,工业控制领域中是继电器控制占主导地位。继电器控制系统有着十分明显的缺点:体积大、耗电多、可靠性差、寿命短、运行速度慢、适应性差,尤其当生产工艺发生变化时,就必须重新设计、重新安装,造成时间和资
2、金的严重浪费。为了改变这一现状,1968年美国最大的汽车制造商通用汽车公司(GM),为了适应汽车型号不断更新的要求,以在激烈的竞争的汽车工业中占有优势,提出要研制一种新型的工业控制装置来取代继电器控制装置,为此,特拟定了十项公开招标的技术要求,即:1) 编程简单方便,可在现场修改程序;2) 硬件维护方便,最好是插件式结构;3) 可靠性要高于继电器控制装置;4) 体积小于继电器控制装置;5) 可将数据直接送入管理计算机;6) 成本上可与继电器柜竞争;7) 输入可以是交流115V;8) 输出为交流115V,2A以上,能直接驱动电磁阀;9) 扩展时,原有系统只需做很小的改动;10)用户程序存储器容量
3、至少可以扩展到4KB。 根据招标要求,1969年美国数字设备公司(DEC)研制出世界上第一台PLC(PDP14型 ),并在通用汽车公司自动装配线上试用,获得了成功,从而开创了工业控制新时期。从此,可编程控制器这一新的控制技术迅速发展起来,而且,在工业发达国家发展很快。1.3 PLC的定义 在PLC的发展过程中,美国电气制造商协会(NEMA)经过4年的调查,于1980年把这种新型的控制器正式命名为可编程序控制器(Programmable Controller),英文缩写为PC,并作如下定义:“可编程序控制器是一种数字式电子装置。它使用可编程序的存储器来存储指令,并实现逻辑运算、顺序控制、计数、计
4、时和算术运算功能,用来对各种机械或生产过程进行控制。”国际电工委员会(IEC)曾于1982年11月颁布了可编程序控制器标准的草案第一稿,1985年1月又发表了草案第二稿,1987年2月颁布了草案第三稿。该草案中对可编程序控制器的定义是:“可编程序控制器是一种数字运算操作的电子系统,专为在工业环境下应用而设计。它采用了可编程序的存储器,用来在其内部存储执行逻辑运算、顺序控制、定时、计数、和算术运算等操作的指令。并通过数字式和模拟式的输入和输出,控制各种类型的机械或生产过程。PLC及其有关外部设备,都应按易于与工业系统联成一个整体,易于扩充其功能的原则设计。” 定义强调了PLC应直接应用于工业环境
5、,它必须具有很强的抗干扰能力、广泛的适应能力和应用范围。这是区别于一般微机控制系统的一个重要特征。1.4 PLC的基本结构 从结构上分,PLC分为固定式和组合式(模块式)两种。固定式PLC包括CPU板、I/O板、显示面板、内存块、电源等,这些元素组合成一个不可拆卸的整体。模块式PLC包括CPU模块、I/O模块、内存、电源模块、底板或机架,这些模块可以按照一定规则组合配置。1 CPU的构成CPU是PLC的核心,起神经中枢的作用,每套PLC至少有一个CPU,它按PLC的系统程序赋予的功能接收并存贮用户程序和数据,用扫描的方式采集由现场输入装置送来的状态或数据,并存入规定的寄存器中,同时,诊断电源和
6、PLC内部电路的工作状态和编程过程中的语法错误等。进入运行后,从用户程序存贮器中逐条读取指令,经分析后再按指令规定的任务产生相应的控制信号,去指挥有关的控制电路。CPU主要由运算器、控制器、寄存器及实现它们之间联系的数据、控制及状态总线构成,CPU单元还包括外围芯片、总线接口及有关电路。内存主要用于存储程序及数据,是PLC不可缺少的组成单元。在使用者看来,不必要详细分析CPU的内部电路,但对各部分的工作机制还是应有足够的理解。CPU的控制器控制CPU工作,由它读取指令、解释指令及执行指令。但工作节奏由震荡信号控制。运算器用于进行数字或逻辑运算,在控制器指挥下工作。寄存器参与运算,并存储运算的中
7、间结果,它也是在控制器指挥下工作。CPU速度和内存容量是PLC的重要参数,它们决定着PLC的工作速度,IO数量及软件容量等,因此限制着控制规模。2 I/O模块PLC与电气回路的接口,是通过输入输出部分(I/O)完成的。I/O模块集成了PLC的I/O电路,其输入暂存器反映输入信号状态,输出点反映输出锁存器状态。输入模块将电信号变换成数字信号进入PLC系统,输出模块相反。I/O分为开关量输入(DI),开关量输出(DO),模拟量输入(AI),模拟量输出(AO)等模块。常用的I/O分类如下:开关量:按电压水平分,有220VAC、110VAC、24VDC,按隔离方式分,有继电器隔离和晶体管隔离。模拟量:
8、按信号类型分,有电流型(4-20mA,0-20mA)、电压型(0-10V,0-5V,-10-10V)等,按精度分,有12bit,14bit,16bit等。除了上述通用IO外,还有特殊IO模块,如热电阻、热电偶、脉冲等模块。按I/O点数确定模块规格及数量,I/O模块可多可少,但其最大数受CPU所能管理的基本配置的能力,即受最大的底板或机架槽数限制。3 电源模块PLC电源用于为PLC各模块的集成电路提供工作电源。同时,有的还为输入电路提供24V的工作电源。电源输入类型有:交流电源(220VAC或110VAC),直流电源(常用的为24VDC)。 4 底板或机架大多数模块式PLC使用底板或机架,其作用
9、是:电气上,实现各模块间的联系,使CPU能访问底板上的所有模块,机械上,实现各模块间的连接,使各模块构成一个整体。 1.5 PLC的优点1 实现成本低 由于可以直接利用已有的配电网络作为传输线路,所以不用进行额外布线,从而大大减少了网络的投资,降低了成本。 2 范围广 电力线是覆盖范围最广的网络,它的规模是其他任何网络无法比拟的。PLC可以轻松地渗透到每个家庭,为互联网的发展创造极大的空间。 3高速率 PLC能够提供高速的传输。目前,其传输速率依设备厂家的不同而4.5M45Mbps之间。远远高于拨号上网和ISDN,比ADSL更快!足以支持现有网络上的各种应用。更高速率的PLC产品正在研制之中。
10、 4永远在线 PLC属于即插即用,不用烦琐的拨号过程,接入电源就等于接入网络! 5便捷 不管在家里的哪个角落,只要连接到房间内的任何电源插座上,就可立即拥有PLC带来的高速网络享受!第二章 S7-200系列PLC2.1 S7-200系列PLC的基本硬件组成 S7-200系列PLC可提供4种不同的基本单元和6种型号的扩展单元。其系统构成包括基本单元、扩展单元、编程器、存储卡、写入器、文本显示器等。 2.1.1 基本单元S7-200系列PLC中可提供4种不同的基本型号的8种CPU供选择使用,其输入输出点数的分配见表1:表1 S7-200系列PLC中CPU22X的基本单元型 号输入点输出点可带扩展模
11、块数S7-200CPU22164S7-200CPU222862个扩展模块78路数字量I/O点或10路模拟量I/O点S7-200CPU22414107个扩展模块168路数字量I/O点或35路模拟量I/O点S7-200CPU22624162个扩展模块248路数字量I/O点或35路模拟量I/O点S7-200CPU226XM24162个扩展模块248路数字量I/O点或35路模拟量I/O点2.1.2 扩展单元S7-200系列PLC主要有6种扩展单元,它本身没有CPU,只能与基本单元相连接使用,用于扩展I/O点数,S7-200系列PLC扩展单元型号及输入输出点数的分配如表2所示。表2 S7-200系列PL
12、C扩展单元型号及输入输出点数类 型型 号输入点输出点数字量扩展模块EM2218无EM222无8EM2234/8/164/8/16模拟量扩展模块EM2313无EM232无2EM235312.1.3 编程器PLC在正式运行时,不需要编程器。编程器主要用来进行用户程序的编制、存储和管理等,并将用户程序送入PLC中,在调试过程中,进行监控和故障检测。S7-200系列PLC可采用多种编程器,一般可分为简易型和智能型。简易型编程器是袖珍型的,简单实用,价格低廉,是一种很好的现场编程及监测工具,但显示功能较差,只能用指令表方式输入,使用不够方便。智能型编程器采用计算机进行编程操作,将专用的编程软件装入计算机
13、内,可直接采用梯形图语言编程,实现在线监测,非常直观,且功能强大,S7-200系列PLC的专用编程软件为STEP7-Micro/WIN。2.1.4 程序存储卡为了保证程序及重要参数的安全,一般小型PLC设有外接EEPROM卡盒接口,通过该接口可以将卡盒的内容写入PLC,也可将PLC内的程序及重要参数传到外接EEPROM卡盒内作为备份。程序存储卡EEPROM有6ES 7291-8GC00-0XA0和6ES 7291-8GD00-0XA0两种,程序容量分别为8K和16K程序步。2.1.5 写入器写入器的功能是实现PLC和EPROM之间的程序传送,是将PLC中RAM区的程序通过写入器固化到程序存储卡
14、中,或将PLC中程序存储卡中的程序通过写入器传送到RAM区。2.1.6 文本显示器文本显示器TD200不仅是一个用于显示系统信息的显示设备,还可以作为控制单元对某个量的数值进行修改,或直接设置输入/输出量。文本信息的显示用选择/确认的方法,最多可显示80条信息,每条信息最多4个变量的状态。过程参数可在显示器上显示,并可以随时修改。TD200面板上的8个可编程序的功能键,每个都分配了一个存储器位,这些功能键在启动和测试系统时,可以进行参数设置和诊断。2.2 扩展单元的主要技术特性S7-200系列PLC是模块式结构,可以通过配接各种扩展模块来达到扩展功能、扩大控制能力的目的。目前S7-200主要有
15、三大类扩展模块。(1)输入/输出扩展模块 S7-200 CPU上已经集成了一定数量的数字量I/O点,但如用户需要多于CPU单元I/O点时,必须对系统做必要的扩展。CPU221无I/O扩展能力,CPU 222最多可连接2个扩展模块(数字量或模拟量),而CPU224和CPU226最多可连接7个扩展模块。S7-200 PLC系列目前总共提供共5大类扩展模块:数字量输入扩展板EM221(8路扩展输入);数字量输出扩展板EM222(8路扩展输出);数字量输入和输出混合扩展板EM223(8I/O,16I/O,32I/O);模拟量输入扩展板EM231,每个EM231可扩展3路模拟量输入通道,A/D转换时间为
16、25s,12位;模拟量输入和输出混合扩展模板EM235,每个EM235可同时扩展3路模拟输入和1路模拟量输出通道,其中A/D转换时间为25s,D/A转换时间100s,位数均为12位。 基本单元通过其右侧的扩展接口用总线连接器(插件)与扩展单元左侧的扩展接口相连接。扩展单元正常工作需要+5VDC工作电源,此电源由基本单元通过总线连接器提供,扩展单元的24VDC输入点和输出点电源,可由基本单元的24VDC电源供电,但要注意基本单元所提供的最大电流能力。(2)热电偶/热电阻扩展模块 热电偶、热电阻模块(EM231)是为CPU222,CPU224,CPU226设计的,S7-200与多种热电偶、热电阻的
17、连接备有隔离接口。用户通过模块上的DIP开关来选择热电偶或热电阻的类型,接线方式,测量单位和开路故障的方向。(3)通讯扩展模块 除了CPU集成通讯口外,S7-200还可以通过通讯扩展模块连接成更大的网络。S7-200系列目前有两种通讯扩展模块:PROFIBUS-DP扩展从站模块(EM277)和AS-i接口扩展模块(CP243-2)。2.3 S7-200系列 PLC的编程元件 2.3.1 S7-200系列 PLC的存储器空间 S7-200 PLC的存储器空间大致分为三个空间,即程序空间、数据空间和参数空间。1程序空间该空间主要用于存放用户应用程序,程序空间容量在不同的CPU中是不同的。另外CPU
18、中的RAM区与内置EEPROM上都有程序存储器,但它们互为映像,且空间大小一样。2数据空间该空间的主要部分用于存放工作数据称为数据存储器,另外有一部分作寄存器使用称为数据对象。(1)数据存储器 它包括变量存储器(V),输入信号缓存区(输入映象存储器I),输出信号缓冲区(输出映象存储区Q),内部标志位存储器(M)又称内部辅助继电器,特殊标志位存储器(SM)。除特殊标志位外,其他部分都能以位、字节、和双字的格式自由读取或写入。变量存储器(V)是保存程序执行过程中控制逻辑操作的中间结果,所有的V存储器都可以存储在永久存储器区内,其内容可在与EEPROM或编程设备双向传送。输入映象存储器(I)是以字节
19、为单位的寄存器,它的每一位对应于一个数字量输入结点。在每个扫描周期开始,PLC依次对各个输入结点采样,并把采样结果送入输入映象存储器。PLC在执行用户程序过程中,不再理会输入结点的状态,它所处理的数据为输入映象存储器中的值。输出映象存储器(Q)是以字节为单位的寄存器,它的每一位对应于一个数字输出量结点。PLC在执行用户程序的过程中,并不把输出信号随时送到输出结点,而是送到输出映象存储器,只有到了每个扫描周期的末尾,才将输出映象寄存器的输出信号几乎同时送到各输出结点。使用映象寄存器优点:同步地在扫描周期开始采样所有输入点,并在扫描的执行阶段冻结所有输入值;在程序执行完后再从映象寄存器刷新所有输出
20、点,使被控系统能获得更好稳定性;存取映象寄存器的速度高于存取I/O速度,使程序执行的更快;I/O点只能以位为单位存取,但映象寄存器则能以位、字节、双字进行存取。因此,映象寄存器提供了更高的灵活性。另外对控制系统中个别I/O点要求实时性较高的情况下,可用直接I/O指令直接存取输入/输出点。内部标志位(M)又称内部线圈(内部继电器等),它一般以位为单位使用,但也能以字、双字为单位使用。内部标志位容量根据CPU型号不同而不同。特殊标志位(SM)用来存储系统的状态变量和有关控制信息,特殊标志位分为只读区和可写区,具体划分随CPU不同而不同。(2)数据对象 数据对象包括定时器、计数器、高速计数器、累加器
21、、模拟量输入/输出。定时器类似于继电器电路中的时间继电器,但它的精度更高,定时精度分为lms,10ms和100ms三种,根据精度需要由编程者选用。定时器的数量根据CPU型号不同。计数器的计数脉冲由外部输入,计数脉冲的有效沿是输入脉冲的上升沿或下降沿,计数的方式有累加1和累减1两种方式。计数器的个数同各CPU的定时器个数。高速计数器与一般计数器不同之处在于,计数脉冲频率更高可达2kHz/7kHz,计数容量大,一般计数器为16位,而高速计数器为32位,一般计数器可读可写,而高速计数器一般只能作读操作。在S7-200CPU中有4个32位累加器,即AC0AC3,用它可把参数传给子程序或任何带参数的指令
22、和指令块。此外,PLC在响应外部或内部的中断请求而调用中断服务程序时,累加器中的数据是不会丢失的,即PLC会将其中的内容压入堆栈。因此,用户在中断服务程序中仍可使用这些累加器,待中断程序执行完返回时,将自动从堆栈中弹出原先的内容,以恢复中断前累加器的内容。但应注意,不能利用累加器作主程序和中断服务子程序之间的参数传递。模拟量输入/输出可实现模拟量的A/D和D/A转换,而PLC所处理的是其中的数字量。3参数空间用于存放有关PLC组态参数的区域,如保护口令、PLC站地址、停电记忆保持区、软件滤波、强制操作的设定信息等,存贮器为EEPROM。2.3.2 S7-200系列 PLC的数据存储器寻址在S7
23、-200PLC中所处理数据有三种,即常数、数据存贮器中的数据和数据对象中的数据。1常数及类型 在S7-200的指令中可以使用字节、字、双字类型的常数,常数的类型可指定为十进制、十六进制(6#7AB4)、二进制(2#10001100)或ASCII字符(SIMATIC)。PLC不支持数据类型的处理和检查,因此在有些指令隐含规定字符类型的条件下,必须注意输入数据的格式。2数据存贮器的寻址(1)数据地址的一般格式 数据地址一般由二个部分组成,格式为:Aal.a2。其中:A区域代码(I,Q,M,SM,V),al字节首址,a2位地址(07)。例如I10.1表示该数据在I存储区10号地址的第1位。(2)数据
24、类型符的使用 在使用以字节、字或双字类型的数据时,除非所用指令已隐含有规定的类型外,一般都应使用数据类型符来指明所取数据的类型。数据类型符共有三个,即B(字节),W(字)和D(双字),它的位置应紧跟在数据区域地址符后面。例如对变量存贮器有VBl00、VW100、VDl00。同一个地址,在使用不同的数据类型后,所取出数据占用的内存量是不同的。3数据对象的寻址数据对象的地址基本格式为:An,其中A为该数据对象所在的区域地址。A共有6种:T(定时器),C(计数器),HC(高速计数器),AC(累加器),AIW(模拟量输入),AQW(模拟量输出)。2.4 S7-200系列PLC基本指令 S7-200系列
25、的基本逻辑指令与FX系列和CPM1A系列基本逻辑指令大体相似,编程和梯形图表达方式也相差不多,这里列表表示S7-200系列的基本逻辑指令(见表3)。表3 S7-200系列的基本逻辑指令指令名称指令符功能操作数取LD bit读入逻辑行或电路块的第一个常开接点Bit:I,Q,M,SM,T,C,V,S取反LDN bit读入逻辑行或电路块的第一个常闭接点与A bit串联一个常开接点与非AN bit串联一个常闭接点或O bit并联一个常开接点或非ON bit并联一个常闭接点电路块与ALD串联一个电路块无电路块或OLD并联一个电路块输出= bit输出逻辑行的运算结果Bit:Q,M,SM,T,C,V,S置位
26、S bit,N置继电器状态为接通Bit:Q,M,SM,V,S复位R bit,N使继电器复位为断开2.5 S7-200系列PLC功能指令一般的逻辑控制系统用软继电器、定时器和计数器及基本指令就可以实现。利用功能指令可以开发出更复杂的控制系统,以致构成网络控制系统。这些功能指令实际上是厂商为满足各种客户的特殊需要而开发的通用子程序。功能指令的丰富程度及其合用的方便程度是衡量PLC性能的一个重要指标。S7-200的功能指令很丰富,大致包括这几方面:算术与逻辑运算、传送、移位与循环移位、程序流控制、数据表处理、PID指令、数据格式变换、高速处理、通信以及实时时钟等。2.6 S7-200编程软件介绍 S
27、TEP7-Micro/WIN32是西门子公司专为SIMATIC S7-200系列可编程序控制器研制开发的编程软件,它是基于Windows的应用软件,功能强大,既可用于开发用户程序,又可实时监控用户程序的执行状态。下面将介绍该软件的安装、基本功能以及如何应用编程软件进行编程、调试和运行监控等内容。2.6.1安装STEP7-Micro/WIN32编程软件1、系统要求运行STEP7-Micro/WIN32编程软件的计算机系统要求如图所示。图示系统要求CPU:80486以上的微处理器内存:8MB以上硬盘:50MB以上操作系统:Windows 95, Windows 98, Windows ME, Wi
28、ndows 2000计算机:IBMPC及兼容机2、硬件连接 利用一根PC/PPI(个人计算机/点对点接口)电缆可建立个人计算机与PLC之间的通信。这是一种单主站通信方式,不需要其他硬件,如调制解调器和编程设备等。 典型的单主站连接如图A-1所示。把PC/PPI电缆的PC端与计算机的RS-232通信口(COM1或COM2)连接,把PC/PPI电缆的PPI端与PLC的RS-485通信口连接即可。3、软件安装 STEP7-Micro/WIN32编程软件可以从西门子公司的网站上下载,也可以用光盘安装,安装步骤如下:1)双击STEP7-Micro/WIN32的安装程序setup.exe,则系统自动进入安
29、装向导。2)在安装向导的帮助下完成软件的安装。软件安装路径可以使用默认的子目录,也可以用“浏览”按钮,在弹出的对话框中任意选择或新建一个子目录。3)在安装过程中,如果出现PG/PC接口对话框,可点击“取消”进行下一步。4)在安装结束时,会出现下面的选项: 是,我现在要重新启动计算机(默认选项); 否,我以后再启动计算机。 建议用户选择默认项,单击“完成”按钮,结束安装。5)软件安装结束后,会出现两个选项: 是,我现在浏览Readme文件(默认选项); 是,我现在进入STEP7-Micro/WIN32 如果选择默认选项,可以使用德语、英语、法语、西班牙语和意大利语阅读Readme文件,浏览有关S
30、TEP7-Micro/WIN32编程软件的信息。2.6.2 STEP7-Micro/WIN32编程软件的主要功能1、基本功能 STEP7-Micro/WIN32编程软件的基本功能是协助用户完成应用软件的开发,其主要实现以下功能。1)在脱机(离线)方式下创建用户程序,修改和编辑原有的用户程序。在脱机方式时,计算机与PLC断开连接,此时能完成大部分的基本功能,如编程、编译、调试和系统组态等,但所有的程序和参数都只能存放在计算机的磁盘上。2)在联机(在线)方式下可以对与计算机建立通信关系的PLC直接进行各种操作,如上载、下载用户程序和组态数据等。3)在编辑程序的过程中进行语法检查,可以避免一些语法错
31、误和数据类型方面的错误。经语法检查后,梯形图中错误处的下方自动加红色波浪线,语句表的错误行前自动画上红色叉,且在错误处加上红色波浪线。4)对用户程序进行文档管理,加密处理等。5)设置PLC的工作方式、参数和运行监控等。2、主界面各部分功能 STEP7-Micro/WIN32编程软件的主界面外观如图所示。 界面一般可以分成以下几个区:标题栏、菜单条(包含8个主菜单项)、工具条(快捷按钮)、引导条(快捷操作窗口)、指令树(快捷操作窗口)、输出窗口、状态条和用户窗口(可同时或分别打开5个用户窗口)。 除菜单条外,用户可以根据需要决定其他窗口的取舍和样式。(1)菜单条 在菜单条中共有8个主菜单选项,各
32、主菜单项的功能如下:1)文件(File)菜单项可完成如新建、打开、关闭、保存文件、导入和导出、上载和下载程序、文件的页面设置、打印预览和打印设置等操作。2)编辑(Edit)菜单项提供编辑程序用的各种工具,如选择、剪切、复制、粘贴程序块或数据块的操作,以及查找、替换、插入、删除和快速光标定位等功能。3)视图(View)菜单项可以设置编程软件的开发环境,如打开和关闭其他辅助窗口(如引导窗口、指令树窗口、工具条按钮区),执行引导条窗口的所有操作项目,选择不同语言的编程器(LAD、STL或FBD),设置3种程序编辑器的风格(如字体、指令盒的大小等)。4)可编程控制器(PLC)菜单项用于实现与PLC联机
33、时的操作,如改变PLC的工作方式、在线编译、清除程序和数据、查看PLC的信息、以及PLC的类型选择和通信设置等。5)调试(Debug)菜单项用于联机调试。6)工具(Tools)菜单项可以调用复杂指令(如PID指令、NETR/NETW指令和HSC指令),安装文本显示器TD200,改变用户界面风格(如设置按钮及按钮样式、添加菜单项),用“选项”子菜单可以设置三种程序编辑器的风格(如语言模式、颜色等)。7)窗口(Windows)菜单项的功能是打开一个或多个窗口,并进行窗口间的切换。可以设置窗口的排放方式(如水平、垂直或层叠)。8)帮助(Help)菜单项可以方便地检索各种帮助信息,还提供网上查询功能。
34、而且在软件操作过程中,可随时按F1键来显示在线帮助。(2)工具条 将STEP7-Micro/WIN32编程软件最常用的操作以按钮形式设定到工具条,提供简便的鼠标操作。可以用“视图”菜单中的“工具”选项来显示或隐藏3种按钮:标准、调试和指令。(3)引导条 在编程过程中,引导条提供窗口快速切换的功能,可用“视图”菜单中的“引导条”选项来选择是否打开引导条。引导条中有以下七种组件。1)程序块(Program Block)由可执行的程序代码和注释组成。程序代码由主程序(OB1)、可选的子程序(SBR0)和中断程序(INT0)组成。2)符号表(Symbol Table)用来建立自定义符号与直接地址间的对
35、应关系,并可附加注释,使得用户可以使用具有实际意义的符号作为编程元件,增加程序的可读性。例如,系统的停止按钮的输入地址是I0.0,则可以在符号表中将I0.0的地址定义为stop,这样梯形图所有地址为I0.0的编程元件都由stop代替。当编译后,将程序下载到PLC中时,所有的符号地址都将被转换成绝对地址。3)状态图(Status Chart)用于联机调试时监视各变量的状态和当前值。只需要在地址栏中写入变量地址,在数据格式栏中标明变量的类型,就可以在运行时监视这些变量的状态和当前值。4)数据块(Data Block)可以对变量寄存器V进行初始数据的赋值或修改,并可附加必要的注释。5)系统块(Sys
36、tem Block)主要用于系统组态。系统组态主要包括设置数字量或模拟量输入滤波、设置脉冲捕捉、配置输出表、定义存储器保持范围、设置密码和通信参数等。在本附录中对系统组态的设置不作详细介绍。6)交叉索引(Cross Reference)可以提供交叉索引信息、字节使用情况和位使用情况信息,使得PLC资源的使用情况一目了然。只有在程序编辑完成后,才能看到交叉索引表的内容。在交叉索引表中双击某个操作数时,可以显示含有该操作数的那部分程序。7)通信(Communications)可用来建立计算机与PLC之间的通信连接,以及通信参数的设置和修改。 在引导条中单击“通信”图标,则会出现一个“通信”对话框,
37、双击其中的“PC/PPI”电缆图标,将出现“PG/PC”接口对话框,此时可以安装或删除通信接口,检查各参数设置是否正确,其中波特率的默认值是9600。设置好参数后,就可以建立与PLC的通信联系。双击“通信”对话框中的“刷新”图标,STEP7-Micro/WIN32将检查所有已连接的S7-200的CPU站,并为每一个站建立一个CPU图标。 建立计算机与PLC的通信联系后,可以设置PLC的通信参数。单击引导条中“系统块”图标,将出现“系统块”对话框,单击“通信口(Port)”选项,检查和修改各参数,确认无误后,单击“确认(OK)”按钮。最后单击工具条的“下载(Download)”按钮,即可把确认后
38、的参数下载到PLC主机。 用指令树窗口或视图(View)菜单中的选项也可以实现各编程窗口的切换。(4)指令树 指令树提供编程所用到的所有命令和PLC指令的快捷操作。可以用视图(View)菜单的“指令树”选项来决定其是否打开。(5)输出窗口 该窗口用来显示程序编译的结果信息。如各程序块的信息、编译结果有无错误以及错误代码和位置等。(6)状态条 状态条也称任务栏,用来显示软件执行情况,编辑程序时显示光标所在的网络号、行号和列号,运行程序时显示运行的状态、通信波特率、远程地址等信息。(7)程序编辑器 可以用梯形图、语句表或功能表图程序编辑器编写和修改用户程序。(8)局部变量表 每个程序块都对应一个局
39、部变量表,在带参数的子程序调用中,参数的传递就通过局部变量表进行的。2.6.3 STEP7-Micro/WIN32编程软件的使用1、生成程序文件 程序文件的来源有三个:新建一个程序文件、打开已有的程序文件和从PLC上载程序文件。(1)新建程序文件 可以用“文件(File)”菜单中的“新建(New)”项或工具条中的“新建(New)”按钮新建一个程序文件。如图A-3所示为一个新建程序文件的指令树。 在新建程序文件的初始设置中,文件以“Project1(CPU221)”命名,CPU221是系统默认的PLC的CPU型号。在指令树中可见一个程序文件包含7个相关的块(程序块、符号表、状态图、数据块、系统块
40、、交叉索引及通信),其中程序块包含一个主程序(MAIN)、一个可选的子程序(SBR 0)和一个中断服务程序(INT 0)。用户可以根据实际编程的需要修改程序文件的初始设置。1)确定PLC的CPU型号。右击“Project1(CPU221)”图标,在弹出的按钮中单击“类型(Type)”,就可在对话框中选择实际的PLC型号。也可用“PLC”菜单中的“类型(Type)”项来选择PLC型号。2)程序更名。如果要更改程序的文件名,可点击“文件(File)“菜单中“另存为(Save as)”项,在弹出的对话框中键入新的文件名。程序块中主程序的名称一般用默认名称“MAIN”,任何程序文件都只有一个主程序。对
41、子程序和中断程序的更名可在指令树窗口中右击需要更名的子程序或中断程序名,在弹出的选择按钮中单击“重命名(Rename)”,然后键入新名称。3)添加子程序或中断程序。方法一:在指令树窗口中右击“程序块(Program Block)”图标,在弹出的选择按钮中单击“插入子程序(Insert Subroutine)”或“插入中断程序(Insert Interrupt)”项。方法二:用“编辑(Edit)”菜单中“插入(Insert)”项下的“子程序(Subroutine)” 或“中断程序(Interrupt)”来实现。方法三:右击编辑窗口,在弹出的选项中选择“插入(Insert)”项下的“子程序(Sub
42、routine)” 或“中断程序(Interrupt)”命令。新生成的子程序或中断程序会根据已有的子程序或中断程序的数目自动递增编号,用户可将其更名。(2)打开程序文件 打开磁盘中已有的程序文件,可用“文件(File)”菜单中的“打开(Open)”命令,或单击工具条中的“打开(Open)”按钮。(3)上载程序文件 在与PLC建立通信的情况下,可以将存储在PLC中的程序和数据传送给计算机。可用“文件(File)”菜单中的“上载(Upload)”命令,或单击工具条中的“上载(Upload)”按钮来完成文件的上载。2、编辑程序文件 利用STEP7-Micro/WIN32编程软件进行程序的编辑和修改一
43、般采用梯形图编辑器,下面将介绍梯形图编辑器的一些基本编辑操作。语句表和功能表图编辑器的操作可类似进行。(1)输入编程元件 梯形图的编程元件有触点、线圈、指令盒、标号及连接线,可用两种方法输入。方法一:用工具条上的一组编程按钮,如图A-4所示。单击触点(Contact)、线圈(Coil)或指令盒(Box)按钮,从弹出的窗口中选择要输入的指令,单击即可。工具条中的编程按钮有9个,下行线、上行线、左行线和右行线按钮用于输入连接线,形成复杂的梯形图;触点、线圈和指令盒按钮用于输入编程元件;插入网络和删除网络按钮用于编辑程序。方法二:根据要输入的指令类别,双击指令树中该类别的图标,选择相应的指令,单击即
44、可。输入编程元件的步骤:1)顺序输入编程元件。在一个网络中,如果只有编程元件的串联连接,输入和输出都无分支,则可从网络的开始依次输入各个编程元件,每输入一个编程元件,光标自动右移一列,如图A-6所示。2)输入操作数。输入编程元件后,会出现“?.?”或“?”,表示此处应输入操作数。单击“?.?”或“?”,即可键入操作数。3)任意添加编程元件。如果想在任意位置添加一个编程元件,只需单击这一位置,将光标移到此处,然后输入编程元件。(2)复杂结构输入 如果想编辑图A-7的梯形图,可单击图A-6中网络1第一行的下方,然后在光标显示处输入触点,生成新的一行。输入完成后,将光标移回到刚输入的触点处,单击工具
45、栏中“上行线(Line Up)”按钮即可。如果要在一行的某个元件后向下分支,可将光标移到该元件处,单击“下行线(Line Down)”按钮即可。(3)插入和删除 编辑程序时,经常要进行插入或删除一行、一列、一个网络、一个字程序或一个中断程序的操作,实现上述操作的方法有两种。方法一:右击程序编辑区中要进行插入(或删除)的位置,在弹出的菜单中选择“插入(Insert)”或“删除(Delete)”,继续在弹出的子菜单中单击要插入(或删除)的选项,如行(Row)、列(Column)、向下分支(Vertical)、网络(Network)、中断程序(Interrupt)和子程序(Subroutine)。方
46、法二:将光标移到要操作的位置,用“编辑(Edit)”菜单中“插入(Insert)”或“删除(Delete)”命令完成操作。(4)块操作 块操作包括块选择、块剪切、块删除、块复制和块粘贴,可方便实现对程序的移动、复制和删除操作。(5)编辑符号表 单击引导条中“符号表(Symbol Table)”图标,或使用“视图(View)”菜单中的“符号表(Symbol Table)”命令,进入符号表窗口,如图A-9所示。单击单元格可进行符号名、直接地址、注释的输入。图A-7中的直接地址编号在编写了符号表后,经编译可形成如图A-10的结果。要想在梯形图中显示符号,可选中“视图(View)”菜单中的“符号寻址(
47、Symbolic Addressing)”项。反之,要在梯形图中显示直接地址,则取消“符号寻址(Symbolic Addressing)”项。(6)使用局部变量表 局部变量表是用来定义有范围限制的局部变量,局部变量只能在创建它的程序单元中有效,而全局变量在各程序单元均有效,可用符号表定义全局变量。打开局部变量表的方法是将光标移到程序编辑区的上边缘,然后向下拖动,则自动出现局部变量表。如图A-11所示。在局部变量表中可以设置变量名称(Name)、变量类型(Var Type)、数据类型(Data Type)和注释(Comment),系统会自动分配局部变量的存储位置。局部变量表中,变量类型有输入(IN)、输出(OUT)、输入-输出(IN-OUT)及暂存(TEMP)四种,根据不同的参数类型可选择相应的数据类型,如位(BOOL)、字节(BYTE)、字(WORD)、整数(INT)、实数(REAL)等。如果要在局部变量表中插入或删除一个局部变量,可右击变量