pgPLC电气控制与组态设计

上传人:M****1 文档编号:578664755 上传时间:2024-08-24 格式:PPT 页数:390 大小:8.44MB
返回 下载 相关 举报
pgPLC电气控制与组态设计_第1页
第1页 / 共390页
pgPLC电气控制与组态设计_第2页
第2页 / 共390页
pgPLC电气控制与组态设计_第3页
第3页 / 共390页
pgPLC电气控制与组态设计_第4页
第4页 / 共390页
pgPLC电气控制与组态设计_第5页
第5页 / 共390页
点击查看更多>>
资源描述

《pgPLC电气控制与组态设计》由会员分享,可在线阅读,更多相关《pgPLC电气控制与组态设计(390页珍藏版)》请在金锄头文库上搜索。

1、哈尔滨理工大学哈尔滨理工大学哈尔滨理工大学哈尔滨理工大学 周美兰周美兰周美兰周美兰 周封周封周封周封 王岳宇王岳宇王岳宇王岳宇8/24/20241可编程序控制器问世于1969年。是美国汽车制造工业激烈竞争的结果。更新汽车型号必然要求加工生产线改变。正是从汽车制造业开始了对传统继电器控制的挑战。1968年美国General Motors公司,要求制造商为其装配线提供一种新型的通用程序控制器,并提出10项招标指标。这就是著名的GM 10条。第一章 可编程控制器的基本知识第一节第一节 可编程控制器的产生和发展可编程控制器的产生和发展一、可编程控制器的产生8/24/202421.编程简单,可在现场修改

2、程序;2.可靠性高于继电器控制柜;3.体积小于继电器控制柜;4.维护方便,最好是插件式;5.可将数据直接送入管理计算机;6.在成本上可与继电器控制柜竞争;7.输入可以是交流115V;8.输出为交流115V、2A以上,能直接驱动电磁阀等;9.在扩展时,原系统只需很小变更;10.用户程序存贮器容量至少能扩展到4K。GM10条是可编程序控制器出现的直接原因:8/24/202432可编程控制器的发展及定义 1969年,美国数据设备公司(DEC)研制出世界上第一台可编程控制器,并成功地应用在GM公司的生产线上。这一时期它主要用于顺序控制,只能进行逻辑运算,故称为可编程逻辑控制器,简称PLC(Progra

3、mmable Logic Controller)PLC(Programmable Logic Controller)。 70年代后期,随着微电子技术和计算机技术的迅猛发展,使PLC从开关量的逻辑控制扩展到数字控制及生产过程控制领域,真正成为一种电子计算机工业控制装置,故称为可编程控制器,简称PC(Programmable Controller)。但由于PC容易和个人计算机 (Personal Computer)相混淆,故人们仍习惯地用PLC作为可编程控制器的缩写。8/24/20244 1985年1月国际电工委员会的定义国际电工委员会的定义: “可编程序控制器是一种数字运算的电子系统,专为工业环

4、境下应用而设计。它采用可编程序的存储器,用来在内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,并通过数字式、模拟式的输入和输出,控制各种类型的机械或生产过程。可编程序控制器及其有关设备,都应按易于与工业控制系统联成一个整体,易于扩充的原则设计”。8/24/202453PLC与传统的继电器逻辑相比 1.可靠性高、逻辑功能强、体积小。2.在需要大量中间继电器、时间继电器及计数继电器的场合,PLC 无需增加硬设备。 3.随着要求的变更随着要求的变更PLC对程序修改方便。继电对程序修改方便。继电器线路要想改变控制功能,必须变更硬接线,器线路要想改变控制功能,必须变更硬接线,灵活性差。

5、灵活性差。 4.具有网络通讯功能,可附加高性能模块对模拟量进行处理,实现各种复杂控制功能。 8/24/202464PLC与工业控制计算机相比 1.1.PLCPLC继承了继电器系统的基本格式和习惯继承了继电器系统的基本格式和习惯,对于有继电器系统方面知识和经验的人来说,尤其是现场的技术人员,学习起来十分方便。 2.PLC一般是由电气控制器的制造厂家研制生产,各各厂家的产品不通用。厂家的产品不通用。工业控制机工业控制机是由通用计算机推广应用发展起来的,一般由微机厂、芯片及板卡制造厂开发生产。它在硬件结构方面的突出优点是总总线标准化程度高,产品兼容性强。线标准化程度高,产品兼容性强。 3.PLC的运

6、行方式与工业控制机不同,微机的许多软微机的许多软件不能直接使用。件不能直接使用。工业控制机可使用通用微机的各种编程语言,对要求快速、实时性强、模型复杂的工业对象的控制占有优势。但它要求使用者具有一定的计算机专业知识。 8/24/202474.PLC和工业控制机都是专为工业现场应用环境而设计的。 都具有很高的可靠性。都具有很高的可靠性。5.PLC一般具有模块结构,可以针对不同的对可以针对不同的对象进行组合和扩展。象进行组合和扩展。 8/24/20248 第二节 可编程控制器的基本结构1 1PLCPLC的系统结构的系统结构8/24/202492PLC各部分的作用 1.CPU诊断PLC电源、内部电路

7、的工作状态及编制程序中的语法错误。采集现场的状态或数据,并送人PLC的寄存器中。逐条读取指令,完成各种运算和操作。 将处理结果送至输出端。 响应各种外部设备的工作请求。 8/24/2024102PLC各部分的作用2.存储器存储器 系统程序存储器系统程序存储器:用以存放系统管理程序、监控程序及系统内部数据。PLC出厂前已将其固化在只读存储器ROM或PROM中,用户不能更改。用户存储器:用户存储器:包括用户程序存储区及工作数据存储区。这类存储器一般由低功耗的CMOS-RAM构成,其中的存储内容可读出并更改。注意:注意: PLC产品手册中给出的“存储器类型”和“程序容量”是针对用户程序存储器而言的。

8、8/24/2024112PLC各部分的作用3.输入输出接口电路输入输出接口电路输入接口电路输入接口电路:采用光电耦合电路,将限位开关、手动开关、编码器等现场输入设备的控制信号转换成CPU所能接受和处理的数字信号。 PLC的输入接口电路(直流输入型) 8/24/2024122PLC各部分的作用输出接口电路:输出接口电路:采用光电耦合电路,将将CPUCPU处理过的信处理过的信号转换成现场需要的强电信号输出,号转换成现场需要的强电信号输出,以驱动接触器、电磁阀等外部设备的通断电。有三种类型: 继电器输出型继电器输出型继电器输出型:为有触点输出方式,用于接通或断开开关频率较低的开关频率较低的直流负载直

9、流负载或或交流负载交流负载回路回路。8/24/202413(b) 晶闸管输出型(c) 晶体管输出型(NPN集电极开路)(d) 晶体管输出型(PNP集电极开路)晶体管输出型晶体管输出型:为无触点输出方式,用于接通或断开开关频率较高的直流电源负载。晶闸管输出型:晶闸管输出型:为无触点输出方式,用于接通或断开开关频率较高的交流电源负载。8/24/2024144.4.电源电源 PLC的电源的电源是指将外部输入的交流电处理后转换成满足PLC的CPU、存储器、输人输出接口等内部电路工作需要的直流电源电路或电源模块。许多PLC的直流电源采用直流开关稳压电源,不仅可提供多路独立的电压供内部电路使用,而且还可为

10、输入设备提供标准电源。 8/24/2024155.5.手持编程器手持编程器 手持编程器采用助记符语言编程助记符语言编程,具有编辑、检索、修改程序、进行系统设置、内存监控等功能。可一机多用,具有使用方便、价格低廉的特点。缺点:缺点:不够直观不够直观 可通过PLC的RS232外设通讯口(或RS422口配以适配器)与计算机联机,利用专利用专用工具软件用工具软件(NPSTGR、FPSOFT、FPWINGR)对对PLCPLC进行编程和监控进行编程和监控。利用计算机进行编程和监控比手持编程工具更加直观和方便。8/24/2024166.6.输入输出输入输出I I0 0扩展接口扩展接口 若主机单元的IO点数不

11、能满足需要时,可通过此接口用扁平电缆线将IO扩展单元与主机相连,以增加IO点数。PLC的最大扩展能力主要受CPU寻址能力和主机驱动能力的限制。 8/24/202417 第三节 可编程控制器的原理及 技术性能1 1PLCPLC的基本工作原理的基本工作原理 微机:等待命令等待命令的工作方式 PLC:循环扫描循环扫描的工作方式 CPU从第一条指令开始按指令步序号作周期性的循环扫描,如果无跳转指令,则从第一条指令开始逐条顺序执行用户程序,直至遇到结束符后又返回第一条指令,周而复始不断循环,每一个循环称为一个扫描周期。8/24/202418 一个扫描周期主要分为三个阶段:一个扫描周期主要分为三个阶段:

12、1.输入刷新阶段 2.程序执行阶段 3.输出刷新阶段 输入刷新 程序执行输出刷新一个扫描周期输入刷新 PLC的扫描工作过程用户输出设备输入端子输入锁存器输入映象寄存器输出映象寄存器输出锁存器输出端子程序执行用户输入设备写读读8/24/2024191PLC的基本工作原理 由于输入刷新阶段是紧接输出刷新阶段后马上进行的,所以亦将这两个阶段统称为IO刷新阶段。实际上,除了执行程序和IO刷新外,PLC还要进行各种错误检测(自诊断功能)并与编程工具通讯,这些操作统称为“监视服务”。一般在程序执行后进行。 扫描周期的长短主要取决于程序的长短。 由于每一个扫描周期只进行一次I0刷新,故使系统存存在输入、输出

13、滞后现象。在输入、输出滞后现象。这对于一般的开关量控制系统不但不会造成影响,反而可以反而可以增强系统的抗干扰能力。增强系统的抗干扰能力。但对于控制时间要求较严格、响应速度要求较快的系统,就需要精心编制程序,必要时采用一些特殊功能,以减少因扫描周期造成的响应滞后。8/24/2024202PLC的主要技术指标1.输入输出点数(I/O点数)2.内存容量 注意:注意: “内存容量”实际是指用户程序容量,不包括系统程序存储器的容量。 3.扫描速度 (单位:msk或s/步。 )4.指令条数 5.内部继电器和寄存器数目 6.编程语言及编程手段 7.高级模块 主控模块可实现基本控制功能,高级模块可实现高级模块

14、可实现一些特殊的专门功能。一些特殊的专门功能。如AD和DA转换模块等 。 8/24/2024213PLC的内存分配及IO点数1.1.I I0 0继电器区:继电器区: I0区的寄存器可直接与可直接与PLCPLC外部的外部的输入、输出端子传递信息,输入、输出端子传递信息,具有“继电器”的功能,有自己的“线圈”和“触点”。故常称为“I0继电器区”。2.2.内部通用继电器区:内部通用继电器区:只能在只能在PLCPLC内部使用,内部使用,其作用与中间继电器相似,在程序控制中可存放中间变量。 3.3.数据寄存器区数据寄存器区 :只能按字使用只能按字使用,不能按位使用。一般只用来存放各种数据存放各种数据。

15、4.4.特殊继电器、寄存器区特殊继电器、寄存器区 :被系统内部占用被系统内部占用,专门用于某些特殊目的,一般不能由用户任意占用不能由用户任意占用。 5.5.系统寄存器区:系统寄存器区:用来存放各种重要信息和参数。存放各种重要信息和参数。通过用户程序,不能读取和修改系统寄存器的内容。 8/24/202422 第四节 PLC的分类及功能1PLC的分类1.按结构形式分类按结构形式分类整体式模块式 2.按功能分类低档机中档机 高档机 分分 类类I0点数点数程序容量程序容量超小型机超小型机64点以内点以内2561000字节字节小型机小型机6425613.6K字节字节中型机中型机25620483.613K

16、字节字节大型机大型机2048以上以上13K字节以上字节以上 3. 按按I IO O点数和程序容量点数和程序容量分类分类8/24/2024232PLC的主要功能1.条件控制功能2.定时计数控制功能 3.数据处理功能 4.步进控制功能 5.5.A AD D与与D DA A转换功能转换功能 6.运动控制功能 7.过程控制功能 8.8.扩展功能扩展功能 9.远程I0功能 10.通信联网功能 11.监控功能 8/24/202424 第五节 PLC的特点、应用场合和发展趋势1 1PLCPLC的主要特点的主要特点1.可靠性高、抗干扰能力强。主要有以下几个方面: 隔离隔离( (采用光电耦合器采用光电耦合器 )

17、 )滤波 对PLC的内部电源采取了屏蔽、稳压、保护等措施。 设置了连锁、环境检测与诊断、Watchdog等电路。 利用系统软件定期进行系统状态、用户程序、工作环境和故障检测。对用户程序及动态工作数据进行电池备份。 采用密封、防尘、抗振的外壳封装结构。采用密封、防尘、抗振的外壳封装结构。 以集成电路为基本元件,内部处理过程不依赖于机械触点。采用循环扫描的工作方式采用循环扫描的工作方式,也提高了抗干扰能力。 8/24/2024252.可实现三电一体化3. 将电控(逻辑控制)、电仪(过程控制)和电结(运动控制)集于一体,可以方便、灵活地组合成各种不同规模和要求的控制系统。 3.编程简单、使用方便、柔

18、性好编程简单、使用方便、柔性好4.体积小、重量轻、功耗低8/24/2024262PLC的应用场合1.逻辑控制逻辑控制 :可取代传统继电器系统和顺序控制器。如各种机床、自动电梯、装配生产线、电镀流水线、运输和检测等的控制。 2.运动控制运动控制 :可用于精密金属切削机床、机械手、机器人等设备的控制。 3.过程控制过程控制 :通过配用AD、DA转换模块及智能PID模块实现对生产过程中的温度、压力、流量、速度等连续变化的模拟量进行闭环调节控制。4.4.数据处理数据处理 5.多级控制 :利用PLC的网络通信功能模块及远程IO控制模块实现多台PLC之间、PLC与上位计算机的链接,以完成较大规模的复杂控制

19、。 8/24/2024273可编程控制器的发展趋势1.在系统构成规模上向大、小两个方向发展向大、小两个方向发展;2.功能不断增强,各种应用模块不断推出 ;3.产品更加规范化、标准化规范化、标准化 。8/24/202428 第六节 PLC的几种编程语言 不采用微机的编程语言,采用梯形图语言、指令助记符语言、控制系统流程图语言、布尔代数语言等。其中梯形图、指令助记符语言最为常梯形图、指令助记符语言最为常用。用。 PLC的设计和生产至今尚无国际统一标准,不不同厂家所用语言和符号也不尽相同。同厂家所用语言和符号也不尽相同。但它们的梯形图语言的基本结构和功能是大同小异大同小异的。 8/24/202429

20、1 1梯形图语言梯形图语言 梯形图是梯形图是在原继电器接触器控制系统的继电器梯形图基础上演变而来的一种图形语言一种图形语言。它是目前用得最多的它是目前用得最多的PLCPLC编程语言。编程语言。 注意注意:梯形图表示的并并不是一个实际电路而只是一个不是一个实际电路而只是一个控制程序,控制程序,其间的连线表示的是它们之间的逻辑关系,即所谓“软接线”。 常开触点 : 常闭触点: 线圈: 注意:注意:注意:注意:它们并非是物理实体,而是它们并非是物理实体,而是“软继电器软继电器”。每每个个“软继电器软继电器”仅对应仅对应PLCPLC存储单元中的一位。存储单元中的一位。该位状态为“1”时,对应的继电器线

21、圈接通,其常开触点闭合、常闭触点断开;状态为“0”时,对应的继电器线圈不通,其常开、常闭触点保持原态。 8/24/2024302指令助记符语言助记符语言类似于计算机汇编语言助记符语言类似于计算机汇编语言,用一些简洁易记的文字符号表达PLC的各种指令。同一厂家的PLC产品,其助记符语言与梯形图语言是相互对应的,可互相转换。助记符语言常用于手持编程器中,梯形助记符语言常用于手持编程器中,梯形图语言则多用于计算机编程环境中。图语言则多用于计算机编程环境中。 8/24/202431 FP1是一种功能很强的小型机,它的某些技术性能是一些同档次机型的小型机所不具备的。具具有通常只在大型有通常只在大型PLC

22、PLC中才具备的功能。中才具备的功能。 通过主机上配有的RS422或RS232接口,可实现PLC与PC机之间的通信,将PC机上的梯形图程序直接传送到可编程控制器中去。 有近200条的指令。数据处理功能比一般小型机强。第二章 松下电工可编程控制器产品FP1介绍 8/24/202432 第一节 FP1系列产品及技术性能1FP1系列产品类型及构成 在FP系列产品中,FP1FP1属于小型属于小型PLCPLC产品。产品。该产品系列有C14、C16、C24、C40、C56和C72型等多种规格。扩展单元有E8E40四种规格。 以以C C字母开头代表主控单元字母开头代表主控单元( (或称主机或称主机) ),以

23、,以E E字母开头代表扩展单元字母开头代表扩展单元( (或称扩展机或称扩展机) )。后面跟的数字代表。后面跟的数字代表I/OI/O点数点数。例如C24表示输入和输出点数之和为24。 8/24/202433 表表2-1 FP12-1 FP1系列系列PLCPLC主要产品规格简表主要产品规格简表品名品名类型类型I IO O点数点数内部寄存器内部寄存器工作电压工作电压输出形式输出形式C14C14标准型标准型8 86 6EEPROMEEPROMDC24VDC24V或或AC100AC100240V240V继电器、晶体继电器、晶体管(管(NPNNPN、PNPPNP)C16C16标准型标准型8 88 8C24

24、C24C24CC24C标准型标准型带带RS232RS232口和时钟日历口和时钟日历16168 8RAMRAMC40C40C40CC40C标准型标准型带带RS232RS232口和时钟日历口和时钟日历24241616C56C56C56CC56C标准型标准型带带RS232RS232口和时钟日历口和时钟日历32322424C72C72C72CC72C标准型标准型带带RS232RS232口和时钟日历口和时钟日历40403232E8E88 80 04 44 40 08 8继电器、晶体继电器、晶体管(管(NPNNPN、PNPPNP)E16E1616160 08 88 80 01616E24E2416168

25、8DC24VDC24V或或AC100AC100240V240VE40E40242416168/24/202434RS232口口电池座池座电源输入端子电源输入端子 输出端子输出端子直流电源输出端子直流电源输出端子输入端子输入端子I/O状态指示灯状态指示灯扩展插座扩展插座 方式选择开关方式选择开关 运行监视指示灯运行监视指示灯电位器(电位器(V0、V1)波特率选择开关波特率选择开关编程工具连接插座编程工具连接插座 FP1系列C24型PLC控制单元的外形图8/24/2024351.RS232口口 只有C24、C40、C56和C72的C型机才配有。该口能与PC机通讯编程,也可连接其它外围设备。2.运行

26、监视指示灯运行监视指示灯 当运行程序时,“RUN”指示灯亮;当控制单元中止执行程序时,“PROG” 指示灯亮; 当发生自诊断错误时,“ERR” 指示灯亮; 当检测到异常的情况时或出现“Watchdog”定时故障时,“ALARM” 指示灯亮。 3.电池座电池座4.电源输入端子电源输入端子 FP1型主机有交、直流电源两种类型,交流型接100240V交流电源,直流型接24V直流电源。 8/24/2024365.工作方式选择开关工作方式选择开关 有三个工作方式档位,即“RUN”、“REMOTE”和“PROG”。6.输出端子输出端子 该端子板为两头带螺丝可拆卸的板。带带“”标记的标记的端子不能作为输出端

27、子使用。端子不能作为输出端子使用。 7.直流电源输出端子直流电源输出端子 在FP1系列主机内部均配有一个供输入端使用的主机内部均配有一个供输入端使用的24V24V直流电源。直流电源。 8.输人端子输人端子 该端子板为两头带螺丝可拆卸的板。输入电压范围为直流 1224V。带带“”标记的端子不能作为输入标记的端子不能作为输入端子使用。端子使用。 8/24/2024379.9.编程工具连接插座编程工具连接插座(RS422(RS422口口) ) 可用此插座经专用外设电缆连接编程工具。10.10.波特率选择开关波特率选择开关11.11.电位器电位器(V0(V0、V1)V1) 这两个电位器可用螺丝刀进行手

28、动调节,实现外部设定。当调节该电位器时,PLC内部对应的特殊数据寄存器DT9040和DT9041的内容在0255之间变化,相当于输入外部可调的模拟量。 12.IO状态指示灯状态指示灯 用来指示输人用来指示输人/ /输出的通断状态。输出的通断状态。 13.IO扩展单元接口插座扩展单元接口插座 用于连接FP1扩展单元及AD、DA转换单元、链接单元。 8/24/2024382FP1系列可编程控制器的技术性能可编程控制器的功能是否强大,很大程度上取决于它的技术性能。 表表2-2 FP12-2 FP1系列系列PLCPLC控制单元技术性能一览表控制单元技术性能一览表项项 目目C14C14C16C16C24

29、C24C40C40C56C56C72C72主机主机I IO O点数点数8 86 68 88 816168 8242416163232242440403232最大最大I IO O点数点数54545656104104120120136136152152运行速度运行速度1.6s1.6s步步程序容量程序容量900900步步27202720步步50005000步步程序存储器类型程序存储器类型EEPROM(EEPROM(无电池无电池) )RAMRAM(备用电池)和备用电池)和EPROMEPROM指令数指令数基本基本414180808l8l高级高级8585111111111111内部继电器内部继电器(R)(

30、R)256256点点10081008点点特殊内部继电器特殊内部继电器(R)(R)6464点点6464点点8/24/202439项项 目目C14C14C16C16C24C24C40C40C56C56C72C72定时器计数器定时器计数器(T(TC)C)128128点点144144点点数据寄存器数据寄存器(DT)(DT)256256字字16601660字字61446144字字特殊数据寄存器特殊数据寄存器(DT)(DT)7070字字7070字字索引寄存器索引寄存器(、IY)IY)2 2字字2 2字字主控指令(主控指令(MCMCMCEMCE)点数点数1616点点3232点点跳转标记数跳转标记数(LBL)

31、(LBL)个数个数(用于(用于JMPJMP、LOOPLOOP指令)指令)3232点点6464点点微分点数微分点数(DF(DF或或DFDF) )点数不限制点数不限制步进数步进数6464级级128128级级子程序个数子程序个数8 8个个1616个个中断个数中断个数9 9个程序个程序输入滤波时间输入滤波时间1 1128ms128ms自诊断功能自诊断功能看门狗定时器,电池检测,程序检测看门狗定时器,电池检测,程序检测特殊功能特殊功能高速计数高速计数X0,X1X0,X1为计数输入,可加减计数。单相输入时计数最高频率为为计数输入,可加减计数。单相输入时计数最高频率为10KHZ10KHZ,两路两相输入时最两

32、路两相输入时最高频率为高频率为5KHZ5KHZ。X2X2为复位输入为复位输入手动拨盘寄存器手动拨盘寄存器1 1点点2 2点点4 4点点脉冲捕捉输入脉冲捕捉输入4 4点点共共8 8点点中断输入中断输入共共8 8点点定时中断定时中断10ms10ms30s30s间隔间隔脉冲输出脉冲输出1 1点点(Y7)(Y7)2 2点点(Y6(Y6、Y7)Y7)脉冲输出频率:脉冲输出频率:45HZ45HZ4.9KHZ4.9KHZ固定扫描固定扫描2.5ms 2.5ms 设定值设定值(160ms(160ms或更小或更小) )8/24/202440 第二节第二节 FP1FP1的内部寄存器及的内部寄存器及I IO O配置配

33、置 在使用FP1的PLC之前,了解PLC的IO分配 以及内部寄存器的功能和配置是十分重要的。 X X、WXWX为为I IO O区的输入继电器区的输入继电器,可直接与输入端子传递信息。Y Y、WYWY为为I I0 0区的输出继电器,区的输出继电器,可向输出端子传递信息。8/24/202441 表表2-3 FP12-3 FP1系列系列PLCPLC内部寄存器配置表内部寄存器配置表 名名 称称符号符号( (位宇位宇) )编编 号号C14C14、C16C16C24C24、C40C40C56C56、C72C72输入继电器输入继电器X(bit)X(bit)208208点:点:X0X0X12FX12FWX(w

34、ord)WX(word)1313字:字:WX0WX0WXl2WXl2输出继电器输出继电器Y(bit)Y(bit)208208点:点:Y0Y0Y12FY12FWY(word)WY(word)1313字:字:WY0WY0WYl2WYl2内部继电器内部继电器R(bit)R(bit)256256点:点:R0R0R15FR15F10081008点:点:R0R0R62FR62FWR(word)WR(word)1616字:字:WR0WR0WRl5WRl56363字:字:WR0WR0WR62WR62特殊内部继电器特殊内部继电器R(bit)R(bit)6464点:点:R9000R9000R903FR903FWR

35、(word)WR(word)4 4字:字:WR900WR900WR903WR903定时器定时器T(bit)T(bit)100100点:点:T0T0T99T99计数器计数器C(bit)C(bit)2828点:点:C100C100C127C1274444点:点:C100C100C143C143定时器计数器设定值寄存器定时器计数器设定值寄存器SV(word)SV(word)128128字:字:SV0SV0SVl27SVl27144144字:字:SV0SV0SVl43SVl43定时器计数器经过值寄存器定时器计数器经过值寄存器EV(word)EV(word)128128字:字:EV0EV0EVl27EV

36、l27144144字:字:EV0EV0EVl43EVl43通用数据寄存器通用数据寄存器DT(word)DT(word)256256字:字:DT0DT0DT255DT25516601660字:字:DT0DT0DTl659DTl65961446144宇:宇:DT0DT0DT6143DT6143特殊数据寄存器特殊数据寄存器DT(word)DT(word)7070字:字:DT9000DT9000DT9069DT9069系统寄存器系统寄存器(word)(word)No.0No.0No.418No.418索引寄存器索引寄存器IX(word)IX(word)IXIX、IYIY各一个各一个IY(word)IY

37、(word)十进制常数寄存器十进制常数寄存器K K1616位常数位常数( (字字) ):K K3276832768K32767K327673232位常数位常数( (双字双字) ):K K21474836482147483648K2147483647K2147483647十六进制常数寄存器十六进制常数寄存器H H1616位常数位常数( (字字) ):H0H0HFFFFHFFFF3232位常数(双字):位常数(双字):H0H0HFFFFFFFFHFFFFFFFF8/24/202442 X X和和Y Y是按位寻址的,而是按位寻址的,而WXWX和和WYWY只能按只能按“字字”寻址。寻址。X与的地址编号

38、规则完全相同,下面以X为例说明如下: 如:X110表示寄存器WXl1中的第0位,X11F表示寄存器WXl1中的第F号位。图示如下: WX11: X11F X110注意:注意:注意:注意:字地址为0时可省略字地址数字,只给位地址 即可。例:若X4为“ON”,则WX0的第四位为“1”。 若WY1=5,则表明Y10和Y12两个触点“ON”。表中R和WR的编号规则与X、WX和Y、WY相同。 FEDCBA9876543210位址(用十六进制表示)位址(用十六进制表示)寄存器地址(用十进制表示)寄存器地址(用十进制表示)X8/24/2024431输入继电器输入继电器的作用是将外部开关信号或传感器的信号输入

39、到PLC。注意:注意:注意:注意:输入继电器只能由外部信号来驱动,而不能由输入继电器只能由外部信号来驱动,而不能由内部指令来驱动,其触点也不能直接输出去驱动执行元件。内部指令来驱动,其触点也不能直接输出去驱动执行元件。2输出继电器输出继电器的作用是将PLC的执行结果向外输出,驱动外设(如接触器、电磁阀)动作。注意:注意:注意:注意:输出继电器必须是由输出继电器必须是由PLCPLC控制程序执行的结果控制程序执行的结果来驱动。来驱动。 3内部继电器PLC的内部寄存器供用户存放中间变量,其作用与继其作用与继电器电器接触器控制系统中的中间继电器相似,接触器控制系统中的中间继电器相似,因此称为内部继电器

40、( (软继电器软继电器) )。 8/24/2024444特殊内部继电器 R9000R9000R903FR903F为特殊内部继电器,均有专门的用途,用户不能占用。这些继电器不能用于输出,只能做不能用于输出,只能做内部触点用。内部触点用。其主要功能是:1.1.标志继电器标志继电器 2.2.特殊控制继电器特殊控制继电器:例如,初始闭合继电器R9013,它的功能是只在运行中第一次扫描时闭合,从第二次扫描开始断开并保持打开状态。3.3.信号源继电器信号源继电器 5定时器计数器(TC) 定时器定时器(T)(T)触点的通断由定时器指令触点的通断由定时器指令(TM)(TM)的输出决的输出决定。定。如果定时器指

41、令定时时间到,则与其同号的触点动作。 计数器计数器(C)(C)的触点是计数器指令的触点是计数器指令(CT)(CT)的输出。的输出。如果计数器指令计数完毕,则与其同号的触点动作。 8/24/2024456定时器计数器的设定值寄存器(SV) 与经过值寄存器(EV)SV是存储定时器计数器指令预置值预置值的寄存器;EV是存贮定时器计数器经过值经过值的寄存器。EVEV的值随着程序的值随着程序的运行而递减变化,的运行而递减变化,当它的内容变为0时,定时器计数器的触点动作。每个定时器计数器的编号都有一组SV和EV与之相对应(表2-4) 表表2-4 T2-4 TC C与与SVSV、EVEV对应示意表对应示意表

42、 定时器计数器编号定时器计数器编号设定值寄存器设定值寄存器SVSV经过值寄存器经过值寄存器EVEVT0T0T99T99C100C100C143C143SV0SV0SV99SV99SV100SV100SV143SV143EV0EV0EV99EV99EV100EV100EV143EV1438/24/2024467 7通用数据寄存器通用数据寄存器(DT) (DT) 和特殊数据寄存器和特殊数据寄存器(DT)(DT) 通用数据寄存器用来存储各种数据。它是纯粹的寄存器,它是纯粹的寄存器,不带任何触点。不带任何触点。 特殊数据寄存器是具有特殊用途的寄存器。每个数据寄存器由一个字(16-bit)组成。8 8索

43、引寄存器索引寄存器(、IY)IY) 在FPl系列的PLC内部有两个16位的索引寄存器和IY。其作用有以下两类:1.1.作数据寄存器使用作数据寄存器使用作为数据寄存器使用时,可作为16-bit寄存器单独使用;当用作32-bit寄存器时,作低16-bit,IY作高16-bit;作为32-bit操作数编程时,如果指定为低16-bit,则高16-bit自动指定为IY。8/24/2024478索引寄存器(、IY)2.2.其它操作数的修正值其它操作数的修正值地址修正值功能地址修正值功能( (适用于适用于WXWX、WYWY、WRWR、SVSV、EVEV和和DT)DT)例例:有指令为FO MV,DT1,IXD

44、Tl00,执行后的结果为: 当K30时,DT1中的数据被传送至DTl30。 当K50时,DT1中的数据被传送至DTl50。常数修正值功能常数修正值功能( (对对K K和和H H) )例例:有指令为FO MV,IXK30,DTl00,执行后的结果为: 当K20时,传送至DT100内容为K50。 当K50时,传送至DT100内容为K80注意注意注意注意:索引寄存器不能用索引寄存器来修正;当索引寄存器用作地址修正值时,要确保修正后的地址不要超出有效范围;当索引寄存器用作常数修正值时,修正后的值可能上溢或下溢。 8/24/2024489常数寄存器(K、H)常数寄存器主要用来存放PLC输入数据,十进制常

45、十进制常数以数据前加字头数以数据前加字头K K来表示,十六进制常数用数据来表示,十六进制常数用数据前加字头前加字头H H来表示。来表示。控制单元、初级扩展单元、次级扩展单元、IO链接单元和智能单元(AD转换单元和DA转换单元)的I0分配是固定的。FP1系列PLC的IO点数共有416点(输入X0X12F共208点,输出Y0Y12F也是208点),但受外部接线端子和主机驱动能力的限制,最多可扩展最多可扩展152152点(点(C72C72型)型),其余的可作内部寄存器使用。,其余的可作内部寄存器使用。 8/24/202449 表表2-5 FP12-5 FP1的的I IO O地址分配表地址分配表 品品

46、 种种型型 号号输入端编号输入端编号输出端编号输出端编号控制单元控制单元C14C14X0X0X7X7Y0Y0Y4Y4,Y7Y7C16C16XOXOX7X7Y0Y0Y7Y7C24C24X0X0XFXFY0Y0Y7Y7C40C40X0X0XFXF,X10X10X17X17Y0Y0YFYFC56C56X0X0XFXF,X10X10X1FX1FY0Y0YFYF,Y10Y10Y17Y17C72C72X0X0XFXF,X10X10X1FX1FX20X20X27X27Y0Y0YFYF,Y10Y10Y1FY1F初级扩展初级扩展单元单元E8E8输入类型输入类型X30X30X37X37/ /I IO O类型类型X

47、30X30X33X33Y30Y30Y33Y33输出类型输出类型/ /Y30Y30Y37Y37E16E16输入类型输入类型X30X30X3FX3F/ /I IO O类型类型X30X30X37X37Y30Y30Y37Y37输出类型输出类型/ /Y30Y30Y3FY3FE24E24I IO O类型类型X30X30X3FX3FY30Y30Y37Y37E40E40I IO O类型类型X30X30X3FX3F,X40X40X47X47Y30Y30Y3FY3F8/24/202450 续上表续上表品品 种种型型 号号输输入端入端编编号号输输出端出端编编号号次次级扩级扩展展单单元元E8E8输输入入类类型型X50

48、 X50 X57X57/ /I IO O类类型型K50 K50 X53X53Y50 Y50 Y53Y53输输出出类类型型/ /Y50 Y50 Y57Y57E16E16输输入入类类型型X50 X50 X5FX5F/ /I IO O类类型型X50 X50 X57X57Y50 Y50 Y57Y57输输出出类类型型/ /Y50 Y50 Y5FY5FE24E24I IO O类类型型X50 X50 X5FX5FY50 Y50 Y57Y57E40E40I IO O类类型型X50 X50 X5FX5F,X60 X60 K67K67Y50 Y50 Y5FY5FI IO O链链接接单单元元X70 X70 X7F(

49、WX7)X7F(WX7)X80 X80 X8F(WX8)X8F(WX8)Y70 Y70 Y7F(WY7)Y7F(WY7)Y80 Y80 Y8F(WY8)Y8F(WY8)A AD D转换单转换单元元通道通道0 0X90 X90 X9F(WX9)X9F(WX9)/ /通道通道1 1X100 X100 X10F(WXl0)X10F(WXl0)/ /通道通道2 2X110 X110 X11F(WX11)X11F(WX11)/ /通道通道3 3X120 X120 X12F(WXl2)X12F(WXl2)/ /D DA A转换单转换单元元单单元号元号0 0通道通道0 0/ /Y90 Y90 Y9F(WY9

50、)Y9F(WY9)通道通道1 1/ /Y100 Y100 Y10F(WYl0)Y10F(WYl0)单单元号元号l l通道通道0 0/ /Y110 Y110 Y11F(WY11)Y11F(WY11)通道通道1 1/ /Y120 Y120 Y12F(WYl2)Y12F(WYl2)8/24/202451第三章 FP1的指令系统第一节 概述8/24/202452一、继电器系统与PLC指令系统 可编程控制器来源于继电器系统和计算机系统,可以将其理解为计算机化的继电器系统。继电器在控制系统中主要起两种作用:1 1 1 1)逻逻逻逻辑辑辑辑运运运运算算算算。运用继电器触点的串、并联接等完成逻辑与、或、非等功

