Pull to refresh
2
0

Пользователь

Send message
Тема разработки игр лично мне интересна, но как по мне было бы неплохо оформить подобный цикл статей в виде «делаем космо-шутер. Статья 0. Как я до этого докатился». «Статья 1. Делаем HUD.». «Статья 2. Делаем физику». Пройдя по вашим статьям можно будет воспроизвести ваш опыт, это будет уже хорошо. Пока, мне показалось — они немного «в разрыве» друг от друга, недостаточно «канвы повестования».
Хотелось бы видеть немного «суъективной» части повествования — ваш бэкграунд, подход, «полет мысли» и т.д. Но без растекания по древу — тут был как-то дискус о наиболее подходящем стиле — «сухой» или «с преферансом и куртизантками» в повествовании, мнения разделились. Но я бы пока сказал, что «пересушено») Наткнувшись на вашу статью я не могу даже «отмотать назад» на предыдущие статьи или попробовать по шагам повторить опыт.
Хех))) Вам не лень было?)))

Забавно, но нет. Но нет. Это всё опять же «внешняя» мотивация, ютуб ролики по душем и т.д. никакого отношения к предметной области не имеют, а только, пожалуй, «засоряют» фокус. Вот где-то встречал демонстрацию в 3Д преобразования лапласа на Ютубе — вот там было помощнее, вот там было поинтереснее, это да. Нужно площадку использовать «по теме» а не розовых котиков, как по мне)

Как раз «сила» науки\дисциплин в «изяществе» в самой себе. Математика прекрасна да, внутри себя и в «отрыве» от мира а физика — наложение математики на наш реальный мир. Так вот нужно раскрывать это «изящество», побуждая интерес и реально открывать какие-то новые горизонты.
Это всё, по моему мнению — начинается с первого класса, с дошкольной программы, со счёта.
Нам начинают рассказывать как считать, но не зачем считать. Мы учим таблицу умножения, но не знаем зачем, мы учим преобразование Лапласа, представляя функцию в виде суммы экпоненциальных функци с мнимым числом, но абслютно не представляем, а ЗАЧЕМ нам представлять в виде экспонент, когда у нас есть преобразование Фурье и чем оно нас не устраивает.
Всё это — КЛЮЧЕВЫЕ как по мне задачи, которая должна ставить наука — мотивация должна пробуждаться в ней самой. Есть Фурье, но давайте попробуем решить с помощью него задачу Х и видим — не растёт кокос! не решается! Ваши идеи, как можно решить? До завтра подумать, завтра обсудим.
Есть же старый анекдот на эту тему, когда новый преподаватель одевает презерватив на глобус, а ученики спрашивают, а что такое глобус? — А вот это мы узнаем на следующем уроке.

Вернусь к счёту. Кажется, где-то в статьях про рациональность читал статью о вероятном сценарии «появлении счёта»: древний древний пастух утром выгонял овец на улицу пастись. Вечером загонял обратно. Заметил, что часть овец убегали за холм, часть съедались волками.
Каждый вечер он бродил с собаками и фонарем по холмам выискивал, не потерялись ли овцы, нет ли следов крови, может быть их съели волки. Тратил много времени и сил. Потом каким-то чудом, придумал: каждый раз когда выпускал овцу на улицу, в пустое ведро бросал камушек. Когда выпустил всех — в ведре была куча камушков. Каждый раз, когда запускал овец — доставал камушки из ведра.
К вечеру смотрел — если в ведре есть камушки — значит не все овцы пришли. Нужно идти искать. Если камушков нет — ходить никуда не надо. Идеально. Идеально! Человек изобрёл счёт, не вводя даже термины «один», «два», «три»… просто камушки. Потому что камушки это модель мира. один камушек в ведре означает одну овцу на улице. Изящно и лаконично. Нет камушков — нет овец, не нужно никуда ходить. В этом сила счёта (и математики и преобразовании Лапласа) — она задаёт модель мира в виде изящных и простых вещей, доступных для понимания.

