Reading Data from Mindray BC-2800

  • (2 Pages)
  • +
  • 1
  • 2

19 Replies - 21187 Views - Last Post: 22 May 2019 - 07:08 AM Rate Topic: -----

#1 Ahmedn1   User is offline

  • D.I.C Addict
  • member icon

Reputation: 24
  • View blog
  • Posts: 564
  • Joined: 04-August 09

Reading Data from Mindray BC-2800

Posted 28 December 2010 - 02:50 PM

I need to create an application that handles the data received from a blood analyzer "Mindray BC-2800"

I searched the web on how to receive the data to the app but I found nothing

any ideas?
Is This A Good Question/Topic? 0
  • +

Replies To: Reading Data from Mindray BC-2800

#2 Curtis Rutland   User is offline

  • (╯□)╯︵ (~ .o.)~
  • member icon


Reputation: 5106
  • View blog
  • Posts: 9,283
  • Joined: 08-June 10

Re: Reading Data from Mindray BC-2800

Posted 28 December 2010 - 02:58 PM

Contact the manufacturer, or keep searching. That's about it. The odds that you're going to find some random person that's used that specific piece of hardware on this or any other forum is mathematically insignificant.

What kind of output does it have? Serial, USB, what? Just try stuff.
Was This Post Helpful? 3
  • +
  • -

#3 tlhIn`toq   User is offline

  • Xamarin Cert. Dev.
  • member icon

Reputation: 6535
  • View blog
  • Posts: 14,450
  • Joined: 02-June 10

Re: Reading Data from Mindray BC-2800

Posted 28 December 2010 - 03:01 PM

Many USB devices report as virtual serial COM devices. Does this one? If so just treat it as serial. Same happens with Bluetooth devices showing as COM ports.


Serial port communication
Was This Post Helpful? 0
  • +
  • -

#4 Ionut   User is offline

  • D.I.C Lover
  • member icon

Reputation: 386
  • View blog
  • Posts: 1,057
  • Joined: 17-July 10

Re: Reading Data from Mindray BC-2800

Posted 28 December 2010 - 03:42 PM

As far as I know, these devices(medical analyzers) uses only Serial port communication and/or TCP/IP. You won't find any usefull information by googling because this kind of information is private. Ask the manufacturer for a manual named "host communication protocol" or ask the person(company) that gave you this task to provide you the protocol specification(there you will find every piece of information you want).

Ionut

This post has been edited by Ionut: 28 December 2010 - 03:46 PM

Was This Post Helpful? 1
  • +
  • -

#5 tlhIn`toq   User is offline

  • Xamarin Cert. Dev.
  • member icon

Reputation: 6535
  • View blog
  • Posts: 14,450
  • Joined: 02-June 10

Re: Reading Data from Mindray BC-2800

Posted 28 December 2010 - 05:31 PM

Serial protocols can be simple or complex. It depends on the maker. Ideally they will give you some documentation or an SDK for their device.

If you can't get that then you may have to reverse engineer their communication. Sometimes this can be simple. Sometimes it is rather difficult, depending on how complex their protocol is.

If they supplied a program with the device you can monitor the serial port with any of a number of serial port monitoring tools.

Boot the device.
Issue it a request with the manufacturer's utility.
Monitor the response with a known value.
Issue the same request with the manufacture's utility.
Monitor the response with a different but known value.

Keep sending commands and receiving known responses until you see a pattern develop. Eventually you should start seeing the communication pattern.

For example, when you send a boot command and get a response you might see this.
>> AA EF
<< AA 00 OO
This could be AA means boot, EF is their custom formula CRC.
The response of AA 01 00 could be echoing the command AA with 00 packets to follow, and 00 error code

Then send another command like What is your current value?
>> E0 BC
<< EO 01 54 00
Might be outgoing command E0 with CRC BC
Might be response echo E0 command, 01 packet, 54 is the value packet, error code 00


All of these examples are made up and not meant to be the actual protocol for that device. But they are very similar to protocols I've had to reverse engineer for other devices.
Was This Post Helpful? 3
  • +
  • -

#6 Ionut   User is offline

  • D.I.C Lover
  • member icon

