第3章
CHAPTER 3


可编程控制器的结构组成 


和工作原理





可编程控制器可以控制运动控制系统中电动机的起动、制动、正反转、调速; 可以控制液压系统中油路的通断,实现和改变油缸的运动; 可以控制过程控制系统中管路的通断; 还可以控制电热器件、照明器件、指示或显示器件等。总之,一切由电线路通断来控制的对象都可以由可编程控制器控制实现。

当前用于工业控制的计算机可分为几类,如可编程控制器、基于PC总线的工业控制计算机、基于单片机的测控装置、用于模拟量闭环控制的可编程调节器、集散控制系统(Distributed Control System,DCS)和现场总线控制系统(Fieldbus Control System,FCS)等。可编程控制器是应用面广、功能强大、使用方便的通用工业控制装置,诞生至今,发展势头异常迅猛,已经成为当代工业自动化领域中的支柱产品之一。

3.1概述

可编程逻辑控制器(Programmable Logic Controller,PLC)控制系统是一种数字运算操作的电子系统,专为工业环境应用而设计。它采用一类可编程的存储器,用于其内部存储程序、执行逻辑运算、顺序控制、定时、计数与算术操作等面向用户的指令,并通过数字或模拟式输入/输出控制各种类型的机械或生产过程,是工业控制的核心部分。

3.1.1PLC的产生
1. PLC的产生与发展

传统的控制系统(特别是1969年以前,那时PLC还未出现)中主要元件是各种各样的继电器,它可靠且方便地组成一个简单的继电接触器控制系统。

但随着社会的进步、工业的发展,控制对象越来越多,其逻辑关系也越来越复杂,用继电接触器组成的控制系统就会变得非常复杂庞大,因而造成控制系统的不稳定和造价昂贵。主要表现在以下几方面。

(1) 某个继电器损坏、继电器接点接触不良、导线连接不牢等都会导致设备故障,影响系统的运行,且查找、排除故障困难,系统的可靠性降低。

(2) 大量的继电器元器件须集中安装在控制柜内,因而使设备体积庞大,不宜搬运。虽然继电器本身并不贵,但控制柜内元件的安装和接线工作量极大,造成系统价格偏高。

(3) 继电器接点间存在着大量的连接导线,因而使控制功能单一。尤其是产品需要不断地更新换代,生产设备的控制系统不断地做相应的调整,对庞大的控制系统而言,日常维护已很难,再做调整更难。

(4) 继电器动作时固有的电磁时间使系统的动作速度较慢。

鉴于以上问题,1968年美国通用汽车公司(General Motors)向传统的继电接触器控制系统提出了挑战: 设想是否能用一种新型的控制器,引入这种控制器后可使庞大的控制系统减小,并且能方便地进行修改、调整。按照这个宗旨,该公司对外公开招标,提出如下十大指标。

① 编程简单,可在现场改程序; 

② 维护方便,最好是插件式; 

③ 可靠性高于继电器控制柜; 

④ 体积小于继电器控制柜; 

⑤ 成本低于继电器控制柜; 

⑥ 可将数据直接输入计算机; 

⑦ 输入可以是市电(AC 110V); 

⑧ 控制程序容量≥4KB; 

⑨ 输出可驱动市电2A以下的负荷,能直接驱动电磁阀; 

⑩ 扩展时,原有的系统仅做少许更改即可。

这次招标引起了工业界的密切注视,吸引了不少大公司前来投标,最后DEC公司(美国数字设备公司)一举中标,并于1969年研制成功第一台PLC,当时命名为PC(Programmable Controller)。这台PLC投运到汽车生产线后,取得了极为满意的效果,引发了效仿的热潮,从此PLC技术得以迅猛地发展。随着第一台PLC研制成功,紧接着美国Modicon公司也开发出同名的控制器。1971年,日本从美国引进了这项新技术,很快研制成了日本第一台可编程控制器。1973年,西欧国家也研制出他们的第一台可编程控制器。

我国从1974年也开始研制可编程控制器,1977年开始工业应用。目前已经大量地应用在楼宇自动化、家庭自动化、商业、公用事业、测试设备和农业等领域,并涌现出大批应用可编程控制器的新型设备。掌握可编程控制器的工作原理,具备设计、调试和维护可编程控制器控制系统的能力,已经成为现代工业对电气技术人员和工科学生的基本要求。

【提示】1969年世界上第一台PLC诞生。目的是取代继电器,以执行逻辑判断、计时、计数等顺序控制功能。

2. 定义

严格地讲,至今对PLC并没有最终的定义。

国际电工委员会(IEC)1985年在可编程控制器标准草案(第二稿)中做了如下的定义: “可编程控制器是一种数字运算的电子系统,专为在工业环境条件下应用而设计。它采用可编程的存储器,用来在内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,并通过数字式、模拟式的输入/输出,控制各种类型的机械或生产过程。可编程控制器及其有关设备都应按易于使工业控制系统形成一个整体、易于扩充其功能的原则设计。”

美国电气制造协会(NEMA)1987年做的定义如下: “它是一种带有指令存储器、数字或模拟I/O接口,以位运算为主,能完成逻辑、顺序、定时、计数和算术运算功能,用于控制机器或生产过程的自动控制装置。”

IEC在标准草案中,将这种装置定义为可编程控制器(Programmable Controller,PC),为了避免同个人计算机(Personal Computer,PC)混淆,现在一般将可编程控制器简称为PLC(Programmable Logic Controller)。

3.1.2PLC的功能、特点与分类
1. PLC的主要功能

1) 开关逻辑和顺序控制

这是PLC应用最广泛、最基本的场合。它的主要功能是完成开关逻辑运算和进行顺序逻辑控制。利用PLC最基本的逻辑运算、定时、计数等功能实现逻辑控制,可以取代传统的继电接触器控制,用于单机控制、多机群控制、生产自动线控制等,例如机床、注塑机、印刷机械、装配生产线、电镀流水线及电梯的控制等。

2) 模拟控制(A/D和D/A控制)

在工业生产过程中,许多连续变化的需要进行控制的物理量,如温度、压力、流量、液位等,都属于模拟量。目前大多数PLC产品都具备处理这类模拟量的功能,大部分具有多路模拟量I/O模块和PID控制功能。所以PLC可实现模拟量控制,而且具有PID控制功能的PLC可构成闭环控制,用于过程控制。这一功能已广泛用于锅炉、反应堆、水处理、酿酒以及闭环位置控制和速度控制等方面。

3) 定时/计数控制

PLC具有很强的定时、计数功能,它可以为用户提供数十甚至上百个定时器与计数器。对于定时器,定时间隔可以由用户加以设定; 对于计数器,如果需要对频率较高的信号进行计数,则可以选择高速计数器。PLC的限时控制精度高,定时时间设定方便、灵活。同时,PLC还提供了高精度的时钟脉冲,用于准确的实时控制。

4) 步进控制

PLC为用户提供了一定数量的移位寄存器,用移位寄存器可以方便地完成步进控制功能。有些PLC专门设有步进控制指令,使编程更为方便。此功能在进行顺序控制时非常有效。

5) 运动控制

在机械加工行业,将可编程控制器与计算机数控(Computer Numerical Control,CNC)集成在一起,用以完成机床的运动控制。PLC通过自身的定位模块及其他运动控制器控制步进电机或伺服电机,实现单轴或多轴精确定位。这一功能广泛用于各种机械设备,如对各种机床、装配机械、机器人等进行运动控制。

6) 数据处理

大部分PLC都具有不同程度的数据处理能力,它不仅能进行算术运算、数据传送,而且还能进行数据比较、数据转换、数据排序、数据查表、数据采集、数据分析、数据处理和数据显示打印等操作,有些PLC还可以进行浮点运算和函数运算。同时可通过通信接口将这些数据传送给其他智能装置如CNC设备处理。

7) 通信联网

PLC具有通信联网的功能,它使PLC与PLC之间、PLC与上位计算机以及其他智能设备(变频器、现场测试仪器等)之间能够交换信息,形成一个统一的整体,实现“集中管理、分散控制”的多级分布式控制系统,满足工厂自动化(FA)系统发展的需要。

2. PLC的主要特点

PLC之所以能适应工业环境,并得以迅猛地发展,是因为它具有如下特点。

1) 资源丰富、功能强大、性价比高

可编程控制器有丰富的内部资源,即成百上千个可供用户使用的编程元件,有很强的逻辑判断、数据处理、PID调节和数据通信功能,还可以实现更复杂一些的控制功能。与相同功能的继电接触器控制系统相比,具有很高的性价比。

2) 配套齐全、适应性强、使用方便

PLC发展到今天,已经形成大、中、小各种规模的系列化产品,可以用于各种规模的工业控制场合。除了逻辑处理功能以外,现代PLC大多具有完善的数据运算能力,可用于各种数字控制领域。近年来PLC的功能单元大量涌现,使PLC渗透到位置控制、温度控制、CNC等各种工业控制中。加上PLC通信能力的增强及人机界面技术的发展,使用PLC组成各种控制系统变得非常容易。

3) 设计建造、安装调试工作量少

PLC用存储逻辑代替接线逻辑,大大减少了控制设备外部的接线,使控制系统设计、建造及安装的周期大为缩短,工作量也相应大大减少。

PLC梯形图程序一般采用顺序控制设计法,这种编程方法很有规律,容易掌握。对于复杂的控制系统,梯形图的设计时间比设计继电器系统电路图的时间要少得多。

可编程控制器的用户程序可以在实验室模拟调试,输入信号用小开关来模拟,通过可编程控制器上的发光二极管可观察输出信号的状态。完成了系统的安装和接线后,在现场的统调过程中发现的问题一般通过修改程序就可以解决,系统的调试时间比继电接触器控制系统少得多。

4) 抗扰力强、可靠性高、维修方便

PLC采取了一系列硬件和软件抗干扰措施,具有很强的抗干扰能力,平均无故障时间达到数万小时以上,且有完善的自诊断和显示功能,便于迅速地排除故障,可以直接用于有强烈干扰的工业生产现场,更重要的是使同一设备经过改变程序、改变生产过程成为可能。这非常适合多品种、小批量的生产场合。

5) 体小量轻、能耗较低

PLC采用了集成电路,其结构紧凑、体积小、能耗低,因而是实现机电一体化的理想控制设备。对于复杂的控制系统,使用可编程控制器后,可以减少大量的中间继电器和时间继电器,小型可编程控制器的体积仅相当于几个继电器的大小,因此可将开关柜的体积缩小到原来的1/10~1/2,是机电一体化特有的产品。

6) 编程简单、方法易学

梯形图是使用得最多的PLC编程语言,其符号和表达方式与继电接触器控制电路原理图相似。梯形图语言形象直观,易学易懂,熟悉继电接触器电路图的电气技术人员只要几天时间就可以熟悉梯形图语言,并用来编制用户程序。梯形图语言实际上是一种面向用户的高级语言,PLC在执行梯形图程序时,用解释程序将它“翻译”成汇编语言后再去执行。

3. PLC的分类方式

目前市场上PLC的种类非常多,型号和规格也不统一,充分了解PLC的分类有助于PLC的选型和应用。

1) 按点数和功能分类

为了适应不同工业生产过程的应用要求,可编程控制器能够处理的输入/输出信号数是不一样的。一般将一路信号称为一个点,将输入点数和输出点数的总和称为机器的点数,简称I/O点数。一般讲,点数越多的PLC,功能也越强。按照点数的多少,可将PLC分为超小(微)、小、中、大四种类型。

(1) 超小型机。I/O点数为64点以内,内存容量为256~1000B; 

(2) 小型机。I/O点数为64~256,内存容量为1~3.6KB; 

小型及超小型PLC主要用于小型设备的开关量控制,具有逻辑运算、定时、计数、顺序控制、通信等功能。

(3) 中型机。I/O点数为256~2048,内存容量为3.6~13KB;  

中型PLC除具有小型、超小型PLC的功能外,还增加了数据处理能力,适用于小规模的综合控制系统。

(4) 大型机。I/O点数为2048以上,内存容量为13KB以上; 其中I/O点数超过8192点的为超大型PLC。

在实际应用中,一般PLC功能的强弱与其I/O点数的多少是相互关联的,即PLC的功能越强,其可配置的I/O点数越多。因此,通常所说的小型、中型、大型PLC,除指其I/O点数不同外,同时也表示其对应功能为低档、中档、高档。大型PLC的功能更加完善和强大,多用于大规模过程控制、集散式控制和工厂自动化网络。

2) 按结构形式分类

通常从PLC硬件结构形式上分为整体式结构、模块式结构和紧凑式结构。

(1) 整体式结构。

一般的小型及超小型PLC多为整体式结构,这种可编程控制器是把CPU、RAM、ROM、I/O接口及与编程器或EPROM写入器相连的接口、输入/输出端子、电源、指示灯等都装配在一起的整体装置。它的优点是结构紧凑、体积小、成本低、安装方便; 缺点是主机的I/O点数固定,而且数量不多,使用不灵活。西门子公司的S7200系列PLC就是整体式结构。

(2) 模块式结构。

把PLC系统的各组成部分分成各个独立的模块,使用时把各部分模块组装在一个框架上; 或通过各模块的插口,把各模块依次插接在一起,形成一个完整的PLC系统进行工作。这种结构形式的特点是把PLC的每个工作单元都制成独立的模块,如CPU模块、输入模块、输出模块、电源模块、通信模块等。另外,机器上有一块带有插槽的母板,实质上就是计算机总线。这种结构的特点是系统构成非常灵活,现场适应能力强,安装、扩展、维修都很方便。缺点是体积比较大。西门子公司的S5115U、S7300、S7400系列等就是模块式结构。

(3) 紧凑式结构。

还有一些PLC将整体式和模块式的特点结合起来,构成所谓的紧凑式PLC。紧凑式PLC的CPU、电源、I/O接口等也是各自独立的模块,但它们之间是靠电缆进行连接的,并且各模块可以一层层地叠装。这样,不但系统可以灵活配置,还可做得体积小巧。

3) 按生产厂家分类

PLC的生产厂家很多,国内国外都有,其点数、容量、功能各有差异,但都自成系列,比较有影响的厂家如下。

① 日本三菱(Mitsubishi)公司的F、F1、F2、FX2系列可编程控制器; 

② 日本欧姆龙(Omron)公司的C系列可编程控制器; 

③ 日本松下(Panasonic)电工公司的FP1系列可编程控制器; 

④ 德国西门子(Siemens)公司的S5、S7系列可编程控制器; 

⑤ 美国通用电气(GE)公司的GE系列可编程控制器; 

⑥ 美国艾论布拉德利(AB)公司的PLC5系列可编程控制器; 

⑦ 法国施耐德(Schneider)公司的TM218、TWD、TM2、BMX、M340\258\238系列可编程控制器。

3.1.3PLC的应用状况和发展趋势
1. 应用状况

自从第一台PLC问世以来,经过多年的发展,PLC生产发展成为一个巨大的产业,在工业发达国家(如美、日、德等)已成为重要的产业之一,生产厂家不断涌现,PLC的品种多达几百种。我国的PLC研制、生产和应用也发展很快,尤其在应用方面更为突出。国内应用始于20世纪80年代。一些大中型工程项目引进的成套设备、专用设备和生产流水线上采用了PLC控制系统,使用后取得了明显的经济效益,从而促进了国内PLC的发展和应用。目前国内PLC的应用已取得了许多成功的经验和成果,证明了PLC是大有发展前途的工业控制装置,它与分布式控制系统(Distributed Control System,DCS,在国内自控行业又称之为集散控制系统)、数据采集与监视控制系统(Supervisory Control And Data Acquisition,SCADA)、计算机网络系统相互集成、互相补充而形成的综合系统将得到更加广泛的应用。

我国PLC的生产厂家主要是20世纪80年代涌现出来的,靠技术引进、转让、合资等方式进行生产,目前约有十几家,生产的主要PLC型号见表31所示。

表31我国PLC的生产厂家及生产的PLC型号


生 产 厂 家PLC型号生 产 厂 家PLC型号


天津中环自动化仪表公司DJK84无锡华光电子工业有限公司KCK系列
上海东屋电器有限公司CF系列苏州机床电器厂CYK系列
杭州机床电器厂DKK、D系列上海电力电子设备厂KKIIC
大连组合机床研究所S系列机械部北京自动化所MPC、KB系列
上海国际程控公司E、EM、H系列上海工业自动化研究所TCMS300/D
杭州通灵控制电脑公司HZK系列苏州电子计算机厂YZ系列


此外还有中国科学院自动化所、上海机床电器厂、无锡华光电子公司、四川仪表十五厂、珠海春海电子设备厂、深圳科用开发公司、北京恒达机电技术发展公司、上海香岛斯迈克有限公司、辽宁无线电二厂、厦门AB公司等也生产PLC。

由以上可看出国产PLC的品种大约有20多种,而且主要集中在小型PLC品种上(中型PLC的生产较少,大型的更少),生产和销售规模均不大。目前国产PLC的质量和技术性能与发达国家相比还有较大的差距,远不能满足国内日益增长的市场需要,仍然需要依赖进口,尤其是大中型PLC,更是清一色的国外产品。

目前国内市场流行的PLC多是国外产品,主要厂家如下。

 日本: 欧姆龙、三菱、日立、夏普、松下、东芝、富士、安川、横河、光洋、立石等公司; 

 美国: AB、GM、GE、Square D、西屋、TI仪器、Modicon等公司; 

 德国: 西门子、BBC、AEG等公司; 

 法国: 施耐德、TE(Telemecanique)公司等。

其中,美国的AB、GE、Modicon,德国的西门子,法国的施耐德、TE,日本的三菱、立石在所有PLC制造厂中占有主导地位。这8家公司占有着全世界PLC市场80%以上的份额,系列产品有其技术广度和深度,从售价为100美元左右的微型PLC到有数千个I/O点的大型PLC应有尽有,品种齐全。
而小型PLC方面日本各厂家占领的市场份额最大,其结构形式的优点也较为突出,故其他国家小型PLC的结构形式也都向日本看齐。大、中型PLC市场份额的90%一直被美、日、欧三国占领,具有三足鼎立之势,近年来日本稍有颓势。

2. 发展趋势

从PLC产生到现在,已发展到第四代产品。其过程基本如下。

