CPM1A_Руководство по программированию (W228-E1-4 R1.20) (986747), страница 35
Текст из файла (страница 35)
Õîòÿ ýòî ïîõîæå íà òîò ñëó÷àé, êîãäà óñëîâèå èñïîëíåíèÿ äëÿ êîìàíäûINTERLOCK = 0, ïðè JUMP îïåðàíäû âñåõ óñëîâèé ñîõðàíÿþò ñîñòîÿíèå. Ïåðåõîäàìèìîæíî ïîëüçîâàòüñÿ äëÿ óïðàâëåíèÿ óñòðîéñòâàìè, êîòîðûì òðåáóåòñÿ ñòàáèëüíûéâûõîä, ò.å. ïíåâìàòèêà è ãèäðàâëèêà, â òî âðåìÿ êàê INTERLOCK ìîæíî èñïîëüçîâàòüäëÿ óïðàâëåíèÿ óñòðîéñòâ, êîòîðûå íå òðåáóþò óñòàíîâèâøåãîñÿ âûõîäà, íàïð.ýëåêòðîííûå óñòðîéñòâà.Ïåðåõîäû ñîçäàþòñÿ êîìàíäàìè JMP(04) è JME(05) (Êîíåö ïåðåõîäà). Åñëè óñëîâèåèñïîëíåíèÿ äëÿ êîìàíäû JUMP = 1, ïðîãðàììà âûïîëíÿåòñÿ, êàê áóäòî äàííîé êîìàíäûíå ñóùåñòâóåò. Åñëè óñëîâèå èñïîëíåíèÿ äëÿ êîìàíäû JUMP = 0, ïðîãðàììà ïåðåõîäèòñðàçó ê êîìàíäå JUMP END, íå ìåíÿÿ ñîñòîÿíèé âûõîäîâ ìåæäó JUMP è JUMP END.Âñåì êîìàíäàì JUMP è JUMP END ïðèñâîåíû íîìåðà 00 - 99. Åñòü 2 òèïà ïåðåõîäîâ.Íîìåð ïåðåõîäà îïðåäåëÿåò òèï ïåðåõîäà.Ïåðåõîä ìîæíî îïðåäåëèòü íîìåðàìè 01 - 99 òîëüêî îäèí ðàç, ò.å.
êàæäûé íîìåð ìîæåòèñïîëüçîâàòüñÿ îäèí ðàç ñ êîìàíäîé JUMP è îäèí ðàç JUMP END. Êîãäà âûïîëíåíàêîìàíäà JUMP, ñðàçó ïðîèñõîäèò ïåðåõîä ê JUMP END ñ òåì æå íîìåðîì, êàê áóäòîêîìàíä JUMP ñ äðóãèìè íîìåðàìè íå ñóùåñòâóþò. Ñõåìà  èç ïðèìåðà ñ TR èINTERLOÑK ìîæåò áûòü ïåðåïèñàíà ñ èñïîëüçîâàíèåì êîìàíä JUMP, êàê ïîêàçàíî íèæå.Õîòÿ â êà÷åñòâå íîìåðà ïåðåõîäà èñïîëüçóåòñÿ íîìåð 01, ìîæíî èñïîëüçîâàòü ëþáîéíîìåð 00 - 99, åñëè îíè íå èñïîëüçóþòñÿ â äðóãèõ ìåñòàõ ïðîãðàììû.
JUMP è JUMP ENDíå òðåáóþò îïåðàíäîâ, à JUMP END íå èìååò è óñëîâèé èñïîëíåíèÿ â êîìàíäíîé ñòðîêå.00000JMP(04) 0100001Èíñòðóêöèÿ 100002Èíñòðóêöèÿ 2JME(05) 01- 189 -4.7 Èñïîëíåíèå ïðîãðàììûÀäðåñÈíñòðóêöèÿÎïåðàíä00000LD0000000001JMP(04)0100002LD0000100003Èíñòðóêöèÿ100004LD00005Èíñòðóêöèÿ200006JME(05)0000201Äàííàÿ âåðñèÿ ñõåìû  áóäåò èìåòü ñàìîå êîðîòêîå âðåìÿ èñïîëíåíèÿ èç âñåõ, åñëè IR00000 = 0.Äðóãîé òèï ïåðåõîäà ñîçäàåò JUMP ñ íîìåðîì 00. Ñ ïîìîùüþ JUMP ñ íîìåðîì 00ìîæíî ñîçäàòü ñêîëü óãîäíî ìíîãî êîìàíä, è JUMP ñ íîìåðîì 00 ìîæíî èñïîëüçîâàòüáåç JUMP END ìåæäó íèìè. Âîçìîæíî äàæå äëÿ âñåõ êîìàíä JUMP 00 ïåðåíåñòèèñïîëíåíèå ïðîãðàììû ê îäíîìó JUMP END 00, ò.å. äëÿ âñåõ êîìàíä JUMP 00 òðåáóåòñÿòîëüêî îäíà êîìàíäà JUMP END 00.
Êîãäà â êà÷åñòâå íîìåðà ïåðåõîäà çàäàí 00,Èñïîëíåíèå ïðîãðàììû ïåðåõîäèò ê áëèæàéøåé êîìàíäå JUMP END 00. Õîòÿ, êàê è ïðèâñåõ ïåðåõîäàõ, ìåæäó JUMP 00 è JUMP END 00 ñîñòîÿíèå íå èçìåíÿåòñÿ è êîìàíäû íåâûïîëíÿþòñÿ, ïðîãðàììà äîëæíà èñêàòü áëèæàéøóþ JUMP END 00, ÷åì íåìíîãîïðîäëåâàåòñÿ âðåìÿ èñïîëíåíèÿ.Èñïîëíåíèå ïðîãðàììû ñ íåñêîëüêèìè êîìàíäàìè JUMP 00 è îäíîé JUMP END 00àíàëîãè÷íî èñïîëíåíèþ ïðîãðàììû ñ êîìàíäîé INTERLOCK.
Ñëåäóþùàÿ ñõåìààíàëîãè÷íà òîé, êîòîðàÿ èñïîëíÿëàñü ñ êîìàíäîé INTERLOCK , íî ïåðåïèñàíà ñêîìàíäàìè JUMP.Âûïîëíåíèå ïðîãðàììû áóäåò îòëè÷àòüñÿ, (íàïðèìåð, â ïðåäûäóùåé ñáðàñûâàëèñüíåêîòîðûå ñåêöèè ïðîãðàììû , à ïåðåõîäû íå âëèÿþò íà ñîñòîÿíèå áèòîâ ìåæäó JUMP èJUMP END).00000JMP(04) 0000001Èíñòðóêöèÿ 100002JMP(04) 000000300004Èíñòðóêöèÿ 200005Èíñòðóêöèÿ 300006Èíñòðóêöèÿ 4JME(05) 00ÀäðåñÈíñòðóêöèÿÎïåðàíä00000LD0000000001JMP(04)0000002LD0000100003Èíñòðóêöèÿ100004LD00002- 190 -4.4 Óïðàâëåíèå ñîñòîÿíèåì áèòîâÀäðåñÈíñòðóêöèÿÎïåðàíä00005JMP(04)0000006LD0000300007AND NOT0000400008Èíñòðóêöèÿ200009LD00010Èíñòðóêöèÿ300011LD00012Èíñòðóêöèÿ400013JME(05)0000500006004.4 Óïðàâëåíèå4.4ñîñòîÿíèåì áèòîâÅñòü 7 áàçîâûõ êîìàíä, èñïîëüçóåìûõ äëÿ óïðàâëåíèÿ ñîñòîÿíèåì îòäåëüíîãî áèòà.
ÝòîOUTPUT, OUTPUT NOT, SET, RESET, DIFFERENTIATE UP, DIFFERENTIATE DOWN èKEEP. Âñå ýòè êîìàíäû ñòàâÿòñÿ ñàìûìè ïîñëåäíèìè â êîìàíäíîé ñòðîêå è òðåáóþòáèòîâîãî àäðåñà â êà÷åñòâå îïåðàíäà. Õîòÿ ïîäðîáíîñòè ïðèâåäåíû â ãë. 5, äàííûåêîìàíäû (çà èñêëþ÷åíèåì OUTPUT è OUTPUT NOT, êîòîðûå óæå îïèñàíû) îïèñàíûçäåñü èç-çà èõ âàæíîñòè â áîëüøèíñòâå ïðîãðàìì. Õîòÿ äàííûå êîìàíäû ñëóæàò äëÿïåðåêëþ÷åíèÿ â 0 èëè 1 âûõîäíûå áèòû îáëàñòè IR (ò.å. âûäàòü èëè óáðàòü âûõîäíîéñèãíàë ñ âíåøíåãî óñòðîéñòâà), èõ òàêæå ìîæíî èñïîëüçîâàòü äëÿ óïðàâëåíèåìñîñòîÿíèåì äðóãèõ áèòîâ â îáëàñòè IR èëè â äðóãèõ îáëàñòÿõ.4.4.14.4.1 Óñòàíîâèòüâ 1 (SET) è Ñáðîñèòü â 0 (RESET)Êîìàíäû SET è RESET î÷åíü ïîõîæè íà êîìàíäû OUTPUT è OUTPUT NOT çàèñêëþ÷åíèåì òîãî, ÷òî îíè èçìåíÿþò ñîñòîÿíèå áèòîâûõ îïåðàíäîâ òîëüêî ïðè óñëîâèÿõèñïîëíåíèÿ = 1. Äàííûå êîìàíäû íå âëèÿþò íà ñîñòîÿíèå îïåðàíäîâ, åñëè èõ óñëîâèÿèñïîëíåíèÿ = 0.SET âêëþ÷èò îïåðàíä â 1 ïðè óñëîâèè èñïîëíåíèÿ = 1, íî â îòëè÷èå îò êîìàíäû OUTPUTSET íå âûêëþ÷èò åãî â ñîñòîÿíèå 0 ïðè óñëîâèè èñïîëíåíèÿ = 0RESET âûêëþ÷èò áèòîâûé îïåðàíä â 0 ïðè óñëîâèè èñïîëíåíèÿ = 1, íî â îòëè÷èå îòêîìàíäû OUTPUT RESET íå âêëþ÷èò åãî â ñîñòîÿíèå 1, êîãäà óñëîâèå èñïîëíåíèÿ = 0. ñëåäóþùåì ïðèìåðå IR 10000 áóäåò = 1 ïðè IR 00100 = 1 è îñòàíåòñÿ = 1, ïîêà IR00101 íå ñòàíåò =1, íåñìîòðÿ íà ñîñòîÿíèå IR 00100.
Êîãäà IR 00101 ñòàíåò = 1, RESETñáðîñèò IR 10000 â 0.00100SET 1000000101RSET 10000ÀäðåñÈíñòðóêöèÿÎïåðàíä00000LD0010000001SET1000000002LD0010100003RSET100004.4.2 Âêëþ÷èòü4.4.2íà 1 öèêë (DIFFERENTIATE UP è DIFFERENTIATE DOWN)Êîìàíäû DIFFERENTIATE UP (âêëþ÷èòü íà öèêë ïðè óñëîâèè 0/1) è DIFFERENTIATEDOWN (âêëþ÷èòü íà öèêë ïðè óñëîâèè 1/0) ñëóæàò äëÿ âêëþ÷åíèÿ áèòîâîãî îïåðàíäà â 1íà 1 öèêë. Êîìàíäà DIFFERENTIATE UP âêëþ÷àåò îïåðàíä â ñîñòîÿíèå 1 ïîñëå òîãî, êàê- 191 -4.4 Óïðàâëåíèå ñîñòîÿíèåì áèòîâóñëîâèå èñïîëíåíèÿ èçìåíèëñÿ ñ 0 íà 1; Êîìàíäà DIFFERENTIATE DOWN âêëþ÷àåòáèòîâûé îïåðàíä â ñîñòîÿíèå 1 ïîñëå òîãî, êàê óñëîâèå èñïîëíåíèÿ èçìåíèòñÿ ñ 1 íà 0;Îáå ýòèõ êîìàíäû òðåáóþò òîëüêî îäíîé ñòðîêè â ìíåìîêîäå.00000DIFU(13) 01000ÀäðåñÈíñòðóêöèÿÎïåðàíä00000LD0000000001DIFU(13)0100000001DIFD(14) 01001ÀäðåñÈíñòðóêöèÿ00000LDÎïåðàíä0000100001DIFU(14)01001Çäåñü, IR 01000 áóäåò âêëþ÷åí â 1 íà 1 öèêë ïîñëå âêëþ÷åíèÿ IR 00000 â ñîñòîÿíèå 1.
Íàñëåäóþùåì öèêëå ïîñëå âûïîëíåíèÿ DIFU (13) IR 01000 áóäåò âûêëþ÷åíî â 0íåçàâèñèìî îò ñîñòîÿíèÿ IR 00000. Êîìàíäîé DIFFERENTIATE DOWN IR 01001 áóäåòâêëþ÷åí â 1 íà 1 öèêë ïîñëå âêëþ÷åíèÿ IR 00001 â ñîñòîÿíèå 0 (äî òîãî âðåìåíè IR01001 áóäåò = 0), è áóäåò âûêëþ÷åí â 0 ïîñëå âûïîëíåíèÿ DIFD (14).4.4.34.4.3 Ñîõðàíèòü(KEEP)Êîìàíäà KEEP ñëóæèò äëÿ ñîõðàíåíèÿ ñîñòîÿíèÿ áèòîâîãî îïåðàíäà è òðåáóåò äâóõâõîäîâ óñëîâèé èñïîëíåíèÿ. Ê êîìàíäå KEEP ïðîâîäÿòñÿ äâå êîìàíäíûå ëèíèè. Êîãäàóñëîâèå èñïîëíåíèå íà ïåðâîé ëèíèè = 1, áèòîâûé îïåðàíä ñòàíîâèòñÿ = 1.
. Êîãäàóñëîâèå èñïîëíåíèÿ íà âòîðîé ëèíèè = 1, áèòîâûé îïåðàíä ñòàíîâèòñÿ = 0. Áèòîâûéîïåðàíä êîìàíäû KEEP áóäåò ñîõðàíÿòü ñîñòîÿíèå 0 èëè 1 äàæå åñëè îí íàõîäèòñÿ íàñåêöèè ñõåìû ñ êîìàíäîé INTERLOCK. ñëåäóþùåì ïðèìåðå HR 0000 áóäåò âêëþ÷åí â 1 êîãäà IR 00002 = 1 è IR 00003 = 0. HR0000 îñòàíåòñÿ â ñîñòîÿíèè 1 äî òåõ ïîð, êîãäà ëèáî IR 00004 ëèáî IR 00005 âêëþ÷àòñÿ â1. Êàê ó âñåõ êîìàíä, òðåáóþùèõ áîëåå îäíîé êîìàíäíîé ñòðîêè, êîìàíäíûå ñòðîêèêîäèðóþòñÿ ïåðåä êîìàíäîé, êîòîðîé îíè óïðàâëÿþò.0000200003SÂõîä óñòàíîâêè00004HR 0000RÂõîä ñáðîñà00005ÀäðåñÈíñòðóêöèÿ00000LDÎïåðàíä0000200001AND NOT0000300002LD0000400003OR0000500004KEEP(11)HRKEEP00004.4.4- 192 -4.5 Ðàáî÷èå áèòû (âíóòðåííèå ðåëå)4.4.4 Áèòû ñàìîïîääåðæêèÕîòÿ êîìàíäó KEEP ìîæíî èñïîëüçîâàòü äëÿ ñîçäàíèÿ áèòîâ ñàìîïîääåðæêè, èíîãäàíåîáõîäèìî ñîçäàòü òàêèå áèòû äðóãèì îáðàçîì, ÷òîáû èõ ìîæíî áûëî âûêëþ÷èòü ïðèðàáîòå ñ êîìàíäîé INTERLOCK.Äëÿ ñîçäàíèÿ áèòîâ ñàìîïîääåðæêè ñëóæèò áèòîâûé îïåðàíä êîìàíäû OUTPUT, êîòîðûéñàì ÿâëÿåòñÿ óñëîâèåì èñïîëíåíèÿ äëÿ òîé æå OUTPUT (ïîäêëþ÷åí ïàðàëëåëüíî),÷òîáû áèòîâûé îïåðàíä êîìàíäû OUTPUT îñòàâàëñÿ â ñîñòîÿíèè 1 èëè 0 äî òåõ ïîð,ïîêà íå ïðîèçîéäåò ïåðåêëþ÷åíèå äðóãèõ áèòîâ.
Êàê ìèíèìóì åùå îäíî óñëîâèå äîëæíîèñïîëüçîâàòüñÿ ïåðåä êîìàíäîé OUTPUT äëÿ ñáðîñà. Áåç ýòîãî óñëîâèÿ ñáðîñàóïðàâëÿòü Áèòîâûì îïåðàíäîì íåâîçìîæíî.Âûøåïðèâåäåííóþ ñõåìó ñ êîìàíäîé KEEP ìîæíî ïåðåïèñàòü, êàê ïîêàçàíî íà ñõåìåíèæå. Åäèíñòâåííàÿ ðàçíèöà â ñõåìàõ áóäåò òîëüêî ïðè ðàáîòå â ãðóïïå ñ êîìàíäîéINTERLOCK, êîãäà óñëîâèå êîìàíäû INTERLOCK = 1. Çäåñü, êàê è íà ñõåìå ñ êîìàíäîéKEEP, èñïîëüçóþòñÿ 2 áèòà ñáðîñà, ò.å. HR 0000 ìîæíî ïåðåêëþ÷èòü â 0 âêëþ÷åíèåìëèáî IR 00004, ëèáî IR 00005.000020000300004HR 0000HR 000000005ÀäðåñÈíñòðóêöèÿÎïåðàíä00000LD00001AND NOT00002OR00003AND NOT0000400004OR NOT0000500005OUT0000200003HRHR000000004.5 Ðàáî÷èå4.5áèòû (âíóòðåííèå ðåëå)×àñòî òðóäíî çàïðîãðàììèðîâàòü óñëîâèÿ òàê, ÷òîáû ñðàçó ïîëó÷èòü óñëîâèÿèñïîëíåíèÿ.
Ýòè òðóäíîñòè ëåãêî ïðåîäîëåâàþòñÿ òåì, ÷òî èñïîëüçóþòñÿ îïðåäåëåííûåáèòû äëÿ ïåðåêëþ÷åíèÿ äðóãèõ êîìàíä. Òàêîå ïðîãðàììèðîâàíèå äîñòèãàåòñÿ ñïîìîùüþ ðàáî÷èõ áèòîâ. Èíîãäà äëÿ ýòèõ öåëåé òðåáóþòñÿ öåëûå ñëîâà. Òàêèå ñëîâàíàçûâàþòñÿ ðàáî÷èìè ñëîâàìè.Ðàáî÷èå áèòû íå ïåðåäàþòñÿ ñ èëè íà ÏÊ. Îíè âûáðàíû ïðîãðàììèñòîì äëÿ îáëåã÷åíèÿïðîãðàììèðîâàíèÿ. Áèòû âõîäîâ/âûõîäîâ è äðóãèå áèòû ñïåöèàëüíîãî íàçíà÷åíèÿíåëüçÿ èñïîëüçîâàòü â êà÷åñòâå ðàáî÷èõ áèòîâ. Âñå áèòû â îáëàñòè IR, íå âûäåëåííûå âêà÷åñòâå áèòîâ âõîäîâ/âûõîäîâ, è íåêîòîðûå íåèñïîëüçóåìûå áèòû çîíû AR ìîæíîèñïîëüçîâàòü â êà÷åñòâå ðàáî÷èõ áèòîâ.