51、能,从而可完成较复杂的逻辑运算。2 2 2 2)弱弱弱弱电电电电控控控控制制制制强强强强电电电电。即通过有关的触点的通断,控制继电器的电磁线圈,从而来控制强电的断通。 对于简单控制功能的完成,采用继电器控制系统具有简单、可靠、方便等特点,因此,继电器控制系统得到了广泛应用。8/24/202453 注意:注意:注意:注意: PLC内部的硬件资源多数是以继电器的概念出现的。注意,只是概念上的继电器,并非物理继电器。这里所指的继电器均为软继电器,是由PLC内部的存储单元构成的。8/24/202454二、FP1指令系统分类 表表3-1 FP13-1 FP1系列可编程控制器指令统计表系列可编程控制器指令

52、统计表分分类类名称名称C14/C1C14/C16 6C24/C40C24/C40C56/C7C56/C72 2基本指令顺序指令191919功能指令778控制指令151818条件比较指令03636高级指令数据传输指令11111l数据运算及比较指令364141数据转换指令162626数据位移指令141414位操作指令666特殊功能指令71819总计总计1311311961961981988/24/202455基本指令基本指令基本指令基本指令高级指令高级指令高级指令高级指令键键键键盘盘盘盘指指指指令令令令。可以直接在键盘上输入的指令(即各种指令在手持编程器上有相应的按键)。非非非非键键键键盘盘盘盘指

53、指指指令令令令。键盘上找不到,输入时需借助于“SC”和“HELP”键,指令方可输入。扩扩扩扩展展展展功功功功能能能能指指指指令令令令。也是键盘上找不到的,但可通过输入其功能号将其输入,即用“FN”键加上数字键输入该类指令。这类指令在指令表中都各自带有功能编号,在显示器上显示为“FN ”,其中N是功能编号,是指令的助记符。输入功能编号后,助记符可自动显示,不必由用户输入。按照在手持编程器上的输入方式输入方式输入方式输入方式可为三种FP1的指令按照功能功能功能功能可分为两大类8/24/202456第三章 FP1的指令系统第二节 FP1的基本指令系统8/24/202457基本指令可分为四大类,即l

54、l基基基基本本本本顺顺顺顺序序序序指指指指令令令令:主要执行以位(bit)为单位的逻辑操作,是继电器控制电路的基础。l l基本功能指令:基本功能指令:基本功能指令:基本功能指令:有定时器、计数器和移位寄存器指令。l l控控控控制制制制指指指指令令令令:可根据条件判断,来决定程序执行顺序和流程的指令。l l比较指令:比较指令:比较指令:比较指令:主要进行数据比较。 基本指令多数是构成继电器顺序控制电路的基础,所以借用继电器的线圈和触点来表示。同时,该类指令还是可编程控制器使用中最常见、也是用得最多的指令,因此,属于必须熟练掌握和运用的内容。8/24/202458一、基本顺序指令 基本顺序指令主要

55、是对继电器和继电器触点进行逻辑操作的指令。 FP1的指令表达式比较简单,由操作码和操作数构成,格式为: 地址地址地址地址操作码操作码操作码操作码 操作数操作数操作数操作数 其中,操作码规定了CPU所执行的功能。 例如:AN X0,表示对X0进行与操作 操作数包含了操作数的地址、性质和内容。操作数可以没有,也可以是一个、两个、三个甚至四个,随不同的指令而不同。如 / 指令就没有操作数。 8/24/202459指令助记符继电器定时/计数器触点XYRTCST、ST/OTAN、AN/OR、OR/SET、RSTKP表表3-3 基本顺序指令的操作数基本顺序指令的操作数 表中对应项目为“”表示该项不可用,为

56、空则表示可用。 例如:OT指令对应继电器X项为“”,说明OT指令的操作数不能为X继电器。8/24/2024601. 1. 输入输出指令:输入输出指令:STST、ST/ST/、OTOTST 加载 用A类触点(常开触点)开始逻辑运算的指令。ST/ 加载非 用B类触点(常闭触点)开始逻辑运算的指令。OT 输出 输出运算结果到指定的输出端,是继电器线 圈的驱动指令。/ 非 将该指令处的运算结果取反。其中,ST和ST/用于开始一个新的逻辑行。8/24/202461例例例例3-13-18/24/202462当X0接通时,Y0接通;当X0断开时,Y1接通、Y2接通。由例中可见,Y0和Y1都受控于X0,但是因

57、为Y1前面有非指令,因此与Y0的状态正好相反,这与继电器系统明显不同,在继电器系统中,X0断开,Y1回路就不可能导通。此外,对于输出Y2,也是当输入触点X0断开时,Y2接通,与Y1的控制方式一样。可见,常闭触点的功能可以用上述两种方式实现,这在时序图中可以更为直观地看到。例题说明:例题说明:例题说明:例题说明:8/24/202463/ 指令为逻辑取反指令,可单独使用,但是一般都是与其它指令组合形成新指令使用,如ST/。OT不能直接从左母线开始,但是必须以右母线结束。OT指令可以连续使用,构成并联输出,也属于分支的一种,可参见堆栈指令。一般情况下,对于某个输出继电器只能用一次OT指令,否则,可编

58、程控制器按照出错对待。注意事项注意事项8/24/2024642. 2. 逻辑操作指令:逻辑操作指令:ANAN、AN/AN/、OROR、OR/OR/AN与串联一个A类(常开)触点。AN/与非串联一个B类(常闭)触点。OR或并联一个A类(常开)触点。OR/或非并联一个B类(常闭)触点。8/24/202465例例例例3-23-28/24/202466注意事项注意事项例题说明:例题说明:例题说明:例题说明: 当X0、X4接通且X3断开时,R0接通;R0同时又是Y0的控制触点,R0接通时Y0也接通。 由于X0、X1和X2三个触点并联,X2与X0同为常开触点,所以X2和X0具有同样的性质;而X1为常闭触点

59、,与X0的性质正好相反。X2和X1的时序图也与X0相同或相反,故这里略去。 AN、AN/、OR、OR/ 可连续使用。8/24/2024673. 3. 块逻辑操作指令:块逻辑操作指令:ANSANS、ORSORS ANS 组与执行多指令块的与操作,即实现多个逻辑块相串联。ORS 组或执行多指令块的或操作,即实现多个逻辑块相并联。8/24/202468例例例例3-33-38/24/202469例题说明:例题说明:例题说明:例题说明:当X0、X1接通且X4接通时,Y0接通,对应图中第1段接通情况。当X0、X1接通且X5接通时,Y0接通,对应图中第2段接通情况。当X2、X3接通且X4接通时,Y0接通,对

60、应图中第3段接通情况。当X2、X3接通且X5接通时,Y0接通,对应图中第4段接通情况。 从时序图上看,该例的逻辑关系显得比较复杂,但是仔细分析就可发现Y0有四个接通段,分别代表了该例子的四种有效组合。8/24/202470注意事项注意事项 掌握ANS、ORS的关键主要有两点:一是要理解好串、并联关系,二是要形成块的观念。针对例3-3,在下面的图中,分别从程序和逻辑关系表达式两方面对此加以具体说明。 从图中可见,X0和X1串联后组成逻辑块1,X2和X3串联后组成逻辑块2,用ORS将逻辑块1和逻辑块2并联起来,组合成为逻辑块3;然后由X4和X5并联后组成逻辑块4,再用ANS将逻辑块3和逻辑块4串联

61、起来,组合成为逻辑块5,结果输出给Y0。 8/24/2024714. 4. 堆栈指令:堆栈指令:PSHSPSHS、RDSRDS、POPSPOPSPSHS 推入堆栈存储该指令处的操作结果。RDS 读取堆栈读出PSHS指令存储的操作结果。POPS 弹出堆栈读出并清除由PSHS指令存储的操作结果。 堆栈指令主要用于构成具有分支结构的梯形图,使用时必须遵循规定的PSHS、RDS、POPS的先后顺序。8/24/202472例例例例3-43-48/24/202473例题说明:例题说明:例题说明:例题说明:存储PSHS指令处的运算结果(这里指X0的状态),这时X0接通,则当X1也接通且X2断开时,Y0输出。

62、由RDS指令读出存储的结果,即X0接通,则当X3接通时,Y1输出。由RDS指令读出存储的结果,即X0接通,则当X4断开时,Y2输出。由POPS指令读出存储的结果,即X0接通,则当X5接通时,Y3输出;然后将PSHS指令存储的结果清除,即解除与X0的关联,后续指令的执行将不再受X0影响。当X6接通时,Y4输出。此时与X0的状态不再相关。 本例中连用了两个RDS指令,目的是为了说明该指令只是读存储结果,而不影响存储结果;在执行了POPS后,就结束了堆栈指令,不再与X0的状态相关,如例中,Y4的状态只受X6控制。当X0接通时,程序依次完成下述操作。8/24/202474注意事项注意事项 当程序中遇到

63、PSHS时,可理解为是将左母线到PSHS指令(即分支点)之间的所有指令存储起来,推入堆栈,提供给下面的支路使用。换个角度,也可理解为左母线向右平移到分支点,随后的指令从平移后的左母线处开始。RDS用于PSHS之后,这样,当每次遇到RDS时,该指令相当于将PSHS保存的指令重新调出,随后的指令表面上是接着RDS,实际上相当于接着堆栈中的指令来写。在功能上看,也就是相当于将堆栈中的那段梯形图与RDS后面的梯形图直接串联起来。POPS相当于先执行RDS的功能,然后结束本次堆栈,因此,用在PSHS和RDS的后面,作为分支结构的最后一个分支回路。从上面对构成堆栈的三个指令的分析可知,最简单的分支,即两个

64、分支,可只由PSHS和POPS构成;而三个以上的分支,则通过反复调用RDS指令完成,这点可参见例题。也就是说,一组堆栈指令中,有且只有一个PSHS和一个POPS,但是可以没有或有多个RDS。注意区分分支结构和并联输出结构梯形图。二者的本质区别在于:分支结构中,分支点与输出点之间串联有触点,而不单纯是输出线圈。堆栈指令的复杂应用还包括嵌套使用。8/24/2024755. 5. 微分指令:微分指令:DFDF、DF/DF/ DF 上升沿微分 检测到触发信号上升沿,使触点接通一个扫描周期。DF/ 下降沿微分 检测到触发信号下降沿,使触点接通一个扫描周期。8/24/202476例例例例3-53-58/2

65、4/202477例题说明:例题说明:例题说明:例题说明: 当检测到触发信号的上升沿时,即X1断开、X2接通且X0由OFFON时,Y0接通一个扫描周期。另一种情况是X0接通、X2接通且X1由ONOFF时,Y0也接通一个扫描周期,这是由于X1是常闭触点的缘故。 当检测到触发信号的下降沿时,即X2接通且X0由ONOFF时,Y1接通一个扫描周期。8/24/202478注意事项注意事项 DF和DF/ 指令的作用都是在控制条件满足的瞬间,触发后面的被控对象(触点或操作指令),使其接通一个扫描周期。这两条指令的区别在于:前者是当控制条件接通瞬间(上升沿)起作用,而后者是在控制条件断开瞬间(下降沿)起作用。这

66、两个微分指令在实际程序中很有用,可用于控制那些只需触发执行一次的动作。在程序中,对微分指令的使用次数无限制。 这里所谓的“触发信号”,指的是DF或DF/前面指令的运算结果,而不是单纯的某个触点的状态,如例中X0与X1的组合;也不是后面的触点状态,如在时序图中的t1时刻,X0和X1都处于有效状态,X2的上升沿却不能使Y0接通。8/24/2024796. 6. 置位、复位指令:置位、复位指令:SETSET、RSTRST SET置位保持触点接通,为ON。RST复位保持触点断开,为OFF。8/24/202480例例例例3-63-6例题说明:例题说明:例题说明:例题说明: 该程序执行的结果是,当X0接通

67、时,使Y0接通,此后不管X0是何状态,Y0一直保持接通。而当X1接通时,将Y0断开,此后不管X1是何状态,Y0一直保持断开。 8/24/2024817. 7. 保持指令:保持指令:KPKP KP保持使输出为ON,并保持。 KP指令的作用是将输出线圈接通并保持。该指令有两个控制条件,一个是置位条件(S)、另一个是复位条件(R)。当满足置位条件,输出继电器(Y或R)接通,一旦接通后,无论置位条件如何变化,该继电器仍然保持接通状态,直至复位条件满足时断开。 S端与R端相比,R端的优先权高,即如果两个信号同时接通,复位信号优先有效。 8/24/202482例例例例3-73-7例题说明:例题说明:例题说

68、明:例题说明: 当X0接通时,Y0接通;当X1接通时,Y0断开,而不论X0状态如何。注意事项注意事项 该指令与SET、RST有些类似,另外,SET、RST允许输出重复使用,而KP指令则不允许。 8/24/2024838. 8. 空操作指令:空操作指令:NOPNOP NOP空操作空操作。 PLC执行NOP指令时,无任何操作,但是要消耗一定的时间。 当没有输入程序或进行清理内存操作时,程序存储器各单元均自动为空操作指令。 可用NOP作为查找时的特殊标记,人为插入若干个NOP指令,对程序进行分段,便于检查和修改。如程序中某一点插入的NOP指令的数量超出1个,编程系统会自动对其进行编号,因此,该指令常

69、在调试程序时使用,此时,程序的大小有所增加,但是对运算结果没有影响。8/24/202484二、基本功能指令 基本功能指令主要包括一些具有定时器、计数器和移位寄存器三种功能的指令。其中,定时和计数本质上是同一功能。根据指令功能分类,将高级指令中的可逆计数指令F118(UDC)、左右移位指令F119(LRSR)以及辅助定时器指令F137(STMR)也包括在内。表表3-5 基本功能指令的操作数基本功能指令的操作数指令助记符可用寄存器继电器定时/计数器寄存器索引寄存器常数索引修正值WXWYWRSV EVDTIX IY KHTM预置值 CT预置值 SR 8/24/2024851 1定时器指令:定时器指令

70、:TMTM、F137(STMR)F137(STMR)TMR以0.01s为最小时间单位,设置延时接通的定时器。TMX以0.1s为最小时间单位,设置延时接通的定时器。TMY以1.0s为最小时间单位,设置延时接通的定时器。 定时器的工作原理为:定时器为减1计数。当程序进入运行状态后,输入触点接通瞬间定时器开始工作,先将设定值寄存器SV的内容装入过程值寄存器EV中,然后开始计数。每来一个时钟脉冲,过程值减1,直至EV中内容减为0时,该定时器各对应触点动作,即常开触点闭合、常闭触点断开。而当输入触点断开时,定时器复位,对应触点恢复原来状态,且EV清零,但SV不变。若在定时器未达到设定时间时断开其输入触点

71、,则定时器停止计时,其过程值寄存器被清零,且定时器对应触点不动作,直至输入触点再接通,重新开始定时。8/24/202486 简单的说,当定时器的执行条件成立时,定时器以R、X、Y所规定的时间单位对预置值作减计数,预置值减为0时,定时器导通。其对应的常开触点闭合,常闭触点断开。 8/24/202487例例例例3-83-8例题说明:例题说明:例题说明:例题说明: 当X0接通时,定时器开始定时,10秒后,定时时间到,定时器对应的常开触点T1接通,使输出继电器Y0导通为ON;当X0断开时,定时器复位,对应的常开触点T1断开,输出继电器Y0断开为OFF。8/24/202488注意事项注意事项1) TM指

72、令是减法计数型预置定时器,参数有两个,一个是时间单位,即定时时钟,可分为3种,R=0.01s,X=0.1s,Y=1.0s;另一个是预置值,只能用十进制,编程格式为K加上十进制数,因此,取值范围可表示为K1 K32767。这样,定时时间就可以根据上述两个参数直接计算出来,即 定时时间 = 时间单位预置值 也正是由于这个原因,TM R1 K1000、TM X1 K100、TM Y1 K10这三条指令的延时时间是相同的,都是10秒,差别仅在于定时的时间精度不同。对于这个例子,由于只用到定时结果,采用上述任何一种写法都可以。2) 定时器的设定值和过程值会自动存入相同编号的专用寄存器SV和EV中,因此可

73、通过察看同一编号的SV和EV内容来监控该定时器的工作情况。采用不同的定时时钟会影响精度,也就是说,过程值EV的变化过程不同。8/24/2024893) 同输出继电器的概念一样,定时器也包括线圈和触点两个部分,采用相同编号,但是线圈是用来设置,触点则是用于引用。因此,在同一个程序中,相同编号的定时器只能使用一次,即设置一次,而该定时器的触点可以通过常开或常闭触点的形式被多次引用。4) 在FP1-C24中,初始定义有100个定时器,编号为T0 T99,通过系统寄存器No.5可重新设置定时器的个数。5) 由于定时器在定时过程中需持续接通,所以在程序中定时器的控制信号后面不能串联微分指令。6) 在实际

