第三章习题参考答案1、何谓编程语言?PLC常用的编程语言主要有哪几种?解:编程语言就是用户程序的表达方式。
PLC常用的编程语言主要有:梯形图、指令语句、顺序功能图(SFC)、级式编程语言(stage)、逻辑图编程语言、高级编程语言等几种方式。
2、梯形图与继电器控制线路图有哪些异同点?解:相同点:两种图的结构类似,采用类似的图形符号。
不同点:第1,继电器线路图为并行工作方式;梯形图为串行工作方式。
第2,继电器线路图中常开、常闭接点的数量有限;梯形图中各类软器件用于内部编程的常开、常闭接点使用次数不受限制。
3、为什么在梯形图中软器件接点的使用次数不受限制?解:因为PLC内部调用的常开、常闭触头实质是位元件的电平信号,而内部电子电路采用的CMOS RAM电子电路功耗极小,从而在有限的用户程序容量内其使用次数不受限制。
4、在梯形图中地址相同的输出继电器重复使用会带来什么结果?解:plc在扫描的时候,最后扫描到的状态就是输出状态,即使你开始的程序中输出为1,如果最后的扫描为0的话,输出也是零。
5、FX2系列PLC的基本指令有几条?各条指令的功能是什么?写出图3-92所示梯形图的语句表。
解:基本指令是实现PLC基本指令功能即逻辑运算、顺序控制、定时与计数控制的指令系统。
一共20条。
各指令的功能见表3-5所示。
-1--2-6、FX2系列PLC的步进指令有几条?各有什么用途?写出图3-93所示状态转移图的等效梯形图和语句表。
解:PLC的步进指令有两条:——设置表示。
SETSTL S。
的符号由步进开始指令,操作元件是状态器STL一个状态后,则另一个状态复位。
表示步进结束。
RET后必须使用步进结束指令,无操作目标元件,在一系列RET STL-3--4-7、FX2系列PLC的功能指令有多少条?其用途是什么?如何计算功能指令块的程序步?写-5-出图3-94所示梯形图的语句表。
解:FX2的PLC功能指令可分为程序流向控制、数据传送与比较、算术与逻辑运算、数据循环与移位、数据处理、高速处理、方便控制和外部设备通信等8种类型共97条。
编号为FNC00~FNC99(其中FNC87、FNC89、FNC99不可用)。
通常采用操作码点1步,每种16位操作数占2步,每种32位操作数点4步的原则来计算功能指令块的程序占用步数。
8、设计一个用户程序,当输入条件满足是时,依次将C0~C9的当前值转换成BCD码送到输出元件K4Y0中,画出梯形图。
(提示:用一个变址寄存器Z,首称0→(Z)每次(C0Z)→(D0Z),(Z)+1→(Z),当(Z)=9时,Z复位从头开始。
解:9、设计一个控制交流电动机正转、反转和停止的用户程序,要求从正转运行到反转之间的-6-延时。
2S切换必须有解:QF1L1L1L2N L3FU4QF2QF1FU5FU3FU1~KM2KM1FRM PEKM1KM2KM2FRSB1SB2KM1SB310、FX2系列PLC提供多少个中断源?中断标号I866表示什么意思?解:FX2系列PLC提供了9个中断点;其中X0~X5为6个外部中断源入口,3个内部专用定时器发出内部中断。
中断标号I866表示内部定时中断号为8,每隔66ms就执行一次标号为I866后面的中断服务子程序,并根据IRET指令返回。
11、扫描图3-95所示梯形图,在什么情况下M60状态由0到1?-7-解:BON是位判别指令,其功能是判断源数第n位的状态并将结果存放到目标元件中。
题中指令是当M8000置1时(PLC开机运行程序时),判别源数寄存器D80中的第5位数的状态,并把结果存入M60中。
当D80的第5位数是1时,M60状态就会由0到1。
12、图3-96是一个条转速测量指令,试问脉冲发生器产生的脉冲由何处输入?其测周期T等于多少?在扫描该梯形图时D10~D12中存放什么内容?解:SPD速度检测指令,指令功能是在源数S2设定的时间内,对源数S1输入脉冲进行计数,计数当前值存目标元件D+1,终值存目标元件D,当前计数剩余时间存目标元件D+2。
指令采用高速计数和中断处理方式,计数脉冲从高速输入端X0~X5输入。
题中指令的作用是:当M8000置1时,在30ms内对X1输入的脉冲进行计数。
因此脉冲是从X1处输入,测速周期T=30ms。
D10存放的是计数终值,D11存放的是计数当前值,D12存放的是计数剩余时间。
13、图3-97是一条拨码盘数据输入指令,X10是源数首址,占用多少个开关量输入?其用途是什么?Y20、D0是目的操作数首址,各占用几个位元件和字元件?其用途是什么?常数K2表示什么?解:DSW是一组或两组拨码盘BCD码数据输入指令,16位操作码。
其功能是用来读入一个或两个数字开关的BCD码设定数据。
源操作数S只能选用开关量输入X。
目的操作数D1只能选用Y。
题中所示指令:n=2表示两组数据输入(K=2),X10~X17共8个开关量输入。
Y20~Y23(4个位元件)依次产生100ms选用脉冲,将X10~X17输入数据读入D0~D1中(2个字元件)。
14、图3-98是一条BCD码数据输出显示指令,D0是源数首址,占用几个字元件?其作用什么?Y0是目的操作数首址,占用多少个开关量输出?它们的作用是什么?常数K6表示什么?其取值范围是多少?解:SEGL是带锁存七段BCD码显示指令,16位操作指令。
该指令仅适用于晶体管输出方式的PLC。
其功能是将一个或两个十进制源数S写到一组或两组4路扫描的目标输出软元直接驱动一组或两组七段数码管显示。
指令中的常数n取值范围为0~7。
FX2系列PLC在显示一组BCD码数时,取n=2,显示两组BCD码数时,取n=6。
题中指令的n=6表示显示两组BCD数,因此D0~D7,D10~D13共计12个字元件,用于存放BCD数。
Y0~Y213共计12个开关量输出,用于驱动数码管。
15、图3-99所示梯形图中,WDT指令的作用是什么?在什么情况下必须使用该指令?在扫描该梯形图时,为什么会造成死循环?解:WDT/WDT(P)(FNC07)是PLC的刷新警戒定时器指令。
警戒定时器是一个专用监视定时器,其设定值存放在专用数据寄存器D8000中,默认值为100ms,其计时单位为ms。
在不执行WDT指令时每次扫描到END或FEND指令,就刷新警戒定时器当前值,当程序扫描周期超过100ms或专门设定值时,其逻辑线圈被接通,CPU立即停止扫描用户程序,切断所有输出并发出报警显示信号。
当程序的扫描周期大于100ms,需要使用此指令避免错误。
PLC在开机运行时,M8000就处于置1状态,执行WDT指令,T100开骀计时工作,10S-8-后T100常开触头闭合,常闭触头断开,程序不会跳转到P10处执行WDT指令。
但是,由于定时器T100的当前值须在扫描END或FEN指令时才会被刷新,而扫描梯形图时由于定时器T100当前值不会被刷新,始终为0其逻辑线圈不可能接通,造成T0常闭触头闭合,程序运行返回P10处。
这样就构成死循环。
16、试设计一个控制拣球机械手动作的用户程序。
其控制要求是:当吸盘在初始原位时(左上方左限SQ1上限SQ3受压),按下起动按钮SB1,机械手按如下顺序将大球或小球分别自动放入各自的箱件内:原位SQ1+SQ3+SB1±左限SQ1+下行左行大于下行延时上限全程时间1SSQ3+上行大球下限不小球下限受受压SQ2-压SQ2+吸盘抓吸盘放大大球通电球断电下限延时SQ2+1S下行上行上限小球右大球右SQ3+限SQ5+限SQ4+右行如此循环,若按下停止按钮SB2,待一个循环结束,机械手在原位停止运行。
解:机械手的上、下、左、右行、夹紧与放松由气动电磁阀或液压电磁阀控制。
设计步骤分为三步,第一步分配I/O点数,第三步控制电路设计,须有必要的短路保护和联锁保护。
第三步程序设计,采用SFC编程。
第一步,I/O点数分配输出点输出信号输入信号输入点KA1SQ1机械手左行电磁阀控制继电器吸盘左限行程开关X1Y1KA2SQ2机械手下行电磁阀控制继电器吸盘下限行程开关X2Y2KA3机械手上行电磁阀控制继电器吸盘上限行程开关SQ3X3Y3KA4SQ4机械手右行电磁阀控制继电器小球右限行程开关X4Y4机械手夹紧与放松(抓放大球)SQ5大球右限行程开关Y5X5KA5电磁阀控制继电器KM1SB1电磁吸盘控制接触器启动按钮Y6X6SB2停止按钮X7-9-第二步,控制电路设计L1L2QF1FU2FU1~KA1KM1KA5KA4KA2KA3YV5YV3YV1YV2YHYV4PE电磁阀的电磁线圈。
YH:电磁吸盘的电磁线圈;YVL1NFU3QF2FU4L COM1N COM2COM3SQ1X1KA1KA4SQ2Y1X2KA2SQ3X3PLC KA3 Y2FX1S-30MR SQ4X4KA3KA2SQ5Y3X5KA4SB1X6KA1 Y4SB2X7KA5KM1COM Y5KM1KA5Y6-10-第三步,PLC程序设计M8002S0X1X3X6Y3S21Y2行下T1T1K10X2X2Y6Y5小抓Y5S22Y6球大抓S23T2T3K10 T3T2K10Y2Y3S24上行X3Y1Y4S25右行X5X4Y3Y2S26下行X2Y5Y6Y5S27S28RST Y6RSTY5Y6Y2Y3S28上行X3Y4Y1S29行左X2X7-11-发出信号并ST1A点,光电开关17、有一条PLC控制的产品检验传输线,当产品传送到C,ST2=1为合格产品,传送带继续将产品送到前面由ST2检查产品合格与否。
若ST1=1。
号机械手将合格产品放入成品箱内(设计中不包含该机械手的控制)点停止运行。
由2号机械手将次品放入次品点停止运行,由1若ST=1,ST2=0则为次品,传送带运行到B)→缩1S1S)→旋转(1S)→放松(箱内。
机械手的动作顺序是:伸出(1S)→夹紧(延时,传送带自动起动运行。
原位等待。
机械手一旦复位经1S回(1S)→旋转(1S)→。
起动停止机械手的动作由液压电磁阀(均为单向阀)控制(线圈得电动作,失电复位)(修改)运行由面板上的按钮控制。
试设计其用户程序。
解:点数,第三步控制电路设计,须有必要的短路保护设计步骤分为三步,第一步分配I/O编程。
和联锁保护。
第三步程序设计,采用SFC第一步,I/O点数分配输入信号输入点输出信号输出点产品检验信号开关ST1机械手伸出电磁阀控制继电器KA1X1Y1产品检验信号开关ST2机械手夹紧电磁阀控制继电器KA2X2Y2 B点行程开关SQ1机械手旋转电磁阀控制继电器KA3X3Y3C点行程开关SQ2机械手缩回电磁阀控制继电器KA4X4Y4启动按钮SB1机械手放松电磁阀控制继电器KA5X5Y5停止按钮SB2电机运行控制交流接触器KM1X6Y6第二步,控制电路设计FU4L1NQF2FU5L COM1N COM2COM3SQ1X1KA1KA4SQ2Y1X2KA2ST1X3PLC KA2Y2FX1S-30MR ST2X4KA3SB1Y3X5KA4SB2X6KA1Y4COM KA5KA5Y5KM1Y6-12-L1L2L3FU3FU1~QF1KA5KA3KA4KM1KA1KA2YV5YV1YV4YV3YV2M PE程序设计第三步,PLCM8002S0X5传送带Y6S21前行X1X2X2点点CB X4X3传送带传送带S22S23Y6Y6RSTRST停止停止Y6Y6Y4号2调用机械手成品S24Y1S25机械手CALL PX处理伸出子程序T1T1K10Y5机械手Y2S26夹紧T2T2K10机械手Y3S27旋转T3T3K10Y2机械手S28Y5放松T4T4K10Y1机械手S29Y4缩回T5T5K10机械手S30Y2旋转T6T6K10T7S31延时1S K10T7X6-13-18、试设计一个用户程序,要求按下起动按钮后,(Y0~Y47)40个输出中每次有2个为1,每隔6S变化1次,即先是Y0、Y1为1,6S切换成Y2、Y3为1(Y0、Y1变为0),依次类推,直至Y46、Y47为1,6S后从到开始,循环100次后自动停止运行。