Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Изм.
Лист
№ докум.
Подпись
Дата
Лист
БрГТУ.07823 12 81 00
Лист
Разраб.
Изм.
Проверил
Н.Контроль
Утв.
№ докум.
Шило Н.М.
Журавский В.И.
Мониг Г.М.
Дереченник С.С.
Дата ата
Подп.
Лит
Листов
73
Лист
4
Д
ПЭ-4
Кафедра ЭВМиС
Разработка системы удаленного контроля приборов “АЛКОНТ”.
Пояснительная записка
БрГТУ.07823 - 12 81 00
Содержание
Введение 6
1 Системотехническое проектирование 7
1.1 Выбор языка программирования 7
1.2 Описание платформы TINI 13
2 Разработка алгоритма программы 36
3 Проектирование программных модулей 39
4 Тестирование работоспособности системы 40
5 Расчёт экономических показателей 44
5.1 Введение 44
5.2 Краткая характеристика разрабатываемого программного средства 44
5.3 Расчёт общей трудоёмкости разработки 44
5.4 Определение уточнённой трудоёмкости разработки 46
5.5 Определение эффективного фонда времени 48
5.6 Определение численности разработчиков 48
5.7 Определение заработной платы разработчиков 49
5.8 Определение дополнительной заработной платы 50
5.9 Определение себестоимости 51
5.10 Определение отпускной цены 53
6 Охрана труда и экологическая безопасность 54
7 Энерго и ресурсобережение 61
Заключение 68
Список использованных источников 69
Приложение А Текст программы БрГТУ.07823 12 12 00
В настоящее время деятельность практически каждого человека становится всё более тесно связана с самыми разнообразными видами вычислительной техники и электронной аппаратуры, что выражается в активном внедрении компьютерных технологий не только в подавляющем большинстве отраслей промышленности, а также на многочисленных производствах и предприятиях, но и в повседневной жизни людей.
Для миллионов простых людей компьютер является прежде всего источником самых разнообразных развлечений, начиная с прослушивания музыки и просмотра видео и заканчивая различными игровыми приложениями. Что же касается промышленности, многочисленных производств и предприятий, то с наступлением эры компьютеров у человечества появилась отличная возможность частично либо практически полностью исключить участие человека в производственной деятельности. Основные задачи, ранее выполняемые вручную, теперь выполняют компьютеры. Это позволяет экономить значительные человеческие ресурсы. На многочисленных производствах, где ранее требовалось участие не одной сотни человеческих рук, сейчас весь процесс производства автоматизирован и всю работу выполняют несколько компьютеризированных станков. Сейчас невозможно представить медицину, образование, машиностроение и многие другие виды деятельности человека без применения в них самой разнообразной электронной аппаратуры, способной облегчить или даже полностью заменить нелёгкий и кропотливый труд человека.
Современный уровень развития различных отраслей промышленности и сфер человеческой деятельности характеризуется значительным влиянием их функционирования на экологическое состояние окружающей среды и безопасность жизнедеятельности в целом. Эффективное использование технических систем предполагает максимально полный мониторинг важнейших физикохимических параметров, что позволяет оперативно оценивать и прогнозировать обстановку на объектах в целом.
Поставленная задача контроля не является новой, и ранее решалась для целого ряда технических систем. Но уже сегодня, благодаря распространению новейших технологий, все чаще поднимается вопрос о мониторинге и управлении удаленными объектами посредством глобальной сети Internet. Очевидно, такой подход имеет множество преимуществ, основными из которых являются:
1) возможность быстрого получения информации практически с любого места земного шара;
2) так как система не привязана пространственно к исполнительным устройствам и датчикам, следовательно, появляется возможность создания распределенной системы мониторинга и управления;
3) отсутствует необходимость написания специального программного обеспечения для управления системой можно использовать стандартный Internetбраузер.
Целью дипломного проекта является разработка программного обеспечения для удаленного контроля приборов “АЛКОНТ”. Важным этапом является выбор языка программирования.
Преимущество языка Java для пользователей Internet и World Wide Wed заключается в появлении безопасных платформенонезависимых приложений, которые могут использоваться в любом узле Internet. Программисты, создающие приложения на Java, пишут свой код всего один раз им не приходится “переносить” свои приложения на все возможные программные и аппаратные платформы[1].
Многие рассматривают Java в первую очередь как средство создания аплетов для World Wide Wed. Термином “аплет” в Java обозначается миниприложение, работающее внутри Wedстраницы. После того как аплет загружен на компьютер пользователя, он может выполнять определенные задачи и взаимодействовать с пользователем через браузер, не требуя ресурсов Webсервера. Разумеется, некоторые аплеты могут взаимодействовать с сервером для решения своих внутренних задач.
Java является действительно ценным инструментом разработки в распределенных сетевых средах, к которым относится World Wide Wed. Тем не менее Java не ограничивается этими рамками и представляет собой мощный универсальный язык программирования, подходящий для создания самых разнообразных приложений, которые либо не зависят от сетевых средств, либо используют их нестандартным образом. Способность безопасно выполнять код на удаленных хостмашинах сказался очень кстати во многих крупных организациях.
Кроме того, Java используется как язык программирования общего назначения для реализации тех проектов, в которых платформенная независимость не так важна. Простота программирования и средств безопасности позволяют быстро создавать отлаженный код. Некоторые распространенные в других языках ошибки в программах на Java в общем не встречаются благодаря таким средствам, как сборка мусора и ссылки, безопасные по отношению к типам. Современные приложения, работающие в сетевых условиях и применяющие графический пользовательский интерфейс, которым приходятся одновременно обслуживать несколько задач, используют поддержку многопоточности в Java, а механизм исключений облегчает обработку ошибок. Несмотря на всю мощь своих встроенных средств, Java это простой язык, который быстро осваивается программистами.
Виртуальная машина Java(JVM). Программы на Java транслируются в байткод, выполняемый виртуальной машиной Java (JVM) программой, обрабатывающей байтовый код и передающей инструкции оборудованию как интерпретатор. Достоинство подобного способа выполнения программ в полной независимости байткода от операционной системы и оборудования, что позволяет выполнять Javaприложения на любом устройстве, для которого существует соответствующая виртуальная машина. Другой важной особенностью технологии Java является гибкая система безопасности благодаря тому, что исполнение программы полностью контролируется виртуальной машиной. Любые операции, которые превышают установленные полномочия программы (например, попытка несанкционированного доступа к данным или соединения с другим компьютером) вызывают немедленное прерывание. Работа Java c другими платформами изображена на рисунке 1.1.
Рисунок 1.1 Подготовка приложения для работы на разных платформах
Часто к недостаткам концепции виртуальной машины относят то, что исполнение байткода виртуальной машиной может снижать производительность программ и алгоритмов, реализованных на языке Java. В последнее время был внесен ряд усовершенствований, которые несколько увеличили скорость выполнения программ на Java:
применение технологии трансляции байткода в машинный код непосредственно во время работы программы (JITтехнология) с возможностью сохранения версий класса в машинном коде;
широкое использование платформенноориентированного кода (nativeкод) в стандартных библиотеках;
аппаратные средства, обеспечивающие ускоренную обработку байткода (например, технология Jazelle, поддерживаемая некоторыми процессорами фирмы ARM).
Многопоточность Java. Организация потоков в среде Java позволяет добиться прироста производительности практически во всех приложениях. Узнайте, как многопоточность становится стандартным средством программирования в среде Java, благодаря технологии HyperThreading и возможностям новых многоядерных процессоров Intel®[2].
Разработка приложений на основе потоков, то есть особых последовательностей команд, обеспечивает значительный прирост производительности. Рассмотрим, например, программупроигрыватель DVD, которая считывает большие объемы данных с компактдиска, обрабатывает их и выводит изображение на экран. Обычные однопоточные программы а это большинство современных клиентских программ выполняют перечисленные действия последовательно. В данном примере обработка данных начнется лишь после того, как с диска будет считан определенный объем информации. Производительность такой программы невысока: ресурсы, которые могут использоваться для обработки, не будут задействованы, пока идет считывание следующей порции информации с диска.
В многопоточной версии проигрывателя один поток предназначался бы для считывания информации, второй для обработки, а третий для записи данных в видеобуфер, причем все они выполнялись бы параллельно, а обработка продолжалась бы даже во время чтения с диска прирост производительности налицо! Можно привести еще много примеров, когда одновременное выполнение нескольких действий приводит к повышению производительности системы. Именно для увеличения производительности и реализована многопоточность в виртуальной машине Java(JVM).
В данной статье освещаются следующие вопросы: реализация многопоточности в коде Java, оптимальная разработка параллельных программ, а также использование средств и ресурсов для разработчиков. Так как подробное рассмотрение всех вопросов не умещалось в рамках одной статьи, автор затронул в ней лишь ключевые детали. Подробную информацию об интересующих вопросах вы сможете получить из дополнительных ресурсов.
Организация многопоточности Java. При запуске любой программы образуется, по крайней мере, один поток. В С/С++ и Java этот поток запускается при вызове метода main(). Для создания дополнительных потоков необходимо их запустить и назначить им определенные функции, после выполнения которых потоки автоматически будут завершены виртуальной машиной. В среде Java для создания потока и назначения им функций есть два способа. Первым из них является наследование от класса Thread (входящего в пакет java.lang) с последующим переопределением метода run() на функцию, которую вы хотите назначить для потока.
Таким образом, происходит наследование от класса Thread с запуском переопределенного метода run(). В среде Java для создания потока и назначения им функций есть два способа. Первым из них является наследование от класса Thread (входящего в пакет java.lang) с последующим переопределением метода run() на функцию, которую вы хотите назначить для потока. Пример кода на рисунке 1.2.
Рисунок 1.2 Описание метода run()
Таким образом, происходит наследование от класса Thread с запуском переопределенного метода run(). Назначенная функция организует цикл, при котором на экран выводится строка, после чего программа останавливается на случайный интервал времени. После 10 итераций цикла на экран выводится слов “DONE!”, а поток завершается, так как функция закончила свое выполнение. Ниже приведен пример функции для создания потока, смотрите рисунок 1.3.
Таким образом, происходит наследование от класса Thread с запуском переопределенного метода run(). Назначенная функция организует цикл, при котором на экран выводится строка, после чего программа останавливается на случайный интервал времени. После 10 итераций цикла на экран выводится слов “DONE!”, а поток завершается, так как функция закончила свое выполнение. Ниже приведен пример функции для создания потока, смотрите рисунок 1.3.
Рисунок 1.3 Cоздание потока
Второй способ создания потока использование класса с реализацией интерфейса Runnable (также из пакета java.lang). Этот интерфейс определит метод run(), который будет выполнять основную функцию потока, аналогично описанному выше первому способу.
Реализация многопоточности Java. Многопоточность, которую организуют для повышения производительности, значительно усложняет программный код, особенно если необходимо предусмотреть взаимодействие потоков. Важно разобраться с премудростями организации потоков, так как чем больше ядер в процессорах Intel®, тем больше потоков приходится предусматривать в программном коде. Недостаточная компетенция разработчика при организации многопоточности несомненно приведет к возникновению множества ошибок в программе, поэтому давайте перейдем к рассмотрению решений некоторых возможных сложностей. Ожидание завершения другого потока: предположим, нам нужно обработать целочисленный массив. Это можно делать последовательно, обрабатывая одно значение массива за другим, или, что более продуктивно, параллельно созданием нескольких потоков, каждому из которых назначена определенная область массива. Допустим, чтобы перейти к следующей стадии обработки, нам необходимо дождаться завершения всех потоков. Для синхронизации взаимодействия потоков используется метод join(). При его задействовании запуск определенного потока произойдет после завершения другого. Таким образом, поток “В” будет ждать завершения потока “А”. При превышении времени ожидания, назначенного в методе join(), поток В займется обработкой других данных, если поток “А” еще не завершен. Итак, мы обсудили самую сложную задачу при организации многопоточности проблему ожидания завершения потоков. Вернемся к ней позже.
Ожидание доступа к заблокированным объектам: предположим, мы занимаемся разработкой системы бронирования билетов для аэропорта. Чаще всего многопоточность в таких программах организована таким образом, что каждому подключенному к системе пользователю, а также всем кассирам назначены отдельные потоки (организация очень больших систем может отличаться от описанной). Если два пользователя одновременно попытаются забронировать одно и то же место, а в программе эта возможность не предусмотрена, произойдет следующее: один поток обратится к конкретному ресурсу одновременно с другим потоком. В результате оба пользователя решат, что они забронировали себе нужный билет на самолет.
Для того чтобы предотвратить изменение одних и тех же данных разными потоками, необходимо, чтобы один поток заблокировал доступ к ним для другого потока. Тогда при попытке второго потока изменить данные, ему придется ждать, пока первый поток не снимет свою блокировку. В нашем примере второй поток обнаружит, что данное место уже было зарезервировано, и выдаст соответствующее предупреждение пользователю. Ситуация, описанная выше, называется "состоянием гонки” (race condition), и ее последствия могут быть очень пагубными. Вот почему на время выполнения операций с данными одним потоком принято блокировать доступ к этим данным для других потоков.
В среде Java блокировку можно реализовать несколькими способами. Наиболее частым является использование ключевого слова “synchronized”. Метод, содержащий это ключевое слово, может выполняться только одним потоком, а после выполнения метода блокировка снимается.
Исключительные ситуации в Java. Как мы видим, все исключения имеют общего предка Throwable. Он имеет два важных подкласса Exception и Error. Исключения (Exceptions) являются результатом возникших внутри программы проблем, которые в принципе решаемы и предсказуемы. Ошибки (Errors) представляют собой более серьёзные проблемы, которые, согласно спецификации Java, не следует пытаться перехватить в приложении, написанном достаточно рационально (например ошибка OutOfMemoryError происходит в тех случаях, когда JVM не хватает памяти для выполнения программы). Кроме того, у Exception есть важный потомок RuntimeException (исключение времени выполнения). Этот класс и его потомки представляют собой исключения, которые возникают во время “нормальной работы Javaмашины” (примерами таких исключений являются попытки использования нулевых ссылок на объекты, деления на ноль или выход за границы массива).
В Java все исключения делятся на три типа: контролируемые исключения(checked), ошибки (Errors) и исключения времени выполнения (RuntimeExceptions) последние два типа также объединяют в категорию неконтролируемых (unchecked) исключений. В чем различие? Все очень просто контролируемые исключения представляют собой те ошибки, которые могут быть обработаны в ходе выполнения программы, как вы уже догадались к этому типу относятся все потомки класса Exception (но не RuntimeException). Контролируемые исключения обязательны для обработки в коде программы, они должны быть обработаны либо включением в блок trycatch, либо объявлены в сигнатуре метода.
Неконтролируемые (unchecked) исключения не требуют обязательной обработки, поскольку представляют собой те ситуации, когда ошибка не зависит непосредственно от программиста (например произошёл сбой в аппаратном обеспечении), либо те, когда ошибку обрабатывать не имеет смысла, т.к. проще внести изменения в код к ним относятся все потомки классов Error и RuntimeException, смотрите рисунок 1.4.
Рисунок 1.4 Иерархия классов исключений
Защищенность Java. Поскольку язык Java предназначен для использования в сетевой или распределенной среде, то вопросам его безопасности было уделено большое внимание. На данный момент язык Java позволяет создавать системы, надежно защищенные от вирусов и несанкционированного доступа.
Но 100% безопасности не может обеспечить ни один язык программирования, ведь все предусмотреть невозможно. Первые дыры в Java были найдены экспертами по вопросам безопасности из Пристонского университета еще в версии Java 1.0. Можно сказать, что все новые ошибки находятся до сих пор, но от этого не застрахован ни один язык программирования.
Тем не менее, специалисты компании Sun делают все, чтобы своевременно устранить бреши в безопасности JDK. Так, компания опубликовала внутренние спецификации интерпретатора языка Java и привлекла к поиску ошибок независимых специалистов в области безопасного ПО.
Обнаруженные на данный момент ошибки очень немногочисленны.
Вот лишь небольшой список ситуаций, возникновение которых предотвращает система безопасности языка Java:
переполнение стека выполняемой программы, к которому приводили некоторые черви;
повреждение участков памяти, которые находятся за пределами пространства, выделенного процессу;
считывание и запись локальных файлов при использовании безопасного загрузчика классов.
Все меры безопасности вполне уместны и обычно работают без проблем, но осмотрительность никогда не повредит. Со временем в язык были добавлены новые средства защиты. Начиная с версии 1.1, в языке Java появилось понятие классов с цифровой подписью. Пользуясь классом с цифровой подписью, вы можете быть уверенными в его авторе. Если вы ему доверяете, то можете предоставить этому классу все привилегии, доступные на вашей машине.
Альтернативный механизм доставки кода, предложенный компанией Microsoft, опирается на технологию ActiveX и для безопасности использует только цифровые подписи. Но этого недостаточно, ведь любой пользователь ПО фирмы Microsoft может подтвердить, что программы даже известных производителей часто завершаются аварийно, создавая тем самым опасность повреждения данных.
В тоже время система безопасности в языке Java намного надежнее технологии ActiveX, поскольку она самостоятельно контролирует приложение с момента его запуска и не позволяет ему причинить ущерб.
Тенденция дистанционного управления через интернет. Плата TINI отлично справляется с задачей интеграции медленных однопроводных территориально рассредоточенных структур с такими производительными сетями как Industrial Internet и другими. Управляемые устройства могут настраиваться удаленно только за счет того, что микроконтроллеры, входящие в структуру TINI, напрямую подключаются через браузер к соответствующей Webстранице и не требуют дополнительного компьютера[3].
Сочетание одних технологий с другими одна из главнейших тенденций современного рынка hitech: Персональный компьютер не существует в изоляции и не является чемто обособленным его возможности расширяются и дополняются множеством новых приложений. Конвергенция компьютерной отрасли и индустрии бытовой электроники открывает перед пользователями новые, небывалые перспективы: Philips и Intel поразному видят конвергенцию двух отраслей. Если Крейг Баррет из Intel мыслит компьютер в качестве составной части домашних электронных систем, то топменеджеры Philips придерживаются иного мнения. “По мере того как бытовая техника будет умнеть, компьютеры должны постепенно исчезнуть. Не в прямом смысле просто компьютеры станут “невидимыми”, их функции возьмет на себя бытовая электроника...”
Суть проблемы. До недавнего времени при проектировании систем или устройств, управляемых из Интернета, разработчики сталкивалась с проблемой сопряжения быстродействующих компьютерных сетей и “медленных” сетей с распределенными параметрами, которые используются для связи и сбора информации из систем, встроенных в промышленное или бытовое оборудование. Для таких сетей быстродействие не является основным требованием, а на первый план выходят адаптивность, живучесть и открытость. Под адаптивностью понимают возможность настройки при изменении конфигурации сети. Живучесть предполагает способность выполнять установленные функции в условиях воздействия внешней среды и отказов компонентов системы. Открытость сети означает возможность её модернизации без нарушения функционирования. Наиболее приемлемой по функциональным возможностям и по ценовым характеристикам сетью для объединения встроенных систем является однопроводная сеть MicroLAN, разработанная фирмой Dallas Semiconductor. В качестве интерфейса между двумя типами сетей в этом случае выступает плата TINI (Tiny InterNet Interface), также разработанная специалистами Dallas Semiconductor.
Что такое TINI. Можно ли, находясь в Москве в режиме реального времени проконтролировать технологический процесс, идущий в Могилеве, или наоборот? Очень даже можно! Позволит сделать это небольшая и недорогая плата TINI, разработанная специалистами Dallas Semiconductor, которая может напрямую управляться через соответствующую Webстраницу.
Плата TINI отлично справляется с задачей интеграции медленных однопроводных территориально рассредоточенных структур с такими производительными сетями как Industrial Internet и другими. Управляемые устройства могут настраиваться удаленно только за счет того, что микроконтроллеры, входящие в структуру TINI, напрямую подключаются через браузер к соответствующей Webстранице и не требуют дополнительного компьютера.
Платформа TINI объединяет мощный чипсет и оперативные средства Java, раскрывающие широкие возможности вводавывода микроконтроллеров Dallas. Программист, кодируя на Java, получает доступ к управлению вводом/выводом через API, включающем интерфейсы Ethernet, RS232, I2C, 1Wire, CAN и параллельную шину. Применяя API, программисты просто описывают необходимые функции и могут не заботиться о сопряжении с периферийной аппаратурой на низком уровне.
TINI может использоваться в промышленном контроле и управлении, измерительных системах, бытовых приборах, образовании и любительском конструировании. Причем, если вначале предполагалось использование в коммерческих и промышленных целях, то сейчас есть много примеров бытовых и любительских устройств, например в журнале Hard and Soft № 7/2001 есть заметка о тостере, выжигающем изображение солнца или тучи, в зависимости от того, какой прогноз погоды был получен TINI, дозвонившейся до местной метеостанции.
TINI представляет собой стандартный 72контактный SIMMмодуль с размером платы (102,9x31,8)мм. На модуле установлен TINIчипсет, основой которого является микроконтроллер DS80C390. TINIчипсет изображен на рисунке 1.5. Этот микроконтроллер имеет следующие особенности:
набор команд, совместимый с 8051;
машинный цикл 4 такта;
4кБ встроенной SRAM могут использоваться как память программ/данных/стек;
адресуется до 4МБ внешней памяти ;
два встроенных CAN 2.0B контроллера;
Рисунок 1.5 TINIчипсет
Микроконтроллер на плате TINI работает с тактовой частотой 18 МГц. К одному из UART подключена микросхема преобразователей уровней DS232A, благодаря чему TINI имеет RS232совместимый порт. Второй последовательный порт микроконтроллера используется для реализации 1Wireинтерфейса посредством микросхемы DS2480. На плате может быть установлена одна или две микросхемы SRAM с организацией 512кБx8 (в корпусах TSOP32).
Для обеспечения энергонезависимого хранения данных использован контроллер DS1321, который в случае пропадания основного питания запрещает обращения к памяти и переводит память на питание от 3х вольтовой литиевой батарейки CR1632, которая тоже установлена на плате.
В качестве часов реального времени применена микросхема DS1315. Она использует ту же литиевую батарейку для резервного питания. Кроме SRAM TINI имеет микросхему FLASH ROM типа AM29F040B объемом 512кБ с возможностью перепрограммирования в системе.
В дополнение ко всему этому на плате установлена микросхема контроллера Ethernet типа SMC91C94, имеющая 100выводной корпус QFP. Тактируется она от собственного генератора, который имеет отдельный кварцевый резонатор, работающий на частоте 20 МГц. На 72контактном разъеме TINI в полном объеме присутствуют шины микроконтроллера, что позволяет подключать внешнюю память и различные периферийные устройства.
Плата TINI предназначена для установки в другие устройства, поэтому она не имеет собственного стабилизатора напряжения питания. Вместо этого она требует стабилизированного напряжения питания 5В, ток потребления не более 250 мА.
Для того, чтобы начать работать с TINI, нужна еще одна плата, которая называется TINI SOCKET (панелька для TINI), смотрите рисунок 1.6. Конструктивно TINI SOCKET представляет собой стандартную плату Eurocard размером (100x160)мм.
Рисунок 1.6 плата TINI SOCET
Существуют различные варианты TINI SOCKET. В основном эта плата содержит разъемы: собственно 72контактную SIMMпанельку для TINI, разъем RJ45 (Ethernet), RJ11 (1Wire), DSUB9 (RS232), панельку для iButton и разъем питания. TINI SOCKET вариант Е10 содержит все необходимые разъемы, а также посадочные места для микросхем расширения памяти, сдвоенного UARTa, интерфейса CAN и другие.
На плате собран выпрямитель и импульсный стабилизатор на микросхеме LT1376, который допускает подключение на вход переменного напряжения от 9 до 18В, или постоянного от 9 до 25В.
Дополнительно на плате установлена микросхема EEPROM, подключенная по внутренней 1Wireшине. Эта микросхема предназначена для хранения Ethernet MACадреса.
Плата имеет возможность расширения, для чего имеются места для установки дополнительных элементов. А это дополнительная 72контактная SIMMпанелька для расширения памяти (или системы в целом), дополнительная 512кБ FLASH ROM, сдвоенный UART PC16552D плюс микросхемы преобразователей уровней, интерфейс CAN на микросхеме PCA82C250.
Работа с платформой TINI. Перед разработчиками достаточно часто встает задача удаленного управления разнообразным оборудованием и (или) съёмом показаний измерительных систем или датчиков. Одним из способов решения её может быть использование глобальной сети Интернет. Для облегчения и удешевления процесса разработки интерфейса подключения к сети фирмой Dallas Semiconductor создана платформа TINI. Аббревиатура TINI расшифровывается как Tiny InterNet Interface очень маленький (крошечный) интерфейс для Интернет, изображена на рисунок 1.7. Аналогичные решения предлагаются и другими производителями, например Atmel, HP, Microchip, Zilog. Можно отметить следующие преимущества TINI:
мощный чипсет, в основе которого турбо вариант 8051 самого популярного микроконтроллера;
поддержка развитого вводавывода;
небольшие размеры;
доступность как отдельных микросхем чипсета, так и готового модуля (TINIboard), для быстрого начала работы над собственным проектом;
для создания приложений используется Java мощный платформонезависимый язык программирования. Возможности чипсета реализуются через дополнительные, специфичные для TINI классы;
низкая цена модуля и свободно распространяемое программное обеспечение.
Рисунок 1.7 плата TINI board
Аппаратное обеспечение TINI. Конструктивно TINI board выполнена в виде стандартного 72контактного SIMMмодуля, на котором расположены:
1) DS80C390, программно совместимый с 8051 микроконтроллер, основные отличия которого:
4тактный машинный цикл:
40 МГц максимальная тактовая частота;
16/32 битный математический сопроцессор;
256 + 4096 Б встроенного ОЗУ;
возможность адресовать до 4х МБ внешней памяти;
2 встроенных контроллера шины CAN 2.0B ;
2 последовательных порта;
сторожевой таймер.
2) 512 кБ флэшпамяти;
3) 512 кБ или 1 МБ статического ОЗУ;
4) Контроллер энергонезависимой памяти с литиевой батарейкой;
5) Контроллер 10BaseT Ethernet;
6) Драйвер RS232;
7) 2 интерфейса однопроводной шины 1Ware;
8) Часыкалендарь реального времени.
Схема электрическая структурная приведена в приложении БрГТУ.07823.012 Э1.
Микроконтроллер относится к семейству High Speed микроконтроллеров фирмы Dallas Semiconductor, которые при одинаковой тактовой частоте работают в 2,5 3 раза быстрее, чем оригинальный 8051. Частота кварцевого резонатора равна 18,432МГц, внутри микроконтроллера производится удвоение тактовой частоты, то есть он работает на частоте 36,864МГц. Длительность одноцикловых команд составляет 108,5нс.
Память TINI board разделена на 3 сегмента:
сегмент кода размером 1МБ;
сегмент данных размером 2МБ;
сегмент периферии размером 1МБ.
Если не используются внешние декодирующие схемы, то флэшпамять объемом 512 кБ занимает всё адресное пространство сегмента кода. В нём располагаются:
начальный загрузчик;
операционная система;
Java API;
первая Java программа, запускаемая операционной системой (обычно это slush, оболочка операционной системы, однако вместо нее можно поместить любое приложение, размер которого не превышает 64 кБ).
В адресном пространстве сегмента данных находится ОЗУ. Его объём, в зависимости от модификации TINI board равен 512кБ или 1МБ. В ОЗУ располагается файловая система TINI и так называемая «куча». При отключении основного источника тока, контроллер энергонезависимой памяти подключает микросхемы ОЗУ к литиевой батарейке. Она позволяет сохранить содержимое ОЗУ неизменным в течение 10 лет. Периферийный сегмент используют контроллер Ethernet и часыкалендарь реального времени (RTC, RealTime Clock). В свободное адресное пространство этого сегмента (около 928 кБ) можно добавлять другие периферийные устройства.
TINI поддерживает два интерфейса фирменной однопроводной сети 1Wire. Один из них реализован на выходе порта вводавывода микроконтроллера с открытым истоком, и считается внутренним, другой использует специальную микросхему формирователь сигналов 1Wire, может работать на большие расстояния, и считается внешним. Эта микросхема (DS2480S) подключается ко второму последовательному порту микроконтроллера. Первый последовательный порт имеет преобразователь уровней (драйвер) RS232. Выводы второго последовательного порта могут использоваться также для организации второго интерфейса CAN, два аппаратных контроллера которого встроены в DS80C390. Системное время и дата поддерживаются микросхемой RTC DS1315, которая для обеспечения энергонезависимости, также подключена к литиевой батарейке. Основные микросхемы чипсета TINI board перечислены в таблице 1.1. В минимальную систему могут входить только три из них микроконтроллер, ОЗУ и флэшпамять.
Таблица 1.1 Чипсет TINI.
Наименование |
Назначение |
Производитель |
Примечание |
DS80C390FNR |
Микроконтроллер |
Dallas Semiconductor |
|
AM29F040B55EC |
Флэшпамять |
Advanced MicroDevices |
Могут использоваться другие типы и производители. |
HY628400ALLT255 |
ОЗУ |
Hyundai |
Одна или две микросхемы с организацией 512кБx8, могут использоваться другие типы и производители. |
LAN91C96 |
Контроллер Ethernet |
Standard MicroSystems Corporation |
|
PM1006 |
Изолирующий трансформатор 10/100BASET |
Premier Magnetics, Inc. |
|
DS1315EN5 |
Часыкалендарь реального времени |
Dallas Semiconductor |
|
DS1321E |
Контроллер энергонезависимой памяти |
Dallas Semiconductor |
|
DS2433S |
EEPROM с интерфейсом 1Wire |
Dallas Semiconductor |
Подключено к внутреннему однопроводному интерфейсу, служит для сохранения сетевых установок. |
DS2480S |
Преобразователь последовательного интерфейса в 1Wire |
Dallas Semiconductor |
Формирователь сигналов. |
Продолжение таблицы 1.1 |
|||
Наименование |
Назначение |
Производитель |
Примечание |
DS2502PUNW |
AddOnly ПЗУ с интерфейсом 1Wire |
Dallas Semiconductor |
Подключено к внутреннему однопроводному интерфейсу, содержит идентифицирующую информацию TINI. |
DS232AEN |
Драйвер RS232 |
Dallas Semiconductor |
Программное обеспечение TINI. Второй, может быть даже более важной, составной частью платформы TINI является фирменное программное обеспечение. Для TINI реализованы виртуальная Javaмашина и библиотека классов для выполнения базовых операций. Разработчик приложения обращается к библиотеке используя API (Application Programming Interface, интерфейс прикладного программирования). TINI API содержат описания большинства классов из следующих базовых пакетов Java:
java.lang;
java.io;
java.net;
java.util.
Для реализации специфичных для TINI функций создан пакет com.dalsemi, который содержит следующие субпакеты:
com.dalsemi.system;
com.dalsemi.tininet;
com.dalsemi.shell;
com.dalsemi.comm;
com.dalsemi.onewire.
Классы из этого пакета обеспечивают доступ к аппаратному обеспечению TINI, поддержку сетевых протоколов, реализующих TELNET и FTP серверы. Класс com.dalsemi.comm в основном предназначен для реализации связи с TINI при конфигурировании ее через последовательный порт. Для использования последовательных коммуникаций в приложениях предназначен пакет javax.comm фирмы Sun, он также реализован на TINI. Не все классы, определенные в TINI API встроены в среду периода выполнения. Это сделано для экономии места во флэшпамяти. Классы, не включенные в среду периода выполнения, могут быть включены в приложение при его построении. Для доступа к оборудованию на низком уровне или написанию критичных по времени участков программы программист может использовать собственные методы, то есть реализовывать некоторые процедуры на языке ассемблера. Поддержка собственных методов реализована в TINI JVM, а компилятор с ассемблера включен в пакет фирменного программного обеспечения.
В основании среды периода выполнения лежит операционная система. Она состоит из трех основных компонент:
планировщики процессов и потоков;
подсистема управления памятью;
подсистема управления вводомвыводом.
Планирование процессов заключается в организации простого цикла из запущенных процессов. Очередному процессу выделяется для работы 8миллисекундный интервал для выполнения, по истечении которого он приостанавливается и помещается в конец очереди процессов. Каждый процесс имеет собственный планировщик потоков, который также работает по кругу, но уже с двух миллисекундным интервалом.
Подсистема управления памятью распределяет ее для всех процессов (системных и приложений), управляет файловой системой и производит сборку неиспользуемой более памяти в кучу. К куче относится оперативная память сегмента данных от окончания системной области и до конца сегмента данных. Память, выделенная приложению, не освобождается явно при его завершении. Сборкой неиспользуемых блоков памяти занимается независимый процесс сборщика мусора, который всегда запускается при старте системы.
Подсистема вводавывода разделена на два компонента: стек TCP/IP и менеджер вводавывода для остальных устройств. Стек TCP/IP обеспечивает большинство возможностей больших систем и поддерживает множество сетевых интерфейсов, включая Ethernet и PPP (PointtoPoint Protocol). Менеджер вводавывода предназначен для управления интерфейсами CAN, 1Wire, параллельной шиной и отдельными выводами портов микроконтроллера.
Начало работы с TINI. Аппаратное обеспечение, необходимое для начала работы с платформой TINI:
1) DSTINI1512 соответственно TINI с 512 кБ ОЗУ (или 1 МБ);
2) Кроссплата, на которой должны быть, как минимум, следующие разъемы: 72пиновый SIMMконнектор для установки TINI, DB9F и RJ45 для подключения к последовательному порту RS232 и сети Ethernet соответственно, и разъем для подачи питания на TINI, изображена на рисунке 1.8. Можно использовать DSTINIS005 (E10 socket board) от Dallas Semiconductor, или изготовить ее самостоятельно, в этом случае необходимо обязательно соединить выводы 12 (выход CE0/ микроконтроллера) и 45 (вход выбора кристалла флэшпамяти) TINI, а также подать +5В на вывод 9 (вход Vpp TINI board).
3) Стабилизированный источник питания с выходным напряжением +5В (+ 5%) и током нагрузки не менее 300 мА.
4) Модемный (“прямой”) кабель RS232.
5) Патчкорд Ethernet 10Base T.
Рисунок 1.8 Кроссплата
Описание HTTP протокола. HTTP это протокол прикладного уровня, разработанный для обмена гипертекстовой информацией в сети Internet[4].
Практика использования протокола такова, что клиент устанавливает соединение и ждет ответа сервера. После отправки ответа сервер инициирует разрыв соединения. Таким образом, при передаче сложных гипертекстовых страниц соединение может устанавливаться несколько раз. Остановимся более подробно на механизме взаимодействия и форме передаваемой информации.
Программаклиент после установления соединения посылает серверу запрос, который содержит следующие поля:
метод запроса содержит идентификатор метода обращения к HTTPсерверу. Наиболее распространенными методами являются “GET” и “POST”. Иногда также используются методы “HEAD”, “DELETE”, “PUT”;
метод “GET” запрашивает информацию о ресурсе, расположенном по заданному URI. Как правило, запрашиваемая информация представляет собой HTML, TXT или другой текстовый файл. Если ресурсу URI для работы необходимы параметры, они должны быть указаны в URI ресурса;
метод “POST”, как правило, используется для передачи клиентом на сервер данных, которые должны быть обработаны ресурсом, указанным в URI. Метод “POST” передает параметры ресурсу URI в теле сообщения, поэтому при его использовании не требуется соблюдать никаких ограничений на длину передаваемой строки параметров. Ответы на запросы методом POST, как правило, не кэшируются;
URI универсальный идентификатор ресурса сервера. URI определяет способ записи (кодирования) адресов различных информационных ресурсов при обращении к ним из страниц WWW.
Версия протокола версия HTTPпротокола, который клиент предполагает использовать.
Содержание запроса, также могут использоваться заголовки запроса:
1) общий заголовок “General Header” может использоваться как в запросе, так и в ответе сервера. Он появляется только тогда, когда передается тело сообщения (не пуст параметр “EntityBody”), т.е. либо когда клиент передает запрос методом “POST” с параметрами, либо когда сервер отвечает передачей сообщения:
поле “Date», содержит время построения сообщения;
поле “Pragma”, используется для установки специальных директив участникам соединения.
2) заголовок запроса “RequestHeader” появляется только в запросах клиентов. Он позволяет клиентам отправлять на сервер дополнительную информацию о себе:
“Authorization”, содержит информацию для аутентификации пользователя;
“From”, может содержать Internetадрес пользователя;
“IfModifiedSince”, используется при работе методом “GET”. Если запрашиваемый ресурс не изменялся с момента, указанного в этом параметре, данный ресурс не возвращается, по запросу возвращается только заголовок сообщения ответа и соответствующий код возврата;
“Referer”, содержит URI предшествующего ресурса;
“UserAgent”, содержит информацию о программном обеспечении клиента.
Заголовок передаваемого сообщения “EntityHeader”. Содержит информацию о структуре и формате тела запроса, или, если тело сообщения отсутствует, информацию о запрашиваемом ресурсе. Может появляться как в запросе клиента, так и ответе сервера. Включает следующие поля:
“Allow”, содержит список методов, поддерживаемых ресурсом. Это поле носит исключительно информационный характер;
“ContentEncoding”, содержит идентификатор типа дополнительной кодировки ресурса (т.е. для использования этого ресурса он должен быть раскодирован указанным алгоритмом);
“ContentLength”, определяет длину тела сообщения.
“ContentType”, содержит тип ресурса и наименование таблицы кодировки представляемых данных (usascii, iso8580l, windows1251, koi8r и др., в соответствии со спецификацией MIME);
“Expires”, содержит дату окончания срока действия ресурса. Это поле, например, может использоваться в механизмах кэширования, как параметр запрета кэширования устаревших ресурсов. Это поле может также информировать пользователя о том, что, например, информация, предоставляемая данным ресурсом, устарела;
“LastModified”, содержит дату и время последнего изменения ресурса.
Каждая строка заголовка заканчивается символами <CRLF>. Если запрос содержит сообщение, оно располагается после пустой строки, которая отделяет заголовки от тела запроса. После получения запроса, сервер обрабатывает его и отправляет результат обработки клиенту. Ответ состоит из следующих частей:
версия поддерживаемого протокола идентификатор версии HTTPпротокола, которую поддерживает сервер;
код обработки запроса или код ошибки;
заголовки.
Помимо заголовков “General Header” и “EntityHeader”, описанных ранее, в ответе содержится специальный заголовок “ResponseHeader”, который позволяет передавать дополнительную информацию обработки запроса, которую нельзя поместить в строку статуса и содержит следующие поля:
“Location”, содержит полный URI ресурса, который отвечает на отправленный запрос. Это поле своеобразный переключатель, который перенаправляет запрос на другой сервер;
“Server”, содержит спецификацию программного обеспечения WWWсервера, отвечающего на запрос;
“WWWAuthenticate”, содержит параметры аутентификации;
возвращаемая по запросу информация.
Информация тела сообщений, как клиента, так и сервера должна быть представлена в MIMEформате.
Интерфейс 1Wire. Однопроводной интерфейс 1Wire , разработан в конце 90х годов фирмой Dallas Semiconductor Corporation, представляет собой информационную сеть, использующую для осуществления цифровой связи одну линию данных и один возвратный (или земляной) провод. Таким образом, в качестве среды для передачи информации по однопроводной линии могут быть использованы кабели, содержащие неэкранированную витую пару или обычный телефонный провод[5].
Основой архитектуры 1Wireсетей, является топология общей шины, когда каждое из устройств подключено непосредственно к единой магистрали, без какихлибо каскадных соединений или ветвлений. При этом в качестве базовой используется структура сети с одним ведущим (мастером) и многочисленными ведомыми устройствами, смотрите рисунок 1.9.
Рисунок 1.9 Схема организации сетей 1Wire
Конфигурация любой 1Wireсети может произвольно меняться в процессе ее работы, не создавая помех дальнейшей эксплуатации и работоспособности всей системы в целом, если при этих изменениях соблюдаются основные принципы организации однопроводной шины. Эта возможность достигается благодаря присутствию в протоколе 1Wireинтерфейса специальной команды поиска ведомых устройств (поиск ПЗУ), которая позволяет быстро определить новых участников информационного обмена. Стандартная скорость отработки такой команды составляет ~75 узлов сети в секунду.
Все однопроводные устройства имеют свой уникальный 64битный адрес, состоящий из трех частей:
1) код семейства определяет тип устройства и выполняемые им функции;
2) ID устройства идентификационный номер, гарантирующий уникальность адреса;
3) CRC контрольная сумма, обеспечивающая целостность ID устройства и семейства.
Благодаря наличию в составе любого устройства, снабженного сетевой версией интерфейса 1Wire, уникального адреса, такая сеть имеет практически неограниченное адресное пространство. При этом, каждый из однопроводных приборов сразу готов к использованию в составе 1Wireсети, без какихлибо дополнительных аппаратнопрограммных модификаций. Однопроводные компоненты являются самотактируемыми полупроводниковыми устройствами, в основе обмена информацией между которыми лежит управление изменением длительности временных интервалов импульсных сигналов и их измерение. Передача сигналов для 1Wireинтерфейса асинхронная и полудуплексная, а вся информация, циркулирующая в сети, воспринимается абонентами либо как команды, либо как данные. Команды сети генерируются мастером и обеспечивают различные варианты поиска и адресации ведомых устройств, определяют активность на линии даже без непосредственной адресации отдельных компонентов, управляют обменом данными в сети и т.д.
Мастер генерирует одну из 5 команд:
1) поиск ПЗУ(F0H);
2) чтение ПЗУ(33H);
3) совпадение ПЗУ(55H);
4) пропуск ПЗУ(CCH);
5) условный поиск(ECH).
Стандартная скорость работы 1Wireсети 15,4кбит/сек., выбранная с учетом быстродействия наиболее широко распространенных типов микроконтроллеров, обеспечивает максимальную надежность передачи данных на большие расстояния. Это значение скорости обмена может быть уменьшено до любого возможного значения благодаря введению принудительной задержки между передачей в линию отдельных битов данных. Или увеличено за счет перехода на специальный ускоренный режим обмена (скорость Overdrive до 125кбит/сек), который допускается для отдельных типов однопроводных компонентов на непротяженной, качественной, не перегруженной другими приборами линии связи.
При реализации однопроводного интерфейса используются стандартные КМОП/ТТЛ логические уровни сигналов, а питание большинства однопроводных компонентов может осуществляться от внешнего источника с рабочим напряжением в диапазоне от 2,8 до 6,0В. Альтернативой применению внешнего питания служит, так называемый, механизм "паразитного" питания, действие которого заключается в использовании каждым из ведомых компонентов 1Wireлинии электрической энергии импульсов, передаваемых по шине данных, которая аккумулируется специальной, встроенной в прибор емкостью. Кроме того, отдельные компоненты однопроводных сетей могут использовать режим питания по шине данных, когда энергия к приемнику поступает непосредственно от мастера по линии связи, при этом обмен информацией в сети принудительно прекращается.
Фирмой Dallas Semiconductor Corporation выпускаются отдельные виды адаптеров, которые позволяют наделить любой персональный компьютер возможностью обслуживать 1Wireсеть в качестве ведущего. К ним относятся адаптеры:
DS1410E для параллельного порта;
DS9097E и DS9097U для COMпорта;
DS9490R для USBпорта.
Часто в качестве ведущего однопроводной шины выступает не компьютер, а простейший универсальный микроконтроллер. Для организации его сопряжения с сетью 1Wire используются различные программноаппаратные методы. От простейшего, когда управляющая программа контроллера полностью реализует протокол 1Wireинтерфейса на одном из своих функциональных двунаправленных выводов, связанных с однопроводной линией, до вариантов, позволяющих высвободить значительные ресурсы контроллера, благодаря использованию специализированных микросхем сопряжения с сетью 1Wire. Такие микросхемы подключаются к процессору, играющему роль ведущего однопроводной шины, через периферийные узлы вводавывода, входящие в состав любого универсального микроконтроллера.
Ведомые однопроводные компоненты, содержащие 1Wireинтерфейс, выпускаются в двух различных видах. Либо в корпусах MicroCAN, похожих внешне на дисковый металлический аккумулятор, либо в обычных корпусах для монтажа на печатную плату.
Протокол интерфейса 1Wire обеспечивает возможность работы с множеством устройств, подключенных параллельно к линии данных. Команды интерфейса позволяют определить ID всех приборов, подключенных в данный момент к линии и затем работать с конкретным прибором, переведя остальные в режим ожидания. Управление линией данных и выдачу команд производит ведущее устройство, в качестве которого может использоваться любой микроконтроллер или персональный компьютер. Для обеспечения целостности данных используется вычисление контрольных кодов, а также аппаратный промежуточный буфер в ОЗУ приборов. Данные сначала записываются в этот буфер, затем ведущий проверяет их правильность, и только после этого выдает команду ведомому устройству скопировать их из буфера в основную память.
Master генерирует следующие сигналы:
reset;
запись “0”;
запись “1”;
чтение данных.
При переходе шины в активное низкое состояние, Master передает сигнал “reset” за минимальное время 480мкс (48 мкс при ускоренном режиме). После освобождает шину и переходит в режим приема. Шина переходит в высокое состояние. Устройства ожидают 1560мкс (26мкс) и передают сигнал присутствия в течение 60240 мкс (824 мкс) в то время, когда шина переходит в низкое состояние. Этот процесс называется инициализацией, смотрите рисунок 1.10.
Рисунок 1.10 Временная диаграмма процесса инициализации
По спаду линии данных происходит синхронизация мастера и ведомых устройств.
Читаемые и записываемые данные временные слоты. Все временные слоты Master инициирует минимум за 1 мкс при переходе шины в низкое состояние.
В однопроводной системе значения логического “0” и логической “1” представлены импульсами различной длительности. Это объясняет форму временной диаграммы записи “1”/“0”, необходимых для записи команд или данных в приборы. Продолжительность низкого уровня импульса передачи “1” должна быть короче 15 мкс; для передачи “0” продолжительность низкого уровня импульса должна быть, по крайней мере, 60 мкс, чтобы гарантировать правильность записи в самом плохом случае. В конце активной части каждого временного интервала требуется время восстановления TRec, длительностью минимум 1 мкс, чтобы приготовиться к следующему биту. Временная диаграмма изображена на рисунке 1.11.
Рисунок 1.11 Временная диаграмма записи “0”/“1”
Команды и данные передаются в приборы MicroCan, путем комбинации последовательности циклов записи 0 и записи 1. Для чтения данных, ведущий шины должен генерировать последовательность циклов чтения, чтобы определить начало передачи каждого бита. Используя в качестве стартового условия переход от высокого уровня к низкому, ведомый прибор посылает один бит адресуемой информации. Если бит данных равен 1, прибор не предпринимает никаких действий на шине, оставляя импульс неизменным. Если бит данных равен 0, прибор MicroCan сохраняет низкий уровень на шине данных в течение интервала времени, составляющего 15 мкс, временная диаграмма чтения изображена на рисунке 1.12. В этом временном интервале данные верны для чтения ведущим. Продолжительность низкого уровня импульса, посланного ведущим должна составлять минимум 1 мкс и быть как можно короче, чтобы максимум времени остался для измерения ведущим уровня ответного сигнала. Чтобы компенсировать емкость кабеля однопроводной шины, ведущий должен детектировать состояние шины как можно ближе к 15 мкс после фронта синхронизации.
Рисунок 1.12 Временная диаграмма чтения “0”/“1”
Интерфейс Ethernet. Система Ethernet состоит из трех основных элементов:
1) физическая среда. Переносит сигналы Ethernet между компьютерами;
2) набор общих правил управления доступом. Внедрялся в каждый интерфейс Ethernet, чтобы компьютеры могли получать доступ в сеть;
3) фрейм Ethernet. Состоит из стандартизированного набора битов. Переносит данные по системе.
Каждый, оборудованный Ethernet, компьютер, также известный как станция, работает независимо от всех других станций в сети, т.е. нет никакого центрального контроллера. Все станции присоединялись к Ethernet и были связаны с общедоступной системой передачи сигналов, также названной средой. Сигналы Ethernet передаются последовательно, один бит по общедоступному каналу к каждой подключенной станции. Перед отправкой данных станция сначала “слушает” канал, и, когда он пуст, передает данные в виде фрейма Ethernet или пакета (Точный термин, как определено в стандарте Ethernet “фрейм”, но термин “пакет” также часто используется)[6].
После каждой передачи фрейма, все станции в сети должны бороться одинаково для следующей возможности передачи фрейма. Это гарантирует, что доступ к сетевому каналу справедлив, и что никакая отдельная станция не может блокировать другие станции. Доступ к каналу определяет medium access control (MAC) механизм, внедренный в интерфейс Ethernet, расположенный в каждой станции. MAC основан на системе, которая называется Carrier Sense Multiple Access with Collision Detection (CSMA/CD), протокол множественного доступа с опросом несущей и разрешением конфликтов.
Функции протокола CSMA/CD напоминают ужин в темной комнате. Каждый за столом должен дождаться тишины чтобы заговорить (Carrier Sense). Как только наступает тишина, каждый имеет равный шанс сказать чтолибо (Коллективный доступ). Если два человека начинают говорить в тот же самый момент, они сразу прекращают говорить (Коллизия).
В переводе на Ethernet термины это звучит так: каждый интерфейс должен ждать того, чтобы на канале не было сигнала, тогда интерфейс может начинать передачу. Если какойлибо интерфейс передает сигнал в канал, называют несущей. Перед попыткой передать чтолибо все другие интерфейсы должны ждать, пока несущая не прекратится, и этот процесс называют Carrier Sense.
Шансы послать фреймы в сеть у всех интерфейсов Ethernet равны. Никто не получает более высокий приоритет. Это и есть то, что называется Коллективным доступом. С тех пор как сигналы получают конечное время, чтобы путешествовать с одного конца системы Ethernet к другому, первые биты переданного фрейма не достигают всех частей сети одновременно. Поэтому возможно, что два интерфейса обнаружат, что канал пуст и начнут передавать в сеть пакеты одновременно. Это и есть коллизии, передача останавливается и пакеты заново начинают передаваться. Протокол CSMA/CD разработан, чтобы обеспечить равноправный доступ к общедоступному ресурсу. А суть в том, что коллизии являются абсолютно норма чтобы определить, какая станция следующей будет использовать канал Ethernet.
Если одновременно больше чем одна станция передает пакеты в канал Ethernet, то сигналы, как говорят, сталкиваются. Станции “узнают” об этом случае, и переупорядочивают передачу, используя предназначенный специально для этого алгоритм возврата. Как часть этого алгоритма каждая станция выбирает случайный интервал времени, чтобы наметить повторную передачу фрейма, которая препятствует другим станциям делать попытки передачи.
Не очень удачно, что для обозначения такого явления было выбрано слово “коллизия”. Если бы это назвали както по другому, например: “стохастическая арбитражная случайность” (SAE), тогда никто бы не волновался о возникновении SAE на Ethernet. Однако, слово “коллизия” подобно чемуто очень плохому, и многие думают, что коллизии индикация сбоев в сети.
А суть в том, что коллизии являются абсолютно нормальными событиями в Ethernet, и просто указывают, что протокол CSMA/CD функционирует как нужно. Т.к. со временем всё больше компьютеров становится в сети, соответственно увеличивается и уровень трафика, поэтому происходит больше столкновений.
Структура Ethernet системы обеспечивает на не перегруженных участках сети устранение коллизий в микросекунды. Обычное столкновение не приводит к потере данных. В случае столкновения интерфейс Ethernet ждет несколько микросекунд, и затем автоматически повторно передает данные.
В сетях с большой загрузкой бывают множественные столкновения попытки передачи фрейма. Это также нормальное поведение. Если происходят повторные столкновения для данной попытки передачи, то станции начинают разворачивать набор потенциальных времен возврата, из которых они выбирают случайное время повторной передачи.
Повторные столкновения для данной попытки передачи пакета указывают на то, что сеть занята. Расширяющийся процесс возврата, формально известный как “truncated binary exponential backoff (дословно: обрезанная двойная экспоненциальная задержка)” является свойством Ethernet MAC, который обеспечивает автоматический метод корректировки трафика в сети. Только после того, как произойдут 16 последовательных столкновений для данной попытки передачи, интерфейс наконец начнёт отказываться от пакета Ethernet. Это может случиться, только если канал Ethernet перегружен в течение довольно длительного периода времени, или какимлибо способом нарушен.
Ethernet система, вместе с другими технологиями локальной сети, обеспечивает наилучший способ доставки данных. Чтобы сделать эту технологию более доступной и приблизить стоимость локальной сети к разумному уровню, никакая гарантия надежной поставки данных не сделана. Даже при тщательно спроектированном канале передачи ошибочных битов в LAN ошибки всё ещё будут иметь место.
Например, мощный электрический шум в кабельной системе может разрушить данные во фрейме. канал локальной сети может стать перегруженным в течение некоторого периода времени. Или к примеру в результате 16 столкновений при попытке передачи при перегруженном канале, Ethernet может отпросить фрейм. Независимо от того, какая технология используется, никакая система локальной сети не совершенна, поэтому для исправления ошибок разрабатываются более высокие уровни протокола сетевого программного обеспечения.
Именно по протоколу высокого уровня отправляются данные по сети, чтобы удостовериться, что данные правильно получены в компьютере адресата. Сетевые протоколы высокого уровня устанавливают надежную службу транспортировки данных, используя порядковые номера и механизмы подтверждения в пакетах, которые они посылают по локальной сети.
Основа системы Ethernet фрейм Ethernet, который используется для обмена данными между компьютерами. Фрейм состоит из набора битов, организованных из нескольких полей. Эти поля включают адресные поля, изменяющееся поле размера которое может содержать от 46 до 1500Б данных и поле проверки ошибок, которое проверяет целостность битов во фрейме, чтобы удостовериться, что фрейм прибыл неповрежденным.
Первые два поля во фрейме несут 48 битные адреса, которые называются пунктом назначения и пунктом отправки (source & destination addresses). IEEE управляет назначением этих адресов, назначая часть поля адреса. IEEE делает это при помощи 24х битных идентификаторов, названных "Organizationally Unique Identifiers (OUIs)" (дословно: Организационные Уникальные идентификаторы), так как уникальный идентификатор на 24 бита назначен на каждую организацию, которая желает формировать интерфейсы Ethernet. Организация, в свою очередь, создает адреса на 48 битов, используя назначенный OUI как первые 24 бита адреса. Этот адрес на 48 битов также известен как физический адрес, аппаратный адрес, или MAC адрес.
Уникальный адрес на 48 бит обычно назначается каждому Ethernet интерфейсу при изготовлении. Он значительно упрощает функционирование сети. С одной стороны, предписанные адреса препятствуют Вам управлять адресами для различных групп, использующих сеть. И если Вы когдалибо пробовали заставить различные группы сотрудничать и добровольно повиноваться тому же самому набору правил, то Вы можете представить какое это преимущество.
Поскольку каждый Ethernet фрейм посылают на общедоступный канал сигнала, все интерфейсы Ethernet смотрят на первое поле фрейма размером в 48 бит, которое содержит адрес назначения. Интерфейсы сравнивают адрес назначения фрейма с их собственным адресом. Интерфейс Ethernet с тем же самым адресом как адрес назначения во фрейме будет читать фрейм полностью и передавать его к сетевому программному обеспечению, выполняющемуся на компьютере. Все другие сетевые интерфейсы прекратят читать фрейм, когда они обнаружат, что адрес назначения не соответствует их собственному адресу.
Групповой адрес позволяет одному Ethernet фрейму быть полученным группой станций. Сетевое программное обеспечение может установить Ethernet интерфейс станции для того, чтобы «слушать» определенные групповые адреса. Это позволяет назначить набору станций определенный групповой адрес. Один пакет, посланный групповому адресу, будет получен всеми станциями в той группе.
Есть также специальный групповой адрес на 48 бит, известный как широковещательный. Все Ethernet интерфейсы, которые видят фрейм с этим адресом назначения, будут читать фрейм в и передавать его к сетевому программному обеспечению, выполняющемуся на компьютере.
Компьютеры в Ethernet могут посылать данные программы друг другу, используя программное обеспечение протокола высокого уровня, вроде комплекта протоколов TCP/IP, используемого во всемирной сети Internet. Пакеты протокола высокого уровня перемещаются между компьютерами в поле данных Ethernet фреймов. Чтобы передавать данные между компьютерами система протоколов высокого уровня переносит данные прикладной программы и данные о Ethernet системе независимо друг от друга.
Протоколы высокого уровня имеют свою систему адресов, например 32разрядный адрес, используемый в текущей версии IP. Сетевое программное обеспечение данной станции “знает” о ее 32разрядном адресе IP и может читать 48 битный адрес Ethernet её сетевого интерфейса, но оно не знает, каковы могут быть адреса других станций в сети. Для того, чтобы сеть работала, должен быть какойто способ обнаружения адресов других компьютеров в сети. В нескольких протоколах высокого уровня, включая TCP/IP, используется еще один протокол высокого уровня, названный Address Resolution Protocol (ARP) (протокол определения адресов).
Действие протокола определения адресов является прямым. Например, есть станция “A” с IP адресом 192.0.2.1, которая хочет отправить данные по каналу Ethernet к другой станции “B” с IP адресом 192.0.2.2. Станция “A” посылает пакет широковещательному адресу, содержащему запрос ARP. Запрос ARP в основном говорит, “Существует ли станция на этом канале с IP адресом 192.0.2.2, пожалуйста скажите мне, каков адрес его интерфейса?”
Так как ARP запрос посылают в широковещательном фрейме, то каждый Ethernet интерфейс в сети читает это. И только станция “B” с адресом IP 192.0.2.2, ответит на такой запрос, посылая назад к “A” пакет, содержащий адрес Ethernet станции “B”. Теперь у станции “A” есть Ethernet адрес, к которому нужно отправить данные предназначенные для станции “B”.
Данная система Ethernet может нести несколько различных видов данных протокола высокого уровня. Например, один Ethernet может нести данные между компьютерами в форме протоколов TCP/IP так же как Novell или AppleTalk протоколов. Ethernet просто система, которая переносит пакеты данных между компьютерами; ей всё равно что в пакетах.
Когда становится ясно как сигналы передаются по всем устройствам, которые составляют систему Ethernet, это помогает понять топологию системы. Топология сигнала Ethernet также известна как логическая топология, в отличие от фактического физического размещения кабелей. Логическая топология Ethernet предоставляет отдельный канал (или шину), которая доставляет сигнал ко всем станциям.
Сегменты сети могут быть связаны вместе, для формирования большой локальной сети, используя усиление сигнала и устройство восстановления синхронизации названное повторителем (repeater). С помощью повторителей сеть может расти и расти, как ветвящееся дерево. Это означает, что каждый сегмент является индивидуальной ветвью целой системы сигналов. Даже притом, что носители могут быть физически связаны звездообразным видом, логическая топология все еще является единым каналом, который переносит сигнал ко всем станциям.
Понятие “дерева” только формальное название для систем подобных этой, а типичный дизайн сети фактически заканчивается более сложной конкатенацией сегментов. В сегментах сети, которые используют носители, поддерживающие множественные подключения (например: коаксиал), Вы можете установить повторитель и связаться через него с другим сегментом в любом отрезке данного сегмента. Другие типы сегментов, известные как связные сегменты, могут иметь только одно подключение в каждый конец. Это описано более подробно в индивидуальных главах.
“Nonrooted” (без корневые) означает что сеть может развиваться в любом направлении, т.е. она не завязана на чёмто одном. Наиболее важно то, что сегменты не должны быть закольцованы в противном случае сеть будет работать некорректно.
Рисунок 1.13 показывает несколько сегментов, связанных с помощью повторителей (R) и подключённых к ним станциями. Сигнал, посланный с любой станции, путешествует по сегменту той станции и повторяется во все другие сегменты. Таким образом этот сигнал слышат все станции.
Рисунок 1.13 Связь сегментов сети
Как видно, физическая топология быть шинной или звездообразной. Например, три сегмента связаны с одним повторителем и образуют звездообразную физическую топологию. Дело в том, что независимо от того, как сегменты сети физически связаны вместе, есть один канал сигнала, который передаёт фреймы по ним ко всем станциям в данной локальной сети.
Чтобы работать должным образом, все интерфейсы Ethernet должны быть способны к ответу на сигналы друг друга в пределах указанного времени. Синхронизация сигнала основана на времени, которое требуется ему чтобы добраться до конца системы и назад. Это время называют “Round Trip Timing” (Время путешествия туда и обратно). Максимальное Round Trip Timing сигналов на общедоступном канале Ethernet строго ограничено для того, чтобы гарантировать, что каждый интерфейс может слышать все сигналы в пределах указанного времени, обеспеченного в системе управления доступом среды Ethernet.
Чем дольше сегмент, тем больше времени требуется для путешествия сигнала по нему. Цель конфигурации состоит в том, чтобы удостовериться, что Round Trip Timing выполнено, независимо от того какая комбинация сегментов используется в системе. Конфигурирование обеспечивает правила для того, чтобы объединить сегменты с повторителями так, чтобы была достигнута правильная синхронизация сигнала. Если не соблюдены спецификации для индивидуальных длин сегментов и правил конфигурации, то компьютеры не смогут слышать сигналы друг друга.
Правильная операция локальной сети Ethernet зависит от правильно или неправильно связанных сегментов. Более сложные локальные сети, сформированные с разными типами носителей, должны быть установлены согласно рекомендациям, которые содержатся в стандарте Ethernet. Эти правила включают ограничения на количество сегментов и повторителей, которые могут быть в данной системе, для того, чтобы убедится, что Round Trip Timing верно.
Ethernet был разработан таким образом, чтобы быть легко расширяемым. Для того, чтобы расширять системы Ethernet, существуют устройства, которые обеспечивают множественные порты Ethernet. Эти устройства известны как концентраторы, так как они обеспечивают центральную часть, или концентратор, системы носителей.
Есть два главных вида концентраторов: концентраторыповторители и коммутирующие концентраторы. Каждый порт концентратораповторителя связывает индивидуальные сегменты Ethernet вместе, чтобы создать большую сеть, которая работает как одна. Полный набор сегментов и повторителей в LAN должен соответствовать round trip timing спецификации. Второй вид концентратора обеспечивает коммутацию на пакетном уровне, основанную на соединении портов.
Каждый порт коммутирующего концентратора пакета обеспечивает подключение к сети, которая работает как отдельная. В отличие от концентратораповторителя, чьи индивидуальные порты соединяют сегменты, чтобы создать одну большую сеть, коммутирующий концентратор позволяет делить набор систем носителей Ethernet в множественные LAN, которые связаны вместе посредством пакетной коммутации в концентраторе. Правила Round trip timing для каждой LAN перестают действовать в порту коммутирующего концентратора. Это позволяет Вам связывать большое количество индивидуальных LAN вместе.
Такая сеть может состоять или из просто одного кабельного сегмента, связывающего некоторое количество компьютеров, или из концентратораповторителя, связывающего несколько таких сегментов вместе. Большие сети могут быть соединены вместе, используя коммутирующие концентраторы пакета, чтобы сформировать ещё большую. В то время как сеть может поддерживать от нескольких компьютеров до десятков, полная система LAN Ethernet, связанная пакетными коммутаторами может поддержать много сотен или тысячи машин.
Формат кадра представлен на рисунке 1.14.
Рисунок 1.14 Формат кадра
Тем не менее, сети на основе Ethernet, фактически, очень быстро вытеснили все ранее использовавшиеся технологии и остаются основой для построения локальных сетей и по сей день. Естественно, что требования к скорости передачи и развитие самой технологии привели к тому, что в настоящее время большинство современных устройств способны производить обмен пакетами на скорости до 1000 Мбит/с (Gigabit Ethernet) по стандарту IEEE 802.3z.
Стоит отметить, что современные устройства позволяют обеспечивать обмен данными по технологии Ethernet с помощью различных сред передачи данных. Это может быть и обычная витая пара, и оптоволоконные каналы и радио Ethernet.
2 Разработка алгоритма программы
Для успешной реализации системы необходимо продумать на начальном этапе структуру приема данных из сокета на компорт, и визуализацию передачи пакетов. Полная схема алгоритма системы представлена на чертеже БрГТУ.07823 12 90 00.
В начале работы программы система должна произвести инициализацию элементов и сети Ethernet, предусматривается создание объекта сокета, смотрите рисунок 2.1.
Рисунок 2.1 Инициализация элементов и Ethernet
Предусматривается поиск доступных компортов, которые есть в системе. После чего выбирается один доступный, если порт не найден производится обработка исключений, смотрите рисунок 2.2.
Рисунок 2.2 Сканирование и выбор порта.
Если объекты порта и сокета созданы производится подключение, рисунок 2.3.
Рисунок 2.3 Подключение.
При подключении создаются два дочерних потока. Один для приема данных с Ethernet, второй для приема данных с компорта. При приеме пакетов с Ethernet, предусматривается визуализация передачи пакетов в логе окна, рисунок 2.4.
Рисунок 2.4 Создание дочерних потоков.
В процессе работы программы, предусматривается очистка лога передачи и временных буферов, рисунок 2.5.
Рисунок 2.5 Очистка лога и буферов.
При проектировании сетевых приложений на Java Первым и самым важным источником непредсказуемого поведения является сборщик мусора (garbage collector). С одной стороны, технология выглядит сущим благом для разработчиков, избавляющим их от необходимости управлять памятью вручную, но в то же время она вносит вариационную составляющую в выполнение программы. К сожалению, невозможно предсказать в какой момент включится механизм сбора ненужных объектов, и как долго он будет продолжаться, что может также влечь за собой блокировку важных рабочих потоков.
Следующим источником задержек является динамическая загрузка классов Java. Классы загружаются, верифицируются и инициализируются в тот момент, когда приложение ссылается на них в первый раз. Важно отметить, что данная операция может выполняться длительное время, а это в свою очередь, может повлиять критически на итоговую работу приложения. Например, классы, представляющие исключительные ситуации, которые могут быть не загружены на момент возникновения ошибочной ситуации, или если выполнилось редкое условие.
Терминальная программа написана на языке программирования Java. Программа оформлена в виде исполняемого файла для Javaмашины TINI (TINI JVM), исрльзовалась среда программирования NetBeans IDE 7.0.1, версия JDK(Java Development Kit) 1.7, текст программы приведен в приложении БрГТУ.07823 12 12 00.
Среда IDE NetBeans это признанная интегрированная среда разработки приложений для платформ Windows, Mac, Linux и Solaris. Проект NetBeans состоит из интегрированной среды разработки с открытым исходным кодом и платформы приложений, которые позволяют разработчикам быстро создавать вебприложения, производственные, настольные и мобильные приложения на платформе Java, а также PHP, JavaScript и Ajax, Ruby и Ruby on Rails, Groovy и C/C++. Проект поддерживается энергичным сообществом разработчиков и предлагает большой выбор подключаемых модулей независимых поставщиков ПО. Мы считаем, что среду IDE NetBeans должен загрузить каждый разработчик программного обеспечения[7].
В начале работы программ запускается на выполнение объект класса Server, функцией которого является прослушивание сокета.
В процессе выполнения основной программы, прозводится сканирование системы на наличие коммпортов, создается объекты для компорта и сокета, после создания объектов на выполнение запускаются два дочерних потока на основе класса Thread, главный поток main перед своим завершением, ожидает когда дочерние потоки закончат свою работу. Первый поток производит передачу пакетов из сокета в компорт, второй из компорта в сокет. Схема данных приведена на чертеже БрГТУ.0782311 91 00.
Отправленные пакеты отображаются в окне лога в Hexформате. Схема программной реализации системы представлена на рисунке 3.1.
Рисунок 3.1 Программная реализация системы
Класс ServerSocet реализован как сервер, работающий по протоколу TCP/IP и возвращающий по запросу клиента имя сервера клиента и порт.
Реализация клиента представлена шестью пользовательских класса, пятью встроенных класса и одним интерфейс. Опишем классы и используемые в нем методы более подробно.
Класс Socet создает объект сокета. Перечислим основные методы, реализованные в классе:
int getPort() возвращает номер текущего порта;
setPort (int Port) устанавливает номер порта;
setInputStream() связывания сокета с входным потоком;
setOutputStream() связывание сокета с выходным потоком.
Класс SerialPort создает объект компорта. Основные методы данного класса:
getPortIdentifier() возвращает им порта;
setSerialPortParams() установка параметров порта;
setOutputBufferSize() установка выходного буфера порта;
setInputBufferSize() установка входного буфера порта.
Класс Myclass пользовательский класс, который организует непосредственно связь между сокетом и портом:
numport() производит сканирование компортов в системе;
connect() пользовательский метод создающий объекты компорта и сокета;
socetComm() организует передачу данных из сокета в компорт;
comSocet() организует передачу данных из порта в сокет.
Класс View пользовательский класс, организующий отображение отправленных данных в Hexформате.
Класс Thread класс, объекты которого являются создаваемые дочерние потоки;
start() метод для запуска потока, при вызове этого метода автоматически запускается метод run();
sleep() метод используется для приостановки запуска потока, время, на которое выполняется приостановка в работе потока;
join() методинструкция ожидания завершения потока.
Класс BufferedReader класс, создает буфферизированый поток ввода:
readLine() считывание строки в из файла;
write() запись в файл;
close() закрытие потока;
Класс BufferedWriter() создает буфферизирований поток вывода:
read() считывание из файла;
Класс View1 пользователь класс, отображающий параметры сети.
Класс View2 пользовательский класс, отображающий информацию о дипломном проекте.
Класс View3 пользовательский класс, отображающий информацию о программе.
Интерфейс Runnable интерфейс, который содержит методы run() и start().
Любая концепция, которую необходимо реализовать на Java должна быть инкапсулирована в класс.
Перед запуском программы необходимо загрузить в оперативную память TINI операционную систему версии не ниже 1.02e и оболочку slush. Это делается при помощи утилиты JavaKit, входящей в состав TINI SDK.
В обязательном порядке необходимо сконфигурировать протокол TCP/IP на TINI и присвоить один из имеющихся в сети свободных IPадресов. Конфигурация TCP/IP осуществляется командой ipconfig.
Схема взаимодействия программ приведена на чертеже БрГТУ.07823 12 92 00.
После запуска программы на экране появится окно с пользовательским интерфейсом, смотрите рисунок 4.1.
Рисунок.4.1 Интерфейс программы
При нажатие на кнопку “Подключение” в лог записываются отправлены пакеты, отображается текущий имя клиента и порт подключения, рисунок 4.2.
При нажатие на кнопку “Очистить” из лога удаляются ранее записанные данные, смотрите рисунок
При нажатие на кнопку “Стоп” поток завершает свою работу, рисунок 4.3.
Пункте меню “Файл” содержит подпункты “Подключение”, выполняющая те же функции, что и кнопка “Подключение”, подпункт “Выход” выполняет выход их программы.
Пункт меню “Настройка” содержит подпункты “Сеть”, смотрите рисунок 4.6, содержащий параметры сети, подпункты “Очистить лог”, выполняет очистку лога, смотрите рисунок 4.4.
Пункт меню “Помощь” содержит подпункты “Помощь”, содержащий информацию о программе, подпункт “О проекте” содержит информацию о дипломном проекте, смотрите рисунок 4.7.
Рисунок 4.2 передача пакетов
Рисунок 4.3 Приостановление потока
Рисунок 4.4 Очистка лога
Рисунок 4.5 Остановка передачи пакетов
Рисунок 4.6 Параметры сети
Рисунок 4.7 Информация о проекте
Новое программное обеспечение, в том числе и разрабатываемое в дипломных проектах, является объектом инвестиционной деятельности любого предприятия. Она связана с долгосрочным вложением денежных средств в реализацию проектов, обеспечивающих предприятию получение выгод в течение периода, превышающего один год.
Решение об инвестициях в данные проекты принимается лишь в том случае, если производство или эксплуатация новой техники будут экономически выгодными. Этим объясняется необходимость проведения техникоэкономического обоснования проекта.
Каждое программное средство как реальная продукция имеет определенный жизненный цикл. Жизненным циклом называется период от начала разработки программного обеспечения и до его снятия с эксплуатации, включающий в себя, как правило, три основные стадии: разработку (проектирование), производство (создание) и использование (сопровождение) программных средств. В современном мире высоких технологий качественное программное обеспечение является весьма востребованным, вследствие повсеместного применения вычислительной техники, постоянное обновление которой требует, в свою очередь, совершенствования и модернизации программных средств. Для выбора наиболее эффективных с точки зрения инвестиций проектов необходимо произвести экономическую оценку и рассчитать экономический эффект.
Новое программное средство относится к типу программных средств общего назначения являющееся развитием определенного параметрического ряда программных средств вычислительной техники, разработанных на ранее освоенных типах ЭВМ, операционных систем и языках программирования.
Новое программное средство рассчитано на квалифицированных пользователей и предназначено для считывания, накопления и визуализации информации о положение двигателей.
Разработка программного средства предусматривает проведение всех стадий проектирования (техническое задание, эскизный проект, технический проект, рабочий проект, внедрение), относится к третьей группе сложности. По степени новизны программное средство относится к группе "В" с коэффициентом 0,63.
Исходные данные приведены для расчета в таблице 5.1.
Таблица 5.1 Исходные данные к расчётам
Наименование показателей |
Буквенные обозначения |
Значение показателя |
Коэффициент новизны |
Кн |
0,63 |
Группа сложности |
|
3,00 |
Дополнительный коэффициент сложности |
Ксл |
0,07 |
Поправочный коэффициент, учитывающий использование типовых программ |
Кт |
0,9 |
Коэффициенты, учитывающие средства разработки |
Кур |
1,0 |
Поправочный коэффициент, учитывающий использование типовых программ был выбран исходя из степени охвата реализуемых функций разрабатываемого программного обеспечения стандартными модулями.
Объем программного обеспечения определяется путем подбора аналогов на основании:
классификации типов программного обеспечения;
каталога функций программного обеспечения.
Расчет общего объема ПО (количества строк исходного кода (LOC) предполагает определение объема по каждой функции. В том случае, когда на стадии техникоэкономического обоснования проекта невозможно рассчитать точный объем функций, то данный объем может быть получен на основании ориентировочной (прогнозной) оценки имеющихся фактических данных по аналогичным проектам, выполненным ранее, или путем применения нормативов по каталогу функций.
Общий объем программного обеспечения рассчитывается по формуле (5.1).
, (5.1)
где V0 общий объем программного обеспечения;
nобщее число функций;
Vi объем отдельной функции программного обеспечения.
Расчет общего объёма программного обеспечения приведен в таблице 5.2.
Таблица 5.2 Характеристика функций и их объём
Номер функции |
Содержание функций |
Объем (строк исходного кода (LOC)) |
|
102 |
Контроль, предварительная обработка и ввод информации |
490 |
110 |
109 |
Управление вводом/выводом |
1790 |
150 |
303 |
Обработка файла |
1050 |
125 |
Продолжение таблицы 5.2 |
|||
Номер функции |
Содержание функции |
Объем (строк исходного кода (LOC)) |
|
507 |
Обеспечение интерфейса между компонентами |
1680 |
112 |
506 |
Обработка ошибок и сбойных ситуаций |
1540 |
90 |
707 |
Графический вывод результатов |
590 |
208 |
Итого |
7140 |
795 |
Нормативная трудоемкость (Тн) определяется по укрупнённым нормам затрат труда на разработку программного обеспечения на основании общего объема программного обеспечения. Нормативная трудоемкость устанавливается с учетом сложности программного средства. Выделяют три группы сложности, в которых учтены следующие составляющие программного обеспечения: языковой интерфейс, вводвывод, организация данных, режимы работы, операционная и техническая среда.
Объему 795 условных машинных команд (3 группа сложности программного средства) соответствует нормативная трудоемкость 40 челдн.
Кроме того, устанавливаются дополнительные коэффициенты сложности программного обеспечения.С учетом дополнительного коэффициента сложности Ксл по формуле (5.2) рассчитывается общая трудоемкость.
То = Тн+ Тн·Ксл, (5.2)
где То общая трудоемкость программного обеспечения, (челдн);
Тннормативная трудоёмкость программного обеспечения, (челдн);
Ксл дополнительный коэффициент сложности программного средства.
Для разрабатываемого программного обеспечения коэффициент сложности равен 0.06 т.к. учитывается возможность интерактивного доступа. Таким образом, общая трудоёмкость составит 116.6 челдн.
При создании программных средств выделяют следующие стадии разработки:
техническое задание (ТЗ);
эскизный проект (ЭП);
технический проект (ТП);
рабочий проект (РП);
внедрение (ВН).
При решении сложных задач с длительным периодом разработки программного средства трудоемкость определяется по стадиям разработки с учетом новизны, степени использования типовых программ и удельного веса трудоемкости стадий разработки.
На основании общей трудоемкости рассчитывается уточненная трудоемкость с учетом распределения по стадиям (Тут), определяется по формуле (5.3).
Тут = , (5.3)
где Тi трудоемкость разработки ПО на iтой стадии, (челдн).
mколичество стадий разработки;
Значения коэффициентов удельных весов трудоемкости зависят от степени новизны программного обеспечения.
Трудоемкость программного обеспечения по стадиям определяется с учетом новизны, степени использования в разработке типовых программ и средств разработки.
Трудоемкость по стадиям определяется по формуле (5.4).
Тстi= dстi·Кн·Кт· Кур·То, (5.4)
где Тстi трудоемкость разработки ПО на iой стадии (технического задания, эскизного проекта, технического проекта, рабочего проекта и внедрения);
dстi удельный вес трудоемкости iой стадии разработки программного обеспечения в общей трудоемкости разработки программного обеспечения;
Кн поправочный коэффициент, учитывающий степень новизны программного обеспечения;
Кт поправочный коэффициент, учитывающий степень использования в разработке типовых программ;
Куркоэффициент, учитывающий средства разработки;
То общая трудоемкость программного обеспечения, (челдн).
Расчет уточненной трудоемкости представлен в таблице 5.3.
Таблица 5.3 Расчет уточнённой трудоемкости разработки
Показатели |
Стадии |
Итого |
||||
ТЗ |
ЭП |
ТП |
РП |
ВН |
||
1. Коэффициенты удельных весов трудоемкости стадии разработки программного обеспечения (К) |
0,18 |
0,19 |
0,28 |
0,24 |
0,11 |
1,0 |
2.Коэффициент, учитывающий использование стандартных модулей (Кт) |
1 |
|
||||
3. Коэффициент, учитывающий новизну программного обеспечения (Кн) |
0,63 |
0,63 |
0,63 |
0,63 |
0,63 |
|
4. Коэффициент, учитывающий средства разработки |
1,0 |
1,0 |
1,0 |
1,0 |
1,0 |
|
Продолжение таблицы 5.3 |
||||||
Показатели |
ТЗ |
ЭП |
ТП |
РП |
ВН |
Итого |
5.Уточненная трудоемкость |
13,22 |
13,96 |
20,57 |
17,63 |
8,08 |
73,46 |
Уточнённая трудоёмкость разработки программного обеспечения по всем стадиям составит 72 челдн.
Эффективный фонд времени работы одного работника (Фэф) рассчитывается по формуле (5.5).
Фэф = Д-Дпв-До, (5.5)
где Фэф эффективный фонд времени работы одного работника, рабочие дни;
Дг количество дней в году, (дн);
Дп количество нерабочих дней (выходные и праздничные) в году, (дн);
Доколичество дней отпуска, (дн).
При выполнении расчетов в дипломном проекте необходимо принимать значение Д равным количеству дней выполнения расчетов.
Длительность периода дипломного проектирования с 1 февраля по 1 июня составляет 83 рабочих дня.
На основании уточненной трудоемкости разработки программного обеспечения и установленного периода разработки по формуле 5.6 рассчитывается общая плановая численность разработчиков рассчитывается.
Чразоб= , (5.6)
где Чразоб общая плановая численность разработчиков, (чел);
Тут уточнённая трудоёмкость, (челдн);
Тпл плановая продолжительность разработки программного средства, лет;
Фэф эффективный фонд времени работы одного работника в течение года, (дн/год).
При установленной плановой продолжительности разработки численность разработчиков составит один человек:
Чразоб= .
В состав разработчиков входит программист без категории.
Данные для расчёта заработной платы работников представлены в таблице 5.4.
Таблица 5.4 Исходные данныедля расчёта заработной платы работников
Наименование показателей |
Буквенные обозначения |
Количество |
Тарифная ставка рабочего 1 разряда |
См1 |
210000 руб. |
Расчетная норма рабочего времени за 2011 год |
2023 ч |
|
Продолжительность рабочего дня |
Тр |
8 ч |
Коэффициент премирования |
Кпр |
1,5 |
Дополнительная заработная плата |
Нд |
20% |
Определяем, сколько дней в выполнении задания принимал каждый исполнитель, и результаты представляем в таблице 5.5.
Таблица 5.5 Продолжительность участия в разработке
Показатели |
Стадии разработки ПО |
Всего |
||||
ТЗ |
ЭП |
ТП |
РП |
ВН |
||
Общая трудоемкость ПО (То), челдней |
7 |
7 |
10 |
6 |
10 |
40 |
Продолжительность участия в разработке, дн |
|
|
|
|
|
|
Программист без категории |
7 |
7 |
10 |
6 |
10 |
40 |
Определение месячной тарифной ставки производится следующим образом, формула (5.7): тарифная ставка рабочего первого разряда умножается на тарифный (Ктар) и корректирующий (Ккор) коэффициенты:
См = См1·Ктар·Ккор, (5.7)
где См месячная тарифная ставка, (руб);
См1 месячная тарифная ставка рабочего первого разряда, (руб);
Ктар тарифный коэффициент;
Ккор корректирующий коэффициент.
Определение часовой тарифной ставки производится по формуле (5.8).
Счас= , (5.8)
где Счас часовая тарифная ставка, (руб);
См месячная тарифная ставка, (руб);
Нм норма рабочего времени в месяц, (ч).
Расчетная норма рабочего времени в месяц определяется по формуле (5.9).
Нм= == 168,59 ч , (5.9)
где Нм норма рабочего времени в месяц, (ч);
расчетная норма рабочего времени за 2012 год.
Основная заработная плата исполнителей на конкретное программное обеспечение определяется за фактически отработанное время по формуле (5.10).
ЗПосн= , (5.10)
где n количество исполнителей, занятых разработкой конкретного программного обеспечения;
ЗПосн основная заработная плата исполнителей, (руб);
Счасi часовая тарифная ставка iго исполнителя,(руб);
Фэфi эффективный фонд рабочего времени iго исполнителя, (дн);
Тр количество часов работы в день, (ч);
Кпр коэффициент премирования.
Дополнительная заработная плата на конкретное программное средство (ЗПдоп) включает выплаты, предусмотренные законодательством о труде (оплата отпусков, льготных часов, времени выполнения государственных обязанностей и других выплат, не связанных с основной деятельностью) и определяется по нормативу в процентах к основной заработной плате по формуле (5.11).
ЗПдоп = , (5.11)
где ЗПосн основная заработная плата исполнителей, (руб);
Нд норматив дополнительной заработной платы, (%).
Результаты расчетов по определению основной и дополнительной заработной платы исполнителей приведены в таблице (5.6).
Таблица 5.6 Определение основной и дополнительной заработной платы
Исполнители |
Разряд |
Смес, тыс.руб. |
Счас,тыс.руб. |
ЗПосн, тыс.руб. |
ЗПдоп, тыс.руб. |
Программист без категории |
8 |
486 |
2,88 |
2540 |
508 |
Исходные данные для составления сметы затрат приведены в таблице 5.7.
Таблица 5.7 Исходные данные для составления сметы затрат
Наименование показателей |
Буквенные обозначения |
Количество |
Фонд социальной защиты населения |
Ссоц |
34% |
Норматив командировочных расходов |
Ннк |
12% |
Норматив прочих затрат |
Нпр |
20% |
Норматив накладных расходов |
Ннр |
40% |
Норматив на сопровождение и адаптацию |
Нса |
15% |
Инновационный фонд |
ИФ |
0,25% |
Расчёт себестоимости представлен в таблице 5.8.
Таблица 5.8 Результаты расчёта себестоимости
Статьи затрат |
Обозна чение |
Нормативы |
Расчетная формула |
Сумма затрат, тыс.руб. |
Материалы |
М |
228 |
6,5 |
|
Топливноэнергетические ресурсы (оплата машинного времени) |
ВРмаш |
6 |
1004,2 |
|
Спецоборудование |
ОБспец |
|
||
Заработная плата научнопроизводственного персонала, в том числе: |
З |
|
З= ЗПосн+ ЗПдоп |
3049,3 |
Основная заработная плата |
Зосн |
|
|
2541,1 |
Дополнительная заработная зарплата |
Здоп |
|
|
508,2 |
Отчисления в бюджет, целевые бюджетные и внебюджетные фонды от средств на оплату труда научнопроизводственного персонала, в том числе: |
О |
|
О = Фсзн + Остр |
1020,8 |
Продолжение таблицы 5.8 |
||||
Статьи затрат |
Обозна чение |
Нормативы |
Расчетная формула |
Сумма затрат, тыс.руб. |
Отчисления в фонд социальной защиты населения |
Офсзн |
34 % |
1036,7 |
|
|
||||
Отчисления по обязательному страхованию |
Остр |
0.3% |
9,1 |
|
|
||||
Научнопроизводственные командировки |
Рнк |
Ннк |
365,9 |
|
Работы и услуги сторонних организаций |
Р |
|
|
|
Прочие прямые расходы |
Рпр |
Нпр |
609,8 |
|
Накладные расходы |
Рн |
Ннр |
1219,7 |
|
Всего: |
Ссеб |
Ссеб=М+ВРмаш+З+О+ +Рнк+Рпр+Рн |
7301,6 |
|
Инновационный фонд |
ИФ |
0.25 |
ИФ=0,0025·(Ссеб+Зса) |
1095,2 |
Затраты на сопровождение и адаптацию |
Зса |
Нса |
Зса =·Ссеб |
1095,2 |
Полная себестоимость |
|
=Ссеб +Зса + ИФ |
8417,9 |
Цена одного машиночаса работы компьютера рассчитывается исходя из часовой тарифной ставки работника, пользующегося данным компьютером, расходов на электроэнергию и амортизация ПК. Также в цену включается налог на прибыль, налог на добавленную стоимость, формула (5.12).
, (5.12)
где Счас часовая тарифная ставка, (руб);
Кпр коэффициент премирования;
ЦкВт цена за 1 кВт.час, (руб);
Спк стоимость персонального компьютера, (руб);
п ставка налога на прибыль, принимается равной 0,24;
Сндс ставка налога на добавленную стоимость, принимается равной 0,20.
Результаты расчёта отпускной цены представлены в таблице 5.9.
Таблица 5.9 Результаты расчёта отпускной цены
Наименование показателей |
Норматив |
Исходные данные |
Формула для расчета |
Сумма, тыс.руб. |
Полная себестоимость |
|
Спол |
|
8417,9 |
Прибыль |
25 % |
Пр |
Пр=·0,25 |
2104,4 |
Отпускная цена без НДС |
|
Цо |
Цо= Пр + |
10522,3 |
Налог на добавленную стоимость |
20 % |
НДС |
F5 = |
2104,4 |
Цена программного обеспечения |
|
Ц |
НДС = Цо·0,2 |
12626,8 |
Таким образом, была рассчитана себестоимость и прогнозируемая отпускная цена разрабатываемого программного обеспечения.
В данном разделе рассмотрим экологические аспекты, а также аспекты по охране труда при работе пользователя за персональным компьютером (ПК). Представить какойлибо офис без компьютеров в наше время просто невозможно. Количество пользователей персональных компьютеров растет не по дням, а по часам[8].
Ниже приведем информацию постановления Министерства труда и социальной защиты Республики Беларусь от 30 ноября 2004 г. №138 “Об утверждении Межотраслевой типовой инструкции по охране труда при работе с персональными компьютерам”.
Требования Инструкции не распространяются на работников:
управляющих транспортными и другими движущимися средствами и оборудованием (водителей, пилотов, машинистов, операторов);
использующих портативные системы обработки данных, если они непостоянно используются на рабочем месте;
использующих калькуляторы, кассовые аппараты и другое оборудование с небольшими устройствами индикации данных или результатов измерения;
использующих печатные машинки классической конструкции, оборудованные видеотерминалом (так называемые дисплейные печатные машинки).
К работе с ПК допускаются работники, не имеющие медицинских противопоказаний, прошедшие инструктаж по вопросам охраны труда, с группой по электробезопасности не ниже I. Женщины со времени установления беременности и в период кормления грудью к выполнению всех видов работ, связанных с использованием ПК, не допускаются. При работе с ПК на работников могут оказывать неблагоприятное воздействие следующие опасные и вредные производственные факторы:
повышенный уровень электромагнитных излучений;
повышенный уровень ионизирующих излучений;
повышенный уровень статического электричества;
повышенная напряженность электростатического поля;
повышенная или пониженная ионизация воздуха;
повышенная яркость света;
прямая и отраженная блесткость;
повышенное значение напряжения в электрической цепи, замыкание которой может произойти через тело человека;
статические перегрузки костномышечного аппарата и динамические
локальные перегрузки мышц кистей рук;
перенапряжение зрительного анализатора;
умственное перенапряжение;
эмоциональные перегрузки;
монотонность труда.
В зависимости от условий труда, в которых применяются ПК, и характера работы на работников могут воздействовать также другие опасные и вредные производственные факторы.
Организация рабочего места с ПК должна учитывать требования безопасности, удобство положения, движений и действий работника.
Рабочий стол с учетом характера выполняемой работы должен иметь достаточный размер для рационального размещения монитора (дисплея), клавиатуры, другого используемого оборудования и документов, поверхность, обладающую низкой отражающей способностью.
Клавиатура располагается на поверхности стола таким образом, чтобы пространство перед клавиатурой было достаточным для опоры рук работника (на расстоянии не менее чем 300 мм от края, обращенного к работнику).
Чтобы обеспечивалось удобство зрительного наблюдения, быстрое и точное считывание информации, плоскость экрана монитора располагается ниже уровня глаз работника предпочтительно перпендикулярно к нормальной линии взгляда работника (нормальная линия взгляда 15° вниз от горизонтали).
Для исключения воздействия повышенных уровней электромагнитных излучений расстояние между экраном монитора и работником должно составлять не менее 500 мм(оптимальное 600700 мм).
Применяемые подвижные подставки для документов (пюпитры) размещаются в одной плоскости и на одной высоте с экраном.
Рабочий стул (кресло) должен быть устойчивым, место сидения должно регулироваться по высоте, а спинка сиденья по высоте, углам наклона, а также расстоянию спинки от переднего края сиденья. Регулировка каждого параметра должна быть независимой, легко осуществляемой и иметь надежную фиксацию.
Для тех, кому это удобно, предусматривается подставка для ног.
Рабочее место размещается таким образом, чтобы естественный свет падал сбоку(желательно слева).
Для снижения яркости в поле зрения при естественном освещении применяются регулируемые жалюзи, плотные шторы.
Светильники общего и местного освещения должны создавать нормальные условия освещенности и соответствующий контраст между экраном и окружающей обстановкой с учетом вида работы и требований видимости со стороны работника. Освещенность на поверхности стола в зоне размещения рабочего документа должна составлять от 300 до 500 люкс.
Возможные мешающие отражения и отблески на экране монитора и другом оборудовании устраняются путем соответствующего размещения экрана, оборудования, расположения светильников местного освещения. При рядном размещении рабочих столов расположение экранов видео мониторов навстречу друг другу изза их взаимного отражения не допускается.
Для обеспечения безопасности работников на соседних рабочих местах расстояние между рабочими столами с мониторами (в направлении тыла поверхности одного монитора и экрана другого монитора) должно быть не менее 2,0 м, а расстояние между боковыми поверхностями мониторов не менее 1,2 м.
Для снижения уровня напряженности электростатического поля при необходимости применяются экранные защитные фильтры. При эксплуатации защитный фильтр должен быть плотно установлен на экране монитора и заземлен.
Для обеспечения оптимальных параметров микроклимата проводятся регулярное в течение рабочего дня проветривание и ежедневная влажная уборка помещений, используются увлажнители воздуха.
При работе с ПК обеспечивается доступ работников к первичным средствам пожаротушения, аптечкам первой медицинской помощи.
Работники при работе с ПК с учетом воздействующих на них опасных и вредных производственных факторов обеспечиваются средствами индивидуальной защиты в соответствии с типовыми отраслевыми нормами для соответствующих профессий и должностей.
При работе с ПК работники обязаны:
соблюдать режим труда и отдыха, установленный законодательством, правилами внутреннего трудового распорядка организации, трудовую дисциплину, выполнять требования охраны труда, правил личной гигиены;
выполнять требования пожарной безопасности, знать порядок действий при пожаре, уметь применять первичные средства пожаротушения;
курить только в специально предназначенных для курения местах;
знать приемы оказания первой помощи при несчастных случаях на производстве;
о неисправностях оборудования и других замечаниях по работе с ПК сообщать руководителю или лицам, осуществляющим техническое обслуживание оборудования.
Не допускается:
выполнять работу, находясь в состоянии алкогольного опьянения либо в состоянии, вызванном употреблением наркотических средств, психотропных или токсических веществ, а также распивать спиртные напитки, употреблять наркотические средства, психотропные или токсические вещества на рабочем месте или в рабочее время;
устанавливать системный блок в закрытых объемах мебели, непосредственно на полу;
использовать для подключения ПК розетки, удлинители, не оснащенные заземляющим контактом (шиной).
Работники, не выполняющие требования настоящей Инструкции, привлекаются к ответственности согласно законодательству.
Рассмотрим требования безопасности перед началом работы.
Перед началом работы с ПК работник обязан:
проветрить рабочее помещение;
проверить: устойчивость положения оборудования на рабочем столе; отсутствие видимых повреждений оборудования, дискет в дисководе системного блока; исправности целостность питающих и соединительных кабелей, разъемов и штепсельных соединений, защитного заземления (зануления); исправность мебели.
отрегулировать: положение стола, стула (кресла), подставки для ног, клавиатуры, экрана монитора; освещенность на рабочем месте; при необходимости включить местное освещение.
протереть поверхность экрана монитора, защитного фильтра (при его наличии)сухой мягкой тканевой салфеткой;
убедиться в отсутствии отражений на экране монитора, встречного светового потока.
включить оборудование ПК в электрическую сеть, соблюдая следующую последовательность: стабилизатор напряжения (если он используется), блок бесперебойного питания, периферийные устройства (принтер, монитор, сканер и другие устройства), системный блок.
Запрещается приступать к работе при: выраженном дрожании изображения на мониторе; обнаружении неисправности оборудования; наличии поврежденных кабелей или проводов, разъемов штепсельных соединений; отсутствии или неисправности защитного заземления (зануления) оборудования.
Рассмотрим требования к безопасности при выполнении работы.
Во время работы с ПК работник обязан:
соблюдать требования охраны труда, установленные настоящей Инструкцией;
содержать в порядке и чистоте свое рабочее место;
держать открытыми вентиляционные отверстия оборудования;
соблюдать оптимальное расстояние от экрана монитора до глаз.
Работу за экраном монитора следует периодически прерывать на регламентированные перерывы, которые устанавливаются для обеспечения работоспособности и сохранения здоровья, или заменять другой работой с целью сокращения рабочей нагрузки у экрана.
Время регламентированных перерывов в течение рабочего дня устанавливается в зависимости от его (ее) продолжительности, вида и категории трудовой деятельности.
При 8часовой рабочей смене и работе с ПК регламентированные перерывы устанавливаются: для I категории работ через 2 часа от начала рабочей смены и через 2 часа после обеденного перерыва продолжительностью 15 мин. каждый; для II категории работ через 2 часа от начала рабочей смены и через 1,52 часа. после обеденного перерыва продолжительностью 15 мин. каждый или продолжительностью 10 мин. через каждый час работы; для III категории работ через 1,52 часа. от начала рабочей смены и через1,52 часа. после обеденного перерыва продолжительностью 20 мин. каждый или продолжительностью 15 мин. через каждый час работы.
При 12часовой рабочей смене и работе с ПК регламентированные перерывы устанавливаются в первые 8 часов. работы аналогично перерывам при 8часовой рабочей смене, а в течение последних 4 часов. работы, независимо от категории и вида работ, каждый час продолжительностью 15 мин.
При работе с ПК в ночную смену (с 22.00 до 6.00) независимо от категории и вида трудовой деятельности суммарная продолжительность регламентированных перерывов увеличивается на 60 мин.
Продолжительность непрерывной работы с ПК без регламентированного перерыва не должна превышать 2 ч.
Во время регламентированных перерывов для снижения нервноэмоционального напряжения, утомления зрительного анализатора, улучшения функционального состояния нервной, сердечнососудистой, дыхательной систем, а также мышц плечевого пояса, рук, спины, шеи и ног целесообразно выполнять комплексы
Работникам с высоким уровнем напряженности труда во время регламентированных перерывов и в конце рабочего дня показана психологическая разгрузка в специальнооборудованных комнатах психологической разгрузки.
С целью уменьшения отрицательного влияния монотонности необходимо применять чередование операций.
Не следует оставлять оборудование включенным без наблюдения. При необходимости прекращения на некоторое время работы корректно закрываются все активные задачи и оборудование выключается.
При работе с ПК не разрешается:
при включенном питании прикасаться к панелям с разъемами оборудования, разъемам питающих и соединительных кабелей, экрану монитора;
загромождать верхние панели оборудования, рабочее место бумагами;
производить переключения, отключение питания во время выполнения активной задачи;
допускать попадание влаги на поверхность оборудования;
включать сильно охлажденное (принесенное с улицы в зимнее время) оборудование;
производить самостоятельно вскрытие и ремонт оборудования;
вытирать пыль на включенном оборудовании;
допускать нахождение вблизи оборудования посторонних лиц.
Рассмотрим требования безопасности в аварийных ситуациях.
В аварийных (экстремальных) ситуациях необходимо:
при повреждении оборудования, кабелей, проводов, неисправности заземления, появлении запаха гари, возникновении необычного шума и других неисправностях немедленно отключить электропитание оборудования и сообщить о случившемся непосредственному руководителю и лицу, осуществляющему техническое обслуживание оборудования;
в случае сбоя в работе оборудования ПК или программного обеспечения вызвать специалиста организации, осуществляющего техническое обслуживание данного оборудования, для устранения неполадок;
при возгорании электропроводки, оборудования и тому подобных происшествиях отключить электропитание и принять меры по тушению пожара с помощью имеющихся первичных средств пожаротушения, сообщить о происшедшем непосредственному руководителю. Применение воды и пенных огнетушителей для тушения находящегося под напряжением электрооборудования недопустимо. Для этих целей используются углекислотные огнетушители;
в случае внезапного ухудшения здоровья (усиления сердцебиения, появления головной боли и других) прекратить работу, выключить оборудование, сообщить об этом руководителю и при необходимости обратиться к врачу. При несчастном случае на производстве необходимо:
быстро принять меры по предотвращению воздействия на потерпевшего травмирующих факторов, оказанию потерпевшему первой помощи, вызову на место происшествия медицинских работников или доставке потерпевшего в организацию здравоохранения;
сообщить о происшествии руководителю.
Рассмотрим теперь факторы влияния ПК на окружающую среду.
Как и все приборы потребляющие электроэнергию, компьютер испускает электромагнитное излучение, причём из бытовых приборов, с ПК по силе этого излучения могут сравниться разве что микроволновая печь или телевизор, однако в непосредственной близости с ними мы не проводим очень много времени, а электромагнитное излучение имеет меньшее воздействие с увеличением расстояния от источника до объекта. Таким образом, компьютер является самым опасным источником электромагнитного излучения.
В настоящее время о влиянии электромагнитного излучения на организм человека, практически ничего не известно. Однако некоторые работы и исследования в этой области определяют возможные факторы риска, так, например, считается, что электромагнитное излучение может вызвать расстройства нервной системы, снижение иммунитета, расстройства сердечнососудистой системы и аномалии в процессе беременности и соответственно пагубное воздействие на плод. Защита от электромагнитного излучения:
по возможности, стоит приобрести жидкокристаллический монитор, поскольку его излучение значительно меньше, чем у распространённых ЭЛТ мониторов;
при покупке монитора необходимо обратить внимание на наличие сертификата;
системный блок и монитор должен находиться как можно дальше от вас;
не оставлять компьютер включённым на длительное время если вы его не используете, хотя это и ускорит износ компьютера, но здоровье полезней. Так же, нельзя забывать использовать "спящий режим"для монитора;
в связи с тем, что электромагнитное излучение от стенок монитора намного больше, необходимо поставить монитор в угол, так что бы излучение поглощалось стенами.
Особое внимание стоит обратить на расстановку мониторов в офисах:
по возможности сокращать время работы за компьютером и почаще прерывать работу;
компьютер должен быть заземлён. Если вы приобрели защитный экран, то его тоже следует заземлить, для этого специально предусмотрен провод, на конце которого находиться металлическая прищепка.
При работе, компьютер образует вокруг себя электростатическое поле, которое деионизирует окружающую среду, а при нагревании платы и корпус монитора испускают в воздух вредные вещества. Всё это делает воздух очень сухим, слабо ионизированным, со специфическим запахом и в общем “тяжёлым” для дыхания. Естественно, что такой воздух не может быть полезен для организма и может привести к заболевания маллергического характера, болезням органов дыхания и другим расстройствам.
В связи с тем, что монитор находиться на близком расстоянии, мышцы глаза, управляющие хрусталиком, находятся в постоянном напряжении. Помимо этого, дополнительное напряжение глаз создаётся принципом работы монитора, т.е., обычно глаз воспринимает отражение света от предметов, монитор же, сам является источником света. К этому прибавим мерцание (в случаях, если частота регенерации монитора менее 75 кадров в секунду), очень редкое моргание глаза, блики на экране и т.д. и получим все предпосылки к развитию близорукости, ухудшению зрения, быстрой усталости глаз и другим расстройствам.
Ресурсосбережение это снижение материалоемкости единицы продукции, увеличение выхода конечной продукции, сокращение потерь в производственном процессе путем применения достижений новейшей техники и технологии[9].
В Республике Беларусь действует Межгосударственный стандарт разработанный Межгосударственным Техническим комитетом по стандартизации МТК 111.
Настоящий стандарт является основополагающим и устанавливает цель, задачи, объекты, основные принципы, термины и классификацию групп требований рационального использования и экономного расходования материальных ресурсов на всех стадиях жизненного цикла веществ, материалов, изделий, продукции при проведении работ и оказании услуг юридическим и физическим лицам.
Целью стандартизации в области ресурсосбережения является создание организационнометодической и нормативной основы, необходимой и достаточной для проведения государственной технической политики, направленной на снижение ресурсоемкости получаемого дохода без ухудшения условий экономического развития страны при безусловном обеспечении высоких потребительских свойств продукции.
Требования ресурсосбережения подразделяют на три группы:
требования ресурсосодержания, определяющие совершенство процессов, продукции, работ и услуг, например по составу и количеству использованных материалов, массе, габаритам, объему изделия;
требования ресурсоемкости (по технологичности), определяющие возможность достижения оптимальных затрат ресурсов при изготовлении, ремонте и утилизации продукции, а также выполнении различных работ и оказании услуг с учетом требований экологической безопасности;
требования ресурсоэкономичности изделия, определяющие возможность достижения оптимальных затрат ресурсов при эксплуатации, ремонте и утилизации продукции, а также при выполнении работ и оказании услуг.
Указанные группы требований взаимосвязаны при:
разработке продукции, планировании работ и услуг (устанавливают проектные требования ресурсосодержания и ресурсоэкономичности, рекомендации по ресурсоемкости);
изготовлении продукции, выполнении работ и оказании услуг (устанавливают уточненные (контрольные) требования ресурсоемкости (по технологичности));
эксплуатации продукции и выполнении работ и оказании услуг (устанавливают уточненные (контрольные) требования ресурсоэкономичности и ресурсоемкости));
утилизации продукции (устанавливают требования ресурсоемкости и ресурсоэкономичности).
В процессе хозяйственной деятельности ресурсы предприятия занимают одно из центральных мест, поэтому вопрос ресурсосбережения и определения оптимального соотношения ресурсов на предприятии очень актуален в настоящее время. Финансовая политика в области ресурсов направлено воздействует на долговременное состояние предприятия, а так же определяет его текущее состояние. Она диктует тенденции экономического развития, перспективный уровень научнотехнического прогресса, состояние производственных мощностей предприятия.
Актуальность данной темы помимо прочего заключается в том, что в процессе хозяйственной деятельности практически все белорусские предприятия сталкиваются с проблемой нехватки ресурсов для обеспечения нормальной работы.
Производство различных благ и вся хозяйственная деятельность базируются на использовании различных экономических ресурсов. Под экономическими ресурсами понимают все виды ресурсов, используемые в процессе товаров и услуг. К ресурсам предприятия относятся:
земля (природные ресурсы) капитал предприятия;
кадровый потенциал;
предпринимательские способности.
Земля вопервых, это вообще всякое место, где находится человек: живет, трудится, отдыхает, развлекается и т.п. Вовторых, на земле как на территории также расположены производственные и другие предприятия. Втретьих, земля, имеющая биологические свойства плодородия, служит объектом сельского и лесного хозяйства. Вчетвертых, она является также источником полезных ископаемых, водных и других ресурсов. Говоря о земле как о факторе производства, экономическая теория учитывает все функции природных факторов в хозяйстве.
Основные фонды это часть производственных фондов, которая вещественно воплощена в средствах труда, сохраняет в течение длительного времени свою натуральную форму, переносит по частям стоимость продукции и возмещается только после проведения нескольких производственных циклов.
В зависимости от назначения основные фонды делятся на:
основные производственные фонды;
основные непроизводственные фонды.
К основным производственным относятся фонды, которые непосредственно участвуют в производственном процессе или создают условия для производственного процесса (производственные здания, трубопроводы и др.)
Основные непроизводственные фонды это объекты бытового и культурного назначения, медицинские учреждения и др.
Оборотные средства это совокупность денежных средств, авансируемых для создания оборотных производственных фондов и фондов обращения, обеспечивающих непрерывный кругооборот денежных средств.
Далее следует отметить, что к оборотным производственным фондам относятся предметы труда (сырье, основные материалы и полуфабрикаты, вспомогательные материалы, топливо, тара, запасные части, средства труда со сроком службы не более 1 года или стоимостью не более пятидесятикратного установленного минимального размера оплаты труда в месяц (МБП и инструменты), незавершенное производство и расходы будущих периодов.
К фондам обращения относятся средства предприятия, вложенные в запасы готовой продукции, товары отгруженные, но неоплаченные, а также средства в расчетах и денежные средства в кассе и на счетах.
Оборотные производственные фонды вступают в производство в своей натуральной форме и в процессе изготовления продукции целиком потребляются. Они переносят свою стоимость на создаваемый продукт.
Оборотные средства обеспечивают непрерывность производства и реализации продукции.
Фонды обращения связанные с обслуживанием процесса обращения товаров. Они не участвуют в образовании стоимости, а являются ее носителями. После изготовления продукции и ее реализации стоимость оборотных средств возмещается в составе выручки от реализации продукции, что создает возможность систематического возобновления процесса производства. Он осуществляется путем непрерывного кругооборота средств предприятия.
В своем движении оборотные средства проходят последовательно три стадии: денежную, производственную и товарную.
Эффективное использование ресурсов во многом зависит от принципов организации производства. Так ритмичность, слаженность и высокая результативность зависит от оптимальных размеров оборотных средств. Поэтому большое значение приобретает процесс нормирования оборотных средств, который относится к текущему финансовому планированию на предприятии. Для формирования оборотных средств предприятие использует собственные и приравненные к ним средства, а так же привлеченные и заемные пассивы. Источниками формирования оборотных средств могут быть: прибыль, кредиты, акционерный (уставный) капитал, паевые взносы, бюджетные средства, перераспределенные ресурсы, кредиторская задолженность и др.
Отдельно выделяется категория денежного капитала.
Финансовые ресурсы это денежные средства, имеющиеся в распоряжении предприятия и предназначенные для осуществления текущих затрат по расширенному воспроизводству для выполнения финансовых обязательств и экономического стимулирования работающих. Финансовые ресурсы направляются так же на содержание и развитие объектов непроизводственной сферы, потребление, накопление в специальные резервные фонды и др.
Формирование финансовых ресурсов происходит за счет целого ряда источников. Первоначальное формирование финансовых ресурсов происходит в момент учреждения предприятия, когда образуется уставный капитал. В основном же финансовые ресурсы формируются за счет прибыли, а также перечисленных в выше изложенной схеме источников. Кадры или трудовые ресурсы предприятия совокупность работников различных профессиональноквалификационных групп, занятых на предприятии и входящих в его списочный состав. Трудовые ресурсы приводят в движение материальные элементы производства, создают продукт, стоимость и прибавочный продукт в форме прибыли.
Отличие данного вида ресурсов от других заключается в том, что каждый наемный работник может отказаться от предложенных условий и потребовать изменения условий труда, переобучения другим профессиям, может уволиться с предприятия по собственному желанию. Кадровый состав предприятия и его изменения имеют определенные количественные, качественные и структурные характеристики, которые могут быть с меньшей или большей степенью достоверности изменены и отражены следующими абсолютными и относительными показателями:
списочная и явочная численность работников предприятия и его внутренних подразделений отдельных категорий и групп на определенную дату;
среднесписочная численность работников предприятия и его внутренних подразделений за определенный период;
удельный вес работников отдельных подразделений в общей численности работников предприятия;
темпы роста (прироста) численности работников предприятия за определенный период;
средний разряд рабочих предприятия;
удельный вес служащих, имеющих высшее или среднее специальное образование в общей численности служащих и работников предприятия;
средний стаж работы по специальности руководителей и специалистов предприятия;
текучесть кадров по приему и увольнению работников;
фондовооруженность труда работников и рабочих на предприятии и др.
Совокупность перечисленных и ряда других показателей может дать представление о количественном, качественном и структурном состоянии персонала предприятия и тенденциях их изменения для целей управления персоналом, в том числе планирования, анализа и разработки мероприятий по повышению эффективности использования трудовых ресурсов предприятия.
Эффективность использования трудовых ресурсов предприятия характеризует производительность труда, которая определяется количеством продукции, произведенной в единицу рабочего времени, или затратами труда на единицу произведенной продукции или выполненной работы.
В современной рыночной экономике и жесткой конкуренции, в условиях переходного периода, довольно актуальным стал вопрос об экономии и рациональном использовании ресурсов.
В последнее десятилетие проблема экономии ресурсов на предприятии особенно обострилась. Необходимо осуществлять техническое перевооружение или реконструкцию действующих предприятий перевести их на ресурсосберегающие технологии.
Ресурсосбережение это совокупность мер по экономному и эффективному использованию всех факторов производства, общее свойство которых состоит в потенциальной возможности их участия в производстве (производственные ресурсы) и в потреблении (потребительские ресурсы). Ресурсосбережение означает использование всех видов ресурсов (материальных, трудовых, природных, финансовых и других) для решения задач экономического и социального развития. Поскольку потребности людей и общества стремительно растут, а ресурсы ограничены и редки, то роль ресурсосбережения в решении коренной триединой проблемы: что, как, для кого производить все возрастает. Ресурсосбережение охватывает не только факторы производства, но и продукцию, поскольку продукция одной отрасли потребляется в другой, связанной с ней общественным разделением труда.
Ресурсосбережение предусматривает удовлетворение потребности народного хозяйства в их приросте преимущественно за счет экономии. Достигается это путем комплексного использования ресурсов, устранения потерь при добыче, транспортировке и хранении, сокращении отходов при переработке, более широкого вовлечения в хозяйственный оборот вторичных ресурсов и попутных продуктов, путем улавливания ценных продуктов из отходящих газов и водных стоков, утилизации отбросов и др. Оно должно обеспечиваться на всех стадиях производства: при добыче, транспортировке, хранении, погрузке разгрузке, разделке, переработке и т.п.
Соблюдение ресурсосбережения важная характеристика качества техники и технологии. Техника считается ресурсосберегающей, если она требует меньше расхода ресурсов на изготовление и эксплуатацию. Ресурсосберегающей технологией называют технологию малоотходную или безотходную. Необходимость ресурсосбережения вызвана дефицитом многих видов ресурсов, истощением их запасов в природе, значительным удорожанием добычи и другими факторами.
В связи с переходом к интенсивному ресурсосберегающему типу экономического роста, основанного на использовании достижений НТР, снижении фондоемкости и материалоемкости продукции, повышения производительности труда, улучшении технико-экономических показателей и качества продукции возрастают возможности ресурсосбережения. Важное значение в решении проблемы ресурсосбережения имеет научно-технический прогресс.
В целях укрепления экономической безопасности государства 14 июня 2007 года Президентом Республики Беларусь подписана Директива №3 «Экономия и бережливость главные факторы экономической безопасности государства».
Государственное регулирование в области энергосбережения и повышения энергетической эффективности осуществляется путем установления:
требований к обороту отдельных товаров, функциональное назначение которых предполагает использование энергетических ресурсов;
запретов или ограничений производства и оборота в Республике Беларусь товаров, имеющих низкую энергетическую эффективность, при условии наличия в обороте или введения в оборот аналогичных по цели использования товаров, имеющих высокую энергетическую эффективность, в количестве, удовлетворяющем спрос потребителей;
обязанности по учету используемых энергетических ресурсов;
требований энергетической эффективности зданий, строений, сооружений;
обязанности проведения обязательного энергетического обследования;
требований к энергетическому паспорту;
обязанности проведения мероприятий по энергосбережению и повышению энергетической эффективности в отношении общего имущества собственников помещений в многоквартирном доме;
требований энергетической эффективности товаров, работ, услуг, размещение заказов на которые осуществляется для государственных или муниципальных нужд;
требований к региональным, муниципальным программам в области энергосбережения и повышения энергетической эффективности;
требований к программам в области энергосбережения и повышения энергетической эффективности организаций с участием государства или городского образования и организаций, осуществляющих регулируемые виды деятельности;
основ функционирования государственной информационной системы в области энергосбережения и повышения энергетической эффективности;
обязанности распространения информации в области энергосбережения и повышения энергетической эффективности;
обязанности реализации информационных программ и образовательных программ в области энергосбережения и повышения энергетической эффективности.
Энергосбережение (экономия электроэнергии) реализация правовых, организационных, научных, производственных, технических и экономических мер, направленных на эффективное (рациональное) использование (и экономное расходование) топливно-энергетических ресурсов и на вовлечение в хозяйственный оборот возобновляемых источников энергии Энергосбережение. Энергосбережение важная задача по сохранению природных ресурсов.
Эффекты от мероприятий энергосбережения можно разделить на несколько групп:
экономические эффекты у потребителей (снижение стоимости приобретаемых энергоресурсов);
эффекты повышения конкурентоспособности (снижение потребления энергоресурсов на единицу производимой продукции, энергоэффективность производимой продукции при ее использовании);
эффекты для электрической, тепловой, газовой сети (снижение пиковых нагрузок, минимизация инвестиций в расширение сети);
экологические эффекты;
связанные эффекты (внимание к проблемам энергосбережения приводит к повышению озабоченности проблемами общей эффективности системы технологии, организации, логистики на производстве, системы взаимоотношений, платежей и ответственности в ЖКХ, отношения к домашнему бюджету у граждан).
Повышение энергоемкости производства, количества техники, задействованной в производственных процессах, а также постоянный рост цен на энергоносители является серьезным фактором, увеличивающим важность вопроса об экономии электроэнергии. Универсальных способов экономить электроэнергию на данный момент не существует, но разработаны методики, технологии и устройства, помогающие вывести энергосбережение на качественно новый уровень.
Вопрос экономии электроэнергии многоплановый и нужен стратегический подход, для того чтобы максимально эффективно использовать все производственные мощности при минимально возможных энергетических затратах. Подход к экономии электроэнергии основан на использовании энергосберегающих технологий, которые призваны уменьшить потери электроэнергии. Существует немало устройств, которые позволяют добиться уменьшения потерь при работе оборудования, основными из которых являются конденсаторные установки и частотнорегулируемые приводы, при эксплуатации различных бытовых осветительных приборов и устройств охранной сигнализации, приборов таймерного типа, позволяющих автоматически отключать различные электроустановки при перерывах в работе и быстро их включать в нужный момент времени.
Особо актуально использование энергосберегающего оборудования на предприятиях тяжелой промышленности и на крупных производственных комплексах, где нерациональное потребление электроэнергии ведет к огромным финансовым потерям. Также разумным является использование энергосберегающих технологий в плане повышения качества электроэнергии, что положительно отражается на качестве работы оборудования, на сроке его службы.
В результате выполнения дипломного проектирования был разработан программный комплекс для работы с сетью Internet и компортом с последующим соединением с платформой TINI. Были реализованы основные методы работы с потоками и потоками данных.
Для упрощения конфигурирования эмуляции передачи пакетов была написана терминальная программа верхнего уровня для персональной ЭВМ, которая делает прозрачным для программиста процесс конфигурирования устройства.
В процессе разработки данного устройства широко использовались Internet и следующие САПР:
среда разработки NetBeans IDE 7.0.1;
версия JDK 1.7;
Microsoft Visio Professional 2007.
В ходе выполнения дипломного проектирования было проведено системотехническое проектирование, а также было разработано необходимое программное обеспечение.
В ходе определения экономических показателей разработанного программного обеспечения был произведён расчёт себестоимости разработки, а также определена отпускная цена программного средства в соответствии с действующими ставками налогов и расценок по оплате труда.
Проведено тестирование и установлено соответствие реализованных функций поставленной задаче.
В процессе проектирования устройства была разработана следующая документация:
схема электрическая структурная устройства;
схема общего алгоритма программы;
схема данных системы;
схема взаимодействия программ;
пояснительная записка к проекту.
С уверенностью можно сказать, что поставленная передо мной задача выполнена в полном объёме, а именно разработана система удаленного контроля на базе модуля TINI, реализовано программное обеспечения для управления данной системой, а также разработана соответствующая документация.