Это вам просто повезо, если вы не разбирали сырцы немецких, итальянских или китайских погромистов. И если у последних только с комментариями квест, то у первых двух не только переменные, но и функцыи загадочно обзываются :)
О, напрашывается идея для стартапчика с ipo и блокчейнами с пониженной соц. ответственностью. Покупаем (потребляем и накапливаем в накопителях) электроэнергию из розетки на минимуме цены, продаем (отдаем в сеть) на максимуме. Профит! Название будущей компании застолблю как «Из пустого в порожнее Ltd.»
Оконные WinAPI-шные процедуры писать на ассемблере (с синтаксическим сахаром) чуть ли не легче чем на Це. Нет битвы за соответствие типов, калькуляторкомпилятор не ругается на каждый неаккуратный чих. Та же вижуалстудио тянет через библиотеки в простое оконное приложение кучу всякой всячины, типа всех этих Redistributable Packages (ну простое винапи, зачем?) или _security_check_cookie (а я их не просил подключать).
Смех смехом, а я до сих пор вспоминаю, как однажды разобрал модульную Симметру, а у нее с завода силовые контакты на платах не то что не протянуты, просто от руки закручены были. С соответствующим эффектом выгорания под нагрузкой.
Хорошо если это будет не один Вася Пупкин на всю страну, а несколько центров, при чём независимых, конкурирующих. Со складами запчастей. С поддержкой круглосуточной.
А сейчас многие производители скатываются к отказу от этого. Та же АРС by Швондер Электрик. Да и Итон последние годы такие деньги берет с сервис партнеров (в том числе и за склад запчастей), что хоть хватай и беги.
Ну вообще есть модели, где конденсаторы прикручиваются на платы винтами на контактные площадки.
Опять же в ИБП есть всякие фильтры на конденсаторах на постоянном и переменном токе, и зачастую там используются ножевые разъемы или опять же винты и шины. Но они обычно выносятся за силовые модуля.
Есть две концепцыи построения модульных систем. В первой каждый модуль как будто независимый ИБП (даже свой стат. байпас), а стойка представляет собой просто параллельную систему с набором мощности. Очень интересная концепцыя, отказ HMI практически не влияет на функцыональность (можно включить/выключить без дисплея). Во второй концепцыи модули просто выпрямитель-инвертор, байпас отдельно, главный управляющий модуль также отдельно. И если модуль управления часто резервинуется (два модуля — основной и резервный) и, теоретически, можно работать на одном (но не всегда, привет APC Cимметре), то cтатический байпас один и в случае его отказа ИБП с большей вероятностью превращается в тыкву.
Ни в коем случае не с ассемблера! Только вторым языком, чтобы понимать, как работает железо.
После ассемблера просто невозможно программировать на ЯВУ, процесс написания программы превращается в постоянную борьбу с компилятором. Напрмиер Си. Все эти миллионы унаследованных друг от друга типов данных, с невозможностью конвертации «на лету». Пристегивание кучи вроде как и ненужных, но тем не менее необходимых библиотек.
Вот например,
решыл я вспомнить программинг на Си под Windows, лет 10 не брал в руки этих шашек. Но я не настоящий сварщик, просто понадобилось программку написать для облегчения работы. Установил даже две MSVS, 6ую и 2008ую. Сравнить в процессе. Накидал хеллоуорлд на WinAPI. В результате вылезли пара проблем:
Вот вроде создаю чистое приложение без всяких MFC и прочих стандартных библиотек. Заинклужен только windows.h. А в ресурсе меню не могу назначить пункту свой идентификатор, например, ID_FILE_OPEN, т.к. он уже объявлен в одном из файлов из MFC (неподключенных же!). А в процедуре обработки сообщений сообщение приходит именно со стандартным, MFC-шным значением ID_FILE_OPEN и я его обработать не могу :)
Опять же, вызываю по выбору пункта меню MessageBox (в отладочных целях) — а его окно не прорисовывается :) Зато, кроме отсутсвия фокуса ввода у окна приложения (ну правильно, оно же перешло на непрорисованный месседжбокс!) возрастает нагрузка на процессор из дебрей ядра. До 50% :)
В 2008ой вообще текстовые строки зачем то (:)) надо писать в формате L«my string», просто кавычки компилятор не понимает. И все равно в заголовке окна выводися не только заданный мною текст, а еще и содержимое предваряющих его ячеек памяти.
И это просто шаблон оконного приложения с всего лишь с СreateWindowsEx.
В итоге то же самое, но переписанное буква в букву на ассемблере в Masm — работает так как и задумано.
Запомни! Лучше день потерять, потом за пять минут долететь! (с)
Э… как гипертерминал. У чипа простой интерфейс RS-232 или TTY, подключается к компьютеру и пользователь общается с ним через любую терминальную программу.
Таким образом можно вводить программу в память чипа, запускать на исполнение и получать и передавать программе данные также через 232 интерфейс.
Важной причиной популярности Basic стал его небольшой объем
Был микропроцессор (ins8073) со встроенным интерпретатором бейсика размером 1.25 кБайт — подавай питание, подключай терминал по RS232 и работай! Программы можно было с внешнего ПЗУ выполнять.
К176КТ1… Т.е. эта микросхема (цифровая) в этой схеме играла роль детектора в аналоговом тракте.
НУ с чего она цифровая то? Это же электронные ключи на полевиках, пусть и с цифровым управлением, и коммутировать они могут любые сигналы, почти как обычные реле.
Про вентилятор. Вы пишите «Скорость вращения пропорциональная текущим герцам.»
По моему это лишнее. Вряд ли оператор сможет увидеть разницу в скорости вращения. Тут лучше цифры.
Кстати да, с анимашками на мнемосхемах HMI могут забавные вещи приключаться. Как то к нам звонок от клиента — у вас на экране ток в обратную сторону течет! Аварийная ситуация так то. А объяснилось все просто. Программисты сделали «красиво», ток течет по проводнику как «бегущая строка», квадратиками. Частота развертки дисплея не делится нацело на частоту воспроизведения анимашки, за много часов работы накапливается рассинхрон, ток то бежыт по картинке правильно, то в обратную сторону :) Но там не СКАДА была, просто LCD дисплей устройства с графикой.
вот такую серию книг найти бы почитать, лет 10 назад на работе при переезде нашел
Однако на языке оригинала это звучит как «program mode», что удачнее перевести как «режым программирования».
калькуляторкомпилятор не ругается на каждый неаккуратный чих. Та же вижуалстудио тянет через библиотеки в простое оконное приложение кучу всякой всячины, типа всех этих Redistributable Packages (ну простое винапи, зачем?) или _security_check_cookie (а я их не просил подключать).Совсем не достижение, весь мир уже лет 10 не производит преобразователи с коэффициентом 0.8. А самые модные чуваки перешли на 1.0 (маркетинговые).
А сейчас многие производители скатываются к отказу от этого. Та же АРС by Швондер Электрик. Да и Итон последние годы такие деньги берет с сервис партнеров (в том числе и за склад запчастей), что хоть хватай и беги.
Опять же в ИБП есть всякие фильтры на конденсаторах на постоянном и переменном токе, и зачастую там используются ножевые разъемы или опять же винты и шины. Но они обычно выносятся за силовые модуля.
parus-electro.ru/ibp-peremennogo-toka/sipb_1-3kva_tower/sipb1ba_9_11.html
Штиль — китайские китайцы. Истинный российский бесперебойник выглядит суровее.
«В худшем случае» — это когда индекс равен 0? Или если не найдена строка? Тогда лучше -1 возвращать.
После ассемблера просто невозможно программировать на ЯВУ, процесс написания программы превращается в постоянную борьбу с компилятором. Напрмиер Си. Все эти миллионы унаследованных друг от друга типов данных, с невозможностью конвертации «на лету». Пристегивание кучи вроде как и ненужных, но тем не менее необходимых библиотек.
Вот вроде создаю чистое приложение без всяких MFC и прочих стандартных библиотек. Заинклужен только windows.h. А в ресурсе меню не могу назначить пункту свой идентификатор, например, ID_FILE_OPEN, т.к. он уже объявлен в одном из файлов из MFC (неподключенных же!). А в процедуре обработки сообщений сообщение приходит именно со стандартным, MFC-шным значением ID_FILE_OPEN и я его обработать не могу :)
Опять же, вызываю по выбору пункта меню MessageBox (в отладочных целях) — а его окно не прорисовывается :) Зато, кроме отсутсвия фокуса ввода у окна приложения (ну правильно, оно же перешло на непрорисованный месседжбокс!) возрастает нагрузка на процессор из дебрей ядра. До 50% :)
В 2008ой вообще текстовые строки зачем то (:)) надо писать в формате L«my string», просто кавычки компилятор не понимает. И все равно в заголовке окна выводися не только заданный мною текст, а еще и содержимое предваряющих его ячеек памяти.
И это просто шаблон оконного приложения с всего лишь с СreateWindowsEx.
В итоге то же самое, но переписанное буква в букву на ассемблере в Masm — работает так как и задумано.
Запомни! Лучше день потерять, потом за пять минут долететь! (с)
Таким образом можно вводить программу в память чипа, запускать на исполнение и получать и передавать программе данные также через 232 интерфейс.
Был микропроцессор (ins8073) со встроенным интерпретатором бейсика размером 1.25 кБайт — подавай питание, подключай терминал по RS232 и работай! Программы можно было с внешнего ПЗУ выполнять.
НУ с чего она цифровая то? Это же электронные ключи на полевиках, пусть и с цифровым управлением, и коммутировать они могут любые сигналы, почти как обычные реле.
Кстати да, с анимашками на мнемосхемах HMI могут забавные вещи приключаться. Как то к нам звонок от клиента — у вас на экране ток в обратную сторону течет! Аварийная ситуация так то. А объяснилось все просто. Программисты сделали «красиво», ток течет по проводнику как «бегущая строка», квадратиками. Частота развертки дисплея не делится нацело на частоту воспроизведения анимашки, за много часов работы накапливается рассинхрон, ток то бежыт по картинке правильно, то в обратную сторону :) Но там не СКАДА была, просто LCD дисплей устройства с графикой.