LINUX.ORG.RU

Автоматизация


7

0

Всего сообщений: 5

Ноутбук для шабашек

Со средствами разработки под промышленное железо для онтопика традиционно всё было плохо. Проприетарные программы, типа TIA Portal от Siemens, непонятно каким чудом под родной Виндой криво-косо работали, не то, что в условном Wine. По сути, было 2 пути: сидеть на Винде или держать виртуалку со всем необходимым софтом.

Однако, сейчас почти все мажорные производители от нас убежали, и их оборудование стало доступно только контрабандой. Заказчики стали интересоваться альтернативами, в чью сторону раньше особо не смотрели. Часть из них используют разные самопальные IDE для языков МЭК 6-1131/3, часть – CODESYS. CODESYS – широко известная в узких кругах проприетарщина, имеющая нативный линуксовый рантайм, но, разумеется, не имеющая нативной версии среды разработки. Я давно слышал, что CODESYS таки работает в Wine, пусть и с многочисленными оговорками. Не так давно решил попробовать и – о чудо, почти никаких пятен!

На скриншоте и фотке:

  • Manjaro на ноутбуке Dell Lattitude 7280
  • Контроллер Weintek cMT-CTRL01 с модулями расширения
  • Маленькая панелька оператора ONI
  • Plasma с Kvantum и темой KvMojaveLight
  • CODESYS 3.5 SP15 Patch 3 в Wine Staging 8.1

По сути, в Wine сейчас работают все нужные мне функции CODESYS. Небольшой проектик удалось сделать без особых проблем. Позывов плюнуть на эту дурацкую затею и запустить виртуалку с Виндой почти не было.

Хотелось бы, конечно, иметь открытый софт для МЭК 6-1131/3. Он даже есть в лице Beremiz и, вроде бы, работает. Но железа для него практически нет. Какое-то программируемое реле, хтонический ужас для автоматизации атомных станций и фигня для умного дома.

>>> Просмотр (1920x2302, 3007 Kb)

 , , ,

Alden
()

Линукс для трафика

Не знаю будет ли интересно благородным донам, но вот одна из моих рабочих машинок. Голландский контроллер для управления транспортными потоками. По сути комп в промышленном исполнении в стандартных для европы слотах.

Данный когитатор анализирует данные с IP камер на объекте и просчитывает трафик на перекрестке с соответствующим после этого изменением длительности сигналов для транспорта. Внутри дебиан-подобный дистрибутив, если не ошибаюсь, с кучей серверов.

Конфигурирование девайса - сущая головомойка! Ибо девиз производителя «Усложнение ради усложнения». И в целом до идеального устройства не хватает целой технологической ступени, но нейросети в такую технику совать пока боятся.

>>> Просмотр (4618x3464, 1144 Kb)

 trafic,

bioreactor
()

Tolma.ch - поддерживая месячник CAT-инструментов на ЛОРе

Недавний скриншот @Bagrov про OmegaT показал, что среди лорчан есть интерес к софту для переводчиков, а потому неплохо бы мне самому немного выйти из тени и рассказать, на что я трачу все свои свободные силы и время в последние пять лет - вдруг кому будет интересно, полезно и удобно:)

( читать дальше... )

Основные идеи, лежащие в основе Tolma.ch такие:

  • кроссплатформенность
  • коллективная работа над переводом
  • максимальная простота и доступность интерфейса
  • (и с последующим бумом смартфонов) максимально полноценная работа с мобилок

Учитывая всё вышесказанное и то, что я, в общем-то, был один со своей задачей, самым доступным вариантом реализации задуманного был веб-сервис. Миллион разных клиентов под разные платформы тащить даже сейчас кажется непосильной задачей.

