вторник, 15 февраля 2011 г.

Опоры, Валентин Викторович Красник

Вопрос 218. Какие типы опор следует применять для ВЛ?

Ответ. Следует применять следующие типы опор:

1) промежуточные, устанавливаемые на прямых участках трассы ВЛ. Эти опоры в нормальных режимах работы не должны воспринимать усилий, направленных вдоль ВЛ;

2) анкерные, устанавливаемые для ограничения анкерного пролета, а также в местах изменения числа, марок и сечений проводов ВЛ. Эти опоры должны воспринимать в нормальных режимах работы усилия от разности тяжения проводов, направленные вдоль ВЛ;

3) угловые, устанавливаемые в местах изменения направления трассы ВЛ. Эти опоры при нормальных режимах работы должны воспринимать результирующую нагрузку от тяжения проводов смежных пролетов. Угловые опоры могут быть промежуточными и анекрного типа;

4) концевые, устанавливаемые в начале и конце ВЛ, а также в местах, ограничивающих кабельные вставки. Они являются опорами анкерного типа и должны воспринимать в нормальных режимах работы ВЛ одностороннее тяжение всех проводов.

Опоры, на которых выполняются ответвления от ВЛ, называются ответвительными; опоры, на которых выполняется пересечение ВЛ разных направлений или пересечение ВЛ с инженерными сооружениями, называются перекрестными. Эти опоры могут быть всех указанных типов (п.2.4.50).

Вопрос 219. Возможность установки каких аппаратов должны обеспечивать конструкции опор?

Ответ. Должны обеспечивать возможность установки:

светильников уличного освещения всех типов;

концевых кабельных муфт;

защитных аппаратов;

секционирующих и коммутационных аппаратов;

шкафов и щитков для подключения электроприемников (п. 2.4.51).

Вопрос 220. Какими могут быть опоры (по исполнению) независимо от их типа?

Ответ. Могут быть свободностоящими, с подкосами или оттяжками.

Оттяжки опор могут прикрепляться к анкерам, установленным в земле, или к каменным, кирпичным, железобетонным и металлическим элементам зданий и сооружений. Сечение оттяжек определяется расчетом; оно должно быть не менее 25 м2 (п. 2.4.52).

Вопрос 221. На какие нагрузки должны быть рассчитаны промежуточные опоры?

Ответ. Должны быть рассчитаны на следующие сочетания нагрузок:

одновременное воздействие поперечной ветровой нагрузки на провода, свободные или покрытые гололедом, и на конструкцию опоры, а также нагрузки от тяжения проводов ответвлений к вводам, свободных от гололеда или частично покрытых гололедом;

на нагрузку от тяжения проводов ответвлений к вводам, покрытых гололедом, при этом допускается учет отклонения опоры под действием нагрузки;

на условную расчетную нагрузку, равную 1,5 кН, приложенную к вершине опоры и направленную вдоль оси ВЛ (п. 2.4.53).

Вопрос 222. На какую нагрузку должны быть рассчитаны угловые опоры (промежуточные и анкерные)?

Ответ. Должны быть рассчитаны на результирующую нагрузку от тяжения проводов и ветровую нагрузку на провода и конструкцию опоры (п. 2.4.53).

Вопрос 223. На какую нагрузку должны быть рассчитаны анкерные опоры?

Ответ. Должны быть рассчитаны на разность тяжения проводов смежных пролетов и поперечную нагрузку от давления ветра при гололеде и без гололеда на провода и конструкцию опоры. За наименьшее значение разности тяжения следует принимать 50 % наибольшего значения одностороннего тяжения всех проводов (п. 2.4.53).

Вопрос 224. На какую нагрузку должны быть рассчитаны концевые и ответвительные опоры?

Ответ. Концевые опоры должны быть рассчитаны на одностороннее тяжение всех проводов.

Ответвительные опоры рассчитываются на результирующую нагрузку от тяжения всех проводов (п. 2.4.53).


среда, 12 января 2011 г.

