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


Фотография

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

Big Reactors

  • Авторизуйтесь для ответа в теме
В теме одно сообщение

#1 Оффлайн   Thompson_xD

Thompson_xD
  • Пользователи
  • Сообщений: 1
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Отправлено 14 Август 2016 - 21:51

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

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

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

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

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

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

Для функционирования программ необходима библиотека 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 секунд.
Screenshot_1.png - Служебная часть
Screenshot_2.png - Клиентская часть.
Первая колонна индикаторов показывает, активна ли турбина. Вторая колонна показывает, включена ли катушка на данной турбине
Screenshot_3.png - Пример работы клиентской части. Все турбины активны, но только одна турбина разогнана достаточно для запуска катушек. Число внизу показывает общий выход энергии.

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

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


Сообщение отредактировал Thompson_xD: 14 Август 2016 - 21:53

  • Alex и Totoro это нравится

#2 Оффлайн   qwertyMAN

qwertyMAN
  • Пользователи
  • Сообщений: 1 458
  • Уровень сигнала: 0,22%
  • В игре: 1 час. 54 мин.
  • ГородCity17

Награды

                             

Отправлено 14 Август 2016 - 22:01

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

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

Вот программа http://computercraft...nie-redstounom/

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

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

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


  • Kartze это нравится





Темы с аналогичным тегами Big Reactors

Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных