PIC i SCADA ili nesto slično

Rasprava o PIC mikrokontrolerima, PIC projekti i drugo vezano za PIC-eve...

Moderators: pedja089, stojke369, [eDo], trax

Post Reply
User avatar
electron
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 225
Joined: 28-02-2009, 19:20
Location: Serbia

PIC i SCADA ili nesto slično

Post by electron »

Pozdrav forumašima, da li ima negde na netu neki primer, tutorial, ili nešto što mi moze pomoći, a liči ovome?

http://vojo.milanovic.org/parport/usbport-06.htm

http://youtu.be/cJq-PlkIb0w

Naime, hteo bi da preko usb, ili serijskog porta, 232, 486, ne bitno za početak i PIC mikrokontrolera, upravljam relejima, ledicama, ustvari, el. motorima i da mi prikazuje njihovo stanje radi, ne radi, nesto slično kao PLC i SCADA... Kako se ctraju sličice? nešto sa čime bih krenuo? Ne da skinem sa neta program, upucam u PIC i pokrenem aplikaciju i klikćem to sam probao, nego kako da odradim tu aplikaciju, nešto sam čitao, ali mi baš nije najjasnije?
User avatar
electron
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 225
Joined: 28-02-2009, 19:20
Location: Serbia

Re: PIC i SCADA ili nesto slično

Post by electron »

Nešto ovako?
image006.gif
image006.gif (29.78 KiB) Viewed 5131 times
User avatar
niho
Pravi forumaš
Pravi forumaš
Posts: 1895
Joined: 24-09-2009, 17:26
Location: Brcko, Bosnia and Herzegovina

Re: PIC i SCADA ili nesto slično

Post by niho »

