Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Разрешение цифрового ввода и режимы снаКак показано на рисунке 30 входной цифровой сигнал может быть зашунтирован к общему на входе триггера Шмита. Сигнал, обозначенный на рисунке как SLEEP, устанавливается при переводе микроконтроллера в режим выключения (Power-down), экономичный режим, дежурный режим и расширенный дежурный режим. Это позволяет избежать повышения потребляемого тока в случае, если некоторые входные сигналы окажутся в плавающем состоянии или уровень входного аналогового сигнала будет близок к VCC/2. Сигнал SLEEP игнорируется по входам внешних прерываний. Если запросы на внешнее прерывание отключены, то SLEEP действует и на эти выводы. SLEEP также игнорируется на некоторых других входах при выполнении их альтернативных функций (см. “Альтернативные функции порта ”). Если на выводе внешнего асинхронного прерывания, настроенный на прерывание по нарастающему фронту, падающему фронту или на любое изменение, присутствует уровень лог. 1 и при этом внешнее прерывание не разрешено, то соответствующий флаг внешнего прерывания будет установлен при выходе из выше упомянутых режимов сна, т.к. функция шунтирования на входе в режимах сна приводит возникновению логических изменений.
8. Регистр статуса, сброс и обработка прерываний
Адрес обозначается меткой, может располагаться в любом месте программы и содержит начало процедуры обработки прерывания. Первый вектор располагается по адресу $0001 (а для МК с памятью более 8 К— по адресу $0002, потому что по адресу $0001 находится вторая половина более длинной команды jmp), причем напомним, что для памяти программ адрес этот означает номер двухбайтового слова в памяти, а не отдельного байта. На самом деле по умолчанию нам вообще не нужно думать про абсолютные адреса и их нумерацию — первая команда программы (rjmp RESET) автоматически расположится по нулевому адресу, вторая— по адресу $0001 и т. д. Найдя какую-нибудь команду перехода по метке, компилятор автоматически подставит абсолютные адреса. Нужно только быть внимательным при выборе модели: если вы подставите для МК ATmega8 в таблицу прерываний jmp вместо rjmp (а для ATmegal6 и старше наоборот), то сброс у вас пройдет нормально, а вот все остальные прерывания выполняться не будут— скорее всего, программа просто "повиснет". Порядок следования векторов и их число в таблице жестко заданы в соответствии с типом МК. Потому самое первое, что вы должны сделать, приступая к программированию, — открыть руководство по применению выбранного типа контроллеров и скопировать оттуда эту таблицу. Можно прямо через буфер обмена из PDF-описания (если вам позволят это сделать — в последних версиях описаний копирование текста через буфер обычно запрещено, что не делает чести менеджменту Atmel, но всегда можно вывернуться с помощью программ, удаляющих ограничения PDF, таких как Foxit Reader или платный Advanced PDF Password Recovery). Так меньше вероятность что-то пропустить, только придется потом удалить указанные там абсолютные адреса, стоящие в начале каждой строки. Листинг 5.4 иллюстрирует начало программы для МК ATmega8. 1 Листинг 5.4 Но постойте: мы что, обязаны использовать все прерывания? Конечно, нет. Для неиспользуемых прерываний в контроллерах с памятью программ менее 16 кбайт команду rjmp <метка> следует заменить на reti — выход из прерывания ("return interrupt"). На самом деле можно было бы указать и команду пор — пустую операцию (см. главу б). Мы будем ставить именно reti, т. к. тогда нам неважно — если прерывание случайно инициализировано, оно все равно не будет выполняться, а писать и отлаживать программы так удобнее. Я в своих программах просто дополняю стандартные строки командой reti и точкой с запятой, чтобы закомментировать команду rjmp (листинг 5.5). Листинг 5.5 Теперь заготовка начала программы готова: при необходимости в дальнейшем использовать какое-то прерывание, мы удаляем из соответствующей строки фрагмент reti;, а затем где-то в программе ставим нужную метку и пишем обработчик, заканчивающийся командой reti (листинг 5.6). Есть и более короткий способ оформления таблицы векторов прерываний (он особенно актуален для старших Mega, где число прерываний может достигать нескольких десятков, а из-за четырехбайтового формата команды jmp заменить ее на reti просто так не получается). Способ основан на использовании директивы org, которая устанавливает абсолютный адрес в памяти программ. В inc-файлах есть специальные определения констант для адресов прерываний, например (из файла 8515def.inc): Тогда, если вам, к примеру, никакие иные прерывания не требуются, кроме прерываний URXC И UDRE ДЛЯ UART, то начало программы может быть таким, как в листинге 5.7. Источники сброса AT90S2313 имеет три источника сброса.
Во время сброса все регистры ввода/вывода устанавливаются в начальные значения, программа начинает выполняться с адреса $000, по этому адресу должна быть записана команда RJMP - относительный переход на программу обработки сброса. Если в программе не разрешаются прерывания и векторы прерываний не используются, в первых адресах памяти может быть записана программа. Сброс по включению питания Цепь сброса по включению питания обеспечивает запрет включения процессора до тех пор, пока напряжение питания не достигнет безопасного уровня. После того, как напряжение питания достигнет уровня включения, процессор не включается до тех пор, пока встроенный таймер не обработает несколько рабочих периодов сторожевого таймера. Если к процессору подключен керамический резонатор или другой, обеспечивающий быстрое включение, для уменьшения времени сброса можно запрограммировать бит-перемычку FSTRT. Поскольку к выводу RESET подключен подтягивающий резистор, этот вывод может оставаться неподключенным, если не требуется внешний сброс. Подключение вывода RESET к напряжению питания дает тот же эффект. Время включения после подачи питания может быть увеличено удержанием вывода сброса на низком уровне. Внешний сброс Внешний сброс обрабатывается по низкому уровню на выводе RESET. Вывод должен удерживаться в низком состоянии по крайней мере два периода тактовой частоты. После достижения напряжения Vrst запускается таймер задержки, через промежуток времени Tout процессор запускается. Сброс по сторожевому таймеру После отработки цикла сторожевого таймера, он вырабатывает короткий импульс сброса. По спадающему фронту этого импульса запускается внутренний счетчик, отсчитывающий время Tout.
9. Обзор SCADA-систем В этой статье мы поговорим о SCADA системах получивших наибольшее распространение при разработке автоматизации процессов. SCADA системы сейчас, являются неотъемлемой частью современных автоматизированных систем управления процессами или как ее еще называют средой визуализации. Получив широкое распространение в начале 20-го века, сегодня уже трудно себе представить объект автоматизации, на который бы не была установлена SCADA система. Уже практически ушли в историю огромные шкафы с панелями вторичных приборов, на смену им пришли автоматизированные рабочие места (АРМ). Внедрение SCADA систем приводит к существенному удешевлению эксплуатации вторичного оборудования на крупных объектах, путем переноса индикации и накопления технологической информации на пульт диспетчера АРМ. Не смотря на большое разнообразие SCADA систем на рынке, большинство из них имеет примерно одинаковый набор функциональных возможностей позволяющих выполнять основные требования, предъявляемые к верхнему уровню АСУ ТП. Набор стандартных функций в SCADA системах обусловлен общим кругом задач при разработке систем автоматизации. Определим состав основных функций позволяющих выполнить полноценный проект по автоматизации: То без чего не обходится ни одна SCADA система – это графический интерфейс, который позволяет упростить задачу построения и отображения технологического процесса (ТП). К графической части можно отнести возможность упрощенного или детализированного отображения объектов ТП., средств измерения физических параметров технологических объектов (ТО). Кроме того позволяет отображать кнопки, индикаторы, панели стрелочных или цифровых индикаторов, регуляторов и других вторичных приборов которые раньше располагались на панели шкафа автоматизации. Поддержка библиотек изображений и видео позволяющая выводить графическую информацию сторонних разработчиков на графическую панель SCADA системы, такие как элементы мнемосхем, динамические объекты. SCADA системы позволяют вести архив измерений, событий и аварийных ситуаций происходящих на ТО, с отображением изменений информации в окне временного тренда. Упрощенный язык составления алгоритмов управления ТП, математических вычислений. Драйвера устройств и оборудования согласованной работы со SCADA системой, находящихся на нижнем и среднем уровнях АСУ ТП, такие как датчики, вторичное оборудование контроллеры. Поддержка других языков программирования высокого уровня (Visual C++, VBA, VB). И одна из важнейших функций SCADA систем – средства зациты от несанкционированного доступа к файлам и компонентам.
взаимодействие с другими программами с помощью современных технологий (OPC, OLE, DCOM, ActiveX, OLE DB, ODBC и др.) TRACE MODE® - это первая интегрированная информационная система для управления промышленным производством, объединяющая в едином целом продукты класса SOFTLOGIC-SCADA / HMI-MES-EAM-HRM. SCADA система TRACE MODE разработана в 1992 году и к настоящему времени имеет более 7000 внедрений на объектах АСУ ТП. На данный момент актуальной версией является SCADA система TRACE MODE® 6.TRACE MODE® - это первая интегрированная информационная система для управления промышленным производством, объединяющая в едином целом продукты класса SOFTLOGIC-SCADA / HMI-MES-EAM-HRM. SCADA система TRACE MODE разработана в 1992 году и к настоящему времени имеет более 7000 внедрений на объектах АСУ ТП. На данный момент актуальной версией является SCADA система TRACE MODE® 6. Проекты, разработанные на базе TRACE MODE, имеют инсталляции в энергетической, металлургической, атомной, нефтяной, газовой, химической, космической и других отраслях промышленности. Нашли применение при разработке АСДУ ЖКХ и сельском хозяйстве России. В состав системы входят бесплатные драйверы для более чем 2-х тысяч контроллеров и УСО. Для программирования алгоритмов управления технологическими процессами в SCADA системе TRACE MODE 6 поддержаны все 5 языков международного стандарта IEC 61131-3. Такие как - Techno FBD, Techno LD, Techno SFC и процедурные - Techno ST, Techno IL. SCADA система InTouch – это достаточно мощная среда разработки визуализации и управления для промышленной автоматизации технологических процессов и диспетчерского контроля. SCADA система InTouch применяется для создания DCS (распределенных систем управления) и других АСУ ТП. Актуальной, на данный момент является версия InTouch 9. Программный пакет InTouch 9.5: Повышение эффективности работы производства
10. SCADA-система TraceMode: функции и технологии, программы и компоненты, примеры использования TRACE MODE 6 – это программный комплекс, предназначенный для разработки и запуска в реальном времени распределенных автоматизированных систем управления технологическими процессами (АСУТП) и решения ряда задач управления предприятием (АСУП). Для решения задач АСУП в TRACE MODE 6 интегрирован пакет T-FACTORY. Комплекс программ TRACE MODE 6 делится на 3 части: Интегрированная среда разработки проекта (ИС) – единая программная оболочка, содержащая все необходимые средства для разработки проекта. Под проектом в TRACE MODE 6 понимается вся совокупность данных и алгоритмов функционирования распределенной АСУ (АСУТП и/или T-FACTORY), заданных средствами TRACE MODE. Итогом разработки проекта в ИС является создание файлов, содержащих необходимую информацию об алгоритмах работы АСУ. Эти файлы затем размещаются на аппаратных средствах (компьютерах и контроллерах) и выполняются под управлением исполнительных модулей TRACE MODE. В интегрированную среду разработки TRACE MODE 6 встроены более десяти редакторов, автоматически открывающихся при вызове того или иного компонента проекта. Среди них: - редактор графических экранных форм; - редактор программ на визуальном языке Techno FBD; - редактор программ на визуальном языке Techno SFC; - редактор программ на визуальном языке Techno LD; - редактор программ на процедурном языке Techno ST; - редактор программ на процедурном языке Techno IL; - редактор шаблонов документов; - редактор SQL-запросов; - редактор паспортов оборудования (EAM); - редактор персонала (HRM); - редактор материальных ресурсов (MES). Исполнительные модули (мониторы, МРВ) – программные модули различного назначения, под управлением которых в реальном времени выполняются составные части проекта, размещаемые на отдельных компьютерах или в контроллерах. Составная часть проекта, размещаемая на отдельном компьютере или в контроллере и выполняемая под управлением одного или нескольких исполнительных модулей TRACE MODE, называется узлом проекта. В общем случае размещение узла на том же аппаратном средстве, на котором он должен исполняться под управлением монитора, не является обязательным – мониторы могут загружать узлы с удаленных аппаратных средств. Драйверы обмена – драйверы, используемые мониторами TRACE MODE для взаимодействия с устройствами, протоколы обмена с которыми не встроены в мониторы. Классификация компонентов По функциональному назначению компоненты проекта относятся к одному из следующих видов: - каналы – компоненты, определяющие алгоритм работы. Каналы могут создаваться в различных слоях, однако их окончательное распределение по узлам в слое Система обязательно – в противном случае они не будут экспортированы для МРВ; - шаблоны – компоненты, которые при работе в реальном времени могут вызываться каналами с передачей параметров. Передача параметров настраивается при разработке проекта в ИС посредством привязки аргументов шаблона к каналам или источникам/приемникам; - источники/приемники – компоненты, тем или иным способом описывающие внутренние переменные различных устройств или приложений, с которыми требуется обмениваться данными. Под устройствами здесь понимаются контроллеры, а также внешние и внутренние модули/платы различного назначения, обмен с которыми поддерживается мониторами TRACE MODE (в том числе через драйверы). Системные переменные TRACE MODE также создаются в ИС как источники/приемники. Источники/приемники являются шаблонами каналов; - наборы ресурсов – наборы текстов, изображений и видеоклипов, которые могут быть использованы при разработке шаблонов графических экранов; - графические объекты – компоненты, представляющие собой в общем случае несколько графических элементов (из имеющихся в редакторе представления данных), сгруппированных в один. Графические объекты могут быть использованы при разработке шаблонов графических экранов; - последовательные порты – параметры COM-портов; - словари сообщений – наборы сообщений, генерируемых при возникновении различных событий; - клеммы – эти компоненты, описывающие электрические контакты (например, монтажных шкафов), являются элементами схемы электрических соединений АСУ. Принципы разработки проекта в ИС ИС объединяет в единой оболочке навигатор и набор редакторов для создания всех составляющих проекта. ИС имеет многооконный интерфейс: В ИС поддерживаются стандартные операции изменения размеров и перемещения окон. В навигаторе структура проекта представлена в виде дерева: Корневые группы этого дерева (слои) предопределены и создаются автоматически при создании нового проекта (слои отображаются в левом окне навигатора). Элементарные структурные составляющие (листья структурного дерева) называются компонентами проекта. Например, компонентами проекта являются: канал; канал, вызывающий шаблон; шаблон; источник данных и т.д. Группы компонентов, которые могут быть созданы в структуре проекта, предназначены для структурирования проекта. В ряде случаев группы имеют и другой, вполне определенный, смысл – например, узлы проекта создаются как корневые группы слоя Система. В правом окне навигатора отображается содержимое слоя (группы), выделенной в левом окне, – таким образом, компоненты проекта могут быть отображены только в правом окне. Структура проекта редактируется в навигаторе с помощью команд меню Проект, контекстного меню и панелей инструментов, а также с помощью метода drag-and-drop. Технология разработки проекта в ИС Разработка проекта в ИС включает следующие процедуры: - создание структуры проекта в навигаторе; - конфигурирование или разработка структурных составляющих – например, разработка шаблонов графических экранов оператора, разработка шаблонов программ, описание источников/приемников и т.д.; - конфигурирование информационных потоков; - выбор аппаратных средств АСУ (компьютеров, контроллеров и т.п.); - создание узлов в слое Система и их конфигурирование; - распределение каналов, созданных в различных слоях структуры, по узлам и конфигурирование интерфейсов взаимодействия компонентов в информационных потоках; - сохранение проекта в единый файл для последующего редактирования (с помощью команды Сохранить или Сохранить как); - экспорт узлов в наборы файлов для последующего запуска под управлением мониторов TRACE MODE (по команде Сохранить для МРВ). Перечисленные процедуры (за исключением двух заключительных) и входящие в их состав операции могут выполняться в произвольном порядке. Например, можно начинать разработку проекта с разработки шаблонов графических экранов оператора, с создания узлов и их каналов в слое Система (если аппаратные средства АСУ известны заранее), можно конфигурировать каналы и информационные потоки после распределения каналов по узлам и т.п.
11. 8-разрядный таймер-счетчик 0 с функциями широтно-импульсной модуляции и асинхронного тактирования Таймер-счетчик 0 - модуль многофункционального одноканального 8-разрядного таймера-счетчика с аппаратным выходом для генерации ШИМ-сигнала и встроенным асинхронным опциональным тактовым генератором, который оптимизирован под использование часового кварца (32768Гц) для асинхронного по отношению к системной синхронизации тактирования. Основные отличительные особенности: · Одноканальный счетчик · Опциональный режим сброса таймера при совпадении (автоматическая перезагрузка) · Широтно-импульсная модуляция без генерации ложных импульсов при записи нового порога сравнения в OCR0 (двойная буферизация) и с фазовой коррекцией · Генератор частоты · 10-разрядный предделитель тактовой частоты · Генерация прерываний по переполнению и выполнения условия сравнения (TOV0 и OCF0) · Возможность асинхронного тактирования совместно с внешним кварцевым резонатором частотой 32 кГц независимо от частоты синхронизации ввода-вывода Укрупненная функциональная схема 8-разр. таймера-счетчика представлена на рис. 34. Для уточнения расположения выводов см. "Расположение выводов". Связи с регистрами, к которым осуществляет доступ ЦПУ, в т.ч. биты ввода-вывода и линии ввода-вывода показаны жирной линией. Специфические для данного устройства регистры, расположение и назначение его бит приведены в "Описание регистров 8-разр. таймера-счетчика 0".
Регистры Регистр таймера-счетчика (TCNT0) и регистр порога сравнения (OCR0) - 8-разр. регистры. Сигналы запроса на прерывание представлены как флаги прерываний таймера в регистре TIFR. Все прерывания индивидуально маскируются с помощью регистра маски прерываний таймеров (TIMSK). Регистры TIFR и TIMSK не представлены на функциональной схеме, т.к. они совместно используются с другими таймерами микроконтроллера. Таймер-счетчик может тактироваться через предделитель внутренне или асинхронно через внешние выводы TOSC1/2, что описано в последующих разделах. Асинхронная работа управляется регистром асинхронного состояния (ASSR). Блок синхронизации осуществляет выбор, какой тактовый источник используется для инкрементирования (декрементирования) состояния таймера-счетчика. Если источник тактирования не задан, то таймер-счетчик находится в неактивном состоянии. Выход логики выбора синхронизации обозначен как синхронизация таймера (clkT0). Значение регистра порога сравнения с двойной буферизацией (OCR0) непрерывно сравнивается со значением таймера-счетчика. Результат сравнения может использоваться для генерации сигналов с ШИМ или прямоугольных импульсов переменной частоты на выводе OC0. См. "Блок сравнения". Совпадение порога сравнения со значением таймера-счетчика приводит к установке флага результата сравнения (OCF0), который может использоваться для генерации запроса на прерывание по результату сравнения. Определения Некоторые определения и их сокращенные наименования, которые интенсивно используются в этом разделе, представлены в таблице 51. НП (нижний предел) - Счетчик достигает нулевого значения (0х00) МАКС (максимальное значение) - Счетчик достигает максимального значения 0xFF (десятич. 255) ВП (верхний предел) - Счетчик достигает верхнего предела счета (вершина счета). В качестве вершины счета может выступать фиксированное значение 0xFF или содержимое регистра OCR0.
|