(1) 第一代PLC(1969—1972年)。大多用一位机开发,用磁芯存储器存储,只具有单一的逻辑控制功能,机种单一,没有形成系列化。

(2) 第二代PLC(1973—1975年)。采用了8位微处理器及半导体存储器,增加了数字运算、传送、比较等功能,能实现模拟量的控制,开始具备自诊断功能,初步形成系列化。

(3) 第三代PLC(1976—1983年)。随着高性能微处理器及位片式CPU在PLC中大量的使用,PLC的处理速度大大提高,从而促使它向多功能及联网通信方向发展,增加了多种特殊功能,如浮点数的运算、三角函数、表处理、脉宽调制输出、自诊断功能及容错技术发展迅速。

(4) 第四代PLC(1983年至今)。不仅全面使用16位、32位高性能微处理器,高性能位片式微处理器,精简指令集计算机(Reduced Instruction Set Computer,RISC)系统CPU等高级CPU,而且在一台PLC中配置多个微处理器,进行多通道处理,同时集成了大量内含微处理器的智能模块,使得第四代PLC产品成为具有逻辑控制功能、过程控制功能、运动控制功能、数据处理功能、联网通信功能的真正名副其实的多功能控制器。

正是由于PLC具有多种功能,并集三电(电控装置、电仪装置、电气传动控制装置)于一体,使得PLC在工厂中备受欢迎,用量高居首位,成为现代工业自动化的三大支柱(PLC、机器人、CAD/CAM)之一。

随着PLC技术的推广、应用,PLC将向两方面发展。一方面向着大型化的方向发展,主要表现在大中型PLC高功能、大容量、智能化、网络化发展,使之能与计算机组成集成控制系统,对大规模、复杂系统进行综合的自动控制。另一方面则向着小型化的方向发展,主要表现在: ①为了减小体积、降低成本,向高性能的整体型发展; ②在提高系统可靠性的基础上,产品的体积越来越小,功能越来越强; ③应用的专业性使得控制质量大大提高。

总之,PLC总的发展趋势是高功能、高速度、高集成度、大容量、小体积、低成本、通信联网功能强。具体发展趋势如下。

1) 结构微型化、模块化、智能化

自1973年微处理机芯片(CPU)问世以来,为计算机应用产品(PLC也属其中之一)微型化创造了条件,一般小型的PLC产品只有32~16开书大小(高度5~10mm)。一般小型PLC整体式的较多,但功能较多的小型机,结构型式大多采用模块式,以便使用户有更多的选择余地,配置成性能比较高的控制系统。

大、中型PLC几乎全部采用模块结构,功能较多的小型PLC也有采用模块式结构的,因为这种结构最大的优点是可让用户按需组合,避免功能资源的浪费,使控制系统的成本最小化,实现性价比最优。另外,为满足各种自动化控制系统的要求,近年来不断开发出许多功能模块,如高速计数模块、温度控制模块、远程I/O模块、通信和人机接口模块等。这些带CPU和存储器的智能I/O模块,既扩展了PLC功能,使用又灵活方便,扩大了PLC应用范围。

模块智能化,就是模块的本身具有CPU,能独立工作,它们与主CPU模块并列运行,紧密结合,有助于克服PLC扫描算法上的局限性,使其在速度、精度、适应性、可靠性等各方面均更胜一筹,实现以前PLC本身无法完成的许多功能。

2) 功能全面化、标准化、系列化

在PLC发展的初期,PLC只具有开关量的I/O、定时、计数、顺序控制等功能,之后又增加了模拟量的I/O、PID调节、信号调制、数字量的I/O、通信、高速计数器等功能模块,现代PLC能完成CNC过程控制、集散控制器柔性制造单元等各种控制系统所能完成的功能。大大加强了数学运算、数据处理图形显示、联网通信等功能,使PLC向信息处理中心 (Information Processing Center,IPC)方向渗透和发展。

功能标准化后,使用同一系列的产品(甚至不同厂家、不同系列的PLC)均能选用同一功能的PLC模块。

一家PLC生产公司往往以统一的设计思想设计其系列产品,在系列产品中,I/O模块和各种功能模块的接口功能是统一的,但有各种规格可任意选择、组合,构成小型、中型或大型(小到几点,大到上万点)规模的控制系统。编程器、软件、指令是兼容的,也有不同规格、型号可选。

3) 大容量化、高性能、高速化

集成电路(Integrated Circuit,IC)及CPU技术的发展为PLC的大容量化、高性能、高速化创造了条件,现代大型PLC存储器容量大到数兆,控制程序达到数万步,梯形图的扫描速度可达0.1ms/kW,速度上比许多DCS(分散型控制系统)快数十倍。

大容量、高性能及高速化的PLC为加工机具的精确定位、机床速度的精确调节、阀门的灵活控制以及PID过程控制等提供了更好的手段。

4) 向超大型、超小型两个方向发展

当前中小型PLC比较多,为了适应市场的多种需要,今后PLC要向多品种方向发展,特别是向超大型和超小型两个方向发展。现有I/O点数达14336点的超大型PLC,其使用32位微处理器、多CPU并行工作和大容量存储器,功能强。

小型PLC由整体结构向小型模块化结构发展,使配置更加灵活,为了市场需要已开发了各种简易、经济的超小型微型PLC,最小配置的I/O点数为8~16点,以适应单机及小型自动控制的需要。

5) 通信化、网络化

加强PLC联网通信的能力是PLC技术进步的潮流。PLC的联网通信有两类: 一类是PLC之间联网通信,各PLC生产厂家都有自己的专有联网手段; 另一类是PLC与计算机之间的联网通信,一般PLC都有专用通信模块与计算机通信。为了加强联网通信能力,PLC生产厂家之间也在协商制订通用的通信标准,以构成更大的网络系统,PLC已成为集散控制系统(DCS)不可缺少的重要组成部分。

现代的PLC大多具有标准通信接口(如RS232C、RS422、RS485、Profibus、以太网等),具有通信联网功能。通过电缆或光纤,信息传送距离可达几十千米,联网后,各控制器形成一个统一的整体,实现集散控制。

6) 编程语言化、多样化

在PLC系统结构不断发展的同时,PLC的编程语言也越来越丰富,功能也不断提高。除了大多数PLC使用的梯形图语言外,为了适应各种控制要求,出现了面向顺序控制的步进编程语言、面向过程控制的流程图语言、与计算机兼容的高级语言(如BASIC、C语言等)等。多种编程语言的并存、互补与发展是PLC进步的一种趋势。

7) 外部故障检测能力

PLC控制系统的故障中,内部故障占20%(其中CPU板占5%,I/O板占15%); 外部故障(非PLC)占80%,其中传感器占45%,执行器占30%,接线占5%。

除了内部故障可通过PLC的软、硬件自动检测以外,其余80%都不能通过自诊断查出,因此,PLC生产厂家都致力于研制、发展用于检测外部故障的专用智能模块,以进一步提高系统的可靠性。所以,检测外部故障的功能是很有价值的发展方向。

3.2硬件结构组成

PLC硬件结构由三个基本部分组成: 输入部分、逻辑处理部分、输出部分。基本结构示意图如图31所示。



图31PLC的基本组成框图


输入部分指各类按钮、行程开关、传感器等接口电路,它收集并保存来自被控对象的各种开关量、模拟量信息和来自操作台的命令信息等。

逻辑处理部分用于处理输入部分取得的信息,按一定的逻辑关系进行运算,并把运算结果以某种形式输出。

输出部分指驱动各种电磁线圈、交/直流接触器、信号指示灯等执行元件的接口电路,它向被控对象提供动作信息。

为了使用方便,PLC还常配套编程器等外部设备,它们可以通过总线或标准接口与PLC连接。如图32所示为PLC系统的原理框图。



图32PLC系统的原理框图


世界上生产PLC的厂家有200多家,PLC产品类型400多种,不同厂家、同一厂家不同型号的PLC的硬件电路是不同的; 由于采用的CPU不同,使用的汇编语言也不同。但不管什么样的硬件电路及汇编语言,它都不直接面向PLC的使用者,直接面向PLC使用者的是PLC生产厂家开发的指令系统、供用户使用的元器件(寄存器或存储器)和设置的I/O接口。

而且,不同厂家、同一厂家不同型号的PLC指令系统的指令符号、指令内容、指令条数也不同; 关于软器件和I/O接口的相应规定也不一样。虽然PLC方方面面都有很多不同,但是这种装置都称为可编程控制器,它们在基本内涵上一定大同小异。下面就各种PLC具有共同性的方面,并站在PLC的指令系统这一层面上讨论PLC的组成和各部分的功能。

1. 中央处理单元CPU

CPU是中央处理单元,一般由控制器、运算器和寄存器组成,是PLC的核心部件之一,是PLC的控制中心和运算中心,同一般计算机CPU一样,从存储器中读取指令、执行指令,通过数据总线传送数据,通过控制总线传送控制命令。

小型PLC的CPU多采用单片机或专用CPU; 中型PLC的CPU大多采用16位微处理器或单片机; 大型PLC的CPU多用高速位片式处理器,具有高速处理能力。

PLC有自己的指令系统,也必有处理这个指令系统和有关操作的系统程序,包括监控程序、编译程序及诊断程序等。CPU在系统程序的配合下,完成以下几方面工作。

(1) 接收并存储用户程序和数据。

(2) 诊断电源、PLC内部电路工作状态和编程过程中的语法错误。

(3) 从程序存储器中逐条读取用户程序,经编译程序解释后转化为相应的机器码,按机器码产生相应的控制信号完成用户程序规定的运算任务和控制任务。

(4) 主要用扫描方式,也可用中断方式,通过输入接口接收现场的设备状态或数据信息,并存入输入映像寄存器或数据寄存器中。

(5) 根据执行的结果,更新有关标志位的状态和输出映像寄存器的内容,按要求输出相应的运算结果和控制信号。有些PLC还具有制表打印、显示或数据通信等功能。

2. 存储器

存储器有ROM和RAM两种,用来保存程序和数据。只读存储器(ROM)在使用过程中只能取出不能存储,而随机存取存储器(RAM)在使用过程中能随时取出和存储。

1) 系统程序存储器

系统程序是系统的监控管理、故障检测、指令解释程序,它不需要用户干预,由厂家直接固化到EPROM中。

2) 用户程序存储器

用来存放用户程序。用户编好程序后,先输入到PLC中带有后备电源的RAM中,经调试修改后,可以固化到EPROM、E2PROM中长期使用。

3) 数据存储器

数据存储器用来存放I/O状态、中间开关量状态,以及定时器、计数器的设定值、现在值和各种运算的源数据、结果数据和状态标志位等。采用带后备电源的RAM。

3. 输入/输出接口部分

输入/输出单元通常也称I/O单元或I/O模块,是PLC与工业生产现场之间的连接部件。PLC通过输入接口可以检测被控对象的各种数据,以这些数据作为PLC对被控制对象进行控制的依据; 同时PLC又通过输出接口将处理结果送给被控制对象,以实现控制目的。

I/O接口是CPU与保证CPU正常工作的外部设备进行联系的接口。这些外部设备是用来协助PLC完成控制任务的,也是PLC控制系统的组成部分。外部设备有一些是PLC必备的,另外一些是扩展PLC功能的。这些外部设备通过一个或多个外设用I/O接口与PLC的CPU进行联系或通信。通过外设用I/O接口还可以实现PLC之间、PLC与上位机之间的通信。

由于外部输入设备和输出设备所需的信号电平是多种多样的,而PLC内部CPU处理的信息只能是标准电平,所以I/O接口要实现这种转换。I/O接口一般都具有光电隔离和滤波功能,以提高PLC的抗干扰能力。另外,I/O接口上通常还有状态指示,工作状况直观,便于维护。

PLC提供了多种操作电平和驱动能力的I/O接口,有各种各样功能的I/O接口供用户选用。I/O接口的主要类型有数字量(开关量)输入、数字量(开关量)输出、模拟量输入、模拟量输出等。

常用的开关量输入接口按其使用的电源不同有三种类型: 直流输入接口、交流输入接口和交/直流输入接口,其基本原理电路如图33所示。



图33开关量输入接口


按输出开关器件不同常用的开关量输出接口有三种类型: 继电器输出、晶体管输出和双向晶闸管输出,其基本原理电路如图34所示。继电器输出接口可驱动交流或直流负载,但其响应时间长,动作频率低; 而晶体管输出和双向晶闸管输出接口的响应速度快,动作频率高。但前者只能用于驱动直流负载,后者只能用于驱动交流负载。

PLC的I/O接口所能接受的输入信号个数和输出信号个数称为PLC输入/输出(I/O)点数。I/O点数是选择PLC的重要依据之一。当系统的I/O点数不够时,可通过PLC的I/O扩展接口对系统进行扩展。

PLC的I/O部分因用户的需求不同有各种不同的组合方式,通常以模块的形式供应,一般可分为开关量I/O模块、模拟量I/O模块、数字量I/O模块(包括TTL电平I/O模块、拨码开关输入模块、LED/LCD/CRT显示控制模块、打印机控制模块)、高速计数模块、精确定时模块、快速响应模块、中断控制模块、PID模块、位置控制模块、轴向定位模块及通信模块。



图34开关量输出接口


1) 开关量I/O模块

开关量输入模块的作用是接收现场设备的状态信号、控制命令等,如限位开关、操作按钮等,并且将此开关量信号转换成CPU能接收和处理的数字量信号。

开关量输出模块的作用是将经过CPU处理过的结果转换成开关量信号送到被控设备的控制回路去,以驱动阀门执行器、电动机的起动器和灯光显示等设备。

开关量I/O模块的信号仅有通、断两种状态,各I/O点的通/断状态用发光二极管在面板上显示。输入电压等级通常有DC(5V、12V、24V、48V)或AC(24V、120V、220V)等。

每个模块可能有4、8、12、16、24、32、64点,外部引线连接在模块面板的接线端子上,有些模块使用插座型端子板,在不拆去外部连线的情况下,可迅速地更换模块,便于安装、检修。

(1) 开关量输入模块。

按与外部接线对电源的要求不同,开关量输入模块可分为AC输入、DC输入、无压接点输入、AC/DC输入等几种形式,见图35。每个输入点均有滤波网络、LED显示器、光电隔离管。

从图35(c)中可以看出,无压接点输入是开关触点直接接在公共点和输入端,不另外接电源,电源由内部电路提供(公共点有、之分,图35(c)中为)。



图35开关量输入模块的几种形式


输入模块的主要技术指标如下。

① 输入电压: 指PLC外接电源的电压值。

② 输入点数: 指输入模块开关量输入的个数。

③ AC频率: 指输入电压的工作频率,一般为50~60Hz。

④ 输入电流: 指开关闭合时,流入模块内的电流。一般为5~10mA。

⑤ 输入阻抗: 指输入电路的等效阻抗。

⑥ ON电压: 指逻辑1之电压值,开关接通时为1。

⑦ OFF电压: 指逻辑0之电压值,开关断开时为0。




图36开关量输出模块形式


⑧ OFF→ON的响应时间: 指开关由断到通时,导致内部逻辑电路由0到1的变化时间。

⑨ ON→OFF的响应时间: 指开关由通到断时,导致内部逻辑电路由1到0的变化时间。

⑩ 内部功耗: 指整个模块所消耗的最大功率。

(2) 开关量输出模块。

开关量输出通常有3种形式: 继电器输出、晶体管输出和可控硅输出。

每个输出点均有LED发光管、隔离元件(光电管/继电器)、功率驱动元件和输出保护电路,如图36所示。

图36(a)为继电器输出电路,继电器同时起隔离和功放的作用; 与触点并联的电阻、电容和压敏电阻在触点断开时起消弧作用。

图36(b)为晶体管输出电路,大功率晶体管的饱和导通/截止相当于触点的通/断; 稳压管用来抑制过电压,起保护晶体管作用。

图36(c)为SSR/可控硅输出电路,光电可控硅,起隔离、功放作用; 电阻、电容和压敏电阻用来抑制SSR关断时产生的过电压和外部浪涌电流。

输出模块最大通断电流的能力大小依次为继电器、可控硅、晶体管,而通断响应时间的快慢则刚好相反。使用时应据以上特性选择不同的输出形式。

【提示】PLC输入/输出接口一般都带光电隔离器及滤波器。光电隔离器的作用是: ①实现现场与PLC主机的电气隔离,以提高抗干扰性; ②避免外部强电侵入主机而损坏主机; ③电平变换,将现场各种开关信号变换成PLC主机要求的标准逻辑电平。

输出模块的主要技术指标如下。

① 工作电压: 指输出触点所能承受的外部负载电压。

② 最大通断能力: 指输出触点在一定的电压下能通过的最大电流,一般给出的电压等级有AC 120V、AC 220V、AC/DC 24V。

③ 漏电流: 指当输出点断开时(逻辑0)触点所流过的最大电流。此参数主要针对晶体管、可控硅型输出模块,无保护电路的继电器输出模块漏电流为0,有保护电路的继电器输出模块为1~2mA。

④ 接通压降: 指当输出点接通时(逻辑1)触点两端的压降。

⑤ 回路数: 等于公共点的个数。对于独立式模块,等于输出点数。

⑥ OFF→ON响应时间: 同输入模块。

⑦ ON→OFF响应时间: 同输入模块。

⑧ 内部功耗: 同输入模块。

输出模块按外部接线方式如下。

① 汇点式: 输出有一个公共点,各输出点属同一个回路,共用一个电源。

② 独立式: 输出无公共点,各输出点回路不同,可以使用不同电压等级的电源,如图37所示。



图37开关量输出模块接线方式


2) 模拟量I/O模块

模拟量I/O模块常用的有A/D、D/A、热电偶/热电阻输入等几种模块。A/D模块是将传感器测量的电流或电压信号转换成数字量给PLC的CPU处理; D/A模块是将CPU处理得到的数字量转变为电流或电压信号; 热电偶/热电阻输入模块可以直接连接热电偶/热电阻等测温传感器,外部不需要放大电路和线性化电路,能自动进行冷端补偿和调零,并且具有开路检查、输入越限报警功能,内部有A/D电路。

