1、第三章习题参考答案1、 何谓编程语言?PLC常用的编程语言主要有哪几种?解:编程语言就是用户程序的表达方式。PLC常用的编程语言主要有:梯形图、指令语句、顺序功能图(SFC)、级式编程语言(stage)、逻辑图编程语言、高级编程语言等几种方式。2、 梯形图与继电器控制线路图有哪些异同点?解:相同点:两种图的结构类似,采用类似的图形符号。不同点:第1, 继电器线路图为并行工作方式;梯形图为串行工作方式。第2, 继电器线路图中常开、常闭接点的数量有限;梯形图中各类软器件用于内部编程的常开、常闭接点使用次数不受限制。3、 为什么在梯形图中软器件接点的使用次数不受限制?解:因为PLC内部调用的常开、常
2、闭触头实质是位元件的电平信号,而内部电子电路采用的CMOS RAM电子电路功耗极小,从而在有限的用户程序容量内其使用次数不受限制。4、 在梯形图中地址相同的输出继电器重复使用会带来什么结果?解:plc在扫描的时候,最后扫描到的状态就是输出状态,即使你开始的程序中输出为1,如果最后的扫描为0的话,输出也是零。5、 FX2系列PLC的基本指令有几条?各条指令的功能是什么?写出图3-92所示梯形图的语句表。解:基本指令是实现PLC基本指令功能即逻辑运算、顺序控制、定时与计数控制的指令系统。一共20条。各指令的功能见表3-5所示。表3-5 基本指令功能表指令助记符指令功能操作数程序步数LD从公共母线开
3、始取用常开接点(取)X、Y、M、S、T、C1LDI从公共母线开始取用常闭接点X、Y、M、S、T、C1OUT线圈驱动(输出),线圈并联可连续使用Y、M、S、T、C(T、C后紧跟常数)Y、M- 1S、特殊M-2T-3C-3至5AND串联一个常开接点(与)X、Y、M、S、T、C1ANI串联一个常闭接点(与非)X、Y、M、S、T、C1OR并联一个常开接点(或)X、Y、M、S、T、C1ORI并联一个常闭接点(或非)X、Y、M、S、T、C1ANB两块电路串联(块与)无1ORB两块电路并联(块或)无1MPS(Push)进栈无1MRD(Read)读栈无1MPP(Pop)出栈无1PLS(Palse)信号上升沿微
4、分输出(一个扫描周期)Y、M(特殊M除外)2PLF信号下降沿微分输出(一个扫描周期)Y、M(特殊M除外)2SET被操作数元件置位并保持Y、M、SY、M 1S、特殊M 2RST(Reset)被操作数元件复位并保持或清零Y、M、SD、V、Z、T、CY、M 1S、T、C、特殊M 2D、V、Z、特殊D 3PLS 信号上升沿微分输出Y、M(特殊M除外)2PLF信号下降沿微分输出Y、M(特殊M除外)2SET 被操作元件置位并保持Y、M、SY、M 1S、特M 2RST被操作元件复位并保持清零Y、M、S、D、V、Z、T、CY、M 1S、T、C、特M 2D、V、Z、特D 2NOP 空操作无动作 无 1END程序
5、结束回到第0步 无 1MC N级号主控电路块起点Y、M(除特殊M) 3MCR N级号主控电路块终点N(嵌套级号) 26、 FX2系列PLC的步进指令有几条?各有什么用途?写出图3-93所示状态转移图的等效梯形图和语句表。解:PLC的步进指令有两条:STL步进开始指令,操作元件是状态器S。STL的符号由 表示。SET设置一个状态后,则另一个状态复位。RET步进结束指令,无操作目标元件,在一系列STL后必须使用RET表示步进结束。7、 FX2系列PLC的功能指令有多少条?其用途是什么?如何计算功能指令块的程序步?写出图3-94所示梯形图的语句表。解:FX2的PLC功能指令可分为程序流向控制、数据传
6、送与比较、算术与逻辑运算、数据循环与移位、数据处理、高速处理、方便控制和外部设备通信等8种类型共97条。编号为FNC00FNC99(其中FNC87、FNC89、FNC99不可用)。通常采用操作码点1步,每种16位操作数占2步,每种32位操作数点4步的原则来计算功能指令块的程序占用步数。8、 设计一个用户程序,当输入条件满足是时,依次将C0C9的当前值转换成BCD码送到输出元件K4Y0中,画出梯形图。(提示:用一个变址寄存器Z,首称0(Z)每次(C0Z)(D0Z),(Z)+1(Z),当(Z)=9时,Z复位从头开始。解:9、 设计一个控制交流电动机正转、反转和停止的用户程序,要求从正转运行到反转之
7、间的切换必须有2S延时。解:10、 FX2系列PLC提供多少个中断源?中断标号I866表示什么意思?解:FX2系列PLC提供了9个中断点;其中X0X5为6个外部中断源入口,3个内部专用定时器发出内部中断。中断标号I866表示内部定时中断号为8,每隔66ms就执行一次标号为I866后面的中断服务子程序,并根据IRET指令返回。11、 扫描图3-95所示梯形图,在什么情况下M60状态由0到1?解:BON是位判别指令,其功能是判断源数第n位的状态并将结果存放到目标元件中。题中指令是当M8000置1时(PLC开机运行程序时),判别源数寄存器D80中的第5位数的状态,并把结果存入M60中。当D80的第5
8、位数是1时,M60状态就会由0到1。12、 图3-96是一个条转速测量指令,试问脉冲发生器产生的脉冲由何处输入?其测周期T等于多少?在扫描该梯形图时D10D12中存放什么内容?解:SPD速度检测指令,指令功能是在源数S2设定的时间内,对源数S1输入脉冲进行计数,计数当前值存目标元件D+1,终值存目标元件D,当前计数剩余时间存目标元件D+2。指令采用高速计数和中断处理方式,计数脉冲从高速输入端X0X5输入。题中指令的作用是:当M8000置1时,在30ms内对X1输入的脉冲进行计数。因此脉冲是从X1处输入,测速周期T=30ms。D10存放的是计数终值,D11存放的是计数当前值,D12存放的是计数剩
9、余时间。13、 图3-97是一条拨码盘数据输入指令,X10是源数首址,占用多少个开关量输入?其用途是什么?Y20、D0是目的操作数首址,各占用几个位元件和字元件?其用途是什么?常数K2表示什么?解:DSW是一组或两组拨码盘BCD码数据输入指令,16位操作码。其功能是用来读入一个或两个数字开关的BCD码设定数据。源操作数S只能选用开关量输入X。目的操作数D1只能选用Y。题中所示指令:n=2表示两组数据输入(K=2),X10X17共8个开关量输入。Y20Y23(4个位元件)依次产生100ms选用脉冲,将X10X17输入数据读入D0D1中(2个字元件)。14、 图3-98是一条BCD码数据输出显示指
10、令,D0是源数首址,占用几个字元件?其作用什么?Y0是目的操作数首址,占用多少个开关量输出?它们的作用是什么?常数K6表示什么?其取值范围是多少?解:SEGL是带锁存七段BCD码显示指令,16位操作指令。该指令仅适用于晶体管输出方式的PLC。其功能是将一个或两个十进制源数S写到一组或两组4路扫描的目标输出软元直接驱动一组或两组七段数码管显示。指令中的常数n取值范围为07。FX2系列PLC在显示一组BCD码数时,取n=2,显示两组BCD码数时,取n=6。题中指令的n=6表示显示两组BCD数,因此D0D7,D10D13共计12个字元件,用于存放BCD数。Y0Y213共计12个开关量输出,用于驱动数
11、码管。15、 图3-99所示梯形图中,WDT指令的作用是什么?在什么情况下必须使用该指令?在扫描该梯形图时,为什么会造成死循环?解:WDT/WDT(P)(FNC07)是PLC的刷新警戒定时器指令。警戒定时器是一个专用监视定时器,其设定值存放在专用数据寄存器D8000中,默认值为100ms,其计时单位为ms。在不执行WDT指令时每次扫描到END或FEND指令,就刷新警戒定时器当前值,当程序扫描周期超过100ms或专门设定值时,其逻辑线圈被接通,CPU立即停止扫描用户程序,切断所有输出并发出报警显示信号。当程序的扫描周期大于100ms,需要使用此指令避免错误。PLC在开机运行时,M8000就处于置
12、1状态,执行WDT指令,T100开骀计时工作,10S后T100常开触头闭合,常闭触头断开,程序不会跳转到P10处执行WDT指令。但是,由于定时器T100的当前值须在扫描END或FEN指令时才会被刷新,而扫描梯形图时由于定时器T100当前值不会被刷新,始终为0其逻辑线圈不可能接通,造成T0常闭触头闭合,程序运行返回P10处。这样就构成死循环。16、 试设计一个控制拣球机械手动作的用户程序。其控制要求是:当吸盘在初始原位时(左上方左限SQ1上限SQ3受压),按下起动按钮SB1,机械手按如下顺序将大球或小球分别自动放入各自的箱件内:如此循环,若按下停止按钮SB2,待一个循环结束,机械手在原位停止运行
13、。解:机械手的上、下、左、右行、夹紧与放松由气动电磁阀或液压电磁阀控制。设计步骤分为三步,第一步分配I/O点数,第三步控制电路设计,须有必要的短路保护和联锁保护。第三步程序设计,采用SFC编程。第一步,I/O点数分配输入信号输入点输出信号输出点吸盘左限行程开关SQ1X1机械手左行电磁阀控制继电器KA1Y1吸盘下限行程开关SQ2X2机械手下行电磁阀控制继电器KA2Y2吸盘上限行程开关SQ3X3机械手上行电磁阀控制继电器KA3Y3小球右限行程开关SQ4X4机械手右行电磁阀控制继电器KA4Y4大球右限行程开关SQ5X5机械手夹紧与放松(抓放大球)电磁阀控制继电器KA5Y5启动按钮SB1X6电磁吸盘控
14、制接触器KM1Y6停止按钮SB2X7第二步,控制电路设计YH:电磁吸盘的电磁线圈;YV电磁阀的电磁线圈。第三步,PLC程序设计K1017、 有一条PLC控制的产品检验传输线,当产品传送到A点,光电开关ST1发出信号并由ST2检查产品合格与否。若ST1=1,ST2=1为合格产品,传送带继续将产品送到前面C点停止运行。由2号机械手将合格产品放入成品箱内(设计中不包含该机械手的控制)。若ST=1,ST2=0则为次品,传送带运行到B点停止运行,由1号机械手将次品放入次品箱内。机械手的动作顺序是:伸出(1S)夹紧(1S)旋转(1S)放松(1S)缩回(1S)旋转(1S)原位等待。机械手一旦复位经1S延时,
15、传送带自动起动运行。机械手的动作由液压电磁阀(均为单向阀)控制(线圈得电动作,失电复位)。起动停止运行由面板上的按钮控制。试设计其用户程序。(修改)解:设计步骤分为三步,第一步分配I/O点数,第三步控制电路设计,须有必要的短路保护和联锁保护。第三步程序设计,采用SFC编程。第一步,I/O点数分配输入信号输入点输出信号输出点产品检验信号开关ST1X1机械手伸出电磁阀控制继电器KA1Y1产品检验信号开关ST2X2机械手夹紧电磁阀控制继电器KA2Y2B点行程开关SQ1X3机械手旋转电磁阀控制继电器KA3Y3C点行程开关SQ2X4机械手缩回电磁阀控制继电器KA4Y4启动按钮SB1X5机械手放松电磁阀控
16、制继电器KA5Y5停止按钮SB2X6电机运行控制交流接触器KM1Y6第二步,控制电路设计第三步,PLC程序设计18、 试设计一个用户程序,要求按下起动按钮后,(Y0Y47)40个输出中每次有2个为1,每隔6S变化1次,即先是Y0、Y1为1,6S切换成Y2、Y3为1(Y0、Y1变为0),依次类推,直至Y46、Y47为1,6S后从到开始,循环100次后自动停止运行。要求分别采用基本指令、步进指令和功能指令等不同方法设计。(考虑不采用功能指令编程,程序很长,为了节省时间。题目内容改为:输出Y0Y5,循环次数为3次。增加一个停止按钮,按下停止按钮后,待本次循环结束后停止运行。其它不变。)解:第一步,I/O点分配。启动按钮SB1:X1,停止按钮:X2。第二步,程序设计。采用基本指令:采用步进指令:采用功能指令(改为输出Y0Y15):19、 FX系列PLC的X6端输入一个脉冲宽度为400uS的引导脉冲,X2、X3与被主脉冲相接。试设计一个测量主脉冲宽度的用户程序,同时要求将测得主脉冲宽度存D0中(测量精度为0.1ms)。解:X10外接启动按钮,M8099为0.1ms脉冲计数器启动信号,D8099为0.1ms脉冲循环计数当前值,M2,M3为中断标志。此文档可自行编辑修改,如有侵权请告知删除,感谢您的支持,我们会努力把内容做得更好可编辑word文档