CPM1A_Руководство по программированию (W228-E1-4 R1.20) (986747), страница 32
Текст из файла (страница 32)
Ïåðâîå ñëîâî êàæäîãî àäðåñà çàäàåò êîìàíäó.Ëþáûå îïðåäåëèòåëè, èñïîëüçóåìûå êîìàíäîé, òàêæå ñîäåðæàòñÿ â ïåðâîì ñëîâå.Êðîìå òîãî, åñëè êîìàíäà òðåáóåò òîëüêî îäèí áèòîâûé îïåðàíä (áåç îïðåäåëèòåëÿ),áèòîâûé îïåðàíä òàêæå ïðîãðàììèðóåòñÿ â òîé æå ñòðîêå, ÷òî è êîìàíäà. Îñòàëüíûåñëîâà, òðåáóåìûå êîìàíäîé, ñîäåðæàò îïåðàíäû, êîòîðûå îïðåäåëÿþò èñïîëüçóåìûåäàííûå. Ïðè ïðåîáðàçîâàíèè â ìíåìîêîä âñå êîìàíäû, êðîìå ÐÊÑ, çàïèñûâàþòñÿ âòàêîé æå ôîðìå, îäíî ñëîâî â ñòðîêå, êàê îíè ïîÿâëÿþòñÿ â ñèìâîëàõ ÐÊÑ.
Ïðèìåðìíåìîêîäîâ ïðèâåäåí â òàáëèöå. Èñïîëüçóåìûå êîìàíäû îïèñàíû äàëåå â èíñòðóêöèè.- 170 -4.3 Îñíîâíûå ðåëåéíî-êîíòàêòíûå ñõåìûÀäðåñÈíñòðóêöèÿÎïåðàíä00000LDHR00001AND0000100002OR0000200003LD NOT0010000004AND0010100005AND LD0010200006MOV (21)0001000DM000070000CMP (20)DM0000HR0000008LD2550500009OUT1000000010MOV (21)DM0000DM050000011DIFU (13)0050200012AND0000500013OUT10003Ñòîëáöû àäðåñ è êîìàíäà òàáëèöû ìíåìîêîäîâ çàïîëíåí òîëüêî äëÿ ñëîâ êîìàíä. Äëÿâñåõ äðóãèõ ñòðîê äâà ëåâûå ñòîëáöà îñòàþòñÿ íåçàïîëíåííûìè. Åñëè êîìàíäà íåòðåáóåò îïðåäåëèòåëÿ èëè áèòîâîãî îïåðàíäà, ñòîëáåö îïåðàíä îñòàåòñÿ ïóñòûì äëÿïåðâîé ñòðîêè.
Ðåêîìåíäóåì çà÷åðêèâàòü âñå íåçàíÿòûå ÿ÷åéêè ñòîëáöîâ (äëÿ âñåõ ñëîâêîìàíä, íå òðåáóþùèõ äàííûõ), ÷òîáû áûñòðî ïðîñìîòðåòü ñòîëáåö äëÿ ïðîâåðêè, íåîïóùåí ëè êàêîé-ëèáî àäðåñ.Ïðè ïðîãðàììèðîâàíèè àäðåñà èíäèêàòèðóþòñÿ àâòîìàòè÷åñêè è íåò íåîáõîäèìîñòèââîäèòü àäðåñ, åñëè òîëüêî ïî êàêîé-ëèáî ïðè÷èíå íåò íåîáõîäèìîñòè ðàçìåñòèòüêîìàíäó â êàêîì-ëèáî äðóãîì ìåñòå.
Ïðè ïðåîáðàçîâàíèè â ìíåìîêîä ëó÷øå âñåãîíà÷èíàòü ñ àäðåñà ïàìÿòè ïðîãðàìì 00000, åñëè íåò îñîáûõ ïðè÷èí ðàçìåùàòüïðîãðàììó â äðóãîì ìåñòå.4.3.34.3.3 Êîìàíäû,ðàñïîëîæåííûå íà ðåëåéíî-êîíòàêòíîé ñõåìå (ÐÊÑ)Êîìàíäû ÐÊÑ - òàêèå êîìàíäû, êîòîðûå ñîîòâåòñòâóþò óñëîâèÿì íà ÐÊÑ. Êîìàíäû ÐÊÑ,ëèáî íåçàâèñèìî, ëèáî â êîìáèíàöèè ñ áëîêîâûìè êîìàíäàìè, îïèñàííûìè äàëåå,îáðàçóþò óñëîâèÿ èñïîëíåíèÿ, â çàâèñèìîñòè îò êîòîðûõ èñïîëíÿþòñÿ âñå äðóãèåêîìàíäû.LOAD è LOAD NOTÏåðâûì óñëîâèåì, êîòîðûì íà÷èíàåòñÿ ëþáîé ëîãè÷åñêèé áëîê ÐÊÑ, ÿâëÿþòñÿ êîìàíäûLOAD è LOAD NOT.
Êàæäàÿ êîìàíäà òðåáóåò îäíîé ñòðîêè â ìíåìîêîäå.  ñëåäóþùåìïðèìåðå “Êîìàíäà” ìîæåò áûòü ëþáîé “ïðàâîñòîðîííåé” êîìàíäîé, , êîòîðûå îïèñàíûäàëåå â äàííîé èíñòðóêöèè.00000Èíñòðóêöèÿ LOAD00000Èíñòðóêöèÿ LOAD NOT- 171 -4.3 Îñíîâíûå ðåëåéíî-êîíòàêòíûå ñõåìûÀäðåñÈíñòðóêöèÿ00000LD00001Èíñòðóêöèÿ00002LD NOT00003ÈíñòðóêöèÿÎïåðàíä0000000000Êîãäà äàííîå óñëîâèå ÿâëÿåòñÿ åäèíñòâåííûì â êîìàíäíîé ñòðîêå, óñëîâèå èñïîëíåíèÿ“ïðàâîñòîðîííåé” êîìàíäû = 1 ïðè äàííîì óñëîâèè = 1. Äëÿ êîìàíäû LOAD (íîðìàëüíîîòêðûòîãî óñëîâèÿ) óñëîâèå èñïîëíåíèÿ = 1 ïðè IR 00000 = 1. Äëÿ êîìàíäû LOAD NOT(íîðìàëüíî çàêðûòîãî óñëîâèÿ) óñëîâèå èñïîëíåíèÿ = 1 ïðè IR 00000 = 0.AND è AND NOTÊîãäà äâà èëè áîëåå óñëîâèé ðàñïîëîæåíû ïîñëåäîâàòåëüíî â îäíîé êîìàíäíîé ëèíèè,ïåðâîå óñëîâèå ñîîòâåòñòâóåò êîìàíäå LOAD èëè LOAD NOT. Îñòàëüíûå óñëîâèÿêîìàíäàì AND è AND NOT.
 ñëåäóþùåì ïðèìåðå ïîêàçàíû òðè óñëîâèÿ,ðàñïîëîæåííûå ïîñëåäîâàòåëüíî: LOAD, AND è AND NOT . Êàæäîå èç ýòèõ óñëîâèéòðåáóåò îäíîé ñòðîêè â ìíåìîêîäå.0000000100LR 0000ÈíñòðóêöèÿÀäðåñÈíñòðóêöèÿÎïåðàíä00000LD0000000001AND NOT0010000002AND00003ÈíñòðóêöèÿLR0000Óñëîâèå èñïîëíåíèÿ êîìàíäû áóäåò = 1 òîëüêî êîãäà âñå òðè óñëîâèÿ = 1, ò.å. IR 0000 =1, IR 00100 = 0, LR 0000 = 1.Ïîñëåäîâàòåëüíî ðàñïîëîæåííûå êîìàíäû AND ìîæíî ðàññìàòðèâàòü èíäèâèäóàëüíî,êàæäàÿ êîìàíäà âûïîëíÿåò ËÎÃÈ×ÅÑÊÎÅ È íàä ñâîèì óñëîâèåì èñïîëíåíèÿ (ò.å.ðåçóëüòàò âñåõ óñëîâèé äî äàííîé òî÷êè) è ñîñòîÿíèåì áèòîâîãî îïåðàíäà ñàìîéêîìàíäû AND. Åñëè îáà ýòèõ óñëîâèÿ = 1, òî óñëîâèå èñïîëíåíèÿ äëÿ ñëåäóþùåéêîìàíäû áóäåò = 1.