Reputation: 386
  • View blog
  • Posts: 1,057
  • Joined: 17-July 10

Re: Reading Data from Mindray BC-2800

Posted 28 December 2010 - 11:34 PM

tlhIn'toq's idea seems like a challenge, but you have to be aware of the type of communication. Analyzers can communicate with a host computer unidirectional and/or bidirectional. In unidirectional mode, you might be lucky to get an analyzer that sends all you need in one message and that's it. Others will wait for response as in bidirectional mode . In bidirectional mode, analyzer will wait a response from host computer. The communication pattern(usually) is like:
>> send an enquiry to host to see if it is online, available etc and waits for response. response is necessary because the message couldn't have reached destination with the intended structure or invalid CRC or other situations. if a response is not given, it raises a timeout.

<<host computer sends a response
>>send first message and wait for response.
<<host computer sends a response
...
>>end communication message.

Depending on the protocol the response message can vary. Many of them uses ACK/NAK(#6/#21 - see ASCII table), others uses <STX><ACK><ETX> or <STX><ACK><EOT> etc. It's hard to know the producers way of thinking.
To get the response message, see what is the enquiry message(usually ENQ = #5) and issue the same message to analyzer and see what is its response.

Hint: Go to analyzer's settings and you will find a "Host communication" or "LIS" section. Maybe their will see the name of the protocol that analyzer uses. If ASTM(no matter what version number), the response message is ACK/NAK.

Good luck,
Ionut

This post has been edited by Ionut: 28 December 2010 - 11:39 PM

Was This Post Helpful? 0
  • +
  • -

#7 Guest_ricku_ro*


Reputation:

Re: Reading Data from Mindray BC-2800

Posted 11 January 2011 - 01:04 AM

View PostAhmedn1, on 28 December 2010 - 01:50 PM, said:

I need to create an application that handles the data received from a blood analyzer "Mindray BC-2800"

I searched the web on how to receive the data to the app but I found nothing

any ideas?


I have done this for a Mindray bc 3000 plus. The analyzer sent to host some ASCII string this structure>
If handshake is enabled [ENQ]
If handshake is disabled [STX]
Body of the text start
Text Identifier “A”
Version ##
ID length ###
The number of parameters ###
Number of the parameters
having format descriptions
##
ID ##########
Sample Mode #
Month ##
Day ##
Year ####
Hour ##
Minutes ##
Seconds ##
WBC[109/L] ###.#
Lymph#[109/L] ###.#
Mid#[109/L] ###.#
Gran#[109/L] ###.#
Lymph%[%] ##.#
Mid%[%] ##.#
Gran%[%] ##.#
RBC[1012/L] ##.#
HGB[g/L] ###
MCHC[g/L] ####
MCV[fL] ###.#
MCH [pg] ###.#
RDW-CV[%] ##.#
HCT[%] ##.#
PLT[109/L] ####
MPV[fL] ##.#
PDW ##.#
PCT[%] .###
Appendices
D-6
RDW-SD[fL] ###.#
Reserved ############
Rm #
R1 #
R2 #
R3 #
R4 #
Pm #
Ps #
Pl #
L1 Region ###
L2 Region ###
L3 Region ###
L4 Region ###
L5 Region ###
L6 Region ###
L7 Region ###
L8 Region ###
Reserved ################
WBC Histo (256 channels) ###
RBC Histo (256 channels) ###
PLT Histo (256 channels) ###
Body of the text end
If handshake is enabled [EOT]
If handshake is disabled [EOF]

for detail use my email removed
are you from Romania?

This post has been edited by insertAlias: 11 January 2011 - 05:54 PM
Reason for edit:: no email addresses on the forum, please.

Was This Post Helpful? 2

#8 Ahmedn1   User is offline

  • D.I.C Addict
  • member icon

Reputation: 24
  • View blog
  • Posts: 564
  • Joined: 04-August 09

Re: Reading Data from Mindray BC-2800

Posted 11 January 2011 - 05:36 PM

I listened to the data coming from the device using OnDataRecieved event
and I got these data

Spoiler


using ComPort.ReadExisting() method

so how can I decode this to the original data

This post has been edited by insertAlias: 11 January 2011 - 07:50 PM

Was This Post Helpful? 0
  • +
  • -

#9 tlhIn`toq   User is offline

  • Xamarin Cert. Dev.
  • member icon

Reputation: 6535
  • View blog
  • Posts: 14,450
  • Joined: 02-June 10

Re: Reading Data from Mindray BC-2800

Posted 11 January 2011 - 07:20 PM

View PostAhmedn1, on 11 January 2011 - 04:36 PM, said:

I listened to the data coming from the device using OnDataRecieved event
and I got these data
Spoiler


using ComPort.ReadExisting() method

so how can I decode this to the original data


I'm amazed on so many levels.
Most of all that someone actually had all the communication for a similar device.
Secondly that even after being given a breakdown of the communication the OP still can't translate this.

Let's see... First three lines of your serial port capture
A000001
25001112
01120050

first few parameters that someone gave you from a similar model
Text Identifier A
Version ##
ID length ###
The number of parameters ###
Number of the parameters having format descriptions ##
ID ##########
Sample Mode #

Do you see it lining up?
Text Identifier 'A' for the start of packet. You have that.
Next two digits are the version number
Next 3 digits are the ID length
Next 3 digits are the number of parameters
Next 2 digits are the number of parmeter having format descriptions
Next 10 digits are the id number
Next 1 digit is the sample mode
... etc.

Break down all the values you got according to the list that ricku_ro was VERY VERY VERY kind enough to just hand you so you didn't have to reverse engineer the entire protocol.

Then send the man a gift card or a hooker or something for saving you 100 hours or more of work.
Was This Post Helpful? 2
  • +
  • -

#10 arissuryadi   User is offline

  • New D.I.C Head

Reputation: 1
  • View blog
  • Posts: 5
  • Joined: 04-October 11

Re: Reading Data from Mindray BC-2800

Posted 04 October 2011 - 08:14 AM

View Postricku_ro, on 11 January 2011 - 01:04 AM, said:

Spoiler


Is there anyone solved this issue?
i facing the same problem

the mindray bc-2600 wont transmit the data, and always timeout
i don't know how to send the handshake

i need your help, thanks
ps : we lost the cable, so we use the regular cable, but still rs232 female to male and convert to female
Was This Post Helpful? 0
  • +
  • -

#11 eclipsed4utoo   User is offline

  • Not Your Ordinary Programmer
  • member icon

Reputation: 1536
  • View blog
  • Posts: 5,972
  • Joined: 21-March 08

Re: Reading Data from Mindray BC-2800

Posted 04 October 2011 - 12:31 PM

View Postarissuryadi, on 04 October 2011 - 11:14 AM, said:

i need your help, thanks
ps : we lost the cable, so we use the regular cable, but still rs232 female to male and convert to female


Go buy another cable. I have first hand knowledge that using a male-to-female serial converter can cause problems. Get the correct cable so you don't have to use a converter.
Was This Post Helpful? 0
  • +
  • -

#12 Ionut   User is offline

  • D.I.C Lover
  • member icon

Reputation: 386
  • View blog
  • Posts: 1,057
  • Joined: 17-July 10

Re: Reading Data from Mindray BC-2800

Posted 04 October 2011 - 12:56 PM

This kind of things have some steps for debugging:
1. Check if the Hyperterminal receives any data. If so, your application doesn't use the serial port correctly. Otherwise, you have problems with the cable.
1.1 Cable is correct, hyperterminal receives data:
Check if all parameters are the same on both devices: baud rate, parity, stop bit, data, flow control. (try not using any flow control - none instead of hardware or Xon/Xoff.
1.2 Make sure your application doesn't monitor CTS(clear to send) and DSR(Data Set Ready ). If this happens, you should apply the following cable configuration.
Pin 1 - null
Pin 2 - 3 (Rx on Host - Tx On Analyzer)
Pin 3 - 2 (Rx on Analyzer - Tx on Host)
bridge between 4-6 and 7-8 (both on host and analyzer,
Pin 5 - 5 (ground)
Pin 9 null
1.3 Hyperterminal doesn't receive data : Cable is not correct or the serial port cannot be used from hardware or software reasons.
2. Maybe is something wrong configured on the analyzer. Check the device. Many of them(especially if they don't have a pc attached) have a specific serial port for host communication(it is labeled "HOST").
3. About your application: does it use serial port component from .NET or it is built in C++/Delphi and uses BuildCommDCB function for initialization?
If you have the "Host computer communication protocol" document provided by the vendor, it is possible to find cable information there or communication parameters there.

If you have Windows 7, download hyperterminal from the internet.

I haven't had the chance to play with this analyzer yet, so give us usefull information: environment details, application architecure, screen shot etc.
Was This Post Helpful? 1
  • +
  • -

#13 arissuryadi   User is offline

  • New D.I.C Head

Reputation: 1
  • View blog
  • Posts: 5
  • Joined: 04-October 11

Re: Reading Data from Mindray BC-2800

Posted 04 October 2011 - 10:06 PM

View PostIonut, on 04 October 2011 - 12:56 PM, said:

This kind of things have some steps for debugging:
1. Check if the Hyperterminal receives any data. If so, your application doesn't use the serial port correctly. Otherwise, you have problems with the cable.
1.1 Cable is correct, hyperterminal receives data:
Check if all parameters are the same on both devices: baud rate, parity, stop bit, data, flow control. (try not using any flow control - none instead of hardware or Xon/Xoff.
1.2 Make sure your application doesn't monitor CTS(clear to send) and DSR(Data Set Ready ). If this happens, you should apply the following cable configuration.
Pin 1 - null
Pin 2 - 3 (Rx on Host - Tx On Analyzer)
Pin 3 - 2 (Rx on Analyzer - Tx on Host)
bridge between 4-6 and 7-8 (both on host and analyzer,
Pin 5 - 5 (ground)
Pin 9 null
1.3 Hyperterminal doesn't receive data : Cable is not correct or the serial port cannot be used from hardware or software reasons.
2. Maybe is something wrong configured on the analyzer. Check the device. Many of them(especially if they don't have a pc attached) have a specific serial port for host communication(it is labeled "HOST").
3. About your application: does it use serial port component from .NET or it is built in C++/Delphi and uses BuildCommDCB function for initialization?
If you have the "Host computer communication protocol" document provided by the vendor, it is possible to find cable information there or communication parameters there.

If you have Windows 7, download hyperterminal from the internet.

I haven't had the chance to play with this analyzer yet, so give us usefull information: environment details, application architecure, screen shot etc.


i've tried hyperterminal but there's no progress on it
i think the cable isn't proper, because the converter.

i want to try make it myself with db9 connector and use the hyperterminal again
i hope the issues only the cable

if you want to read the further information you can download the manual http://www.frankshos...tion_manual.pdf

thanks for reply :)
Was This Post Helpful? 0
  • +
  • -

#14 arissuryadi   User is offline

  • New D.I.C Head

Reputation: 1
  • View blog
  • Posts: 5
  • Joined: 04-October 11

Re: Reading Data from Mindray BC-2800

Posted 10 October 2011 - 09:07 PM

Dear All i just want to report about my progress.
thanks all of you, our attempt to connecting Mindray BC-2600 is succed

we received help from technical support by sending to us the configuration setting.
here the link www.bineris.com/bc2600_comm.doc

this is the screenshot for mrcomm, the bridge between the mindray bc2600 and the program
Posted Image

This is the screenshot about the hematology DMS
Posted Image

and now, time to make the single connector like MRComm, so our new app can get data from Mindray bc2600
Was This Post Helpful? 1
  • +
  • -

#15 jfo   User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 1
  • Joined: 04-January 12

Re: Reading Data from Mindray BC-2800

Posted 04 January 2012 - 12:19 AM

View Postarissuryadi, on 10 October 2011 - 09:07 PM, said:

and now, time to make the single connector like MRComm, so our new app can get data from Mindray bc2600


Hi arissuryadi!

Did you have succeed communicating with MRComm?
Could you share with us more details in how did you get the data from MRComm to your app?

Thank you!
Was This Post Helpful? 0
  • +
  • -

  • (2 Pages)
  • +
  • 1
  • 2