模拟量I/O模块的量程一般是IEC标准信号(0~5V、1~5V、0~10V、10mA、4~20mA等),也有双极性信号(如±50mV、±5V、±10V、±10mV、±20mA等)。A/D、D/A的转换位数通常为8、10、12、16位,并且在数字量I/O处用光电管将PLC的内部核心电路与外围接口电路隔离。

3) 数字量I/O模块

常用的有TTL电平I/O模块、拨码开关输入模块、LED/LCD/CRT显示控制模块、打印机控制模块等。

TTL电平I/O模块将外围设备输入的TTL电平数据进行处理,或将处理的结果以TTL电平形式输出给外围设备进行控制、执行。

拨码开关输入模块是TTL电平输入、专用于BCD拨码开关的输入模块,用来输入若干组拨码开关的BCD码,有若干个输入地址选择信号输出,某位(十进制)选择信号有效时,读入相应位的BCD码信息。

LED/LCD/CRT显示控制模块是TTL电平输出,专用于LED/LCD/CRT等显示设备的输入模块,有相应的控制信号输入/输出,能直接驱动LED数码管、液晶显示器、CRT显示器等。

打印机控制模块是专用于通用打印机的接口模块,是TTL电平的并行接口,除并行输出的数据信息外,还有相应的I/O控制信号(有的PLC采用串行接口或编程器上的接口与打印机连接)。

4) 高速计数模块

高速计数模块是工控中最常用的智能模块之一,过程控制中有些脉冲变量(如旋转编码器、数字码盘、电子开关等输出的信号)的变化速度很高(可达几十千赫兹、几兆赫兹),已小于PLC的扫描周期,对这类脉冲信号若用程序中的计数器计数,因受扫描周期的限制,会丢失部分脉冲信号。因此使用智能的高速计数模块,可使计数过程脱离PLC而独立工作,这一过程与PLC的扫描过程无关,可准确计数。PLC可通过程序对它设定计数预置值,并可控制计数过程的起、停。计数器的当前值等于、大于预置值时,均有开关量输出给PLC,PLC得到此信号后便可进行相应的控制。

5) 精确定时模块

精确定时模块是智能模块,能脱离PLC进行精确的定时,定时时间到后会给出信号让PLC检测。例如,OMRON的模拟定时单元C200HTM001提供4个精确定时器,可通过DIP开关设定成0.1~1s、1~10s、10~60s、1~10ms,定时值可通过内/外可调电阻进行设定。

6) 快速响应模块

PLC的输入/输出量之间存在因扫描工作方式而引起的延迟,最大延迟时间可达2个扫描周期,这使PLC对很窄的输入脉冲难以监控。快速响应模块则可检测到窄脉冲,它的输出与PLC的扫描工作无关,由输入信号直接控制,同时它的输出还受用户程序的控制。

7) 中断控制模块

中断控制模块适用于要求快速响应的控制系统,接收到中断信号后,暂停正在运行的PLC用户程序,运行相应的中断子程序,执行完后再返回继续运行用户程序。

8) PID调节模块

过程控制常采用PID控制方式,PID调节模块是一种智能模块,它可脱离PLC独立执行PID调节功能,实际上可看成一台或多台PID调节器,参数可调。

通常的输入信号种类是: ①直流电压(0~10V/1~5V); ②直流电流(0~10mA/4~20mA); ③热电偶/热电阻; ④脉冲/频率以及有控制作用的开关量I/O。

9) 位置控制模块

位置控制模块是用来控制物体位置、速度、加速度的智能模块,可以控制直线运动(单轴)、平面运动(双轴),甚至更复杂的运动(多轴)。

位置控制一般采用闭环控制,常用的驱动装置是伺服电机或步进电机,模块从参数传感器得到当前物体所处的位置、速度/加速度,并与设定值进行比较,比较的结果再用来控制驱动装置,使物体快进、慢进、快退、慢退、加速、减速和停止等,实现定位控制。

10) 轴向定位模块

轴向定位模块是一种能准确地检测出高速旋转转轴的角度位置,并根据不同的角度位置控制开关ON/OFF(可以多个开关)的智能模块。

例如,日本三菱公司的F232RM型凸轮控制器,可准确检测出720°/转角位置信号,同时控制32个开关ON/OFF。允许最高转速是: 1°方式时为830r/min,0.5°方式时为415r/min。

它实质上很像一种机械凸轮,共有32个凸轮盘,每轮可多至360齿。

11) 通信模块

通信模块大多是带CPU的智能模块,用来实现PLC与上位机、下位机或同级的其他智能控制设备通信,常用通信接口标准有RS232C、RS422、RS485、Profibus、以太网等。

4. 编程装置

编程装置用来生成用户程序,并对它进行编辑、检查和修改,它还可用来监视PLC的运行情况。手持式编程器不能直接输入和编辑梯形图,只能输入和编辑指令表程序,因此又叫作指令编程器。它的体积小,价格便宜,一般用来给小型可编程控制器编程,或者用于现场调试和维修。

使用编程软件可以在屏幕上直接生成和编辑梯形图、指令表、功能块图和顺序功能图程序,并可以实现不同编程语言的相互转换。程序被编译后下载到可编程控制器,也可以将可编程控制器中的程序上传到计算机。程序可以存盘或打印,通过网络还可以实现远程编程和传送。

可以用编程软件设置可编程控制器的各种参数。通过通信,可以显示梯形图中触点和线圈的通断情况,以及运行时可编程控制器内部的各种参数,对于查找故障非常有用。

PLC投入正常运行后,通常不要编程装置一起投入运行,因此,编程器都是独立设计的,而且是专用的,PLC生产厂家提供的专用编程器只能用在自己生产的某些型号的PLC。专用编程器分为简易编程器和图形编程器。

给S7200编程时,应配备一台安装有STEP7Micro/WIN32或STEP7Micro/WIN v4.0 SP4编程软件的计算机和一根连接计算机与可编程控制器的PC/PPI通信电缆。

1) 简易编程器

它类似于计算器,上面有命令键、数字键、功能键及LED显示器/LCD显示屏。使用时可直接插在PLC的编程器插座上,也可用电缆与PLC相连。调试完毕后,取下或将它安在PLC上一起投入运行。用简易的编程器输入程序时,先将梯形图程序转换为指令表程序,再用键盘将指令程序打入PLC。

2) 图形编程器

常用的图形编程器是液晶显示图形编程器(手持式的),它有一个大型的点阵式液晶显示屏。除具有简易型的功能外,还可以直接打入和编辑梯形图程序,使用起来更方便、直观。但它的价格较高,操作也较复杂。也可用CRT作显示器的台式图形编程器,它实质是一台专用计算机,功能更强,使用更方便,但价格也十分昂贵。

3) 用专用编程软件在个人计算机(PC)上实现编程功能

随着PC的日益普及,新的发展趋势是使用专用的编程软件,在通用的PC上实现图形编程器的功能。这一编程方法的最大特点是: 充分利用PC的软、硬件资源(如硬盘、打印及各种功能软件),大大降低了编程器的成本,同时也大大增强了编程器的功能,使用十分方便。一般的PC添置一套专用的“编程软件”后就可进行编制、修改PLC的梯形图程序,存储、打印程序文件(程序清单),与PLC联机调试及系统仿真等。并且用户程序可在PC、PLC之间互传。具有以上功能后,PLC的程序(特别是大型程序)编程、调试十分方便和轻松。

5. 电源

电源是PLC最重要的部分之一,是正常工作的首要条件。当电网有强烈波动,遭强干扰时,输出电压要保持平稳。因此在PLC的电源中要加入许多稳压抗扰措施,如浪涌吸收器、隔离变压器、开关电源技术等。

电源用来提供PLC正常工作的各种电压。PLC的外接功率电源是220V/110V电压的交流电源,有的PLC的电源电压的适用范围可达85~264V。交流电源接入PLC内部后,经整流、滤波、稳压产生几种规格的直流电压供PLC内部器件工作用。电源电压的平稳可靠是PLC正常工作的首要条件。因此PLC的电源技术中采用了很多稳压、抗干扰措施。

有的PLC还可以向外部提供一定功率的直流24V电压,提供给PLC I/O接口使用,或提供给适量的负载使用。

为了保证RAM芯片在PLC断电后仍保持数据,PLC内部装有干电池或锂电池作后备电源。这样的电池两年左右要更换一次。有的PLC存储器不用RAM,而使用E2PROM,E2PROM可以不用后备电池。

3.3软件组成

1. PLC的软件组成

PLC的软件系统是指PLC使用的各种程序的集合,由系统程序和用户程序组成。

1) 系统程序

系统程序又称为系统软件,一般由PLC采用的微处理器相应的汇编语言编写,由厂家提供,固化在EPROM中。它包括PLC整个系统及各部分的管理程序、监控程序、系统故障检测程序或故障诊断程序、PLC指令系统的解释程序。系统程序一般不能也不需要用户直接读写与更改。

2) 用户程序

PLC的用户程序是用户利用PLC的编程语言,根据控制要求编制的程序。编制用户程序,使用的不是原来的汇编语言,而是PLC的指令系统,这是由原来的汇编语言开发出来的PLC的程序语言。用户程序由用户使用专用编程器或通用微机输入PLC内存中。由于PLC是专门为工业控制而开发的装置,其主要使用者是广大电气技术人员,为了满足他们的传统习惯和掌握能力,PLC的主要编程语言采用比计算机语言相对简单、易懂、形象的专用语言。

2.  PLC的编程语言

PLC编程语言是多种多样的,对于不同生产厂家、不同系列的PLC产品,采用的编程语言的表达方式也不相同,但基本上可归纳两种类型: 一是采用字符表达方式的编程语言,如语句表语言; 二是采用图形符号表达方式编程语言,如梯形图语言。

以下简要介绍几种常见的PLC编程语言。

1) 梯形图语言

梯形图语言(LAD)是在传统电器控制系统中常用的接触器、继电器等图形表达符号的基础上演变而来的。它与电器控制线路图相似,继承了传统电器控制逻辑中使用的框架结构、逻辑运算方式和输入/输出形式,具有形象、直观、实用的特点。因此,这种编程语言为广大电气技术人员所熟知,是应用最广泛的PLC的编程语言,是PLC的第一编程语言。如图38所示是PLC梯形图(以S7200系列PLC为例)。

从图38中可看出,PLC梯形图与传统电器控制图表示思想是一致的,具体表达方式有一定区别。PLC的梯形图使用的是内部继电器、定时/计数器等,它们都是由软件来实现的,使用方便,修改灵活,是继电接触器控制线路硬接线无法比拟的。

2) 语句表语言(STL)

LDI0.0

OQ0.0

ANI0.1

=Q0.0

这种编程语言是一种与汇编语言类似的助记符编程表达方式。在PLC应用中,经常采用简易编程器,而这种编程器中没有CRT屏幕显示,或没有较大的液晶屏幕显示。因此,就用一系列PLC操作命令组成的语句表将梯形图描述出来,再通过简易编程器输入PLC中。虽然各个PLC生产厂家的语句表形式不尽相同,但基本功能相差无几。图39是与图38中的梯形图对应的(S7200系列PLC)语句表程序。




图38PLC的梯形图




图39PLC的语句表



助记符是用若干容易记忆的字符来代表PLC的某种操作功能。各PLC生产厂家使用的助记符不尽相同。

【提示】梯形图: 用于设计复杂的开关量控制程序。指令表: 处理某些不能用梯形图解决的问题,如数学运算、通信设计等。梯形图编程的程序能转换成指令表,但指令表编程的程序不一定能转换成梯形图。

3) 功能块图

功能块图(FBD)是一种建立在布尔表达式之上的图形语言。实质上是一种将逻辑表达式用类似于“与”“或”“非”等逻辑电路结构图表达出来的图形编程语言。

这种编程语言及专用编程器也只有少量PLC机型采用。例如西门子公司的S5系列PLC采用STEP编程语言,它就有功能块图编程法。

4) 功能表图

功能表图(SFC)是一种较新的编程方法,又称状态转移图语言。它将一个完整的控制过程分为若干阶段,各阶段具有不同的动作,阶段间有一定的转换条件,转换条件满足就实现阶段转移,上一阶段动作结束,
下一阶段动作开始。用功能表图的方式来表达一个控制过程,对于顺序控制系统特别适用。

5) 高级语言

随着PLC技术的发展,为了增强PLC的运算、数据处理及通信等功能,以上编程语言无法很好地满足要求。近年来推出的PLC,尤其是大型PLC,都可用高级语言(如BASIC语言、C语言、PASCAL语言等)进行编程。采用高级语言后,用户可以像使用普通微型计算机一样操作PLC,使PLC的各种功能得到更好的发挥。

3.4PLC的工作原理与技术指标

与其他计算机系统一样,PLC的CPU以分时操作方式处理各项任务,程序要按指令逐条执行,PLC的输入、输出就有时差。整个PLC的程序执行时间有多长?输入/输出的响应时间有多久?要很好地应用PLC,就必须对这些有清楚的认识。

PLC采用周期循环扫描的工作方式,CPU连续执行用户程序和任务的循环序列称为扫描。CPU对用户程序的执行过程是CPU的循环扫描,并用周期性地集中采样、集中输出的方式来完成。

1. PLC的工作过程

(1) 内部处理: CPU对PLC内部的硬件做故障检查、复位WDT等。

(2) 通信服务: 与外围设备、编程器、网络设备等进行通信。

(3) 输入刷新: 将接在输入端子上的传感器、开关、按钮等输入元件状态读入,并保存在输入状态表 (I/O映像存储器)中,

给本扫描周期用户程序运行时提供最新的输入信号。


图310PLC工作流程图



(4) 执行用户程序: CPU逐条解释并执行用户程序。根据I/O状态表(属数据表状态存储器)中的ON/OFF信息,按用户程序给定的逻辑关系运算,将运算结果写入I/O状态表。

【提示】“I/O状态表”这个概念,用户程序中的部分输入、输出“元件”指的就是它,但它当前的状态值和与它对应I/O端子上的元件之状态不一定相同。

(5) 输出刷新: 将输出状态表中的内容输出到接口电路,以驱动输出端子上的输出元件,实现控制。输出状态表中的内容是本次扫描周期用户程序运行的结果。

图310为一般PLC的工作流程框图。

2. 扫描周期的计算方法


扫描周期的长短,对PLC系统的性能有一定的影响,例如,较长的扫描时间对I/O响应时间和系统运行的精确性均会产生不利的影响,如表32所示。

扫描周期(T)的计算公式: 

扫描周期(T)=内部处理时间+通信服务时间+输入刷新时间

+用户程序执行时间+输出刷新时间

其中,

(1) 内部处理时间: 时间固定(例如OMRON C200H的内部处理时间为2.6ms)。

表32PLC扫描时间对内部功能的影响


扫描时间/ms产生的不利影响


<10内部0.01s时钟脉冲不起作用
<100内部0.1s时钟脉冲不起作用
<200内部0.2s时钟脉冲不起作用
<6500超过WDT定时值,迫使CPU停机


(2) 通信服务时间: 若系统安装了外设、网络通信等模块,则有固定的时间(例如,OMRON C200H为0.8ms(min)、8ms(max)),否则为0。

(3) 输入刷新时间: 将接在输入端子上元件的状态读入,并保存在输入状态表中所耗费的时间(例如,OMRON C200H输入0.07ms/8点,三菱FX2N输入50μs/8点)。

(4) 用户程序执行时间: 取决于程序的长度和指令的种类,一般PLC均提供各指令的执行时间表(例如OMRON C200H LD、OUT指令,其执行时间分别为0.75μs、1.13μs; 三菱FX2N基本指令0.08μs/条,应用指令每条1.52μs至数百微秒)。

(5) 输出刷新时间: 将输出状态表中的内容输出到接口电路中所耗费的时间(例如,OMRON C200H输出0.04ms/8点)。

【提示】扫描周期(T) =自检时间+读入一点时间×输入点数+程序步数×运算速度+输出一点时间×输出点数。其中,自检时间=内部处理时间+通信服务时间; 读入一点时间×输入点数=输入刷新时间; 程序步数×运算速度=用户程序时间; 输出一点时间×输出点数=输出刷新时间。

【例31】C200H PLC配置: 4个8点输入模块+2个16点输入模块、5个8点输出模块+2个16点输出模块、程序5KB个地址(且仅使用LD、OUT指令,其执行时间分别为0.75μs、1.13μs)。

解: 当编程器要在上面运行时

T=2.6+0.8+(0.75+1.13)/2×5.120+0.07×8+0.04×9=9.1ms


没有外设

T=2.6+(0.75+1.13)/2×5.120+0.07×8+0.04×9=8.3ms




图311PLC控制的输入/输出工作过程示意图(例32题图)


【例32】如图311所示,这是一个非常简单的PLC程序,外部输入开关I0.1通过I0.1存储器控制辅助继电器M0.1线圈,M0.1线圈通过M0.1的触点控制输出继电器Q0.1、Q0.2的线圈,Q0.1、Q0.2输出继电器控制输出开关Q0.1、Q0.2,再控制接在Q0.1、Q0.2点上外部执行器件的通电、断电。假设I0.1开关在第一个扫描周期输入刷新阶段后闭合。试列表分析什么时候Q0.1、Q0.2输出开关跟着闭合。表33中Ⅰ表示输入采样阶段,Ⅱ表示程序执行阶段,Ⅲ表示输出刷新阶段。

表33PLC控制工作表(例32题表)


元件、存储器
扫描周期一扫描周期二扫描周期三
Ⅰ Ⅱ Ⅲ Ⅰ Ⅱ Ⅲ Ⅰ Ⅱ Ⅲ 


外部I0.1开关011111111
I0.1触点000111111
M0.1线圈000011111
M0.1触点(上)000000011
M0.1触点(下)000011111
Q0.1线圈000000011
Q0.2线圈000011111
Q0.1输出开关及外部输出负载000000001
Q0.2输出开关及外部输出负载000001111


【例33】比较图312中两个梯形图程序,根据PLC的工作原理分析执行结果的异同。



图312PLC的梯形图(例33题图)


 分析:  这两段程序只是交换了前后顺序,但是执行结果却完全不同了。

图312(a)程序中的Q0.1在程序中永远不会有输出。图312 (b)程序中的Q0.1当I0.1接通时就能有输出。

