LINUX.ORG.RU
ФорумTalks

Современный промышленный эмбед

 


0

1

Пришло описание протокола с работы одной суровой промышленной железки. На чём у них библиотека и пример? На node.js, конечно жэ. На чём же ещё пишется суровое промышленное ПО. Пруфов не будет, конечно жэ.

★★★★

Ответ на: комментарий от adn

SDK. Но если наружу торчит такая борода, то внутри там жыра не меньше. Я уверен в этом, хотя железку глазами не видел.

lenin386 ★★★★
() автор топика
Последнее исправление: lenin386 (всего исправлений: 1)
Ответ на: комментарий от lenin386

Не факт. Возможно оно просто общается асинхронно по какому-нибудь вебсокету. В этом случае node.js более чем оправдан. Меньше кода писать.

adn ★★★★
()

Лучше ноджс чем какая-нибудь свалка застарелого си-кода, которая собирается только в windows nt 3.51 компилятором watcom, и только при наличии driver development kit строго определённой версии.

PolarFox ★★★★★
()

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

PolarFox ★★★★★
()

Нынче пишут на чем им проще и дешевле. Остальные требования и пожелания - второстепенны. Бабло побеждает бабло.

vaddd ★☆
()

Не ну погоди. Положим у тебя есть железка, условный станок ЧПУ, этой железке ничего не мешает иметь сетевой порт с веб-сервером, через который можно загружать чертежи, начинать обработку, делать калибровку и тд. На чем еще писать ПРИМЕРЫ как не на nodejs?

windows10 ★★★★★
()
Ответ на: комментарий от lenin386

Там нет никаких чертежей, фактически 4 цыфры получать надо.

Да хоть одна.

Эти «примеры» при производстве чего-то такого - пускаются на откуп штату программистов, которые их пишут. Ну или программисту. Это вполне нормально.

Вот сидишь ты на должности программера в конторе. Вам принесли девайс, который «отдает 4 цыфры», сказали написать пример, чтоб клиенты видели что цыфры получаются.

Типичный программёр выполнит этот реквест со свойственной ему узколобостью: напишет пример на ЕГО языке. Ведь запрос был «написать пример чтоб цыфры получались», а не «написать пример на python». Вот программер его и оформит на том языке, который сам знает.

Начальство посмотрит, проверит, циферки получаются, УМВР, все дела, в продакшен!

windows10 ★★★★★
()
Ответ на: комментарий от adn

Привозили нам на тесты светодиодное полнорядное табло, где также нужно было кода меньше писать. В потрохах у железки была малинка и там всем заправляла нода. Всё бы хорошо, только железка была сильно эстонская. А нам бы хотелось времени между попыткой управления и результатом раз в 50 меньше.

imul ★★★★★
()
Ответ на: комментарий от PolarFox

Лол будто коду на ноде не надо библиотек сишных определённой версии что выливается в определённую версию ноды ибо нода это бутерброд с клеем в виде js с определёнными фичами самой ноды и отпеделёнными зависимостями половина из которых вообще заброшена и часть внезапно выпилена из npm.

Проще пеерсобрать сишную библиотеку предоставляющую асинхронщину + вебсокеты. Чем пердолится с нодой.

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

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

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)

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

goingUp ★★★★★
()
Последнее исправление: goingUp (всего исправлений: 1)

Не удивительного, к чему-то подобному всё вело уже давно.

anc ★★★★★
()
Ответ на: комментарий от imul

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

Как-то слишком чересчур. Там микроконтроллера за глаза. Малинку еще загрузить надо и там linux полноценный. Очень странное решение для табло.

adn ★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

Лол будто коду на ноде не надо библиотек сишных определённой версии

Я не большой специалист по nodejs, но мне казалось, что она статикой собрана. Она ж по-факту раздербаненый webkit.

adn ★★★★
()
Ответ на: комментарий от xwicked

