zeropulse 0 Newbie Poster

Hi guys, am currently stuck while trying to connect an Omron V720 series RFID equipment to read and write tags. I've have it in source code on VB6 but i want to create it in Java. I am using RXTX to connect to the RFID equipment and send the codes, however, i failed to do it. Does anyone have any experience or idea on this topic?

I have manage to connect to the RFID equipment through com port but when i send the messages, the error light blinks and some jumbled up reply came back.

The read code is 00RDSAAA0001
The write code is 00WTSAAA0001

Thanks in advance guys!

try {
            char charTwo = 2;
            char charThree = 3;
            char charQ = 12;
            String unicode = "00RDSAAA0001" + charThree;
            byte[] bytes = unicode.getBytes("US-ASCII");
            String line1 = charTwo + "00ST" + charThree + bytes;
            String line2 = charTwo + "00RDSAAA0001" + charThree + bytes;
            String line3 = charTwo + "00WTSAAA0001" + "HelloWorld" + charThree + bytes;
            

            portList = CommPortIdentifier.getPortIdentifiers();
            while (portList.hasMoreElements()) {
                portId = (CommPortIdentifier) portList.nextElement();
                if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) {
                    System.out.println("RFID Testing........");
                    if (portId.getName().equals("COM1")) {
                        System.out.println("RFID Testing....Port Found");
                        try {
                            serialPort = (SerialPort) portId.open("SimpleWriteApp", 2000);
                            RFIDTest wr = new RFIDTest(serialPort);
                        } catch (PortInUseException e) {
                            System.out.println("Port In Use " + e);
                        }
                        try {
                            outputStream = serialPort.getOutputStream();
                        } catch (IOException e) {
                            System.out.println("Error writing to output stream " + e);
                        }
                        try {
                            serialPort.setSerialPortParams(38400, SerialPort.DATABITS_7, SerialPort.STOPBITS_2, SerialPort.PARITY_EVEN);
                        } catch (UnsupportedCommOperationException e) {
                        }
                        try {
                            outputStream.write(line1.getBytes());
                            outputStream.write(line2.getBytes());
                            outputStream.write(line2.getBytes());

                        } catch (IOException e) {
                            System.out.println("Error writing message " + e);
                }
            }
        } catch (UnsupportedEncodingException ex) {
            Logger.getLogger(RFIDTest.class.getName()).log(Level.SEVERE, null, ex);
        }

Code in VB

Private Sub Form_Load()
    CommCtrl.Settings = Brate & "," & Ptype & "," & DataBit & "," & StopBit
    CommCtrl.CommPort = PortNum
    
    CommCtrl.PortOpen = True
    SendData ("00ST")
    RecvData
    ClerData

End Sub
Private Sub Form_Load()
    CommCtrl.Settings = Brate & "," & Ptype & "," & DataBit & "," & StopBit
    CommCtrl.CommPort = PortNum
    
    CommCtrl.PortOpen = True
    SendData ("00ST")
    RecvData
    ClerData

End Sub
Private Sub Form_Unload(Cancel As Integer)
    SendData ("00ST")
    RecvData
    CommCtrl.PortOpen = False

End Sub
Public Function BCC(command) As String
    Dim LRC As Integer
    Dim i As Integer
    
    If (LenB(command) > 0) Then
        For i = 1 To LenB(StrConv(command, vbFromUnicode))
            LRC = LRC Xor AscB(MidB(StrConv(command, vbFromUnicode), i, 1))
        Next i
    End If
    BCC = Chr(LRC)
    
End Function
Public Function SendData(sData As String)
    CommCtrl.Output = Chr(2) & sData & Chr(3) & BCC(sData & Chr(3))
    
End Function
Public Function RecvData() As String
    Dim lcnt As Integer
    Dim indat As String
    Dim sts As Byte
    
    RecvData = ""
    lcnt = 0
    sts = 0
    Wait (25)
    Do
        Dim Dummy As Integer
        Dummy = DoEvents()
        If CommCtrl.InBufferCount <> 0 Then
            lcnt = 0
            indat = CommCtrl.Input
            Select Case sts
            Case 0
                If indat = Chr(2) Then
                    RecvData = ""       'ŽóMƒoƒbƒtƒ@‰Šú‰»
                    sts = 1
                End If
            Case 1
                If indat = Chr(3) Then
                    sts = 2
                Else
                    RecvData = RecvData + indat
                End If
            Case Else
                sts = 0
                If BCC(RecvData & Chr(3)) = indat Then
                    Exit Do
                End If
            End Select
        Else
            
            lcnt = lcnt + 1
            If lcnt > 200 Then      '200‰ñƒ‹[ƒv‚µ‚½‚çI—¹
                RecvData = "--"
                Exit Do
                'End Function
            End If
        End If
    Loop
    
End Function