这个例子说明: 同样的若干条梯形图,其排列顺序不同,执行的结果也不同。若顺序扫描,则在梯形图程序中,PLC执行最后面的结果。

3. PLC的主要技术指标

1) I/O点数

可编程控制器的I/O点数指外部输入、输出端子数量的总和。评价PLC时一般常说,这个型号的PLC多少点。点数是描述PLC大小的一个重要的参数。

2) 存储容量

PLC的存储器由系统程序存储器、用户程序存储器和数据存储器三部分组成。PLC存储容量通常指用户程序存储器和数据存储器容量之和,表征系统提供给用户的可用资源,是系统性能的一项重要技术指标。


3) 扫描速度

可编程控制器采用循环扫描方式工作,完成一次扫描所需的时间称为扫描周期。影响扫描速度的主要因素有用户程序的长度和PLC产品的类型。PLC中CPU的类型、机器字长等直接影响PLC的运算精度和运行速度。

4) 指令系统

指令系统是指PLC所有指令的总和。可编程控制器的编程指令越多,软件功能就越强,但掌握应用也相对较复杂。用户应根据实际控制要求选择合适指令功能的可编程控制器。

5) 通信功能

通信有PLC之间的通信和PLC与其他设备之间的通信。通信主要涉及通信模块、通信接口、通信协议和通信指令等内容。PLC的组网和通信能力已成为PLC产品水平的重要衡量指标之一。

3.5西门子S7200系列可编程控制器介绍

德国的西门子公司是世界上著名的、欧洲最大的电气设备制造商,是世界上研制、开发PLC较早的少数几个公司之一,欧洲第一台PLC就是西门子公司于1973年研制成功的。1975年推出SIMATIC S3系列PLC,1979年推出SC S5系列PLC,20世纪末推出了SC S7系列PLC。

西门子公司的PLC在我国应用十分普遍,尤其是大、中型PLC,由于其可靠性高,在自动化控制领域中久负盛名。西门子公司的小型和微型PLC,其功能也是相当强的。

西门子S7系列PLC分为S7400、S7300、S7200三个系列,分别为S7系列的大、中、小型PLC系统。S7200系列PLC有CPU21X系列、CPU22X系列。

3.5.1S7200系列PLC概述

西门子S7系列PLC CPU22X型PLC提供了5种不同的基本型号,常见的有CPU221、CPU222、CPU224、CPU226和CPU226XM。

小型PLC中,CPU221价格低廉,能满足多种集成功能的需要。CPU222是S7200家族中低成本的单元,通过可连接的扩展模块即可处理模拟量。CPU224具有更多的I/O点数及更大的存储器。CPU226和CPU226XM是功能最强的单元,可完全满足一些中小型复杂控制系统的要求。4种型号的PLC具有下列特点。

(1) 集成的24V电源。可直接连接到传感器和变送器执行器,CPU221和CPU222具有180mA输出。CPU224输出280mA,CPU226、CPU226XM输出400mA,可用作负载电源。

(2) 高速脉冲输出。具有2路高速脉冲输出端,输出脉冲频率可达20kHz,可用于控制步进电机或伺服电机,实现定位任务。

(3) 通信口。CPU221、CPU222和CPU224具有一个RS485通信口。CPU226、CPU226XM具有2个RS485通信口。支持PPI、MPI通信协议,有自由口通信能力。


(4) 模拟电位器。CPU221/222有一个模拟电位器,CPU224/226/226XM有2个模拟电位器。模拟电位器用来改变特殊寄存器(SMB28、SMB29)中的数值,以改变程序运行时的参数。如定时器、计数器的预置值,过程量的控制参数。

(5) 中断输入允许以极快的速度对过程信号的上升沿做出响应。

(6) E2PROM存储器模块(选件)。可作为修改与复制程序的快速工具,不需要编程器就可进行辅助软件归档工作。

(7) 电池模块。用户数据(如标志位状态、数据块、定时器、计数器)可通过内部的超级电容存储大约5天。选用电池模块能延长存储时间到200天(10年寿命)。电池模块插在存储器模块的卡槽中。

(8) 不同的设备类型。CPU221~226各有两种类型CPU,具有不同的电源电压和控制电压。

(9) 数字量输入/输出点。CPU221具有6个输入点和4个输出点; CPU222具有8个输入点和6个输出点; CPU224具有14个输入点和10个输出点; CPU226/226XM具有24个输入点和16个输出点; CPU22X主机的输入点为24V直流双向光电耦合输入电路,输出有继电器和直流(MOS型)两种类型。

(10) 高速计数器。CPU221/222有4个30kHz高速计数器,CPU224/226/226XM有6个30kHz的高速计数器,用于捕捉比CPU扫描频率更快的脉冲信号。

3.5.2S7200系列CPU224型PLC的结构
1. CPU224型PLC外形及端子介绍

1)  CPU224型PLC外形

CPU224型PLC外形如图313所示,其输入、输出、CPU、电源模块均装设在一个基本单元的机壳内,是典型的整体式结构。当系统需要扩展时,选用需要的扩展模块与基本单元连接。底部端子盖下是输入量的接线端子和为传感器提供24V直流的电源端子。



图313CPU 224型PLC外形


基本单元前盖下有工作模式选择开关、电位器和扩展I/O连接器,通过扁平电缆可以连接扩展I/O模块。西门子整体式PLC配有许多扩展模块,如数字量的I/O扩展模块、模拟量的I/O扩展模块、热电偶模块、通信模块等,用户可以根据需要选用,让PLC的功能更强大。

2)  CPU224型PLC端子介绍

(1) 基本输入端子。

CPU224的主机共有14个输入点(I0.0~I0.7、I1.0~I1.5)和10个输出点(Q0.0~Q0.7,Q1.0~Q1.1),在编写端子代码时采用八进制,没有0.8和0.9。CPU224输入电路见图314,它采用了双向光电耦合器,24V直流极性可任意选择,系统设置1M为输入端子(I0.0~I0.7)的公共端,2M为(I1.0~I1.5)输入端子的公共端。



图314PLC输入端子


(2) 基本输出端子。

CPU224的10个输出端子见图315,Q0.0~Q0.4共用1M和1L公共端,Q0.5~Q1.1共用2M和2L公共端,在公共端上需要用户连接适当的电源,为PLC的负载服务。



图315PLC晶体管输出端子


CPU224的输出电路有晶体管输出和继电器输出电路两种供用户选用。在晶体管输出电路(型号为6ES7 2141AD210XB0)中,PLC由24V直流供电,负载采用了MOSFET功率驱动器件,所以只能用直流为负载供电。输出端将数字量输出分为两组,每组有一个公共端,共有1L、2L两个公共端,可接入不同电压等级的负载电源。在继电器输出电路(型号为6ES7 2121BB210XB0)中,PLC由220V交流电源供电,负载采用了继电器驱动,所以既可以选用直流为负载供电,也可以采用交流为负载供电。在继电器输出电路中,数字量输出分为三组,每组的公共端为本组的电源供给端,Q0.0~Q0.3共用1L,Q0.4~Q0.6共用2L,Q0.7~Q1.1共用3L,各组之间可接入不同电压等级、不同电压性质的负载电源,如图316所示。



图316继电器输出形式PLC输出端子



【提示】输入/输出单元都带光电隔离电路。作用: ①实现现场与PLC主机的电气隔离,以提高抗干扰性,避免外部强电侵入主机而损坏主机; ②电平转换,光电耦合器将现场各种开关信号变换成PLC主机要求的标准逻辑电平。

(3) 高速反应性。

CPU224型PLC有6个高速计数脉冲输入端(I0.0~I0.5),最快的响应速度为30kHz,用于捕捉比CPU扫描周期更快的脉冲信号。

CPU224型PLC有2个高速脉冲输出端(Q0.0,Q0.1),输出频率可达20kHz,用于PTO (高速脉冲束)和PWM(宽度可变脉冲输出)高速脉冲输出。

(4) 模拟电位器。

模拟电位器用来改变特殊寄存器(SM28,SM29)中的数值,以改变程序运行时的参数。如定时器、计数器的预置值,以及过程量的控制参数。

(5) 存储卡。

该卡位可以选择安装扩展卡。扩展卡有E2PROM存储卡、电池和时钟卡等模块。存储卡用于用户程序的复制。在PLC通电后插此卡,通过操作可将PLC中的程序装载到存储卡。当卡已经插在基本单元上后,PLC通电后不需要任何操作,卡上的用户程序数据会自动复制到PLC中。利用这一功能,可对无数台实现同样控制功能的CPU22X系列进行程序写入。

【提示】存储卡每次通电就写入一次,所以在PLC运行时,不要插入此卡。

电池模块用于长时间保存数据,使用CPU224内部存储电容数据存储时间达190小时,而使用电池模块数据存储时间可达200天。

2. CPU224型PLC的结构及性能指标

CPU224型PLC主要由CPU、存储器、基本I/O接口电路、外设接口、编程装置、电源等组成,如图317所示。



图317PLC结构


CPU224型PLC有两种: 一种是CPU224 AC/DC/继电器,交流输入电源,提供24V直流给外部元件(如传感器等),继电器方式输出,14点输入,10点输出; 另一种是CPU224 DC/DC/DC,直流24V输入电源,提供24V直流给外部元件(如传感器)半导体元件直流方式输出,14点输入,10点输出。用户可根据需要选用。

主要技术参数参见表34~表37。

表34CPU22X模块主要技术指标


型号CPU221CPU222CPU224CPU226CPU226MX


用户数据存储器类型E2PROME2PROME2PROME2PROME2PROM
程序空间(永久保存)/字20482048409640968192
用户数据存储器/字10241024256025605120
数据后备(超级电容)典型值/H5050190190190
主机I/O点数6/48/614/1024/1624/16
可扩展模块无2777
24V传感器电源最大电流/mA,电流限制/mA180,600180,600280,600400,约1500400,约1500
最大模拟量输入/输出无16/1628/7或1432/3232/32
240V AC电源CPU输入电流/mA,最大负载电流/mA25,18025,18035,22040,16040,160
24V DC电源CPU输入电流/mA,最大负载/mA70,60070,600120,900150,1050150,1050
为扩展模块提供的DC 5V电源的输出电流/mA—最大340最大660最大1000最大1000
内置高速计数器(30kHz)44666

续表




型号CPU221CPU222CPU224CPU226CPU226MX


模拟量调节电位器/个11222
实时时钟有(时钟卡)有(时钟卡)有(内置)有(内置)有(内置)
RS485通信口/个11111
各组输入点数4,24,48,613,1113,11
各组输出点数4(DC电源); 1,3(AC电源)6(DC电源); 3,3(AC电源)5,5(DC电源); 4,3,3(AC电源)8,8(DC电源); 4,5,7(AC电源)8,8(DC电源); 4,5,7(AC电源)



表35电源的技术指标


特性24V电源AC电源


电压允许范围/V20.4~28.885~264(47~63Hz)
冲击电流/A10(28.8V)20(254V)
内部熔断器(用户不能更换)3A,250V慢速熔断2A,250V慢速熔断



表36数字量输入技术指标


项目指标项目指标


输入类型漏型/源型光电隔离500V AC,1min
输入电压额定值24V DC非屏蔽电缆长度/m300
1信号15~35V,最大4mA屏蔽电缆长度/m500
0信号0~5V



表37数字量输出技术指标


特性24V DC输出继电器型输出


电压允许范围/V20.4~28.85~30 (DC),20~250 (AC)
逻辑1信号最大电流/A0.75(电阻负载)2(电阻负载)
逻辑0信号最大电流/μA100
灯负载/W530 (DC)/200 (AC)
非屏蔽电缆长度/m150150
屏蔽电缆长度/m500500
触点机械寿命/次—10000000
额定负载时触点寿命/次—100000



3. PLC的CPU的工作方式

1)  CPU的工作方式

CPU前面板上用两个发光二极管显示当前工作方式。绿色指示灯亮,表示为运行状态; 红色指示灯亮,表示为停止状态; 在标有SF指示灯亮时表示系统故障,PLC停止工作。

(1) STOP(停止)。CPU在停止工作方式时,不执行程序,此时可以通过编程装置向PLC装载程序或进行系统设置,在程序编辑、上载、下载等处理过程中,必须把CPU置于STOP方式。

(2) RUN(运行)。CPU在RUN工作方式下,PLC按照自己的工作方式运行用户程序。

2) 改变工作方式的方法

(1) 用工作方式开关改变工作方式。工作方式开关有3个挡位: STOP、TERM(Terminal)、RUN。把工作方式开关切到STOP位,可以停止程序的执行; 把方式开关切到RUN位,可以起动程序的执行; 把方式开关切到TERM(暂态)或RUN位,允许STEP7 Micro/WIN32软件设置CPU工作状态; 如果工作方式开关设为STOP或TERM,当电源上电时,CPU自动进入STOP工作状态; 设置为RUN,当电源上电时,CPU自动进入RUN工作状态。

(2) 用编程软件改变工作方式。把工作方式开关切换到TERM(暂态),可以使用STEP7Micro/WIN32编程软件设置工作方式。

(3) 在程序中用指令改变工作方式。在程序中插入一个STOP指令,CPU可由RUN方式进入STOP工作方式。

4. 扩展功能模块

1) 扩展单元及电源模块

(1) 扩展单元。扩展单元没有CPU,作为基本单元I/O点数的扩充,只能与基本单元连接使用,不能单独使用。S7200的扩展单元包括数字量扩展单元、模拟量扩展单元,及热电偶、热电阻扩展模块和PROFIBUSDP通信模块。

用户选用具有不同功能的扩展模块,可以满足不同的控制需要,节约投资费用。连接时CPU模块放在最左侧,扩展模块用扁平电缆与左侧的模块相连。

(2) 电源模块。外部提供给PLC的电源,有24V DC、220V AC两种,根据型号不同有所变化。S7200的CPU单元有一个内部电源模块,S7200小型PLC的电源模块与CPU封装在一起,通过连接总线为CPU模块、扩展模块提供5V的直流电源,如果容量许可,还可提供给外部24V直流的电源,供本机输入点和扩展模块继电器线圈使用。应根据下面的原则确定I/O电源的配置。

有扩展模块连接时,如果扩展模块对5V DC电源的需求超过CPU的5V电源模块的容量,则必须减少扩展模块的数量。

当+24V直流电源的容量不满足要求时,可以增加一个外部24V DC电源给扩展模块供电。此时外部电源不能与S7200的传感器电源并联使用,但两个电源的公共端(M)应连接在一起。

2) 常用扩展模块介绍

(1) 数字量扩展模块。当需要比本机集成更多的数字量的I/O点数时,可选用数字量扩展模块。

用户选择具有不同I/O点数的数字量扩展模块,可以满足应用的实际要求,同时节约不必要的投资费用,可选择8、16和32点I/O模块。

S7200 PLC系列目前总共可以提供3大类,共9种数字量I/O扩展模块,见表38。

表38数字量扩展模块


类型型号各组输入点数各组输出点数


输入扩展模块EM221
EM221 24V DC输入4,4—
EM221 230V AC输入8点相互独立—
输出扩展模块EM222
EM222 24V DC输出—4,4
EM222继电器输出—4,4
EM222 230V AC双向晶闸管输出—8点相互独立
输入/输出(I/O)扩展模块

EM223
EM223 24V DC输入/继电器输出44
EM223 24V DC输入/24VDC输出4,44,4
EM223 24V DC输入/24V DC输出8,84,4,8
EM223 24V DC输入/继电器输出8,84,4,4,4



(2) 模拟量扩展模块。模拟量扩展模块提供了模拟量I/O的功能。在工业控制中,被控对象常常是模拟量,如温度、压力、流量等。PLC内部执行的是数字量,模拟量扩展模块可以将PLC外部的模拟量转换为数字量送入PLC内,经PLC处理后,再由模拟量扩展模块将PLC输出的数字量转换为模拟量送给控制对象。模拟量扩展模块的优点如下。

 最佳适应性。可适用于复杂的控制场合,直接与传感器和执行器相连,例如EM235模块可直接与PT100热电阻相连。

 灵活性。当实际应用变化时,PLC可以相应地进行扩展,并可非常容易地调整用户程序。模拟量扩展模块的数据如表39所示。

表39模拟量扩展模块的数据



模块EM231EM232EM235
点数4路模拟量输入2路模拟量输出4路输入,1路输出



(3) 热电偶、热电阻扩展模块。EM231热电偶、热电阻扩展模块是为S7200 CPU222、CPU224和CPU226/226XM设计的模拟量扩展模块,EM231热电偶模块具有特殊的冷端补偿电路,该电路测量模块连接器上的温度,并适当改变测量值,以补偿参考温度与模块温度之间的温度差,如果在EM231热电偶模块安装区域的环境温度迅速地变化,则会产生额外的误差,要想达到最高的精度和重复性,热电阻和热电偶模块应安装在稳定的环境温度中。

EM231热电偶模块用于7种热电偶类型: J、K、E、N、S、T和R型。用户必须用DIP开关来选择热电偶的类型,连到同模块上的热电偶必须是相同类型。外形如图318所示。



图318热电偶、热电阻扩展模块


(4) PROFIBUSDP通信模块。通过EM277 PROFIBUSDP扩展从站模块,可将S7200 CPU连接到PROFIBUSDP网络。EM277经过串行I/O总线连接到S7200 CPU,PROFIBUS网络经过其DP通信端口,连接到EM277 PROFIBUSDP模块。EM277 PROFIBUSDP模块的DP端口可连接到网络上的一个DP主站上,但仍能作为一个MPI从站,与同一网络上(如SIMATIC编程器或S7300/S7400 CPU等)其他主站进行通信。

3.5.3S7200系列PLC内部元器件
1. 数据存储类型

1) 数据的长度

数据类型、长度及数据范围如表310所示。在计算机中使用的都是二进制数,其最基本的存储单位是位(bit),8位二进制数组成1字节(Byte),其中的第0位为最低位(LSB),第7位为最高位(MSB)。2字节(16位)组成1字(Word),2字(32位)组成1双字(Double Word)。把位、字节、字和双字占用的连续位数称为长度。

表310数据类型、长度及数据范围


数据的类型、长度
无符号整数范围符号整数范围
十进制十六进制十进制