Удаление пользователя и группы на рабочей станции  , Андрей Владимирович Попов

Для удаления созданных с помощью сценариев AddUser.js и AddGroup.js пользователя XUser и группы XGroup мы создадим сценарий DelUserAndGroup.js, который представлен в листинге 11.5.

Замечание

Для удаления пользователя или группы у вас в системе должны быть назначены права, которыми обладает администратор.

В принципе, удалить пользователя и группу так же просто, как и создать — нужно связаться с объектом Computer:

ComputerObj = GetObject("WinNT://404_Popov");

и вызвать метод Delete(), указав в качестве первого параметра класс объекта, который мы хотим удалить, и в качестве второго параметра — имя этого объекта:

//Удаляем пользователя

ComputerObj.Delete("user", UserStr);

Однако здесь могут возникнуть ошибки (например, мы не запускали предварительно сценарий AddUser.js и у нас на компьютере не зарегистрирован пользователь, которого мы хотим удалить). Поэтому в сценарии DelUserAndGroup.js предусмотрена обработка исключительных ситуаций с помощью конструкции try…catch:

IsError=false;

try {

 //Удаляем пользователя

 ComputerObj.Delete("user", UserStr);

} catch (e) { //Обрабатываем возможные ошибки

 if (e != 0) {

  //Выводим сообщение об ошибке

 IsError=true;

  Mess="Ошибка при удалении пользователя "+UserStr+"\nКод ошибки: " + е.number+"\nОписание: "+е.description;

  WshShell.Popup(Mess, 0, "Удаление пользователя", vbCritical);

 }

}

Как мы видим, если при вызове метода Delete() произойдет какая-либо ошибка, значение переменной IsError станет равным true, а на экран с помощью метода Popup() объекта WshShell выведется соответствующее сообщение (рис. 11.3).

Рис. 11.3. Сообщение, формируемое при попытке удаления несуществующего пользователя


Если же удаление прошло успешно (значение переменной IsError равно false), то на экран также выведется соответствующее диалоговое окно (рис. 11.4):

if (!IsError) { //Все в порядке

 Mess="Пользователь."+UserStr+" удален";

 WshShell.Popup(Mess, 0, "Удаление пользователя", vbInformation);

}

Рис. 11.4. Сообщение об удачном удалении пользователя


Листинг 11.5. Удаление пользователя и группы на рабочей станции

/********************************************************************/

/* Имя: DelUserAndGroup.js                                          */

/* Язык: JScript                                                    */

/* Описание: Удаление пользователя и группы компьютера              */

/********************************************************************/

//Объявляем переменные

var

 ComputerObj,         //Экземпляр объекта Computer

 UserStr = "XUser",   //Имя удаляемого пользователя

 GroupStr = "XGroup", //Имя удаляемой группы

 WshShell;            //Объект WshShell

//Инициализируем константы для диалоговых окон

var vbCritical=16,vbInformation=64;

//Связываемся с компьютером 404_Popov

ComputerObj = GetObject("WinNT://404_Popov");

//Создаем объект WshShell

WshShell = WScript.CreateObject("WScript.Shell");

/*************  Удаление пользователя  ***********************/

IsError=false;

try {

 //Удаляем пользователя

 ComputerObj.Delete("user", UserStr);

} catch (e) {  //Обрабатываем возможные ошибки

 if (e != 0) {

  //Выводим сообщение об ошибке

  IsError=true;

  Mess="Ошибка при удалении пользователя "+UserStr+"\nКод ошибки: " + e.number + "\nОписание: " + e.description;

  WshShell.Popup(Mess,0,"Удаление пользователя",vbCritical);

 }

}

if (!IsError)  {

 //Все в порядке

 Mess="Пользователь "+UserStr+" удален";

 WshShell.Popup(Mess,0,"Удаление пользователя",vbInformation);

}

/*************  Удаление группы  ***********************/ 

IsError=false;