Trebao bi poznavati jedan od visual programa (basic, delphi, c#)ima dobra knjiga za početnike, ne znam odakle si, ali se moze naruciti preko elektronika.rs.ba a zove se PC interfejsi od Voje Milanovića. Slika sa prethodnog posta je iz navedene knjige, s tim što u knjizi imaš kod pisan u Visual basicu p a možeš lijepo razumjeti kako šta radi :)
User avatar
zigzag9
Napredujem
Napredujem
Posts: 193
Joined: 06-06-2011, 23:35
Location: HR

Re: PIC i SCADA ili nesto slično

Post by zigzag9 »

Najlakše ti je početi sa RS232 protokolom, dakle nađeš nekakav PIC koji ima UART, i u njemu vrtiš nekakvu petlju (ili interrupt), koji ti osluškuju UART, i ovisno o tome što dobiju od računala, putem UART-a vrate natrag.

U principu ti je za takvo nešto dovoljan i Hyperterminal ili Putty, znači terminal emulator, i preko njega šalješ komande PIC-u, koji onda izvršava komande, pa kad to savladaš, onda se uhvatiš u koštac sa izradom GUI-a.

Evo ti jedan razumljiv C kod, koji se uprogramira u Atmegu (Arduino platforma), i upravlja se tipkama od 1 do 6, čime pali ili gasi određeni uređaj:

Code: Select all

void setup() {
  
  Serial.begin(9600);    // initialize serial communication
   
  for (int thisPin = 2; thisPin < 7; thisPin++) {
    pinMode(thisPin, OUTPUT);    // initialize the outputs from pin 2 to pin 7
  }

}

void loop() {
  // read the sensor:
  if (Serial.available() > 0) {
    int inByte = Serial.read();

    switch (inByte) {
      
    case '1':    
      if (digitalRead(2) == HIGH) 
      {
        digitalWrite(2, LOW);
        Serial.println("Uredjaj 1 ugasen");         
      }
        else
      {      
        digitalWrite(2, HIGH);
        Serial.println("Uredjaj 1 upaljen"); 
      }
      break;

    case '2':    
      if (digitalRead(3) == HIGH) 
      {
        digitalWrite(3, LOW);
        Serial.println("Uredjaj 2 ugasen");         
      }
        else
      {      
        digitalWrite(3, HIGH);
        Serial.println("Uredjaj 2 upaljen"); 
      }
      break;

    case '3':    
      if (digitalRead(4) == HIGH) 
      {
        digitalWrite(4, LOW);
        Serial.println("Uredjaj 3 ugasen");         
      }
        else
      {      
        digitalWrite(4, HIGH);
        Serial.println("Uredjaj 3 upaljen"); 
      }
      break;

    case '4':    
      if (digitalRead(5) == HIGH) 
      {
        digitalWrite(5, LOW);
        Serial.println("Uredjaj 4 ugasen");         
      }
        else
      {      
        digitalWrite(5, HIGH);
        Serial.println("Uredjaj 4 upaljen"); 
      }
      break;

    case '5':    
      if (digitalRead(6) == HIGH) 
      {
        digitalWrite(6, LOW);
        Serial.println("Uredjaj 5 ugasen");         
      }
        else
      {      
        digitalWrite(6, HIGH);
        Serial.println("Uredjaj 5 upaljen"); 
      }
      break;      
 
    case '6':    
      if (digitalRead(7) == HIGH) 
      {
        digitalWrite(7, LOW);
        Serial.println("Uredjaj 6 ugasen");         
      }
        else
      {      
        digitalWrite(7, HIGH);
        Serial.println("Uredjaj 6 upaljen"); 
      }
      break;      


    default:
      // turn all the LEDs off:
      for (int thisPin = 2; thisPin < 7; thisPin++) {
        digitalWrite(thisPin, LOW);
		}
        Serial.println("Svi uredjaji ugaseni"); 
    }
  }
}
Naravno, ako imaš Arduino pri ruci, dovoljno ti je uprogramirati ovaj kod, i pola problema je već riješeno.

Što se tiče "sličica", uglavnom se koriste tzv. components, koje ugrađuješ u GUI, i dalje povezuješ sa kodom "ispod haube". Primjer: http://www.genlogic.com/widgets.html
User avatar
electron
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 225
Joined: 28-02-2009, 19:20
Location: Serbia

Re: PIC i SCADA ili nesto slično

Post by electron »

zigzag9 wrote:Najlakše ti je početi sa RS232 protokolom, dakle nađeš nekakav PIC koji ima UART, i u njemu vrtiš nekakvu petlju (ili interrupt), koji ti osluškuju UART, i ovisno o tome što dobiju od računala, putem UART-a vrate natrag.
To mi je jasno, video sam iz knjige, Programiranje mikrokontrolera PICBASIC-OM od Voje Milanovica :idea:
U principu ti je za takvo nešto dovoljan i Hyperterminal ili Putty, znači terminal emulator, i preko njega šalješ komande PIC-u, koji onda izvršava komande, pa kad to savladaš, onda se uhvatiš u koštac sa izradom GUI-a.
Ali kako krenuti sa izradom GUI? :?:
User avatar
electron
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 225
Joined: 28-02-2009, 19:20
Location: Serbia

Re: PIC i SCADA ili nesto slično

Post by electron »

Nasao sam nesto na ovom linku

http://www.robot-italy.com/en/muin-mult ... f2520.html

primere u PBP, i neki GUI, ali ne i kako se gui radi?
User avatar
zigzag9
Napredujem
Napredujem
Posts: 193
Joined: 06-06-2011, 23:35
Location: HR

Re: PIC i SCADA ili nesto slično

Post by zigzag9 »

electron wrote: Ali kako krenuti sa izradom GUI? :?:
Pretpostavljam da si na Win platformi, a u tom slučaju ti je najbolje početi učiti C#, i nabaviti literaturu na tu temu, te naravno Visual Studio C# Express (besplatan), ili SharpDevelop, u kojima ćeš pisati programe.

Konkretno, za izradu GUI-a postoje dvije opcije, a to su Winforms i WPF, pa kad malo savladaš osnove, kreni čitati o tome i raditi primjere, nije preteško.

Tutoriale i primjere programa u C# možeš naći ovdje:
http://cplus.about.com/od/learnc/Learn_ ... m_in_C.htm
http://www.codeproject.com/
http://www.csharp-station.com/
http://dotnet-snippets.com/
abc1234
Penjem se :)
Penjem se :)
Posts: 61
Joined: 20-08-2013, 15:51

Re: PIC i SCADA ili nesto slično

Post by abc1234 »

Pretpostavljam da si na Win platformi, a u tom slučaju ti je najbolje početi učiti C#
Možeš ovo malo argumentirat? Zašto bi bilo najbolje učiti C#? Tvoje osobno mišljenje ili?
User avatar
grunf
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 286
Joined: 19-04-2008, 14:22
Location: Cvjećara

Re: PIC i SCADA ili nesto slično

Post by grunf »

c#, pa najlakši je. Ima bezbroj primjera. Ne rapituj se već probaj.
abc1234
Penjem se :)
Penjem se :)
Posts: 61
Joined: 20-08-2013, 15:51

Re: PIC i SCADA ili nesto slično

Post by abc1234 »

c#, pa najlakši je.
Možeš ovo ikako argumentirati? :D
Ima bezbroj primjera.
Istina, ali na našem jeziku puno više literature ima za c++
Ne rapituj se već probaj.
Probao, još davno sa pascalom, kasnije delphijem, na faksu učili C, a u slobodno vrijeme tipkam po c++ :)
Post Reply