Результат почти пяти лет трудов можно наблюдать на скриншоте:) Что на нём вообще видно:

  • документ бьётся на сегменты по предложениям
  • в левом блоке список сегментов и, собственно, ведётся работа над переводом, в правом блоке - общий вид переводимого текста для контроля контекста. Можно переключаться между режимом оригинального текста и режимом отображения уже переведённых фрагментов
  • сделанные переводы сохраняются в базы памяти и потом предлагаются, если достаточно похожи на текущий сегмент
  • отдельно можно вести глоссарии (на скрине видно выделенный «Event-Driven»), чтобы соблюдать однородность терминологии. Прямо сейчас пока работают на простых регулярках, ищут точное соответствие, но на стейдже уже лежит версия со стеммером для европейских языков, чтобы искалось с учётом словоформ
  • машинные переводы. Пока только Яндекс, т.к. только они дают бесплатную апиху. Но на уже готовую архитектуру довольно просто в будущем будет добавить любой другой MT-движок
  • переводы от других людей, участвующих в проекте
  • словари. Сделаны всплывающий окном, отображаются не постоянно, потому что нафиг надо.

Из того, что не видно на скриншоте, но оно есть под капотом:

  • история правок сегментов
  • тёмная тема для настоящих красноглазов
  • мобильная версия. Функционально полностью аналогична десктопной, но в силу ограниченного рабочего пространства, увы, не так удобна. Со временем планирую добавить управление жестами, что должно будет снять часть анальных болей
  • учитывая упор на кроссплатформенность - не важно, где, как и с какого девайса вы заходите каждый из разов - при открытии документа, над которым вы работали раньше, вы будете сразу перемещены к тому сегменту, на котором остановились
  • превьюхи сегментов и их переводов в социалках/чатах, чтобы можно было что-то обсудить не переходя внутрь сервиса
  • система ролей для проектов - владелец, редактор, переводчик, наблюдатель. С соответствующими ограничениями на спектр возможных манипуляций с данными
  • базовая болванка под организации - надмножество над проектами, в которое можно добавлять переводчиков с распределёнными ролями и они будут автоматом раскидываться во все внутренние проекты. Впоследствии будет так же организован шаринг баз памяти перевода и глоссариев

Ближайшие планы - подключить Languagetool для QA переводов, расширенный поиск, как в какой-нибудь IDE, чтобы можно было осуществлять сложный поиск по паттернам + поиск и замена, расширить набор поддерживаемых языков перевода, сделать редактор баз памяти перевода.

>>> Просмотр (3000x2000, 595 Kb)

 , , , ,

mega_venik
()

OmegaT – система автоматизированного перевода

Когда-то я переводил прямо в текстовом редакторе/процессоре, предложение за предложением замещая оригинал переводом. Некоторые так делают до сих пор. Или открывают в одном окне документ заказчика с замысловатым форматированием, а в соседнем – печатают перевод. Недостатков у такого подхода множество:

  • повторы, частичные и полные, (допустим, в пачке должностных инструкций) утомляют или поиском и копипастой, или перепечаткой одного и того же (причем формулировки то и дело плывут там, где крайне желательно постоянство);
  • постоянная копипаста в словари и системы машинного перевода утомляет и отвлекает;
  • сложно следить за постоянством терминологии;
  • сложно сохранять форматирование;
  • то и дело возникают ошибки (в том числе, самые непростительные – пропуски), которые сложно уловить и исправить;
  • в целом сложнее за всем уследить, и правило 7±2 в итоге бьет по скорости или по качеству;
  • если переводчик работает, словно в век пишмашинок, агентству или заказчику приходится потом самостоятельно форматировать перевод.

Использование автоматизированного перевода только кажется сложным. На самом деле, я просто установил OmegaT, настроил внешний вид и стал работать, понемногу настраивая все остальное. В репах обычно устаревшие версии, поэтому лучше ставить сборку с официального сайта в /opt/, стабильную или бету. На Open JRE поддерживается меньше функций, и Oracle JRE предпочтительна. Я не хочу ставить Oracle JRE в систему, поэтому скачиваю сборку с ней.

Интерфейс

На скриншоте вы видите роман Д. Г. Лоуренса «Сыновья и любовники» в процессе перевода, который я делаю в свободное время, – еще без литературной правки. Итак, пройдусь подробнее по вкладкам/окнам/областям (всё это перетаскивается и преобразуется одно в другое).