try  {

 //Удаляем группу

 ComputerObj.Delete("group", GroupStr);

} catch (e) {  //Обрабатываем возможные ошибки

 if (e != 0) {

  //Выводим сообщение об ошибке

  IsError=true;

  Mess="Ошибка при удалении группы "+GroupStr+"\nКод ошибки: " + e.number+"\nОписание: " + e.description;

  WshShell.Popup(Mess,0,"Удаление группы",vbCritical);

 }

}

if (!IsError)  {

 //Все в порядке

 Mess="Группа "+GroupStr+" удалена";

 WshShell.Popup(Mess,0,"Удаление группы",vbInformation);

}

/*************  Конец *********************************************/


Использование объекта атрибутов. H. M. Ручко

Объект атрибутов инкапсулирует атрибуты потока или группы потоков. Он используется для установки атрибутов потоков при их создании. Атрибутный объект потока имеет тип pthread_attr_t. Он представляет собой структуру, позволяющую хранить следующие атрибуты:

• размер стека потока;

• местоположение стека потока;

• стратегия планирования, наследование и параметры;

• тип потока: открепленный или присоединяемый;

• область конкуренции потока.

Для типа pthread_attr_t предусмотрен ряд методов, которые могут быть вызваны для установки или считывания каждого из перечисленных выше атрибутов (см. табл. 4.3).

Для инициализации и разрушения атрибутного объекта потока используются функции pthread_attr_init () и pthread_attr_destroy () соответственно.

Синопсис

#include <pthread.h>

int pthread_attr_init(pthread_attr_t *attr);

int pthread_attr_destroy(pthread attr__t *attr) ;

Функция pthread_attr_init () инициализирует атрибутный объект потока с помощью стандартных значений, действующих для всех этих атрибутов. Параметр attr представляет собой указатель на объект типа pthread_attr_t. После инициализации attr-объекта значения его атрибутов можно изменить с помощью функций, перечисленных в табл. 4.3. После соответствующей модификации атрибутов значение attr используется в качестве параметра при вызове функции создания потока pthread_create(). При успешном выполнении эта функция возвращает число 0, в противном случае — код ошибки. Функция pthread_attr_init() завершится неуспешно, если для создания объекта в системе недостаточно памяти.

Функцию pthread_attr_destroy() можно использовать для разрушения объекта типа pthread_attr_t, заданного параметром attr. При обращении к этой функ ц ии будут удалены любые скрытые данные, связанные с этим атрибутным объектом потока. При успешном выполнении эта функция возвращает число 0, в противном случае - код ошибки.


6.2. Состояние. Александр Леоненков

Понятие состояния (state) является фундаментальным не только в метамоде-ли языка UML, но и в прикладном системном анализе. Ранее в главе 1 кратко были рассмотрены особенности представления динамических характеристик сложных систем, традиционно используемых для моделирования поведения. Вся концепция динамической системы основывается на понятии состояния системы. Однако семантика состояния в языке UML имеет целый ряд специфических особенностей.

В языке UML под состоянием понимается абстрактный метакласс, используемый для моделирования отдельной ситуации, в течение которой имеет место выполнение некоторого условия. Состояние может быть задано в виде набора конкретных значений атрибутов класса или объекта, при этом изменение их отдельных значений будет отражать изменение состояния моделируемого класса или объекта.

Следует заметить, что не каждый атрибут класса может характеризовать его состояние. Как правило, имеют значение только такие свойства элементов системы, которые отражают динамический или функциональный аспект ее поведения. В этом случае состояние будет характеризоваться некоторым инвариантным условием, включающим в себя только значимые для поведения класса атрибуты и их значения.

Например, инвариант может представлять статическую ситуацию, когда объект находится в состоянии ожидания возникновения некоторого внешнего события. С другой стороны, инвариант используется для моделирования динамических аспектов, когда в ходе процесса выполняются некоторые действия. В этом случае моделируемый элемент переходит в рассматриваемое состояние в момент начала соответствующей деятельности и покидает данное состояние в момент ее завершения.

Рис. 6.2. Графическое изображение состояний на диаграмме состояний

