| 
						【控制要求】假設(shè)某種產(chǎn)品共有 3種型號(hào),對(duì)應(yīng) 3組配方參數(shù),每個(gè)配方包含 10種參數(shù),選擇相應(yīng)的配方組別開關(guān),則加工時(shí)以該配方參數(shù)作為當(dāng)前加工執(zhí)行的配方參數(shù)。
					 
						【元件說(shuō)明】
					 
						
							
								| PLC 元件 | 元件說(shuō)明 |  
								| X0 | 第一組配方數(shù)據(jù)開關(guān) |  
								| X1 | 第二組配方數(shù)據(jù)開關(guān) |  
								| X2 | 第三組配方數(shù)據(jù)開關(guān) |  
								| D500-D509 | 第一組配方數(shù)據(jù) |  
								| D510-D519 | 第二組配方數(shù)據(jù) |  
								| D520-D529 | 第三組配方數(shù)據(jù) |  
								| D0-D9 | 當(dāng)前執(zhí)行的配方數(shù)據(jù) |  
								| P0 | 指針緩存器 |  
								| P1 | 指針緩存器 |  
						【控制程序】【程序說(shuō)明】 
					 
						    
						
							本例的關(guān)鍵是利用 P0、P1指針緩存器配合 FOR~ NEXT循環(huán)來(lái)實(shí)現(xiàn) D編號(hào)的變化,將存放配方參數(shù)的其中一組寄存器傳送到 D0~D9,作為當(dāng)前執(zhí)行的配方參數(shù)。
						
							當(dāng)選擇其中一組配方參數(shù)時(shí), X0、X1、X2其中一個(gè)將變?yōu)?ON,P0的值將分別對(duì)應(yīng)為 500、510、520, DP0將分別代表 D500、D510、D520,同時(shí) [RST M1]指令執(zhí)行, M1復(fù)位變?yōu)镺FF,RST P1指令和 FOR~NEXT循環(huán)將被執(zhí)行,因 P1被復(fù)位變?yōu)?0,DP1代表D0。
						
							FOR ~NEXT循環(huán)執(zhí)行次數(shù)為 10次,假設(shè)選擇的是第一組配方,則 DP0將從D500~D509變化,DP1將從D0~D9變化,實(shí)現(xiàn)第一組配方參數(shù)數(shù)據(jù)的調(diào)用。
						
							假設(shè)選擇的是第一組配方,執(zhí)行第 1次循環(huán)時(shí), D500的值將被傳送到 D0,執(zhí)行第 2次循環(huán)時(shí), D501的值將被傳送到 D1……,依此類推,執(zhí)行第 10次循環(huán)時(shí), D509的值將被傳送到 D9中。
						
							當(dāng)循環(huán)次數(shù)到達(dá)時(shí),即 P1=10,[SET M1]指令將被執(zhí)行, M1被置位變?yōu)?ON,F(xiàn)OR~NEXT循環(huán)中的指令因M1的常閉接點(diǎn)斷開而停止執(zhí)行。
						
							10個(gè)參數(shù)的 3組配方數(shù)據(jù)的傳送,通過(guò)改變 FOR~NEXT循環(huán)的次數(shù),很容易改變配方中參數(shù)個(gè)數(shù),而要增加配方的組數(shù),可在程序中增加一條將存放配方數(shù)據(jù) D的起始編號(hào)值 “MOV”到 P0的MOV指令即可。
						 |