Strona 1 z 2

Sterowanie SSR'ów za pomocą RS232

: 24 cze 2010, 20:11
autor: ambrosius
Witam.
mam 2 pytania:

1) Pisze pewien program w Delphi, i chciałem załączać przekaźniki SSR 40A (ster 3 - 32 DC) za pomocą portu rs232. (port lpt mam zajęty do innego celu) czy jest możliwe podanie na konkretne linie stanu wysokiego???
Jakimi funkcjami/komponentami to się realizuje w delphi??? jakieś wskazówki??

2) Czy jest możliwe odczytanie stanu, tzn, podpinam przycisk pod 2 linie rs232 i czy jest możliwość odczytania stanu, czy te linie są zwarte czy też nie??? np. gdy nacisnę przycisk to w programie się coś dzieje

Z góry dziękuje za naprowadzenie. szukałem na temat ale głownie widzę wszędzie rs232 do transmisji...

: 25 cze 2010, 08:13
autor: Leoo
Kolega poszuka książki "RS232 - praktyczne programowanie" wydawnictwa Helion.
Port nie nadaje się do przekazywania informacji równoległych, za to niewielkim nakładem środków można uzyskać dużą ilość pinów ON/OFF tzn. MAX232+dowolny procesor z UART, począwszy od zacnego 8051.

: 25 cze 2010, 09:51
autor: ambrosius
dziękuję za odpowiedz.

Co do sterowania włącz wyłącz używam także karty na usb takiej ( instaluje się jak port com, wystarczy wpisać "1" i przekaźnik się załącza.

Obrazek


Jednak najbardziej potrzebuje 3 przycisków.

Do lpt mam płytkę ssk-mb2 ( będe używał tylko 2 silników sterowanych z delphi) a jakby użyć jako przycisków krańcówek HOME??? Jak to zaprogramować przez pytkę ssk-mb2 , czy po prostu z gniazda LPT "zabrać" nie używane piny i na nich zrobić przyciski??? Uda się tak?

: 25 cze 2010, 10:14
autor: Inf-el
Bez potrzeby programowania procesorków 8051 lub AVR można wysterować piny portu szeregowego DTR i RTS a odczytać CTS i DSR z poziomu Delphi używając darmowej biblioteki ComPort.
Aby sygnały dawały napięcie 5 i 0 V potrzebny jeszcze będzie max232 i kilka kondensatorów.
Oczywiście możliwości wzrastają gdy zastosujemy dodatkowo procesor.

ComPort do Delphi 2010
lib_comm.zip do starszych

: 25 cze 2010, 13:20
autor: ambrosius

Kod: Zaznacz cały

 Dana:= TestLPT.DLPortIO.Port[DataPort]; 
  Dana := Dana shl 1;                     // przesuwamy w lewo o jeden
  if Dana=0 then Dana:=$10;             // warunek przekroczenia zakresu
  TestLPT.DLPortIO.Port[DataPort] := Dana;        // wpisujemy nową wartość
  TestLPT.Caption := IntToStr(Dana); 
 Sleep(2000); 
zrobiłem coś takiego i teraz na pinach co 2s zmienia się i pojawia się napięcie (około 5V) pomiędzy pinem 6,7,8,9 do masy.

Teraz chciałbym aby działało to odwrotnie, czyli przyciski zwierają/rozwierają dwa piny i program sprawdza jaki jest stan. Ma ktoś pomysł jak to zrealizować???

A może łatwiej będzie odczytać stany z płytki ssk-mb2??? ( krańcówka e-stop i home)?

Kod: Zaznacz cały

procedure TTestLPT.Timer2Timer(Sender: TObject); 
begin
DataPort:=$378+1; 
 Dana := TestLPT.DLPortIO.Port[DataPort]; 

  If (( Dana = 255 ) or ( Dana = 63 )) then
  begin
  TestLPT.Color := clRed; 
  end
  else TestLPT.Color := clBlack; 

  //działaja 10,11,12,13,15 - przy nich zmienia sie wartość Dana
  TestLPT.Caption :=  IntToStr(Dana); 
end;
Ten kod jak zwieram piny 10,11,12,13,15 do masy powoduje zmianę wartości będącej w zmiennej "Dana". Czy ta wartość ( bo rożne te wartości były: 255, 63 i inne) będą zawsze takie same ze będę mógł je wpisać na stałe i za każdym uruchomieniem komputera będą takie same????

: 27 cze 2010, 02:26
autor: blue_17
Kolego jaką masz wersję delphi ?

Z tego co mi wiadomo w jednej z zakładek jest odpowiedni komponent

A na forum jest coś takiego jak praktyczne programowanie RS232 w C chyba i w C++builder borlanda jeszcze to powinno Ci się wiele rzeczy wyjaśnić jak nie znajdziesz na forum to skontaktuj się na PW ze mną to Ci wyślę ma gdzieś na dysku :)

: 06 lip 2010, 19:01
autor: Inf-el
Ja mam Delphi 2010 Pro i nie widzę komponentu do com'a.

: 06 lip 2010, 21:49
autor: blue_17
blue_17 pisze:
Z tego co mi wiadomo w jednej z zakładek jest odpowiedni komponent
Fakt są ale jeśli się je wcześniej zainstaluje są Darmowe komponent do Com-a więc problemu niema

Na marginesie czy koledzy robili coś w Lazarusie to jest też Delphi ale darmowy program i wieloplatformowy jedna aplikacja może działać na Windzie, Linuxie i Macu. Można instalować dodatkowe komponenty.

Bardzo ciekawe środowisko tylko nie wiem czy można za darmo wykorzystywać w celach komercyjnych.

Bo program jest standardowo w repozytoriach ( ja mam akurat kubuntu )

Próbował ktoś tego bo na razie bawię się w Delphi 2009 z programikiem bazodanowym i mam pewne problemy :???:

: 06 lip 2010, 22:55
autor: Inf-el
A z jakimi bazami kolega pracuje ?
Jeśli PostgreSQL to służę pomocą.

: 06 lip 2010, 23:47
autor: blue_17
Baza jest Mysql-owa i jako tak "ujażmiłem" już ją tylko zostały mi jeszcze 4 rzeczy ale to są operacje związane z DBGridem i formowaniem zapytania SQL-owego, ponieważ program ma obsługiwać dowolną tabele a nie konkretnie zdefiniowaną tabele.

Szczegóły mogę przesłać na PW lub ewentualnie prosił bym o podanie e-maila na PW

Z góry dzięki :)