A PC és a gép között kézfogásos (handshake) kapcsolat épül fel.
A terminál úgy önmagában nem feltétlenül elég, vannak ott beállítási lehetőségek (ansi, vt100, vt52, DTR, RTS, stb.). Ezen a területen kellene szétnézni és setupolni, próbálkozni.
A legegyszerűbb az lenne, hogy az eredeti felállásban (ahogy a dolog működött) a kommunikációt legrabbelni és ott kiderülne a turpisság.
Ha megvan a CNC-gép leírása (vagyis hogy mit/hogyan kell neki mondani soros porton át), és a hozzávaló kábel, akkor először egy általános terminálprogramból kellene próbálkozni, amilyen a minicom (vagy valami hasonló Windows-hoz).
Ezt a részt tudnád egy kicsit részletezni? Honnan tudod, hogy a program var? Honnan tudod, hogy a gep visszajelzesere var? Mit értesz 'gep' alatt, a sorosportra kapcsolt eszközt, vagy a saját számítógépedet?
Ismeri valaki egesz jol az RS232 kommunikaciot? A gondom, hogy a regi DOS-os V24programom mar windows-ban nem megy. Igy arra jutottam, hogy VBasicben irok egyet. Egesz jol menne, de.......... a program Xon/Xoff avagy RTS/CTS Handshake-kel kell, hogy menjen a szinkronizacio miatt. Baudrate: 4800; Adatbit: 7; Stopbit 2; Paritas EVEN. Viszont amikor kikuldom az elso sort Serialport1.write(sor) paranccsal
a program VAR a gep visszajelzesere. Nem tudom mit kenne kuldenem az elsosor elott/utan, hogy tudja erzekelje, adaterkezett. Roviden ennyi lenne..... Koszonom elore is a segitseget.............
Szeretnék rekordot küldeni-fogadni, van más protokoll amit ismerek, de sajna ezt kellene használnom, az adatfogadó ezt támogatja.
Kutakodom, de seholnem találom annak a sorosporti protokolnak a leírását ami félduplex módon működik. Van egy Master, Slave viszony. Vezérlőkarakterek: DLE0, DLE1, ctrl+b, ctrl+b, EOT, és van CRC ellenőrzés is benne.
Ha ez többet mond, akkor FidelioHalfDuplex -nek is hívják.
Ez az elsőre ostobának tűnő megjegyzés fölöttéb jogos!
1./ OUT COMM1 -- IN COMM1. Visszacsatolós lezáró mütyür a comm1-re és Hyperterminállal figyelni. 2./ OUT COMM1 -- IN COMM2. Bóti soros kábellel összekötve (NEM egérhosszabító!) és Hyperterminállal figyelni a comm2-t. (baudokra és egyéb nyalánkságokra kínosan ügyelni)
WriteFile (hCom, // Port handle &Byte, // Pointer to the data to write 1, // Number of bytes to write &dwNumBytesWritten, // Pointer to the number of bytes // written NULL // Must be NULL for Windows CE ); } //---------------------------------------------------------------------------
hCom = CreateFile("COM1", GENERIC_READ | GENERIC_WRITE, 0, /* comm devices must be opened w/exclusive-access */ NULL, /* no security attrs */ OPEN_EXISTING, /* comm devices must use OPEN_EXISTING */ 0, /* not overlapped I/O */ NULL /* hTemplate must be NULL for comm devices */ );
Segitseget szeretnek kerni C++ BUILDER 6 -ban. A kerdesem az lenne hogyan tudok soros portra (rs232) karaktert kikuldeni, pl.: akkor ha egy adott gombot a grafikus kepernyon lenyomok.
Köszi a helpet superuser nevében is, (ő hozta létre nekem a topicot, emrt én még nem tudtam :( ) Srácok, tényleg nagyon köszi, tél óta küzdöttem a soros port meghódításával, úgy néz ki, megoldódni látszik ;)
Valamilyen programozási nyelven (c/pascal) szeetném ezt a soros port tulajdonságkat beállítani:
COM2: ----- µtviteli sebess‚g: 1200 Parit s: None Adatbitek: 7 Stopbitek: 1 Hat rid‹: OFF XON/XOFF: OFF CTS k‚zfog s: OFF DSR k‚zfog s: OFF DSR-‚rz‚kenys‚g: OFF DTR ramk”r: ON RTS ramk”r: ON
A probléma:
ezt nekem dos alatt kellene kieszközölni, de abban a mode parancs paraméterlistája nem teszi lehetővé az utolsó 5 paraméter beállítását.