это значит что ты пид
»пидоры помогите
Это я ебанутый или лыжи не едут?
Многоуважаемые Пидоры и Пидˈорки, купил я мыш, ибо старая уже не в кондиции. Взял рейзер, решил попробовать макросы и тут такие фокусы:
А я в синапсе макросы и настраиваю, какой ещё синапс нужен? Прога на скрине и есть Razer Synapse.
Загуглив я нашёл аналогичных вопроса 3, 2 из них без ответа, на 3 ответ "вам нужна програма Razer synapse 3". Я загуглил, скачал установшик, запустил и там установка той же хурмы что и началась автоматически после подключения мышки к компу. Подскажите что я не так делаю.
п.с. Если у кого есть то дайте ссылочку на нормальный гайд по крафту макросов, ибо я нашёл только гайды по установке готовых макросов.
песочница АСУ ТП программирование geek реактор образовательный длиннопост
Часть 3, каркас архитектуры
Часть 1, введение
Часть 2, приоритеты и базовые сигналы
Мда, я дико извиняюсь за большое количество опечаток в предыдщих постах. Руки не поспевают за мыслью, а при редактировании потеряется часть оформления регулярно. Не зналь(
Имея на руках пример того, с чем предлагается работать, впору поговорить об архитектуре, которая и будет обеспечивать корректное и стабильное исполнение кода, однако, перед этим сделаем ряд важных оговорок:1) концепт ориентирован на работу с жёстким распределением памяти (Siemens, OMRON CP/CJ series)
2) ввиду пункта 1 внутри одной структуры могут быть переменные которые И читаются, И пишутся, что существенно усложняет их проброс в коммуникацию(особенно тех, которые пишутся И с панели оператора, И из программы, например запуск в ручном режиме и сброс аварий в структуре управления)
3) объём памяти оперативность и для хранения кода, а также мощность CPU–считаются достаточно большими, чтобы не обращать на них внимания, в иных случаях требуется оптимизация кода
4) при работе с контроллерами, имеющими «классическое» распределение памяти, для обеспечения корректного управления моим кодом по ModBus RTU/TCP требуется дополнительная прослойка, которая будет пересобирать структуры в WORD и обратно, когда-нибудь я это исправлю, но явно не сейчас
5) вся концепция рассчитана на применение в обще-промышленной области, где потерять 10-20-30 мс роли не сыграет никакой, если вам нужна более высокая точность – добро пожаловать в чудный мир оптимизации и распределения кусков кода по разным циклам
Ещё одно лирическое отступление
Я осознанно не буду вам рассказывать как работает Промышленный Логический Контроллер (ПЛК), распределение его памяти, времени CPU по задачам системным и пользовательским, типы данных и прочую лабуду – это вы можете узнать на любых вводных курсах от любого производителя железа. Моя задача – показать пример прикладной реализации тех или иных задач.
Кстати, на ардуине в своё время использовал Union, который прекрасно решал проблему компоновки памяти, однако подавляющее большинство сред разработки для промышленного оборудования его или не поддерживают, или имеют кастрированную реализацию.
Генерация импульсов
Начнём с терминологии:
- импульс – это нечто, существующее предельно короткое время, в нашем случае сие ровно 1 цикл контроллера.
Большинство контроллеров предлагает свои системные генераторы импульсов в том или ином виде, но выглядят они следующим образом на примере 1 секунды:
Ёбушки воробушки, наш самописный таймер то проверяет когда сигнал = 1, а он равен 1 в течении 50 циклов, а за это время он насчитает 50 секунд, вместо 1! Лажа какая-то. Мы должны получить следующее:
Для этого есть несколько вариантов, и сначала мы отметём в сторону самый очевидный: мы НЕ будем в каждом таймере проверять фронт системного генератора импульсов, потому что каждая проверка фронта это +1 переменная в памяти ПЛК, а мы не хотим засирать его бесполезным хламом.
Итого остаётся:
1) вызывать системный импульс, проверять его передний или задний фронт и закидывать в pulse_1s;
2) вызвать стандартный таймер TON с длительностью 1 секунда и зациклить на самого себя, при срабатывании таймера взводить pulse_1s;
3) читать системное время и по внутренним часам ПЛК и при смене секунды однократно взводить pulse_1s, потребуется буфер для хранения и сравнения предыдущего времени;
4) прочитать из недр контроллера время предыдущего цикла, насуммировать несчастные наносекунды до 1 секунды и тоже записать в pulse_1s единичку, после чего очистить буфер.
5) ещё что-нибудь на ваше усмотрение.
Мне глубоко фиолетово, каким способом вы получаете в итоге pulse_1s, но вам достаточно получить его корректно 1 раз и все таймеры во всей программе сразу же заработают, причём корректно и, вау, синхронно. Т.е. если у вас в двух местах с разбегом менее 1 секунды начался счёт до 5, то закончится он тоже одновременно. В этом и плюс, и минус. Мы теряем точность. Но так ли она нужна?
Хотите точность до 100 мс? Пишем таймер Time_R для дробных значений генерируем pulse_01s.
Хотите точность до 10 мс? Ну… сделайте отдельный цикл ПЛК с такой частотой и там считайте. Или убедитесь, что ваше время цикла менее 10 мс на всю программу.Обратите внимание, что этот таймер сложнее – мы считаем прогресс времени от 0 до 1,который можно использовать для вспомогательных операций (типа на 30% всего времени моргнуть правой пяткой) и красивого прогресс-бара на экране.
Архитектура
Перейдём к тому, ради чего был затеян данный раздел. Следите за руками…
Где-то там приютилось ещё регулирование, типа ПИДов, но о них как-нибудь в другой раз.На повестке дня вопрос распределения переменных по областям памяти. Что будет глобальным, а что локальным?
К глобальным относится всё, что ранее было названо глобальным, а также туда настоятельно рекомендуется выносить:
- все структуры управления драйверами
- все структуры параметров драйверами
- все структуры состояний драйверами
- общие параметры техпроцесса
- общее управление техпроцессом, типа включить/выключить установку
Из них в раздел энергонезависимой памяти попадают только структуры параметров.
REQ – Request, запрос запуска. Сюда мы из авторежима будем писать команду для устройства, а затем скармливать драйверам в CMD.Start_A.
DONE – состояние устройств, если оно выключено или в аварии то соответствующий флаг =0, если успешно запущен = 1. Это хорошо заходит для минимизации алгоритма авторежима и всяких вспомогательных операций.
А что же тогда попадает в call’ы?Нерадивые любители звонков с автонабором? Увы, их неплохо бы там запереть, но места маловато. Там будут вызваны непосредственно экземпляры драйверов на исполнение со всей обвязкой. На примере уже рассмотренных дискретных входов это выглядит так… опс, в этом проекте их нет, вот вам выхода:
anon
Никто кроме меня не хочет больше делать посты в аноне... никто... На оного меня взгромоздилась эта ноша, но я же вом не конь! Не конь вам я! именно по этому, я ухожу в отпуск на неопределенное время. Все, устал, сами делайте тут без меня что хотите, хоть поубивайте друг друга, я лишь буду смотреть, лузгать семечки и смеяться потихоньку.
gamedev Игры Unity3D indie
Изначальная идея была взять тактическую боёвку из Into the Breach и подсластить её привычными для фэнтези аоешными фаерболлами и разными врагами. Спустя полгода работы, с множеством готовых механик и стабильным билдом, стоило бы сосредоточися на добавлении разнообразных противников и способностей. Но тут мне стрельнуло в голову взять ещё более крупный размах, и вместо нескольких уровней сделать мир, по которому герой сможет перемещатся и самостоятельно набредать на битвы. После этого, добавил механику событий, где можно было как вступить в бой, так и откупится золотишком/репутацией. Добавил разных героев, их снаряжение...
Даже замахнулся на какой-то (возможно, остросоциальный)сюжетец, наброски которого уже присутствуют, как в прочем и лор вселенной. Стиль и графика - это ТЕСТОВЫЙ вариант.
Да вот только начали терзать меня сомнения, нужно ли оно вообще кому-либо? Я наверное способен в одиночку вытащить это на достойном уровне, но отшлифовывать и докрашивать потенциально никому не нужный проект звучит слишком обидно...
П.с. как можно записывать небольше отрезки геймплея и заливать их в посты?
Киргизия энергетика личный опыт коррупция Всё самое интересное фэндомы Авторские истории
Мой личный опыт борьбы с коррупцией
Апрель 2022 года. Сфера электроэнергетики. ПодСтанция.
Начальник,- просто подлец,- когда уволилась добросовестная уборщица, он оформил уборщицей свою жену :( Её энтузиазм довольно быстро иссяк, на работе практически перестала появляться. Уборку делал сам начальник. Когда ему вздумается, изредка, иногда - вообще редко... В любое время и фактически нелегально, без оформления производства работ.
Интересная подробность :) Этот начальник до того оборзел от молчания его подчинённых овец-баранов (со мной этот номер не проходит, однозначно), что выпустил указание: работники (другой ПодСтанции, где уборщица тоже должна, вообще-то, убираться) - мойте, пилять, полы - каждый день, Карл!
То есть! Зарплата уборщицы просто присваивалась. И все вокруг молчали :|Мне это надоело: когда в очередной раз припёрся убираться этот пид...с, я его не допустил,- где удостоверение уборщика у тебя, какое право ты имеешь право производить здесь работы нелегально, без оформления распоряжения (согласно Правил Техники Безопасности и Инструкций). Пид...с просто сбежал, иначе я бы приступил к выполнению своих обязанностей: не допускать, сообщить вышестоящему начальству, в случае неподчинения приступить к битью...
Короче, вопрос я поставил так (но не громко): уволить по-тихому (по собственному желанию) фиктивную уборщицу; если по-тихому и по-хорошему не захотят ---> прокуратура заботливо подсчитает ущерб, нанесённый государству, и выпишет тебе счёт на x-миллионов (при этом многих будут таскать на допросы,- это неприятно - тянет на пособничество...).
Сейчас фиктивная ранее уборщица приходит и убирается каждый день,- не нравится - увольняйся нах...
Таким образом, я прикрыл свою жопу, и не способствую своим молчанием совершению преступления: Уголовный Кодекс - "злоупотребление должностным положением" :)
*********
Вот такой лист формата A4 я пришпилил на доску объявлений и информации у себя на работе,- и ни одна овца (баран) не посмели сорвать его:
Уголовный Кодекс КР
Раздел IX. ПРЕСТУПЛЕНИЯ ПРОТИВ ГОСУДАРСТВЕННОЙ ВЛАСТИ
Глава 42. Коррупционные и иные преступления против интересов государственной и муниципальной службы
Статья 337. Злоупотребление должностным положением
1. Использование должностным лицом своего служебного положения вопреки интересам службы, причинившее умышленно либо
по неосторожности значительный вред, –
наказывается штрафом в размере от 3000 до 5000 расчетных показателей или лишением свободы на срок до двух лет с лишением
права занимать определенные должности либо заниматься определенной деятельностью на срок до двух лет.
2. То же деяние, совершенное с целью извлечения выгод и преимуществ для себя либо других лиц или из иной личной
заинтересованности, –
наказывается штрафом от 5000 до 10000 расчетных показателей или лишением свободы на срок от двух до пяти лет с лишением
права занимать определенные должности либо заниматься определенной деятельностью на срок до трех лет.
политика Пётр Толстой депутаты говорит Москва
Пётр Толстой не считает непатриотичными заявления своей дочери о российских вузах
Об этом заместитель председателя Госдумы,депутат от Единой России заявил в интервью радиостанции «Говорит Москва».
«Я не буду комментировать. Это её частная жизнь, что ж я буду это обсуждать. То, что ей не нравится определенный вуз, в лицее которого она учится, это совершенно не значит, что она не патриот. Это всё чушь собачья. Я не готов обсуждать публикации в интернете».
Ранее дочь заместителя председателя Госдумы, ведущего программы «Политика» на «Первом канале» Петра Толстого Александра выступила с критикой российских вузов на своей странице в Ask.fm. По её словам, «журфак в МГУ очень испортился». На вопрос пользователей сети, не планирует ли она поступать в ВШЭ, Александра Толстая ответила «нет, не дай Бог». При этом она похвалила Йельский университет, отметив, что ранее никогда не собиралась учиться в США: «никогда не собиралась сюда, но я сейчас в Yale university и он очень крутой».
Отличный комментарий!