Unable to open a serial port terminal session w/ StorageTek 2540

Can some one please explain the method to access the Service Interface Menu on a StorageTek 2540? I've read the manual many times and obviously am missing something...
I can connect to the controller, I can send a break, however I never get the request to sync the baud rate.
HELP!!!
Thanks for the time.
--Kenny                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

Do you use USB-to-serial converter ? If yes try to change it.
I saw some converters which block break command.

Similar Messages

  • Java ME 8 Permission check failed when opening a serial port

    I have a larger Jave ME8.1 application that was going well until I tried to add one last piece, reading and writing data from a serial port. This was left to last because it is trivial, at least in most programming languages. The is IDE NetBeans 8.0.2 running on a Windows 7 PC. The platform is a Raspberry Pi B or B+ (I have tried both) with the most current Raspbian (12/24/2014 I believe). To simplify the process I created a new app with just the open and close code and this generates the same error I am experiencing in the larger application. The program is as follows:
    package javamecomapp;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import javax.microedition.io.CommConnection;
    import javax.microedition.io.Connector;
    import javax.microedition.midlet.MIDlet;
    * @author ****
    public class JavaMEcomApp extends MIDlet {
        static int BAUD_RATE = 38400;
        static String SERIAL_DEVICE = "ttyAMA0";
        static CommConnection commConnection = null;
        static OutputStream os = null;
        static InputStream is = null;
        static String connectorString;
        private int rtnValue = -1;
        @Override
        public void startApp() {
            java.lang.System.out.println("Opening comm port.");
            try {
                rtnValue = JavaMEcomApp.openComm();
            } catch (IOException ex) {
                Logger.getLogger(JavaMEcomApp.class.getName()).log(Level.SEVERE, null, ex);
        @Override
        public void destroyApp(boolean unconditional) {
            java.lang.System.out.println("Closing comm port.");
            try {
                rtnValue = JavaMEcomApp.closeComm();
            } catch (IOException ex) {
                Logger.getLogger(JavaMEcomApp.class.getName()).log(Level.SEVERE, null, ex);
            private static int openComm()throws IOException {
                java.lang.System.out.println("Opening comm port.");
                connectorString = "comm:" + SERIAL_DEVICE + ";baudrate=" + BAUD_RATE;
                commConnection = (CommConnection)Connector.open(connectorString);
                is  = commConnection.openInputStream();
                os = commConnection.openOutputStream();
            return 0;
        private static int closeComm()throws IOException {
            java.lang.System.out.println("Closing comm port.");
                is.close();
                os.close();
                commConnection.close();
            return 0;
    If I comment out the JavaMEcomApp.openComm and closeComm lines it runs fine. When they are included, the following error is dumped to the Raspberry Pi terminal:
    Opening comm port.
    Opening comm port.
    [CRITICAL] [SECURITY] iso=2:Permission check failed: javax.microedition.io.CommProtocolPermission "comm:ttyAMA0;baudrate=38400" ""
    TRACE: <at java.security.AccessControlException: >, startApp threw an Exception
    java.security.AccessControlException:
    - com/oracle/meep/security/AccessControllerInternal.checkPermission(), bci=118
    - java/security/AccessController.checkPermission(), bci=1
    - com/sun/midp/io/j2me/comm/Protocol.checkForPermission(), bci=16
    - com/sun/midp/io/j2me/comm/Protocol.openPrim(), bci=31
    - javax/microedition/io/Connector.open(), bci=77
    - javax/microedition/io/Connector.open(), bci=6
    - javax/microedition/io/Connector.open(), bci=3
    - javamecomapp/JavaMEcomApp.openComm(), bci=46
    - javamecomapp/JavaMEcomApp.startApp(), bci=9
    - javax/microedition/midlet/MIDletTunnelImpl.callStartApp(), bci=1
    - com/sun/midp/midlet/MIDletPeer.startApp(), bci=5
    - com/sun/midp/midlet/MIDletStateHandler.startSuite(), bci=246
    - com/sun/midp/main/AbstractMIDletSuiteLoader.startSuite(), bci=38
    - com/sun/midp/main/CldcMIDletSuiteLoader.startSuite(), bci=5
    - com/sun/midp/main/AbstractMIDletSuiteLoader.runMIDletSuite(), bci=130
    - com/sun/midp/main/AppIsolateMIDletSuiteLoader.main(), bci=26
    java.security.AccessControlException:
    - com/oracle/meep/security/AccessControllerInternal.checkPermission(), bci=118
    - java/security/AccessController.checkPermission(), bci=1
    - com/sun/midp/io/j2me/comm/Protocol.checkForPermission(), bci=16
    - com/sun/midp/io/j2me/comm/Protocol.openPrim(), bci=31
    - javax/microedition/io/Connector.open(), bci=77
    - javax/microedition/io/Connector.open(), bci=6
    - javax/microedition/io/Connector.open(), bci=3
    - javamecomapp/JavaMEcomApp.openComm(), bci=46
    - javamecomapp/JavaMEcomApp.startApp(), bci=9
    - javax/microedition/midlet/MIDletTunnelImpl.callStartApp(), bci=1
    - com/sun/midp/midlet/MIDletPeer.startApp(), bci=5
    - com/sun/midp/midlet/MIDletStateHandler.startSuite(), bci=246
    - com/sun/midp/main/AbstractMIDletSuiteLoader.startSuite(), bci=38
    - com/sun/midp/main/CldcMIDletSuiteLoader.startSuite(), bci=5
    - com/sun/midp/main/AbstractMIDletSuiteLoader.runMIDletSuite(), bci=130
    - com/sun/midp/main/AppIsolateMIDletSuiteLoader.main(), bci=26
    Closing comm port.
    Closing comm port.
    TRACE: <at java.lang.NullPointerException>, destroyApp threw an Exception
    java.lang.NullPointerException
    - javamecomapp/JavaMEcomApp.closeComm(), bci=11
    - javamecomapp/JavaMEcomApp.destroyApp(), bci=9
    - javax/microedition/midlet/MIDletTunnelImpl.callDestroyApp(), bci=2
    - com/sun/midp/midlet/MIDletPeer.destroyApp(), bci=6
    - com/sun/midp/midlet/MIDletStateHandler.startSuite(), bci=376
    - com/sun/midp/main/AbstractMIDletSuiteLoader.startSuite(), bci=38
    - com/sun/midp/main/CldcMIDletSuiteLoader.startSuite(), bci=5
    - com/sun/midp/main/AbstractMIDletSuiteLoader.runMIDletSuite(), bci=130
    - com/sun/midp/main/AppIsolateMIDletSuiteLoader.main(), bci=26
    java.lang.NullPointerException
    - javamecomapp/JavaMEcomApp.closeComm(), bci=11
    - javamecomapp/JavaMEcomApp.destroyApp(), bci=9
    - javax/microedition/midlet/MIDletTunnelImpl.callDestroyApp(), bci=2
    - com/sun/midp/midlet/MIDletPeer.destroyApp(), bci=6
    - com/sun/midp/midlet/MIDletStateHandler.startSuite(), bci=376
    - com/sun/midp/main/AbstractMIDletSuiteLoader.startSuite(), bci=38
    - com/sun/midp/main/CldcMIDletSuiteLoader.startSuite(), bci=5
    - com/sun/midp/main/AbstractMIDletSuiteLoader.runMIDletSuite(), bci=130
    com/sun/midp/main/AppIsolateMIDletSuiteLoader.main(), bci=26
    I have tried this with three different serial ports, /dev/ttyAMA0 (yes I did disable the OS from using it), an arduino board /dev/ttyACM0, and a USB to RS485 adaptor /dev/ttyUSB0. All of these ports could be connected and use normally with both a C program and terminal program in the Pi. The API Permissions were set in the project properties / Application Descriptor / API Permissions to jdk.dio.DeviceMgmtPermission "/dev/ttyAMA0". This of course was changed as I tested different devices.
    I found a reference suggesting adding the line "authentication.provider = com.oracle.meep.security.NullAuthenticationProvider" to the end of the jwc_properties.ini file. This had no effect. I found references that during development in eclipse and NetBeans, the app is already elevated to the top level so this should not be an issue until deployment. This does not appear to be the case.
    I am out of time and need a solution quickly. Any suggestions are welcome.

    Terrence,
       Thank you for responding and confirming the issues I'm having with static addressing.  As far as the example above, I do have the standard LEDs working correctly, however, the example I'm referring to above is from the JavaME samples using the GPIO Port for the LEDS, according to the Device I/O Preconfigured List you referenced:
    GPIO Ports
    The following GPIO ports are preconfigured.
    Devicel ID
    Device Name
    Mapped
    Configuration
    8
    LEDS
    PTB22
    PTE26
    PTB21
    direction = 1 (Output only)
    initValue = 0
    GPIOPins:
    controllerNumber = 1
    pinNumber = 22
    mode = 4 (Push-pull mode)
    controllerNumber = 4
    pinNumber = 26
    mode = 4 (Push-pull mode)
    controllerNumber = 1
    pinNumber = 21
    mode = 4 (Push-pull mode)
    So is the assumption that using GPIOPort for accessing the GPIO port for Device ID 8 as listed in the Device I/O Preconfigured list not supported?

  • Serial port termination character status?

    Hello,
    I need to read a message from a serial port and I'm having some problems. I used the advanced serial communication example and came up with the attached program. Everything works perfectly fine except for the fact that if no message is sent for 10 seconds as designed the serial read outputs an error. I know normally I can check to make sure there are bytes at the port before I do a read operation which solves this problem. However, when using the buffer to terminate the read once a termination character is provided the bytes at port property always returns 0 so I can't use this as a conditional for reading the port.
    Is there a way to prevent the serial read from timing out in the attached program? Thank you.
    Attachments:
    serial_buffer.gif ‏19 KB
    serial.vi ‏15 KB

    Let me maybe give a bit more details about the application. I want to be able to get any amount of characters as a string that someone inputs in to the serial port. This will be a computer so I can expect the commands to usually be valid but I want to provide some additional redundency incase a person at a terminal is writing commands. The commands might be "measure 110" or it might be "set 23 34". So the amount of bytes being sent will depend on the command. I used 1000 as the byte count on the read just to provide as much room as possible, setting it to 100 doesn't really make a difference in this application, the same thing happens. If someone starts typing in a terminal "measure 110" (for example) but forgets to hit enter for the termination character the program will time out since the error cluster is connected to the stop button of the loop. When this happens the entire program needs to be restarted. Not really ideal.
    If I disconnect the error cluster from the stop button I noticed it works perfectly fine. After 10 seconds of the terminator character not being entered the buffer clears and the loop simply restarts. What I worry about is if there is some other fatal error (such as not being able to connect to the serial device) that the program will keep running. Is this something I even need to worry about?
    Attached is a screenshot of my latest program which works great but like I said I'm just worried about not wiring the status from the error cluster to the stop button since that seems to be what I've always been taught to do. If I wire the byte count to the number of bytes property it will only collect the number of bytes I set, since this will vary based on the command that won't really work in this application.
    Attachments:
    serial_buffer.gif ‏20 KB

  • Permission denied on Serial port open

    Hi all!
    I'm trying to open a serial port in a Linux machine and I get a RuntimeException in the open() method of CommPortIdentifier:
    Error opening "/dev/ttyS0"
    Permission deniedHow can i run the program as root or with root permissions?
    I'm running it from Eclipse.
    Thanks!

    I am trying to set this to the Mac (Admin) owner. The folder that is being shared over the network via samba was created on Mac OS

  • Open serial port each time to communicat​e

    Hello,
    I am upgrading an old serial I/O communications system. With the old system, any communications were begun by re-opening the serial port and getting a new visa resource name. The old visa resource name was never closed, but new names were continually created. In the new communications I only open the port once and use the same visa resource name. The trouble is that the new system is incredibly slow, taking almost 3 seconds to complete a message.  Note: prior to reading, I do query for number of bytes at the port and then read the corresponding amount. The old system is much, much faster. Why?
    Many thanks,
    Steve

    Hello,
    Here is a copy of both communications vis. The old one works much faster, I don't know why.
    Thanks!
    Steve
    Attachments:
    OLDSend&Recieve Data.vi ‏41 KB
    NEWSend&Recieve Data.vi ‏40 KB

  • Serial port dropping bytes

    Hello To All,
    I am having a problem with the following.
    In my VI i have a I opened a serial port (com1) and am using the property node to read the number of bytes present at the port. I feed this value into the read serial port vi and the return count does not match what was present at the port does any one now why? What must I be doing wrong?
    I am using the basic read write example.
    Thanks in advance.
    FD

    Glad you found your error. Today I was doing some more testing/development of my application and noticed something interesting (unexpected):
    I have the termination character enabled and set to \n (LF). I am sending my vi a string of 20 bytes with a \n in the middle.
    I have a Bytes at Port property node wired to the Byte Count (required input) of the VISA Read. That seems to override the termination character. In other words, I receive (the VISA Read read buffer is) the entire 20 byte string (including the \n), while I was expecting to receive only up to (and including) the \n (after which I am doing another VISA Read to get the remaining part of the string).
    It appears that the Byte Count and the Termination Character can conflict. In this case, it appears that the Byte Count takes priority. When the Termination Character comes before the Byte Count, as in my case, it seems to be ignored. Can anyone confirm this?
    If this is true, what happens if there is a slight delay (much less than the timeout) between the \n and the remainder of the string? In other words, my string is continuous at 9600 baud. How long a gap must there be for the VISA read to terminate the read upon seeing the \n and letting the block diagram continue? (Possibly the length of a Break = 250 mS default, or greater than say 2 stop bits time, for example?) I searched the Help and have not found the answer yet.
    Thanks! -Ed
    Message Edited by Edjsch on 06-03-2008 01:44 PM

  • I want to transfer data through the serial port in the same coding that hyperterminal uses. How can i do it?

    The serial port seems to be working, and labview seems to be sending the data, but the problem is in which format does it send the data, because in hyperterminal i just input the string "JDX" and it sends it to my device, with labview it sends something but my device does not recognize it.

    nobuto wrote:
    > I want to transfer data through the serial port in the same coding
    > that hyperterminal uses. How can i do it?
    >
    > The serial port seems to be working, and labview seems to be sending
    > the data, but the problem is in which format does it send the data,
    > because in hyperterminal i just input the string "JDX" and it sends it
    > to my device, with labview it sends something but my device does not
    > recognize it.
    Hyperterminal adds the carriage return/line feed to the string which is
    generated by the return key to send out the current line. LabVIEW simply
    sends out what you tell it, so try to set the string to "Show \ Display"
    format and add a \r or \n or \r\n to the command you want to send out.
    Assumes of course that you set the right baudr
    ate/bits/parity etc in
    LabVIEW with the VISA property node, when opening the serial port.
    Rolf Kalbermatter
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • How to add control buttons using Java thorugh serial port?

    Hi everyone,
    I'm new to this forum.
    I have some questions on Java and serial port.
    I want to write a Java program to control my robot, through serial port. For example, when I click "Forward", the robot will go forward, and so on.
    Now I already have the buttons, so next I would like to ask how to interface the buttons with the serial port.
    I already have all the javax.comm things installed.
    below is the code for my buttons:
    import java.awt.*;
    public class ControlButtons extends java.applet.Applet
         GridLayout myLayout = new GridLayout(3, 3);
         Button button1 = new Button(" ");
         Button buttonForward = new Button("Forward");
         Button button2 = new Button(" ");
         Button buttonLeft = new Button("Left");
         Button buttonStop = new Button("Stop");
         Button buttonRight = new Button("Right");
         Button button3 = new Button(" ");
         Button buttonReverse = new Button("Reverse");
         Button button4 = new Button(" ");
         public void init()
              setLayout(myLayout);
              add(button1);
              button1.setVisible(false);
              add(buttonForward);
              add(button2);
              button2.setVisible(false);
              add(buttonLeft);
              add(buttonStop);
              add(buttonRight);
              add(button3);
              button3.setVisible(false);
              add(buttonReverse);
              add(button4);
              button4.setVisible(false);
    }Now I would like to ask for direction on how to add in the code to make it work with serial port.
    Thanks

    The plan is, I have a robot device connected to the serial port.We don't know anything about that device. We don't know how to control it. We don't know what you have to write to the device to make it do anything. Only you know what.
    For example, when I click "Forward", the robot will go forward, and so on.So what do you have to send to make it do that? and same for the other buttons.
    Next, you need to work out from the javax.comm API how to open the serial port and send data to it. This is a standard exercise in learning a new API. You must be able to do this. Again and again.
    But the program is useless. The button can be clicked, but didn't do anything.Because (a) they have no ActionListeners and (b) there is no code to send anything to the serial port.
    You have to write all that. So you also have to look up ActionListener in the Java API and how to attach it to a button. You can do that. We all do that kind of thing every day.
    So next I would like to ask how to interface the buttons with the serial port.You've been asking nothing else since you started, but you've also only done enough investigation of your own to create the buttons. That's only the start.
    The problem is what method and command should I use to make those buttons actually functioning.See above. You've been told part of it several times. The rest only you can answer, because it's your robot.

  • Serial Port of Microsoft

    Hello,
    I have a program in LabVIEW which read from the serial Port.
    I would like to know the name of the memory where is saved the information from the serial port in the Operating System of Microsoft and where LabVIEW reads the information.
    I would be very glad if somebody could help me in this topic.
    Ramon

    Ramon,
    you are on the wrong track here. This is completely hidden to the end user and/or application programs. This is necessary, because in multitasking OS it would take much too long for application programs to react to direct HW interrupts as they are used in serial communication. Long words meaning is: Let LabVIEW handle all this stuff. Just open the serial port, configure it, send some text to it and/or read strings from it. Close the port when you are done. Its that simple in first hand!
    It might become more complicated when communication protocols and protocol error handling comes into play, but this is beyond you actual Q.
    Hope this helps!
    Greetings from Germany!
    Uwe

  • Error while reading/writing to serial port

    Hello,
    I am trying to read/write to my serial port but
    this message shows every time i launch the
    program. Does anyone know some help ?
    Thanks
    FdB
    Attachments:
    error2.ppt ‏172 KB

    Frederico
    This VI (LV8)
    1. Open the serial port at 2400 baud
    2. Powers down the PT104 and wait 0.5 secs for this to settle
    3. Flushes the serial power buffer to remove any power down acknowledgements in the serial buffer
    4. Powers up the PT104 waits 1 sec for things to settle
    5. Reads any bytes in serial rx buffer.
    6. Power down the PT104
    7. Close the COM Port.
    This is a bit of a guess but this is how I would approach it. Can you try this and let us know how you get on?
    thanks
    David
    Message Edited by David Crawford on 07-20-2006 10:31 AM
    Attachments:
    PT104 - Get Version at Power Up.vi ‏56 KB
    PT104 - Get Version at Power Up.jpg ‏50 KB

  • Serial Port and light LED

    I have build a device for the serialPort(COM2) This device use the pin 2 and 3. Ok. Now, my question is:
    To light this one LED, is it enough to open the serial port?
    Thanks
    T.P.

    This won't work. Pins 2 and 3 are for sending data (2 is transmit, and 3 is receive.) You would be much better off using pins 5 (9-pin connector) or 7 (25-pin connector) for GROUND and then using DTR (pin 4 on 9-pin and pin 20 on 25-pin) as your signal. This will give you a 12V difference between the pins - you'll need a resister in series with the LED as well (from memory, LEDs aren't very happy with 12V over them for long.)
    There may, or may not be enough current to drive the LED as well. And you'll have to get the polarity correct.
    As for the software, if you simple open the port then DTR will raise giving you a signal.

  • Communicating Thru COM /Serial port

    Hi,
    I am developing POS system. The Display pole is connected on com1 and cash drawer on serial port. Can anyone help me how if i have a variable var_amt and want to display it on the pole[com1] what command to use i.e. how to open com / serial port thru forms.
    Thanks in Advance

    We have an old Forms application that needed to dial a modem through the serial port. Here's some code to maybe get you started. I'm going to assume you're on Windows.
    Step 1:
    Attach an OLE object to your canvas, and point that to MSCOMMLib.MSComm.1 (the MS serial port handler).
    Step 2:
    Sample code. This is our DIAL_PHONE proedure that receives a phone number, opens the COM port (in our case COM2), sends the modem dial strings, and waits for a respomse back from the mode. I'm not an expert, we just taught ourselves enough to get this one functionality to work.
    /* Receives phone string, including area code, and dials a modem on COM2. Disconnects 9 seconds
    after dialing (S7=09), assuming the telemarketer will have switched control to their headsets by then
    PROCEDURE dial_phone(phone_number IN OUT VARCHAR2) IS
    CommHandle     ole2.obj_type;     -- to hold the interface pointer
    hold          number;
    modem_init     VARCHAR2(30) := 'ATQ0V1E1S0=0X4S7=5';
    dial_string     VARCHAR2(20);
    com_err          VARCHAR2(100);
    outBuf          NUMBER;
    inchar          varchar2(100) := ' ';
    loop_count     NUMBER(9) := 0;
    dial_msg     varchar2(100);
    time_start binary_integer;
    time_end binary_integer;
    z          NUMBER := 0;
    delay      NUMBER := 100000;
    --Return from check exchange
    phone_to_dial     VARCHAR2(15);
    X VARCHAR2(15);
    BEGIN
    IF     phone_number IS NULL
    THEN     x := win_alert('OK','No phone number to dial.');
         raise form_trigger_failure;
    END IF;
    logit(:global.debug,'======== Begin DIAL_PHONE (' || phone_number || ') ==============');
    -- Check exchange #, If it's in local calling area don't use an area code. Will also
    -- add user's long distance data to the number returned, if necessary,
    phone_to_dial := check_exchange(phone_number);
    CommHandle := forms_ole.get_interface_pointer('b_main_prospect_info.mscomm_ocx');
    --Set up the dial string with the passed phone number
    dial_string := 'ATDT9' || phone_to_dial;
    dial_msg := 'Dialing ' || dial_string || '...';
    message(dial_msg,NO_ACKNOWLEDGE);
    synchronize;
    -- Set the com port to COM2.
    OLE2.SET_PROPERTY(CommHandle, 'CommPort', 2);
    -- try to close COM2, in case it was open for some reason. 0 = FALSE, -1 = TRUE
    begin
    OLE2.SET_PROPERTY(CommHandle, 'PortOpen', 0);
    exception
    when others then null;     -- if already open, ignore error
    end;
    -- Set modem to 1200 baud, no parity, 8 data, and 1 stop bit.
    OLE2.SET_PROPERTY(CommHandle, 'Settings', '1200,N,8,1');
    -- Open the port. 0 = FALSE, -1 = TRUE
    OLE2.SET_PROPERTY(CommHandle, 'PortOpen', -1);
    -- find out if the com port has opened successfully. 0 = FALSE, -1 = TRUE
    hold := OLE2.GET_num_PROPERTY(CommHandle, 'PortOpen');
    IF hold = 0 THEN --the com port could not be opened.
    X := WIN_ALERT('OK', 'Your COM2 port (modem) could not be opened. Contact your supervisor');
    RAISE form_trigger_failure;
    END IF;
    -- Send the attention command to the modem. Default setup string
    OLE2.SET_PROPERTY(CommHandle, 'Output', modem_init || chr(13));
    z := 0;
    loop
    z := z + 1;
    exit when z = delay;
    end loop;
    -- Run program that give windows control to process info. in output buffer to modem
    HOST(:global.gtec_dir || 'DEVENTS.EXE');
    --Send the dial string
    OLE2.SET_PROPERTY(CommHandle, 'Output', dial_string || chr(13));
    z := 0;
    loop
    z := z + 1;
    exit when z = delay;
    end loop;
    -- Run program that give windows control to process info. in output buffer to modem
    HOST(:global.gtec_dir || 'DEVENTS.EXE');
    --Clear the dialing string from the input buffer
    OLE2.SET_PROPERTY(CommHandle, 'InBufferCount', '0');
    * Loop until we get a BUSY or NO CARRIER signal.
    loop_count := 0;
    time_start := dbms_utility.get_time; -- store loop start in 1/100's of seconds
    inchar := ' ';
         LOOP
         -- Run program that give windows control to process info. in output buffer to modem
         HOST(:global.gtec_dir || 'DEVENTS.EXE');          
    outBuf := OLE2.GET_NUM_PROPERTY(CommHandle, 'InBufferCount');
         --Read the response data in the serial port, character by character.  Build INCHAR
    inchar := inchar || OLE2.GET_CHAR_PROPERTY(CommHandle, 'Input');
         --message(inchar);
    OLE2.SET_PROPERTY(CommHandle, 'InBufferCount', 0);
         * Check to see if a BUSY has been returned
    IF INSTR(inchar, 'BUSY') <> 0 THEN
         --Close the port
         OLE2.SET_PROPERTY(CommHandle, 'PortOpen', 0);
         -- Release the MSCOMM handle
    OLE2.release_obj(CommHandle);
         --Set the list to busy
         :b_main_prospect_info.CALL_STATUS_LIST := 'BUSY_NO_ANSWER';
         --Process a call marked as Busy/No Answer
         process_busy_no_answer;
    EXIT;
         END IF;
    IF INSTR(inchar, 'RING') <> 0 THEN
         message(inchar || ' ...', ACKNOWLEDGE);
         inchar := ' ';
         END IF;
         * Check to see if a NO CARRIER has been returned
         IF INSTR(inchar, 'NO CARRIER') <> 0 THEN -- happens when they switch to headset. No message shows.
         --message('NO DIAL TONE' || ' ...', ACKNOWLEDGE);
         inchar := ' ';
         GO_ITEM('CALL_STATUS_LIST');
    EXIT;
         END IF;
         *Check to see if a OK has been returned
         IF INSTR(inchar, 'OK') <> 0 THEN
         message(inchar || ' ...', ACKNOWLEDGE);
         inchar := ' ';
         GO_ITEM('CALL_STATUS_LIST');
    EXIT;
         END IF;
    loop_count := loop_count + 1;
    IF MOD(loop_count,1000) = 0
         THEN dial_msg := dial_msg || '.';
              message(dial_msg,NO_ACKNOWLEDGE);
              synchronize;
         END IF;
    time_end := dbms_utility.get_time;
    -- Compare current time to loop start time in 1/100's of seconds. If more than 10 seconds, end.
    if time_end - time_start > 1500
    THEN message('Problem dialing number. Result response not received from modem.', ACKNOWLEDGE);
    message(' ');
         GO_ITEM('CALL_STATUS_LIST');
    EXIT;
    END IF;
         END LOOP;
    OLE2.SET_PROPERTY(CommHandle, 'Output', 'ATH' || chr(13));
    z := 0;
    loop
    z := z + 1;
    exit when z = delay/10;
    end loop;
    --Close the port
    OLE2.SET_PROPERTY(CommHandle, 'PortOpen', 0);
    OLE2.release_obj(CommHandle);
    --Give list box focus
    update tele.gtec_login_tbl
    set last_dialed = phone_number,
    last_dialed_time = sysdate
    where v_user_id = user;
    forms_ddl('commit');
    if to_number(:global.address_id) > 0
    then GO_ITEM('b_main_prospect_info.call_status_list');
    else GO_ITEM('b_manual_call.v_call_outcome');
    end if;
    EXCEPTION
    when others then
    logit(:global.debug,'Error dialing phone');
    --Give list box focus
    if to_number(:global.address_id) > 0
    then GO_ITEM('b_main_prospect_info.call_status_list');
    else GO_ITEM('b_manual_call.v_call_outcome');
    end if;
    END;

  • How to detect if my external device is connected to the Serial port

    Hi,
    If I remove the cable from the serial port in my pc or either remove the serial cable from my external device, then when I send a request to open the serial port from my program, it basically does nothing, it just sits there.
    I want to be able to show some sort of message or any other way of indicating to the user that they should check the cable.
    below is the bit of code to open and set serial port params:
         public void openPort() {
              // Initialise the drivers
              System.setSecurityManager(null);
              String driverName = "com.sun.comm.Win32Driver";
              try {
                   CommDriver commdriver = (CommDriver) Class.forName(driverName)
                             .newInstance();
                   commdriver.initialize();
              } catch (Exception e2) {
                   e2.printStackTrace();
              // port will be set in Store Operations.
              String wantedPortName = Configuration
                        .getParameter(ConfigSetting.EFT_COM_PORT);
              //System.out.println("wantedPortname : " + wantedPortName);
              Enumeration portIdentifiers = CommPortIdentifier.getPortIdentifiers();
              CommPortIdentifier portId = null; // will be set if port found
              while (portIdentifiers.hasMoreElements()) {
                   System.out.println("counter");
                   CommPortIdentifier pid = (CommPortIdentifier) portIdentifiers
                             .nextElement();
                   System.out.println(pid.getName());
                   if (pid.getPortType() == CommPortIdentifier.PORT_SERIAL
                             && pid.getName().equals(wantedPortName)) {
                        portId = pid;
                        System.out.println("found a macth");
                        break;
              } // end of while
              if (portId == null) {
                   System.err.println("Could not find serial port " + wantedPortName);
                   //System.exit(1);
              try {
                   port = (SerialPort) portId.open("EFTDriver", // Name of the
                                                                               // application
                                                                               // asking for the
                                                                               // port
                             10000 // Wait max. 10 sec. to acquire port
              } catch (PortInUseException e) {
                   e.printStackTrace();
                   System.err.println("Port already in use: " + e);
                   //System.exit(1);
              // Now we are granted exclusive access to the particular serial
              // port. We can configure it and obtain input and output streams.
              try {
                        port.setSerialPortParams(9600, SerialPort.DATABITS_8,
                             SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
              } catch (UnsupportedCommOperationException usc) {
                   System.err.println("Unsupported operation" + usc);
              }Please advise what method can I use for this purpose.
    Thanks
    Abhi

    You mean it hangs in the open() method despite the timeout?

  • Unable to Open Serial Port

    Hi I am trying to write to an ADAM 4571 Ethernet to RS422 converter. Using the software provided by the vendor Ver. 1.49. I can setup the device properly, than configure it as a virtual com port. The problem is LabView sees the port but can not open it. Visa Open Fails every time. There is very little information about this problem.
    Thanks,

    Hey Thanks for replying so fast. I know the error code would be helpful, but I don't have access to the equipment at this time. Let me tell you a little more history; Two different computers one is a laptop, has the runtime LabView 11 SP1, NIDAQ951f1_downloader and niser370 installed.  This machine the software works as it should running an executable. The second computer has LabView 11 SP1 Developer installed. This is the development station, this machine is the one that I can not open the Virtual com port. Vender software is installed on both machines and configured the same. The executable source code will not run on the development computer. It fails when it tries to talk to the serial port. To trouble shoot this problem I opened a blank VI dropped Visa Open and Visa Close in it wired a control to Comport selection and indicator to error out, connected error terminals and com out to com in. The error said that it could see the com port but could not talk to it. This error was generated by the open routine.

  • I can't run visa interactive control window. ERROR MESSAGE: "Unable to open session "ASrl::INSTR" Status name VI_ERROR-RSRC BUSY Visa cannot curently access this resource.

    I cant run tds220 (driver for oscilloscope).
    Error message:
    VISA: (Hex 0xBFFF000E) The given session or object reference is invalid.
    Furthermore
    I cant run Visa INteractive control.
    Error message:
    "Unable to open session to "ASRL1::INSTR" Return value 0xBFFF0072 Status name VI-ERROE-RSRC-BUSY . VISA csnnot currently access this resource."
    Then change ports, this message appears for another port.
    Thanks for answer.
    Gita

    The port is open by another resource. You note that you should also get an error if you try to access the port in hyperterminal. Try rebooting your computer and the first thing you try is opening a VISA session with Visa Interactive control(VISAIC).
    If that fails, then you have a driver accessing your ports.
    If it works then it was just two applications that were trying to access your port (LabVIEW and VISAIC are seperate apps even thought they both may be using VISA.)
    Closing VISA sessions:
    LabVIEW will only *automatically* close VISA sessions if you have this option set: Tools>>options>>Automatically close VISA sessions.
    Otherwise you need to explicitly call a Visa close on the resource.

Maybe you are looking for

  • ADF scanning with HP Office jet pro 8600

    Have a new machine. I can scan documents individually on the scanner glass no problem, and when I feed documents through the ADF it all feeds through ok and says "scan successful" however what I have scanned through the ADF always shows as a blank do

  • Master-Detail Form in Form6i Developer

    First of All Hi to all Respected Gurus. I am stuck in a very basic element and that is Primary-Key/Foreign-Key relation. I am trying to create a Master-Detail Form based on following structure. Records in Master Table and Child Table are saving (inse

  • Not able to access local path for script file

    Hi All, I am integration my application (built in Asp.Net/Vb.Net) with InDesign Server CS4. InDesignServer is installed on separte machine other than the machine on which application is running. All of the scripts and indd files are placed on the mac

  • Validation Rule for the coding mask and project profile

    Hi, I have two project profile and two coding masks. I want one project profile to be only used by defined coding mask for that profile. So i have maintained a validation rule as follow - Prerequisite - Project Def. :1-3: = 'A5M' Check - Project Prof

  • All devices keep getting disconnect​ed from router

    Several times a day all of the networked devices in my home get disconnected from my router. They reconnect automatically after about a minute. I've already ruled out issues with the computers/devices themselves as well as the network cables. Doesn't