字节B(8位)0~2550~FF0~255
字W(16位)0~65 5350~FFFF0~65 535
双字D(32位)0~4 294 967 2950~FFFFFFFF0~4 294 967 295
位(BOOL)0、1
实数-1038~1038
字符串每个字符串以字节形式存储最大长度为255字节,第一个字节中定义该字符串长度


二进制数的“位”只有0和1两种取值,开关量(或数字量)也只有两种不同的状态,如触点的断开和接通、线圈的失电和得电等。在S7200梯形图中,可用“位”描述它们,如果该位为1,则表示对应的线圈为得电状态,触点为转换状态(常开触点闭合、常闭触点断开); 如果该位为0,则表示对应线圈、触点的状态与前者相反。

2) 数据类型及数据范围

S7200系列PLC的数据类型可以是字符串、布尔型(0或1)、整数型和实数型(浮点数)。布尔型数据指字节型无符号整数; 整数型数包括16位符号整数(INT)和32位符号整数(DINT); 实数型数据采用32位单精度数来表示。

3) 常数

S7200的许多指令中常会使用常数。常数的数据长度可以是字节、字和双字。CPU以二进制的形式存储常数,书写常数可以用二进制、十进制、十六进制、ASCII码或实数等多种形式。书写格式如下。

十进制常数: 1234; 十六进制常数: 16#3AC6; 二进制常数: 2#1010 0001 1110 0000; ASCII码: “Show”; 实数(浮点数): +1.175495E38(正数),-1.175495E38(负数)。

2. 编址方式

可编程控制器的编址就是对PLC内部的元件进行编码,以便程序执行时可以唯一地识别每个元件。PLC内部在数据存储区为每一种元件分配一个存储区域,并用字母作为区域标志符,同时表示元件的类型。例如: 数字量输入写入输入映像寄存器(区标志符为I)、数字量输出写入输出映像寄存器(区标志符为Q)、模拟量输入写入模拟量输入映像寄存器(区标志符为AI)、模拟量输出写入模拟量输出映像寄存器(区标志符为AQ)。除了输入/输出外,PLC还有其他元件,V表示变量存储器; M表示内部标志位存储器; SM表示特殊标志位存储器; L表示局部存储器; T表示定时器; C表示计数器; HC表示高速计数器; S表示顺序控制存储器; AC表示累加器。掌握各元件的功能和使用方法是编程的基础。下面将介绍元件的编址方式。

存储器的单位可以是位(bit)、字节(Byte)、字(Word)、双字(Double Word),那么编址方式也可以分为位、字节、字、双字编址。

(1) 位编址。位编址的指定方式为: (区域标志符)字节号·位号,如I0.0、Q0.0、I1.2。

(2) 字节编址。字节编址的指定方式为: (区域标志符)B(字节号),如IB0表示由I0.0~I0.7这8位组成的字节。

(3) 字编址。字编址的指定方式为: (区域标志符)W(起始字节号),且最高有效字节为起始字节。例如VW0表示由VB0和VB1这2字节组成的字。

(4) 双字编址。双字编址的指定方式为: (区域标志符)D(起始字节号),且最高有效字节为起始字节。例如VD0表示由VB0~VB3这4字节组成的双字。

3. 寻址方式

1) 直接寻址

直接寻址是在指令中直接使用存储器或寄存器的元件名称(区域标志)和地址编号,直接到指定的区域读取或写入数据。有按位、字节、字、双字的寻址方式,如图319所示。



图319直接寻址


2) 间接寻址

间接寻址时操作数并不提供直接数据位置,而是通过使用地址指针来存取存储器中的数据。在S7200中允许使用指针对I、Q、M、V、S、T、C(仅当前值)存储区进行间接寻址。

(1) 使用间接寻址前,要先创建一指向该位置的指针。指针为双字(32位),存放的是另一存储器的地址,只能用V、L或累加器AC作指针。生成指针时,要使用双字传送指令(MOVD),将数据所在单元的内存地址送入指针,双字传送指令的输入操作数开始处加&符号,表示某存储器的地址,而不是存储器内部的值。指令输出操作数是指针地址。例如,“MOVD &VB200,AC1”指令就是将VB200的地址送入累加器AC1中。

(2) 指针建立好后,利用指针存取数据。在使用地址指针存取数据的指令中,操作数前加“*”号表示该操作数为地址指针。例如,“MOVW *AC1 AC0 //MOVW”表示字传送指令,指令将AC1中的内容为起始地址的一个字长的数据(即VB200,VB201内部数据)送入AC0内,如图320所示。



图320间接寻址


4. 内部元件(内部资源)功能及地址分配

1) 输入映像寄存器(输入继电器)I

(1) 输入映像寄存器的工作原理

输入继电器是PLC用来接收用户设备输入信号的接口。PLC中的“继电器”与继电器控制系统中的继电器有本质性的差别,是“软继电器”,它实质是存储单元。每一个输入继电器“线圈”都与相应的PLC输入端相连,当外部开关信号闭合时,则输入继电器的“线圈”得电,在程序中其常开触点闭合,常闭触点断开。由于存储单元可以无限次地读取,所以有无数对常开、常闭触点供编程时使用。编程时应注意,输入继电器的“线圈”只能由外部信号驱动,不能在程序内部用指令驱动,因此,在用户编制的梯形图中只应出现输入继电器的触点,而不应出现输入继电器的“线圈”。

(2) 输入映像寄存器的地址分配

S7200输入映像寄存器区域有IB0~IB15共16字节的存储单元。系统对输入映像寄存器是以字节(8位)为单位进行地址分配的。输入映像寄存器可以按位进行操作,每一位对应一个数字量的输入点。如CPU224的基本单元输入为14点,需占用2×8=16位,即占用IB0和IB1这2字节。而I1.6、I1.7因没有实际输入而未使用,用户程序中不可使用。但如果整个字节未使用,如IB3~IB15,则可作为内部标志位(M)使用。

输入继电器可采用位、字节、字或双字来存取。CPU224主机有I0.0~I0.7、I1.0~I1.5共14个数字量输入点。

2) 输出映像寄存器(输出继电器)Q

(1) 输出映像寄存器的工作原理。

“输出继电器”是用来将输出信号传送到负载的接口,每一个“输出继电器”线圈都与相应的PLC输出端相连,用于驱动负载,并有无数对常开和常闭触点供编程时使用。输出继电器线圈的通断状态只能在程序内部用指令驱动。

(2) 输出映像寄存器的地址分配。

S7200输出映像寄存器区域有QB0~QB15共16字节的存储单元。系统对输出映像寄存器也是以字节(8位)为单位进行地址分配的。输出映像寄存器可以按位进行操作,每一位对应一个数字量的输出点。如CPU224的基本单元输出为10点,需占用2×8=16位,即占用QB0和QB1共2字节。但未使用的位和字节均可在用户程序中作为内部标志位使用。

输出继电器可采用位、字节、字或双字来存取。CPU224主机有Q0.0~Q0.7、Q1.0、Q1.1共10个数字量输出点。

以上介绍的两种软继电器都是和用户有联系的,因而是PLC与外部联系的窗口。下面所介绍的则是与外部设备没有联系的内部软继电器。它们既不能用来接收用户信号,也不能用来驱动外部负载,只能用于编制程序,即线圈和触点都只能出现在梯形图中。

3) 变量存储器V

变量存储器主要用于存储变量。可以存放数据运算的中间运算结果或设置参数,在进行数据处理时,变量存储器会被经常使用。变量存储器可以是位寻址,也可按字节、字、双字为单位寻址,其位存取的编号范围根据CPU的型号有所不同,CPU221/222为V0.0~V2047.7,共2KB存储容量,CPU224/226为V0.0~V5119.7,共5KB存储容量。

4) 内部标志位存储器(中间继电器)M

内部标志位存储器用来保存控制继电器的中间操作状态,其作用相当于继电器控制中的中间继电器,内部标志位存储器在PLC中没有输入/输出端与之对应,其线圈的通断状态只能在程序内部用指令驱动,其触点不能直接驱动外部负载,只能在程序内部驱动输出继电器的线圈,再用输出继电器的触点去驱动外部负载。

内部标志位存储器可采用位、字节、字或双字存取。CPU224主机内部标志位存储器位存取的地址编号范围为M0.0~M31.7,共32字节。

5) 特殊标志位存储器SM

PLC中还有若干特殊标志位存储器,特殊标志位存储器位提供大量的状态和控制功能,用来在CPU和用户程序之间交换信息,特殊标志位存储器能以位、字节、字或双字来存取,CPU224的SM的位地址编号范围为SM0.0~SM179.7,共180字节。其中SM0.0~SM29.7的30字节为只读型区域。

常用的特殊存储器的用途如下。

(1) SM0.0: 运行监视。SM0.0始终为1状态。当PLC运行时可以利用其触点驱动输出继电器,在外部显示程序是否处于运行状态。

(2) SM0.1: 初始化脉冲。每当PLC的程序开始运行时,SM0.1线圈接通一个扫描周期,因此SM0.1的触点常用于调用初始化子程序等。

(3) SM0.3: 开机进入RUN时,接通一个扫描周期,可用在起动操作之前,给设备提前预热。

(4) SM0.4、SM0.5: 占空比为50%的时钟脉冲。当PLC处于运行状态时,SM0.4产生周期为1min的时钟脉冲,SM0.5产生周期为1s的时钟脉冲。若将时钟脉冲信号送入计数器作为计数信号,则可起到定时器的作用。

(5) SM0.6: 扫描时钟,一个扫描周期闭合,另一个为OFF,循环交替。

(6) SM0.7: 工作方式开关位置指示,开关放置在RUN位置时为1。

(7) SM1.0: 零标志位,运算结果=0时,该位置1。

(8) SM1.1: 溢出标志位,结果溢出或非法值时,该位置1。

(9) SM1.2: 负数标志位,运算结果为负数时,该位置1。

(10) SM1.3: 被0除标志位。

其他特殊存储器的用途可查阅相关手册。

6) 局部变量存储器L

局部变量存储器L用来存放局部变量,局部变量存储器L和变量存储器V十分相似,主要区别在于全局变量是全局有效,而局部变量存储器是局部有效的。全局是指同一个存储器可以被任何一个程序(主程序、子程序、中断程序)读取访问; 而局部变量只是局部有效,即变量只和特定的程序相关联。

S7200有64字节的局部变量存储器,其中60字节可以作为暂时存储器,或给子程序传递参数,后4字节作为系统的保留字节。PLC在运行时,根据需要动态地分配局部变量存储器,在执行主程序时,64字节的局部变量存储器分配给主程序,当调用子程序或出现中断时,局部变量存储器分配给子程序或中断程序。

局部存储器可以按位、字节、字、双字直接寻址,其位存取的地址编号范围为L0.0~L63.7。L可以作为地址指针。

7) 定时器T

PLC所提供的定时器作用相当于继电器控制系统中的时间继电器。每个定时器可提供无数对常开和常闭触点供编程使用。其设定时间由程序设置。

每个定时器有一个16位的当前值寄存器,用于存储定时器累计的时基增量值(1~32767),另有一个状态位表示定时器的状态。若当前值寄存器累计的时基增量值大于或等于设定值时,定时器的状态位被置1,该定时器的常开触点闭合。

定时器的定时精度(时基)分别为1ms、10ms和100ms三种,CPU222、CPU224及CPU226的定时器地址编号范围为T0~T225,它们分辨率、定时范围并不相同,用户应根据所用CPU型号及时基,正确选用定时器的编号。

8) 计数器C

计数器用于累计计数输入端接收到的由断开到接通的脉冲个数。计数器可提供无数对常开和常闭触点供编程使用,其设定值由程序赋予。

计数器的结构与定时器基本相同,每个计数器有一个16位的当前值寄存器用于存储计数器累计的脉冲数,另有一个状态位表示计数器的状态,若当前值寄存器累计的脉冲数大于或等于设定值时,计数器的状态位被置1,该计数器的常开触点闭合。CPU224主机计数器的地址编号范围为C0~C255。

9) 高速计数器HC

一般计数器的计数频率受扫描周期的影响,不能太高。而高速计数器可用来累计比CPU的扫描速度更快的事件。高速计数器的当前值是一个双字长(32位)的整数,且为只读值。

高速计数器的地址编号范围根据CPU的型号有所不同,CPU221/222各有4个高速计数器,CPU224/226各有6个高速计数器,编号为HC0~HC5。

10) 累加器AC

累加器是用来暂存数据的寄存器,它可以用来存放运算数据、中间数据和结果。CPU提供了4个32位的累加器,其地址编号为AC0~AC3。累加器的可用长度为32位,可采用字节、字、双字的存取方式,按字节、字只能存取累加器的低8位或低16位,双字可以存取累加器全部的32位。

11) 顺序控制继电器S(状态元件)

顺序控制继电器是使用步进顺序控制指令编程时的重要状态元件,通常与步进指令一起使用以实现顺序功能流程图的编程。CPU224主机顺序控制继电器的地址编号范围为S0.0~S31.7。

12) 模拟量输入/输出映像寄存器(AI/AQ)

S7200的模拟量输入电路是将外部输入的模拟量信号转换成1字长的数字量存入模拟量输入映像寄存器区域,区域标志符为AI。

模拟量输出电路是将模拟量输出映像寄存器区域的1字长(16位)数值转换为模拟电流或电压输出,区域标志符为AQ。

对模拟量输入/输出是以2字(W)为单位分配地址,每路模拟量输入/输出占用1字(2字节)。如有3路模拟量输入,须分配4字(AIW0、AIW2、AIW4、AIW6),其中没有被使用的字AIW6,不可被占用或分配给后续模块。如果有1路模拟量输出,则须分配2字(AQW0、AQW2),其中没有被使用的字AQW2,不可被占用或分配给后续模块。

模拟量输入/输出的地址编号范围根据CPU型号的不同有所不同,CPU222为AIW0~AIW30/AQW0~AQW30,CPU224/226为AIW0~AIW62/AQW0~AQW62。

【提示】在PLC内的数字量字长为16位,即2字节,故其地址均以偶数表示,如AIW0,AIW2,…; AQW0,AQW2,…。

3.6STEP7Micro/WIN v4.0编程软件介绍

STEP7Micro/WIN v4.0 SP6是一款专业的专为西门子公司SIMATIC系列S7200小型机而设计的编程工具软件,它是基于Windows平台的应用软件,可以使用个人计算机作为图形编辑器,功能强大,是较为稳定的一个版本。主要用于开发程序,也可用于实时监控用户程序的执行状态,加上汉化后的程序,可在全汉化的界面下进行操作。使用该软件可根据控制系统的要求编制控制程序并完成与PLC的实时通信,进行程序的下载与上传及在线监控。

3.6.1STEP7Micro/WIN v4.0概述
1. STEP7Mirco/WIN v4.0的安装

1) 安装条件

操作系统: 支持XP、Win 7以上的操作系统。

计算机配置: IBM486以上兼容机,内存8MB以上,VGA显示器,至少50MB以上硬盘空间。

通信电缆: 用一条PC/PPI电缆实现可编程控制器与计算机的通信。

2) 编程软件的组成

STEP7Micro/WIN32编程软件包括Microwin 3.1、Microwin 3.1的升级版本软件Microwin 3.1 SP1; Toolbox(包括Uss协议指令: 变频通信用,TP070: 触摸屏的组态软件Tp Designer v1.0设计师)工具箱,以及Microwin 3.11 Chinese(Microwin 3.11 SP1和Tp Designer的专用汉化工具)等编程软件。

3) 编程软件的安装

(1) 安装准备。

关闭所有的应用程序,在光盘驱动器中插入驱动光盘,如果没有禁止光盘插入自动运行,安装程序会自动进行,或者在Windows资源管理器中打开光盘上的Setup. exe。

(2) 按照安装程序的提示完成安装。

首先选择“安装程序界面语言”,再选择安装目的文件夹,对于自动弹出的Set PG/PCInterface窗口,单击OK按钮即可,安装完成后重启计算机。

(3) 中英文语言选择。

如要选择编程软件界面为中文格式,可以双击桌面上的STEP7Micro/WIN32 v4.0图标,在Tools/Options/General的语言栏中选择Chinese,然后重启编程软件。

按Microwin 3.1→Microwin 3.1 SP1→Toolbox→Microwin 3.11 Chinese的顺序进行安装。




图321PLC与PC的连接


首先安装英文版本的编程软件,双击编程软件中的安装程序SETUP.EXE,根据安装提示完成安装。接着,用Microwin 3.11 Chinese软件将编程软件的界面和帮助文件汉化。操作步骤如下。

① 在光盘目录下,找到mwin_service_pack_from v3.1 to 3.11软件包,按照安装向导进行操作,把原来英文版本的编程软件转换为3.11版本。

② 打开Chinese 3.11目录,双击setup,按安装向导操作,完成汉化补丁的安装。

③ 完成安装。

4) 建立S7200 CPU的通信

可以采用PC/PPI电缆建立PC与PLC之间的通信。这是典型的单主机与PC的连接,不需要其他的硬件设备,如图321所示。

PC/PPI电缆的两端分别为RS232和RS485接口,RS232端连接到个人计算机RS232通信口COM1或COM2接口上,RS485端接到S7200 CPU通信口上。

PC/PPI电缆中间有通信模块,模块外部设有波特率设置开关,有5种支持PPI协议的波特率可以选择,分别为1.2kb/s、2.4kb/s、9.6kb/s、19.2kb/s、38.4kb/s。系统的默认值为9.6kb/s。PC/PPI电缆波特率设置开关(DIP开关)的位置应与软件系统设置的通信波特率相一致。DIP开关的设置如图322所示,DIP开关上有5个扳键,1、2、3号键用于设置波特率,4号和5号键用于设置通信方式。通信速率的默认值为9600b/s,如图322所示,1、2、3号键设置为010,未使用调制解调器时,4、5号键均应设置为0。



图322DIP开关的设置


5) 通信参数的设置

硬件设置好后,按下面的步骤设置通信参数。

(1) 在STEP7Micro/WIN32运行时单击通信图标,或从“视图”菜单中选择“通信”,则会出现一个通信对话框。

(2) 对话框中双击PC/PPI电缆图标,将出现PC/PG接口的对话框。