74、的PLC程序中,定时器的使用是非常灵活的,如将若干个定时器串联或是将定时器和计数器级联使用可扩大定时范围,或将两个定时器互锁使用可构成方波发生器,还可以在程序中利用高级指令F0(MV)直接在SV寄存器中写入预置值,从而实现可变定时时间控制。8/24/202490例例例例3-93-9例题说明:例题说明:例题说明:例题说明: 该例与上例中使用TMX实现的定时结果类似,但是当用R900D作为定时器的触点编程时,务必将R900D编写在紧随F137(STMR)指令之后。此外,这里的DT5起到与经过值寄存器EV类似的作用。 F137(STMR)以0.01s为最小时间单位设置延时接通的定时器。该定时器与TM

75、R类似,但是设置方式上有所区别。下面举例说明。 8/24/2024912 2计数器指令:计数器指令:CTCT、F118(UDC)F118(UDC) CT指令是一个减计数型的预置计数器。其工作原理为:程序一进入“运行”方式,计数器就自动进入初始状态,此时SV的值被自动装入EV,当计数器的计数输入端CP检测到一个脉冲上升沿时,预置值被减1,当预置值被减为0时,计数器接通,其相应的常开触点闭合,常闭触点断开。计数器的另一输入端为复位输入端R,当R端接收到一个脉冲上升沿时计数器复位,计数器不接通,其常开触点断开,常闭触点闭合;当R端接收到脉冲下降沿时,将预置值数据再次从SV传送到EV中,计数器开始工作

76、。计数器CT指令的梯形图符号如下图所示。8/24/202492例例例例3-103-10例题说明:例题说明:例题说明:例题说明: 程序开始运行时,计数器自动进入计数状态。当检测到X0的上升沿500次时,计数器对应的常开触点C101接通,使输出继电器Y0导通为ON;当X1接通时,计数器复位清零,对应的常开触点C101断开,输出继电器Y0断开为OFF。 8/24/202493注意事项注意事项FP1-C24中,共有44个计数器,编号为C100 C143。此编号可用系统寄存器No.5重新设置。设置时注意TM和CT的编号要前后错开。计数器与定时器有密切的关系,编号也是连续的。定时器本质上就是计数器,只不过

77、是对固定间隔的时钟脉冲进行计数,因此两者有许多性质是类似的。与定时器一样,每个计数器都有对应相同编号的16位专用寄存器SV和EV,以存储预置值和过程值。同一程序中相同编号的计数器只能使用一次,而对应的常开和常闭触点可使用无数次。计数器有两个输入端,即计数脉冲输入端CP和复位端R,分别由两个输入触点控制, R端比CP端优先权高。计数器的预置值即为计数器的初始值,该值为0 32767中的任意十进制数,书写时前面一定要加字母“K”。8/24/202494例例例例3-113-11F118(UDC)指令,也起到计数器的作用。与CT不同的是,该指令可以根据参数设置,分别实现加/减计数的功能,下面举例说明。

78、 8/24/202495例题说明:例题说明:例题说明:例题说明: 使用F118(UDC)指令编程时,一定要有加/减控制、计数输入和复位触发三个信号。 当检测到复位触发信号X2的下降沿时,DT10中的数据被传送到DT0中,计数器开始工作;当检测到X2的上升沿时,即复位信号有效,DT0被清0,计数器停止工作。 X0为加/减控制信号,当其为ON时,进行加计数,为OFF时,进行减计数。 X1为计数输入信号,检测到其上升沿时,根据X0的状态,执行加1或减1计数。 这里,DT10相当于CT指令中的预置值寄存器SV,DT0相当于经过值寄存器EV。当DT0中的结果为0时,特殊内部寄存器R900B接通,内部寄存

79、器R50有输出。 8/24/2024963 3移位指令:移位指令:SRSR、F119(LRSR)F119(LRSR) SR为左移移位指令。其功能为:当R端为OFF状态时,该指令有效。这时,每检测到一个CP端的上升沿(OFFON),WRn中的数据就从低位向高位依次左移一位,其中,WRn的最低位用数据输入端IN的状态补入,最高位数据丢失。当R为ON状态时,该指令复位,WRn中的数据被清零。此外,需要指出的是,该指令的操作数只能用内部字继电器WR,n为WR继电器的编号。8/24/202497例例例例3-123-12例题说明:例题说明:例题说明:例题说明: 当复位信号X3为OFF状态时,每当检测到移位

80、信号X2的上升沿,WR6寄存器的数据左移1位,最高位丢失,最低位由当时数据输入信号X1的状态决定:如果当时X1处于接通状态,则补1,否则,补0。 如果X3接通,WR6的内容清0,这时X2信号无效,移位指令停止工作。8/24/202498F119(LRSR)指令为左/右移位寄存器指令,使16-bit内部继电器中的数据向左或向右移动1-bit。F119(LRSR)指令可以使用作为数据区的寄存器和常数见下表。 D1:移位区内首地址寄存器; D2:移位区内末地址寄存器;注意:移位区内的首地址和末地址要求是同一种类型的寄存器,并满足D1D2。操作数可用寄存器继电器定时/计数器寄存器索引寄存器常数索引修正

81、值WXWYWRSV EVDTIX IY KHD1 D2 8/24/202499例例例例3-133-138/24/2024100 F119(LRSR)指令需要有4个输入信号,即左/右移位信号、数据输入、移位信号和复位触发信号,分别对应例中X0 X3共4个触点。DT0指定移位区首地址,DT9指定末地址。 当X3为ON时,复位信号有效,DT0和DT9均被清0,移位寄存器停止工作。 当X3为OFF时,移位寄存器正常工作。这时,由移位触发信号X2的上升沿触发移位操作,移动的方向由X0决定,若X0为ON,表示进行数据左移,为OFF,表示进行数据右移。至于移入的数据为1还是为0,则取决于X1的状态,若X1接

82、通,移入数据为1,否则,移入数据为0。 这里,DT0 DT9构成了连续的16位寄存器区,移位操作使所有位同时进行,整个区域按照高位在左侧、低位在右侧的顺序排列。 例题说明:例题说明:例题说明:例题说明:8/24/2024101三、控制指令 从程序的执行步骤和结构构成上看,基本顺序指令和基本功能指令是按照其地址顺序执行的,直到程序结束为止;而控制指令则可以改变程序的执行顺序和流程,产生跳转和循环,构成复杂的程序及逻辑结构。PLC指令的执行特点是采用扫描执行方式,这里就存在扫描和执行的关系的问题:对于一段代码,扫描并执行扫描并执行是正常的步骤,但是也存在另外一种情况,就是扫扫描但不执行描但不执行,

83、从时间上看,仍然要占用CPU时间,但从结果上看,什么也没有作,相当于忽略了这段代码。因此,这种情况比较特殊,在控制指令部分会经常遇到,要注意区别。另外,触发信号触发信号的概念在这部分经常用到,实际上与前文提到的控制信号控制信号是一样的,可以是一个触点,也可以是多个触点的组合,用于控制(触发)相关程序的执行。 8/24/20241021 1主控继电器指令:主控继电器指令:MCMC、MCEMCEMC:主控继电器指令。MCE:主控继电器结束指令。 功能:用于在程序中将某一段程序单独界定出来。当MC前面的控制触点闭合时,执行MC至MCE间的指令;当该触点断开时,不执行MC至MCE间的指令。8/24/2

84、024103例例例例3-143-148/24/2024104例题说明:例题说明:例题说明:例题说明: 当控制触点X0接通时,执行MC0到MCE0之间的程序,这时,从上图中的梯形图可以看出,效果等同于右侧的简化梯形图。否则,不执行MC0到MCE0之间的程序。 值得注意的是,当主控继电器控制触点断开时,在MC至MCE之间的程序,遵循扫描但不执行的规则,可编程控制器仍然扫描这段程序,不能简单地认为可编程控制器跳过了这段程序。而且,在该程序段中不同的指令状态变化情况也有所不同,具体情况参见下表。 指令或寄存器状态变化OT(Y、R等)全部OFF状态KP、SET、RST保持控制触点断开前对应各继电器的状态

85、TM、F137(STMR)复位,即停止工作CT、F118(UDC)保持控制触点断开前经过值,但停止工作SR、F119(LRSR)保持控制触点断开前经过值,但停止工作其它指令扫描但是不执行8/24/2024105注意事项注意事项MC和MCE在程序中应成对出现,每对编号相同,编号范围为0 31之间的整数。而且,同一编号在一个程序中只能出现一次。MC和MCE的顺序不能颠倒。MC指令不能直接从母线开始,即必须有控制触点。在一对主控继电器指令(MC、MCE)之间可以嵌套另一对主控继电器指令。 8/24/20241062 2跳转指令:跳转指令:JPJP、LBLLBLJP:跳转指令。LBL:跳转标记指令。

86、当控制触点闭合时,跳转到和JP指令编号相同的LBL处,不执行JP和LBL之间的程序,转而执行LBL指令之后的程序。与主控指令不同,遵循不扫描不执行的原则,在执行跳转指令时,JP和LBL之间的指令略过,所以可使整个程序的扫描周期变短。8/24/2024107例例例例3-153-15例题说明:例题说明:例题说明:例题说明: 在JP1指令的前面、JP1与LBL1中间、以及LBL1的后面都可能有其它的指令程序段,如图所示。当控制触点X0断开时,跳转指令不起作用,JP1与LBL1中间的指令正常执行,与没有跳转指令一样;当控制触点X0接通时,执行跳转指令,跳过JP1与LBL1中间的程序段,直接执行LBL1

87、的后面的程序段。8/24/2024108注意事项注意事项可以使用多个编号相同的JP指令,即允许设置多个跳向一处的跳转点,编号可以是0 63以内的任意整数,但不能出现相同编号的LBL指令,否则程序将无法确定将要跳转的位置。LBL指令应该放在同序号的JP指令的后面,当然,放在前面也可以,不过这时扫描不会终止,而且可能发生瓶颈错误,详细内容请参见手册。JP指令不能直接从母线开始,即前面必须有触发信号。在一对跳转指令之间可以嵌套另一对跳转指令。不能从结束指令ED以前的程序跳转到ED以后的程序中去;不能在子程序或中断程序与主程序之间跳转;不能在步进区和非步进区进行跳转。8/24/20241093 3循环

88、跳转指令:循环跳转指令:LOOPLOOP、LBLLBLLOOP:循环指令。LBL:循环标记指令。 循环指令的功能为:当执行条件成立时,循环次数减1,如果结果不为0,跳转到与LOOP相同编号的LBL处,执行LBL指令后的程序。重复上述过程,直至结果为0,停止循环;当执行条件不成立时,不循环执行。8/24/2024110例例例例3-163-16例题说明:例题说明:例题说明:例题说明: 当X6接通时,数据寄存器DT0的预置值减1,若结果不为0,LOOP指令跳转到LBL1处,执行LBL1之后的程序。重复执行相同的操作直至DT0中的内容变为0,结束循环。 当X6断开时,不执行循环。8/24/202411

89、1注意事项注意事项可以使用多个编号相同的LOOP指令,编号可以是0 63以内的任意整数,但不能出现相同编号的LBL指令,否则程序将无法确定循环区间。此外,该指令可以与JP指令共用相同编号的LBL指令,但为了程序清晰,尽量避免。LBL指令与同编号的LOOP指令的前后顺序不限,但工作过程不同。一般将LBL指令放于LOOP指令的上面,此时,执行循环指令的整个过程都是在一个扫描周期内完成的,所以整个循环过程不可太长,否则扫描周期变长,影响了PLC的响应速度,有时甚至会出错。LOOP指令不能直接从母线开始,即必须有触发信号。当某编号的LOOP对应的触发信号接通时,与同编号的LBL即构成一个循环。循环跳转

90、指令可以嵌套使用。不能从结束指令ED以前的程序跳转到ED以后的程序中去;也不能在子程序或中断程序与主程序之间跳转;不能在步进区和非步进区进行跳转。8/24/20241124 4结束指令:结束指令:EDED、CNDECNDEED:结束指令,表示主程序结束。CNDE:条件结束指令,当控制触点闭合时,可编程控制器不再继续执行程序,结束当前扫描周期,返回起始地址;否则,继续执行该指令后面的程序段。 例例例例3-173-17例题说明:例题说明:例题说明:例题说明: 当控制触点X0闭合时,条件结束指令CNDE起作用,返回程序起始地址,当前的扫描结束,进入下一次扫描;否则,控制触点X0断开,继续执行下面的指

91、令扫描,当遇到ED指令,才结束当前的扫描。 8/24/20241135. 5. 步进指令:步进指令:SSTPSSTP、NSTPNSTP、NSTLNSTL、CSTPCSTP、STPESTPESSTP:步进开始指令,表明开始执行该段步进程序。NSTP、NSTL:转入指定步进过程指令。这两个指令的功能一样,都是当触发信号来时,程序转入下一段步进程序段,并将前面程序所用过的数据区清除,输出OT关断、定时器TM复位。区别在于触发方式不同,前者为脉冲式,仅当控制触点闭合瞬间动作,即检测控制触点的上升沿,类似于微分指令;后者为扫描式,每次扫描检测到控制触点闭合都要动作。CSTP:复位指定的步进过程。STPE

92、:步进结束指令,结束整个步进过程。 除了用于生产过程的顺序控制,步进指令还可用于选择分支控制、并行分支控制等, 8/24/2024114例例例例3-183-18例题说明:例题说明:例题说明:例题说明: 当检测到X0的上升沿时,执行步进过程1(SSTP1SSTP2);当X1接通时,清除步进过程1,并执行步进过程2;当X3接通时,清除步进过程50,步进程序执行完毕。 8/24/2024115注意事项注意事项步进程序中允许输出OT直接同左母线相连。步进程序中不能使用MC和MCE、JP和LBL、LOOP和LBL、ED和CNDE指令。在步进程序区中,识别一个过程是从一个SSTP指令开始到下一个SSTP指

93、令,或一个SSTP指令到STPE指令,即步进程序区全部结束。当NSTP或NSTL前面的控制触点接通时,程序进入下一段步进程序。这里的控制触点和步进控制程序区结束指令STPE都是必需的。 8/24/20241166 6子程序调用指令:子程序调用指令:CALLCALL、SUBSUB、RETRETCALL:子程序调用指令,执行指定的子程序。SUB:子程序开始标志指令,用于定义子程序。RET:子程序结束指令,执行完毕返回到主程序。 子程序调用指令的功能:当CALL n指令的执行条件成立时,程序转至子程序起始指令SUB n处,执行SUB n到RET之间的第n号子程序。遇到RET指令,子程序结束并返回到C

94、ALL n的下一条指令处,继续执行主程序。8/24/2024117例例例例3-193-19例题说明:例题说明:例题说明:例题说明: 当X0接通时,程序从主程序转到编号为1的子程序的起始地址SUB 1处,开始执行子程序;当执行到RET处时,子程序执行完毕,返回到主程序调用处,从CALL 1指令的下一条指令继续执行随后的主程序。 当X0断开时,不调用子程序,继续执行主程序。8/24/2024118注意事项注意事项注意事项注意事项FP1-C24可用子程序的个数为16个,即子程序编号范围为SUB0 SUB15,且两个子程序的编号不能相同。子程序必须编写在主程序的ED指令后面,由子程序入口标志SUB开始

95、,最后是RET指令,缺一不可。子程序调用指令CALL可以在主程序、子程序或中断程序中使用,可见,子程序可以嵌套调用,但最多不超过5层。当控制触点为OFF时,子程序不执行。这时,子程序内的指令状态如下表所示。指令或寄存器状态变化OT、KP、SET、RST保持控制触点断开前对应各继电器的状态TM、F137(STMR)不执行CT、F118(UDC);SR、F119(LRSR)保持控制触点断开前经过值,但停止工作其它指令不执行8/24/20241197 7中断指令:中断指令:INTINT、ICTLICTL、IRETIRETICTL:中断控制指令,用于设定中断的类型及参数。INT: 中断程序开始标志。I

96、RET:中断程序结束标志。 为了提高PLC的实时控制能力,提高PLC与外部设备配合运行的工作效率以及PLC处理突发事件的能力,FP1设置了中断功能。中断就是中止当前正在运行的程序,去执行为要求立即响应信号而编制的中断服务程序,执行完毕再返回原先被中止的程序并继续运行。8/24/2024120FP1FP1的中断类型的中断类型 1) 外部中断共有8个中断源X0 X7,对应中断入口为 X0 INT0 X4 INT4 X1 INT1 X5 INT5 X2 INT2 X6 INT6 X3 INT3 X7 INT7 其优先级别为INT0最高,INT7最低。FP1规定中断信号的持续时间应2ms。2) 内部定

97、时中断是通过软件编程来设定每间隔一定的时间去响应一次中断服务程序,定时中断的中断入口为INT24。 FP1-C24以上机型均有中断功能,其中断功能有两种类型,一种是外部中断,又叫硬件中断硬件中断硬件中断硬件中断,一种是定时中断,又叫软件中断软件中断软件中断软件中断。8/24/2024121中断的实现中断的实现 1) 对于内部定时中断,是通过编程来实现的,定时中断的时间,由中断命令控制字设定。2)对于外部中断,应先设定系统寄存器No.403的值,然后再设定中断控制字,并按中断程序的书写格式编写程序。 ICTL是中断控制字指令,有二个操作数S1和S2。它可以是常数H,也可以是某个寄存器的数据。其中

98、S1设置中断类型,S2设置中断参数。具体设置方法参见手册。 中断控制字的设置中断控制字的设置 此外,与普通微机不同,PLC的中断是非嵌套的,也就是说,在执行低级中断时,若有高级中断到来,并不立即响应高级中断,而是在执行完当前中断后,才响应高级中断。 8/24/2024122注意事项注意事项使用外部中断之前,首先设置系统寄存器No.403。ICTL指令应和DF指令配合使用。中断子程序应放在主程序结束指令ED之后。INT和IRET指令必须成对使用。中断子程序中不能使用定时器指令TM。中断子程序的执行时间不受扫描周期的限制。中断子程序中可以使用子程序调用指令。8/24/2024123四、比较指令 比

99、较指令由3部分组成第第一一部部分分为为助助记记符符,分别由ST、AN、OR开始,用于指定条件满足后要进行的操作是开始,还是逻辑与、逻辑或;第第二二部部分分为为比比较较运运算算符符,主要有等于(=)、大于()、小于(=)、小于等于(=)和不等于()共6种关系,满足关系则为真、不满足则为假;第第三三部部分分为为比比较较操操作作数数,可以为常数,即通常所说的直接寻址方式,也可以为寄存器的值,即通常所说的间接寻址方式。第二部分比较运算符指定进行的操作即是针对这两个数。8/24/2024124例例例例3-203-20该该该该程程程程序序序序的的的的功功功功能能能能为为为为:根据DT2中的数据范围,或(D

100、T1,DT0)中的内容,来决定R0的输出状态。设DT2中数据用x表示,(DT1,DT0)中数据用y表示,则当16x32,或者y64时,R0导通,输出为ON;否则,R0断开,输出为OFF。 从该例可以看出,比较指令实际上相当于一个条件触点,根据条件是否满足,决定触点的通断。例题说明:例题说明:例题说明:例题说明:8/24/2024125单字比较为16位数据,双字比较为32位数据,用寄存器寻址时,后者采用两个相邻寄存器联合取值,如例中(DT1,DT0),表示由DT1和DT0联合构成32位数据。在构成梯形图时,ST、AN、OR与基本顺序指令中用法类似,区别仅在于操作数上,前者为寄存器(16-bit或

101、32-bit),后者为继电器(1-bit)。单字指令步数为5步,而双字指令步数为9步。注意事项注意事项8/24/2024126第三节 高级指令概述第三章 FP1的指令系统8/24/2024127一、高级指令的类型 数数据据传传送送指指令令:16位、32位数据,以及位数据的传送、拷贝、交换等功能。算算术术运运算算指指令令:二进制数和BCD码的加、减、乘、除等算术运算。数据比较指令:数据比较指令:16位或32位数据的比较。逻逻辑辑运运算算指指令令:16位数据的与、或、异或和异或非运算。数数据据转转换换指指令令:16位或32位数据按指定的格式进行转换。数数据据移移位位指指令令:16位数据进行左移、右

102、移、循环移位和数据块移位等。位位操操作作指指令令:16位数据以位为单位,进行置位、复位、求反、测试以及位状态统计等操作。特特殊殊功功能能指指令令:包括时间单位的变换、I/O刷新、进位标志的置位和复位、串口通信及高速计数器指令等等。8/24/2024128二、高级指令的构成 高级指令由大写字母“F”、指令功能号、助记符和操作数组成,指令的格式如下。 Fn是指令功能号,FnF0 F165。不同的功能号规定CPU进行不同的操作。指令的助记符用英文缩写表示,一般可据此大致推测出该指令的功能。 S是源操作数或源数据区,D是目的操作数或目的数据区,分别指定操作数或其地址、性质和内容。 操作数可以是一个、二

103、个或者三个,取决于所用的指令,可以是单字(16-bit)和双字(32-bit)的数据,若为位操作指令,还可以是位(1-bit)数据。8/24/2024129三、高级指令的操作数 1 1进位制进位制p 二进制系统(BIN)p 十进制常数(K常数)p 十六进制常数(H常数)p 二进制表示的十进制数(BCD码)2 2、寄存器和常数、寄存器和常数 字继电器(WX、WY、WR)、定时器/计数器区(T、C、SV、EV)、数据寄存器(DT)、索引寄存器(IX、IY)和常数(K、H)均由1个字(16-bit)构成,且以字为单位进行处理。字继电器的内容按位对应其继电器元件的状态。8/24/2024130四、使用

104、高级指令应注意的问题 在高级指令的前面必须加控制触点(触发信号),而在后面只能是右母线。根据执行的过程,FP1的指令有两种类型,即F型和P型。如果控制触点接通后,其后续的指令每个扫描周期都要执行一次,称为“F型”指令;否则,如果后续的指令只在触发信号的上升沿执行一次,称为“P型”指令。本书中只介绍“F型”指令,如果在控制过程中需要只执行一次高级指令,可在F型高级指令的前面使用微分指令(DF)实现。如果多个高级指令连续使用同一控制触点,不必每次都画出或写出该控制触点。见下图中虚线部分,第二、第三个指令的X0触点可以省略,则图(a)简化为图(b)。 (a) (b) 8/24/2024131第三章

105、FP1的指令系统第四节第四节 FP1FP1的高级指令的高级指令8/24/2024132一、数据传送指令一、数据传送指令 数据传送指令的功能是将源操作数中的数据,按照规定的要求,复制到目的操作数中去,可分为数据传送、位传送、数字传送、块传送及复制、寄存器交换等。 1 1数据传送:数据传送:F0(MV)F0(MV)、F1(DMV)F1(DMV)、F2(MV/)F2(MV/)、F3(DMV/)F3(DMV/)F0 MV S, D :将一个16位的常数或寄存器中的数据传送到另一个寄存器中去。F1 DMV S, D :将一个32位的常数或寄存器区中的数据传送到另一个寄存器区中去。F2 MV/ S, D

106、:将一个16位的常数或寄存器中的数据取反后传送到另一个寄存器中去。F3 DMV/ S, D :将一个32位的常数或寄存器区中的数据取反后传送到另一个寄存器区中去。8/24/2024133例例例例3-213-21该该该该程程程程序序序序的的的的功功功功能能能能是是是是:当控制触点X0闭合时,每个扫描周期都要重复将十进制数100传送到内部字寄存器DT0中。 F0(MV)指令对源操作数没有要求,而目的操作数不能是输入继电器WX和常数K、H,原因很明显:目的操作数是用来保存结果的,自然不能用输入继电器和常数。后面介绍的其它指令也有类似情况。8/24/2024134例例例例3-223-22与上例相比,该

107、例有5点不同,下面加以详细说明。1) 在控制触点后,增加了微分指令DF,表示该指令仅在检测到控制触点X0闭合时执行一次;2) F3(DMV/)指令助记符的第一个字符为“D”,表示该指令为双字操作,目的操作数为DT0寄存器,表示数据保存在寄存器DT1、DT0构成的32位单元中。在以后的双字操作指令中也遵循这一原则,即由相邻2个16位寄存器联合构成一个32位寄存器,默认指定的是低16位寄存器。如果低16位区已分别指定为S、D,则高16位分别自动指定为S+1、D+1,本例中: S+1(高位)WR3,S(低位)WR2 D+1(高位)DT1,D(低位)DT08/24/20241353) F3(DMV/)

108、指令助记符的最后一个字符为“/”,表示在进行传送时,要对被传送的数据先进行取反,然后将结果送往目的寄存器区。4) 源操作数和目的操作数都用寄存器方式寻址,源操作数在执行指令后内容不变,目的操作数则被覆盖,相当于执行数据拷贝操作。数据的传递关系与结果参看下表。5) 与F0(MV)指令不同的是,S和D不能用IY寄存器。IX和IY除用作索引寄存器外,还可以用作通用寄存器。当用作通用16位寄存器时,二者可单独使用;当用作32位存储区时,二者联用,IX存低16位,IY存高16位,因此程序中只能引用IX,IY由系统自动引用,无论是S还是D均如此。这个规则对于所有的双字(32-bit)指令都适用。 8/24

109、/20241362. 2. 位传输:位传输:F5(BTM)F5(BTM)、F6(DGT)F6(DGT) F5 BTM S, n, D :16位二进制数的位传送指令。将一个16位二进制数的任意指定位,拷贝到另一个16位二进制数据中的任意指定位中去。 F6 DGT S, n, D :16位十六进制数的位传送指令。将一个16位数据按十六进制,传送若干位(digit)到另一个16位寄存器区中去。8/24/2024137例例例例3-233-23例题说明:例题说明:例题说明:例题说明: 当控制触点X0接通时,WX0中第05位数据传送到DT0中的第11位去,如下图所示。WX0中的数据由前面的程序赋值,DT0

110、中的数据可能已经赋值,也可能没有赋值,但是执行完该指令后,DT0的第11位被赋值为1。 8/24/2024138 在F5(BTM)指令中,S为源操作数,是被传送的16位常数或寄存器中的数据;D为目的操作数,表示接收数据的16位目的寄存器;n是16位的操作数,又称传输控制码,它指明了源操作数中哪一位数据将被传送以及传送到目的操作数中的哪一位置。在n中,bit0 bit3用以指定源操作数中哪一位将被传送,bit8 bit11用以指定被传送数据放在目的操作数的什么位置,bit4 bit7、bit12 bit15这8位未用,可随便取值,不影响结果,为简便计,一般均取为0。因此,本例中源区位地址取为H5