Но нет. Где-то в промежутке после «у васи было 2 яблока и у пети было 3 яблока, сколько было яблок у обоих» неожиданно возникает Лапласа.
Вы описали про внешнюю мотивацию сдудента: желание учиться, отсрочка от армии, «лишь бы выучиться» — это все мотивации, которые находятся «снаружи» науки.
А я говорю про мотивацию «внутри» науки. Науки и дисциплины — жутко интересные вещи. Но стиль, методика, подходы и материал судя по всему, отбивает желание у 90% учащихся вообще вникать в то, про что ведётся речь. Нарисовал в симулинке звено, сдал лабораторку, помолился и так до следующего раза. Из года в год. Тысячи студентов. Что, все демотивированные и «не хотят учиться»?
Как говорится, «ничего не понял, но очень интересно»)
Наверное, больше похоже на курсовую работу, при диалоге «студент-учитель» оба поймут с полуслова о чём речь. Применить данный материал «сходу» получится скорее всего, не у многих. Ну, либо статья для «посвященных» ))
По стилю изложения текст суховат, больше похож на текст будущего учёного).
Запустил демку — поведение выглядит достаточно «реалистично», в меру «инерционное», в меру «жесткое».
Да, мысль вы похоже, уловили. У этих дисциплин почему-то очень высокий «порог вхождения», не должно быть такого, я считаю. Нет ничего сложного ни в преобразованиях Лапласа ни в Фурье, вопрос подачи материала)
Любые дисциплины должны начинаться, я считаю, однозначно, не с «допустим, у нас есть треугольник, чему же равна сумма его сторон?» А в чём собственно, проблема? У меня нет проблемы, если я не знаю сумму углов треугольника.
В ваших статьях скидывали книгу «Математика в огне». Действительно, много «воды», за 40 минут «добежал» до 50й страницы, но замысел автора тоже понятен: не должны быть науки «сложными»!
Интересно конечно, пофилософствовать, от чего так произошло, почему науки стали «сложными», т.е. начиная с 1 класса школы они идут «простые» а потом в определённый момент становятся чудовищно сложными.
Я думаю, это возможно, случилось потому, что как-то так повелось что науке учили учёные мужья, выращивая будущих учёных мужей.
Нечто подобное, когда говорят «не давайте программистам писать мануалы для своих продуктов» или «Не давайте программистам делать UI-дизайн», ну, типа пользоваться будет невозможно))
Видимо, так и с наукой. Вообще говоря, преподаватели наверное, и не нужны. Во всяком случае, тупее занятия чем судорожное переписывание лекций за преподавателем во время учебы я себе сложно представляю.
В-общем, как по мне, весь вопрос в «мануалах» к наукам.
Извините, что ухожу «от темы».

