Үш ауыстырып-қосқышқа арналған XOR баспалдақ логикасы: дұрыс тақ паритетті дизайн
SLC 500 және Logix платформаларына арналған үш ауыстырып-қосқышты XOR сатылы логикасы бойынша түзетілген нұсқаулық: тақ паритет, ішкі биттерді кезеңдік пайда...
Бір шығысты басқаратын үш бекітілген ауыстырып-қосқышты көбіне ladder-логика жаттығуы ретінде ұсынады, бірақ нақты инженерлік сұрақ дәлірек қойылады: кірістердің тақ саны ақиқат болғанда шығыс қосылуы керек пе, әлде кез келген ауыстырып-қосқыштың іске қосылуы шығыстың алдыңғы күйін жай ғана кері өзгертуі керек пе? Бұл — екі түрлі талап. Біріншісі — комбинациялық XOR немесе тақ паритет. Екіншісіне күй жадысы мен фронтты анықтау қажет.
Үш бекітілген селекторлық ауыстырып-қосқыш үшін әдеттегі спецификация — тақ паритет: бір немесе үш тұйықталған ауыстырып-қосқыш кезінде шам жанады, ал нөл немесе екі ауыстырып-қосқыш кезінде өшеді. Контактілерді сызбас бұрын осы талапты жазып алу сырттай дұрыс көрінетін, бірақ қате Boolean функциясын орындайтын rung құрудың алдын алады.
Үш кірісті XOR кірістердің ақиқат мәндерінің саны тақ болғанда ақиқат болады; бұл сақталған toggle пәрменімен бірдей емес.
Сегіз кіріс күйінен бастаңыз
S1, S2 және S3 кірістері үшін күтілетін шығыс тізбегі екілік кіріс күйлері 000-ден 111-ге дейін өзгергенде 0, 1, 1, 0, 1, 0, 0, 1 болады. Қарапайым тілмен айтқанда, бір тұйықталған ауыстырып-қосқыш шығысты қосады, екі тұйықталған ауыстырып-қосқыш оны өшіреді, ал үшеуі де тұйықталғанда шығыс қайтадан қосылады.
Көп түсіндірме дәл осы соңғы күйде қателеседі. Үш кірісті XOR — тақ паритет функциясы, сондықтан 111 ақиқат нәтиже беруі керек. «Дәл бір кіріс ақиқат» күйін ғана танитын іске асыру XOR емес; ол әдейі үш ақиқат кіріс күйін алып тастайды. Керісінше, үш жұптық XOR өрнегін OR арқылы біріктіру басқа функция береді: ол кірістердің барлығы бірдей болмаған кезде ақиқат болады, яғни екі ақиқат кіріс күйін де қамтиды және талап етілетін ақиқат кестесіне сәйкес келмейді.
Іске қосу кезіндегі ең қауіпсіз тәжірибе — ақиқат кестесін қабылдау сынағы ретінде пайдалану. Бағдарламаны екі-үш ыңғайлы ауыстырып-қосқыш күйіне қарап бағаламаңыз.
Екі кірісті XOR кезеңдерін каскадтау
XOR ассоциативті болғандықтан, (S1 XOR S2) XOR S3 өрнегін қолдануға болады. SLC 500 бағдарламасында бір ішкі бит бірінші кезеңнің нәтижесін сақтай алады. Екінші rung сол битті S3 кірісімен біріктіреді. Осылайша әр rung шағын әрі тексеруге болатын міндет атқарады, ал онлайн күйді диагностикалау жеңілдейді.
Контактілер арқылы іске асырғанда, әр екі кірісті XOR кезеңі екі параллель тармақтан тұрады: бірінші тармақ A кірісін ақиқат, ал B кірісін жалған ретінде тексереді; екінші тармақ A кірісін жалған, ал B кірісін ақиқат ретінде тексереді. Екі тармақ бір катушкаға қосылады. Аралық бит пен үшінші кіріс үшін де осы үлгіні қайталаңыз.
Аралық бит екінші кезең оны S3 кірісімен біріктірмей тұрып, S1 XOR S2 нәтижесін көрсетеді.
Мекенжайлардың мысалдық жоспары
Әдеттегі RSLogix 500 оқу жобасында S1, S2 және S3 сәйкесінше I:1/0, I:1/1 және I:1/2 болуы мүмкін. Бірінші rung аралық нәтиже ретінде B3:0/0 битіне жазады, ал екінші rung шам пәрмені ретінде O:2/0 адресіне жазады. Бұл мекенжайлар тек мысал; нақты сәйкестікті орнатылған I/O конфигурациясы анықтауы керек.
Аралық мекенжайдың бір ғана жазушысы болуы керек. B3:0/0 адресін басқа жерде қайта пайдалану немесе бағдарламада кейінірек O:2/0 үшін тағы бір шығыс нұсқауын орналастыру сол скан кезінде дұрыс нәтижені қайта жазуы мүмкін. XOR үлгісін кінәламас бұрын екі мекенжайға да cross-reference тексеруін жасаңыз.
Сөз деңгейіндегі XOR автоматты түрде Boolean қысқартуы емес
SLC 500 нұсқаулар жиынтығында сөз операндтары арасында биттік exclusive OR орындайтын XOR нұсқауы бар. Rockwell Automation компаниясының SLC 500 Instruction Set Reference Manual құжаты қолдау көрсетілетін операндтар мен тағайындау орындарын сипаттайды. Бұл нұсқау маскалар мен жинақталған күй сөздері үшін пайдалы, бірақ бір паритет шешіміне қандай кіріс биттері қатысатынын анықтау қажеттігін жоймайды.
Үш дискретті кіріс үшін каскадталған контактілік логика техникалық қызмет көрсету персоналына әдетте түсініктірек. Бағдарлама көптеген күй биттерін бұрыннан жинақтап, оларды паритет нәтижесіне ашық түрде азайтатын болса, сөз деңгейіндегі іске асыруды негіздеуге болады, бірақ азайту қадамы бәрібір көрініп, тексерілуі керек.
Паритетті toggle функциясымен шатастырмаңыз
Бекітілген үшжақты жарықтандыру жүйесінде кез келген физикалық ауыстырып-қосқыштың қалпы өзгерген сайын шығыс өзгереді. Таза Boolean тұрғысынан шығысты кез келген сәтте үш ауыстырып-қосқыш қалпының паритеті арқылы көрсетуге болады. Сақталған күй қажет емес, өйткені күйдің өзін ауыстырып-қосқыш қалпы ұстап тұрады.
Моменттік батырмалар басқаша жұмыс істейді. Үш батырманың кез келгенін басқанда шам ауысуы керек болса, PLC көтерілу фронтын анықтап, жарамды әр басуда сақталатын пәрмен битін бір рет инверсиялауы керек. Үш моменттік кіріске XOR-ды тікелей қолдану сол скан кезінде қай батырмалардың басылып тұрғанын ғана көрсетеді; ол шамның алдыңғы күйін есте сақтамайды.
Нақты батырмаларда контакт тербелісі де болуы мүмкін. Сондықтан toggle жобасына кірісті кондициялау, one-shot, сақталатын битке иелік ету және нақты анықталған іске қосу күйі қажет. Скандау мен деректерді өңдеудің байланысты үлгілерін бір SLC таймерінің мәнін басқа таймерді орнатуға пайдалану жөніндегі нұсқаулықтан көруге болады; ол деректерді тасымалдау мен rung ретін неге ашық көрсету керегін түсіндіреді.
Логиканы сурет ретінде емес, функция ретінде іске қосып тексеріңіз
Алдымен екі кірісті аралық битті жеке тексеріңіз. Ол 01 және 10 күйлерінде ақиқат, ал 00 және 11 күйлерінде жалған болуы керек. Содан кейін соңғы шығысты үш кірістің барлық сегіз күйінде тексеріңіз. Байқалған күйді жазып алыңыз және тек жасыл rung белгісіне сүйенбеңіз, өйткені мәжбүрлеу, қайталанатын катушкалар және онлайн дисплейдің жаңаруы нақты шығысқа кім иелік ететінін жасыруы мүмкін.
Кейін қуат қосылғандағы әрекетті, бағдарлама режимдері арасындағы ауысуды, кірісті алмастыруды және өрістік тізбектің істен шығуына немесе ажыратылуына реакцияны тексеріңіз. XOR сәйкессіздікті анықтай алады, бірақ өзі қауіпсіздік диагностикасы болып табылмайды. Егер ауыстырып-қосқыштар қорғаныс функциясына қатысса, жобаға қауіпсіздік санатына жататын кірістер, сәйкессіздікті бақылау, ақауды анықтау және машинаға сәйкес тәуекелді бағалау қажет.
Ескі және қазіргі контроллерлерге арналған аппараттық құралдар мен көшіру нұсқаларын PLC және PAC жүйелері жинағынан қарауға болады, бірақ осы мысалды бейімдемес бұрын процессор отбасын, I/O кернеуін, мекенжайлауды және бағдарлама иелігін растау қажет.
Ішкі бит нұсқасын сүйемелдеу неге жеңіл
Бір кеңейтілген rung үш кірісті тақ паритетті тікелей көрсете алады, бірақ ол төрт параллель комбинацияны талап етеді және шарттар көбейген сайын тексеру қиындайды. Екі кірісті кезеңдерді каскадтау Boolean ниетін айқын етеді, диагностикалық бақылау нүктесін береді және RSLogix 500 мекенжайлары мен Logix Designer жүйесіндегі атаулы BOOL тегтері арасында ыңғайлы сәйкестік орнатады.
Редакциялық пікір: ең жақсы ladder шешімі — техникалық қызмет көрсету кезінде оның ақиқат кестесін, жады әрекетін және ақауға реакциясын түсіндіруге болатын шешім. Ішкі бит артық жады емес, егер ол келесі инженердің тақ паритетті, «дәл бір» логикасын және сақталған toggle функциясын бір нәрсе деп қате түсінуіне жол бермесе.
Жиі қойылатын сұрақтар
Үш ауыстырып-қосқыштың бәрі жабық болғанда шығыс қосулы болуы керек пе?
Иә, егер талап үш кірісті XOR немесе тақ паритет болса. Үш ақиқат кіріс — тақ сан, сондықтан шығыс ақиқат болады. Егер 111 күйі жалған болуы керек болса, қажетті функция — XOR емес, «дәл бір» функциясы.
SLC 500 XOR нұсқауы екі ladder кезеңінің орнын баса ала ма?
Ол сөз операндтарында биттік XOR орындайды. Ол жинақталған биттер шешімінің бөлігі бола алады, бірақ үш жеке кіріс битін орналастырып, оларды тағайындалған бит талап етілетін паритетті білдіретіндей азайту қажет. Шағын дискретті тізбек үшін екі контактілік кезең әдетте түсініктірек.
Аралық бит бір скандық кідіріс қоса ма?
Жоқ, егер аралық битті жазатын rung оны оқитын rung-нан бұрын сол routine және task ішінде орындалса. Екінші rung сол скан кезінде ертерек жазылған мәнді көреді. Бағдарлама ретін құжаттап, бақылауда ұстау керек.
Өрістік құрылғылар моменттік батырмалар болса, не өзгереді?
Моменттік батырмамен орындалатын toggle үшін фронтты анықтау және сақталған шығыс күйі қажет. Комбинациялық XOR шамның бұрын қосулы немесе өшірулі болғанын есте сақтай алмайды.
XOR қауіпсіздікке арналған дауыс беру тізбегіне жарай ма?
Өздігінен жарамайды. Қарапайым XOR тек Boolean күйлерді бағалайды. Қауіпсіздік қолданбаларына тексерілген қауіпсіздік архитектурасы, диагностикалық қамту, сәйкессіздік уақыты, тиісті аппараттық құрал және қолданылатын тәуекелді бағалауға сәйкестікті растау қажет.
Авторы: PLC ProTech редакциялық тобы