111、,目的区位地址取为HB。n的设置参见下图。8/24/2024139 对于F6(DGT),在n的定义上有所不同,一是数据操作的最小单位为十六进制的1位,即1digit,相当于二进制的4bits;二是要拷贝的数据不像F5那样只有1位,而是有效范围内的任意位,因此还需要指定参与操作的位数。n的设置可参考下图。 由图中可见,n的bit12 bit15未用,以十六进制表示,即digit3未用。8/24/2024140 为了能够表示数据段,采用的是“首地址+段长度”的表示方式,即由digit2表示目的区首地址、digit1表示要拷贝的数据段位数、digit0表示源区首地址,这样进行操作的数据区地址就可唯一

112、确定。 举例而言,若想将源区的4个十六进制位(digit0 digit3)拷贝到目的区的4个十六进制位(digit1 digit3,digit0),可将n取值为H0130,其含义见左图,执行情况见右图。 值得注意的是,这里有个“循环”的概念,即如果目的区位数不够,自动回到最小位,再进行拷贝。如例中S的digit3应该送给D中的digit4,但是D的最大位为digit3,则该数据自动送往D的digit0。 8/24/20241413. 3. 块传输指令:块传输指令:F10(BKMV)F10(BKMV)、F11(COPY)F11(COPY)1) F10(BKMV):区块传输指令。 格式: F10

113、BKMV S1, S2, D 说明:数据段采用的是“首地址+尾地址”的表示方式,即将指定的以S1为起始地址、S2为终止地址的数据块拷贝到以D为起始地址的目的区中。要求S1和S2应为同一类型的寄存器,且S2S1。2) F11(COPY):块拷贝指令。 格式: F11 COPY S, D1, D2 说明:即将由S指定的16-bit常数或寄存器中的值重复拷贝到以D1为起始地址、D2为终止地址的目的区中。要求D1和D2应为同一类型的寄存器,且D2D1。8/24/2024142 4 4数据交换指令:数据交换指令:F15(XCH)F15(XCH)、F16(DXCH)F16(DXCH)、F17(SWAP)F

114、17(SWAP)1) F15(XCH):16位数据交换。 格式: F15 XCH D1, D2 说明:将D1和D2寄存器中的16位数据互相交换。2) F16(DXCH):32位数据交换。 格式: F16 DXCH D1, D2 说明:将(D1+1,D1)寄存器中的32位数据与(D2+l,D2)中的32位数据互换。3) F17(SWAP):16位数据的高低字节互换。 格式: F17 SWAP D 说明:将D寄存器中的16位数据高8位和低8位互换。8/24/2024143二、算术运算指令二、算术运算指令 算术运算指令共有32条,但是同前面介绍的比较指令类似,规律性很强。因此,书中仅对其规律加以总结

115、分析,掌握规律后,结合指令表,不难掌握这类指令。 1 1、指令分类、指令分类 u按照进位制可分为二进制BIN算术运算指令和BCD码算术运算指令,各为16条指令,后者在指令中增加大写字母“B”以示区别。u按照参与运算的数据字长(位数)可以分为单字(16-bit)和双字(32-bit)指令,后者在助记符中以大写字母“D”区别,在FP1的其它指令中也是采用这种方式。u按照运算规则可分为加、减、乘、除四则运算,以及加1、减1共六种基本运算。其中,加1和减1可以看作是加、减运算的特例。u按照参与运算的操作数的多少可分为一操作数、两操作数和三操作数。8/24/20241442 2操作数的数据范围操作数的数

116、据范围 u 16位二进制数:32768 32767 或H8000 H7FFF。u 32位二进制数:2147483648 2147483647 或H80000000 H7FFFFFFF。u 4位BCD码: 0 9999。u 8位BCD码: 0 99999999。8/24/20241453 3运算标志运算标志 算术运算要影响标志继电器,包括特殊内部继电器R9008、R9009和R900B。这里仅对影响情况做简单概括,详细情况需要结合具体的指令,参考手册学习掌握。lR9008:错误标志。当有操作错误发生时,R9008接通一个扫描周期,并把发生错误的地址存入DT9018中。lR9009:进位、借位或溢

117、出标志。当运算结果溢出或由移位指令将其置1时,R9009接通一个扫描周期。lR900B:0结果标志。当比较指令中比较结果相同,或是算术运算结果为0时,R900B接通一个扫描周期。 8/24/20241464 4运算规则运算规则1) 加法指令的算法 两操作数:(D) + (S) (D) 三操作数:(S1) + (S2) (D)2) 减法指令的算法 两操作数:(D) (S) (D) 三操作数:(S1) (S2) (D)3) 乘法指令的算法 (S1) (S2) (D) 乘法运算可能会导致16位数据升为32位,因此结果用32位存储;同理,32位乘法结果用64位存储。存储区自动取指定寄存器连续的高位寄存

118、器,例如指定寄存器为D,对于64位,结果自动存于(D+3, D+2, D+1, D)四个连续寄存器中。8/24/20241474) 除法指令的算法 (S1) (S2) (D) 除法运算在每次运算完后,商数保存于D中或(D+1, D)中。此外,还可能产生余数,如果是单字运算,可到DT9015中取余数;如果是双字运算,可到(DT9016, DT9015)中取余数。5) 加1和减1指令算法 加1指令:(D) + 1 (D) 减1指令:(D) 1 (D) 算术运算一般都是一次性的,而PLC采用的是扫描执行方式,因此该类指令常常和微分指令(DF)联合使用。下面举例对算术指令加以说明。8/24/20241

119、485 5举例举例例3-24:用算术运算指令完成算式, 这里包括了加、减、乘、除四种运算。要求X1闭合时开始运算,X0闭合时各单元清零,且清零优先。解:使用二进制(BIN)运算指令实现时,梯形图如下图。同样的功能也可采用BCD码运算指令实现。8/24/2024149三、数据比较指令三、数据比较指令 数据比较指令包括16位或32位数据比较指令、一个16位或32位数据与数据区间进行比较、数据块比较等5条指令。比较的结果用特殊内部继电器R9009、R900A、R900B和R900C的状态来表示。 1 11616位和位和3232位数据比较指令:位数据比较指令:F60(CMP)F60(CMP)、F61(

120、DCMP) F61(DCMP) F60 CMP, S1, S2 :16位数据比较指令。 F61 DCMP, S1, S2 :32位数据比较指令。 该类指令的功能为:当控制触点闭合时,将S1指定数据与S2指定数据进行比较,比较的结果反映到标志位中。8/24/2024150 如果程序中多次使用F60(CMP)指令,则标志继电器的状态总是取决于前面最临近的比较指令。为了保证使用中不出现混乱,一个办法是在比较指令和标志继电器前使用相同的控制触点来进行控制;另一个办法是在比较指令后立即使用相关的标志继电器。标志位结果R900AR900BR900CR9009标志标志标志进位标志有符号数比较S1S2OFFO

121、FFONS1S2OFFONOFFOFFS1S2ONOFFOFFBCD数据或无符号数比较S1S2OFFONS1S2OFFONOFFOFFS1S2OFFOFF表3-14 16位数据比较指令F60(CMP) 对标志位影响 8/24/20241512 21616位和位和3232位数据区间比较指令:位数据区间比较指令:F62(WIN)F62(WIN)、F63(DWIN)F63(DWIN) F62 WIN, S1, S2, S3 :16位数据区段比较指令。 F63 DWIN, S1, S2, S3 :32位数据区段比较指令。 该类指令的功能为:当控制触点闭合时,将S1指定数据与S2指定下限、S3指定上限的

122、数据区间中的数据比较,比较的结果反映到标志位中。标志位结果R900AR900BR900C标志标志标志S1S2OFFOFFONS2S1S3OFFONOFFS1S3ONOFFOFF表3-15 16位数据区间比较指令F62(WIN)对标志位影响 8/24/20241523 3数据块比较指令:数据块比较指令:F64(BCMP)F64(BCMP) F64 BCMP, S1, S2, S3 :数据块比较指令。 该指令功能为:当控制触点闭合时,根据S1指定的比较参数,该参数包括数据块的起点和长度,比较由S2指定首地址的数据块和由S3指定首地址的数据块中的内容,当两个数据块完全相同时,特殊内部继电器R900B

123、接通。 S1指定的比较参数的定义见下图。 8/24/2024153四、逻辑运算指令四、逻辑运算指令 该类指令很简单,包括与、或、异或和异或非4种。操作数均为16位,均有三操作数,将S1和S2分别进行上述4种运算,结果存于D中。1. F65(WAN)1. F65(WAN):格式: F65 WAN S1, S2, D 功能:16-bit data AND,16位数据“与”运算。2. F66(WOR)2. F66(WOR):格式: F66 WOR S1, S2, D 功能:16-bit data OR,16位数据“或”运算。3. F67(XOR)3. F67(XOR):格式: F67 XOR S1,

124、 S2, D 功能:16-bit data exclusive OR,16位数据“异或”运算。4. F68(XNR)4. F68(XNR):格式: F68 XNR S1, S2, D 功能:16-bit data exclusive NOR,16位数据“异或非”运算。8/24/2024154五、数据转换指令五、数据转换指令 数据转换指令包含各种数制、码制之间的相互转换,有二进制、十六进制及BCD码数据同ASCII码之间的相互转换,二进制数据与BCD码间的相互转换,指令较多。此外还有二进制数据的求反、求补、取绝对值;符号位的扩展等操作以及解码、编码、译码、数据分离、数据组合、数据查表等操作。通过

125、这些指令,在程序中可以较好地解决PLC输入、输出的数据类型与内部运算数据类型不一致的问题。8/24/20241551 1区块检查码计算指令:区块检查码计算指令:F70(BCC)F70(BCC)F70 BCC S1, S2, S3, D:这条指令常用于数据通信时检查数据传输是否正确。该指令是FP1指令系统中惟一的一条四操作数的指令。2 2码制变换指令:码制变换指令:F71 F83F71 F831) F71 F78:是8条三操作数的码制变换指令,分别实现十六进制数据、BCD码、16位二进制数据、32位二进制数据与ASCII码间的互换,2) F80 F83:是4条双操作数的码制变换指令,分别实现16

126、位和32位二进制数据与BCD码数据间的互换。 根据前面所学知识,不难推测出S和D可取用的寄存器范围。即目的寄存器不可取用WX、K、H,当操作数是32位数据时,不可取用IY。8/24/20241563 3数据计算指令:数据计算指令:F84 F88F84 F88 F84 F88这5条指令是将D指定的16位数据或32位二进制数据分别求反、求补、取绝对值,并将结果存储在D或(D+1, D)中。操作数D不可用寄存器WX、K、H。 4 41616位数据符号位扩展指令:位数据符号位扩展指令:F89(EXT)F89(EXT) 该指令的功能为:将D指定的16位数据的符号位全部拷贝到D+1寄存器的各个位中,保留D

127、寄存器,扩展结果作为32位数据存储于(D+1, D)中。用该指令可将16位数据转变为32位数据。8/24/20241575 5编码编码/ /解码指令:解码指令:F90 F92F90 F92图3-39 n的格式示意图1) F90 DECO S, n, D:解码指令。所谓解码,就是将若干位二进制数转换成具有特定意义的信息,即类似于数字电路中的3-8译码器的功能,将S指定的16位二进制数根据n规定的规则进行解码,解码的结果存于以D指定的16位寄存器作为首地址的连续区域。2) F91 SEGT S, D :位数据七段解码指令。是把一个4位二进制数译成七段显示码。即将S指定的16位数据转换为七段显示码,

128、转换结果存储于以D为首地址的寄存器区域中。其中,S为被译码的数据或寄存器。D为存放译码结果的寄存器首地址。 在执行该指令时,将每4bit二进制码译成7位的七段显示码,数码的前面补0变成8位,因此,译码结果使数据位扩大了一倍。 8/24/2024158图3-40 n的格式示意图3) F92 ENCO S, n, D :编码指令。所谓编码,就是将具有特定意义的信息变成若干位二进制数。将S指定的16位二进制数据根据n的规定进行编码,编码结果存储于D指定的寄存器中。 其中,S为被编码的数据或寄存器首地址,n为编码控制字或存放控制字的寄存器。 nL为n的bit0 bit3,用于设定编码数据的有效位长度,

129、nL的取值范围为H1 H8。S的有效位长度2nL。 nH是n的bit8 bit11,用于设定D寄存器从何位开始存放结果,nH取值范围为H0 HF。8/24/20241596 . 6 . 数据组和数据组和/ /分离指令:分离指令:F93F93、F94F941) F93 UNIT S, n, D :数据组合指令,其功能是将一组数据的低4位(bit0 bit3)重新组成一个16位数据。2) F94 DIST S, n, D :数据分离指令,其功能和数据组合指令相反,是将一个16位数,每4bits为一组分成4组,按n规定的方式,存到结果寄存器D的低4位中去。7 7字符字符ASCIIASCII码转换指令

130、:码转换指令:F95(ASC)F95(ASC) F95 ASC S, D :将S指定的字符常数转换为ASCII,转换后的结果存储于以D指定的16位寄存器开始的区域中。 8 8表数据查找指令:表数据查找指令:F96(SRC)F96(SRC) F96 SRC S1, S2, S3 :在S2(首地址)和S3(尾地址)指定的数据区中查找与S1的内容相同的数据,并将查找到的数据的个数存储于特殊数据寄存器DT9037中,第一次发现该数据的位置存储于特殊数据寄存器DT9038中。8/24/2024160六、数据移位指令六、数据移位指令 FP1高级指令系统中包含了位、字以及字段的左/右移位指令,共有16位数据

131、的左/右移位、4位BCD码的左/右移位,字数据的左/右移位、16位数据的左/右循环移位等12条指令。其中位移位指令有进位标志位参与运算,并分为非循环移位指令(普通移位)和循环移位指令两种。这些移位指令比前文介绍过的SR指令的功能要强大得多,且不象SR那样每次只能移动1位,而是可以根据需要,在指令中设置一次移动若干位。此外,各种通用寄存器都可以参与多种移位操作,其操作结果影响内部特殊继电器R9009(进位标志)或特殊数据寄存器DT9014。 8/24/20241611 11616位数据的左位数据的左/ /右移位指令右移位指令 该类移位指令只是针对16位二进制数据,根据循环情况的不同又可分为普通(

132、非循环)移位指令、循环移位指令和包含进位标志的循环移位指令三种情况。其区别主要在于移入位的数据处理上,简单地说,普通(非循环)移位指令不循环,移入位直接依次补0;循环移位指令移入位则由移出位补入;包含进位标志的循环移位指令移入位由进位标志依次补入。 这里要注意的是,为了便于理解,也可将一次移动n位的过程理解成移动n次,每次移动1位,实际上指令是一次完成移位的。8/24/20241621) 1) 普通(非循环)移位指令普通(非循环)移位指令普通(非循环)移位指令普通(非循环)移位指令 F100 SHR, D, n :寄存器D中的16位数据右移n位,高位侧移入数据均为0,低位侧向右移出n位,且第n

133、位移入进位标志位CY(R9009)中。 F101 SHL, D, n :寄存器D中的16位数据左移n位,高位侧向左移出n位,且第n位移入进位标志位CY(R9009)中,低位侧移入数据均为0。 其中,n用于设定移位的位数,为常数或16位寄存器,取值范围为K0 K255。 8/24/20241632) 2) 循环移位指令循环移位指令循环移位指令循环移位指令 F120 ROR, D, n :寄存器D中的16位数据右移n位,低位侧移出的n位依次移入高位侧,同时移出的第n位复制到进位标志位CY(R9009)中。 F121 ROL, D, n :寄存器D中的16位数据左移n位,高位侧移出的n位依次移入低位

134、侧,同时移出的第n位复制到进位标志位CY(R9009)中。 注意这两条指令与F100和F101的区别在于:这里是循环移位,而不是补0。 8/24/20241643) 3) 包含进位标志的循环移位指令包含进位标志的循环移位指令包含进位标志的循环移位指令包含进位标志的循环移位指令 F122 RCR, D, n :寄存器D中的16位数据右移n位,移出的第n位移入进位标志位CY,而进位标志位CY原来的数据则移入从最高位侧计的第n位。 F123 RCL, D, n :寄存器D中的16位数据左移n位,移出的第n位移入进位标志位CY,而进位标志位CY原来的数据则移入从最低位侧计的第n位。8/24/20241

135、652十六进制数的左/右移位指令 F105 BSR, D :寄存器D中的4位十六进制数右移1位,相当于右移二进制的4bits,移出的低4bits数据送到特殊数据寄存器DT9014的低4bits,同时D的高4bits变为0。 F106 BSL, D :寄存器D中的4位十六进制数左移1位,相当于左移二进制的4bits,移出的高4bits数据送到特殊数据寄存器DT9014的低4bits,同时D的低4bits变为0。8/24/20241663 3数据区按字左数据区按字左/ /右移位指令右移位指令 F110 WSHR, D1, D2 :由D1为首地址,D2为末地址定义的16位寄存器数据区,整体右移一个字

136、,相当于二进制的16-bit。执行后,首地址寄存器的原数据丢失,末地址寄存器为0。 F111 WSHL, D1, D2 :由D1为首地址,D2为末地址定义的16位寄存器数据区,整体左移一个字,相当于二进制的16-bit。执行后,首地址寄存器为0,末地址寄存器的原数据丢失。 同前面针对数据区操作的高级指令一样,D1和D2应是同一类型的寄存器,且末地址寄存器号应大于或等于首地址寄存器号,即D2D1。此外,还要注意的是首尾地址的编排顺序是左边为末地址、右边为首地址。8/24/20241674 4十六进制数据区的左十六进制数据区的左/ /右移位指令右移位指令 F112 WBSR, D1, D2 :由D

137、1为首地址,D2为末地址定义的16位寄存器数据区,整体右移一个十六进制数,相当于二进制的4bits。 F113 WBSL, D1, D2 : 由D1为首地址,D2为末地址定义的16位寄存器数据区,整体左移一个十六进制数,相当于二进制的4bits。8/24/2024168七、位操作指令七、位操作指令 位操作就是指被操作的对象不是字,而是字中的某一位或几位。FP1系列PLC具有较强的位操作能力,可以进行16位数据的位置位(置1)、位复位(清0)、位求反以及位测试,还可计算16位或32位数据中,位值为“1”的位数。位操作指令共有6条,可分为位处理指令和位计算指令两类。 由于这些指令可以对寄存器中数据

138、的任意位进行控制和运算,所以在编程中有时可以起到重要作用。同样一种控制要求,用一般的基本指令实现,程序往往比较复杂;如果利用好位操作指令,可取得很好的效果,使程序变得更为简洁。8/24/20241691 1位处理指令位处理指令 F130 BTS, D, n:位置1指令。 F131 BTR, D, n:位清0指令。 F132 BTI, D, n: 位求反指令。 F133 BTT, D, n:位测试指令。 前3条指令的功能是对位进行运算处理,分别对D寄存器中、位地址为n的数据位进行置位(置1)、复位(清0)、求反。其中,由于n用来表示16位数据的位地址,因此取值范围为K0 K15。 第4条指令用于

139、测试16位数据D中任意位n的状态为“0”还是为“1”。测试的结果存储在内部继电器R900B中,如果测试结果为0,则R900B=1;测试结果为1,R900B=0。8/24/20241702 2位计算指令位计算指令 位计算指令就是计算寄存器的数据或常数中有多少位是“1”。 F135 BCU, S, D:16位位计算指令。 F136 DBCU, S, D:32位位计算指令。 F135(BCU)和F136(DBCU)的功能是分别统计S指定的16位和32位数据中位值为“1”的位的个数,并把统计的结果存储于D指定的存储区中。 8/24/2024171八、特殊指令八、特殊指令 1 1、时间变换指令:、时间变

140、换指令:F138(HMSS)F138(HMSS)、F139(SHMS)F139(SHMS) FP1-C24以上机型均有日历及实时时钟功能。使用手持编程器或编程软件将年、月、日、时、分、秒、星期等的初值设置到特殊数据寄存器DT9054 DT9057中,即可实现自动计时,即使断电后,计时也不会间断。校表时,采用舍入法,DT9058是30秒校表寄存器,当DT9058置入“1”时,若秒位显示小于30秒则舍去,若大于30秒,则分位加“1”。 8/24/20241721) F138(HMSS)1) F138(HMSS)格式: F138 HMSS S, D 功能:将以时/分/秒格式表示的时间数据,变换成以秒

141、为单位的时间数据。将(S+1, S)中存放的时/分/秒数据转换为秒数据,结果存放于寄存器(D+1, D)中。在这里,S和D中的数据均用BCD码表示。表示形式如下图所示。图3-47 F138指令中S和D的含义2) F139(SHMS)2) F139(SHMS)格式: F139 SHMS S, D 功能:将以秒为单位的时间数据,变换成以时/分/秒格式表示的时间数据。功能与F138完全相反。8/24/20241732 2、进位位、进位位(CY)(CY)的置位和复位指令:的置位和复位指令:F140(STC)F140(STC)、F141(CLC)F141(CLC) 格式: F140 STC 、 F141

142、 CLC 功能:F140(STC)和F141(CLC)指令是FP1高级指令中仅有的两条无操作数的指令,其功能是将特殊内部继电器R9009(进位标志位)置位和复位,即将R9009置为1或者清0。3 3、刷新部分、刷新部分I/OI/O指令:指令:F143(IORF)F143(IORF) 格式: F143 IORF D1, D2 功能:刷新指定的部分I/O点。 F143指令只要触发信号接通,即使在执行程序阶段,也能立即将输入(WX)或输出(WY)寄存器D1至D2的内容刷新,避免由扫描时间造成的延时。该指令要求D1和D2为同一类型的操作数,且D2D1。 8/24/20241744 4、串行数据通信指令

143、:、串行数据通信指令:F144(TRNS)F144(TRNS)格式: F144 TRNS S, n 功能:通过RS232串行口与外设通讯,以字节为单位,发送或接收数据。一般型号末端带“C”的PLC带有RS232串行口。 其中,S为发送或接收数据的寄存器区首地址,且S只能使用数据寄存器DT。寄存器S用作发送或接收监视之用,之后的寄存器S+1、S+2、,存放着发送或接收的数据。也就是说,S+1为发送和接收数据的首地址,数据存放在S+1及以后的寄存器中。n则用来设定要发送的字节数。1) 数数据据发发送送:特殊内部继电器R9039是发送标志继电器,发送过程中R9039为OFF状态,结束后为ON状态。

144、2) 数数据据接接收收:特殊内部继电器R9038是接收标志继电器,接收过程中R9038为OFF状态,结束后为ON状态。 8/24/20241755 5、并行打印输出指令:、并行打印输出指令:F147(PR) F147(PR) 格式: F147 PR S, D 功能:通过并行通讯口打印输出字符。每次执行打印指令可连续打印12个字符,并占用37个扫描周期,由Y8自动发出打印脉冲。C24以上晶体管输出型的PLC具有并行打印输出功能。 其中,S指定了要输出字符的首地址,S和随后的S+1、S+2等保存的必须是字符型ASCII数据。D为打印机信号输出,只可用WY输出继电器,且0 8位与打印机对应,PLC与

145、打印机之间的连线如下表所示。表表3-21 FP1与打印机连接端点与打印机连接端点晶体管输出型FP1Y0Y1Y2Y3Y4Y5Y6Y7Y8COMDC+5V打印机Data1Data2Data3Data4Data5Data6Data7Data8StrobeCOMDC+5V8/24/20241766 6、自诊断错误设置指令:、自诊断错误设置指令:F148(ERR)F148(ERR)格式: F148 ERR n 功能:将某特殊状态设置为自诊断错误,或者将由自诊断错误E45、E50或E200 E299引起的错误状态复位。F148指令的运行由n决定,n为自诊断错误代码,范围为0和100 299。l n = 0

146、:清除由自诊断错误E45、E50或E200 E299引起的错误状态;l n = 100 299:将指令的触发信号设置为第n号自诊断错误。具体内容请参见手册的“错误代码表”。7 7、信息显示指令:、信息显示指令:F149(MSG)F149(MSG)格式: F149 MSG S 功能:将S指定的字符常数(以M开始的字符串)显示在FP编程器II屏幕上。8/24/20241778 8、时间运算指令:、时间运算指令:F157(CADD)F157(CADD)、F158(CSUB)F158(CSUB)1) F157(CADD)1) F157(CADD)格式: F157 CADD S1, S2, D 功能:在

147、(S1+2, S1+1, S1)指定的日期(年、月、日)和时间(时、分、秒)数据中加上(S2+1, S2)指定的时间数据,所得的结果(年、月、日、时、分、秒)存放在(D+2, D+1, D)中,日期、时间数据均用BCD码表示。2) F158(CSUB)2) F158(CSUB)格式: F158 CSUB S1, S2, D 功能:同F157(CADD)类似,只是相加运算变为相减运算,详细用法请参考手册。 8/24/2024178第三章结束第三章结束哈尔滨理工大学哈尔滨理工大学电气与电子工程学院电气与电子工程学院电气技术教研室电气技术教研室2003年年3月月24日日8/24/2024179第四章

148、 PLC的编程及应用 第一节 PLC编程特点和原则1PLC的编程特点 梯形图编程是PLC编程中最常用的方法。它源于传统的继电器电路图,但发展到今天两者之间有了较大的差别。1.程序的执行顺序继电器梯形图和PLC梯形图执行顺序的比较 继电器梯形图 X1X1闭合后,闭合后,Y1Y1、Y2Y2同时得电同时得电 PLC梯形图 X1X1闭合后,闭合后,Y1Y1先输出,先输出,Y2Y2后输出后输出 8/24/2024180PLC程序的扫描执行结果 扫描执行方式优点:优点:可滤掉高频干扰,增强抗干扰能力。缺点:缺点:产生响应滞后,影响可靠性。2.继电器自身的延时效应X1X1闭合后,闭合后, Y1Y1、Y2Y2

