Skip to content

stjankovic/PlazmatehPi

Repository files navigation


Project logo


Odma ti kazem posla koliko oces.... Ali ce ga napravimo za sve pare
Resenje za PLC i HMI na Raspberry Pi sistemu

Opis

Machine Stranica

alt text

Parameters Stranica

alt text

License Stranica

alt text

Electron JS aplikacija za Windows i Debian Linux (Raspberry Pi)

Aplikacija radi na linux (Windows) sistemu. Korisnik preko Visual Studio Code kompajluje instancu programa za testiranje na Windowsu.

Za pokretanje na Linux potrebno je da se electron-builder da napravi permanentu instancu.

Glavni proces se pokrece iz main.js Main.js povlaci sve potrebne fajlove za sistemske, hmi i plc funcionalnosti i generise glavni proces. U data.json se nalaze parametri koji ce biti promenljivi. Poslednji unos iz data.json ce se prikazati kao trenutni na ekranu i koristiti kao i varijable.

Ideja je da se napravi plc.js dokument gde ce korisnik moci da pise program

Aplikacija je u izradi...

Primer kako bi program izgledao za kontrolnu stranu:

var Gpio = require('onoff').Gpio; //biblioteka za IO
var LED = new Gpio(4, 'out'); //PIN 4 Output
var pushButton = new Gpio(17, 'in', 'both'); //pin 17 input

//funckija 
pushButton.watch(function (err, value) { // ako se dugme stisne
  if (err) { //if an error
    console.error('There was an error', err); //poruka u konzoli
  return;
  }
  LED.writeSync(value); //postavka za ilaz
});

//funkcija kad se gasi program
function unexportOnClose() { 
  LED.writeSync(0); // Ugasi LED
  LED.unexport(); // Oslobodi Pin
  pushButton.unexport(); // Oslobodi Pin
};

process.on('SIGINT', unexportOnClose); //Funkcija kad se program ugasi

Status

Prikaz u kom statusu su funkcionalnosti aplikacije.

  • HMI funkcionalnost:

    • 🔴 - Alarms
    • 60 % - Devices
      • ✅ - Design
      • 🔴 - Function
    • 75 % - License
      • ✅ - Design
      • ✅ - Function
    • 🔴 - Limits
    • 80 % - Machine
      • 🔴 - Grafici
      • 30% - Button
      • 30% - Toggle
      • 30% - Input Field
      • 30% - Indication
    • 🔴 - Network
    • 75% - Parameters
      • ✅ - Design
      • 50% - Functionality
    • 🔴 - Recipes
    • 🔴 - Settings
  • PLC funkcionalnost:

    • ✅ - Raspberry Pi IO instalacija (test okruzenje - Hyper V)
    • 🔴 - Raspberry Pi IO instalacija (Raspberry okruzenje)
    • 🔴 % - Digitalni izlazi/ulazi
    • 🔴 % - Analogni izlazi/ulazi (potreban ext module)
    • 🔴 % - USB Komunikacija
    • 🔴 % - UART Komunikacija
    • 🔴 % - SPI Komunikacija
    • 🔴 % - I2C Komunikacija
  • Sistemske funkcionalnosti:

    • HMI
      • 90% - Dinamicki prikaz podataka
      • 🔴 - Mogucnost da korisnik upravlja podacima
      • 50% - License, korisnik da moze definisati sa administrator nalogom trajanje license
        • ✅ - Automatsko prosledjivanje korisnika na stranice u slucaju isteka ili trajanje license
        • 🔴 - Unos nove license korosnika
      • 🔴 - Settings, sistemska podesavanja, jezik ...
    • PLC
    • 🔴 - Postavke za olaksano i izolovano pisanje programa bez interakcija sa sistemskim okruzenjem
    • 🔴 - Postavke za protokolske komunikacije I2C, SPI itd...
    • 🔴 - Postavke za protokolske komunikacije I2C, SPI itd...

Postavljanje Windows 10/11

Za postavljanje radnom okruzenja potrebno je instalirati nekoliko programa. (Instalacije na linku)

Pokretanje prvi put na Windows 10/11

Nakon instalacije programa, restartovati racunar (obavezno).

Na D: particiji napraviti novi folder i izvrsiti komandu

git clone https://github.com/stjankovic/PlazmatehPi.git

Napravice se novi folder PlazmatehPi

cd PlazmatehPi
dir PlazmatehPi

Bice prikazani ovi podaci:

.gitignore
data.json
img
08main.js
node_modules
package-lock.json
package.json
pages
preload.js
README.md
cripts
styles.css
usbUtils.js

Otvoricemo radno okruzenje Visual Studio Code komandom

code .

Mozemo zatvori trenutni CMD prozor posto u Visual Studio Code vec postoji integrisani Terminal na dnu.

U terminalu kucamo komandu za instalacije svih potrebnih bibloteka:

Npm ce sam prepoznati po package.json koje biblioteke su potrebne i kakva instalacija se izvrsava.

npm install

Instalacija treje minut-dva...

Aplikacija je spremna za pokretanje .

npm run start

Na glavnom ekranu trebala bi se otvoriti aplikacija. Aplikacija je privremeno instancirana za razvoj. Trenutno su samo najosnovnije konfiguracije.

Zovi kad treba pomoc :)

Kad uspes da instaliras na Windowsu i steknes osecaj gde se sta nalazi, onda mozemo jako slicnu proceduru na Linuxu da pokrene na Raspberriju.

Pisacu dalje ovo upustvo ovde i slacu ti obavestenja kad je sta gotovo da probas.

Kad oces novu verziju koda da povuces u cmdu kucas komandu kad si u fodler PlazmatehPi

git pull origin master

Ako iz nekog razloga nece da funcionise git pull onda vrati se i pocni proceduru iz pocetka...

Tehnologija

Autori

See also the list of contributors who participated in this project.