Åñëè õîòÿ áû îäíî èç ýòèõ óñëîâèé = 0, òî óñëîâèå èñïîëíåíèåñëåäóþùåé êîìàíäû áóäåò = 0. Óñëîâèå èñïîëíåíèÿ ïåðâîé êîìàíäû AND ïðèïîñëåäîâàòåëüíîì ñîåäèíåíèè ÿâëÿåòñÿ ïåðâûì óñëîâèåì êîìàíäíîé ëèíèè.Êàæäàÿ êîìàíäà AND NOT â ïîñëåäîâàòåëüíîì ñîåäèíåíèè âûïîëíÿåò ËÎÃÈ×ÅÑÊÎÅ Èíàä ñâîèì óñëîâèåì èñïîëíåíèÿ (ò.å. ðåçóëüòàòîì âñåõ óñëîâèé äî äàííîé òî÷êè) èèíâåðñèåé ñâîåãî áèòîâîãî îïåðàíäà.OR è OR NOTÊîãäà äâà èëè áîëåå óñëîâèé ðàñïîëîæåíû íà ðàçíûõ êîìàíäíûõ ëèíèÿõ, èäóùèõïàðàëëåëüíî, è çàòåì ñîåäèíÿþùèõñÿ, ïåðâîå óñëîâèå ñîîòâåòñòâóåò êîìàíäå LOAD èëèLOAD NOT.
Îñòàëüíûå óñëîâèÿ ñîîòâåòñòâóþò êîìàíäàì OR è OR NOT.  ïðèìåðåïîêàçàíû òðè óñëîâèÿ, ðàñïîëîæåííûå ïî ïîðÿäêó ñâåðõó: LOAD NOT, OR NOT è OR.Êàæäîå èç ýòèõ êîìàíä òàêæå òðåáóåò îäíó ñòðîêó â ìíåìîêîäå.00000Èíñòðóêöèÿ00100LR 0000- 172 -4.3 Îñíîâíûå ðåëåéíî-êîíòàêòíûå ñõåìûÀäðåñÈíñòðóêöèÿÎïåðàíä00000LD NOT0000000001OR NOT0010000002OR00003ÈíñòðóêöèÿLR0000Óñëîâèå èñïîëíåíèÿ äëÿ “ïðàâîñòîðîííåé” êîìàíäû áóäåò = 1, êîãäà õîòÿ áû îäíî èçóñëîâèé = 1, ò.å. êîãäà IR 0000 = 0, IR 00100 = 0, èëè LR 0000 = 1.Êîìàíäû OR è OR NOT ìîæíî ðàññìàòðèâàòü èíäèâèäóàëüíî, êàæäàÿ êîìàíäàâûïîëíÿåò ËÎÃÈ×ÅÑÊÎÅ ÈËÈ íàä ñâîèì óñëîâèåì èñïîëíåíèÿ è ñîñòîÿíèåì áèòîâîãîîïåðàíäà ñàìîé êîìàíäû OR. Åñëè õîòÿ áû îäíî èç ýòèõ óñëîâèé = 1, òî ðåçóëüòàòèñïîëíåíèÿ ñëåäóþùåé êîìàíäû áóäåò = 1.Ñî÷åòàíèå êîìàíä AND è ORÊîãäà êîìàíäû AND è OR îáúåäèíÿþòñÿ â ñëîæíûå ñõåìû, èõ èíîãäà ìîæíîðàññìàòðèâàòü èíäèâèäóàëüíî, êàæäàÿ êîìàíäà âûïîëíÿåò ëîãè÷åñêóþ îïåðàöèþ ñïðåäûäóùèì óñëîâèåì è ñîñòîÿíèåì áèòîâîãî îïåðàíäà.
Äàëåå ïðèâåäåí ïðèìåð òàêîéñèòóàöèè. Èçó÷èòå äàííûé ïðèìåð, ïîêà íå ïîéìåòå, ÷òî ìíåìîêîä ñëåäóåò òîé æåëîãèêå, ÷òî è ÐÊÑ.00000000010000200003Èíñòðóêöèÿ00004ÀäðåñÈíñòðóêöèÿÎïåðàíä00000LD0000000001AND0000100002OR0020000003AND0000200004AND NOT0000300005Èíñòðóêöèÿ äàííîì ïðèìåðå âûïîëíÿåòñÿ ËÎÃÈ×ÅÑÊÎÅ È ìåæäó ñîñòîÿíèåì IR 0000 è IR 00001äëÿ îïðåäåëåíèÿ óñëîâèÿ èñïîëíåíèÿ äëÿ ÈËÈ ñ ñîñòîÿíèåì IR 0200.
Ðåçóëüòàò äàííîéîïåðàöèè îïðåäåëèò óñëîâèå èñïîëíåíèÿ äëÿ È ñ ñîñòîÿíèåì IR 00002, êîòîðîå, â ñâîþî÷åðåäü, îïðåäåëèò óñëîâèå èñïîëíåíèÿ äëÿ È ñ èíâåðñèåé (AND NOT) ñ ñîñòîÿíèåì IR00003.Îäíàêî â áîëåå ñëîæíûõ ÐÊÑ íåîáõîäèìî ðàññìàòðèâàòü ëîãè÷åñêèå áëîêè ïåðåäîïðåäåëåíèåì óñëîâèé èñïîëíåíèÿ äëÿ êîíå÷íîé êîìàíäû, è èìåííî çäåñü èñïîëüçóþòñÿêîìàíäû AND LOAD è OR LOAD.
Ïåðåä ðàññìîòðåíèåì áîëåå ñëîæíûõ ñõåì, ìûðàññìîòðèì êîìàíäû, êîòîðûå òðåáóþòñÿ äëÿ çàâåðøåíèÿ ïðîñòåéøåé ïðîãðàììû”ââîä/âûâîä”.4.3.44.3.4 Âûâîäè Âûâîä èíâåðñèè (OUTPUT è OUTPUT NOT)Ïðîñòåéøèé ñïîñîá âûäàòü ðåçóëüòàò êîìáèíàöèé óñëîâèé èñïîëíåíèÿ - ïðÿìàÿ âûäà÷àêîìàíäàìè OUTPUT è OUTPUT NOT. Äàííûå êîìàíäû ñëóæàò äëÿ óïðàâëåíèÿñîñòîÿíèåì çàäàííîãî áèòîâîãî îïåðàíäà â ñîîòâåòñòâèè ñî ñâîèì óñëîâèåìèñïîëíåíèÿ. Êîìàíäîé OUTPUT áèòîâîìó îïåðàíäó áóäåò ïðèñâàèâàòüñÿ çíà÷åíèå 1,ïîêà óñëîâèå èñïîëíåíèÿ = 1 è 0, ïîêà óñëîâèå èñïîëíåíèÿ = 0.
Êîìàíäîé OUTPUT NOTáèòîâîìó îïåðàíäó áóäåò ïðèñâàèâàòüñÿ çíà÷åíèå 1, ïîêà óñëîâèå èñïîëíåíèÿ = 0 è 0,ïîêà óñëîâèå èñïîëíåíèÿ = 1. Ýòî ïðîèñõîäèò â ñîîòâåòñòâèè ñ ñõåìîé.  ìíåìîêîäåêàæäàÿ èç ýòèõ êîìàíä òðåáóåò îäíîé ñòðîêè.- 173 -4.3 Îñíîâíûå ðåëåéíî-êîíòàêòíûå ñõåìû00000100000000110001ÀäðåñÈíñòðóêöèÿÎïåðàíä00000LD0000000001OUT1000000002LD0000100003OUT NOT10001 äàííûõ ïðèìåðàõ IR 10000 áóäåò â ïîëîæåíèè 1, ïîêà IR 00000 = 1, à IR 10001 áóäåò =0, ïîêà IR 00001 = 1.  äàííîì ïðèìåðå IR 00000 è IR 00001 - âõîäíûå áèòû, à IR 10000 èIR 100001 - âûõîäíûå áèòû, ïðèïèñàííûå ê áëîêàì ÏÊ. Ò.å.
ñèãíàëû, ïðèõîäÿùèå ñâõîäîâ, ïðèïèñàííûõ ê IR 00000 è IR 00001, óïðàâëÿþò âûõîäàìè, ïðèïèñàííûìè ê IR10000 è IR 100001.Âðåìÿ, êîòîðîå áèòû íàõîäÿòñÿ â ñîñòîÿíèè 1 èëè 0, ìîæíî çàäàâàòü, êîìáèíèðóÿêîìàíäû OUTPUT è OUTPUT NOT ñ êîìàíäàìè òàéìåðà.Ïîäðîáíîñòè ñì. 5-15-1.4.3.54.3.5 ÊîìàíäàENDÏîñëåäíÿÿ êîìàíäà, íåîáõîäèìàÿ äëÿ çàâåðøåíèÿ ïðîñòåéøåé ïðîãðàììû -êîìàíäàEND.
Êîãäà ÖÓ ñêàíèðóåò ïðîãðàììó, îíî âûïîëíÿåò âñå êîìàíäû äî ïåðâîé êîìàíäûEND, âîçâðàùàåòñÿ â íà÷àëî ïðîãðàììû è âûïîëíÿåò åå ñíîâà. Õîòÿ êîìàíäó ENDìîæíî ïîìåñòèòü â ëþáóþ òî÷êó ïðîãðàììû, ÷òî èíîãäà äåëàåòñÿ ïðè îòëàäêå, êîìàíäûïîñëå ïåðâîé âñòðå÷åííîé êîìàíäû END íå áóäóò èñïîëíÿòüñÿ, ïîêà íå áóäåò óäàëåíàEND. ×èñëî, ñëåäóþùåå çà êîìàíäîé END â ìíåìîêîäå - ôóíêöèîíàëüíûé êîä, êîòîðûéèñïîëüçóåòñÿ äëÿ ââîäà áîëüøèíñòâà êîìàíä ÏÊ. Îá ýòîì áóäóò îáúÿñíåíèÿ äàëåå.Êîìàíäà END íå òðåáóåò îïåðàíäîâ è íà êîìàíäíîé ëèíèè END íåëüçÿ ñòàâèòü íèêàêóþêîìàíäó.0000000001ÈíñòðóêöèÿEND(01)ÀäðåñÈíñòðóêöèÿ00500LDÎïåðàíä0000000501AND NOT0000100502Èíñòðóêöèÿ00503END(01)-Åñëè â ïðîãðàììå íåò êîìàíäû END, ïðîãðàììà âîîáùå íå áóäåò âûïîëíÿòüñÿ.Òåïåðü ó Âàñ åñòü âñå êîìàíäû, òðåáóþùèåñÿ äëÿ íàïèñàíèÿ ïðîñòåéøåé ïðîãðàììûââîäà/âûâîäà.
Ïåðåä òåì, êàê îêîí÷èòü ñ îñíîâàìè ÐÊÑ è ïåðåéòè ê ââîäó ïðîãðàìì âÏÊ, äàâàéòå ðàññìîòðèì êîìàíäû ëîãè÷åñêîãî áëîêà (AND LOAD è OR LOAD), êîòîðûåèíîãäà íåîáõîäèìû äàæå â ïðîñòûõ ÐÊÑ.4.3.6 Êîìàíäû4.3.6ëîãè÷åñêîãî áëîêàÊîìàíäû ëîãè÷åñêîãî áëîêà íå ñîîòâåòñòâóþò êîíêðåòíûì óñëîâèÿì íà ÐÊÑ, àîïèñûâàþò îòíîøåíèÿ ìåæäó áëîêàìè. Êîìàíäà AND LOAD ïðîèçâîäèò îïåðàöèþ- 174 -4.3 Îñíîâíûå ðåëåéíî-êîíòàêòíûå ñõåìûËÎÃÈ×ÅÑÊÎÅ È íàä óñëîâèÿìè èñïîëíåíèÿ, ïðîèçâåäåííûìè äâóìÿ ëîãè÷åñêèìèáëîêàìè. Êîìàíäà OR LOAD ïðîèçâîäèò îïåðàöèþ ËÎÃÈ×ÅÑÊÎÅ ÈËÈ íàä óñëîâèÿìèèñïîëíåíèÿ, ïðîèçâåäåííûìè äâóìÿ ëîãè÷åñêèìè áëîêàìè.AND LOADÕîòÿ äàííàÿ ÐÊÑ ïðîñòà ïî ôîðìå, îíà òðåáóåò êîìàíäû AND LOAD.0000000002Èíñòðóêöèÿ0000100003ÀäðåñÈíñòðóêöèÿ00000LDÎïåðàíä0000000001OR0000100002LD0000200003OR NOT0000300004AND LD-Äâà ëîãè÷åñêèõ áëîêà îòìå÷åíû ïóíêòèðîì.
Èçó÷åíèå äàííîãî ïðèìåðà ïîêàçûâàåò, ÷òîóñëîâèå èñïîëíåíèå êîìàíäû áóäåò = 1,• êîãäà êàêîå-ëèáî èç óñëîâèé ëåâîãî áëîêà = 1 (ò.å. ëèáî IR 00000, ëèáî IR 00001 = 1) è• êîãäà êàêîå-ëèáî èç óñëîâèé ïðàâîãî áëîêà = 0 (ò.å. ëèáî IR 00002 = 1, ëèáî IR 00003 =0).Âûøåïðèâåäåííóþ ÐÊÑ íåëüçÿ ïðåîáðàçîâàòü â ìíåìîêîä, èñïîëüçóÿ òîëüêî êîìàíäûAND è OR. Åñëè ïûòàòüñÿ ïðîèçâåñòè ËÎÃÈ×ÅÑÊÎÅ È ìåæäó IR 00002 è ðåçóëüòàòîìÈËÈ ìåæäó IR 00000 è IR 00001, òåðÿåòñÿ ÈËÈ ÍÅ ìåæäó IR 00002 è IR 00003 è ÈËÈ ÍÅïðåêðàùàåòñÿ, áóäó÷è ÈËÈ ÍÅ ìåæäó IR 00003 è ðåçóëüòàòîì È ìåæäó IR 00002 èïåðâûì ÈËÈ.