149、在在同一扫描周期内动作同一扫描周期内动作 X1X1闭合后,闭合后,Y1Y1、Y2Y2在在两个扫描周期内动作两个扫描周期内动作 X1X1动作时,动作时, Y1Y1、Y2Y2不同时得电与断电不同时得电与断电 X1X1动作时,动作时,Y0Y0、Y1Y1同时得电与断电同时得电与断电 8/24/20241813.PLC中的软继电器中的软继电器 所谓软继电器是指所谓软继电器是指PLCPLC存储空间中的一个可以存储空间中的一个可以寻址的位。寻址的位。 在PLC中,软继电器种类多、数量大。 如FP1-C24,共有R内部继电器1008个,特殊继电器64个,定时器/计数器144个。 寄存器中触发器的状态可以读取任

150、意次,相当寄存器中触发器的状态可以读取任意次,相当于每个继电器有无数个常开和常闭触点。于每个继电器有无数个常开和常闭触点。 8/24/20241822 PLC的编程原则1.输入/输出继电器、内部辅助继电器、定时器、计数器等器件的触点可以多次重复使用触点可以多次重复使用,无需复杂的程序结构来减少触点的使用次数。2.梯形图每一行都是从左母线开始,线圈终止于右母线。梯形图每一行都是从左母线开始,线圈终止于右母线。触点不能放在线圈的右边。触点不能放在线圈的右边。 3. 接点和线圈的顺序:4. 正确程序正确程序 错误程序错误程序 8/24/20241833.除步进程序外,任何线圈、定时器、计数器、除步进

151、程序外,任何线圈、定时器、计数器、高级指令等不能直接与左母线相连。高级指令等不能直接与左母线相连。如果需要任何时候都被执行的程序段,可以通过特殊内部常闭继电器或某个内部继电器的常闭触点来连接。4. 在程序中,不允许同一编号的线圈两次输出。不允许同一编号的线圈两次输出。下面的梯形图是不允许的。 利用内部特殊继电器利用内部特殊继电器实现常闭输出实现常闭输出 利用内部继电器常闭接点利用内部继电器常闭接点实现常闭输出实现常闭输出 8/24/20241845.不允许出现桥式电路。 注意:注意:注意:注意:触点应画在水平线上,不能画在垂直分支上。6.程序的编写顺序应按自上而下、从左至右自上而下、从左至右的

152、方式编写。为了减少程序的执行步数,程序应为“左大右小,上大左大右小,上大下小下小”。如: 错误的桥式电路错误的桥式电路 桥式电路的替代电路桥式电路的替代电路 不符合上大下小的电路,共不符合上大下小的电路,共5 5步步 8/24/2024185 符合上大下小的电路,共符合上大下小的电路,共4 4步步 不符合左大右小的电路,共不符合左大右小的电路,共5 5步步 符合左大右小的电路,共符合左大右小的电路,共4 4步步 8/24/2024186 第二节第二节 基本电路基本电路1 1ANDAND运算运算 2 2OROR运算运算例如:例如:在锅炉控制过程中,无论是水罐的压力过高,还是水温过高都要产生声光报

153、警。 ANDAND电路,电路,Y0Y0接受接受X1X1和和X2X2的的ANDAND运算结果运算结果ANDAND扩展电路,扩展电路,Y0Y0接受块接受块1 1和块和块2 2的的ANDAND运算结果运算结果 例如例如:只有当设备的状态为就绪状态,并且按下“开始” 按扭,设备才能开始工作。OROR扩展电路,扩展电路,Y1Y1接受的是块接受的是块1 1和块和块2 2的的OROR运算结果运算结果 OROR电路,电路,Y1Y1接受的是接受的是X1X1和和X2X2的的OROR运算结果运算结果 8/24/20241873自锁(自保持)电路 自锁电路分为:关断优先式和启动优先式 关断优先式自锁电路关断优先式自锁

154、电路:当执行关断指令,X2闭合时,无论X1的状态如何,线圈Y1均不得电。 启动优先式自锁电路启动优先式自锁电路:当执行启动指令,X1闭合时,无论X2的状态如何,线圈Y1都得电。 关断优先式自锁电路关断优先式自锁电路 启动优先式自锁电路启动优先式自锁电路 8/24/20241884互锁电路 互锁电路用于不允许同时动作的两个继电器的控制互锁电路用于不允许同时动作的两个继电器的控制,如电机的正反转控制。5 5时间电路时间电路 时间电路主要用于延时、定时和脉冲控制中。 时间控制电路既可以用定时器实现也可以用标准时钟时间控制电路既可以用定时器实现也可以用标准时钟脉冲实现。脉冲实现。 在FP1型PLC内部

155、有多达100个定时器和三种标准时 钟脉冲(0.01s、0.1s、1s)可用于时间控制。 互锁控制电路互锁控制电路 8/24/20241891.延时电路延时电路2. 3. 下图利用两个定时器组合以实现长延时。4. 即即Y0在在X0闭合闭合30秒之后得电。秒之后得电。5. 时间继电器时间继电器TMX1TMX1起到延时起到延时30300.1=30.1=3秒的作用。秒的作用。8/24/2024190 下图利用定时器串联实现长延时。即Y2在X0闭合30秒之后导通。8/24/20241912.脉冲电路脉冲电路 利用定时器可以方便地产生脉冲序列。在上图程序的运行过程中,R0每隔每隔3秒产生一次脉冲,其脉宽为

156、一个扫秒产生一次脉冲,其脉宽为一个扫描周期。描周期。 在在FP1的内部有七种标准的时钟脉冲继电器,的内部有七种标准的时钟脉冲继电器,分别为R9018(0.01s),R9019(0.02s),R901A(0.1s ),R901B(0.2s),R901C(1s),R901D(2s),R901E(1min)。若需要这几种时间的脉冲,可直接利用这几个时间脉冲发生器。 8/24/20241926分支电路 分支电路主要用于一个控制电路导致几个输出的情况。分支电路主要用于一个控制电路导致几个输出的情况。例如,开动吊车的同时打开警示灯。 下图中,当X0闭合后,线圈Y1、Y2同时得电。 8/24/2024193

157、 第三节第三节 PLCPLC编程实例编程实例1电动机正反转控制1.系统结构 利用利用PLC控制一台异步电动机的正反转。控制一台异步电动机的正反转。 输入端直流电源E由PLC内部提供,可直接将PLC电源端子接在开关上。交流电源则是由外部供给。8/24/2024194PLCPLC控制电动机正反转外部接线图控制电动机正反转外部接线图 要求:黄按钮黄按钮按下:电机正转蓝按钮蓝按钮按下:电机反转红按钮红按钮按下:电机停止8/24/20241952.系统的控制要求系统的控制要求按动黄按钮时:按动黄按钮时:若在此之前电机没有工作,则电机正转启动,并保持电机正转;若在此之前电机反转,则将电机切换到正转状态,并

158、保持电机 正转;若在此之前电机的已经是正转,则电机的转动状态不变。 电机正转状态一直保持到有篮按钮或红按钮按下为止。按动蓝按钮时:按动蓝按钮时: 若在此之前电机没有工作,则电机反转启动,并保持电机反转;若在此之前电机正转,则将电机切换到反转状态,并保持电机 反转;若在此之前电机的已经是反转,则电机的转动状态不变。 电机反转状态一直保持到有黄按钮或红按钮按下为止。按下红按钮时:按下红按钮时:停止电机的转动 注:电机不可以同时进行正转和反转,否则会损坏系统注:电机不可以同时进行正转和反转,否则会损坏系统8/24/20241963.PLC的的 I/O点的确定与分配点的确定与分配 4.系统编程分析和实

159、现系统编程分析和实现 电机正反转控制电机正反转控制PLCPLC的的I/OI/O点分配表点分配表 PLCPLC点名称点名称连接的外部设备连接的外部设备功能说明功能说明X0X0红按钮红按钮停止命令停止命令X1X1黄按钮黄按钮电机正转命令电机正转命令X2X2蓝按钮蓝按钮电机反转命令电机反转命令Y0Y0正转继电器正转继电器控制电机正转控制电机正转Y1Y1反转继电器反转继电器控制电机反转控制电机反转电机初步正转控制电路电机初步正转控制电路 电机初步正反转控制电路电机初步正反转控制电路 8/24/2024197 系统要求电机不可以同时进行正转和反转系统要求电机不可以同时进行正转和反转,如下图所示利用互锁电

160、路可以实现。 利用正转按钮来切断反转的控制通路;利用反转按钮来切断正转的控制通路。 电机正反转的互锁电路电机正反转的互锁电路电机正反转的切换电路电机正反转的切换电路 8/24/2024198 当按下红按钮时,无论在此之前电机的转动状态如何,都停止电机的转动。 利用红色按钮同时切断正转和反转的控制通路。利用红色按钮同时切断正转和反转的控制通路。电机正反转的最终控制程序电机正反转的最终控制程序 8/24/20241992锅炉点火和熄火控制 锅炉的点火和熄火过程是典型的定时器式顺序控制过程。 控制要求:控制要求: 点火过程:点火过程:先启动引风,5分钟后启动鼓风,2分钟后点火燃烧。 熄火过程:熄火过

161、程:先熄灭火焰,2分钟后停鼓风,5分钟后停引风。 1.PLC的I/O点的确定与分配 锅炉点火和熄火控制锅炉点火和熄火控制PLCPLC的的I/OI/O点分配表点分配表 PLCPLC点名称点名称连接的外部设备连接的外部设备功能说明功能说明X0X0蓝按钮蓝按钮点火命令点火命令X1X1红按钮红按钮熄火命令熄火命令Y0Y0控制继电器控制继电器1 1控制引风控制引风Y1Y1控制继电器控制继电器2 2控制鼓风控制鼓风Y2Y2控制继电器控制继电器3 3控制点火开关控制点火开关8/24/20242002.编程分析和实现(1)点火过程点火过程 工作过程: 当蓝按钮按当蓝按钮按下(下(X0X0接通)后接通)后, 启

162、动引风(启动引风(Y0输出输出。因X0选用的是非自锁按钮,故需要利用自锁电路锁住Y0,同时利用Y0触发时间继电器T0,T0延时300s(5分钟)后,输出继电器输出继电器Y1动作,即启动鼓风。动作,即启动鼓风。同时利用T0触发定时继电器T1,T1延时120s(2分钟)后,输出输出Y2,点火燃烧。点火燃烧。锅炉点火过程控制程序锅炉点火过程控制程序 8/24/2024201(2)系统的点火和熄火过程的综合程序系统的点火和熄火过程的综合程序 下面所示的两个程序都可以实现锅炉系统的点火和熄火过程控制,但实现的方式不同。但实现的方式不同。 图 (a)程序利用了4个时间继电器,但程序的逻辑关系比较简单易懂。

163、8/24/2024202(a) 锅炉系统点火和熄火过程的综合程序锅炉系统点火和熄火过程的综合程序(1)(1)8/24/2024203 图 (b)程序利用了2个时间继电器,节约了节约了2 2个时间继电个时间继电器,器,但控制逻辑相对复杂些。 (b) 锅炉系统点火和熄火过程的综合程序锅炉系统点火和熄火过程的综合程序(2)(2)8/24/20242043房间灯的控制 现在一些宾馆和家庭客厅中的装饰灯,是利用一个开关来实现不同的控制组合。 例如,房间内有1,2,3号三个灯 按动一下开关,三个灯全亮; 再按一下,1,3号灯亮,2号灭; 再按一下,2号灯亮,1,3号灭; 再按一下全部灭。 此控制是利用按动

164、开关次数来控制各个灯的亮、灭,此控制是利用按动开关次数来控制各个灯的亮、灭,故可以用计数器来实现计数式顺序控制故可以用计数器来实现计数式顺序控制。 房间灯控制房间灯控制PLCPLC的的I/OI/O点分配表点分配表 PLCPLC点名称点名称连接的外部设备连接的外部设备功能说明功能说明X0X0按钮按钮开关命令开关命令Y1Y1控制继电器控制继电器1 1控制控制1 1号灯亮灭号灯亮灭Y2Y2控制继电器控制继电器2 2控制控制2 2号灯亮灭号灯亮灭Y3Y3控制继电器控制继电器3 3控制控制3 3号灯亮灭号灯亮灭8/24/2024205 房间灯计数式顺序控制程序房间灯计数式顺序控制程序 8/24/2024

165、206 这里使用R9013是程序初始化的需要。一进入程序,就把十进制数3赋给SV100。从这以后R9013就不起作用了。 在程序中使用微分指令是使在程序中使用微分指令是使X0具有非自锁按钮的作用。具有非自锁按钮的作用。 初始状态:初始状态: EV100=3,R3通 Y1、Y2、Y3不通,3个灯全灭; 第一次接通第一次接通X0:EV100=2,R2通 Y1、Y2、Y3全通,3个灯全亮; 第二次接通第二次接通X0:EV100=1,R1通 Y1和Y3通,Y2断,故2号灭,1号和3号灯亮; 第三次接通第三次接通X0:EV100=0,R0通 Y2通,Y1和Y3断,故2号亮, 1号和3号灯灭。 EV100

166、=0时,若再次闭合X0,则计数器复位,灯全灭,程序从头开始重复以上过程。 8/24/2024207四、多地点控制四、多地点控制 要求:在三个不同的地方分别用三个开关控制一盏灯,任何一地的开关动作都可以使灯的状态发生改变,即不管不管开关是开还是关,只要有开关动作则灯的状态就发生改变。开关是开还是关,只要有开关动作则灯的状态就发生改变。 三地控制一盏灯三地控制一盏灯I/OI/O分配表分配表 PLCPLC点名称点名称连连接的外部接的外部设备设备功能功能说说明明X0X0A A地开关地开关在在A A地控制地控制X1X1B B地开关地开关在在B B地控制地控制X2X2C C地开关地开关在在C C地控制地控

167、制Y0Y0灯灯被控被控对对象象8/24/2024208 从这个程序中不难发现其编程规律,并能很容易地把它扩展到四地、五地甚至更多地点的控制。但其设计方法但其设计方法完全靠设计者的经验,初学者不易掌握。完全靠设计者的经验,初学者不易掌握。三地控制一盏灯程序(三地控制一盏灯程序(1 1) 8/24/2024209 利用数字电路中组合逻辑电路的设计方法,使编程者有章可循。 规定:规定:输入量为逻辑变量,输出量为逻辑函数;常开触点为原变量,常闭触点为反变量。这样就可以把继电控制的逻辑关系变成数字逻辑关系。三地控制一盏灯逻辑函数真值表 X0X0X1X1X2X2Y0Y00 00 00 00 01 11 1

168、1 11 10 00 01 11 11 11 10 00 00 01 11 10 00 01 11 10 00 01 10 01 10 01 10 01 1 真值表按照每相邻两行只允许一个输入变量变化的规则相邻两行只允许一个输入变量变化的规则排列。排列。即三个开关中的任意一个开关状态的变化,都会引起输出Y0由“1”变到“0”,或由“0”变到“1”。 由真值表写出输出与输入之间的逻辑函数关系式: 8/24/2024210可设计出梯形图程序如下图所示:三地控制一盏灯程序(三地控制一盏灯程序(2 2)8/24/2024211 使用高级指令可使程序更加简单使用高级指令可使程序更加简单。下图为应用高级指

169、令F132编写的控制程序。 三地控制一盏灯程序(三地控制一盏灯程序(3 3) 上面的程序只要开关动作(不管开关是接通还是断开),即将Y0求反。程序中每一开关使用了两个微分指令,既程序中每一开关使用了两个微分指令,既可检测上升沿又可检测下降沿,可检测上升沿又可检测下降沿,十分巧妙地实现了控制要求。 对于这种编程方式,无论多少个地方,只要在梯形图中多加几个输入触点和几条微分指令就可实现控制要求。 8/24/2024212三地控制一盏灯程序(三地控制一盏灯程序(4 4)使用条件比较指令,只要(WXO)(WRO),就把YO 求反。(WXO)(WRO),使两个寄存器中内容完全一样。只要只要WX0WX0中

170、的内容改变,中的内容改变,YOYO的状态就立即变化的状态就立即变化。 使用了字比较指令,故WXO中的16位都可以用来作为控制开关,使程序大大简化。8/24/2024213五、易拉罐自动生产线计数控制五、易拉罐自动生产线计数控制 在易拉罐自动生产线上,常常需要统计出每小时生产的易拉罐数量。罐装好的易拉罐饮料一个接一个不断地经过计数装置。假设计数装置上有一感应传感器,每当一听每当一听饮料经过时,就会产生一个脉冲。饮料经过时,就会产生一个脉冲。 要求:编制程序将一天编制程序将一天24小时中每小时生产的数量统小时中每小时生产的数量统计出来。计出来。 易拉罐计数控制易拉罐计数控制PLCPLC的的I/OI

171、/O点分配表点分配表 PLC点名称点名称连连接的外部接的外部设备设备功能功能说说明明X0蓝蓝按按钮钮(自(自锁锁)启启动动命令命令X1红红按按钮钮(自(自锁锁)停止命令停止命令X2传传感器开关感器开关计计数脉冲数脉冲8/24/2024214易拉罐生产数量计数控制梯形图如下:R9013R9013: 对程序初始化。对程序初始化。DT0DT0DT23DT23:存放一天存放一天2424小时每小时生产罐的数量;小时每小时生产罐的数量;SV0SV0: 记录每小时内的时间。记录每小时内的时间。IXIX作为地址修正值,当作为地址修正值,当F35F35指令的操作数地址发生移动时,移动量为指令的操作数地址发生移动

172、时,移动量为IXIX中中的值。的值。 如:当如:当IX=0IX=0时,时,F35F35指令将指令将DT0DT0的内容加的内容加1 1;当;当IX=10IX=10时,则将时,则将DT10DT10的内的内容加容加1 1。 8/24/2024215六、查找最大数六、查找最大数 上例中,一天24小时内每小时生产的易拉罐数已分别存储在数据寄存器DT0DT23中。编程找出其中最大的数,存入DT24中,并将最大数所在寄存器的编号存入DT50中。 要求:X0X0的上升沿开始查找,找到后,输出的上升沿开始查找,找到后,输出Y0Y0表示查表示查找完成。找完成。查找最大数据梯形图查找最大数据梯形图 8/24/202

173、4216 查找数据中的最大数,只需将数据区中的数据进行两两比较即可。索引寄存器IX:用作地址修正;R0:用来表示查找状态。 未查找完时,未查找完时,R0R0一直接通,当查找结束时,一直接通,当查找结束时,R0R0断开。断开。8/24/2024217第五章第五章 FP1的特殊功能的特殊功能及高级模块及高级模块 第一节第一节 FP1FP1的特殊功能的特殊功能 8/24/2024218一、脉冲输出一、脉冲输出图5-1 脉冲输出进行位置控制示意图 FP1的输出端Y7可输出一路脉冲信号,最大频率范围为45Hz 5kHz。这一功能只有晶体管输出方式的PLC才具有,且需配合脉冲输出控制指令F164(SPD0

174、)使用。 8/24/2024219二、高速计数功能(二、高速计数功能(HSCHSC) 在FP1内部有高速计数器,可同时输入两路脉冲。 最高计数频率:10kHz; 计数范围: K-8388608 K8388607; 输入模式:加计数、减计数、可逆计数、两相输入; 此外,每种模式又分为有复位输入和无复位输入两种情况,输入计数不受扫描周期影响,处理过程中响应时间不延时。 8/24/20242201.1.占用的输入端子占用的输入端子 HSC需占用FP1输入端子X0、X1和X2。其中X0和X1作为脉冲输入端,X2作为复位端,可由外部复位开关通过X2使HSC复位。2. 2. 输入模式及设置输入模式及设置

175、HSC的四种输入模式中,前三种为单相输入,最后一种为两相输入。如图5-2所示。 1) 加计数模式 2) 减计数模式 3) 加/减计数模式 4) 两相输入方式8/24/2024221图5-2 四种计数模式的脉冲波形示意图8/24/20242223 3与与HSCHSC相关的寄存器相关的寄存器 表表5-1 系统寄存器系统寄存器No.400控制字说明控制字说明设定值功 能输入模式X0X1X2H1双相输入双相输入方式H2双相输入复位H3加计数加计数方式H4加计数复位H5减计数减计数方式H6减计数复位H7加计数减计数加/减计数方式H8加计数减计数复位H0HSC功能未用不工作(默认模式)8/24/20242

176、234 4高速计数功能指令高速计数功能指令 1) 1) 高速计数器的控制指令高速计数器的控制指令 F0 MV, S, DT9052 :高速计数器控制指令。 该指令功能是将S中的控制字数据写入DT9052中,DT9052的低四位作为高速计数器控制用。8/24/20242242) 2) 高速计数器经过值的读写指令高速计数器经过值的读写指令 F1 DMV, S, DT9044 :存储高速计数器经过值。将(S+1, S)中高速计数器的经过值写入DT9045、DT9044中。 F1 DMV, DT9044, D :调出高速计数器经过值。是将DT9045、DT9044中的经过值读出拷贝到(D+1, D)中

177、。3) 3) 高速计数器输出置位复位指令高速计数器输出置位复位指令 F162 HC0S, S, Yn :高速计数器的输出置位指令。 F163 HC0R, S, Yn :高速计数器的输出复位指令。8/24/20242254) 4) 速度和位置控制指令速度和位置控制指令 F164 SPD0, S :速度及位置控制。该指令配合高速计数器和Y7的脉冲输出可以实现速度和位置控制。 a) 脉冲工作方式 b) 波形工作方式5) 5) 凸轮控制指令凸轮控制指令 F165 CAM0, S :凸轮控制。当高速计数器的经过值和参数表中设定的目标值相一致时,接通或断开参数表中指定的输出继电器。8/24/2024226

178、三、可调输入延时滤波三、可调输入延时滤波 图中,t1为干扰脉冲,小于延时时间t,因此不响应;t2、t4分别为机械开关接通和断开时的抖动时间,由图可见,经过延时,避开了输入信号的抖动部分,直接在稳定导通区间t3进行输入状态的采集和响应。 图5-4 输入信号延时滤波示意图8/24/2024227 FP1的延迟时间可以根据需要,在1 128ms之间进行调节。延时时间的设定是通过软件,在对应的系统寄存器中设置时间常数来实现,时间常数和延时时间的对应关系如下表:表表5-2 5-2 时间常数与对应延时时间关系时间常数与对应延时时间关系 系统寄存器No.404 407用于预先存放设置的时间常数,与输入端的对

179、应关系为:No.404:设定X0 X1F的时间常数。No.405:设定X20 X3F的时间常数。No.406:设定X40 X5F的时间常数。No.407:设定X60 X6F的时间常数。时间常数(BCD码)01234567延时时间(ms)12481632641288/24/2024228四、输入窄脉冲捕捉四、输入窄脉冲捕捉 一个窄脉冲在第n个扫描周期的I/O刷新后到来,若无捕捉功能,此脉冲将会被漏掉;有了捕捉功能,PLC内部电路将此脉冲一直延时到下一个(第n+1个)扫描周期的I/O刷新结束,这样PLC就能响应此脉冲。 图5-5 脉冲捕捉示意图8/24/2024229 只有输入端X0 X7共8个输

180、入端可以设成具有脉冲捕捉功能的输入端,这可以通过对系统寄存器No.402的设置来实现。输入端子与系统寄存器No.402的位对应关系如下所示: 输入端X0 X7分别与No.402的低8位对应,当某位设置为1时,则该位对应的输入端就具有脉冲捕捉功能;设置为0时,对应的输入端仍是普通的输入端。 8/24/2024230五、特殊功能占用输入端优先权五、特殊功能占用输入端优先权排队排队 大多数特殊功能均需占用PLC的I/O点,当多种功能同时使用时,对I/O的占用须按一定顺序进行优先权排队。 FP1特殊功能优先权排队从高到低依次为:高速计数器高速计数器脉冲捕捉脉冲捕捉中断中断输入延时滤波输入延时滤波 六、

181、其他功能六、其他功能 FP1还有一些其它的特殊控制功能,如强制置位/复位控制功能、口令保护功能、固定扫描时间设定功能和时钟日历控制功能等 8/24/2024231第五章第五章 FP1的特殊功能的特殊功能及高级模块及高级模块 第二节第二节 FP1FP1的高级模块的高级模块8/24/2024232一、一、A/DA/D转换模块转换模块1. 1. 1. 1. 占用通道及编程方法占用通道及编程方法占用通道及编程方法占用通道及编程方法 A/D转换单元4个模拟输入通道占用输入端子分别为: CH0CH0:WX9(X90 X9F) CH1WX9(X90 X9F) CH1:WX10(X100 X10F)WX10(

182、X100 X10F) CH2 CH2:WX11(X110 X11F) CH3WX11(X110 X11F) CH3:WX12(X120 X12F)WX12(X120 X12F) PLC每个扫描周期对各通道采样一次,并进行模数转换,转换的结果分别存放在输入通道(WX9 WX12)中。 A/D转换的编程可用指令F0实现,如 F0 MV, WX9, DT0 。执行这一指令后,CH0输入的模拟信号经A/D转换变成数字信号后送入WX9,并由F0指令读出保存到DT0中。其它通道也可仿照此格式进行编程。 注意:FP1对A/D模块读取数据,每个扫描周期只进行一次。 8/24/20242332. A/D2. A

183、/D2. A/D2. A/D的技术参数的技术参数的技术参数的技术参数 项目说明模拟输入点数4通道/单元(CH0 CH3)模拟输入范围电压0 5V和0 10V电流0 20mA分辨率1/1000总精度满量程的1%响应时间2.5ms/通道输入阻抗电压不小于1兆欧(0 5V和0 10V范围内)电流250欧姆(0 20mA)绝对输入范围电压+7.5V(0 5V)、+15V(0 10V)电流+30mA(0 20mA)数字输出范围K0 K1000(H0 H03E8)绝缘方式光耦合:端子与内部电路之间无绝缘:通道间连接方式端子板(M3.5螺丝)8/24/2024234图5-6 A/D转换单元的输入输出特性8/

184、24/20242353. A/D3. A/D3. A/D3. A/D转换单元的面板布置及接线方法转换单元的面板布置及接线方法转换单元的面板布置及接线方法转换单元的面板布置及接线方法 扩展槽(右侧)连接到FP1的D/A转换单元或I/O LINK单元通道0到通道3的端子说明: V:模拟电压输入端子 I:模拟电流输入端子 C:公共端子F.G.:框架接地端子电源端子通道3电压范围选择端子通道0通道1通道2DIN导轨安装杆扩展槽(左侧)连接到FP1的控制单元或扩展单元电源指示灯图5-7 A/D单元的面板布置图 8/24/2024236屏蔽线输入设备输入设备屏蔽线图5-8 电压输入接线方式 图5-9 电流

