![]() |
Звоните! (926)274-88-54 Бесплатная доставка. Бесплатная сборка. |
Ассортимент тканей График работы: Ежедневно. С 8-00 до 20-00. Почта: soft_hous@mail.ru |
![]() ![]() ![]() |
Читальный зал --> Программные средства foundation Табл. 9.9. Программа для светофора в г. Саннивейл aoddls stralet.1. title State Machine for Suimyvale, OA, Traffic Lights SVALETL devica P16V8F.; Input and output pins CLOCK, iOE HSCAR, EWCAR, TMSKORT, Th5L0 G QO, QI, Q2, TMR£3ET L pm 1, 11; pm 2, 3, 8, 9; pin 17, 16, lb, 14 istype ra State variables States Definitions LSTATE [Q2,Q1,Q03 -MSGO [ C, 0, 03 NSWAT.T [ C. 0, 1] WSWAIT2 = [0, i, 1] KSDELAY = Г 0, 1, 0] EWGO - [ 1, 1, 0] EWWAIT [ 1, 1, 11 HWWAIT2 = [ 1, 0, 1] EWDSLAY - [ 1, 0, 03 stats.d.1agraa LSTATE state NSGO: IF (!T.4SH0RT) ТШ4 ELSE IF (TMLOKG) THEN .iSWAIT ELSE IF (E CAR ж tNSCA.4) THEK NSGO ELSE IF (EWCAR к NSCAH) THEN .>JSWAIT ELSE IF (iNSCAR) THEN .NSGO ELSE KSWAIT; state KSSAIT: GOTO SSWAir2; state HSWAIT2: GOTO MSDELAY; state NSDELAY: GOTO EWCO; state EWGO: East-west greaa; states defined analogous to N-S IF (ITMSHORT) THEN EWGO ELSE IF (T.4L0NG) THEK EWWAIT ELSE IF (NSCAR & EWCAR) THEN EWGO ELSE IF (NSCAR к EWCAR) THEK EtfWAlT ELSE IF (! EWCAR) THEK EWGO ELSE EWAIT; State frrfWAIT: GOTO EWAIT2; state EWWAIT2: GOTO EWDELAY; state EWDELAY; GOTO HSQO; North-south green KiniEua green is Ь seconds. Haxiitua green is 5 Einuteg. If E-W cax is waiting and no one is coding S-S, make E-W wait! Cars coajing in both directions Thrash! Hobody coEing Я-S and not tilted oaf? Keep N-S green. Else let E-W have it. Yellow light is oa for tvo tiroes for saXety, (Drivers go 70 mph to catch this turkey green!) Red ia both directionss for added safety. equations LSTATE.CLK !THRESET L end syaletl CLOCK; T. RESET..L.CLK = (LSTATE == KSWAIT2) * (LSTATE Е УА1Т2); С10<Ж; Reset the timer when going into state NSDELAY or state EWDELAY. Профаммой на языке ABEL, приведенной в табл. 9.9, реализуется типичный, одобренный местными властями алгоритм управления светофорами. Этот алгоритм обеспечивает два часто наблюдаемых режима работы нашего проворного светофора. Ночью, при малой интенсивности движения, он удерживает автомобиль в состоянии ожидания до пяти минут, если только не появляется автомобиль на поперечной улице; в этом случае светофор переключается так, чтобы остановить движение в поперечном направлении и пропустить ожидающий автомобиль. FUSHCLK OVERRIDE NSCAR EWCAR CLOCK {1Гц) тяймеп >CLK RESTART SHORT LONG TMSHORT TMLONG GAL16V8R TMRESET L >CLK 11 12 13 14 15 16 17 18 OE SVALETL GAL16V8C
12 13 M 15 16 17 18 19 110 01 102 (03 104 105 I06 107 08 NSRED NSYELLOW NSGREEN EWRED EWYELLOW EWGREEN SVALETLO Рис. 9.6. Контроллер светофора в г Саннивейл на двух ПЛУ (Датчик раннего оповещения установлен достаточно далеко, чтобы сигналы светофора успели измениться до того, как приближающийся автомобиль достигнет перекрестка.) Днем, при напряженном движении всегда имеются автомобили, ожидающие проезда в обоих направлениях; тогда светофор переключается каждые пять секунд, чтобы минимизировать пропускную способность перекрестка и максимизировать время ожидания для всех, подталкивая тем самым возмущенную общественность к мысли о необходимости повышения налогов для решения этой проблемы. Заслуживают внимания равенства для сигнала TMRESET. Этот выходной сигнал принимает активное значение во время состояний NSDELAY и EWDELAy ( двойной красный свет ), когда происходит сброс таймера и его подготовка к следующему циклу с зажженным зеленым светом. Желаемый выходной сигнал можно было бы сформировать на выводе, предназначенном для комбинационного выхода, обнаруживая данные два состояния; но вместо этого мы выбрали регистровый выход и предусмотрели обнаружение состояний, предшествующих этим двум состояниям. В программе на языке ABEL в табл. 9.9 определены только переменные состояния для контроллера светофора и один выход типа Мура. Из того, что остается в ИС 16V8, нельзя образовать шесть других выходов типа Мура, необходимых для зажигания нужного света. Поэтому для формирования этих выходных сигналов применено отдельное комбинационное ПЛУ. Конструкция в целом представлена на рис. 9.6. Профамма на языке ABEL для выходного ПЛУ приведена в табл. 9.10. Мы воспользовались имевшейся возможностью и добавили контроллеру вход OVERRIDE. Подавая сигнал на этот вход, полицейский может заблокировать работу контроллера и заставить светофор мигать красным светом (с частотой тактового сигнала FLASHCLK), и тогда у него появляется возможность вручную растаскивать пробки, возникающие благодаря этому удивительному изобретению. Табл. 9.10. Выходная лотока датроляера светофора в г. Саннивейл module svaletlo title Output logic for Sunnyvale, Ck, Traffic Lights SVALETLO device Pievac; Input pias .K-LASHCLK, Q¥E.4HIDE, QO. qi, Q2 pin 1, 2, 4. S, 6; Output pins NSRED, KSYELLOW. NSOREE.N- EWRED, EWYELLOW, EWSREE?! pin 19, 18, 17 istype com pia 14, 13, 12 istype coje Definitions {same as in state aachir.e SVALETL) equatioas JfSRED = ! OVERRIDE & (LSTATE !- SSGO) к (LSTATE NSHAIT) & (LSTATE SSWAIT2) # OVERRIDE к FLASHCLK; NSYELLOW = !OVERRIDE к ((LSTATE == HSWAIT) # (LSTATE NSWAIT2)); NSGREES - 1 OVERRIDE к (LSTATE - NSGO); EWRED = OVERRIDE к (LSTATE != EWGO) к (LSTATE ! EWWAIT) & (LSTATE != EWWAIT2) # OVERRIDE к FLASHCLK; EWYELLOW - !OVERRIDE к ((LSTATE == EWWAIT) # (LSTATE EWWAITS)); EWGREEH !OVERRIDE к (LSTATE EWGO); gad svaletlo Если перейти к записи состояний в форме выходного кода, то конечный автомат для управления светофором вместе с выходной логикой можно построить на одном ПЛУ (рис. 9.7). Как видно из табл. 9.11, для этого необходимо изменить только определения в исходной программе, приведенной в табл. 9.9. У этого ПЛУ нет входа OVERRIDE и соответствующего режима работы; эти вопросы вынесены в задачу 9.7. NSCAR EWCAR CLOCK (1Гц) > CLK тай№Р RESTART SHORT LONG TMSHORT TMLONQ QAL16V8R TMRESET L >CLK 11 101 12 13 14 15 16 17 18 OE 102 103 Ю4 105 Ю6 Ю7 Ю8 SVALETLB - NSRED . NSYELLOW - NSGREEN . EWRED . EWYELLOW . EWGREEN . XTRA (не подключен) Рис. 9.7. Конечный автомат для управления светофором на одном ПЛУ с записью состояний в форме выходного кода ООО «Мягкий Дом» - это Отечественный производитель мебели. Наша профильная продукция - это диваны еврокнижка. Каждый диван можем изготовить в соответствии с Вашими пожеланияи (размер, ткань и материал). Осуществляем бесплатную доставку и сборку. Звоните! Ежедневно! (926)274-88-54 Продажа и изготовление мебели. Копирование контента сайта запрещено. Авторские права защищаются адвокатской коллегией г. Москвы. |