Тема разработки игр лично мне интересна, но как по мне было бы неплохо оформить подобный цикл статей в виде «делаем космо-шутер. Статья 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й в качестве главного ПЛК для умного дома.
Архив программы новостей наверняка есть у самого телеканала) вопрос как сделать какую-то структуру хранения данных, которая 1-2-100 тысяч лет выдержит?)
ну 100к лет может и не надо, хотя бы 1-2))
Если посмотреть на историю — что творилось 2000 лет назад еле разобрать — бумага полустлевшая, города под слоем пепла, так и приходится восстанавливать по черепичкам.
На чём хранить данные, чтобы они считались без проблем? Гранит? Нержавейка? Супер-пупер пластик?
А что, сделал «базовый» бэкап, а потом наращивай его «инкрементальными» архивами)))
Хотелось бы видеть немного «суъективной» части повествования — ваш бэкграунд, подход, «полет мысли» и т.д. Но без растекания по древу — тут был как-то дискус о наиболее подходящем стиле — «сухой» или «с преферансом и куртизантками» в повествовании, мнения разделились. Но я бы пока сказал, что «пересушено») Наткнувшись на вашу статью я не могу даже «отмотать назад» на предыдущие статьи или попробовать по шагам повторить опыт.
Забавно, но нет. Но нет. Это всё опять же «внешняя» мотивация, ютуб ролики по душем и т.д. никакого отношения к предметной области не имеют, а только, пожалуй, «засоряют» фокус. Вот где-то встречал демонстрацию в 3Д преобразования лапласа на Ютубе — вот там было помощнее, вот там было поинтереснее, это да. Нужно площадку использовать «по теме» а не розовых котиков, как по мне)
Как раз «сила» науки\дисциплин в «изяществе» в самой себе. Математика прекрасна да, внутри себя и в «отрыве» от мира а физика — наложение математики на наш реальный мир. Так вот нужно раскрывать это «изящество», побуждая интерес и реально открывать какие-то новые горизонты.
Это всё, по моему мнению — начинается с первого класса, с дошкольной программы, со счёта.
Нам начинают рассказывать как считать, но не зачем считать. Мы учим таблицу умножения, но не знаем зачем, мы учим преобразование Лапласа, представляя функцию в виде суммы экпоненциальных функци с мнимым числом, но абслютно не представляем, а ЗАЧЕМ нам представлять в виде экспонент, когда у нас есть преобразование Фурье и чем оно нас не устраивает.
Всё это — КЛЮЧЕВЫЕ как по мне задачи, которая должна ставить наука — мотивация должна пробуждаться в ней самой. Есть Фурье, но давайте попробуем решить с помощью него задачу Х и видим — не растёт кокос! не решается! Ваши идеи, как можно решить? До завтра подумать, завтра обсудим.
Есть же старый анекдот на эту тему, когда новый преподаватель одевает презерватив на глобус, а ученики спрашивают, а что такое глобус? — А вот это мы узнаем на следующем уроке.
Вернусь к счёту. Кажется, где-то в статьях про рациональность читал статью о вероятном сценарии «появлении счёта»: древний древний пастух утром выгонял овец на улицу пастись. Вечером загонял обратно. Заметил, что часть овец убегали за холм, часть съедались волками.
Каждый вечер он бродил с собаками и фонарем по холмам выискивал, не потерялись ли овцы, нет ли следов крови, может быть их съели волки. Тратил много времени и сил. Потом каким-то чудом, придумал: каждый раз когда выпускал овцу на улицу, в пустое ведро бросал камушек. Когда выпустил всех — в ведре была куча камушков. Каждый раз, когда запускал овец — доставал камушки из ведра.
К вечеру смотрел — если в ведре есть камушки — значит не все овцы пришли. Нужно идти искать. Если камушков нет — ходить никуда не надо. Идеально. Идеально! Человек изобрёл счёт, не вводя даже термины «один», «два», «три»… просто камушки. Потому что камушки это модель мира. один камушек в ведре означает одну овцу на улице. Изящно и лаконично. Нет камушков — нет овец, не нужно никуда ходить. В этом сила счёта (и математики и преобразовании Лапласа) — она задаёт модель мира в виде изящных и простых вещей, доступных для понимания.
Но нет. Где-то в промежутке после «у васи было 2 яблока и у пети было 3 яблока, сколько было яблок у обоих» неожиданно возникает Лапласа.
А я говорю про мотивацию «внутри» науки. Науки и дисциплины — жутко интересные вещи. Но стиль, методика, подходы и материал судя по всему, отбивает желание у 90% учащихся вообще вникать в то, про что ведётся речь. Нарисовал в симулинке звено, сдал лабораторку, помолился и так до следующего раза. Из года в год. Тысячи студентов. Что, все демотивированные и «не хотят учиться»?
Наверное, больше похоже на курсовую работу, при диалоге «студент-учитель» оба поймут с полуслова о чём речь. Применить данный материал «сходу» получится скорее всего, не у многих. Ну, либо статья для «посвященных» ))
По стилю изложения текст суховат, больше похож на текст будущего учёного).
Запустил демку — поведение выглядит достаточно «реалистично», в меру «инерционное», в меру «жесткое».
Любые дисциплины должны начинаться, я считаю, однозначно, не с «допустим, у нас есть треугольник, чему же равна сумма его сторон?» А в чём собственно, проблема? У меня нет проблемы, если я не знаю сумму углов треугольника.
В ваших статьях скидывали книгу «Математика в огне». Действительно, много «воды», за 40 минут «добежал» до 50й страницы, но замысел автора тоже понятен: не должны быть науки «сложными»!
Интересно конечно, пофилософствовать, от чего так произошло, почему науки стали «сложными», т.е. начиная с 1 класса школы они идут «простые» а потом в определённый момент становятся чудовищно сложными.
Я думаю, это возможно, случилось потому, что как-то так повелось что науке учили учёные мужья, выращивая будущих учёных мужей.
Нечто подобное, когда говорят «не давайте программистам писать мануалы для своих продуктов» или «Не давайте программистам делать UI-дизайн», ну, типа пользоваться будет невозможно))
Видимо, так и с наукой. Вообще говоря, преподаватели наверное, и не нужны. Во всяком случае, тупее занятия чем судорожное переписывание лекций за преподавателем во время учебы я себе сложно представляю.
В-общем, как по мне, весь вопрос в «мануалах» к наукам.
Извините, что ухожу «от темы».
Увидем на Хабре такую статью, сначала подумал: «Вот оно! наконец-то спустя 15 лет я смогу прочитать и понять ТАУ! А заодно и Лапласа!». Ан нет. Перепечатка лекций и ничего больше.
Начиная с первой лекции первых абзацев. Как можно вообще заниматься какой-то задачей, не видя, не понимая и не зная собственно, проблемы, которую стоит решить? Я совсем недавно узнал только, что когда запускали электричество\связь, то встала проблема длинных линий, при которых переменный сигнал, кажется, затухал на большом расстоянии и с этим пришлось бороться. Вот это нормальная такая человеческая задача. Может быть даже, она упоминалась в первых двух строчках учебника по электротехнике.
Когда материал подаётся в виде «допустим, у нас есть ядерный ректор, в котором есть управляющее воздействие и обратная связь» и дальше понеслось 100500 формул. Да, математики разговаривают на языке математики, но тем не менее.
В-общем, это моя «основная» претензия вообще к системе образования и стилю изложения таких статей\подхода к образованию. Грубо говоря, если у меня на столе не стоит ядерный реактор, в котором я могу проследить описанные процессы и понять, «где собака зарыта», определить проблему и поставить задачу, то разговаривать о коэффициенте вязкости масла в параметрах нелинейного уравнения рановато.
Мы на лекциях по электротехнике до уссачки изучали ПН-переходы транзисторов и диодов, ни разу не видев их вживую и не припаяв ни одного из них на плате. Когда препод занёс плату от старого телека и попросил показать ему где тут транзистор, ток несколько человек робко подняли руку. И то те, кто паяльник хотя бы раз в жизни держал.
Препода парируют: вы ж будущие инженеры, вы будете не паять а разрабатывать(кхе-хе) устройсва, вам паять не надо.
Не должно быть так. Если эту область не понимают 90% обучающихся, то что-то тут не то. И вопрос не в сложности дисциплины, как мне кажется.
И я не понимаю, почему профессора, которые понимают, что их не понимают 90% учащихся продолжают читать одни и те же лекции?
Или я ошибаюсь насчёт 90%? Ну хорошо, 80.
Конечно есть и гипотезы, и нагрузочные тестирования и фокус-группы и аналитика и дашборды, обратная связь и прочая прочая)
Так что я ещё раз удивляюсь мысли о том, что управление „крайне неэффективное“ и делает типа много ненужных вещей.
Управление крайне эффективное я бы сказал, что за последние 50 наверное лет, ни стиль, ни методы, ни общая парадигма системы управления не претерпела изменений. Но при этом патчи и апдейты выпускаются в ногу со временем: про-системные СМИ идут в ногу со временем и уже вещают в интернет и ютуб, жандармы всех мастей денно и нощно шерстят интернет по ключевым словам из облаков тегов „экстремизм“, „ругание власти“ и т.д., а также регулярно апдейтятся внешние рубежи из Росгвардии, армии и т.д. и т.п. Я даже не знаю, если честно, где сейчас у государства „слабое место“: ну, наверное, только сами люди.
Но тут уже все методы хороши: от административно-руководящих (законы), до Росгвардии\дубинки по голове и прочего.
Да, иногда случаются „недочеты“ у некоторых спецслужб по работе с некоторыми людьми при использовании некоторых веществ, но в целом, я думаю, все работают „хорошо“: к дачам ни подъехать, ни подплыть, ни подойти, ни подлететь. Разве это плохой результат?
И разобраться в «дефинициях».
Не всегда пользователи = граждане, тогда может всё четко встать на свои места.
Сын маминой подруги рассказал, что есть государства, где гос аппарат — и есть пользователи.
Тогда у них есть и свои метрики и средний чек; на мировом рынке ниша найдена: ресурсы, оружие. Боль пользователей практически решена — у девопса яхты и замки на берегу моря и частные самолёты у жён. У джунов откаты на поставках тушёнки и завозом угля для населенных пунктов. Остальные где-то посередине.
Выручка и капитализация повышается за счёт новых трубопроводов и месторождений, а также за счёт внутренних резервов: налогов на вклады в банках наёмных работников, пенсий, ЕГАИС, ПЛАТОН и т.д. — что не так? Это всё рабочие схемы с хорошими метриками и неплохим kpi.
Есть ещё плавающий рубль — тоже неплохое средство всегда по-быстренькому скорректировать бюджет.
Насчёт очень неэффективного менеджмента вообще не понял.
Сын маминой подруги также рассказал, что читал в фантастической книге про то, что есть страна, где эффективность и надежность на таком уровне, что я думаю, многим трампам и не снилась: главный руководитель обеспечивает себе пожизненную власть, издаётся закон о запрете преследования руководителя, нужные люди наделяются нужными полномочиями, в судебной системе снимается выборность конституционных судей, в большинстве регионов снимается выбор глав администрации и ещё примерно 100 действией, которые направлены на повышение надежности и эффективности этого механизма.
Я за последние 10 лет только удивляюсь изобретательности, когда кажется что всё,
дно пробитоуже максимальная эффективность — нет, находятся ещё светлые головы — вводят закон об оскорблении властей или запрете «очередных» пикетов, выпускает закон о НДС 20% и повышении НФДЛ до 15% для богатых.Но немного не дожимают мне кажется: пора как минимум придумать закон о запрете таких статей на хабре и таких комментариев. На всякий случай можно даже запретить хабр.
Ещё раз спасибо, буду «углубляться»
Где в этом цикле будет находиться перемещине данных из буфера коммуникационного модуля в область ДБ?.. Нужно ли это учитывать при написании программы? Могут ли данные появиться в середине цикла программы и может ли это повлиять на работоспособность?
Насколько я могу судить, считываемые данные могут появиться в любой момент времени (мы не знаем, через сколько ответит слейв или если есть на линии отваленные устройства то к циклу опроса добавится задержка). Не знаю, важно ли это или нет.
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 прописывается «руками» о циклической записи нужно помнить, я так понимю.
Или в дебрях руководства к драйверу что-нибудь написано про то, что если с последней записи данных значения не изменились то в интерфейс новые значения подаваться не будут? В любом случае, это не отменяет необходимость чтения выходов слейва и только потом записи (если пришел реквест на запись).
Можно ещё раз другими словами?.. Я немного не понял… ПЛК грузится в RUN «онлайн» без стопа? соответственно, модбас драйвер уже инициализирован и новые значения при их прогрузке не подхватывает, так? Напомните, S7-1200 может грузиться онлайн или через стоп?
А блок инициализации можно вызывать принудительно? Не хотелось бы, условно говоря останавливать процесс ради переинициализации обмена данными.
ЗЫ. Планирую поставить какой-нибудь 1200й в качестве главного ПЛК для умного дома.
ну 100к лет может и не надо, хотя бы 1-2))
Если посмотреть на историю — что творилось 2000 лет назад еле разобрать — бумага полустлевшая, города под слоем пепла, так и приходится восстанавливать по черепичкам.
На чём хранить данные, чтобы они считались без проблем? Гранит? Нержавейка? Супер-пупер пластик?
А что, сделал «базовый» бэкап, а потом наращивай его «инкрементальными» архивами)))