Да, печально, но факт, нынче специалистов нет. :(

Я вижу обратное. Люди такое в embedded’е вытворяют сейчас. И все на сишечке.

adn ★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

Проще пеерсобрать сишную библиотеку предоставляющую асинхронщину + вебсокеты. Чем пердолится с нодой

Вот нифига. Я очень плохо представляю себе «асинхронщину» на си. Это прямо противоречит всей сишной парадигме.

adn ★★★★
()
Ответ на: комментарий от adn

Это модуль, упакованый в корпус. Размер 64 на 128 светодиодов. Шаг может быть разный. Соответственно модули стекируемые. Из них набирают огромные дорожные информационные табло. Функционально они умеют и картинки показать, и текст разными шрифтами и размерами отрендерить и даже видео крутануть. Причём как отдельный модуль, так и их сборка. То есть тормоза были не в самой отрисовке на светодиодной панели, а во время подготовки изображения. Поскольку у нас задачи были сильно проще, то такое вот универсальное решение для нас в результате не подошло. Но, если ты на автотрассе увидишь какой-нибудь информационный экран, то скорее всего он будет собран из таких вот модулей. И никаких микроконтроллеров там нет.

imul ★★★★★
()
Ответ на: комментарий от imul

И никаких микроконтроллеров там нет.

Это очень плохо. 128x64 это совсем немного. Ради этого целую малинку с линуксом держать - ну такое. А вот управлялку уже соединенных модулей действительно оправдано на малинке делать.

adn ★★★★
()
Ответ на: комментарий от imul

Ну как работает «асинхронщина» знаешь? Вот кинул ты запрос и продолжаешь выполнение программы (кидаешь например еще запросы) как пришел ответ - обработал. На Си такое только через кучу форков с циклами ожидания. И еще это безобразие из форков как-то нужно между собой заставить общаться. И не запутаться в этом, так как код получится прямо сильно херово читаемым.

adn ★★★★
()
Ответ на: комментарий от adn

Это нам была нужна размерность 128x64 (потому что с учётом шага получается конкретный размер, шаг не могут сделать очень маленьким, у нас размер установочный тоже имеет пределы), такую для нас и сделали для тестов. Блок могут сделать и больше по размерности. Но вот рендеринг картинки занимал примерно полторы секунды. Рекламу и объявления крутить хватает.

imul ★★★★★
()
Ответ на: комментарий от adn

Не только знаю, но и писал даже. Нет там никакого безобразия. Аккуратность нужна конечно, но не всё так страшно.

imul ★★★★★
()
Ответ на: комментарий от imul

Не только знаю, но и писал даже. Нет там никакого безобразия.

На pure c? Блин, видал извращенцев, сам извращенец, но таких..

adn ★★★★
()
Ответ на: комментарий от adn

Это только первый раз написать — «извращение». Потом-то «реюзинг» кода и даже как-то привыкаешь.

imul ★★★★★
()
Ответ на: комментарий от adn

Это прямо противоречит всей сишной парадигме.

Эмм, нет. Я тебе тайну открою на си даже многопоточные приложения можно писать! ))))))))

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

Я тебе тайну открою на си даже многопоточные приложения можно писать! ))))))))

Да, можно. Но с использованием сторонних библиотек. Сам стандарт C емнип содержит только fork.

adn ★★★★
()
Ответ на: комментарий от imul

Потом-то «реюзинг» кода и даже как-то привыкаешь.

Ну такое…

adn ★★★★
()

Интересные у вас проблемы. Мы вот сидим, ждём, когда 3S Software тоже хлопнет дверью, и CoDeSys помашет нам ручкой. Параллельно, матерясь, программируем Delta DVP-SR2, который пока можно хоть за какие-то адекватные сроки купить. В нашей области промышленности Node JS пока не внедряют. Зато, чувствую, скоро, начну внедрять прогрессивные релейно-контактные схемы и аналоговые ПИД-регуляторы.

Alden ★★★★
()
Последнее исправление: Alden (всего исправлений: 2)
Ответ на: комментарий от lenin386

Под вендой никакого fork нет.

Кстати да. Забыл об этом. Это в libc.

adn ★★★★
()

скорее всё-таки не на node.js, а на ECMA-Script. Реализации у него действительно есть маленькие и шустрые, под железки. То есть там внутри не v9 от гугла а например v6 от монгуз.

MKuznetsov ★★★★★
()
Ответ на: комментарий от slovazap

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

lenin386 ★★★★
() автор топика
Последнее исправление: lenin386 (всего исправлений: 2)

Я 10 лет назад встречал предложение (вернее, приказ) выкинуть вариант CAN шины и вставить 100Base-T в виде Moxa, через который продолжать гонять CAN. На расстояниях 400 метров.

Shadow ★★★★★
()
Ответ на: комментарий от adn

node.js более чем оправдан. Меньше кода писать.

СТранно, что не Дельфи.

Shadow ★★★★★
()
Последнее исправление: Shadow (всего исправлений: 1)
Ответ на: комментарий от windows10

ничего не мешает иметь сетевой порт с веб-сервером

О, да ты хипстер.

Когда японцы для зарядки электромобилей использовали вариант CAN шины с гальванической развязкой и аварийными релейными контактами, европейцы сделали:

  • Powerline (вместо гальванически развязанной линии данных)
  • по ней Ethernet и TCP/IP
  • по ним два http сервера (у зарядной станции и электромобиля)
  • через них SOAP (внутри XML в ZIP, если кто не в курсе)
  • в SOAP сериализировался аналог CAN.

Bingo!

Shadow ★★★★★
()
Последнее исправление: Shadow (всего исправлений: 1)
Ответ на: комментарий от adn

безобразие из форков как-то нужно между собой заставить общаться

BSD Sockets / SysV shared memory (но лучше сокеты)

Shadow ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.