185、输入接线方式 8/24/20242374. 4. 4. 4. 应用举例应用举例应用举例应用举例 当需对某信号进行监测,要求超限报警。这时可将该信号输入到A/D,并用段比较指令将输入信号与上、下限进行比较。程序如图5-10所示。 图5-10 A/D模块信号监控举例 若将A/D模块输入范围选在0 10V(即将RANGE短接),并将需监测的信号输入CH0,则执行该程序后可实现下面功能:设输入信号上限为3.6V,即对应A/D内部十进制数为K360;输入信号下限为3.4V,对应A/D内部十进制数为K340。当输入信号在3.4V 3.6V之间时则R900B常闭触点断开,故Y0OFF,报警灯不亮。若信号超出

186、此范围则R900B常闭触点接通,故Y0ON,报警灯亮,从而实现对信号的监测。8/24/2024238二、二、D/AD/A转换模块转换模块1. 1. 1. 1. 占用通道及编程方法占用通道及编程方法占用通道及编程方法占用通道及编程方法 FP1可扩展两个D/A模块,可用开关设定其单元号,即No.0和No.1;每个D/A模块有两个输出通道,即CH0和CH1。 当开关置于左边时,该模块设为No.0,其I/O通道分配如下: CH0CH0:WY9(Y90 Y9F) CH1WY9(Y90 Y9F) CH1:WY10(Y100 Y10F)WY10(Y100 Y10F) 当开关置于右边时,该模块设为No.1,其

187、I/O通道分配如下: CH0CH0:WY11(Y110 Y11F) CH1WY11(Y110 Y11F) CH1:WY12(Y120 Y12F)WY12(Y120 Y12F) D/A转换的编程也可用指令F0实现,如 F0 MV, DT0, WY9 。执行这一指令后,将DT0的内容经WY9送往D/A转换器,并将转换好的模拟信号经No.0的CH0通道输出。其它通道也可仿照此格式进行编程。 注意:FP1对D/A模块写入数据,每个扫描周期只进行一次。 8/24/20242392. D/A2. D/A2. D/A2. D/A的技术参数的技术参数的技术参数的技术参数 项目说明模拟输出点数2通道/单元(CH

188、0 CH1)模拟输出范围电压0 5V和0 10V电流0 20mA分辨率1/1000总精度满量程的1%响应时间2.5ms/通道输出阻抗不大于0.5欧姆(电压输出端)最大输出电流20mA(电压输出端)允许负载电阻0 500欧姆(电流输出端)数字输出范围K0 K1000(H0 H03E8)绝缘方式光耦合:端子与内部电路之间无绝缘:通道间连接方式端子板(M3.5螺丝)8/24/2024240图5-11 D/A转换单元的输入输出特性 8/24/20242413. D/A3. D/A3. D/A3. D/A转换单元的面板布置及接线方法转换单元的面板布置及接线方法转换单元的面板布置及接线方法转换单元的面板布

189、置及接线方法 图5-12 D/A转换单元的面板布置图扩展槽(右侧)连接到FP1的智能单元(A/D或D/A转换单元) 或I/O LINK单元通道0和通道1的端子说明: V+,V-:模拟电压输出端子RANGE:电压范围选择端子 I+,I-:模拟电流输出端子电源端子通道0通道1DIN导轨安装杆扩展槽(左侧)连接到FP1的控制单元或扩展单元电源指示灯单元号选择开关8/24/2024242图5-13 电压输出接线方式 图5-14 电流输出接线方式0 5V负载设备屏蔽线屏蔽线屏蔽线负载设备负载设备5 10V10 20mA8/24/20242434. 4. 4. 4. 应用举例应用举例应用举例应用举例 三个

190、模拟量信号分别从A/D模块的CH0 CH2输入,求平均值,再由D/A模块No.1的CH1通道输出。梯形图如图5-15所示。 图5-15 A/D和D/A模块应用举例8/24/2024244第五章第五章 FP1的特殊功能的特殊功能及高级模块及高级模块 第三节第三节 FP1FP1的通讯功能的通讯功能8/24/2024245 集散式控制系统的关键技术之一是系统的通信和互联。松下电工提供了6种(C-NET,F-Link,P-Link,H-Link,W-Link,FP以太网)功能强大的网络形式,同时提供了若干种与相应的网络连接方式有关的通信链接单元,适合于各种工业自动化网络的不同需要。 8/24/2024

191、246一、通讯的有关基本概念一、通讯的有关基本概念1. 并行通信与串行通信 2. 同步通信与异步通信3. 波特率4. 单工、双工通信方式1) 单工通信 2) 半双工通信(Half Duplex)3) 全双工通信(Full Duplex)8/24/2024247二、二、FP1FP1的通讯接口的通讯接口 FP1系列PLC进行数据交换时常采用RS232C、RS422、RS485三种串行通信接口,相关的链接单元也有三种,均为串行通信方式。 I/O LINKI/O LINK单元单元是用于FP1和FP3/FP5等大中型PLC之间进行I/O信息交换的接口(1个RS485接口和2个扩展插座); C-NETC-

192、NET适配器适配器是RS485 RS422/RS232C信号转换器(1个RS485、1个RS422、1个RS232C接口),用于PLC与计算机之间的数据通讯; S1S1型型C-NETC-NET适配器适配器是RS485 RS422信号转换器(1个RS485、1个RS422接口),用于C-NET适配器和FP1控制单元之间的通讯。 8/24/20242481 1RS232CRS232C通信接口通信接口 RS232C所采用的电路是单端接收电路,数据传输速率最高为20kbps,电缆最长为15m。2 2RS422RS422通信接口通信接口 RS422标准规定的电气接口是差分平衡式的,能在较长的距离内明显地

193、提高传输速率,例如,1200m的距离,速率可以达到100kbps,而在12m等较短的距离内则可提高到10Mbps。 3 3RS485RS485通信接口通信接口 RS485实际上是RS422的简化变型 ,RS485分时使用一对信号线发送或接收。可以高速远距离传送,传输距离可达1200m,传输速率达10Mbps 。8/24/2024249三、通讯方式三、通讯方式1 1 1 1FP1FP1FP1FP1与计算机与计算机与计算机与计算机(PC)(PC)(PC)(PC)之间的通讯之间的通讯之间的通讯之间的通讯 一般地,一台计算机与一台FP1之间的通讯称1:1方式,一台计算机与多台FP1之间的通讯称1:N方

194、式。 有两种方法可以实现一台计算机与一台FP1之间的通讯。一种方法是直接通过FP1的RS232口与PC进行串行通讯。另一种方法可经RS232/RS422适配器用编程电缆同PC进行通讯。8/24/2024250FP1控制单元RS232C端口计算机FP1控制单元计算机RS422/232C适配器编程工具插座(RS422端口)RS422RS232C图5-17 直接通过RS232口进行串行通讯 图5-18 通过适配器进行通讯 8/24/2024251C-NET适配器标准型C-NET适配器S1型C-NET适配器S1型FP1控制单元FP1控制单元条码判读器计算机最多可连接32台FP1图5-19 1:N通讯方

195、式 8/24/20242522 2FP1FP1与与FP3/5FP3/5的通讯的通讯 主站FP3或FP5从站从单元主单元FP1控制单元FP1 I/OLINK单元FP3或FP5FP1 I/O终端板FP1 I/O终端单元双绞线图5-20 FP1与FP3/5的通讯8/24/20242533 3FP1FP1和外围设备之间的通信和外围设备之间的通信 FP1的相关外围设备有:智能终端I.O.P.,条形码判读器、EPROM写入器和打印机等。这些外围设备均设有RS232串行通信口,可以方便地实现与FP1的通信。 8/24/2024254四、专用通信协议四、专用通信协议MEWTOCOLMEWTOCOL 通信协议是

196、通信双方就如何交换信息所建立的一些规定和过程。它是FP系列PLC网络设计的基础。 FP1采用松下电工公司专用通信协议 MEWTOCOL。该协议共分为两个部分:pp MEWTOCOL-COMMEWTOCOL-COM:计算机与PLC之间的命令通信协议;pp MEWTOCOL-DATAMEWTOCOL-DATA:PLC与PLC之间及PLC与计算机之间的数据传输协议。 MEWTOCOL-DATA协议用于分散型工业局域网H-LINK、P-LINK、W-LINK及ETLAN中PLC与PLC之间及PLC与计算机间的数据传输。 8/24/2024255第五章结束第五章结束哈尔滨理工大学哈尔滨理工大学电气与电子

197、工程学院电气与电子工程学院电气技术教研室电气技术教研室2003年年3月月24日日8/24/2024256第六章 松下电工PLC编程工具及三维力控监控组态软件简介 第一节第一节 松下电工松下电工PLCPLC编程工具简介编程工具简介FP1系列PLC的编程手段有两种:1.利用相应配套编程软件在个人计算机上进行。2.使用FP手持编程器。8/24/20242571松下电工PLC编程软件 1.概述 日本松下电工公司开发的PLC编程软件有三种:DOS环境下使用的NPST-GRWindows环境下FPSOFTWindows环境下FPWIN-GR NPST-GR采用的是典型的DOS界面。具有中、英文两种版本。因

198、汉化后的CNPST-GR开发的比较早,对近几年生产的FPO、FP2等系列PLC不支持。 FPWIN-GR软件采用的是典型的Windows界面。具有中、英文两种版本。由于FPWIN-GR是新近开发出来的软件,其各项功能更趋合理、使用更加方便。 FPSOFT软件是早期开发的,它的出现开创了Windows环境的PLC编程软件的先河。但由于它开发得较早,虽大部分功能与上述FPWIN-GR相似,但有些功能不如FPWIN-GR那样完善。 8/24/20242582.FPWIN-GR软件(汉化软件(汉化1.1版本)版本)(1) 认识FPWINGRFPWIN- GR界面各部分名称及分布: 2.FPWIN-GR

199、软件(汉化软件(汉化1.1版本)版本)(1) 认识FPWINGRFPWIN- GR界面各部分名称及分布: 8/24/2024259l输入段栏l功能键栏 在编写程序时:用鼠标点击“功能键栏” 实现指令输入。用功能键“F1”“F12”与“SHIFT” 的组合实现指令输入。用功能键“F1”“F12”与“CTRL”的组合实现指令输入。各个按钮左下角的数字表示所对应的功能键号。第1段、第2段中分布的是主要指令的快捷键。第1段的操作只需按功能键即为有效。第2段的操作需同时按 Shift + 功能键有效。第3段中分布的是功能的快捷键。第3段的操作需同时按 Ctrl + 功能键有效。显示当前正在输入的回路。通

200、过单击输入栏中的Enter或按键盘中的Enter键确认输入内容。 8/24/2024260(a) 在功能键栏中输入F1、F2、F4、F8或SHIFT+F1(F2、F8)时,将显示触点线圈的基本指令如下图:X:输入外部输入Y:输入外部输出R:输入内部继电器L:链接继电器P:脉冲继电器T:定时器触点C:输入计数器触点E:输入错误警告继电器比较:输入数据比较指令NOT/: 将到光标位置为止的运算结果反转INDEX:输入索引修饰清除: 清除输入区段中的设备编号:用于上升沿检出/下降沿检出的图形符号。能否使用本功能取决于所用PLC机型。 8/24/2024261 (b) 在功能键栏中输入F5时,将显示定

201、时器/计数器指令(TM/CT)。TMX :输入0.1秒定时器TMY :输入1秒定时器TMR :输入0.01秒定时器TML:输入0.001秒定时器CT: 在输入区段中输入计数器INDEX:在输入区段中输入索引修饰 8/24/2024262(c)在功能键栏中输入SHIFT+F5时,将显示比较指令(CMP)。D: 在进行双字(32位)比较指令时输入=: 相等比较时输入: 大于比较时输入”、“”及“D”,以组成字比较指令。 8/24/2024277其它键其它键 “帮助清除”键 (HELP) CLR 当显示指令时,用此键可清除LCD下面一行的指令名和操作数,而地址仍保留,以便输人新的指令。当监视寄存器时

202、,用此键可清除寄存器值,以便重新设置新的数值。在初始状态下,若按 键后再按此键,可显示非键盘指令的代码表。在执行OP功能时,若按 键后再按此键,可列出OP功能表。 SHIFT SCSHIFT SC“全清全清”键键ACLR清除当前显示的所有数据(清屏)。若执行OP功能过程中按此键,将退出OP功能。按此键后,将显示出两个(* *)号,此状态称为“初始状态”。 “删除/插人”键 (DELT) INST在程序中插入刚输入的指令。按 键后再按此键,可删除LCD中下面一行中的内容。 SHIFT SC8/24/2024278“数制转换常数”键 (BIN) K/H输入常数字符K或H时,每按一下此键,将交替显示

203、K或H。按此键可以以十进制(K)或十六进制(H)显示寄存器值。依次按 键和此键,还可以以二进制显示寄存器值。 SHIFT SC“指令切换”键SHIFT SC按此键进人SC方式,在SC方式下可输人一些键盘上没有的基本指令(非键盘指令),如ED(结束)或NOP(空操作)指令。再按一下此键,即可退出SC方式。用此键激活一些键上用橙色表示的一些功能。例如先按此键,然后再按 键,可删除当前屏上的指令。 (DELT) INST“操作负号”键 () OP用此键可进入OP功能,但需先按 键后再按此键。用此键可为常数或数值输人负号。 ACLR8/24/2024279“查找/上箭头” 键 SCR 查找带有继电器、

204、寄存器名的指令程序和地址。按此键可使LCD上显示的指令按地址顺序向上滚动。“读取下箭头”键 READ 从PLC中读取指令、继电器状态或寄存器值。按此键可使LCD上显示的指令按地址顺序向下滚动。 “写人”键 WRT为将指令、寄存器值或继电器状态写入PLC,在输入指令或参数后,须按此键。 “输人”键 ENT 录人高级指令名和高级指令、CT、TM指令的操作数。录入所选择的OP功能。 8/24/2024280说明:(1)有些键具有两种或多种功能,如 键既可以输入ST指令,也可以输入继电器名称X、WX。而具体输入的内容将根据当时的操作而自动识别。当需输入指令码时,按此键输入的是ST;若是在输入基本指令后

205、再按此键,则输入X;当输入高级指令 例如F0(MV)之后,按此键则输入为WX。(2)一些操作键上的斜线()表示每按一次键,被斜线隔开的字符将交替输入显示。(3)一些操作键上用橙色表示的字符或功能(如BIN、DELT、HELP),只有先按了 键后再按这些键才有效。(4)每按一次键,蜂鸣器会响一下。如果输入了错误的数值,蜂鸣器就会响两次。所以,当听到蜂鸣器响两声时,须重新输入正确的数值。若连续发声报警,说明操作或运行有误。错误信息随之显示于LCD的上面一行。 若要停止报警,可按 键或 键停止报警并删除错误指令或解除错误运行状态。 STX-WXSHIFT SCACLR(HELP) CLR8/24/2

206、0242812指令输入方式指令按其输入方式可分为三类:键盘指令、非键盘指令和高级功能指令。1)键盘指令这类指令是指键盘上已标明的指令,只需直接按键即可输人。2)非键盘指令这类指令是指键盘上没有,需用指令代码方可输入的指令。输入步骤分为两种:a当已知指令代码,输入指令的步骤为:b当不知道指令代码需借助 键调出非键盘指令表。其输入指令的步骤为:(HELP)CLR调出非键盘指令表将要输入的指令移到当前行输入查出的指令代码SHIFTSC指令代码SHIFTSCWRTWRTSHIFTSC(HELP)CLRSCRSCR指令代码8/24/20242823)高级功能指令这类指令是指键盘上没有,需借助于 键方可输

207、人的指令,一条完整的指令包括有“F”、功能号、助记符和若干操作数,其中除助记符可自动生成之外,其它都需一步一步地输入。每输入完一个内容后,用 键将其存人程序缓冲器中,只有到输入完最后一个操作数后,才用 键将其指令存人PLC。高级功能指令根据指令中是否有操作数而输入步骤不同。a有操作数的高级功能指令,输入操作步骤为:b无操作数的高级功能指令,输入操作步骤为: FN/PFLWRTENTWRTFNPFL功能号WRTFNPFL功能号ENT操作数1ENT操作数n8/24/20242833清除命令 清除命令可以分为三类:1)利用 键清除屏幕当前行显示(即LCD上的第二行),以便对该行指令做出修改。2)利用

208、 键将当前屏幕显示全部清除,以便进行程序调试、监控等操作,但程序仍保留在内存中,即仍可重新调出。3)利用OP-0功能将程序从内存中清除,即程序不能再被调出,这是在输入一个新程序之前必须进行的工作。 有关其他操作细节和OP功能请读者参阅FP编程器操作手册。 CLRACLR8/24/2024284 第二节 监控组态软件简介一、监控组态软件简介监控组态软件简介1.概念 组态软件指一些数据采集与过程控制的专用软件,它们是在自动控制系统监控层一级的软件平台和开发环境,能以灵活多样的组态方式(而不是编程方式)提供良好的用户开发界面和简捷的使用方法,其预设置的各种软件模块可以非常容易地实现和完成监控层的各项

209、功能,并能同时支持各种硬件厂家的计算机和I/O设备,与高可靠的工控计算机和网络系统结合,可向控制层和管理层提供软、硬件的全部接口,进行系统集成。8/24/20242852.组态软件的发展和现状 世界上第一个把组态软件做为商品进行开发、销售的专业软件公司是美国的Wonderware公司,它于80年代末率先推出第一个商品化监控组态软件监控组态软件IntouchIntouch。此后组态软件得到了迅猛的发展。目前世界上的组态软件有几十种之多,国际上较知名的监控组态软件有:Fix,Intouch,Wincc,LabView,Citech等。3.组态软件的特点使用简单,用户只需编写少量自己所需的控制算法代

210、码,甚至可以不写代码。运行可靠。提供数据采集设备的驱动程序。提供自动化应用系统所需的组件。强大的图形设计工具。8/24/2024286二、力控监控组态软件简介 力控监控组态软件(ForceControlForceControl)是一个面向方案的HMI/SCADA(human machine interface/ supervisory control and data acquisition)平台软件。分布式实时多数据库系统,可提供访问工厂和企业系统数据的一个公共入口。内置内置TCP/IPTCP/IP协议的网络服务程序使用户可以充分利协议的网络服务程序使用户可以充分利用用IntranetInt

211、ranet或或InternetInternet的网络资源。的网络资源。 力控可用于开发石油、化工、半导体、汽车、电力等多个行业和领域的工业自动化、过程控制、管理监测、工业现场监视、远程监视/远程诊断等系统。 8/24/20242871. ForceControl集成环境:开发系统(开发系统(DrawDraw):): 是一个集成环境,可以创建工程画面,配置各种系统参数,启动力控其它程序组件等。界面运行系统(界面运行系统(ViewView): 界面运行系统用来运行由开发系统Draw创建的画面。实时数据库(实时数据库(DBDB):是数据处理的核心,构建分布式应用系统的基础。它负责实时数据处理、历史数

212、据存储、统计数据处理、报警处理、数据服务请求处理等。I/OI/O驱动程序:驱动程序: I/O驱动程序负责力控与I/O设备的通信。它将I/O设备寄存器中的数据读出后,传送到力控的数据库,然后在界面运行系统的画面上动态显示。网络通信程序网络通信程序(NetClient/NetServer):):网络通信程序采用TCP/IP通信协议,可利用Intranet/Internet实现不同网络结点上力控之间的数据通信。 8/24/20242882.ForceControl 2.62.ForceControl 2.6中其它的可选程序组件:串行通信程序(串行通信程序(SCOMClient/SCOMServer)

213、:): 两台计算机之间,使用RS232C/422/485接口,可实现一对一的通信;如果使用RS485总线,还可实现一对多台计算机的通信。拨号通信程序(拨号通信程序(TelClient/TelServer):): 任何地方与工业现场之间,只要能拨打电话,就可以实现对远程现场生产过程的实时监控,唯一需要的是Modem和电话线。 Web服务器程序(服务器程序(Web Server):): Web服务器程序可为处在世界各地的远程用户实现在台式机或便携机上用标准浏览器实时监控现场生产过程。 控制策略生成器(控制策略生成器(StrategyBuilder):): 是面向控制的新一代软件逻辑自动化控制软件。

214、提供包括:变量、数学运算、逻辑功能和程序控制处理等在内的十几类基本运算块,内置常规PID、比值控制、开关控制、斜坡控制等丰富的控制算法。同时提供开放的算法接口,可以嵌入用户自己的控制程序。 8/24/2024289三、力控实例入门1.建立工程 打开应用管理器,选择“增加新应用”,在应用名称对话框中输入一个应用程序的名称 “MonitorPLC”,按“确定”按钮。在工程列表中会出现新建的工程,单击该工程并进入组态,打开Draw,开始组态工作。2.创建点Draw导航器中双击“实时数据库”项使其展开,在展开项目中双击“数据库组态”启动组态程序DbManger,如图所示。8/24/2024290启动D

215、bManger后出现DbManger主窗口,如图所示。 8/24/2024291选择菜单命令“点/新建”或在右侧的点表上双击任一空白行,出现“指定区域和点类型”对话框,如图所示。 8/24/2024292选择“区域00”及“数字I/O点”点类型,然后单击 “继续”按钮,进入点定义对话框,如图所示。 8/24/2024293在“点名”输入框内键入点名“MX0”,其它参数可以采用系统提供的缺省值。单击 “确定”按钮,在点表中增加了一个点“MX0”,如图所示。重复以上步骤,创建MX1、MY0、MY1和MY2点。 最后单击“存盘”按钮保存组态内容,然后单击“退出”按钮,返回到主窗口。 8/24/202

216、42943.3.定义定义I/OI/O设备设备 在数据库中定义了上述5个点后,下面将建立一个I/O设备PLC,上述定义好的5个点的值将取自PLC。在Draw导航器中双击“实时数据库”项使其展开,选择“I/O设备驱动”项使其展开,在展开项目中选择“PLC”项并双击使其展开,然后继续选择厂商名“NaiS(松下电工)松下电工)”并双击使其展开后,选择项目“FP系列系列”,如图所示。8/24/2024295双击项目“FP系列”出现“I/O设备定义”对话框,在“设备名称”输入框内键入一个人为定义的名称 “NEWPLC”(大小写不限)。在通信端口下拉条中选择“COM1”,“设备地址”输入框内键入1。其余保持

217、默认值。点击“完成”按钮。如图所示。 此时在导航器的“FP系列”下面增加了一项“NEWPLC”。8/24/2024296数据连接 现在将已经创建的5个数据库点与NEWPLC联系起来,以使这5个点的PV参数值能与I/O设备NEWPLC进行实时数据交换。这个过程就是建立数据连接的过程。由于数据库可以与多个I/O设备进行数据交换,所以我们必须指定哪些点与哪个I/O设备建立数据连接。a.启动数据库组态程序DbManager,双击点“MX0”,切换到“数据连接数据连接”一页,出现如图所示对话框。8/24/2024297b. 点击参数“PV”,在“连接I/O设备”的“设备”下拉框中选择设备“NEWPLC”

218、。点击“增加”按钮,出现如图所示的“设备连接项”对话框。 在“寄存器/继电器”选择框中选择“X/WX(外部输入继电器)”,在“地址”输入框中输入0,“位偏移”输入框中输入0,点击“确定”返回。 8/24/2024298 重复上述步骤,可连接所有定义过的点。在重复上述步骤时,对于同一个继电器,位偏移依次加1。对话框中填写的值如表所示。MX0MX0MX1MX1MY0MY0MY1MY1MY2MY2寄存器寄存器/ /继电继电器器X(X(按位按位) )X(X(按位按位) )Y(Y(按位按位) )Y(Y(按位按位) )Y(Y(按位按位) )数据格式数据格式bitbitbitbitbitbitbitbitb

219、itbit地址地址0 01 10 01 12 28/24/2024299最终结果如图所示。单击“退出”按钮,返回DRAW主窗口。 8/24/20243004. 创建窗口 选择“文件F/新建”命令出现“窗口属性”对话框,如图所示。全部保持默认值,点击“确定”按扭,建立了一个新的窗口。 8/24/2024301按图所示绘制窗口图形。 8/24/20243025.制作动画连接制作动画连接 前面已经做了很多事情,包括:制作显示画面、创建数据库点,并通过一个自己定义的I/O设备“NEWPLC”把数据库点的过程值与设备NEWPLC连接起来。现在再回到开发环境Draw中,通过制作动画链接使显示画面活动起来。

220、(1)定义数据源 界面系统除了可以访问本地数据库(即与界面系统运行在同一台PC机上的数据库)外,还可以通过网络访问安装在其它计算机上的ForceControlForceControl数据库中的数据。因此,当在界面系统Draw中创建变量时,如果变量引用的是外部数据源(包括:ForceControl数据库,DDE服务器或其它第三方数据提供方),首先对要引用的外部数据源进行定义。 8/24/2024303 激活Draw菜单“特殊功能S/数据源定义”,出现“数据源定义”列表框,如图所示。 列表框中已经存在了一个数据源:“本地数据库(DB)”。这是系统缺省定义的数据源,它指向本机上的DB数据库。(2)单

221、击“取消”和“返回”按钮,退出“数据源定义”对话框。 8/24/2024304(3)动画连接 有了变量之后就可以制作动画连接。一旦创建了一个图形对象,给它加上动画连接就相当于赋予它“生命”使其“活动”起来。双击“X0”上面的图形,弹出如图所示的“动画连接”对话框。 8/24/2024305 单击“颜色相关动作颜色相关动作”一列中的“条件”按扭,弹出“颜色变化”对话框如图所示。 8/24/2024306单击“变量选择”按扭,弹出“变量选择”对话框,如图所示。 在上图中,选择“MX0”和“PV”,点击“选择”按扭。然后“确认”每一个对话框,则第一个圆的动画连接就制作完成。同理,按上述步骤定义其余图

222、形的动画连接。注意变量选择与相应的标注相同,即MX0为监视PLC中的X0的接点,依次类推。保存制作结果。 8/24/20243076.配置系统 在导航器中选择“配置”、“初始启动设置”,弹出“初始启动设置”对话框,如图所示。点击“增加”按扭,选择“DRAW1”,“确定”该对话框。8/24/2024308 到现在为止,上位机的组态程序已经制作完成。连接PLC和计算机,启动FPWIN-GR,编一小段PLC程序下载到PLC中并让其运行,再切换到“离线”状态。然后在ForceControl工程管理器中选择应用程序“MonitorPLC”,进入“运行系统”。接通PLC的X0,X1点可以看到组态画面上的图

