Перейти к содержимому
Thompson_xD

Контроль турбин и реактора в Big Reactors

Рекомендуемые сообщения

Всем привет!
Написал программу для автоматизации контроля турбин и управления реактором
Реализовано не всё из задуманного, но я над этим работаю

Реализовано:

  • Удаленное включение\выключение реактора
  • Мониторинг скорости вращения, активации и подключения катушек турбин, общего количества вырабатываемой энергии. Мониторинг может проводиться с нескольких компьютеров.
  • Возможность ручного управления турбинами(Активация, включение/выключение катушек)
  • Возможность задать верхний и нижний пределы вращения турбин. При преодолении предела служебная программа автоматически пытается вернуть скорость вращения обратно к допустимым значениям

Не реализовано:

  • Служебная программа не может вернуть скорость вращения к допустимым значениям, если скорость вращения при включенных катушках продолжает увеличиваться
  • Поддержка большего количества реакторов(на данный момент только один)
  • Возможность управления с нескольких компьютеров(на данный момент синхронизация между несколькими клиентскими компьютерами не предусмотрена, что может привести к неполадкам и ошибкам)
  • Поддержа реактора пассивного охлаждения
  • Загрузка параметров служебной программы из файла и перезапись в случае изменения параметров пользователем

Программа разделена на служебную и клиентскую части, чтобы управление параметрами турбины не прекращалось при закрытии клиентской части. Служебная часть ведет мини-лог на экране.

Для функционирования программ необходима библиотека thread.lua

pastebin get E0SzJcCx /lib/thread.lua

Для функционирования клиентской части необходима библиотека GML и файл стилей GSS

wget "https://raw.githubusercontent.com/Krutoy242/Gopher-Programs/Packed/gml/lib/gml_full.lua" lib/gml.lua
pastebin get A15DfDc0 lib/bigcontrol.gss

Сами программы:

  • Клиентская часть
pastebin get ZmuYuiMs bigcontrol.lua
  • Служебная часть
pastebin get T0tjxF3S turb.lua

Установка
Необходимо 2 компьютера с установленной OpenOS. К первому подключаются турбины и реактор, после чего нужно запустить на нём служебную часть программы
Второй компьютер - клиентский, он по сети связывается со служебным компьютером, после чего нужно запустить на нём клиентскую часть.
При успешном соединении на служебном компьютере будет выведено сообщение "New address added"
Клиентскую программу желательно закрывать через кнопку Exit, потому что иначе адрес компьютера не будет удален из таблицы адресов.
Интервал обновления информации - около 8 секунд.
post-19453-0-38973300-1471200239_thumb.png - Служебная часть
post-19453-0-68719500-1471200274_thumb.png - Клиентская часть.
Первая колонна индикаторов показывает, активна ли турбина. Вторая колонна показывает, включена ли катушка на данной турбине
post-19453-0-77184900-1471200404_thumb.png - Пример работы клиентской части. Все турбины активны, но только одна турбина разогнана достаточно для запуска катушек. Число внизу показывает общий выход энергии.

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

Кнопка Activate/Deactivate используется для включения и выключения реактора.

Изменено пользователем Thompson_xD

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

Поддержка большего количества реакторов(на данный момент только один)

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

Вот программа http://computercraft.ru/topic/1570-oc-redcontrol-udobnoe-upravlenie-redstounom/

Там же в теме найдёшь ссылку на код.

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

Но нельзя оставлять менее 1 блока управления красным сигналом в сети, будет ошибка. (лень было обработать исключение)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...