(3) 单击“属性”按钮,将出现“接口属性”对话框,检查各参数的属性是否正确,初学者可以使用默认的通信参数,在PC/PPI性能设置的窗口中单击“默认”按钮,可获得默认的参数。默认站地址为2,波特率为9600b/s。

6) 建立在线连接

在前几步顺利完成后,可以建立与S7200 CPU的在线联系,步骤如下。

(1) 在STEP7Micro/WIN32运行时单击通信图标,或从“视图”菜单中选择“通信”,出现一个通信建立结果对话框,显示是否连接了CPU主机。

(2) 双击对话框中的刷新图标,STEP7Micro/WIN32编程软件将检查所连接的所有S7200 CPU站。在对话框中显示已建立起连接的每个站的CPU图标、CPU型号和站地址。

(3) 双击要进行通信的站,在通信建立对话框中,可以显示所选的通信参数。

7) 修改PLC的通信参数

计算机与可编程控制器建立起在线连接后,即可以利用软件检查、设置和修改PLC的通信参数。操作步骤如下。

(1) 单击浏览条中的系统块图标,或从“检视”菜单中选择“系统块”选项,将出现“系统块”对话框。

(2) 单击“通信口”选项卡,检查各参数,确认无误后单击“确定”按钮。若须修改某些参数,可以先进行有关的修改,再单击“确认”按钮。

(3) 单击工具条的下载按钮,将修改后的参数下载到可编程控制器,设置的参数才会起作用。

8) 可编程控制器的信息的读取

选择菜单命令PLC→信息,将显示出可编程控制器RUN/STOP状态、扫描速率、CPU的型号错误的情况和各模块的信息。

2. STEP7Mirco/WIN32窗口组件

STEP7Micro/WIN32的编程软件主界面如图323所示。



图323STEP7Micro/WIN32编程软件的主界面


主界面一般可以分为以下几部分: 菜单条、工具条、浏览条、指令树、用户窗口、输出窗口和状态条。除菜单条外,用户可以根据需要通过检视菜单和窗口菜单决定其他窗口的取舍和样式的设置。

1) 主菜单

主菜单包括“文件”“编辑”“检视”“PLC”“调试”“工具”“窗口”“帮助”8个主菜单项。各主菜单项的功能如下。

(1) 文件。

文件的操作有: 新建(New)、打开(Open)、关闭(Close)、保存(Save)、另存为(Save As)、导入(Import)、导出(Export)、上载(Upload)、下载(Download)、页面设置(Page Setup)、打印(Print)、预览、最近使用文件、退出。

导入: 若从STEP7Micro/WIN32编辑器之外导入程序,可使用“导入”命令导入ASCII文本文件。

导出: 使用“导出”命令创建程序的ASCII文本文件,并导出至STEP7Micro/WIN32外部的编辑器。

上载: 在运行STEP7Micro/WIN32的个人计算机和PLC之间建立通信后,从PLC将程序上载至运行STEP7Micro/WIN32的个人计算机。

下载: 在运行STEP7Micro/WIN32的个人计算机和PLC之间建立通信后,将程序下载至该PLC。下载之前,PLC应位于停止模式。

(2) 编辑。

编辑菜单提供程序的编辑工具有: 撤销(Undo)、剪切(Cut)、复制(Copy)、粘贴(Paste)、全选(Select All)、插入(Insert)、删除(Delete)、查找(Find)、替换(Replace)、转至(Go To)等项目。

剪切/复制/粘贴: 可以在STEP7Micro/WIN32项目中剪切下列条目——文本或数据栏,指令,单个网络,多个相邻的网络,POU中的所有网络,状态图行、列或整个状态图,符号表行、列或整个符号表,数据块。不能同时选择多个不相邻的网络。不能从一个局部变量表成块剪切数据并粘贴至另一局部变量表中,因为每个表的只读L内存赋值必须唯一。

插入: 在LAD编辑器中,可在光标上方插入行(在程序或局部变量表中)、在光标下方插入行(在局部变量表中)、在光标左侧插入列(在程序中)、插入垂直接头(在程序中)、在光标上方插入网络并为所有网络重新编号、在程序中插入新的中断程序、在程序中插入新的子程序。

查找/替换/转至: 可以在程序编辑器窗口、局部变量表、符号表、状态图、交叉引用标签和数据块中使用“查找”、“替换”和“转至”功能。

 “查找”功能: 查找指定的字符串,例如操作数、网络标题或指令助记符(“查找”不搜索网络注释,只能搜索网络标题。“查找”不搜索LAD和FBD中的网络符号信息表)。

 “替换”功能: 替换指定的字符串(“替换”对语句表指令不起作用)。

 “转至”功能: 通过指定网络数目的方式将光标快速移至另一个位置。

(3) 检视。

通过“检视”菜单可以选择不同的程序编辑器: LAD,STL,FBD; 通过“检视”菜单可以进行数据块(Data Block)、符号表(Symbol Table)、状态图表(Chart Status)、系统块(System Block)、交叉引用(Cross Reference)、通信(Communications)参数的设置。通过“检视”菜单可以选择注解、网络注解(POU Comments)显示与否等; 通过“检视”菜单的工具栏区可以选择浏览栏(Navigation Bar)、指令树(Instruction Tree)及输出视窗(Output Window)的显示与否; 通过“检视”菜单可以对程序块的属性进行设置。

(4) PLC。

PLC菜单用于与PLC联机时的操作。如用软件改变PLC的运行方式(运行、停止)、对用户程序进行编译、清除PLC程序、电源起动重置及查看PLC的信息、时钟、存储卡的操作和程序比较、PLC类型选择等操作。其中对用户程序进行编译可以离线进行。

联机方式(在线方式): 有编程软件的计算机与PLC连接,两者之间可以直接通信。

离线方式: 有编程软件的计算机与PLC断开连接。此时可进行编程、编译。

联机方式和离线方式的主要区别是: 联机方式可直接针对连接PLC进行操作,如上传、下载用户程序等。离线方式不直接与PLC联系,所有的程序和参数都暂时存放在磁盘上,等联机后再下载到PLC中。

PLC有两种操作模式: STOP(停止)和RUN(运行)模式。在STOP(停止)模式中可以建立/编辑程序; 在RUN(运行)模式中可以建立、编辑、监控程序操作和数据,进行动态调试。

若使用STEP7Micro/WIN32软件控制RUN/STOP(运行/停止)模式,在STEP7Micro/WIN32和PLC之间必须建立通信。另外,PLC硬件模式开关必须设为TERM(终端)或RUN(运行)。

编译(Compile): 用来检查用户程序语法错误。用户程序编辑完成后通过编译在显示器下方的输出窗口显示编译结果,明确指出错误的网络段,可以根据错误提示对程序进行修改,然后再编译,直至无错误。

全部编译(Compile All): 编译全部项目元件(程序块、数据块和系统块)。

信息(Information): 可以查看PLC信息,例如PLC型号和版本号码、操作模式、扫描速率、I/O模块配置以及CPU和I/O模块错误等。

电源起动重置(PowerUp Reset): 从PLC清除严重错误并返回RUN(运行)模式。如果操作PLC存在严重错误,SF(系统错误)指示灯亮,程序停止执行。必须将PLC模式重设为STOP(停止),然后再设置为RUN(运行),才能清除错误,或选择PLC→“电源起动重置”。

(5) 调试。

“调试”菜单用于联机时的动态调试,有单次扫描(First Scan)、多次扫描(Multiple Scans)、程序状态(Program Status)、触发暂停(Triggred Pause)、用程序状态模拟运行条件(读取、强制、取消强制和全部取消强制)等功能。

调试时可以指定PLC对程序执行有限次数扫描(从1次扫描到65535次扫描)。通过选择PLC运行的扫描次数,可以在程序改变过程变量时对其进行监控。第一次扫描时,SM0.1数值为1(打开)。

单次扫描: 可编程控制器从STOP方式进入RUN方式,执行一次扫描后,回到STOP方式,可以观察到首次扫描后的状态。

PLC必须位于STOP(停止)模式,通过菜单“调试”→“单次扫描”操作。

多次扫描: 调试时可以指定PLC对程序执行有限次数扫描(从1次扫描到65535次扫描)。通过选择PLC运行的扫描次数,可以在程序过程变量改变时对其进行监控。

PLC必须位于STOP(停止)模式时,通过菜单“调试”→“多次扫描”设置扫描次数。

(6) 工具。

“工具”菜单提供复杂指令向导(PID、HSC、NETR/NETW指令),使复杂指令编程时的工作简化。“工具”菜单还提供文本显示器TD200设置向导; “工具”菜单的定制子菜单可以更改STEP7Micro/WIN32工具条的外观或内容,以及在“工具”菜单中增加常用工具; “工具”菜单的选项子菜单可以设置3种编辑器的风格,如字体、指令盒的大小等样式。

(7) 窗口。

“窗口”菜单可以设置窗口的排放形式,如层叠、水平、垂直。

(8) 帮助。

“帮助”菜单可以提供S7200的指令系统及编程软件的所有信息,并提供在线帮助、网上查询、访问等功能。

2) 工具条

(1) 标准工具条如图324所示。



图324标准工具条



各快捷按钮从左到右分别为: 新建项目、打开现有项目、保存当前项目、打印、打印预览、剪切选项并复制至剪贴板、将选项复制至剪贴板、在光标位置粘贴剪贴板内容、撤销最后一个条目、编译程序块或数据块(任意一个现用窗口)、全部编译(程序块、数据块和系统块)、将项目从PLC上载至STEP7Micro/WIN32、从STEP7Micro/WIN32下载至PLC、符号表名称列按照A~Z从小至大排序、符号表名称列按照Z~A从大至小排序、选项(配置程序编辑器窗口)。

(2) 调试工具条如图325所示。

各快捷按钮从左到右分别为: 将PLC设为运行模式、将PLC设为停止模式、在程序状态打开/关闭之间切换、在触发暂停打开/停止之间切换(只用于语句表)、在图状态打开/关闭之间切换、状态图表单次读取、状态图表全部写入、强制PLC数据、取消强制PLC数据、状态图表全部取消强制、状态图表全部读取强制数值。

(3) 公用工具条如图326所示。




图325调试工具条




图326公用工具条




公用工具条各快捷按钮从左到右分别如下。

插入网络: 单击该按钮,在LAD或FBD程序中插入一个空网络。

删除网络: 单击该按钮,删除LAD或FBD程序中的整个网络。

POU注解: 单击该按钮在POU注解打开(可视)或关闭(隐藏)之间切换。每个POU注解可允许使用的最大字符数为4096。可视时,始终位于POU顶端,在第一个网络之前显示,如图327所示。

网络注解: 单击该按钮,在光标所在的网络标号下方出现灰色方框中,输入网络注解。再单击该按钮,网络注解关闭,如图328所示。




图327POU注解




图328网络注解



检视/隐藏每个网络的符号信息表: 单击该按钮,用所有的新、旧和修改符号名更新项目,而且在符号信息表打开和关闭之间切换,如图329所示。

切换书签: 设置或移除书签,单击该按钮,在当前光标指定的程序网络设置或移除书签。在程序中设置书签,书签便于在较长程序中指定的网络之间来回移动,如图330所示。




图329网络的符号信息表




图330网络设置书签



下一个书签: 将程序滚动至下一个书签,单击该按钮,向下移至程序的下一个带书签的网络。

前一个书签: 将程序滚动至前一个书签,单击该按钮,向上移至程序的前一个带书签的网络。

清除全部书签: 单击该按钮,移除程序中的所有当前书签。

在项目中应用所有的符号: 单击该按钮,用所有新、旧和修改的符号名更新项目,并在符号信息表打开和关闭之间切换。

建立表格未定义符号: 单击该按钮,从程序编辑器将不带指定地址的符号名传输至指定地址的新符号表标记。

常量描述符: 在SIMATIC类型说明符打开/关闭之间切换,单击“常量描述符”按钮,使常量描述符可视或隐藏。对许多指令参数可直接输入常量。仅被指定为100的常量具有不确定的大小,因为常量100可以表示为字节、字或双字大小。当输入常量参数时,程序编辑器根据每条指令的要求指定或更改常量描述符。

(4) LAD指令工具条如图331所示。



图331LAD指令工具条


从左到右分别为: 插入向下直线、插入向上直线、插入左行、插入右行、插入接点、插入线圈、插入指令盒。

3) 浏览条

浏览条为编程提供按钮控制,可以实现窗口的快速切换,即对编程工具执行直接按钮存取,包括程序块(Program Block)、符号表(Symbol Table)、状态图表(Status Chart)、数据块(Data Block)、系统块(System Block)、交叉引用(Cross Reference)和通信(Communication)。单击上述任意按钮,则主窗口切换成此按钮对应的窗口。

用菜单“检视”→“帧”→“浏览条”,浏览条可在打开(可见)和关闭(隐藏)之间切换。

用菜单“工具”→“选项”,选择“浏览条”标签,可在浏览条中编辑字体。

浏览条中的所有操作都可用“指令树(Instruction Tree)”视窗完成,或通过“检视(View)” →“元件”完成。

4) 指令树

指令树以树型结构提供编程时用到的所有快捷操作命令和PLC指令。可分为项目分支和指令分支。

项目分支用于组织程序项目: 

 用鼠标右击“程序块”文件夹,插入新子程序和中断程序。

 打开“程序块”文件夹,并用鼠标右击POU图标,可以打开POU、编辑POU属性、用密码保护POU或为子程序和中断程序重新命名。

 用鼠标右击“状态图”或“符号表”文件夹,插入新图或表。

 打开“状态图”或“符号表”文件夹,在指令树中用鼠标右击图或表图标,或双击适当的POU标记,执行打开、重新命名或删除操作。

指令分支用于输入程序,打开指令文件夹并选择指令: 

 拖曳或双击指令,可在程序中插入指令。

 用鼠标右击指令,并从弹出菜单中选择“帮助”,获得有关该指令的信息。

 将常用指令可拖曳至“偏好项目”文件夹。

若项目指定了PLC类型,则指令树中红色标记x是表示对该PLC无效的指令。

5) 用户窗口

可同时或分别打开6个用户窗口,分别为: 交叉引用、数据块、状态图表、符号表、程序编辑器、局部变量表。

(1) 交叉引用。

在程序编译成功后,可用下面的方法之一打开“交叉引用”窗口。

① 菜单“检视”→ “交叉引用”(Cross Reference)。 

② 单击浏览条中的“交叉引用”按钮,得到“交叉引用”表列出在程序中使用的各操作数所在的POU、网络或行位置,以及每次使用各操作数的语句表指令,如图332所示。通过交叉引用表还可以查看哪些内存区域已经被使用,是作为位还是作为字节使用。在运行方式下编辑程序时,可以查看程序当前正在使用的跳变信号的地址。交叉引用表不下载到可编程控制器,在程序编译成功后,才能打开交叉引用表。在交叉引用表中双击某操作数,可以显示出包含该操作数的那一部分程序。



图332交叉引用表


(2) 数据块。

“数据块”窗口可以设置和修改变量存储器的初始值和常数值,并加注必要的注释说明。

用下面的方法之一打开“数据块”窗口: 

① 单击浏览条上的“数据块”按钮。

② 用菜单“检视”→“元件”→“数据块”。

③ 单击指令树中的“数据块”图标。

(3) 状态图表。

将程序下载至PLC之后,可以建立一个或多个状态图表,在联机调试时,打开状态图表,监视各变量的值和状态。状态图表并不下载到可编程控制器,只是监视用户程序运行的一种工具。

用下面的方法之一可打开状态图表: 

① 单击浏览条上的“状态图表”按钮。

② 用菜单“检视”→“元件” → “状态图”。

③ 打开指令树中的“状态图”文件夹,然后双击“图”图标。

④ 若在项目中有一个以上状态图,使用位于“状态图”窗口底部的标签在状态图之间移动。

可在状态图表的地址列输入需监视的程序变量地址,在PLC运行时,打开状态图表窗口,在程序扫描执行时,连续、自动地更新状态图表的数值。

(4) 符号表。

符号表是程序员用符号编址的一种工具表。在编程时不采用元件的直接地址作为操作数,而用有实际含义的自定义符号名作为编程元件的操作数,这样可使程序更容易理解。符号表建立了自定义符号名与直接地址编号之间的关系。程序被编译后下载到可编程控制器时,所有的符号地址被转换成绝对地址,符号表中的信息不下载到可编程控制器。

用下面的方法之一可打开符号表: 

① 单击浏览条中的“符号表”按钮。

② 用菜单“检视”→“符号表”。

③ 打开指令树中的符号表或全局变量文件夹,然后双击一个表格图标。

(5) 程序编辑器。

选择菜单命令“文件”→ “新建”、“文件” → “打开”或“文件” →“导入”,打开一个项目。然后用下面方法之一打开“程序编辑器”窗口,建立或修改程序: 

① 单击浏览条中的“程序块”按钮,打开主程序(OB1)。可以单击子程序或中断程序标签,打开另一个POU。

② “指令树”→“程序块”,双击主程序(OB1)图标、子程序图标或中断程序图标。

用下面方法之一可改变程序编辑器选项: 

① 选择菜单“检视” → LAD、FBD、STL,更改编辑器类型。

② 选择菜单“工具”→ “选项”,选择“一般”标签,可更改编辑器(LAD、FBD或STL)和编程模式(SIMATIC或IEC 11313)。

③ 选择菜单“工具” → “选项”,选择 “程序编辑器”标签,设置编辑器选项。

④ 单击选项快捷按钮,设置“程序编辑器”选项。

(6) 局部变量表。

程序中的每个POU都有自己的局部变量表,局部变量存储器(L)有64字节。局部变量表用来定义局部变量,局部变量只在建立该局部变量的POU中才有效。在带参数的子程序调用中,参数的传递就是通过局部变量表传递的。

在用户窗口将水平分裂条下拉即可显示局部变量表,将水平分裂条拉至程序编辑器窗口的顶部,局部变量表不再显示,但仍旧存在。

6) 输出窗口

输出窗口: 用来显示STEP7Micro/WIN32程序编译的结果,如编译结果有无错误、错误编码及其位置等。

菜单命令: “检视”→“帧”→“输出窗口”,在窗口打开或关闭输出窗口。

7) 状态条