В предыдущих статьях в коментах где-то была ссылка на книгу «математика в огне». Я примерно про это. Про методику преподавания, про подход и т.д. Эти предметы не должны быть сложны. Ну или я просто дурак)))
Напишу комментарий к последней лекции с учётом того, что пробежался по первой и нескольким остальным.
Увидем на Хабре такую статью, сначала подумал: «Вот оно! наконец-то спустя 15 лет я смогу прочитать и понять ТАУ! А заодно и Лапласа!». Ан нет. Перепечатка лекций и ничего больше.
Начиная с первой лекции первых абзацев. Как можно вообще заниматься какой-то задачей, не видя, не понимая и не зная собственно, проблемы, которую стоит решить? Я совсем недавно узнал только, что когда запускали электричество\связь, то встала проблема длинных линий, при которых переменный сигнал, кажется, затухал на большом расстоянии и с этим пришлось бороться. Вот это нормальная такая человеческая задача. Может быть даже, она упоминалась в первых двух строчках учебника по электротехнике.
Когда материал подаётся в виде «допустим, у нас есть ядерный ректор, в котором есть управляющее воздействие и обратная связь» и дальше понеслось 100500 формул. Да, математики разговаривают на языке математики, но тем не менее.
В-общем, это моя «основная» претензия вообще к системе образования и стилю изложения таких статей\подхода к образованию. Грубо говоря, если у меня на столе не стоит ядерный реактор, в котором я могу проследить описанные процессы и понять, «где собака зарыта», определить проблему и поставить задачу, то разговаривать о коэффициенте вязкости масла в параметрах нелинейного уравнения рановато.
Мы на лекциях по электротехнике до уссачки изучали ПН-переходы транзисторов и диодов, ни разу не видев их вживую и не припаяв ни одного из них на плате. Когда препод занёс плату от старого телека и попросил показать ему где тут транзистор, ток несколько человек робко подняли руку. И то те, кто паяльник хотя бы раз в жизни держал.
Препода парируют: вы ж будущие инженеры, вы будете не паять а разрабатывать(кхе-хе) устройсва, вам паять не надо.
Не должно быть так. Если эту область не понимают 90% обучающихся, то что-то тут не то. И вопрос не в сложности дисциплины, как мне кажется.
И я не понимаю, почему профессора, которые понимают, что их не понимают 90% учащихся продолжают читать одни и те же лекции?
Или я ошибаюсь насчёт 90%? Ну хорошо, 80.
Неплохо из айтишной терминологии функциональное устройство государства помогла бы описать фраза «авторитарный сервер без резервирования с множеством клиентов (регионов), подключенных по топологии через „звезда“ через специальный „фаервол“.
Конечно есть и гипотезы, и нагрузочные тестирования и фокус-группы и аналитика и дашборды, обратная связь и прочая прочая)
Так что я ещё раз удивляюсь мысли о том, что управление „крайне неэффективное“ и делает типа много ненужных вещей.
Управление крайне эффективное я бы сказал, что за последние 50 наверное лет, ни стиль, ни методы, ни общая парадигма системы управления не претерпела изменений. Но при этом патчи и апдейты выпускаются в ногу со временем: про-системные СМИ идут в ногу со временем и уже вещают в интернет и ютуб, жандармы всех мастей денно и нощно шерстят интернет по ключевым словам из облаков тегов „экстремизм“, „ругание власти“ и т.д., а также регулярно апдейтятся внешние рубежи из Росгвардии, армии и т.д. и т.п. Я даже не знаю, если честно, где сейчас у государства „слабое место“: ну, наверное, только сами люди.
Но тут уже все методы хороши: от административно-руководящих (законы), до Росгвардии\дубинки по голове и прочего.
Да, иногда случаются „недочеты“ у некоторых спецслужб по работе с некоторыми людьми при использовании некоторых веществ, но в целом, я думаю, все работают „хорошо“: к дачам ни подъехать, ни подплыть, ни подойти, ни подлететь. Разве это плохой результат?
Опередили. Внизу чуть развёрнутей.
Я думаю, достаточно остановиться на первом абзаце:
Потому что государство – это продукт. Со своими метриками, экономикой, жизненным циклом. У граждан-пользователей есть и лайфтайм, и отток, и средний чек. Да и цели те же: найти свою нишу на мировом рынке, решить боли пользователей, повысить выручку и капитализацию. Только вот чиновники, которые управляют нашими странами, угробили бы любой стартап примерно сразу.

И разобраться в «дефинициях».
Не всегда пользователи = граждане, тогда может всё четко встать на свои места.
Сын маминой подруги рассказал, что есть государства, где гос аппарат — и есть пользователи.
Тогда у них есть и свои метрики и средний чек; на мировом рынке ниша найдена: ресурсы, оружие. Боль пользователей практически решена — у девопса яхты и замки на берегу моря и частные самолёты у жён. У джунов откаты на поставках тушёнки и завозом угля для населенных пунктов. Остальные где-то посередине.
Выручка и капитализация повышается за счёт новых трубопроводов и месторождений, а также за счёт внутренних резервов: налогов на вклады в банках наёмных работников, пенсий, ЕГАИС, ПЛАТОН и т.д. — что не так? Это всё рабочие схемы с хорошими метриками и неплохим kpi.
Есть ещё плавающий рубль — тоже неплохое средство всегда по-быстренькому скорректировать бюджет.
Насчёт очень неэффективного менеджмента вообще не понял.
Сын маминой подруги также рассказал, что читал в фантастической книге про то, что есть страна, где эффективность и надежность на таком уровне, что я думаю, многим трампам и не снилась: главный руководитель обеспечивает себе пожизненную власть, издаётся закон о запрете преследования руководителя, нужные люди наделяются нужными полномочиями, в судебной системе снимается выборность конституционных судей, в большинстве регионов снимается выбор глав администрации и ещё примерно 100 действией, которые направлены на повышение надежности и эффективности этого механизма.
Я за последние 10 лет только удивляюсь изобретательности, когда кажется что всё, дно пробито уже максимальная эффективность — нет, находятся ещё светлые головы — вводят закон об оскорблении властей или запрете «очередных» пикетов, выпускает закон о НДС 20% и повышении НФДЛ до 15% для богатых.
Но немного не дожимают мне кажется: пора как минимум придумать закон о запрете таких статей на хабре и таких комментариев. На всякий случай можно даже запретить хабр.
если бы хотели — довели бы дело до конца
Спасибо за такой большой и развернутый материал по этой теме, так удивительно, что ни одного комментария на эту тему!)
Ещё раз спасибо, буду «углубляться»
Конечно, выкладывайте, интересно ж!
1. Также хотелось бы понять механизм появления данных, считанных по Модбас — в какой момент и как они появляются?.. Скажем, классический сценарий работы ЦПУ — считываем входы, делаем программу — записываем выходы.
Где в этом цикле будет находиться перемещине данных из буфера коммуникационного модуля в область ДБ?.. Нужно ли это учитывать при написании программы? Могут ли данные появиться в середине цикла программы и может ли это повлиять на работоспособность?
Насколько я могу судить, считываемые данные могут появиться в любой момент времени (мы не знаем, через сколько ответит слейв или если есть на линии отваленные устройства то к циклу опроса добавится задержка). Не знаю, важно ли это или нет.

