Results 1 to 5 of 5

Thread: Low level comm port manipulation

  1. #1

    Thread Starter
    Junior Member
    Join Date
    Mar 2000
    Posts
    16
    I'm a geophysicist. The program I am writing will monitor the earths' magnetic field via a G856 proton precession magnetometer and warn us of geomagnetic storms.
    The Geometrics G856 (www.geometrics.com) can be made to output readings via RS-232 by a "pulse (pull line low) on
    "sync" pin S (or connect pin S to pin D). The data will be sent RS-232 (d = ground, T = transmit (from g-856), G = clear to send,)". This is a quote from the manual.

    I have wiring and pin diagrams of the RS-232 interface with the G856. So I need RS-232 pin manipulation controls.

    Can this kind of low level comm port manipulation be done in VB5? Maybe certain characters sent to the comm port do this???

    I doubt that the MSComm control can do this.

    Justin.

  2. #2
    Member
    Join Date
    Feb 2000
    Location
    Toronto, Canada
    Posts
    44
    Can you give me the wiring and pin diagrams of the RS-232 interface with the G856. I looked up the geometrics website and there no mention of the G-856. I only saw G-858.
    I need to know what you stated is actually refering to what signals.

    The Geometrics G856 (www.geometrics.com) can be made to output readings via RS-232 by a "pulse (pull line low) on
    "sync" pin S (or connect pin S to pin D). The data will be sent RS-232 (d = ground, T = transmit (from g-856), G = clear to send,)".

    Anyway here is the actual pin outs for two types of standard serial cables (9 Pin and 25 Pin).

    D9---D25

    3----2-----TD (Transmit Data)
    2----3-----RD (Recieve Data)
    5----7-----SG (Signal Ground)
    4----20----DTR (Data Terminal Ready)
    6----6-----DSR (Data S??? Ready)
    1----8-----CD (Carrier Detect)
    7----4-----RTS (Request To Send)
    8----5-----CTS (Clear To Send)

    There are also Null Modem cables. They only use three signals to tranmit data (TD, RD, and SG). The wiring configuration is as follows;

    TD
    RD
    SG
    DTR, DSR, and CD are shorted together
    RTS and CTS are shorted together

    Hope this help.

    Reply here or email me at:

    [email protected]

    [Edited by Sacred_knight on 03-28-2000 at 01:39 PM]

  3. #3

    Thread Starter
    Junior Member
    Join Date
    Mar 2000
    Posts
    16
    OK - here's the low down from the manual.
    We're dealing with RS-232 revision C, and a D9 connector.

    The following table lists the functions assigned to each pin of the RS-232 cable from the G-856. Only 3 of 22 standard RS-232C data transmission lines are used in the G-856. The RS-232C interface cable is wired to connect directly to a PC 9-pin serial port.

    9-pin RS-232, G-856 Front panel, Function description

    2, T, Transmit data from the G856
    5, D, Signal ground - zero reference for interface
    7, G, Clear to send - When low inhibits G856 output.

    Come to think of it this is all irrelevant because I can already accept the output from the device via a MSComm control. There is 1 start bit, 7 data bits, 1 parity bit and 2 stop bits.

    The G856 can be set to output data at certain intervals via these lines above. This is fine, I have done this and now need to trigger a reading using the computer.

    There is another pin on the front panel of the G856 called the Syncronisation pin (S). I need to connect pin S to pin D in order to trigger a reading. It's low voltage so nothing will get blown up. I can make a cable to connect S to any RS-232 pin I like. Same with G.

    So in a nutshell, the problem is:

    Can VB be used to switch external devices without using QBasic and relays.
    Or alternatively:
    Can one serial pin be connected to another using code?
    Or alternatively:
    Can a serial pin be pulled low using code?

    Ideally there would be a function:

    Bool SerialPinConnection(Int CommPortID, Int ConnectThisPin, Int 2ThisPin)

    The G856 is the older model of the G858.

    Justin.

  4. #4
    Addicted Member
    Join Date
    Feb 2000
    Posts
    135

    Reading in Data from Comm Port 1.. HELP!!

    Hi...
    This is an update to my last question.. I was actually trying to read in data from a device using say comm port 1 and uses a protocol called RB8192

    before (in dos programming i used to open up the port like this :

    where comport$ = "COM1:9600,O,7,2,RB8192"

    OPEN comport$ FOR RANDOM AS #1

    in qbasic. Need to be able to do this in visual basic 6. Please help as i am stuck!

    Jason

  5. #5

    Thread Starter
    Junior Member
    Join Date
    Mar 2000
    Posts
    16
    Well, that's the last you'll hear from me. Never heard of RB 4095943.

    Justin.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width