licznik czasu rzeczywistego PCI 1710

Pytania i odpowiedzi dotyczące sprzętu Advantech

Moderatorzy: Jacek Adamski, Marek Sikora

licznik czasu rzeczywistego PCI 1710

Postprzez blizniak2002 » Cz, 22 mar 2012, 20:26

Poszukuje funkcji uruchamiającej licznik czasu rzeczywistego karty Advantech PCI-1710, Przeszukałem już wszystkie przykłady dla tej karty oraz manual i nic nie znalazłem proszę o pomoc. Czy ta karta posiada taki licznik? Czy jest funkcja uruchamiająca ten licznik czasu rzeczywistego? Jak użyć tej funkcji w programie? Piszę w DELPIH 7 na Windows XP
Proszę o pomoc
blizniak2002
 
Posty: 4
Dołączył(a): Pn, 31 sty 2011, 22:23

Re: licznik czasu rzeczywistego PCI 1710

Postprzez Jacek Bonecki » Pt, 23 mar 2012, 08:15

Proszę wyjaśnić co Pan rozumie przez "licznik czasu rzeczywistego". Co dokładnie chce Pan uzyskać?

Generalnie karta wyposażona jest jedynie w programowalny układ 82C54 (3x16bit).
2 liczniki (nr 2 i 3) wykorzystywane są do wyzwalania przetwornika A/C w trybie szybkich pomiarów.
Do dyspozycji użytkownika pozostaje jeden 16-to bitowy licznik/timer CNT0.
Pozdrawiam
Jacek Bonecki
Elmark Automatyka S.A.
Jacek Bonecki
 
Posty: 53
Dołączył(a): Cz, 8 maja 2008, 13:14
Lokalizacja: Elmark Automatyka - Warszawa Wesoła

Re: licznik czasu rzeczywistego PCI 1710

Postprzez blizniak2002 » Śr, 28 mar 2012, 20:34

Licznik potrzebuje do dokładnego uruchamiania procedury. Dokładniej na jednym z wejść zamontowany jest czujnik który po spełnieniu określonych warunków daje sygnał (napięcie ) na jedno z wejść cyfrowych karty. Karta po rozpoznaniu tego sygnału powinna uruchomić jakiś licznik który na określony czas i z odpowiednim opóźnieniem poda napięcie na jeno z wyjść cyfrowych. Dokładność licznika powinna być do 1 ms. proszę o funkcję ewentualnie dokładny opis oraz może jakiś kod wyjaśniający zastosowanie.
blizniak2002
 
Posty: 4
Dołączył(a): Pn, 31 sty 2011, 22:23

Re: licznik czasu rzeczywistego PCI 1710

Postprzez Jacek Bonecki » Cz, 29 mar 2012, 09:16

Będę musiał przyjrzeć się temu dokładniej.
Ale w takim razie proszę jeszcze o informację z którego drivera Pan korzysta: starszego "32-bit DDL driver" czy nowszego "DAQNavi"?
Oraz o podanie numeru seryjnego (IAA....) karty.
Pozdrawiam
Jacek Bonecki
Elmark Automatyka S.A.
Jacek Bonecki
 
Posty: 53
Dołączył(a): Cz, 8 maja 2008, 13:14
Lokalizacja: Elmark Automatyka - Warszawa Wesoła

Re: licznik czasu rzeczywistego PCI 1710

Postprzez blizniak2002 » N, 1 kwi 2012, 14:06

Używam drivera 32-bit DDL driver oraz systemu xp i środowiska Delphi 7;karta ADVANTECH PCI 1710 HGU numer karty IAB1096493. Dokładniej potrzebuje tego licznika ponieważ licznik systemowy XP nie jest dokładny, gdyż wszystkie zadania są wykonywane dopiero po wykonaniu zadań systemu xp. Ja potrzebuje dokładnego licznika z dokładnością do 1 ms, na który nic nie będzie miało wpływu. Wiem że karty posiadają takie licznik, dlatego proszę o procedury sterujące licznikiem tej karty i ewentualnie proste przykłady obrazujące jego działanie.
blizniak2002
 
Posty: 4
Dołączył(a): Pn, 31 sty 2011, 22:23

Re: licznik czasu rzeczywistego PCI 1710

Postprzez Jacek Bonecki » Pn, 2 kwi 2012, 14:08

Jak już Panu pisałem do dyspozycji użytkownika pozostaje jeden programowalny 16-to bitowy licznik z układu 82C54 (wyciąg ze schematu blokowego poniżej). Do jego obsługi dostępnych jest kilka prostych funkcji:

1. DRV_CounterEventStart
2. DRV_CounterEventRead
3. DRV_CounterFreqStart
4. DRV_CounterFreqRead
5. DRV_CounterPulseStart
6. DRV_CounterReset


Czyli umożliwiają pracę w trybie "EventCounting" (1+2), "FreqMeasurement" (3+4) oraz "SquareWaveGenerator" (5). Do odliczania czasu (ale tylko na pollingu - bez generowania przerwań) nadawałby się owszem pierwszy tryb. Ale niestety wywołanie funkcji CounterEventStart skutkuje wykorzystaniem wejścia CNT0_CLK jako sygnału zegarowego. Tylko funkcja DRV_CounterPulseStart korzysta z wewnętrznego sygnału zegarowego 100kHz, ale zadaniem tego trybu jest tylko generowanie sygnału prostokątnego o zadanej częstoliowści, nie umożliwia on odczytu rejestrów licznika.

Podsumowując: istniałaby tu możliwość wykorzystania funkcji DRV_CounterEventStart+DRV_CounterEventRead, ale tylko pod warunkiem dołączenia do wejścia CNT0_CLK odpowiedniego, dokładnego sygnału taktującego.
Załączniki
1710.jpg
82C54 na karcie PCI-1710
(35.98 KiB) Pobrane 948 razy
Pozdrawiam
Jacek Bonecki
Elmark Automatyka S.A.
Jacek Bonecki
 
Posty: 53
Dołączył(a): Cz, 8 maja 2008, 13:14
Lokalizacja: Elmark Automatyka - Warszawa Wesoła


Powrót do Advantech



Kto przegląda forum

Użytkownicy przeglądający to forum: Brak zalogowanych użytkowników i 9 gości