状态条提供有关在STEP7Micro/WIN32中操作的信息。

3. 编程准备

1) 指令集和编辑器的选择

写程序之前,用户必须选择指令集和编辑器。

在S7200系列PLC支持的指令集有SIMATIC和IEC1131—3两种。SIMATIC是专为S7200 PLC设计的,专用性强,采用SIMATIC指令编写的程序执行时间短,可以使用LAD、STL、FBD三种编辑器。IEC1131—3指令集是按国际电工委员会(IEC)PLC编程标准提供的指令系统,作为不同PLC厂商的指令标准,集中指令较少。有些SIMATIC所包含的指令,在IEC1131—3中不是标准指令。IEC1131—3标准指令集适用于不同厂家PLC,可以使用LAD和FBD两种编辑器。本教材主要用SIMATIC编程模式。

可选择菜单“工具”→“选项” →“一般”标签→“编程模式”,选SIMATIC。

程序编辑器有LAD、STL、FBD三种。选择编辑器的方法如下: 

可选择菜单“检视” →LAD或STL或者菜单“工具”→“选项”选择标签“一般”→“默认编辑器”。

2) 根据PLC类型进行参数检查

在PLC和运行STEP7Micro/WIN32的PC连线后,在建立通信或编辑通信设置以前,应根据PLC的类型进行范围检查。必须保证STEP7Micro/WIN32中PLC类型选择与实际PLC类型相符。方法如下: 

选择菜单PLC→“类型” →“读取PLC”或“指令树”→“项目”名称→“类型”→“读取PLC”。

“PLC类型”对话框如图333所示。



图333“PLC类型”对话框


3.6.2STEP7Mirco/WIN32主要编程功能
1. 编程元素及项目组件

S7200的三种程序组织单位(POU)指主程序、子程序和中断程序。STEP7Micro/WIN32为每个控制程序在程序编辑器窗口提供分开的制表符,主程序总是第一个制表符,后面是子程序或中断程序。

一个项目(Project)包括的基本组件有程序块、数据块、系统块、符号表、状态图表和交叉引用表。程序块、数据块和系统块须下载到PLC,而符号表、状态图表和交叉引用表不下载到PLC。

程序块由可执行代码和注释组成,其中可执行代码由一个主程序和可选子程序或中断程序组成。程序代码被编译并下载到PLC,程序注释则被忽略。在“指令树”中,右击“程序块”图标可以插入子程序和中断程序。

数据块由数据(包括初始内存值和常数值)和注释两部分组成。数据被编译后,下载到可编程控制器,注释被忽略。

系统块用来设置系统的参数,包括通信口配置信息、保留范围、模拟和数字输入过滤器、背景时间、密码、脉冲截取位和输出表等选项。系统块如图334所示。单击“浏览栏”上的“系统块”按钮,或者单击“指令树”内的“系统块”图标,可查看并编辑系统块。系统块的信息须下载到可编程控制器,为PLC提供新的系统配置。



图334“系统块”对话框


符号表、状态图表和交叉引用表在前面已经介绍过,这里不再介绍。

2. 梯形图程序的输入

1) 建立项目

(1) 打开已有的项目文件。

常用的方法如下: 

① 选择菜单“文件”→“打开”,在“打开文件”对话框中,选择项目的路径及名称,单击“确定”按钮,打开现有项目。

② 在“文件”菜单底部列出了最近工作过的项目名称,选择文件名,直接选择打开。

③ 利用Windows资源管理器,选择扩展名为.mwp的文件打开。

(2) 创建新项目。

① 单击“新建”快捷按钮; 

② 选择菜单“文件”→“新建”; 

③ 单击浏览条中的“程序块”图标,新建一个项目。

2) 输入程序

打开项目后就可以进行编程,本书主要介绍梯形图的相关的操作。

(1) 输入指令。

梯形图的元素主要有接点、线圈和指令盒,梯形图的每个网络必须从接点开始,以线圈或没有ENO输出的指令盒结束。线圈不允许串联使用。

要输入梯形图指令首先要进入梯形图编辑器,如下。

① 选择“检视”→“梯形图”选项。

② 接着在梯形图编辑器中输入指令。输入指令可以通过指令树、工具条按钮、快捷键等方法。

③ 在指令树中选择需要的指令,拖曳到需要位置。

④ 将光标放在需要的位置,在指令树中双击需要的指令。

⑤ 将光标放到需要的位置,单击工具栏指令按钮,打开一个通用指令窗口,选择需要的指令。

⑥ 使用功能键: F4=接点,F6=线圈,F9=指令盒,打开一个通用指令窗口,选择需要的指令。

⑦ 当编程元件图形出现在指定位置后,再单击编程元件符号的“???”,输入操作数。红色字样显示语法出错,当把不合法的地址或符号改变为合法值时,红色消失。若数值下面出现红色的波浪线,表示输入的操作数超出范围或与指令的类型不匹配。

(2) 上下线的操作。

将光标移到要合并的触点处,单击上行线或下行线按钮。

(3) 输入程序注释。

LAD编辑器中共有4个注释级别: 项目组件(POU)注释、网络标题、网络注释、项目组件属性。

项目组件(POU)注释: 单击“网络1”上方的灰色方框,输入POU注释。单击“切换POU注释”按钮或者选择菜单“检视”→“POU注释”选项,可在POU注释“打开”(可视)或“关闭”(隐藏)之间切换。

每条POU注释所允许使用的最大字符数为4096。可视时,始终位于POU顶端,并在第一个网络之前显示。

网络标题: 将光标放在网络标题行,输入一个便于识别该逻辑网络的标题。网络标题中可允许使用的最大字符数为127。

网络注释: 将光标移到网络标号下方的灰色方框中,可以输入网络注释。网络注释可对网络的内容进行简单的说明,以便于程序的理解和阅读。网络注释中可允许使用的最大字符数为4096。

单击“切换网络注释”按钮或者选择菜单“检视” →“网络注释”,可在网络注释“打开”(可视)和“关闭”(隐藏)之间切换。

项目组件属性: 存取“属性”标签。用鼠标右击“指令树”中的POU “属性”。右击程序编辑器窗口中的任何一个POU标签,并从弹出菜单选择“属性”,如图335所示。



图335MAIN对话框


MAIN对话框中有两个标签: 一般和保护。选择“一般”可为子程序、中断程序和主程序块(OB1)重新编号和重新命名,并为项目指定一个作者。选择“保护”则可以选择一个密码保护POU,以便其他用户无法看到该POU,并在下载时加密。若用密码保护POU,则勾选“用密码保护该POU”复选框。输入一个4字符的密码并核实该密码,如图336所示。



图336MAIN对话框“保护”标签


(4) 程序的编辑。

剪切、复制、粘贴或删除多个网络: 用Shift+鼠标单击,可以选择多个相邻的网络,进行剪切、复制、粘贴或删除等操作。注意不能选择部分网络,只能选择整个网络。

编辑单元格、指令、地址和网络: 用光标选中需要进行编辑的单元,右击弹出快捷菜单,可以进行插入或删除行、列、垂直线或水平线的操作。删除垂直线时把方框放在垂直线左边单元上,删除时选“行”,或按Del键。进行插入编辑时,先将方框移至欲插入的位置,然后选“列”。

(5) 程序的编译。

程序经过编译后方可下载到PLC。编译的方法如下。

单击“编译”按钮或选择菜单PLC→“编译”,编译当前被激活的窗口中的程序块或数据块。

单击“全部编译”按钮或选择菜单PLC→“全部编译”,编译全部项目元件(程序块、数据块和系统块)。使用“全部编译”时与哪一个窗口是活动窗口无关。

编译结束后,输出窗口显示编译结果。

3. 数据块编辑

数据块用来对变量存储器V赋初值,可用字节、字或双字赋值。注释(前面带双斜线)是可选项目,如图337所示。编写的数据块被编译后,下载到可编程控制器,注释被忽略。



图337“数据块”对话框


数据块的第一行必须包含一个明确地址,以后的行可包含明确或隐含地址。在单地址后键入多个数据值或键入仅包含数据值的行时,由编辑器指定隐含地址。编辑器根据先前的地址分配及数据长度(字节、字或双字)指定适当的V内存数量。

数据块编辑器是一种自由格式文本编辑器,键入一行后按Enter键,数据块编辑器格式化行(对齐地址列、数据、注解,捕获V内存地址)并重新显示。数据块编辑器接受大小写字母并允许使用逗号、制表符或空格作为地址和数据值之间的分隔符。

在数据块编辑器中使用“剪切”、“复制”和“粘贴”命令将数据块源文本送入或送出STEP7Micro/WIN32。

数据块需要下载至PLC后才起作用。

4. 符号表操作

1) 在符号表中符号赋值的方法

(1) 建立符号表,单击浏览条中的“符号表”按钮,符号表见图338。



图338符号表


(2) 在“符号”列输入符号名(如起动),最大符号长度为23字符。注意在给符号指定地址之前,该符号下有绿色波浪下画线。在给符号指定地址后,绿色波浪下画线自动消失。如果选择同时显示项目操作数的符号和地址,则较长的符号名在LAD、FBD和STL程序编辑器窗口中被一个波浪号(~)截断。可将鼠标放在被截断的名称上,在工具提示中查看全名。

(3) 在“地址”列中输入地址(如I0.0)。

(4) 输入注解(此为可选项,最多允许79字符)。

(5) 符号表建立后,选择菜单“检视”→“符号编址”,直接地址将转换成符号表中对应的符号名。并且可选择菜单“工具”→“选项”→“程序编辑器”标签→“符号编址”,来选择操作数显示的形式,如选择“显示符号和地址”,则对应的梯形图如图339所示。



图339带符号表的梯形图


(6) 通过菜单“检视”→“符号信息表”,可选择符号表的显示与否。选择“检视”→ “符号编址”,可选择是否将直接地址转换成对应的符号名。

在STEP7Micro/WIN32中,可以建立多个符号表(SIMATIC编程模式)或多个全局变量表(IEC1131—3编程模式)。但不允许将相同的字符串多次用作全局符号赋值,在单个符号表中和几个表内均不得如此。

2) 在符号表中插入行

使用下列方法之一在符号表中插入行。 

① 选择菜单“编辑”→“插入” → “行”,将在符号表光标的当前位置上方插入新行。

② 用鼠标右击符号表中的一个单元格,选择弹出菜单中的命令“插入” →“行”。将在光标的当前位置上方插入新行。

③ 在符号表底部插入新行,将光标放在最后一行的任意一个单元格中,按下箭头键。

3) 建立多个符号表

默认情况下,符号表窗口显示一个符号名称(USR1)的标签。可用下列方法建立多个符号表。

① 从“指令树”用鼠标右击“符号表”文件夹,在弹出菜单命令中选择“插入符号表”。

② 打开符号表窗口,选择“编辑”菜单,或用鼠标右击,在弹出菜单中选择“插入” →“表格”。

③ 插入新符号表后,新的符号表标签会出现在符号表窗口的底部。在打开符号表时,要选择正确的标签。双击或右击标签,可为标签重新命名。

3.6.3通信
1. 通信网络的配置

通过下面的方法测试通信网络。

(1) 在STEP7Micro/WIN32中,单击浏览条中的“通信”图标,或选择菜单“检视”→“元件”→“通信”。

(2) 从“通信”对话框(见图340)的右侧窗格,单击显示“双击刷新”的蓝色文字。如果建立了个人计算机与PLC之间的通信,则会显示一个设备列表。



图340“通信”对话框


STEP7Micro/WIN32在同一时间仅与一个PLC通信,会在PLC周围显示一个红色方框,说明该PLC目前正在与STEP7Micro/WIN32通信。

2. 下载、上载

1) 下载

如果已经成功地在运行STEP7Micro/WIN32的个人计算机和PLC之间建立了通信,就可以将编译好的程序下载至该PLC。如果PLC中已经有内容将被覆盖,下载步骤如下。

(1) 下载之前,PLC必须位于“停止”的工作方式。检查PLC上的工作方式指示灯,如果PLC没有在“停止”工作方式,则单击工具条中的“停止”按钮,将PLC置于停止方式。

(2) 单击工具条中的“下载”按钮,或选择菜单“文件”→“下载”,出现“下载”对话框。

(3) 根据默认值,在初次发出下载命令时,“程序代码块”、“数据块”和“CPU配置”(系统块)复选框都被选中。如果不需要下载某个块,则可以清除该复选框。

(4) 单击“确定”按钮,开始下载程序。如果下载成功,将出现一个确认框,会显示“下载成功”。

(5) 如果STEP7Micro/WIN32中的CPU类型与实际的PLC不匹配,会显示以下警告信息: “为项目所选的PLC类型与远程PLC类型不匹配。继续下载吗?”

(6) 此时应纠正PLC类型选项,选择“否”,终止下载程序。

(7) 选择菜单PLC→“类型”,弹出“PLC类型”对话框。单击“读取PLC”按钮,由STEP7Micro/WIN32自动读取正确的数值。单击“确定”按钮,确认PLC类型。

(8) 单击工具条中的“下载”按钮,重新开始下载程序,或选择菜单“文件”→“下载”。下载成功后,单击工具条中的“运行”按钮,或选择PLC→“运行”,PLC进入RUN(运行)工作方式。

2) 上载

用下面的方法从PLC将项目元件上载到STEP7Micro/WIN32程序编辑器。

① 单击“上载”按钮。

② 选择菜单“文件”→“上载”。

③ 按快捷键Ctrl+U。

执行的步骤与下载基本相同,选择需要上载的块(程序块、数据块或系统块),单击“上载”按钮,上载的程序将从PLC复制到当前打开的项目中,随后即可保存上载的程序。

3.6.4程序的调试与监控

在运行STEP7Micro/WIN32编程设备和PLC之间建立通信并向PLC下载程序后,便可运行程序,收集状态进行监控和调试程序。

1. 选择工作方式

PLC有运行(RUN)和停止(STOP)两种工作方式。在不同的工作方式下,PLC进行调试的操作方法不同。

单击工具栏中的“运行”按钮或“停止”按钮可以进入相应的工作方式。

1) 选择STOP工作方式

在STOP工作方式中,可以创建和编辑程序,PLC处于半空闲状态: 停止用户程序执行; 执行输入更新; 用户中断条件被禁用。PLC操作系统继续监控PLC,将状态数据传递给STEP7Micro/WIN32,并执行所有的“强制”或“取消强制”命令。当PLC位于STOP工作方式时,可以进行下列操作。

(1) 使用图状态或程序状态检视操作数的当前值(因为程序未执行,这一步骤等同于执行“单次读取”)。

(2) 可以使用图状态或程序状态强制数值。使用图状态写入数值。

(3) 写入或强制输出。

(4) 执行有限次扫描,并通过状态图或程序状态观察结果。

2) 选择RUN工作方式

当PLC位于RUN工作方式时,不能使用“首次扫描”或“多次扫描”功能。可以在状态图表中写入和强制数值,或使用LAD或FBD程序编辑器强制数值,方法与在STOP工作方式中强制数值相同。还可以执行下列操作(不能在STOP工作方式使用)。

(1) 使用图状态收集PLC数据值的连续更新。如果希望使用单次更新,图状态必须关闭,才能使用“单次读取”命令。

(2) 使用程序状态收集PLC数据值的连续更新。

(3) 使用RUN工作方式中的“程序编辑”编辑程序,并将改动下载至PLC。

2. 程序状态显示

当程序下载至PLC后,可以用“程序状态”功能操作和测试程序网络。

1) 起动程序状态

在程序编辑器窗口,显示希望测试的程序部分和网络。

PLC置于RUN工作方式,起动程序状态监控改动PLC数据值的方法如下。

单击“程序状态打开/关闭”按钮或选择菜单“调试”→ “程序状态”,在梯形图中显示出各元件的状态。在进入“程序状态”的梯形图中,用彩色块表示位操作数的线圈得电或触点闭合状态。如: 表示触点闭合状态,表示位操作数的线圈得电。

选择菜单“工具” →“选项”打开的窗口中,可选择设置梯形图中功能块的大小、显示的方式和彩色块的颜色等。

运行中的梯形图内各元件的状态将随程序执行过程连续更新变换。

2) 用程序状态模拟进程条件(读取、强制、取消强制和全部取消强制)

通过在程序状态中从程序编辑器向操作数写入或强制新数值的方法,可以模拟进程条件。单击“程序状态”按钮,开始监控数据状态,并起用调试工具。

(1) 写入操作数。

直接单击操作数(不要单击指令),然后用鼠标右击操作数,并从弹出菜单中选择“写入”。

(2) 强制单个操作数。

直接单击操作数(不是指令),然后从“调试”工具条单击“强制”图标。

直接用鼠标右击操作数(不是指令),并从弹出菜单中选择“强制”。

(3) 单个操作数取消强制。

① 直接单击操作数(不是指令),然后从“调试”工具条单击“取消强制”图标。

② 直接用鼠标右击操作数(不是指令),并从弹出菜单选择“取消强制”。

(4) 全部强制数值取消强制。

可从“调试”工具条单击“全部取消强制”图标。强制数据用于立即读取或立即写入指令指定I/O点,CPU进入STOP状态时,输出将为强制数值,而不是系统块中设置的数值。

注意:  在程序中强制数值时,在程序每次扫描时将操作数重设为该数值,与输入/输出条件或其他正常情况下对操作数有影响的程序逻辑无关。强制可能导致程序操作无法预料,可能导致人员死亡或严重伤害或设备损坏。强制功能是调试程序的辅助工具,切勿为了弥补处理装置的故障而执行强制。仅限合格人员使用强制功能。强制程序数值后,务必通知所有授权维修或调试程序的人员。在不带负载的情况下调试程序时,可以使用强制功能。

3) 识别强制图标

被强制的数据处将显示一个图标。

(1) 黄色锁定图标表示显示强制,即该数值已经被“明确”或直接强制为当前正在显示的数值。

(2) 灰色隐去锁定图标表示隐式,该数值已经被“隐含”强制,即不对地址进行直接强制,但内存区落入另一个被明确强制的较大区域中。例如,如果VW0被显示强制,则VB0和VB1被隐含强制,因为它们包含在VW0中。

(3) 半块图标表示部分强制,例如,VB1被明确强制,则VW0被部分强制,因为其中的一个字节VB1被强制。

