1、指令指令数据数据LDFNC(SUB)FNC(DIV)FNC(MOV)LDFNC(SUB)FNC(DIV)FNC(MOV)LDFNC(SEGL)ENDM121K200T0D023D0K10D112D1D10M421K300T4D323D3K10D412D4D11M800074D10Y0K6SUB K200ENDDIVD0T10D0K10D1MOVD1D10SUB K300DIVD3T4D3K10D4MOVD4D11SEGL D10Y0K6例3-11编制一个用户程序,要求用二组数码管分别显示例题34中南北向和东西向绿灯亮还剩余的时间(以秒为单位),其他情况下数码显示为零。例例3-123-12FX2
2、型PLC的输入端X7与引导脉冲相接,其脉冲宽度为500s,输入端X0和X1,X2和X3分别与两个主脉冲相接,各脉冲波形图如图3-87所示。试编制一个用户程序,要求每接一次启动按钮(与X20相接),测量一次二个主脉冲之间的中心距(测量精度为0.1 ms)并将测量结果存入数据寄存器20中(以ms为单位)解:设计梯形图如图3-88所示。其中M8099为0.1ms脉冲信号,M0,M1,M2,M3为中断标志X0、X1X7X2、X3指令指令数据数据LDISETFNC(CJ)P1 LD FNC(WDT)FNC(REFF)LDIFNC(CJ)EILDFNC(ZRST)RSTP2LD X20M809900P0M
3、800007 51K0 X700P1 800040M0 M3D8099 M8000SETM8099EICJP0WDTREFF K0ZRSTM0RSTD8099M3WDTCJP2CJP1指令指令数据数据FNC(WDT)LDIOROROR FNC(CJ)07 M0M1M2M300P2 指令指令数据数据DIP0LDFNC(ZRST)FNC(MEAN)FNC(MEAN)FNC(SUB)FNC(DIV)K D M800040M0M345D0D2K245D2D5 K221D5D4 K623D6 1020ZRSTM0DIMEAN D0指令指令数据数据FENDI001LDFNC(MOV)SETIRETI100
4、LDFNC(MOV)SETIRET M800012M8099D0M0 M800012M8099D1M1 M3D4 K2MEAN D2 D5 K2SUBD5 D4 K6DIVD6 K10 D20FENDMOVM8099M0D0IRETMOVM8099M1D1IRETMOVM8099M2D2IRETMOVM8099M3D3IRET指令指令数据数据I201LDFNC(MOV)SETIRETI300LDFNC(MOV)SETIRET END M800012M8099D2M2 M800012M8099D3M3 例例3-133-13编制一个给定温度曲线的用户程序。其要求如下:按下启动按钮后温度给定值从15
5、开始每2min增加1,增加到160后保温60min,然后每min增加1,增加到380后再保温55min停止运行。温度给定值存放在数据10内,当停止运行时温度给定值变为零。解:解:设启动按钮SB1接X20,为便于设定参数修改,设温度给定值存放在D10内(初始值D1015),两段温度增加值分别存放在D11,D13中(D11145,D13220)保温时间分别存放在D12,D14中(D1260min,D1455min)设计梯形图如图3-89所示。指令指令数据数据LDFNC(CALL)LDANI SETSETLDOUTKLDFNC(INC)RSTOUTKLD RST RSTSETLD OUTKM8002
6、01P0X20M0M0M1M1 T01200T024D10T0 C0D11C0 M1C0M2M2T1600CALLP0SETM0SETM1RSTM1RSTC0SETM2INC D10RSTT0指令指令数据数据LDOUTKRSTLDRST RSTSETLDOUTKLDFNC(INC)RSTOUTK LD RSTRSTSETLDOUTKT1C1D12T1C1M2C1M3M3T2600T224D10 T2C2D13C2M3C2M4M4T3600RSTT1RSTM2RSTC1SETM3INC D10RSTT2RSTM3RSTC2SETM4指令指令数据数据LDOUTKRSTLDRST RSTRSTRST
7、FNCFENDLDFNC(MOV)FNC(MOV)FNC(MOV)T1C3D14T3C3M4C2D10M006 M800012K15 D1012K145 D1112K60D12RSTT3RSTM4RSTC2RST D10MOV K15MOV K145MOV K60RSTM0FENDD10D11D12MOV K220MOV K55SRETD13D14指令指令数据数据FNC(MOV)FNC(MOV)FNC(SRET)12K220D1312K55 D1402例3-14在上题基础上,如果要求给定温度起始值,温度增加值及保温时间能通过拨码盘输入进行修改。试设计该部分用户程序。解:设定参数修改按钮SB2接
8、X1。一组拨码盘BCD码数据输入参数修改序号(共5个修改参数)由X10X13输入,另一组拨码盘输入每个序号参数的修改内容由X14X17输入。Y10Y13接二组拨码盘输入的数据选通。设计梯形图如图3-90所示。指令指令数据数据LDFNC(DSW)LDFNC(DECO)LDFNC(MOV)()(P)LDFNC(MOV)()(P)LDFNC(MOV)()(P)LDFNC(MOV)()(P)LDFNC(MOV)()(P)M800072X10Y10D0K2X141D0M10K3M1112D1D10M1212D1D11M1312D1D12M1412D1D13M1512D1D14DSW X10DECOD0Y
9、10D0M10 K3MOV(P)D1 D10K2MOV(P)D1 D11MOV(P)D1 D12MOV(P)D1 D13MOV(P)D1 D14例3-15根据例3-6题加工要求,可使用一组拨码盘修改循环次数。各段运行时间和循环次数分别由数码管显示出来。试用方便控制指令设计用户程序。解:)设D10D17依次存放设备段运行时间(以s为单位)D0存放循环次数设定值;D1存放循环次数修改值;D2存放各段运行时间当前值;D3存放循环次数当前值)设X0,X2,X3分别为启动,停止和循环次数修改输入信号。Y0,Y1,Y2,Y3分别为右行,左行,上行,下行输出信号;X10X13为一组拨码盘码输入;Y14Y17
10、为输入数据选通;Y20Y23为一组BCD码输出显示数据输出;Y24Y27为数据输出选通;Y30 Y33为另一组BCD输出显示数据输出。)设计梯形图程序如图3-91所示。其中M20为启动标志,M0为中途停标志,X3为参数修改输入信号,M8013为1s脉冲信号。指令指令数据数据LDANDANISETFNC(MOV)LDMPSFNC(DSW)MRDANDFNC(MOV)()(P)MRDFNC(INCD)X0X1M20M2012K1000D0M20 72X10Y10D1K1 X312D1D0 63D10C0SET M20DSW X10MOV(P)RST M20RSTC2Y10D1D1D0K1INCD
11、D10 C0 M10 K8MOV K1000D0指令指令数据数据 MRDANDOUTKMPPANDOUTKLDRSTRSTLDOROROUT M10K8 M8013C0K1000 M8029C2 D0C2M20C2M10M13M16Y0指令指令数据数据LDOROUTLDOROUTLDOUTLDFNC(MOV)FNC(MOV)FNC(SEGL)LDFNC(CALL)M11M14Y3M12M15Y2M17Y1 M2012C0D212C2 D374D2Y20K6M800201P0CALL P0MOV C0MOVD2C2D3SEGL D2 Y20 K6指令指令数据数据LDORANDOUTX2 M0M20Y0指令指令数据数据LDANDRSTFNC(FEND)P0LDFNC(MOV)FNC(MOV)FNC(MOV)FNC(MOV)FNC(MOV)X1M0M2006 M800012K200D1012K5D11 12K5D1212K550D13 12K5D14RST M20指令指令数据数据 FNC(MOV)FNC(MOV)FNC(MOV)FNC(SRET)END12K5D1512K100D1612K850D1702 MOV K200MOVK5MOVK5FENDD10D11D12MOV K550MOVK5SRETD13D14MOVK5D15MOV K100 D16MOV K850 D17END