Editor – я люблю видеть оригинал и перевод одновременно. Еще люблю, когда неуникальные сегменты менее контрастны. Автоматическую подстановку частичных совпадений отключаю: ее можно проглядеть и оставить сегмент без редактуры. Вставляю вручную, по хоткеям. Также люблю автодополнение: оно здесь куда более интеллектуальное, чем в LibreOffice.

Dictionary – я кладу мягкие ссылки на словари в каталог ./dictionaries/ проекта. OmegaT парсит сегмент и подгружает словарные статьи в эту область. Словари лучше не добавлять все сразу, а выбирать под проект, особенно если в компьютере крутится HDD. Словари – моя самая частая причина желать SDD.

Когда локальных словарей недостаточно, помогает внешний поиск, который я тоже настроил под себя. Threesome – так мой внутренний гусар прозвал Multitran, ReversoContext и Linguee, открываемые в трех разных вкладках браузера. Эта троица идеальна, когда нужно разыскать словосочетание или увидеть переводы в контексте. Oxbridge – это связка из Oxford Dictionary и Cambridge Dictionary: иногда единственный способ перевести адекватно – это подобрать слово под определение.

Glossary – сюда можно добавлять термины или, в случае художественной или исторической литературы, имена героев и названия локаций, историзмы. Иногда глоссарии предоставляет заказчик. Бывает, что пригождаются глоссарии из предыдущих проектов.

Fuzzy Matches почти бесполезны для художественной прозы, но здорово экономят время при переводе документов. Здесь появляются повторы не только из текущего проекта, но и из добавленных файлов памяти перевода. Их можно взять из собственных проектов или сгенерировать встроенным Aligner’ом из оригинала и перевода.

Machine Translation – я использую Яндекс, IBM Watson, Google, MyMemory. Качество работы всех четырех зависит от темы и стиля оригинала, но в большинстве случаев выбрать лучший машинный перевод, отредактировать его – проще и быстрее, чем набирать с нуля. Например, Watson неплохо натаскан на IT и новости, MyMemory и Google – на договоры. Если знать и понимать переводческие трансформации, документы в итоге переводятся даже качественнее, чем вручную. Но в случае художественного перевода сюда лучше заглядывать лишь изредка: машинный перевод имеет свойство тихо и незаметно отравлять стиль. Отдельно стоит упомянуть MyMemory (human) – это временами полезный поиск похожих переводов по базе соответствующей компании.

Notes, Multiple Translations использую крайне редко. Comments, Segment Properties отключил бы вообще, но такой возможности нет.

Польза автоматизации

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

Чего не хватает? Например, вменяемого токенизатора (анализатора морфологии). Словари и глоссарии либо воспринимают слово только в начальной форме, либо находят все однокоренные. Не помешал бы и встроенный или облачный транслитератор/транскриптор с разными вариантами преобразования. Желательно, умеющего работать с вырожденными случаями, так чтобы для ‘Mao Zedong’ предлагался в том числе ‘Мао Цзедун’. В принципе, это повод самому научиться писать скрипты и плагины.

>>> Просмотр (1920x1080, 161 Kb)

 , , omegat, ,

Bagrov
()

Пусконаладка «в поле»

Работаю инженером АСУ ТП. Пусконалаживаем каландровую линию, предназначенную для прорезинивания тканей. На картинках — процесс отладки части программы, отвечающей за центровку ткани на закаточном ролике по ультразвуковым датчикам кромки. Всё ПО пишется на языках IEC 61131-3 (LD и ST) в среде разработки CoDeSys 2. Линукс тут при том, что работает в качестве ОС панели оператора Weintek и программируемого логического контроллере Wago. К сожалению, качество фото — так себе, так как на заводе в том углу, где стоит наш шкаф плохое освещение.

На фото:

>>> Просмотр (4096x2304, 2663 Kb)

 

Alden
()