2. Я всё со своей записью в регистры «по изменению» в релеынй модуль WirenBoard.
Как писал выше — кейс: управлять лампочками через релейный модуль «в параллель» с входными сигналами. Релейный модуль меняет состояние выходных каналов по фронту входных сигналов, а также может менять состояние (R/W) выходных каналов через modbus.

Остаётся продумать механизм записи. Похоже, он просто выглядит из, как минимум, 2х циклов: чтение выходов (скажем, слово из 8 бит, по биту на выход), проверки слова на запись, если слово на запись != считанному слову -> посылка слова на запись, непосредственно запись в слейв.

Также для повышения быстродействия, по всей видимости (если опрашиваем ХХ устройств) на отклик — можно предусмотреть «прерывания» — если слова на запись != считанным словам, то изменить шаг с условного 1(считывание первого устройства) на 10 — (запись в 1 устройство).
Но опять же, придётся учитывать, что остальная запись пройдет скорее всего, «в холостую», т… е в остальные слейвы будут записаны те же данные, что там и были(для простоты программы).

3. Эмулятор под S7-1200/1500 позволит протестировать Modbus TCP?.. Лет 9 назад вроде не умел, согласно документации…

4.0 Если использовать Modbus TCP, сколько коннектов можно поднять на S7-1200?.. У него вроде было до 8 коннектов, вот я не знаю — туда входят коннекты Модбаса? Вопрос в том ключе, что как работает драйвер ModbusTСP с несколькими слейвами — если делать опрос «по шагам» — то понятно, что как «поллинг».
А что если использовать несколько экземпляров ModbusTСP драйвера, каждый со своим коннекшеном, могу ли я тем самым повысить быстродействие?
4.1 Такой финт ушами для MB_MASTER (несколько экземпляров) в режиме ModbusRTU Over TCP всё равно не пройдет, ведь я понимаю, один экземлпяр на один коммуникационный модуль?
4.2 Что если я поставлю на каждый конвертер TCP-RTU и буду поднимать отдельный MB_MASTER RTU over TCP на каждый конвертер — в теории это же должно повысить быстродействие (см 4.0)?.. Мало того, можно использовать топологию «звезда».
Скажем, в условиях домашнего применения можно было бы HVAC повесить на один шлейф, а управление светом — на другой и вместо RS485 модуля купить 2 преобразователя TCP-RTU.
Вопрос целесообразности пока не сильно затрагиваю, хотелось бы понять больше принцип работы.
Хотелось бы понять а зачем… «заворачивать» ФБ модбаса в мультиэкземпляр как таковой… Это хорошая практика? В примерах Сименс похожий подход?.. Не должна как по мне, падать программа при изменении формата хранения данных…
Там скорее всего… я не знаю как сказать — драйвер модбаса обращается к «жестко» прописанным адресам в ДБ, и если ДБ «сместить» (добавить новую переменную выше по течению) драйвер модбаса наверное, «сходит с ума»?.. хотелось бы поподробнее понять механизм, что там происходит и почему… По всей видимости, нужен какой-то online memory rebuild или типа того, чтобы после изменения олнайн программа продолжала «жить»…
Возможно, в справке по online change про это что-нибудь рассказано, но я с сименсом давно уже не работал…
Если на лету изменить интерфейс «внешнего» ФБ,