223、形颜色随PLC上接点的变化而变化。8/24/2024309第七章 监控组态软件与PLC应用总体设计 第一节第一节 自动售货机自动售货机PLCPLC控制与监控组态设计控制与监控组态设计一、仿真系统组成一、仿真系统组成 本仿真系统由上位机和下位机两部分组成。上位机利用PC机,下位机利用松下的FP1系列可编程控制器FP1-C24。 上位机内装北京力控组态软件FORCECONTROL 2.6和松下编程软件FPWIN-GR。组态软件FORCECONTROL用以制作仿真画面、编写仿真程序并与下位机进行通信。制作仿真画面、编写仿真程序并与下位机进行通信。FPWIN-GR是松下可编程序控制器与PC机联机的编程

224、支持工具,利用它可以实现程序输入、程序注释、程序修改、它可以实现程序输入、程序注释、程序修改、程序编译、状态监控和测试以及设置系统寄存器和程序编译、状态监控和测试以及设置系统寄存器和PLC各各种参数等种参数等。 8/24/2024310二、二、 自动售货机功能分析自动售货机功能分析1自动售货机的基本功能 售货机基本功能:对投入的货币进行运算,并对投入的货币进行运算,并根据货币数值判断是否能购买某种商品,并做出相根据货币数值判断是否能购买某种商品,并做出相应的反应。应的反应。2仿真实验系统中售货机的分析 售货机的全部功能是在上位机上模拟的,其部售货机的全部功能是在上位机上模拟的,其部分硬件由计算

225、机软件模拟代替。分硬件由计算机软件模拟代替。 如钱币识别系统可以用按压某个“仿真对象”输出一个脉冲直接给PLC发布命令。 8/24/20243111)实验状态假设a 自动售货机只售8种商品;b.自动售货机可识别10元、5元、1元、5角、1角硬币;c.自动售货机可退币10元、5元、1元、5角、1角硬币;d.自动售货机有液晶显示功能;f.实验中售货机忽略了各种故障以及缺货等因素。2)一次交易过程分析a.a.初始状态:初始状态:由电子标签显示各商品价格,显示屏显示友好界面,此时不能购买任何商品。b.b.投币状态:投币状态:按下投币按钮,显示投币框,按下所投币值,显示屏显示投入、消费、余额数值,当所投

226、币值超过某商品价格时,相应商品选择按钮发生变化,提示可以购买。c.c.购买状态:购买状态:按下可以购买的“选择”按钮,所选的商品出现在出货框中,同时显示屏上的金额数字根据消费情况相应变化。取走商品后出货框消失。d.d.退币状态:退币状态:按下退币按钮,显示退币框,同时显示出应退币值及数量。按下确认钮,则恢复初始状态。8/24/2024312三、设计任务的确定三、设计任务的确定上位机与下位机之间的任务分工:上位机主要用来完成仿真界面的制作工作;下位机则上位机主要用来完成仿真界面的制作工作;下位机则主要用来完成主要用来完成PLC程序的编写。程序的编写。在进行PLC程序的编写时需要先分配PLC的I/

227、O点,确定上、下位机的接口。然后,对上位机和下位机分别进行设计工作。最后,进行上位机设计结果与下位机设计结果的配合工作,经调试后完成整个系统的设计。一方面,仿真的自动售货机接受PLC的控制指令并完成相应的动作;另一方面,仿真界面中的仿真自动售货机的运行,都是由组态界面所提供的命令语言来完成的。8/24/2024313四、四、程序设计部分程序设计部分1程序设计说明 仿真程序的编写利用了力控组态软件FORCECONTROL2.6。下位机程序的编制则是利用松下PLC专用编程软件FPWIN-GR完成的。2PLC程序设计 把一次交易过程分为几个程序块: 运行初期电子标签价格的内部传递运行初期电子标签价格

228、的内部传递;投币过程投币过程;价格比较过程价格比较过程;选择商品过程选择商品过程;退币过程退币过程。8/24/20243141)运行初期电子标签价格的内部传递程序的设计 仿真系统运行初期的任务:仿真系统运行初期的任务:要由PLC向仿真画面相应对象传递已经存储好的价格;给投入显示、消费显示及余额显示寄存器清零;给存储退币币值的存储器清零。 程序编制过程中,要用到运行初期闭合继电器R9013、16位数据传送指令F0,同时在上位机同时在上位机FORCECONTROLFORCECONTROL中,必须定义相应的变量,来实现与中,必须定义相应的变量,来实现与PLCPLC程序的对接。程序的对接。8/24/2

229、024315电子标签价格内部传递变量表:电子标签价格内部传递变量表: 说明说明上位机上位机FORCECONTROL变量变量对应对应PLCPLC地址地址投入显示投入显示POITR001.PVWR1消费显示消费显示POIXF002.PVWR2余额显示余额显示POIYE003.PVWR3 0101商品价格商品价格JG01.PVWR40202商品价格商品价格JG02.PVWR50303商品价格商品价格JG03.PVWR60404商品价格商品价格JG04.PVWR70505商品价格商品价格JG05.PVWR8 0606商品价格商品价格JG06.PVWR90707商品价格商品价格JG07.PVWR1008

230、08商品价格商品价格JG08.PVWR11退币退币1010元元TB$100.PVSV0退币退币5 5元元TB$50.PVSV1 退币退币1 1元元TB$10.PVSV2退币退币5 5角角TB$5.PVSV3退币退币1 1角角TB$1.PVSV48/24/2024316运行初期电子标签价格的内部传递程序运行初期电子标签价格的内部传递程序: 系统初始化时,通过运行初期闭合继电器R9013在第一次扫描时将数值传递给上位机。通过指令F0给WR1WR11及SV0SV4赋初值。8/24/20243172) 投币过程 每投下一枚硬币,投入显示将增加相应的币值,余额投入显示将增加相应的币值,余额也增加同样的币

231、值。也增加同样的币值。投币过程变量表:说明说明上位机上位机FORCECONTROLFORCECONTROL变量变量对应对应PLCPLC地址地址投入一角投入一角TR$1.PVTR$1.PVR200R200投入五角投入五角TR$5.PVTR$5.PVR201R201投入一元投入一元TR$10.PVTR$10.PVR202R202投入五元投入五元TR$50.PVTR$50.PVR203R203投入十元投入十元TR$100.PVTR$100.PVR204R2048/24/2024318投币过程梯形图: 在上图中, 当按下投入一角时,相当于让R200接通,之所以用之所以用一个微分指令,就是要只在接通时检

232、测一次,不能永远加下去一个微分指令,就是要只在接通时检测一次,不能永远加下去。投入一角要使投入显示、余额显示都相应增加相同数值,加法由16位加法指令F20实现的。投入五角、一元、五元、十元,原理同上。 8/24/20243193 ) 价格比较过程 价格的比较要贯穿实验过程的始终,只要余额大于某种商品价格时,就需要输出一个信号,提示可以购买。这这里用选择灯来代表此信号。里用选择灯来代表此信号。 价格比较过程变量表价格比较过程变量表说明说明上位机上位机FORCECONTROL变量变量对应对应PLCPLC地址地址 0101商品灯亮商品灯亮D01.PVY0 0202商品灯亮商品灯亮D02.PVY1 0

233、303商品灯亮商品灯亮D03.PVY2 0404商品灯亮商品灯亮D04.PVY3 0505商品灯亮商品灯亮D05.PVY4 0606商品灯亮商品灯亮D06.PVY5 0707商品灯亮商品灯亮D07.PVY6 0808商品灯亮商品灯亮D08.PVY78/24/2024320 价格比较梯形图: 本图中,在程序执行过程中,R9010始终保持闭合,是16位数据比较指令,F60用来比较余额和商品的价格,R900A是大于标志, R900B是等于标志。当余额大于等于某种商品价格时,程序使相应的指示灯闪烁表示可以购买该种商品。8/24/20243214)选择商品过程 当投入的币值可以购买某种商品时,按下相应的

234、“选择”按钮即可在出货框中出现该种商品,同时消费显示栏中显示出已经消费掉的金额,余额也将扣除已消费的币值,接着余额继续与价格比较,判断是否能继续购买。出现在出货口的商品在没有取走前,一直保持显示状态,用鼠标点击该商品代表已经取走,出货口中的商品隐藏。 8/24/2024322 选择商品过程变量表选择商品过程变量表: 说明说明上位机上位机FORCECONTROL变量变量对应对应PLCPLC地址地址选择选择0101商品商品XZ01.PVR205选择选择0202商品商品XZ02.PVR206选择选择0303商品商品XZ03.PVR207选择选择0404商品商品XZ04.PVR208选择选择0505商

235、品商品XZ05.PVR209选择选择0606商品商品XZ06.PVR20A选择选择0707商品商品XZ07.PVR20B选择选择0808商品商品XZ08.PVR20C0101商品出现商品出现CX01.PVY80202商品出现商品出现CX02.PVY90303商品出现商品出现CX03.PVYA0404商品出现商品出现CX04.PVYB0505商品出现商品出现CX05.PVYC0606商品出现商品出现CX06.PVYD0707商品出现商品出现CX07.PVYE0808商品出现商品出现CX08.PVYF取取0101商品商品Q01.PVR230取取0202商品商品Q02.PVR231取取0303商品商

236、品Q03.PVR232取取0404商品商品Q04.PVR233取取0505商品商品Q05.PVR234取取0606商品商品Q06.PVR235取取0707商品商品Q07.PVR236取取0808商品商品Q08.PVR2378/24/2024323选择商品梯形图: 8/24/2024324选择商品梯形图(续上图):8/24/2024325在选择商品的过程中: 一是要使商品出现在出货框中,二是要实现内部货币的运算。 如:按下选择01商品键,相当于给R205加一个信号(只接受一次脉冲,所以用DF微分指令),当Y0接通(01商品灯亮)时,则系统显示可以购买01商品。由于取01商品R230是常闭触点,故

237、Y8输出,代表在出货框中出现01商品,购买成功。当按下取01商品按钮时,R230断开,不能输出Y8,代表01商品被取走。 内部币值的计算和是否取走商品无关,只要按下选择按钮,并且可以购买此商品就要从余额中扣除相应的金额,显示消费的币值。加法由F20指令实现,减法由F25指令实现。8/24/20243265)退币过程 在退币过程中,最主要的是要完成退币的运算过程,根据结果输出相应的钱币,退币结束时还要给程序中使用到的退币结束时还要给程序中使用到的某些寄存器重新赋零。某些寄存器重新赋零。 退币过程变量表:退币过程变量表:说明说明上位机上位机FORCECONTROLFORCECONTROL变量变量对

238、应对应PLCPLC地址地址退币按钮退币按钮TENTERTENTERR20FR20F退币退币0.10.1元元TB$1.PVTB$1.PVSV4SV4退币退币0.50.5元元TB$5.PVTB$5.PVSV3SV3退币退币1 1元元TB$10.PVTB$10.PVSV2SV2退币退币5 5元元TB$50.PVTB$50.PVSV1SV1退币退币1010元元TB$100.PVTB$100.PVSV0SV0退币确任按钮退币确任按钮TUIBIOK.PVTUIBIOK.PVR0R08/24/2024327退币过程梯形图:退币过程梯形图: 8/24/2024328 退币过程:退币过程:在按下退币按钮(即在按

239、下退币按钮(即R20FR20F接通)时执行,接通)时执行,同样也用到一个微分指令,在接收到信号时产生一次开关同样也用到一个微分指令,在接收到信号时产生一次开关脉冲,进而执行一次其下面的指令。脉冲,进而执行一次其下面的指令。 F32是除法指令,第一次将余额的币值除以1000,商存储于SV0中,作为退币10元的输出值。余数则存储于特殊数据寄存器DT9015中,下次将不能被1000(10元)整除的余数除以500(5元),商存储于SV1中,余数继续下传,直至被1角除过,由于所投币值最小是1角,并且商品价格也确定在整角,所以最终能被1角整除。 在程序的初始化时曾给WR13、WR15、WR17、WR19和

240、WR20赋零, WR13、WR15、WR17、WR19和WR20是程序的中间量。 退币过程结束后,退币过程结束后,PLC要将寄存器中的数值置回原定要将寄存器中的数值置回原定的初值的初值0,完成一次交易,防止下一次交易时出错。,完成一次交易,防止下一次交易时出错。8/24/2024329 数据初始化梯形图:数据初始化梯形图:程序中分别将投入显示、消费显示、余额显示、程序中分别将投入显示、消费显示、余额显示、10元存元存储、储、5元存储、元存储、1元存储、元存储、5角存储和角存储和1角存储清零,还将角存储清零,还将中间量中间量WR13、WR15、WR17、WR19和和WR20清零。清零。8/24/

241、2024330五、仿真界面的设计五、仿真界面的设计1.售货机背景的设计 售货机背景是一个不动的画面,可以利用图片处理的方法按照制定样式的功能画出售货机的整体。 8/24/20243312 2. .显示屏部分的设计显示屏部分的设计 图中的欢迎字符是可以闪烁变化的,aaaa字符可以用来显示系统的时间。交易过程中的币值显示画面如下图:交易过程中的币值显示画面如下图:8/24/20243323 3电子标签的设计电子标签的设计 电子标签用来显示程序中传递上来的价格,其中要有可以定义的字符,设计出的标签为 。 其中的字符J.03表示可以显示03商品价格的变量。 4 4按钮的设计按钮的设计 “选择” 按钮的

242、设计要反映出可以购买和不可购买时的差异,所以其中也要有可以变化的字符。设计如右图 , 其中字符其中字符选择选择在满足条件在满足条件以后可以闪烁变色。按钮均可以动作。以后可以闪烁变色。按钮均可以动作。8/24/20243335 投退币提示框的设计 投、退币提示框中要有可以投入的硬币、确认按钮以及框架,其投、退币提示框中要有可以投入的硬币、确认按钮以及框架,其中硬币、确认按钮和字符中硬币、确认按钮和字符a均是可以定义的变量。均是可以定义的变量。6 出货框的设计出货框 出货框中要有出货框中要有01至至08商品的示意图以及框架。其中的商品在满足商品的示意图以及框架。其中的商品在满足条件后可以出现,鼠标

243、点击后可以消失,是可定义的变量。条件后可以出现,鼠标点击后可以消失,是可定义的变量。 投币提示框投币提示框 退币提示框退币提示框 出货框出货框8/24/2024334六、六、仿真界面中各变量的定义仿真界面中各变量的定义 仿真程序上的各部分若实现仿真功能,就必须定义成仿真程序上的各部分若实现仿真功能,就必须定义成相应的变量,再与相应的变量,再与PLCPLC程序中的软继电器相匹配,这样才程序中的软继电器相匹配,这样才能实现能实现PLCPLC的控制功能。的控制功能。 1中间变量 中间变量的作用域为整个应用程序,不限于单个窗口。中间变量适于作为整个应用程序动作控制的全局性变量、全局引用的计算变量或用于

244、保存临时结果。该仿真实验系统中有3个中间变量: poiwindowspoiwindows:该变量是控制显示屏的。该变量是控制显示屏的。 poiwindowspoiwindows=1=1:显示屏进入投币交易状态;显示屏进入投币交易状态; poiwindowspoiwindows=0=0:显示屏返回初始欢迎状态。显示屏返回初始欢迎状态。 poiwinJBpoiwinJB:该变量是控制投币框的。该变量是控制投币框的。 poiwinJBpoiwinJB=1=1:显示投币框;显示投币框; poiwinJBpoiwinJB=0=0:投币框消失。投币框消失。 poiwinTBpoiwinTB:该变量是控制退

245、币框的。该变量是控制退币框的。 poiwinTBpoiwinTB=1=1:显示退币框,显示退币框, poiwinTBpoiwinTB=0=0:退币框消失。退币框消失。8/24/20243352 2数据库变量数据库变量 当要在界面上显示处理数据库中的数据时,需要使用数据库变量。一个数据库变量对应数据库中的一个点参数。数据库变量的作用域为整个应用程序。 数据库变量有三种:实型数据库变量、整型数据库变量和字符数据库变量。 仿真系统中有仿真系统中有5656个整型数据库变量,分别对应个整型数据库变量,分别对应PLCPLC程序程序中的中的5656个软继电器。个软继电器。3.3.仿真界面与仿真界面与PLCP

246、LC程序的配合定义程序的配合定义 初始状态初始状态 poiwindowspoiwindows=0=0:显示屏显示初始欢迎状态。显示屏显示初始欢迎状态。 以以0101商品为例,电子标签中的字符商品为例,电子标签中的字符J.01J.01对应的变对应的变量量JG01.PVJG01.PV与与PLCPLC程序中的地址程序中的地址WR4WR4相匹配,相匹配,WR4WR4中存储的数中存储的数据为据为250250,如何让字符显示,如何让字符显示2.502.50元呢?元呢? 8/24/2024336方法:方法:在开发系统(Draw)中,双击字符J.01,来到“动画连接”画面,选择“数值输出”中的“模拟”项,键入

247、JG01.PV/100即可,由250到2.50实际是计算机来完成的。其它的价格也是如此显示的。 动画连接画面动画连接画面8/24/2024337投币状态 当投币时,按下“投币”提示字,出现投币框。如何定义“投币”呢?双击汉字“投币”,来到“动画连接”画面,选择“触敏动作”中的“左键动作”,在“动作描述”框中作如下定义:按下鼠标时,poiwinJB=1,poiwinJB这个变量是控制投币框的,当poiwinJB=1时,出现钱币和提示框;poiwinJB=0,钱币和提示框隐藏。 下面分别定义提示框和钱币以及下面分别定义提示框和钱币以及“确认确认”按钮按钮。 双击提示框,来到“动画连接”画面,选择“

248、显示/隐藏”项,定义poiwinJB=1时显示,各硬币也用同样的方法定义,“确认”按钮也同样定义,这样就使在按下汉字“投币”时,变量poiwinJB=1,从而出现投币框,以及硬币等。 定义了投币框的显示状态,用鼠标点击代替了实际过程定义了投币框的显示状态,用鼠标点击代替了实际过程中的钱币投入动作,中的钱币投入动作,最重要的任务是投币运算,下面介绍钱币的定义方法。8/24/2024338 以十元为例:以十元为例:双击十元硬币,来到“动画连接”画面,选择“触敏动作”中的“左键动作”,在动作描述中如下定义:按下鼠标时,poiwindows=1; TR$100.PV=1; 释放鼠标时,TR$100.P

249、V=0;动作描述画面下图所示。动作描述画面动作描述画面8/24/2024339 其中其中poiwindowspoiwindows=1=1,是让显示屏不再显示友好界面,是让显示屏不再显示友好界面,来到交易界面;来到交易界面; TR$100.PV=1时给PLC发出一个接通信号,由于TR$100.PV对应的PLC地址是R204,使得R204继电器导通,转而执行相应的加十元程序。 同样定义其它钱币,注意其对应的同样定义其它钱币,注意其对应的PLCPLC软继电器。软继电器。 最后还要定义“确认”按钮。要实现的功能是按下“确认”按钮时,所有的钱币以及投币提示框均消失。 这里作如下定义:双击“确认”按钮,来

250、到“动画连接”画面,选择“触敏动作”中的“左键动作”,在动作描述中作如下定义:按下鼠标时,poiwinJB=0; poiwinJB=0时,所有的钱币以及投币提示框均消失,这是由计算机控制的内部变量。 8/24/2024340 投币以后,显示屏要及时反映出投币情况,同时投币以后,显示屏要及时反映出投币情况,同时“选选择择”指示也要相应变化(闪烁、变色)。指示也要相应变化(闪烁、变色)。下面来定义显示屏和“选择”按钮。 显示屏要显示显示屏要显示3种数据,分别为:投入显示、消费显示、种数据,分别为:投入显示、消费显示、余额显示。余额显示。 三种显示均用力控软件自带的附件数码管来显示。 先在工具箱中点

251、击“选择子图项”,在子图库中找到仪表中的数码管,放在显示屏中,作为投入显示,再复制两个,分别作为消费显示、余额显示。双击数码管来到数码管属性设置画面,在表达式中作如下定义:poiTR001.PV/100,poiTR001.PV连接的是PLC程序中的WR1软继电器,是用来存储投入显示数据的,除以100同样是为了PLC数据计算的方便。这样就可用数码管来显示投入的币值。同样定义消费显示,余额显示。同样定义消费显示,余额显示。 8/24/2024341 数码管的属性设置画面如图所示: 8/24/2024342 “选择选择”按钮要根据余额的数值发生闪烁和变色。按钮要根据余额的数值发生闪烁和变色。 定义过

252、程如下:双击“选择”按钮,来到“动画连接”画面,在“颜色相关动作”中选择“闪烁”项,分别定义属性和频率,在变量选择项中选择相应的指示灯变量。 以01商品的选择指示灯为例,在变量选择项中选择D01.PV=1,满足条件时指示灯变色。满足条件时指示灯变色。 这样就定义好了投币状态的上位机仿真变量,配合PLC程序可以实现投币功能。 8/24/2024343 下图是一幅投币时的画面,投入6.60元,还未买商品,注意看显示屏的显示以及选择按钮的变化,此时还不能购买05号商品(价格12元)。8/24/2024344 购买状态 定义了投币状态,就可以购买商品了。当选择指示灯变色以后,按下它,将会在出货口处出现

253、我们要买的商品。 以01商品为例:定义“选择”按钮:双击“选择”按钮,来到“动画连接”画面,选择“触敏动作”中的“左键动作”,在动作描述中如下定义:按下鼠标时XZ01.PV=1;释放鼠标时,XZ01.PV=0。XZ01.PV与PLC程序中的R205相对应,按下可以购买按下可以购买商品的选择键,转而执行相应的商品的选择键,转而执行相应的PLCPLC程序同时消费程序同时消费显示增加相应的币值,余额显示减少相应的币值,显示增加相应的币值,余额显示减少相应的币值,此时还要在出货口处出现相应的商品。此时还要在出货口处出现相应的商品。8/24/2024345 用用“显示显示/ /隐藏隐藏”功能来定义在出货

254、口中出现功能来定义在出货口中出现的商品。的商品。 双击出货口处的小商品,来到双击出货口处的小商品,来到“动画连接动画连接”画面,选画面,选择择“显示显示/隐藏隐藏”项,定义项,定义CX01.PV=1时显示。定义画面时显示。定义画面下图所示。下图所示。 8/24/2024346 出货口框架的隐藏出货口框架的隐藏/显现是用程序来控制的。显现是用程序来控制的。当有一种商品出现在出货口,就会显示框架;当全部商品均消失后框架隐藏。程序如下图所示。图中R210是控制出货口框架是否出现的继电器。是控制出货口框架是否出现的继电器。8/24/2024347退币状态 当按下“退币”按钮时,PLC要进行退币运算。所

255、以按按下下“退币退币“按钮就要与按钮就要与PLCPLC通讯,执行退币计算。通讯,执行退币计算。 下面来定义退币按钮。 双击“退币”按钮,出现“动画连接”画面,选择“触敏动作”中的“左键动作”,动作描述为:按下鼠标,poiwinJB=0; poiwinTB=1; Tenter.PV=1。释放鼠标,Tenter.PV=0;内部变量poiwinJB=0是让投币框消失,poiwinTB=1是让退币框出现,Tenter.PV与PLC程序中的R20F对应。 退币框中要有五种硬币,还要有表示硬币个数的数字。退币框中要有五种硬币,还要有表示硬币个数的数字。由于计算中采用的算法使得退币时按照币值大小顺序退币,例

256、如退五元,只退一个五元,而不退五个一元。定义表示硬币个数的变量只用一位数即可。在退币时,要退出的硬在退币时,要退出的硬币及个数显示,而不退的硬币隐藏。币及个数显示,而不退的硬币隐藏。8/24/2024348 以十元为例,定义钱币时,双击十元硬币,出现动画连接画面,选择“显现/隐藏”项,在在“可可见性定义见性定义”对话框中对话框中作如下图的定义。 其它硬币定义方法同上。其它硬币定义方法同上。8/24/2024349定义钱币个数:定义钱币个数:双击十元硬币个数字符“a”,出现“动画连接”画面,选择“数值输出”中的“模拟”项,作下图的定义。 同时钱币个数也要定义是否隐藏,定义方法和同时钱币个数也要定

257、义是否隐藏,定义方法和定义钱币相同定义钱币相同。 8/24/2024350 定义“确认”键时,按下按下”确认确认”键,代表取键,代表取走了所有硬币,完成此次交易,因此退币走了所有硬币,完成此次交易,因此退币“确认确认”键的定义很重要。键的定义很重要。双击“确认”键,出现“动画连接”画面,选择“触敏动作”中的“左键动作”,在动作描述栏中定义如下:按下鼠标 poiwinTB=0; 功能:退币框消失; TuiBiok.PV=1; 功能:给PLC信号,闭合R0,完成数据的初始化; poiwindows=0; 功能:显示屏显示友好界面。8/24/2024351 为了防止在未取走商品时退币,按下为了防止在

258、未取走商品时退币,按下“确认确认”键后又不能返回原始状态。键后又不能返回原始状态。在描述中加入以下一段程序,强行抛掉已经购买的商品。强行抛掉已经购买的商品。 CX01.PV=0; CX02.PV=0; CX03.PV=0; CX04.PV=0; CX05.PV=0; CX06.PV=0; CX07.PV=0; CX08.PV=0; 8/24/2024352 释放鼠标时,释放鼠标时,TuiBiok.PVTuiBiok.PV=0=0。只是给只是给PLCPLC一个微一个微分信号,不能将分信号,不能将R0R0永远置为永远置为1 1。还有一点要注意,“确认”键也要有隐藏的时候,定义方法同钱币。 定义退币

259、框架:定义退币框架: 按下“退币”按钮后就会出现退币框架。可以这样定义:双击退币框架,来到“动画连接”画面,选择“显现/隐藏”项,在“可见性定义”表达式中定义poiwinTB=1时显现即可。8/24/2024353七、数据连接七、数据连接 1定义I/O设备 数据库是从数据库是从I/OI/O驱动程序中获取过程数据的,驱动程序中获取过程数据的,而数据库同时可以与多个I/O驱动程序进行通信,一个I/O驱动程序也可以连接一个或多个设备。 下面创建I/O设备。8/24/20243541) 在Draw导航器中双击“实时数据库”项使其展开,选择“I/O设备驱动”项使其展开,在展开项目中选择“PLC”项双击使