3. 状态图显示

可以建立一个或多个状态图,用来监管和调试程序操作。打开状态图可以观察或编辑图的内容,起动状态图可以收集状态信息。

1) 打开状态图

用以下方法可以打开状态图。 

① 单击浏览条上的“状态图”按钮。

② 选择菜单“检视”→ “元件” → “状态图”。

③ 打开指令树中的“状态图”文件夹,然后双击“图”图标。

如果在项目中有多个状态图,可使用“状态图”窗口底部的“图”标签,可在状态图之间移动。

2) 状态图的创建和编辑

(1) 建立状态图。

打开一个空状态图,可以输入地址或定义符号名,从程序监管或修改数值。按以下步骤定义状态图,如图341所示。



图341状态图举例


① 在“地址”列输入存储器的地址(或符号名)。

② 在“格式”列选择数值的显示方式。如果操作数是位(例如,I、Q或M),则格式中被设为位。如果操作数是字节、字或双字,则选中“格式”列中的单元格,并双击或按空格键或Enter键,浏览有效格式并选择适当的格式。定时器或计数器数值可以显示为位或字。如果将定时器或计数器地址格式设置为位,则会显示输出状态(输出打开或关闭)。如果将定时器或计数器地址格式设置为字,则使用当前值。

还可以按下面的方法更快的建立状态图,如图342所示。



图342选中程序代码建立状态图


选中程序代码的一部分,右击鼠标,弹出菜单,选择“建立状态图”。新状态图包含选中程序中每个操作数的一个条目。条目按照其在程序中出现的顺序排列,状态图有一个默认名称。新状态图被增加在状态图编辑器中的最后一个标记之后。

每次选择建立状态图时,只能增加前150个地址。一个项目最多可存储32个状态图。

(2) 编辑状态图。

在状态图修改过程中,可采用下列方法。

① 插入新行。使用“编辑”菜单或用鼠标右击状态图中的一个单元格,从弹出菜单中选择“插入”→“行”。新行被插入在状态图中光标当前位置的上方。还可以将光标放在最后一行的任何一个单元格中,并按下箭头键,在状态图底部插入一行。

② 删除一个单元格或行。选中单元格或行,用鼠标右击,从弹出菜单命令中选择“删除” →“选项”。如果删除一行,则其后的行(如果有)则向上移动一行。

③ 选择一整行(用于剪切或复制)。单击行号。

④ 选择整个状态图。在行号上方的左上角单击。

(3) 建立多个状态图。

用下面的方法可以建立一个新状态图。 

① 在指令树中用鼠标右击“状态图”文件夹,弹出菜单命令,选择“插入”→“图”。

② 打开状态图窗口,使用“编辑”菜单或用鼠标右击,在弹出菜单中选择“插入” →“图”。

3) 状态图的起动与监视

(1) 状态图起动和关闭。

打开状态图连续收集状态图信息,用下面的方法。 

选择菜单“调试”→“图状态”或使用工具条按钮“图状态”。再操作一次可关闭状态图。状态图起动后,便不能再编辑状态图。

(2) 单次读取与连续图状态。

状态图被关闭时(未起动),可以使用“单次读取”功能,方法如下。

选择菜单“调试” → “单次读取”或使用工具条按钮“单次读取”。

单次读取可以从可编程控制器收集当前的数据,并在表中当前值列显示出来,且在执行用户程序时并不对其更新。

状态图被起动后,使用“图状态”功能,将连续收集状态图信息,方法如下。

选择菜单“调试” → “图状态”或使用“图状态”工具条按钮。

(3) 写入与强制数值

全部写入: 对状态图内的新数值改动完成后,可利用全部写入将所有改动传送至可编程控制器。物理输入点不能用此功能改动。

强制: 在状态图的地址列中选中一个操作数,在新数值列写入模拟实际条件的数值,然后单击工具条中的“强制”按钮。一旦使用“强制”,每次扫描都会将强制数值应用于该地址,直至对该地址“取消强制”。

取消强制: 和“程序状态”的操作方法相同。

4. 执行有限次扫描

可以指定PLC对程序执行有限次数扫描(从1次扫描到65535次扫描),通过指定PLC运行的扫描次数,可以监控程序过程变量的改变。第一次扫描时,SM0.1数值为1。

1) 执行单次扫描

“单次扫描”使PLC从STOP转变成RUN,执行单次扫描,然后再转回STOP,因此与第一次相关的状态信息不会消失。操作步骤如下。

(1) PLC必须位于STOP模式。如果不在STOP模式,则将PLC转换成STOP模式。

(2) 选择菜单“调试”→ “首次扫描”。




图343“执行扫描”对话框


2) 执行多次扫描

步骤如下。

(1) PLC必须位于STOP模式。如果不在STOP模式,则将PLC转换成STOP模式。

(2) 使用菜单“调试”→“多次扫描”,出现“执行扫描”对话框,如图343所示。

(3) 输入所需的扫描次数数值,单击“确定”按钮。

5. 查看交叉引用

用下列方法打开“交叉引用”窗口。

 选择菜单“检视”→“交叉引用”或单击浏览条中的“交叉引用”按钮。

 单击“交叉引用”窗口底部的标签,可以查看“交叉引用”表、“字节用法”表或“位用法”表。

1) “字节用法”表

(1) 用“字节用法”表查看程序中使用的字节以及在哪些内存区使用。在“字节用法”表中,b表示已经指定一个内存位; B表示已经指定一个内存字节; W表示已经指定一个字(16位); D表示已经指定一个双字(32位); X用于计时器和计数器。如图344所示字节用法表显示相关程序使用下列内存位置: MB0中一个位、计数器C30、计时器T37。



图344“字节用法”表


(2) 用“字节用法”表检查重复赋值错误。如图345所示,双字要求4字节,VB0行中应有4个相邻的D。字要求2字节,VB0中应有2个相邻的W。MB10行存在相同的问题,此外在多个赋值语句中使用MB10.0。



图345用“字节用法”表检查重复赋值错误举例


2)  “位用法”表

(1) 用“位用法”表查看程序中已经使用的位,以及在哪些内存使用。如图346所示“位用法”表显示相关程序使用下列内存位置: 字节IB0的位0、1、2、3、4、5和7; 字节QB0的位0、1、2、3、4和5; 字节MB0的位1。



图346“位用法”表


(2) 用“位用法”表识别重复赋值错误。在正确的赋值程序中,字节中间不得有位值。如图347所示,BBBBBBBb无效,而BBBBBBBB有效。相同的规定也适用于字赋值(应有16个相邻的位)和双字赋值(应有32个相邻的位)。



图347用“位用法”表识别重复赋值错误举例


3.6.5项目管理
1. 打印

1) 打印程序和项目文档的方法

用下面的方法打印程序和项目文档。

(1) 单击“打印”按钮。

(2) 选择菜单“文件”→“打印”。

(3) 按Ctrl+P快捷键。

2) 打印单个项目元件网络和行

以下方法可以从单个程序块打印一系列网络,或从单个符号表或状态图打印一系列行。

(1) 选择适当的复选框,并使用“范围”域指定打印的元素。

(2) 选中一段文本、网络或行,并选择“打印”。此时应检查以下条目: 在“打印目录/次序”帧中写入的正确编辑器; 在“范围”条目框中选择正确的POU(如适用); POU“范围”条目框空闲正确的单选按钮; “范围”条目框中显示正确的数字。

如图348所示,从USR1符号表打印行6~20,则应采取以下方法。

仅选择“打印目录/次序”题目下方的“符号表”复选框以及“范围”下方的USR1复选框,定义打印范围为6~20,在符号表中增亮6~20行,并选择“打印”。



图348打印目录/次序


2. 复制项目

在STEP7Micro/WIN32项目中可以复制文本或数据域、指令、单个网络、多个相邻的网络、POU中的所有网络、状态图行或列或整个状态图、符号表行或列或整个符号表、数据块。但不能同时选择或复制多个不相邻的网络。不能从一个局部变量表成块复制数据并粘贴至另一个局部变量表,因为每个表的只读L内存赋值必须唯一。

剪切、复制或删除LAD或FBD程序中的整个网络,必须将光标放在网络标题上。

3. 导入文件

从STEP7Micro/WIN32之外导入程序,可使用“导入”命令导入ASCII文本文件。“导入”命令不允许导入数据块。打开新的或现有项目,才能使用“文件”→“导入”命令。

如果导入OB1(主程序),会删除所有现有POU。然后,用作为OB1和所有作为ASCII文本文件组成部分的子程序或中断程序的ASCII数据创建程序组织单元。

如果只导入子程序或中断程序(ASCII文本文件中无定义的主程序),则ASCII文本文件中定义的POU将取代所有现有STEP7Micro/WIN32项目中对应号码的POU(如果STEP7Micro/WIN32项目未空置)。现有STEP7Micro/WIN32项目的主程序以及未在ASCII文本文件中定义的所有STEP7Micro/WIN32 POU均被保留。

如现有STEP7Micro/WIN32项目中可能包括OB1和SUB1、SUB3和SUB5,然后从一个ASCII文本文件导入SUB2、SUB3和SUB4。最后得到的项目为OB1(来自STEP7Micro/WIN32项目)、SUB1(来自STEP7Micro/WIN32项目)、SUB2(来自ASCII文本文件)、SUB3(来自ASCII文本文件)、SUB4(来自ASCII文本文件)、SUB5(来自STEP7Micro/WIN32项目)。

4. 导出文件

将程序导出到STEP7Micro/WIN32之外的编辑器,可以使用“导出”命令创建ASCII文本文件。默认文件扩展名为.awl,可以指定任何文件名称。程序只有成功通过编译才能执行“导出”操作。“导出”命令不允许导出数据块。打开一个新项目或旧项目,才能使用“导出”功能。

用“导出”命令按下列方法导出现有POU(主程序、子例行程序和中断例行程序): 如果导出OB1(主程序),则所有现有项目POU均作为ASCII文本文件组合和导出; 导出子例行程序或中断例行程序,则当前打开编辑的单个POU作为ASCII文本文件导出。

3.7S7200系列PLC的装配、检测和维护

PLC虽然是一个故障率极低、安装方便的控制器系统,然而与其他设备一样,也需要正确的安装以及经常性的维护检测,来保证系统的稳定、可靠工作。

1.  PLC安装

1) 安装方式

S7200的安装方法有两种: 底板安装和DIN导轨安装。底板安装是利用PLC机体外壳四个角上的安装孔,用螺钉将其固定在底板上。DIN导轨安装是利用模块上的DIN夹子,把模块固定在一个标准的DIN导轨上。导轨安装既可以水平安装,也可以垂直安装。

2) 安装环境

PLC适用于工业现场,为了保证其工作的可靠性、延长PLC的使用寿命,安装时要注意周围的环境条件: 环境温度在0~55℃范围内; 相对湿度在35%~85%范围内(无结霜); 周围无易燃或腐蚀性气体、过量的灰尘和金属颗粒; 避免过度的震动和冲击; 避免太阳光的直射和水的溅射。

3) 安装注意事项

除了环境因素,安装时还应注意: PLC的所有单元都应在断电时安装、拆卸; 切勿将导线头、金属屑等杂物落入机体内; 模块周围应留出一定的空间,以便于机体周围的通风和散热。此外,为了防止高电子噪声对模块的干扰,应尽可能将S7200模块与产生高电子噪声的设备(如变频器)分隔开。

2.  PLC的配线

PLC的配线主要包括电源接线与接地、I/O接线和对扩展单元的接线等。

1) 电源接线与接地

PLC的工作电源有120/230V单相交流电源和24V直流电源。系统的大多数干扰往往通过电源进入PLC,在干扰强或可靠性要求高的场合,动力部分、控制部分、PLC自身电源及I/O回路的电源应分开配线,用带屏蔽层的隔离变压器给PLC供电。隔离变压器的一次侧最好接380V,这样可以避免接地电流的干扰。输入用的外接直流电源最好采用稳压电源,因为整流滤波电源有较大的波纹,容易引起误动作。

良好的接地是抑制噪声干扰和电压冲击,保证PLC可靠工作的重要条件。PLC系统接地的基本原则是单点接地,一般用独自的接地装置单独接地,接地线应尽量短,一般不超过20m,使接地点尽量靠近PLC。

交流电源接线如图349所示。说明如下。

(1) 用一个单极开关a将电源与CPU所有的输入电路和输出(负载)电路隔开。

(2) 用一台过流保护设备b以保护CPU的电源输出点以及输入点,也可以为每个输出点加上保险丝。

(3) 当使用Micro PLC 24V DC传感器电源c时可以取消输入点的外部过流保护,因为该传感器电源具有短路保护功能。

(4) 将S7200的所有地线端子同最近接地点d相连接,以提高抗干扰能力。所有的接地端子都使用14 AWG或1.5mm2的电线连接到独立接地点上(也称一点接地)。

(5) 本机单元的直流传感器电源可用来为本机单元的直流输入e、扩展模块f,以及输出扩展模块g供电。传感器电源具有短路保护功能。

(6) 在安装中如果把传感器的供电M端子接到地上h可以抑制噪声。



图349120/230V交流电源接线


直流电源接线如图350所示。说明如下。

(1) 用一个单极开关a将电源同CPU所有的输入电路和输出(负载)电路隔开。

(2) 用过流保护设备b、c、d来保护CPU电源、输出点,以及输入点,或在每个输出点加上保险丝进行过流保护。当使用Micro 24V DC传感器电源时不用输入点的外部过流保护。因为传感器电源内部具有限流功能。

(3) 用外部电容e来保证在负载突变时得到一个稳定的直流电压。

(4) 在应用中把所有的DC电源接地或浮地f(即把全机浮空,整个系统与大地的绝缘电阻不能小于50MΩ),可以抑制噪声,在未接地DC电源的公共端与保护线PE之间串联电阻与电容的并联回路g,电阻提供了静电释放通路,电容提供高频噪声通路。常取R=1MΩ,C=4700pf。

(5) 将S7200所有的接地端子同最近接地点h连接,采用一点接地,以提高抗干扰能力。

(6) 24V直流电源回路与设备之间,以及120/230V交流电源与危险环境之间,必须进行电气隔离。



图35024V直流电源接线


2) I/O接线和对扩展单元的接线

可编程控制器的输入接线是指外部开关设备PLC输入端口的连接线。输出接线是指将输出信号通过输出端子送到受控负载的外部接线。

I/O接线时应注意I/O线与动力线、电源线应分开布线,并保持一定的距离,如需在一个线槽中布线时,须使用屏蔽电缆; I/O线的距离一般不超过300m; 交流线与直流线、输入线与输出线应分别使用不同的电缆; 数字量和模拟量I/O应分开走线,传送模拟量I/O线应使用屏蔽线,且屏蔽层应一端接地。

PLC的基本单元与各扩展单元的连接比较简单,接线时先断开电源,将扁平电缆的一端插入对应的插口即可。PLC的基本单元与各扩展单元之间电缆传送的信号小,频率高,易受干扰。因此不能与其他连线敷设在同一线槽内。

3. PLC的自动检测功能及故障诊断

PLC具有很完善的自诊断功能,如出现故障,借助自诊断程序可以方便地找到出现故障的部件,更换后就可以恢复正常工作。故障处理的方法可参看S7200系统手册的故障处理指南。实践证明,外部设备的故障率远高于PLC,而这些设备故障时,PLC不会自动停机,可能使故障范围扩大。为了及时发现故障,可用梯形图程序实现故障的自诊断和自处理。

1) 超时检测

机械设备在各工步的所需的时间基本不变,因此可以时间为参考,在可编程控制器发出信号,相应的外部执行机构开始动作时起动一个定时器开始定计时,定时器的设定值比正常情况下该动作的持续时间长20%左右。如某执行机构在正常情况下运行10s后,使限位开关动作,发出动作结束的信号。在该执行机构开始动作时起动设定值为12s的定时器定时,若12s后还没有收到动作结束的信号,则由定时器的常开触点发出故障信号,该信号停止正常的程序,起动报警和故障显示程序,使操作人员和维修人员能迅速判别故障的种类,及时采取排除故障的措施。

2) 逻辑错误检查

在系统正常运行时,PLC的输入、输出信号和内部的信号(如存储器的状态)相互之间存在着确定的关系,如出现异常的逻辑信号,则说明出了故障。因此可以编制一些常见故障的异常逻辑关系,一旦异常逻辑关系状态为ON,就应按故障处理。如机械运动过程中先后有两个限位开关动作,这两个信号不会同时接通,若它们同时接通,说明至少有一个限位开关被卡死,应停机进行处理。在梯形图中,用这两个限位开关对应的存储器位的常开触点串联,来驱动一个表示限位开关故障的存储器的位就可以进行检测。

4.  PLC的维护与检修

虽然PLC的故障率很低,由PLC构成的控制系统可以长期稳定和可靠的工作,但对它进行维护和检查是必不可少的。一般每半年应对PLC系统进行一次周期性检查。检修内容如下。

(1) 供电电源。查看PLC的供电电压是否在标准范围内。交流电源工作电压的范围为85~264V,直流电源电压应为24V。

(2) 环境条件。查看控制柜内的温度是否在0~55℃范围内,相对湿度是否在35%~85%范围内,以及是否有粉尘、铁屑等积尘。

(3) 安装条件。查看连接电缆的连接器是否完全插入旋紧,螺钉是否松动,各单元是否可靠固定、有无松动。

(4) I/O端电压。均应在工作要求的电压范围内。

习题与思考题

31可编程控制器有哪些主要功能与特点?

32可编程控制器发展方向是什么? 

33与继电接触器控制系统相比,可编程控制系统有哪些优点?

34S7200系列PLC有哪些编址方式?



图351梯形图程序题39图


35S7200系列PLC的结构组成有哪些?

36CPU224 PLC有哪些元件(内部资源)?它们的作用是什么?

37举例分析PLC周期扫描工作的过程。

38CPU224 PLC工作方式有哪些?根据PLC的工作方式,分析图351中PLC梯形图程序,简述I0.0为高电平后,其余元件Q0.0、Q0.1、Q0.2得电的顺序。

39如图351所示,如何建立项目?如何在LAD中输入程序注解?

310如何打开交叉引用表?交叉引用表的作用是什么?