Что значит «интерфейс» внешнего ФБ?.. Изменение его структуры, добавление новых данных и т.д.?
Можно ли как-то автоматически отслеживать, что произошла загрузка\изменение ФБ и запуск инициализации коммуникации «с начала»?.. Либо даже не с начала а с последнего шага…
Может ли в таком случае быть потерян какой-то управляющий сигнал на запись?.. (если мы использовали что-то в стиле one shot в шаге 3, а пере-инициализация началась на шаге 1 и мы «потеряли» команду управления?) В-общем, похоже нужно быть внимательным… Может быть, можно и автоматически останавливать коммуникацию?..
Спасибо, интересно читать ваши статьи, понятно, доходчиво и развернёто.
Я в своё время делал этот обмен на LAD, было больновато)) У вас конечно, на SCL поизящней будет.

Как я вижу — у вас идёт циклическое чтение\запись независимо от условий.
И я вроде, тоже так делал. Однако, в случае, если выходами слейвов может управлять кто-то ещё (например, модуль реле у WirenBoard может переключать выходы от своих входов, а может «рулиться» по модбас — задача управления светом).
Соответственно, нужно делать некий кроссчек на проверку, была ли переменная изменена, чтобы не было такого, что слейв пишет на выход «0», а мы туда статически пишем «1». В ПЧ и т.д. обычно используют режим local\remote либо как здесь некий ControlFromPLC бит, как подтверждение «легитимности» записи.
В-общем, за счёт того, что Modbus в Siemens прописывается «руками» о циклической записи нужно помнить, я так понимю.
Или в дебрях руководства к драйверу что-нибудь написано про то, что если с последней записи данных значения не изменились то в интерфейс новые значения подаваться не будут? В любом случае, это не отменяет необходимость чтения выходов слейва и только потом записи (если пришел реквест на запись).

Пока оставляем прием данных без обработки, компилируем и грузим программу, смотрим на результат. Кстати, обращаю еще внимание на один факт. Поскольку мы работаем, завернув системные вызовы в свой функциональный блок, то любое изменение «своего» ФБ с последующей загрузкой ПЛК, будет нарушать обмен в связи с переинициализацией экземпляра нашего ФБ. Например, будет уходить в ноль значение «шага обмена». Да и внутренние статические переменные коммуникационных вызовов тоже пострадают. Самый простой способ — стоп и старт контроллера. В боевом проекте это опасно, поэтому там на вход Init я бы подал еще одну переменную и поднимал ее самостоятельно после изменений в коммуникациях. Пока же боремся с остановом обмена простым стоп-стартом ПЛК.


Можно ещё раз другими словами?.. Я немного не понял… ПЛК грузится в RUN «онлайн» без стопа? соответственно, модбас драйвер уже инициализирован и новые значения при их прогрузке не подхватывает, так? Напомните, S7-1200 может грузиться онлайн или через стоп?
А блок инициализации можно вызывать принудительно? Не хотелось бы, условно говоря останавливать процесс ради переинициализации обмена данными.

ЗЫ. Планирую поставить какой-нибудь 1200й в качестве главного ПЛК для умного дома.
Кажется, в документации что-то было про то, что по таймауту error взводится или я путаю?
Это прекрасно, но какая же это боль для непосвящённого)) а так хочется…
Архив программы новостей наверняка есть у самого телеканала) вопрос как сделать какую-то структуру хранения данных, которая 1-2-100 тысяч лет выдержит?)
ну 100к лет может и не надо, хотя бы 1-2))
Если посмотреть на историю — что творилось 2000 лет назад еле разобрать — бумага полустлевшая, города под слоем пепла, так и приходится восстанавливать по черепичкам.
На чём хранить данные, чтобы они считались без проблем? Гранит? Нержавейка? Супер-пупер пластик?
А что, сделал «базовый» бэкап, а потом наращивай его «инкрементальными» архивами)))

Information

Rating
Does not participate
Location
Россия
Registered
Activity