Stiskněte "Enter" pro přeskočení obsahu

I/O karta na COM port

5
V dobách dávno minulých, když země byla ještě mladá měli počítače LTP a COM (RS232) porty, takže s ovládáním elektroniky víceméně nebyl problém. Dnes najdete na počítačích spíš USB porty, HDMI apod. Ale co když potřebujete opravdu něco ovládat a nechcete kupovat drahé I/O karty, nebo externí PLC? Pokud si vystačíte se třemi výstupy a čtyřmi vstupy, stačí sériový port, s tím není problém ani dnes – existují převodníky USB-RS232 (u nich je většinou problém s dodržením napěťových hladin). Existují i převodníky USB-LTP (s těmi je však větší problém). Rozhodl jsem se tedy postavit si vstupně výstupní kartu s 8 digitálními vstupy a 8 digitálními výstupy, kterou lze připojit na COM port (resp. převodník USB-RS232).

Knihovna k ovládání IO karty

0
Na této stránce jsem uvedl schéma zapojení vstupně výstupní karty, kterou lze připojit ke COM portu počítače. Jenže aby se dala ovládat je potřeba nějaký program. Vytvářet samostatný program není moc flexibilní – každému vyhovuje jiný styl ovládání a často je potřeba výstupy ovládat automaticky. Z tohoto důvodu jsem naprogramoval knihovnu LMSIOCard.dll
Parametry programu
Jméno programu LMSIOCard
Verze programu 1.0.
Jazyk
Podporované OS
Licence freeware
Velikost 13 kB
Potřebné knihovny RSCOM.dll
Vytvořeno v VB.NET
Stáhnout z Tohoto webu
Nebudem se zaobírat vnitřní stavbou knihovny, spíš popíšu jak knihovnu ovládat a jak vytvořit jednoduchý program, pomocí kterého lze I/O kartu ovládat. Budu vycházet z programovacího jazyku VisualBasic.NET. Pokud v něm neumíte a máte pocit že byste měli, vřele doporučuji tento seriál. Nic kvalitnějšího v češtině a zadarmo nenajdete.

Ovládání COM portu

K ovládání COM portu používám knihovnu RSCOM.dll. Tuto knihovnu stačí vložit do složky s programem a ve VisualStudiu do projektu vložit Modul, do kterého vložíte tento kód:
Public pTXD As Boolean
Public pDTR As Boolean 
Public pRTS As Boolean
Declare Function OPENCOM Lib „RSCOM“ (ByVal OpenString$) As Integer
Declare Sub TIMEOUTS Lib „RSCOM“ (ByVal b%)
Declare Sub BUFFERSIZE Lib „RSCOM“ (ByVal b%)
Declare Sub CLOSECOM Lib „RSCOM“ ()
Declare Sub SENDBYTE Lib „RSCOM“ (ByVal Dat%)
Declare Function READBYTE Lib „RSCOM“ () As Integer
Declare Sub SENDSTRING Lib „RSCOM“ (ByVal Dat$)
Declare Function READSTRING Lib „RSCOM“ () As String
Declare Sub CLEARBUFFER Lib „RSCOM“ ()
Declare Function INBUFFER Lib „RSCOM“ () As Integer
Declare Function OUTBUFFER Lib „RSCOM“ () As Integer
Declare Sub DTR Lib „RSCOM“ (ByVal b%)
Declare Sub RTS Lib „RSCOM“ (ByVal b%)
Declare Sub TXD Lib „RSCOM“ (ByVal b%)
Declare Function CTS Lib „RSCOM“ () As Integer
Declare Function DSR Lib „RSCOM“ () As Integer
Declare Function RI Lib „RSCOM“ () As Integer
Declare Function DCD Lib „RSCOM“ () As Integer
Declare Function INPUTS Lib „RSCOM“ () As Integer
Declare Sub TIMEINIT Lib „RSCOM“ ()
Declare Function TIMEREAD Lib „RSCOM“ () As Double
Declare Sub DELAY Lib „RSCOM“ (ByVal ms As Double)
Declare Sub REALTIME Lib „RSCOM“ ()
Declare Sub NORMALTIME Lib „RSCOM“ ()

COM Port

0
Parametry programu
Jméno programu COM Port
Verze programu 2.0.
Jazyk Čeština
Podporované OS OS s .NET Framework
Licence freeware
Velikost 50 kB
Potřebné knihovny .net frameworkRSCOM.dll
Vytvořeno v VB.NET
Stáhnout z Tohoto webu

Popis programu

Pomocí programu COM Port můžete ovládat výstupní (TXD, DTR, RTS) a číst vstupní (DCD, DSR, CTS, RI) signály COM portu počítače V nastavení si tlačítkem Obnovit porty načtete seznam dostupných portů (max. 15). Tlačítkem Připojit se připojíte k portu. Klikáním na jednotlivá tlačítka (TXD, DTR a RTS) lze měnit logickou hodnotu na výstupech portu. Zároveň se v nastaveném intervalu načítají hodnoty vstupů.
[caption id="attachment_9693" align="aligncenter" width="470"] Nastavení programu[/caption]

COM Interface

1

Tohle je vlastně taková blbost, nejde o nic jinýho, než o vyvedení signálů COM portu na svorkovnici. Na tento „obvod“ budou navazovat další obvody, který budou obsahovat už nějakou tu logiku. Celý obvod je proveden na univerzálním plošném spoji (Jiný tišťáky už ani nepoužívám. Kdo se s tím má furt leptat?). Sestavil jsem ho hlavně kvůli vlastnímu změření napěťových úrovní a pak k jednoduššímu připojování dalších periferií. Na první svorkovnici jsou vyvedeny všechny 3 výstupy…

Omezovač napětí na Babettu

20

Poměrně častým problémem u Babetty je přepalování žárovek. Stává se, že 6V Babetta dává i více než dvojnásobek tohoto napětí. Žárovkám to bohužel moc nesvědčí. Další článek o elektroinstalaci na Babettě. Nejjednodušší je zakoupit omezovač (někdo tomu říká usměrňovač, nebo stabilizátor) napětí. Cena se pohybuje okolo 100 Kč, takže cena není nějak extra vysoká. Pro kutily domácí tu mám návod jak si takový jednoduchý omezovač vyrobit. Není to nic složitého a náklady se pohybují…

Rozborka – Glukometr

0

Glukometr je přístroj určený k domácímu měření glykémie, tzv. self-monitoring (sebekontrola) glykémie. Tady si vysvětlíme princip a stavbu jednoho staršího glukometru. Uplně dole je video. Do pera se vloží jedna jehla. Pokud se z jehly odstraní krytka tak už nejde vrátit zpět – ochrana proti vícenásobnému použití. K výřezu se přiloží kapka krve. Ta je nasáta do proužku a způsobí chemickou reakci – zabarvení části proužku. Toto zabarvení je vyhodnocováno reflektanční fotometrií. D-glukóza + O2 →…