Состояние на диаграмме изображается прямоугольником со скругленными вершинами (рис. 6.2). Этот прямоугольник, в свою очередь, может быть разделен на две секции горизонтальной линией. Если указана лишь одна секция, то в ней записывается только имя состояния (рис. 6.2, а). В противном случае в первой из них записывается имя состояния, а во второй – список некоторых внутренних действий или переходов в данном состоянии (рис. 6.2, б). При этом под действием в языке UML понимают некоторую атомарную операцию, выполнение которой приводит к изменению состояния или возврату некоторого значения (например, «истина» или «ложь»).


воскресенье, 9 января 2011 г.

Макс Каневский | Информационный SMS-канал

ТЕРМИН, ИСПОЛЬЗУЕМЫЙ В ДАННОМ РАЗДЕЛЕ:

Информационный SMS-канал – служба распространения текстовых сообщений среди абонентов сетей сотовой связи в формате SMS.


Первый SMS-канал в преддверии выборов в Государственную думу в декабре 2003 года организовала сотовая сеть «Билайн» в Калининграде. Подписка предусматривала возможность получения новостей от предвыборного штаба кандидатов. Наиболее активным избирателям предлагали отправлять наказы и жалобы кандидату с помощью SMS. С тех пор подвиг «Билайн» никто из операторов не повторял.

СОЗДАНИЕ SMS-КАНАЛА

В рамках работы канала существует не менее двух вариантов доставки информации избирателю:

1. С помощью традиционной SMS-рассылки.

2. С помощью размещения канала в меню SIM-карты услуг оператора сотовой связи. Мы уже описывали этот формат ранее в разделе, посвященном организации SMS-платежей.

В любом случае SMS-канал не только мгновенно доставляет избирателям информацию о кандидате, но и подсознательно делает ее легитимной. В основном подписчики рассуждают следующим образом: то, что прислали мне, а тем более то, что доступно с помощью оператора сотовой связи, скорее всего правда. Кстати, канал может быть сделан не только для одного кандидата, но и для партии либо как сторонний независимый проект.

Структура канала может варьироваться аналогично содержанию интернет-сайта – от одного раздела до нескольких. Можно присвоить собственный код каждому разделу в рамках канала – себестоимость канала от количества разделов практически не меняется. Например, партия «За любовь!», кандидаты которой одновременно участвуют в избирательной кампании по нескольким округам, может открыть вариант персональной подписки на новости каждого кандидата. В таком случае абонент, отправивший SMS со словом ZAL, получит еще одно сообщение, в котором ему будет предложено выбрать новости интересующего его кандидата.


ПРИМЕР СТРУКТУРЫ SMS-КАНАЛА


Пример SMS на экране телефона.

Избиратель может оформить подписку на новости по следующим разделам:

– Новости партии (код подписки part).

– Новости лидера (код подписки lider).

– Новости из Энска – в разделе размещаются новости о кандидате Иванове И.И., баллотирующемся от партии в данном городе (код подписки ensk).

– Новости из Эмска – в разделе размещаются новости о кандидате Петрове И.И., баллотирующемся от партии в данном городе (код подписки emsk), и т. п.

– Все новости (код подписки vse).

Чтобы о канале узнали избиратели, кандидаты размещают сервисный номер для подписки на своих предвыборных информационно-агитационных материалах. Например, на агитационных материалах партии «За любовь!» можно разместить: «Отправь SMS ZAL или ЗАЛ на номер ****, чтобы получать новости партии». Если у кандидата устойчивое финансовое положение, можно организовать подписку таким образом, что все входящие SMS-сообщения для избирателя будут бесплатными. Такой аттракцион неслыханной щедрости обойдется кандидату в среднем не более чем в 300 у. е. за десять тысяч сообщений.

Предполагаемые результаты.

Практические:

– распространение информации о кандидате формирует у избирателя соответствующий образ народного избранника;

– распространение результатов exit-polls в день голосования.

Аналитические:

– оценка готовности избирателей к получению в дальнейшем политических новостей в рамках избирательной кампании.

