top of page

Finder OPTA - Instalacja oprogramowania i pierwszy kod

Zaktualizowano: 25 lip 2023


W dzisiejszym wpisie przedstawiony zostanie ciekawy sterownik kompaktowy firmy Finder- OPTA oraz co należy wykonać, by rozpocząć programowanie rzeczonego sterownika w Arduino IDE.




Sterownik posiada:

  • 8 wejść (które można zaprogramować jako analogowe bądź cyfrowe);

  • 4 cyfrowe wyjścia przekaźnikowe;

  • port Ethernetowy;

  • port USB typu C;

  • możliwość programowania w środowisku programistycznym Arduino IDE, jak zwykłe Arduino;

  • możliwość programowania w środowisku programistycznym Arduino PLC IDE jak każdy sterownik PLC.


1. Niezbędne komponenty


Dzięki możliwości wyboru środowiska programowania sterownik może trafić w ręce osób niezajmujących się do tej pory sterownikami PLC. Dlatego ten wpis będzie opierał się na środowisku Arduino IDE. Poniżej zostaną przedstawione elementy stanowiska oraz inne elementy niezbędne do programowania sterownika:

  • Stanowisko:

    • Gniazdo sieciowe wraz z kablem doprowadzającym napięcie sieciowe do stanowiska;

    • Wyłącznik nadprądowy EATON HN-B6/1;

    • Zasilacz Finder 78.36.1.230.2401 230V AC->24V/1.7A DC;

    • Sterownik Finder Opta RS485 8A.04.024.8320;

    • Moduł serwisowy Finder 19.50.0.024.0000 0-10V;

    • 3 przekaźniki interfejsowe Finder 38.51.7.024.0050;

  • Kabel USB-A – USB-C;

  • Komputer z wejściem USB A;

  • Dostęp do Internetu;

  • Oprogramowanie Arduino IDE.







2. Przygotowanie oprogramowania


Na stronie (https://opta.findernet.com/en/) po zjechaniu w dół znajduje się miejsce skąd można pobrać oprogramowanie Arduino IDE, jak i link do edytora online. Poniżej również jest miejsce skąd można pobrać Arduino PLC IDE. Arduino IDE można też pobrać z oficjalnej strony Arduino.



Po pobraniu Arduino IDE należy rozpocząć proces instalacji oprogramowania:






Po zakończonym procesie instalacji ukaże się program gotowy do pisania kodu.



3. Pierwsze ruchy w programie






Przed przystąpieniem do pisania pierwszego programu należy połączyć się ze sterownikiem np.: Opta COM12.


W tym przypadku komputer nadał kablowi USB, podłączonemu do Opty, numer COM 12. Wykryto również myszkę bezprzewodową o numerze COM 4. Gdy użytkownik nie jest pewny, który kabel łączy komputer z Optą należy, odpiąć wszystkie kable i zostawić tylko połączenie z Optą.


Następnie należy wybrać zakładkę Tools – Board – Boards Manager. Wpisać w polu wyszukiwania „opta” bez cudzysłowów. Z lewej strony pojawi się okno do pobrania biblioteki dla płytki/sterownika dedykowanej dla Opta.






Należy pobrać tę bibliotekę i upewnić się, że jest ona wybrana w zakładce Board.



4. Pierwszy program


Zazwyczaj pierwszy program w nowym środowisku to słynne „Hello world” jednak przedmiotem tego wpisu jest sterownik, który nie posiada wyświetlacza. Do dyspozycji znajdują się 4 wbudowane diody, które można wykorzystać.







Niech pierwszym programem będzie mruganie diody 0 co 100ms:


void setup() {
  // put your setup code here, to run once:
  pinMode(LED_D0, OUTPUT);
}


void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(LED_D0,HIGH);
  delay(100);
  digitalWrite(LED_D0,LOW);
  delay(100);
}


Program należy skompilować (haczyk), z zaznaczeniem w oknie programu, a następnie wgrać (strzałka) do sterownika:









Jeżeli wszystko do tej pory zostało przeprowadzone poprawnie, pierwsza dioda od lewej powinna zapalać się i gasnąć.


Stanowisko jednak jest bardziej rozbudowane i pozwala na więcej sposobów sterowania diodami.


Następnym programem będzie ustawianie opóźnienia wyłączania i włączania diod poprzez przekaźnik serwisowy. Wartość opóźnienia można monitorować na monitorze po wciśnięciu Serial Monitor (lupka):





Kod drugiego programu wraz z opisem:


void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600); //ustawienie prędkości komunikacji na 9600 bitów na sekundę
  pinMode(LED_D0, OUTPUT); //deklarowanie diody0
  pinMode(LED_D1, OUTPUT); 
  pinMode(LED_D2, OUTPUT); 
  pinMode(LED_D3, OUTPUT); 
  pinMode(PIN_A7, INPUT); //deklarowanie wejścia I8 
}

void loop() {
  // put your main code here, to run repeatedly:

  //sekwencja dla diody 0
  digitalWrite(LED_D0,HIGH); //ustawianie diody 0 w stan wysoki 
  int zadanie1=analogRead(A7)+50; //czytanie wejścia I8 i dodawanie 50 w celu zapobiegnięcia zbyt dużej częstotliwości mrugania 
  Serial.println (zadanie1); //wyświetlanie wartości odczytanej na Serial Monitor
  delay(zadanie1); //opóźnienie włączenia

  digitalWrite(LED_D0,LOW); //ustawienie diody 0 w stan niski 
  int zadanie2=analogRead(A7)+50; //czytanie wejścia I8 i dodawanie 50
  Serial.println (zadanie2); //wyświetlanie wartości odczytanej na Serial Monitor
  delay(zadanie2); //opóźnienie wyłączenia 

  //sekwencja dla diody 1
  digitalWrite(LED_D1,HIGH);
  int zadanie3=analogRead(A7)+50;
  Serial.println (zadanie3);
  delay(zadanie3);

  digitalWrite(LED_D1,LOW);
  int zadanie4=analogRead(A7)+50;
  Serial.println (zadanie4);
  delay(zadanie4);

  //sekwencja dla diody 2 
  digitalWrite(LED_D2,HIGH);
  int zadanie5=analogRead(A7)+50;
  Serial.println (zadanie5);
  delay(zadanie5);

  digitalWrite(LED_D2,LOW);
  int zadanie6=analogRead(A7)+50;
  Serial.println (zadanie6);
  delay(zadanie6);

  //sekwencja dla diody 3
  digitalWrite(LED_D3,HIGH);
  int zadanie7=analogRead(A7)+50;
  Serial.println (zadanie7);
  delay(zadanie7);

  digitalWrite(LED_D3,LOW);
  int zadanie8=analogRead(A7)+50;
  Serial.println (zadanie8);
  delay(zadanie8);
}


Zastosowanie aż 8 odczytywań stanu wyjścia I1 zapewnia płynną zmianę wartości opóźnienia.

Gdyby zastosowano tylko jedno odczytywanie na początku kodu, wartość opóźnienia zmieniałaby się tylko po przejściu pętli loop.



Kod można jednak zoptymalizować, jednak jest już to zadanie dla czytelników : )


Zoptymalizowany program można przesłać w komentarzu pod wpisem.


131 wyświetleń0 komentarzy

Ostatnie posty

Zobacz wszystkie
bottom of page