[ Old Šeterhend @ 07.02.2009. 20:14 ] @
Pravim aplikaciju za diplomski u Visual C# kojom se kontroliše prijem signala na paralelni port. To je u stvari aplikacija koja kontroliše da li su vrata hotelske sobe otvorena i u kom vremenskom intervalu. I nisam zadovoljan, jer mislim da ad konverzija nije u redu. Na netu je teško naći pomoć. Ima li neko iskustva u ovoj oblasti?
[ icobh @ 07.02.2009. 20:29 ] @
Moram odmah da ti kazem da rad u managed programskim jezicima nije bas za rad sa serijskim i paralelnim portovima, barem sto se tice ugradjenih biblioteka.Ja sam radio vise sa serijskim a manje sa paralelnim portom, i znam da sam se uvijek mucio.

A sta ti mislis da ti ne valja? Kako ti se manifestuju problemi?
[ bigguy @ 09.02.2009. 07:17 ] @
Hajde kad se vec ovakva jedna tema otvorila, a moram priznati da mi je drago zbog toga, da i ja postavim par pitanja? Naime, hteo bih da jedan IS povezem sa jednim uredjajem i da odredjene parametre koji se dobijaju na uredjaju prosledjujem u TextBox-ove i potom ih cuvam u bazi. IS je radjen u C# a uredjaj ima enternet izlaz. Sta je neophodno uraditi kako bi se uredjaj povezao sa IS? I sta je potrebno uraditi u IS kako bi obezbedio unos ovih podataka? Imali neko iskustva u ovoj oblasti, oblasti automatizacije i mozeli me neko uputiti na neku korisnu adresu gde se mogu pronaci podaci kojima se razradjuje ova tematika.
[ mmix @ 09.02.2009. 08:26 ] @
Ok, sto se tice paralelnih serijskih portova probajte ovo:

Code:

    public const uint GENERIC_READ = 0x80000000;
    public const uint GENERIC_WRITE = 0x40000000;
    public const uint OPEN_EXISTING = 3;

    [DllImport("kernel32.dll", SetLastError = true)]
    static extern SafeFileHandle CreateFile(string lpFileName, uint dwDesiredAccess,
      uint dwShareMode, IntPtr lpSecurityAttributes, uint dwCreationDisposition,
      uint dwFlagsAndAttributes, IntPtr hTemplateFile);

...


    SafeFileHandle hnd = CreateFile("LPT1:", GENERIC_READ|GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0);
    using (FileStream fs = new FileStream(hnd, FileAccess.ReadWrite))
    {
        // ovde radi sa fs tj lpt portoma kao i sa bilo kojim drugim fajlom
    }


kod mozda mora malo da se tweakuje, nemam nista com.lpt da ga sad isprobam, ali ovo je generalno pristup problemu (malo sam adaptirao primer iz msdna). Nazalost, ako se nesto nije promenilo direktni new FileStream("LPT1:") nece raditi i mroa kroz api.


Citat:
bigguy: IS je radjen u C# a uredjaj ima enternet izlaz.


Ako mislis na ethernet onda sve zavisi od toga koliko je inteligentan uredjaj. Ethernet port sam po sebi ne znaci nista, cak iako podrzava ethernet protokol to je samo prvi od 7 layer-a u LAN/WAN komunikaciji, treba ti tehnicka dokumentacija za uredjaj da bi video sta moras da implementiras. U najidealnijem slucaju uredjaj bi imao svoj IP stack i onda bi sa njim komunicirao preko socketa.

[ bigguy @ 09.02.2009. 12:35 ] @
Upravo radim download uputstva za uredjaj ali generalno on je noviji i koliko sam procitao neke tekstove vezano za njega on ima mogucnost da mu konfigurisem IP i da ga povezem u IS ali ako ti nije problem mozesli mi bar malo detaljnije objasniti sta podrazumevas pod tim da ce oni komunicirati preko socketa. Ili ako ti je jednostavnije uputi me molim te na neku literaturu jer sam potpuno nov u ovome.