Примечание

Техническое решение проекта остается за контент-провайдером. Канал может быть открыт в любой стране и в любом регионе, где есть доступ к сетям сотовой связи.


Анализ CIL-кода, А. Г. Сивак

Напомним, что компоновочный блок не содержит специфических для платформы инструкций, а содержит независимый от платформы CIL-код. Когда среда выполнения .NET загружает компоновочный блок в память, этот CIL-код компилируется (с помощью JIT-компилятора) в инструкции, понятные для данной платформы. Если выполнить двойной щелчок на строке метода TurboBoost() класса SportsCar, с помощью ildasm.exe откроется новое окно, в котором будут показаны CIL-инструкции.

.method public hidebysig virtual instance void TurboBoost() cil managed {

 // Code size 17 (0x11)

 .maxstack 2

 IL_0000: ldstr "Ramming speed!"

 IL_0005: ldstr "Faster is better…"

 IL_000a: call valuetype [System.Windows.Forms] System.Windows.Forms.DialogResult [System.Windows.Forms] System.Windows.Forms.MessageBox::Show(string, string)

 IL_000f: pop

 IL_0010: ret

} // end of method SportsCar::TurboBoost

Обратите внимание на то, что для идентификации метода, определенного типом SportsCar, используется лексема .method. Члены-переменные, определенные типом, обозначаются лексемой .field. Напомним, что класс Car определяет набор защищенных данных, например, таких как currSpeed.

.field family int 16 currSpeed

Свойства обозначены лексемой.property. Этот CIL-код описывает открытое свойство CurrSpeed (заметьте, что характеристики read/write свойства обозначаются лексемами .get и .set).

.property instance int16 CurrSpeed() {

 .get instance int16 CarLibrary.Car::get_CurrSpeed()

 .set instance void CarLibrary.Car::set_CurrSpeed(int16)

} // end of property Car::CurrSpeed


понедельник, 29 ноября 2010 г.

Вадим Викторович Мацкевич / Роботы – игрушки

На рис. 81 вы видите модель кибернетического краба, созданную юными техниками в пионерском лагере им. Вити Коробкова (Крымская обл.). Краб двигается на свет электрического фонаря или на солнечный свет, перемещаясь с помощью двух электродвигателей с редукторами, которые вращают колесо (такие узлы есть в комплекте многих детских электромеханических конструкторов). Поверх ходовой части на металлической плите собраны два узла зрения из радиокубов. Нос краба – отсек с батареями 3336 (для питания двигателей) и «Крона» (для питания устройства зрения) – отделяет один глаз краба от другого. Поэтому боковой свет попадает только в один глаз, и его реле включает электродвигатель, разворачивающий краба в сторону источника света. Как только свет попадает и во второй глаз, включается второй электродвигатель и краб движется прямо на источник света. Чтобы в глаза краба попадало больше света, его металлическая платформа установлена под углом 45° к горизонту. Третье колесо, поддерживающее платформу, свободно поворачивается при её поворотах.



Рис. 81 Кибернетический краб

Эту конструкцию можно усовершенствовать. Например, установить на крабе лампу, на свет которой реагировала бы система зрения другого краба. Эту игру можно назвать «электронной охотой». Крабы, снабжённые лампами, будут охотиться друг за другом, пока один не настигнет другого.

Такие же устройства зрения можно установить в фанерную модель собаки, и она, подобно крабу, будет двигаться на свет, лая и помахивая хвостом. Известно много других примеров простейших кибернетических автоматов, моделирующих поведение живых существ.

Наши модели, взаимодействуя с внешней средой, воспроизводят некоторые элементы поведения живых организмов. Внешняя среда воздействует на органы чувств живого организма. У автоматических же моделей роль чувств выполняют чувствительные элементы, способные реагировать на различные воздействия внешней среды. В качестве таких элементов служат фотоэлементы, микрофоны, чувствительные электромеханические реле, реагирующие на механические воздействия, и другие электронные приборы.