260、其展开,然后继续选择厂商名“松下电工”并双击使其展开后,选择项目双击并按下图定义。8/24/20243552)单击单击“完成完成”按钮返回,在按钮返回,在“松下电工松下电工”项目下项目下面增加了一项面增加了一项“PLC001”PLC001”。 如果要对I/O设备“PLC001”的配置进行修改,双击项目“PLC001”,会再次出现PLC001的“I/O设备定义”对话框。若要删除I/O设备“PLC001”,用鼠标右键单击项目“PLC001”,在弹出的右键菜单中选择“删除”。2数据连接数据连接 刚刚创建了一个名为“PLC001”的I/O设备,而且它连接的正是假想的PLC设备。 现在的问题是如何将已经

261、创建的多个数据库点与现在的问题是如何将已经创建的多个数据库点与PLC联系起来,以使这些点的联系起来,以使这些点的PV参数值能与参数值能与I/O设备设备PLC进行实进行实时数据交换,时数据交换,这个过程就是建立数据连接的过程。这个过程就是建立数据连接的过程。 8/24/2024356 由于数据库可以与多个由于数据库可以与多个I/OI/O设备进行数据交换,所以必须指定哪些点与哪设备进行数据交换,所以必须指定哪些点与哪个个I/OI/O设备建立数据连接。为方便起见,将数据列表整理成如下表所示。设备建立数据连接。为方便起见,将数据列表整理成如下表所示。数字数字I/O表表 8/24/2024357(续上表

262、)(续上表)8/24/2024358模拟模拟I/O表表 8/24/20243593运行 保存所有组态内容,然后关闭所有力控程序,包括:Draw、DbManager等。 将自动售货机的将自动售货机的PLCPLC程序下传到程序下传到PLCPLC装置中并让装置中并让其执行,切换到离线状态,其执行,切换到离线状态,然后再次启动力控工程管理器,选择本工程,并单击“进入运行进入运行”按钮启动整个运行系统。在运行中,可以按照实际自动售货机的功能来操作,以检验所编程序的正确与否。 8/24/2024360 第二节第二节 五层楼电梯五层楼电梯PLCPLC控制与监控组态设计控制与监控组态设计一、电梯的基本功能一、

263、电梯的基本功能 在进行上位机程序以及下位机程序编写之前,首先要做的工作是确定电梯本身所具有的功能和电首先要做的工作是确定电梯本身所具有的功能和电梯在乘客进行某种操作后应具有的状态。梯在乘客进行某种操作后应具有的状态。1电梯内部部件功能简介 在电梯内部,应该有五个楼层(1-5层)按钮、开门和关门按钮以及楼层显示器、上升和下行显示器。当乘客进入电梯后,电梯内应该有能让乘客按下的代表其要去目的地的楼层按钮,称为内呼叫按钮。 8/24/2024361 电梯停下时,应具有开门、关门的功能,即电电梯停下时,应具有开门、关门的功能,即电梯门可以自动打开,经过一定的延时后,又可自动梯门可以自动打开,经过一定的

264、延时后,又可自动关闭。而且,在电梯内部也应有控制电梯开门、关关闭。而且,在电梯内部也应有控制电梯开门、关门的按钮,使乘客可以在电梯停下时随时地控制电门的按钮,使乘客可以在电梯停下时随时地控制电梯的开门与关门。梯的开门与关门。 电梯内部还应配有指示灯,用来显示电梯现在电梯内部还应配有指示灯,用来显示电梯现在所处的状态,即电梯是上升还是下降以及电梯处在所处的状态,即电梯是上升还是下降以及电梯处在楼层的第几层,这样可以使电梯里的乘客清楚地知楼层的第几层,这样可以使电梯里的乘客清楚地知道自己所处的位置,离自己要到的楼层还有多远,道自己所处的位置,离自己要到的楼层还有多远,电梯是上升还是下降等电梯是上升

265、还是下降等。8/24/20243622电梯的外部部件功能简介 电梯的外部共分五层,每层都应该有呼叫按钮、电梯的外部共分五层,每层都应该有呼叫按钮、呼叫指示灯、上升和下降指示灯,以及楼层显示器。呼叫指示灯、上升和下降指示灯,以及楼层显示器。 呼叫按钮是乘客用来发出呼叫的工具,呼叫指呼叫按钮是乘客用来发出呼叫的工具,呼叫指示灯在完成相应的呼叫请求之前应一直保持为亮,示灯在完成相应的呼叫请求之前应一直保持为亮,它和上升指示灯、下降指示灯、楼层显示器一样,它和上升指示灯、下降指示灯、楼层显示器一样,都是用来显示电梯所处的状态的。都是用来显示电梯所处的状态的。 五层楼电梯中,一层只有上呼叫按钮,五层只五

266、层楼电梯中,一层只有上呼叫按钮,五层只有下呼叫按钮,其余三层都同时具有上呼叫和下呼有下呼叫按钮,其余三层都同时具有上呼叫和下呼叫按钮。而上升、下降指示灯以及楼层显示器应相叫按钮。而上升、下降指示灯以及楼层显示器应相同。同。8/24/20243633电梯的初始状态、运行中状态和运行后 状态分析 1)电梯的初始状态:设电梯位于一层待命,各层)电梯的初始状态:设电梯位于一层待命,各层显示器都被初始化,电梯处于以下状态:显示器都被初始化,电梯处于以下状态:a.各层呼叫灯均不亮;各层呼叫灯均不亮;b.电梯内部及外部各楼层显示器显示均为电梯内部及外部各楼层显示器显示均为“1”;c.电梯内部及外部各层电梯门

267、均关。电梯内部及外部各层电梯门均关。2)电梯在运行过程中:)电梯在运行过程中:a.按下某层呼叫按钮(按下某层呼叫按钮(1-5层)后,该层呼叫灯亮,层)后,该层呼叫灯亮,电梯响应该层呼叫;电梯响应该层呼叫;b.电梯上行或下行直至该层;电梯上行或下行直至该层;8/24/2024364c.各楼层显示随电梯移动而改变,各层指示灯也随各楼层显示随电梯移动而改变,各层指示灯也随之而变;之而变;d.运行中电梯门始终关闭,到达指定层时,门才打运行中电梯门始终关闭,到达指定层时,门才打开;开;e.在电梯运行过程中,支持其它呼叫。在电梯运行过程中,支持其它呼叫。3) 电梯运行后状态:在到达指定楼层后,电梯会电梯运

268、行后状态:在到达指定楼层后,电梯会继续待命,直至新命令产生。继续待命,直至新命令产生。a.电梯在到达指定楼层后,电梯门会自动打开,经电梯在到达指定楼层后,电梯门会自动打开,经一段延时自动关闭,在此过程中,支持手动开门或一段延时自动关闭,在此过程中,支持手动开门或关门;关门;b.各楼层显示值为该层所在位置,且上行与下行指各楼层显示值为该层所在位置,且上行与下行指示灯均灭示灯均灭 。 8/24/2024365二、二、 实际运行中的情况分析实际运行中的情况分析 1. 分类分析分类分析1) 电梯上行分析:电梯上行分析: 若电梯在上行过程中,某楼层有呼叫产生时,若电梯在上行过程中,某楼层有呼叫产生时,可

269、分以下两种情况:可分以下两种情况: a.若呼叫层处于电梯当前运行层之上目标运行若呼叫层处于电梯当前运行层之上目标运行层之下层之下,则电梯应在完成前一指令之前先上行至该则电梯应在完成前一指令之前先上行至该层层,完成该层呼叫后再由近至远的完成其它各个呼完成该层呼叫后再由近至远的完成其它各个呼叫动作;叫动作; b.呼叫层处于电梯当前运行层之下,则电梯在呼叫层处于电梯当前运行层之下,则电梯在完成前一指令之前不响应该指令,直至电梯重新处完成前一指令之前不响应该指令,直至电梯重新处于待命状态为止。于待命状态为止。 8/24/20243662)电梯下行分析:)电梯下行分析: 若电梯在下行过程中,楼层有呼叫产

270、生时,分以下两种若电梯在下行过程中,楼层有呼叫产生时,分以下两种情况:情况: a. 若呼叫层处于电梯当前运行层之下目标运行层之上,若呼叫层处于电梯当前运行层之下目标运行层之上,则电梯应在完成前一指令之前先下行至该层,完成该层呼则电梯应在完成前一指令之前先下行至该层,完成该层呼叫后再由近至远地完成其它各个呼叫动作;叫后再由近至远地完成其它各个呼叫动作; b. 若呼叫层处于电梯运行层之上,则电梯在完成前一若呼叫层处于电梯运行层之上,则电梯在完成前一指令之前不响应该指令,直至电梯重新处于待命状态为止。指令之前不响应该指令,直至电梯重新处于待命状态为止。2.2.总结规律总结规律 由以上各种分析可以看出

271、,由以上各种分析可以看出,电梯在接受指令后,总是电梯在接受指令后,总是由近至远地完成各个呼叫任务。由近至远地完成各个呼叫任务。电梯机制只要依此原则进电梯机制只要依此原则进行设计动作,就不会在运行时出现电梯上下乱跑的情况了。行设计动作,就不会在运行时出现电梯上下乱跑的情况了。 8/24/2024367 五层楼电梯控制组态仿真界面五层楼电梯控制组态仿真界面 8/24/2024368 左半部分是电梯的内视图,左半部分是电梯的内视图,其中包括一个楼层显其中包括一个楼层显示灯、开门按钮、关门按钮、一层到五层的呼叫按示灯、开门按钮、关门按钮、一层到五层的呼叫按钮以及电梯的上升和下降状态指示灯等。两扇电梯钮

272、以及电梯的上升和下降状态指示灯等。两扇电梯门打开后可以看到楼道的景象。门打开后可以看到楼道的景象。 右半部分是五层楼宇电梯的外视图,表示五层右半部分是五层楼宇电梯的外视图,表示五层楼宇和一个电梯的轿箱。楼宇和一个电梯的轿箱。在电梯的外视图中,一层在电梯的外视图中,一层有一个上呼叫按钮五层有一个下呼叫按钮,二、三有一个上呼叫按钮五层有一个下呼叫按钮,二、三和四层有上、下呼叫按钮各一个,每个呼叫按钮内和四层有上、下呼叫按钮各一个,每个呼叫按钮内都有一个相应的指示灯,用来表示该呼叫是否得到都有一个相应的指示灯,用来表示该呼叫是否得到响应。轿箱的电梯门和每层的电梯门都可以响应。轿箱的电梯门和每层的电梯

273、门都可以打开。 8/24/20243693仿真电梯的控制要求1)接受每个呼叫按钮(包括内部和外部的呼叫)的呼叫命接受每个呼叫按钮(包括内部和外部的呼叫)的呼叫命令,并作出相应的响应。令,并作出相应的响应。2)电梯停在某一层(例如)电梯停在某一层(例如3层)时,此时按动该层(层)时,此时按动该层(3层)层)的呼叫按钮(上呼叫或下呼叫),则相当于发出打开电的呼叫按钮(上呼叫或下呼叫),则相当于发出打开电梯门命令,进行开门的动作过程;若此时电梯的轿箱不梯门命令,进行开门的动作过程;若此时电梯的轿箱不在该层(在在该层(在1、2、4、5层),则等到电梯关门后,按照层),则等到电梯关门后,按照不换向原则控

274、制电梯向上或向下运行。不换向原则控制电梯向上或向下运行。3)电梯运行的不换向原则是指电梯优先响应不改变现在电电梯运行的不换向原则是指电梯优先响应不改变现在电梯运行方向的呼叫,直到这些命令全部响应完毕后才响梯运行方向的呼叫,直到这些命令全部响应完毕后才响应使电梯反方向运行的呼叫。应使电梯反方向运行的呼叫。例如现在电梯的位置在一例如现在电梯的位置在一层和二层之间上行,此时出现了一层上呼叫、二层下呼层和二层之间上行,此时出现了一层上呼叫、二层下呼叫和三层上呼叫,则电梯首先响应三层上呼叫,然后再叫和三层上呼叫,则电梯首先响应三层上呼叫,然后再依次响应二层下呼叫和一层上呼叫。依次响应二层下呼叫和一层上呼

275、叫。 8/24/20243704)电梯在每一层都有一个行程开关电梯在每一层都有一个行程开关,当电梯碰到当电梯碰到某层的行程开关时,表示电梯已经到达该层。某层的行程开关时,表示电梯已经到达该层。5)当按动某个呼叫按钮后,相应的呼叫指示灯亮)当按动某个呼叫按钮后,相应的呼叫指示灯亮并保持,直到电梯响应该呼叫为止。并保持,直到电梯响应该呼叫为止。6)当电梯停在某层时,在电梯内部按动开门按钮,)当电梯停在某层时,在电梯内部按动开门按钮,则电梯门打开,按动电梯内部的关门按钮,则则电梯门打开,按动电梯内部的关门按钮,则电梯门关闭。电梯门关闭。但在电梯行进期间电梯门是不能但在电梯行进期间电梯门是不能被打开的

276、。被打开的。7)当电梯运行到某层后,相应的楼层指示灯亮,当电梯运行到某层后,相应的楼层指示灯亮,直到电梯运行到前方一层时楼层指示灯改变直到电梯运行到前方一层时楼层指示灯改变。 8/24/2024371三、设计部分三、设计部分 首先,应该做上位机与下位机之间的任务分工:首先,应该做上位机与下位机之间的任务分工: 上位机主要用来完成仿真界面的制作及动画连接工作。上位机主要用来完成仿真界面的制作及动画连接工作。 下位机则主要用来完成下位机则主要用来完成PLC程序的运行。程序的运行。 其实,上位机与下位机的设计工作是密切配合的。它其实,上位机与下位机的设计工作是密切配合的。它们无论在通讯中使用的变量,

277、还是在进行界面仿真时控制们无论在通讯中使用的变量,还是在进行界面仿真时控制的对象都应该是一致的。总体上讲,仿真界面是被控对象,的对象都应该是一致的。总体上讲,仿真界面是被控对象,PLC是存储运行程序的装置,而控制指令则由仿真界面中是存储运行程序的装置,而控制指令则由仿真界面中的仿真控制器件发出。另一方面,仿真界面中仿真电梯的的仿真控制器件发出。另一方面,仿真界面中仿真电梯的运动,门的运动等,都是由力控组态软件所提供的命令语运动,门的运动等,都是由力控组态软件所提供的命令语言来完成的。言来完成的。 8/24/20243721PLC程序中程序中I/O点的定义点的定义 在编程过程中,所用到的在编程过

278、程中,所用到的I/O地址分配如下表所示。编地址分配如下表所示。编程过程可分为电梯内部和电梯外部两部分进行。程过程可分为电梯内部和电梯外部两部分进行。 说明对应PLC地址说明对应PLC地址外部一层上呼叫按钮R101外部一层上呼叫灯Y1外部二层上呼叫按钮R102外部二层上呼叫灯Y2外部二层下呼叫按钮R103外部二层下呼叫灯Y3外部三层上呼叫按钮R104外部三层上呼叫灯Y4外部三层下呼叫按钮R105外部三层下呼叫灯Y5外部四层上呼叫按钮R106外部四层上呼叫灯Y6外部四层下呼叫按钮R107外部四层下呼叫灯Y7外部五层下呼叫按钮R108外部五层下呼叫灯Y8一层行程开关R109一层位灯Y9二层行程开关R

279、10A二层位灯YA三层行程开关R10B三层位灯YB四层行程开关R10C四层位灯YC五层行程开关R10D五层位灯YDI/O分配表分配表 8/24/2024373内部一层呼叫按钮R10E电梯上升YE内部二层呼叫按钮R10F电梯下降YF内部三层呼叫按钮R110上升指示灯Y10内部四层呼叫按钮R111下降指示灯Y11内部五层呼叫按钮R112电梯开门Y12开门呼叫按钮R113电梯关门Y13关门呼叫按钮R114开门行程开关R115关门行程开关R116内部一层呼叫灯RE内部二层呼叫灯RF内部三层呼叫灯R10内部四层呼叫灯R11内部五层呼叫灯R12(续上表)(续上表)8/24/20243742. 电梯内部的P

280、LC编程1)五层楼的内呼叫灯)五层楼的内呼叫灯PLC程序程序 电梯内部的五个呼叫按钮,指定的是电梯的运电梯内部的五个呼叫按钮,指定的是电梯的运行目标。因此在电梯未达到指定目标时,该层呼叫行目标。因此在电梯未达到指定目标时,该层呼叫灯应一直有显示(为绿),因此输出时就应该使用灯应一直有显示(为绿),因此输出时就应该使用保持继电器。另外,当电梯达到指定楼层时,呼叫保持继电器。另外,当电梯达到指定楼层时,呼叫灯应该灭掉,即保持继电器断开。灯应该灭掉,即保持继电器断开。 先以一层内呼叫灯为例,所得的程序如下图所先以一层内呼叫灯为例,所得的程序如下图所示。示。8/24/2024375五层楼内呼叫灯的五层

281、楼内呼叫灯的PLC梯形图程序如下图梯形图程序如下图: 8/24/20243762)电梯内的楼层显示器 楼层显示器是以电梯是否碰到行程开关来决定的。楼层显示器是以电梯是否碰到行程开关来决定的。显示器同样有保持特性。另外要替换某一显示器的值,显示器同样有保持特性。另外要替换某一显示器的值,需要电梯接触到其上层或下层的行程开关。需要电梯接触到其上层或下层的行程开关。 综合以上因素可得程序如下图所示(以第二层显综合以上因素可得程序如下图所示(以第二层显示器为例)。示器为例)。8/24/20243773)电梯内的电梯升降显示器 升降显示器的状态共三种:升降显示器的状态共三种:显示上升、显示下显示上升、显

282、示下降、或都不显示。降、或都不显示。另外,无论上升还是下降,都与另外,无论上升还是下降,都与电梯的呼叫有密切关系。上升包括了从第一层到第电梯的呼叫有密切关系。上升包括了从第一层到第五层的上升运动,下降也同样如此。因此程序应从五层的上升运动,下降也同样如此。因此程序应从最基本、简单的过程入手。现以电梯从第四层到第最基本、简单的过程入手。现以电梯从第四层到第五层的上升为例。五层的上升为例。 若五层有呼叫,包括两种情况:若五层有呼叫,包括两种情况:电梯内呼叫、电梯内呼叫、电梯外呼叫。电梯外呼叫。若电梯由第四层上行至第五层,此时若电梯由第四层上行至第五层,此时Y10Y10亮亮,Y11,Y11灭灭, ,

283、下降触点下降触点YFYF断开,上升触点断开,上升触点YEYE闭合。闭合。并列的条件还有四层外部上呼叫闭合、五层下呼叫并列的条件还有四层外部上呼叫闭合、五层下呼叫闭合、五层呼叫按钮的闭合,这些条件同样使得四闭合、五层呼叫按钮的闭合,这些条件同样使得四层显示器改变,因此在编程时都要考虑。层显示器改变,因此在编程时都要考虑。 8/24/2024378 四层升至五层的升降显示器四层升至五层的升降显示器PLCPLC程序如下图:程序如下图:8/24/2024379由三层升至五层的升降显示器由三层升至五层的升降显示器PLC程序如下图:程序如下图: 由上面的分析可以看出,由上面的分析可以看出,整个电梯上升显示

284、程序即整个电梯上升显示程序即是对各层的上升程序取程序块并联逻辑操作。是对各层的上升程序取程序块并联逻辑操作。 电梯下降指示灯的程序编写方法与上升指示灯的编电梯下降指示灯的程序编写方法与上升指示灯的编写方法是一样的。写方法是一样的。 8/24/20243803. 电梯到达楼层后的停止 由于在电梯外部有上升呼叫和下降呼叫,由于在电梯外部有上升呼叫和下降呼叫,所以所以当呼叫方向与电梯运行方向相同时,电当呼叫方向与电梯运行方向相同时,电梯才能停止梯才能停止。 下面以向下呼叫停止下面以向下呼叫停止R201为例说明。而为例说明。而上升呼叫停止上升呼叫停止R200的编程思路与下降呼叫停的编程思路与下降呼叫停

285、止止R201相似。相似。 8/24/2024381电梯到达呼叫楼层后停止的电梯到达呼叫楼层后停止的PLCPLC程序如下图所示。程序如下图所示。 当电梯一直显示当电梯一直显示向下运行,即向下运行,即Y11Y11接接通时,只有当每层通时,只有当每层楼的向下呼叫即楼的向下呼叫即Y3Y3、Y5Y5、Y7Y7和该层的行和该层的行程开关接通时,电程开关接通时,电梯到达各层后梯到达各层后R201R201才接通,否则并不才接通,否则并不接通。接通。 另外,如果电另外,如果电梯一直停在某一层,梯一直停在某一层,不显示上升与下降,不显示上升与下降,该层的上呼叫接通该层的上呼叫接通时时R201R201也接通也接通。

286、8/24/20243824. 电梯的开、关门程序 以电梯的开门以电梯的开门Y12程序为例说明。程序为例说明。 首先,只有当电梯既不上升也不下降时才能首先,只有当电梯既不上升也不下降时才能进行开门,即进行开门,即Y12才能输出。才能输出。无论电梯的上升停止无论电梯的上升停止或下降停止,只要或下降停止,只要R200或或R201有一个输出,电梯有一个输出,电梯经过延时后都会自动开门。如果电梯停在某一层,经过延时后都会自动开门。如果电梯停在某一层,按下该层的外部呼叫也会输出按下该层的外部呼叫也会输出R200或或R201,电梯电梯门也会打开。当开门门也会打开。当开门Y12输出时,关门输出时,关门Y13断

287、开。断开。如果关门如果关门Y13接通时,接通时,Y12也应立即断开。也应立即断开。 8/24/2024383 电梯开门的PLC梯形图程序如下图 : 8/24/20243845 电梯外部操作与显示的PLC程序1)外部呼叫外部呼叫 电梯外部呼叫与内部呼叫是类似的。一个呼叫电梯外部呼叫与内部呼叫是类似的。一个呼叫灯的接通对应于相应的外部呼叫接通,其关闭条件灯的接通对应于相应的外部呼叫接通,其关闭条件为相应行程开关闭合,相应升降指示灯闭合。另外,为相应行程开关闭合,相应升降指示灯闭合。另外,外部呼叫同样有保持特性,故也应使用保持继电器外部呼叫同样有保持特性,故也应使用保持继电器作为输出。需要指出的是第

288、一、第五层的呼叫是单作为输出。需要指出的是第一、第五层的呼叫是单向的,故其关闭条件也相应变为行程开关闭合向的,故其关闭条件也相应变为行程开关闭合“AND”电梯升降断开。电梯升降断开。 8/24/2024385 a. 2层4层以2层为例:b. 1层、5层以1层为例:1层电梯外部呼叫梯形图2层电梯外部上呼叫梯形图8/24/2024386 下下呼叫与上呼叫类似,不同之处在于关闭条件中的呼叫与上呼叫类似,不同之处在于关闭条件中的Y10(上升指示)应换为上升指示)应换为Y11(下降指示)。下降指示)。2)楼层的电梯位置指示灯 外部楼层的电梯位置指示灯与电梯内的位置指示灯相同。外部楼层的电梯位置指示灯与电

289、梯内的位置指示灯相同。3)电梯的上升与下降 设电梯从一层到五层上升。设电梯从一层到五层上升。 由于电梯在第一层,此时构成电梯上升的因素包括:二由于电梯在第一层,此时构成电梯上升的因素包括:二层上层上/下呼叫、三层上下呼叫、三层上/下呼叫、四层上下呼叫、四层上/下呼叫、五层下呼叫、下呼叫、五层下呼叫、内二层呼叫灯、内三层呼叫灯、内四层呼叫灯、内五层呼叫内二层呼叫灯、内三层呼叫灯、内四层呼叫灯、内五层呼叫灯,这灯,这11种条件对于电梯的上升是一种逻辑种条件对于电梯的上升是一种逻辑“OR”的关系,的关系,而这些条件的产生的前提条件则是电梯此时在一层,即一层而这些条件的产生的前提条件则是电梯此时在一层

290、,即一层位灯位灯Y9有输出。可见,有输出。可见,Y9与前与前11个个“OR”逻辑是逻辑是“AND”的的关系。关系。 8/24/2024387 电梯从一层到五层上升的梯形图如下图:8/24/2024388 电梯由二层上升到五层、三层上升到五层、四层上升到五层的编程思路与一层上升到五层相似,不同之处为上升条件同某层位灯逻辑“AND”运算之后还应排除电梯下降指示的情况,这里将电梯下降指示Y11的常闭触点与之串联。另外由于电梯上升,电梯门应关门,电梯下降线圈YF应断电,这又是和以上程序块取逻辑“AND”与的过程。 电梯下降程序的编写方法与上升程序的编写方法相似。 需要指出的是:电梯上升与下降都是建立在

291、开门和关门继电器线圈不接通的情况下。因此,在电梯上升与下降的过程中要将这两个因素考虑在内。 8/24/2024389四、五层楼电梯四、五层楼电梯PLCPLC控制参考程序控制参考程序 五层楼电梯仿真系统的五层楼电梯仿真系统的PLC控制参考程序如教控制参考程序如教材图材图7-32所示。由于篇幅的限制,有关五层楼电梯所示。由于篇幅的限制,有关五层楼电梯仿真系统界面的制作、脚本程序的编写、仿真系统仿真系统界面的制作、脚本程序的编写、仿真系统的运行过程以及系统编程时易出现的问题和解决办的运行过程以及系统编程时易出现的问题和解决办法在这儿就不详细地叙述了。读者可把本书配套光法在这儿就不详细地叙述了。读者可把本书配套光盘中的应用程序盘中的应用程序“五层楼电梯五层楼电梯”装载到自己的计算装载到自己的计算机中运行,通过实际操作了解电梯的基本功能,仔机中运行,通过实际操作了解电梯的基本功能,仔细分析该仿真系统的设计过程,从中学习利用监控细分析该仿真系统的设计过程,从中学习利用监控组态软件进行组态软件进行PLC系统设计的方法和技巧。系统设计的方法和技巧。8/24/2024390

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号