PDA

Просмотр полной версии : Игра на СПК107



d.bort
13.09.2019, 19:26
Внимание! Присутствуют идеи, явно опережающие время.


Общаясь с нашим сотрудником, который является специалистом в области программирования контроллеров (имя которого я оставлю в секрете по морально-этическим соображениям), я спросил:


– «А что можно написать на СПК?»
– «Да что угодно, это свободно-программируемое устройство.»
– «А игру можно написать?»
– «Да, можно.»
– «Подержи моё пиво!»:)

И вот я преступил к написанию, наверное, первой в мире игры на СПК. При том что я не программист, и никогда этим не занимался.


Оборудование, которое было использовано:
СПК107 (https://owen.ru/product/spk107) – Контроллер с сенсорным экраном 7” для локальных систем.
БП30Б-Д3-24 (https://owen.ru/product/bloki_pitaniya_dlya_promishlennoj_avtomatiki) – Блок питания для промышленной автоматики.
МК110-224.8Д.4Р (https://owen.ru/product/moduli_diskretnogo_vvoda_vivoda_s_interfejsom_rs_4 85) – Модуль дискретного ввода/вывода (с интерфейсом RS-485).
MTB2-PE5 (https://owen.ru/product/meyertec_korpusa_knopochnih_postov) – Корпус кнопочных постов MTB2-PE.
MTB2-BAZ112 (https://owen.ru/product/meyertec_metallicheskaya_seriya_ip65) – Кнопки с плоским толкателем, с пружинным возвратом 3 шт.
MTB2-BDZ133 (https://owen.ru/product/meyertec_metallicheskaya_seriya_ip65) – Переключатель с короткой рукояткой черный, 3 положения 2NO, с фиксацией.
MT22-A14 (https://owen.ru/product/meyertec_signal_nie_ustrojstva_monoblok) – Сигнальная лампа, 24V AC/DC, цвет красный, 1шт.



За основу взята игра «динозаврик (http://chrome://dino/)» из браузера google chrome.

Цель игры: прыгать через препятствия.


https://owen.ru/forum/attachment.php?attachmentid=44643&stc=1


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



https://owen.ru/forum/attachment.php?attachmentid=44644&stc=1



На втором (игровом) экране расположено три кнопки: старт, прыжок и перезапуск игры после аварии. В левом верхнем углу отображается текущий счет. Эффект движения достигается за счет перемещения дороги и преград по оси Х в отрицательную сторону. Прыжок мотоцикла сделан по такому же принципу, только перемещение происходит по оси Y и с небольшим вращением относительно центра. В процессе игры скорость движения дороги и препятствий увеличивается.


https://owen.ru/forum/attachment.php?attachmentid=44645&stc=1



Как оказалось, при нажатии на экран ответ от кнопок был очень долгим. Было принято решение управлять игрой по сети RS485. Под руку попался модуль МК110-224.8Д.4Р не требующий внешнего питания для кнопок. Так как в данном модуле присутствуют дискретные выходы, один из них (выход 1) был задействован для отображения аварии. Корпус кнопочных постов выполнил роль «эргономичного геймпада», в котором расположились кнопки управления, переключатель подачи питания и сигнальная лампа аварии.



https://owen.ru/forum/attachment.php?attachmentid=44646&stc=1


Ну и конечно геймплей:


https://youtu.be/syWs8YJUXwM






Но почему же «идеи, явно опережающие время»?


Потому, что:


https://owen.ru/forum/attachment.php?attachmentid=44647&stc=1


– «СПК не для игр, а для автоматизации!»




Спасибо всем, кто оказал помощь в программировании и просто принимал участие в разработке данного проекта.





Ниже приложены файлы программы: готовый загрузочный проект для загрузки с помощью Flash накопителя и файл экспорта. Для тех кому интересно что внутри.



Настройки модуля:
Скорость – 115200.
Адрес – 16.
Тип протокола определяется прибором автоматически. (Modbus RTU)
Назначение входов/выходов:
Вход 1: Прыжок.
Вход 2: Старт.
Вход3: Перезапуск игры.
Выход 1: Авария.

Загрузка игры на СПК с помощью Flash накопителя:
1. Flash носитель должен быть отформатирован в FAT32.
2. В корне носителя поместить папку с названием “app” (из архива).
3. Подключить Flash к СПК.
4. Войти в загрузочное меню.
5. Выполнить пункт «обновить проект».
6. Через некоторое время на СПК запустится обновленный проект.
7. Извлечь Flash. Новый проект уже является загрузочным и сохранится при отключении питания.

SA104
13.09.2019, 19:33
лет 5 назад на пр114 игру делал, в связке с Trace Mode..

приборист
13.09.2019, 21:13
Судя по лагам - это как раз время опережает данную игрушку.

melky
13.09.2019, 23:06
Находится же у людей время заниматься фигней....

S#716_0P
19.09.2019, 09:50
А кто-нибудь в курсе можно ли выйти из оболочки СПК и попасть в консоль Linux?

and909
20.09.2019, 06:19
У нас есть оборудование одного производителя, где на панелях Омрон записана игра типа хомячков, вылезающих из норок.

and909
20.09.2019, 06:26
Я, когда упражнялся с панелью (не Овен), сделал метеостанцию: подключил уличный и комнатный датчики, сделал тренды, ну и часы с датой, будильником и временем включения-отключения, чтобы ночью подсветка не мешала. Ещё хочу добавить датчик давления и влажности (и чего ещё можно прикрутить), но руки пока не дошли.

S#716_0P
23.09.2019, 09:03
SysExecute чем не устраивает?
Всем не устраивает.

Zerling
23.09.2019, 09:54
если узнаешь - напиши мне тоже, пожалуйста)

EVGEN_
01.10.2022, 17:00
А на каком языке писалась игра?

Евгений Кислов
01.10.2022, 17:04
А на каком языке писалась игра?

На CFC.
Исходники выложены в первом посте.

bellajoha80
28.09.2026, 06:27
Onlayn kazino platformasini tanlashda men avvalo saytning ishlash qulayligi va o‘yinlar xilma-xilligiga e’tibor beraman. pinco kazino kirish (https://pincocrypto.com/uz/) orqali platformaga kirib, mavjud bo‘limlar va o‘yinlarni ko‘rib chiqish mumkin. Interfeys sodda bo‘lsa, kerakli o‘yinni topish va sayt imkoniyatlari bilan tanishish ancha oson bo‘ladi. Yangi foydalanuvchilar esa avval qoidalarni o‘rganib, demo rejim mavjud bo‘lsa, undan foydalanib ko‘rishlari mumkin.