Как стать автором
Обновить

Работаем со старым промышленным софтом под linux или как подружить wine и RS-485

Время на прочтение3 мин
Количество просмотров22K

В свете недавних указов президента посыпались вопросы от заказчиков, а есть ли %конфигуратор устройства не поддерживаемый цать лет, разработчики которого уволились или сбежали из России% под linux?

В следствие чего была из синей ленты, остатков бубна и обрывочных знаний по linux данная инструкция.

Надеюсь она пригодится коллегам, занимающимся наладкой и эксплуатацией АСУ ТП

Не забываем, что мы должны использовать отечественное ПО, в следствие чего дистрибутив будет Astra Linux SE 1.7.1 ОРЕЛ

Предполагается, что система установлена и подключена к интернету.

В качестве СОМ-порта использовался MOXA Uport 1150, перед настройкой необходимо подключить MOXA Uport к USB-порту ПК. При использовании другого устройства его необходимо настроить в соответствии с поставляемым мануалом.

Установка Wine

Основная инструкция (актуальная) тут.

нас интересует "Установка Wine версии 7.3 в Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7)"

По шагам:

1. Скачать пакет Wine 7.3 отсюда и пакет ia32-libs отсюда.

2. Открыть терминал Fly и ввести команды по порядку:

sudo apt install ia32-libs

sudo apt install libc6-i386 

sudo dpkg -i ~/Загрузки/ia32-libs_20220330+1.7se_amd64.deb 

# Имя текущей версии пакета, со временем она может быть изменена. 

sudo dpkg -i ~/Загрузки/wine_7.3-0-astra-se17_amd64.deb 

# Имя текущей версии пакета, со временем она может быть изменена. 

sudo apt install ca-certificates libmspack0 cabextract 

wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks 

chmod +x winetricks 

sudo mv winetricks /usr/bin 

export WINE=/opt/wine-7.3/bin/wine

# для быстрого запуска из консоли

Рабочая директория WINE будет находится по адресу /opt/wine-7.3/bin/

Установка драйвера MOXA Uport 1150

Драйвер под конкретную версию ядра нужно качать с оф сайта

посмотреть версию ядра можно командой в терминале uname -r

На текущий момент это 5.10, скачать драйвер v.5.1.

Далее по шагам:

1.  Открываем терминал fly и вводим последовательно команды:

sudo apt install make linux-headers setserial autotools-dev 

sudo mkdir /moxa 

cd /moxa 

sudo cp /home/user/Загрузки/moxa-uport-1100-series-linux-kernel-5.x-driver-v5.1 moxa-uport-1100-series-linux-kernel-5.x-driver-v5.1

# user заменить на своего 

sudo tar xvfz moxa-uport-1100-series-linux-kernel-5.x-driver-v5.1.tgz 

cd mxu11x0/driver 

sudo make clean 

sudo make install 

# Если во время выполнения команды "make install" возникает ошибка, то выполняем 

# "sudo apt install --reinstall linux-headers-$(uname -r)" и повторно выполняем "make install"; 

/sbin/modprobe mxu11x0

2. Переводим Uport в режим 485 2W с помощью команды в терминале: setserial /dev/ttyUSB0 port 1

номер порта можно посмотреть командой sudo ls /dev/ttyU*

варианты настройки:

port 0 →  RS-232

port 1 → RS-485 2W

port 2 → RS-422

port 3 → RS-485 4W

Настройка WINE для работы с СОМ-портами и ПО

С помощью файлового менеджера (проводника) идем в /opt/wine-7.3/bin/ и запускаем regedit

В разделе реестра [HKEY_LOCAL_MACHINE\Software\Wine\Ports] создаем СТРОКОВУЮ переменную:

"com1"="/dev/ttyUSB0"

Закрываем regedit.

Запускаем winecfg и меняем версию windows на Windows XP или windows 2003:

Применяем и закрываем Winecfg.

Далее создаем символическую ссылку на нужный нам СОМ-порт:

sudo ln -s /dev/ttyUSB0 ~/.wine/dosdevices/com1
Если com1 уже существует, можно удалить его и заново создать ссылку:

sudo rm ~/.wine/dosdevices/com1
sudo ln -s /dev/ttyUSB0 ~/.wine/dosdevices/com1

Чтобы не менять права на СОМ-порт, необходимо добавить текущего пользователя в dialout командой:
sudo adduser <your_username> dialout
затем ВЫЙТИ из системы и зайти заново.

Скачиваем ПО в любую папку в домашней директории и запускаем из менеджера файлов (проводника) двойным щелчком. в списке выбора приложений жмем на другая... и выбираем wine из /opt/wine-7.3/bin/:

Чтобы в следующий раз exe формат открывался через WINE можно установить его по умолчанию:

Далее можно пользоваться необходимым ПО.

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

Сканер устройств по com порту - при открытии будет спрашивать о замене sys файлов - ответить нет.

Может долго искать или падать с ошибками - просто перезапустить. Если будет находить приборы на других СОМ-портах или долго виснуть, то лучше удалить все символические ссылки на СОМ-порты кроме нужного:

sudo rm ~/.wine/dosdevices/comN
где N - номер лишнего СОМ-порта.

Конфигуратор оборудования - может падать с ошибками - просто перезапустить.
В целом 3 из 5 программ отработали без замечаний.

Автора данной статьи можно пинать ногами, обзывать ламером не умеющим в linux, но предлагать как нужно было сделать проще и быстрее.

Теги:
Хабы:
Всего голосов 18: ↑17 и ↓1+22
Комментарии13

Публикации

Истории

Ближайшие события

7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань