Serial port RTS

Hello,
I have to be able to establish communication with a device on different baud rates. The procedure is as follows....
unassert RTS - VISA write (and wait) - assert RTS - VISA read (and wait) - unassert RTS.
Is there any way to automaticly controll RTS, so it asserts after all the bytes are written, and the wait's can be avoided? 

Also you may waht to look at changing the sync mode on the VISA calls to make those needs to wait go away
When you transfer data from or to a hardware driver synchronously, the calling thread is locked for the duration of the data transfer. Depending on the speed of the transfer, this can hinder other processes that require the calling thread. However, if an application requires that the data transfer as quickly as possible, performing the operation synchronously dedicates the calling thread exclusively to this operation.
Jeff

Similar Messages

  • Asserting the RTS signal for serial ports

    I've posted a few times, about asserting the DTR signal line for the serial
    ports.
    To start off with, i have now come to the realization that I was STUPIDLY
    trying to set the wrong thing... I needed to set the RTS, not the DTR!!!
    Most of the replies I got said to use the IN PORT and OUT PORT vi's, from
    the advanced, memory/portI/O palette.
    When i had a fiddle around with these, and looked them up in more depth, I
    found a few things...
    1. I have read a few times, that these are not portable, because of machine
    dependancy... Can anyone tell me how portable they are? Such as, are they
    fine for all Intel based architechure's, or what
    2. I found that if I initialize the serial port, using the Serial Port
    Init.vi, and then use
    the Out Port.vi, to set the RTS, by addressing the
    register at 0x2FC, for COM 2, the next thing I did, which was write to the
    serial port, hung. When I highlighted execution, it was stuck in the Serial
    Write.vi Can anybody tell me what I'm doing wrong?
    Your help would be greatly appreciated!
    Slade Squire
    Programmer
    Rectifier Technologies Pacific
    Melbourne, Australia
    [email protected]

    You should read replies to your posts more carefully since Craig Graham have
    pointed out that VI to use to assert RTS and DTR lines of a serial port. You
    also should search this group for the RS485 and RTS/DTR topic; it is a
    recurrent question and there are some pitfalls on toggling RS485 direction
    in LabVIEW.
    As for RTS flow control, you will see something only when the input buffer
    of the serial port is full, in which case RTS is asserted to signal the
    transmitter to pause transmission.
    Jean-Pierre Drolet
    "Slade Squire" a �crit dans le message de news:
    [email protected]...
    > Something else I forgot to mention....
    >
    > When I try and set RTS in the flow control parameter of Serial Port
    Init.vi,
    > it doesn't do anything!
    > Why?
    > (I know it doesn't do anything, because I have an oscilliscope set up on
    the
    > end of the com cable, wired to the RTS pin)
    >
    > "Slade Squire" wrote in message
    > news:[email protected]...
    > > I've posted a few times, about asserting the DTR signal line for the
    > serial
    > > ports.
    > > To start off with, i have now come to the realization that I was
    STUPIDLY
    > > trying to set the wrong thing... I needed to set the RTS, not the
    DTR!!!
    > >
    > > Most of the replies I got said to use the IN PORT and OUT PORT vi's,
    from
    > > the advanced, memory/portI/O palette.
    > >
    > > When i had a fiddle around with these, and looked them up in more depth,
    I
    > > found a few things...
    > >
    > > 1. I have read a few times, that these are not portable, because of
    > machine
    > > dependancy... Can anyone tell me how portable they are? Such as, are
    they
    > > fine for all Intel based architechure's, or what
    > >
    > > 2. I found that if I initialize the serial port, using the Serial Port
    > > Init.vi, and then use the Out Port.vi, to set the RTS, by addressing the
    > > register at 0x2FC, for COM 2, the next thing I did, which was write to
    the
    > > serial port, hung. When I highlighted execution, it was stuck in the
    > Serial
    > > Write.vi Can anybody tell me what I'm doing wrong?
    > >
    > > Your help would be greatly appreciated!
    > >
    > > --
    > > Slade Squire
    > > Programmer
    > > Rectifier Technologies Pacific
    > > Melbourne, Australia
    > > [email protected]
    > >
    > >
    > >
    >
    >
    LabVIEW, C'est LabVIEW

  • Serial Port Overrun

    Hello All,
    I am developing Teststand sequences which run Labview code. I use 1 labview vi to configure and drive the serial port, the first call configures the serial port. The second call writes a message and reads the response, the last call releases the resource. When running the call write&read I intermittently receive the error shown in the attached jpg, this causes my whole sequence to lockup till I return to restart the test. I need to run this repeatedly overnight so its a problem. I have a feeling this isnt so much a serial port overrun problem as a hardware clash ( i also configure and run a camera ).
    I have spotted a number of posts a on this same topic but I havent yet found a soultion only advice, which I have already tried.
    Help greatly appreciated
    Regards Chris
    Attachments:
    Serial Port Error.jpg ‏63 KB

    Are you familiar with handshaking?  There were several posts on this subject recently.  The end device is sending data faster than your computer and Labview program can handle.  You need to implement handshaking.  There are two types of handshaking, software and hardware:
    Software, also called XON/XOFF.  With this setup, when the computer serial port incoming buffer gets nearly full, it automatically sends an XOFF command (don't worry about what it is since it is automatic).  The XOFF command tells the endpoint device to stop sending data.  When the buffer gets near empty, the computer sends an XON command.  The endpoint device then starts sending data again.  For this protocol, the endpoint device must be able to support this, and must be configured to use this type of handshaking.  You would have to read the manual to find out how to set it up.  For the computer end, you can set it up with an option for the configure serial port function on the input labeled "Flow Control".  Right click on this terminal and select Create - Constant.  A text ring will be created.  Select XON/XOFF in the text ring.
    Hardware, also called RTS/CTS.  Same principle in that the computer signals the endpoint when to stop sending data and when to start again.  However, instead of sending a command, the computer drops the CTS line (Clear To Send).  Actually, the endpoint device raises the RTS (Request To Send) when it wants to send data, and the computer responds with raising CTS if it is ready to receive data.  When the buffers get full, the computer drops CTS which tells the endpoint to stop sending data.  When the computer is ready to start receiving again, it raises CTS.  Again, both sides must be configured for this.  The text ring has an RTS/CTS selection.
    You will have to read the manual on your endpoint device to see what it supports and how to configure it.  Warning:  If sending binary data, DO NOT use XON/XOFF.  The binary data may just happen to form a pattern that looks like XOFF, and everything will lock up because XON will never be sent.  So if binary data is being transferred, use RTS/CTS.  If normal ASCII characters are being sent, you can use either protocol.
    - tbob
    Inventor of the WORM Global

  • Reading CTS or DSR lines of Serial port

    Is there a way to read the status of CTS or DSR lines of a serial port?
    Also in what pins are these lines on standard PC?
    Ori Idan
    Helicon technologies LTD. National Instruments Alliance member in ISRAEL
    Email: [email protected]
    Home page: http://www.helicontech.co.il
    Tel: +972-6-6262353 Fax: +972-6-6262405
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    Things should be made as simple as possible but not simpler
    Albert Einstein
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    On Thu, 04 May 2000 16:47:40 +0300, Ori Idan wrote:
    >Is there a way to read the status of CTS or DSR lines of a serial port?
    >Also in what pins are these lines on standard PC?
    While looking for info on printing I found the following:
    How can I control the DTR and RTS serial lines?
    Serial Port Init.vi can be used to configure the serial port for
    hardware handshaking; however, some applications may require manual
    toggling of the DTR and RTS lines. Because the interface to the
    serial ports is platform-dependent, each platform has a separate
    mechanism to control the lines.
    (Windows) The LavVIEW for Windows distribution contains a VI which you
    can use to drive the DTR and RTS serial lines. The VI serial line
    ctrl.vi, located in vi.lib\Instr\_sers
    up.llb, can be used to control
    these lines. The VI will toggle these lines according to the function
    input. Valid codes for the input are:
    0 noop
    1 clear DTR
    2 set DTR
    3 clear RTS
    4 set RTS
    5 set DTR protocol
    6 clr DTR protocol
    7 noop2
    (Macintosh) ..................
    (Sun).............................
    From LabVIEW User Manual page B-13
    Hope this helps.
    Regards,
    Steve Drake

  • Java bean to get information from serial port

    we are migrating from 6i to 10g. In 6i, we used mscomm32.ocx to access to com port. Now in 10g we need a java bean. Anybody has a java bean to access to serial port or anything similar?
    My email is [email protected]
    Thanks in advance.

    we set properties to the serial port, open the port, read (listen) from port, ... Here there are some pieces of code to you see it:
    -- Si está abierto el puerto puedo leer
    IF (MsCommLib_ImsComm.PortOpen(:ITEM('IF_OCX_COM').INTERFACE)=-1) THEN
    -- Miro si hay caracteres
    a:=MsCommLib_ImsComm.InBufferCount(:ITEM('IF_OCX_COM').INTERFACE);
    IF a>0 THEN
    set_item_property('COMUNICACION_ICS.ESPERA',DISPLAYED,PROPERTY_FALSE);
    --Datos de un bloque nuevo, hay que insertar la fecha
    IF :global.estado = 0 THEN
    --Leo la fecha en la que se ha leído los datos
    --SELECT SYSDATE INTO fecha
    --FROM DUAL;   
    fecha := To_Date(:System.Current_Datetime,'dd-mon-yyyy hh24:mi:ss');
    -- Borro la pantalla si hay mas de 1920 caracteres
    :global.tc := :global.tc + 21;
    IF :global.tc > 1920 then
    :comunicacion_ics.if_txt_com_rec :='';
    :global.tc := 0;
    end if;
    --Introduzco la fecha en el control de texto, para su posterior proceso
    :comunicacion_ics.if_txt_com_rec := :comunicacion_ics.if_txt_com_rec||CHR(10)
    ||'__' || To_Char(fecha,'DD-MM-YYYY,HH24:Mi:SS')||chr(10);
    guarda := Fichero.Escribe(:global.fic,CHR(10)||'__' || To_Char(fecha,'DD-MM-YYYY,HH24:Mi:SS')
    ||chr(10));
    if guarda < 0 then
    raise e;
    end if;
    END IF;
    -- Indico que se están recibiendo datos de este bloque
    :global.estado := 2;
    --Leo la cadena
    linea_ics := Var_To_Char(MsCommLib_ImsComm.Input(:item('IF_OCX_COM').INTERFACE));
    linea_ics := replace(linea_ics,chr(13),CHR(10)); -- CHR(10)
    --La añado al control de texto para que se vea
    -- Borro la pantalla si hay mas de 1920 caracteres
    :global.tc := :global.tc + a;
    IF :global.tc > 1920 then
    :comunicacion_ics.if_txt_com_rec :='';
    :global.tc := 0;
    end if;
    :comunicacion_ics.if_txt_com_rec := :comunicacion_ics.if_txt_com_rec||
    linea_ics;
    --Escribo la linea en el fichero
    -- Propiedades de Buffers
    -- Tamaño del Buffer de Entrada
    :prop_com.txt_in_buf := MsCommLib_ImsComm.InBufferSize(:ITEM('IF_OCX_COM').INTERFACE);
    -- Tamaño del Buffer de Salida
    :prop_com.txt_out_buf := MsCommLib_ImsComm.OutBufferSize(:ITEM('IF_OCX_COM').INTERFACE);
    -- Tamaño de la cadena de Entrada
    :prop_com.txt_input_len := MsCommLib_ImsComm.InputLen(:ITEM('IF_OCX_COM').INTERFACE);
    -- RThreshold
    :prop_com.txt_rthres := MsCommLib_ImsComm.RThreshold(:ITEM('IF_OCX_COM').INTERFACE);
    -- SThreshold
    :prop_com.txt_sthres := MsCommLib_ImsComm.SThreshold(:ITEM('IF_OCX_COM').INTERFACE);
    -- EOF Enable
    :prop_com.chk_eof_enable := MsCommLib_ImsComm.EOFEnable(:ITEM('IF_OCX_COM').INTERFACE);
    -- Propiedades Hardware
    -- Parity replace
    :prop_com.txt_par_repl := MsCommLib_ImsComm.ParityReplace(:ITEM('IF_OCX_COM').INTERFACE);
    -- NULL Discard
    :prop_com.chk_null_discard := MsCommLib_ImsComm.NULLDiscard(:ITEM('IF_OCX_COM').INTERFACE);
    -- RTS Enable
    :prop_com.chk_rts := MsCommLib_ImsComm.RTSEnable(:ITEM('IF_OCX_COM').INTERFACE);
    -- NULL DTR
    :prop_com.chk_dtr := MsCommLib_ImsComm.DTREnable(:ITEM('IF_OCX_COM').INTERFACE);
    Thanks. Inma

  • Serial port for an alarm system

    I have an alarm system set to receive inputs from LabVIEW-controlled digital I/O cards. All the digital ports are fully utilized for data input. When an alarm state is reached, we would like to use the serial port to relay the alarm condition to a global monitoring system. I don't know if the serial ports can accomplish this as the global monitoring system typically looks for a dry contact or a relay to be tripped. What are the capabilities of the serial port along these lines? Can I have it set to constantly send a 5V signal of dummy data and then drop that data transmission when the alarm condition is reached?

    RS-232 can be +-12V or more depending on how the physical drivers are configured. However, if you can handle these voltages, then you can simply assert or deassert one of the modem control lines (RTS or DTR) to indicate your alarm state. If you want to use the TX line, you can set and clear the break condition. If you hook up a multimeter to one of these signals and experiment with NI-VISA in LabVIEW, you should be able to create a signal that will work in your system.
    However, if you need +5/GND, you can use an RS-485 port which generates (well, in a way) signals between 0 and 5V (or 0 and 3.3V depending on the system). RS-485 is a differential signaling system, but you can just throw away one of the lines. In this case you'll use TX+, TX-, RTS+, or
    RTS- depending on what you need.

  • Low level control of serial port?

    Hi there,
    We're using LabVIEW 7.1 and I would like to control some low level aspects of the serial port (I'm having a LOT of difficulty connecting to an ABU93 autoburette). Is there a way to set the DTR, DTS RTS and CTS in LabVIEW 7.1? Is this controllable through VISA?
    Thanks for any help,
    Russ

    The serial lines cannot be adressed using the Configure serial port VI. You need to dig a little deeper, and access the modem property node.
    See the attached vi.
    CC
    Chilly Charly    (aka CC)
             E-List Master - Kudos glutton - Press the yellow button on the left...        
    Attachments:
    Serial line settings.vi ‏35 KB

  • Serial port control

    hello
    is it possible to control, using labview, the inputs and the outputs of a serial port as they were simple digital on/off channel?
    for example in order to use them to turn on/off a relay or to read the state of a switch
    I've searched among the labview examples but they show only complex communication to an hardware using strings...
    thankyou in advance
    paolo
    Solved!
    Go to Solution.

    You can control the handshaking lines Request to Send (RTS) and DTE Ready (DTR).  You can read the handshaking lines DCE Ready (DSR) and Clear to Send (CTS) as digital inputs.
    They are accessed through property nodes of the VISA reference under Serial Settings / Modem Line settings.
    Be careful of any loads you apply to them or signals you enter in terms of voltage and current so you don't fry your computer.
    Message Edited by Ravens Fan on 09-10-2009 04:27 PM
    Attachments:
    Example_VI_BD.png ‏2 KB

  • Simple Serial Port Implementation FAILURE...MSDN?

    Hi everyone!
    I have a serial device connected via USB (connecting into COM7). I need to be able to read and write to/from this device. I created an external C# console application for opening the connection and writing/reading. It worked for the writing but not for the
    reading. So after much trial and error, I more or less outright copied the example code the MSDN documentation provides, and this still isn't working. I am not receiving anything from the device. I have tested the device using other means such as putty and
    the device is writing correctly.
    Has anyone else had problems? Is the library just completely useless? Does anyone know of any alternatives?
    Cheers!

    Hello CRASH664,
    >> Has anyone else had problems? Is the library just completely useless? Does anyone know of any alternatives?
    This library should be already completed since it comes from .NET 2.0. There is a similar thread which also discusses about issues about reading data from USB by using SerialPort api:
    http://stackoverflow.com/questions/11217619/can-send-cant-read-net-serial-port
    It shows you could subscribe to the DataReceived Event to see if it is firing at all. And there is a Community comment about setting DTR and RTS to true, if the connected device needs them it will not transmit data.
    Regards.
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Create and Send an array of hex code to a device through serial port

    My name is Tina Drew,
    I am working programming a project involving an RFID system. In order to get the project to work the way that I desire, it must send a hex code of 01 to start the device and 6A to run in continuous mode. I have part of the program by the device does not appear to be responding to the hex signal. Maybe my programming is incorrect. In addition, it will not read the information from the microreader through the serial port. It says that the time has expired before the operation can be carried out. What should I do? A sample of the program is attached.
    Please contact me as soon as possible at 410-651-7604 or [email protected]

    You forgot to attach your program. It happens to the best of us. I sure wish NI would move the darn attachment button next to or before the submit button.
    Things to check:
    Baud Rate
    Number of stop bits
    Parity bit
    DCE device talking to DTE or vice versa. If both devices are DCE or both DTE, you must use a null modem cable.
    You can use Hyperterminal to see if you can communicate with your device manually (On the hyperterminal screen, hold down the Alt key and type 001 from the numeric keypad, not the numbers from the top row above the letters, a smiley face will appear if the device echos back the character. If it don't, you can setup hyperterminal to display the character - look under file-properties-settings-ASCII Sending-Echo typed characters locally). If you receive a good response, this will tell you if you have the correct baud rate, etc... After proving that this works, make sure your vi's serial port configuration match your hyperterminal settings. You can use a breakout box to determine if you have a good DCE-DTE match. DCE will assert the RS232 signals DSR, CTS, and CD. DTE will assert DTR and RTS. By hooking up a breakout box on one end of the com link, you can see which LEDs are on and this tells you whether you have a DCE or DTE. Most computers are DCE. Modems are DTE. Your device would have to look like a modem to the computer as far as RS232 signals go.
    - tbob
    Inventor of the WORM Global

  • Serial port 8 bit adc program

    I have some Pascal code writen for an 8bit Serial ADC circuit. I had a look at the Pascal code and I made an attemp at implementing it in labVIEW but obviously it didnt work. 
    The Pascal code writes/reads to the DTR, RTS and CTS lines which I was able to do with little success, I used the property node and chose 'DTR/RTS State' which gave me the options to write to the lines i mentioned above. But I am not able to read the CTS output. how can I do that in LabVIEW because LABVIEW VISA follows the RS232 protocol . I tried using the IN/Out port vi But it does not work for windows Vista & later .Can anyone help by telling me where to start from? Below is the Pascal code. I have attached my current vi which does not work.
    the circuit diagram for the 8bit adc can be found here... 
    http://www.epanorama.net/circuits/ad_serial.html
    Pascal Code........
    Program serial_adc;
    Uses Crt;
    Const
    combase=$3f8; { I/O address of the COM port you are using }
    MCR=combase+4;
    LCR=combase+3;
    MSR=combase+6;
    Procedure Initialize_converter;
    Begin
    Port[MCR]:=3; { make DTR line to supply power and set CS input of chip to 1 }
    Port[LCR]:=0; { set clock line of the chip to 0 }
    End;
    Function Read_value:byte;
    Var
    value:byte;
    count:byte;
    Begin
    value:=0;
    Port[MCR]:=1; { set CS down }
    For count:=0 to 7 Do Begin { do the bit value eading 7 times }
    value:=value SHL 1; { value=2*value }
    Port[LCR]:=64; { clock line up }
    If (port[MSR] and $10)=$10 Then Inc(value); { read the input data and update value }
    Port[LCR]:=0; { clock line down }
    End;
    Port[MCR]:=3; { set CS up again }
    Read_value:=value; { return the value }
    End;
    Begin
    Initialize_converter; { call initialization routine }
    Repeat
    Writeln(Read_value); { call reading routine and print the value }
    Delay(1200);
    Until KeyPressed; { repeat until any key is pressed }
    End.
    Attachments:
    read_In_Out_port.vi ‏24 KB
    read_from_com_port2.vi ‏40 KB

    It has been too many decades since I used Pascal to be sure what your code does.
    It seems that you are asserting DSR to provide power through the port to the external device and that you have that working.
    Are you using RTS/CTS as standard handshaking? If so, just select RTS/CTS as the value for the Flow Control input on the VISA Configure Serial Port.vi.  Then there is no need to deal with those line explicitly in the LV code.
    Note on your code: The 1 ms Wait in the sequence frame with the RTS Asserted may run before or after the property node. If you need the delay before asserting RTS, put the Wait in a frame which runs before the property node.
    If you are using USB to RS-232 adapters, verify whether the DTR line stays asserted. I have seen some adapters which think they are smarter than you are and turn off the control lines after a short idle time.
    Lynn

  • Serial port CTS monitoring

    I would like to know how to read the status of the Clear To Send (CTS) line.
    I need this in order to implement a write with timeout vi, required when
    using the RTS/CTS handshaking protocol.
    Thanks
    Gilles

    Hallo, Gilles,
    Du meintest am 21.09.99 zum Thema serial port CTS monitoring:
    > I would like to know how to read the status of the Clear To Send
    > (CTS) line.
    advanced/memory/in port
    If you run LabView under Windows NT, you need "hwaccess" from the NI ftp-
    server for direct port access.
    CTS is line 4 (2^4) at (port base + 6), the MSR (modem status register).
    Ralf Browns interrupt list (especially the "ports.lst") shows many
    details.
    Viele Gruesse!
    Helmut

  • Unable to capture data from Serial port using LVRT2010 in single core pentium 4 machine

    I am using application written in Labview using windows Labview
    Runtime environment 2010. Application creates a tunnel to intercept data from
    Serial port.
    My problem is, Currently, I am using single core Pentium
    processor. When I am trying to intercept the data between COM1 and COM7 (COM 7
    is a virtual port) it is not able to capture data.
    When I am running Labview RT environment using dual core
    processor machine it is running normally. I wonder whether it could be the compatibility issues with
    single core Pentium processor.

    Hi Magnetica
    Are both of the machines running the same runtime engine,
    drivers ect?
    Have you had RT applications running on this
    machine before?
    Is the development computer a 64bit machine?
    The processor is a supported model (See link below).
    http://zone.ni.com/devzone/cda/tut/p/id/8239
    Regards
    Robert
    National Instruments UK & Ireland

  • Problem on WinXP / Labview 6.1 with VISA (serial port)

    There is a problem on WinXP / Labview 6.1 with VISA which i use to poll the state lines of the serial port. The only functions that i use are "VISA Open", "Find Resource", line state properties and "VISA close".
    On my own machine (WinME) it works fine as a standalone application (with runtime engine in the same direction), even if i rename the Labview directory so that Labview is not found.
    From my VXIpnp directory i deleted all but these files:
    directory "Win95",
    subdirectory "Bin" containing "NiViAsrl.dll",
    subdirectory "NIvisa" containing "visaconf.dll".
    When shipping this to WinXP (and copying "VXIpnp" to the root directory), the serial port was not found, so i renamed the direction "Win95" to "
    WinNT", but this did not work also.
    I installed the VISA server, although it seems not to be required -- no result.
    Final question:
    What must i do for distributing the program as a standalone application for all windows platforms?

    Hey Joachim,
    In order to create an installer that includes the VISA Run-time engine for serial IO you will have to purchase LabVIEW 7.x. See screen shot. This packages a small compact version of the run-time that can only be used for serial, but it takes up much less space. The installer that I created has my application, the LV Run-time, and the VISA run-time and it is about 26 MB.
    That is much smaller than if I had to include the 32 MB LV 7.1 run-time and the 14 MB VISA run-time separately. It would have been even smaller if I would have uncheck some of the items that I wasn't using.
    -Josh
    Attachments:
    advanced.JPG ‏31 KB

  • Using a PS/2 keyboard on a Sparc workstation through the serial port

    We have recently migrated an application that used to run on a PC, to now run on a Sparc Workstation. This is a SunBlade 1500, running Solaris 8. The application is running in a dedicated console which has a fitted keyboard and trackerball that have PS/2 connectors and cannot be changed.
    We need a way of connecting the PS/2 keyboards to the serial ports of the Sparc workstation. We already have a piece of software that will read ascii values from the serial port so we definately want to go through the serial ports.
    Can someone please suggest what converters will be required to get the output of the keyboard and trackerball as ascii input to the serial port.

    Actually, that's not a bit perverse, at all.
    Jonathan's suggestion is a standard method of connecting to a server.
    (null cable between the computer serial ports)
    ... see the Solaris man pages.
    man tip
    TeraTerm and Hyperterminal are customarily used on a PC running some dialect of Windows.
    The 'tip' command is all that's necessary between Solaris systems.
    PS/2 is not a serial connection, but is a keyboard/mouse interface 'invented' by IBM when they offered their XT-class PS/2 line of desktop systems, back in the 1980's.
    I found this next link by using Google:
    http://members.chello.at/theodor.lauppert/computer/ps2/
    The smaller DIN ports were more compact than the AT-class keyboard ports and the mouse moved from a serial port to a dedicated mouse port.
    Serial communication devices are not keyboards, per se,
    and keyboards are not serial communication devices.
    You need other hardware in between to translate what the human being sends, and another computer is a common method to accomplish that translation.
    Having said all that ...
    Since you cannot change the dedicated console hardware,
    I suggest you go to the manufacturer of that console equipment
    and have them suggest some sort of serial-to-serial interface lash-up.

Maybe you are looking for