Thursday, January 12, 2012 - We have provided the technique and software for computer interfacing of the Binder GmbH BD / ED / FD (R3-Controller) Series Incubators. The technique discusses a custom USB interface cable along with software written in National Instruments LabView.
Binder is the leading, and perhaps only, manufacturer that provide incubators with excellent thermal specifications, quality construction, and remote computer interfacing and control. This expands the functionality from a standard incubator for chicken eggs and microbiological use to a highly functional stable isothermal environmental system, useful for chemical and physical experiments without the mess of baths.
I purchased the Binder BD53 incubator for my experiments for the Peptide Dynamics Project. I specially purchased the BD53 because it specifies a 0.1°C temperature stability and accuracy along with a broad temperature range of 5°C above ambient to 100°C. The computer interface and control was necessary to incrementally set the temperature of the sample environment while measuring the dielectric responses of the respective peptides or proteins under study.
The Binder BD, ED, and FD series incubators run by the onboard R3 processor with a standard RS422 serial interface. When I purchased the BD53, I also purchased the National Instruments (NI) USB-485 cable to interface the computer via its USB (Universal Serial Bus) directly to the RS422 port of the incubator. The NI USB-485 will equally communicate with both a RS422 and a RS485 serial-based device because both standards have the same pin-outs and basic communication protocols. In fact, the RS422/485 serial interfaces have balanced or differential data receive (RXD+ and RXD-) and transmit (TXD+ and TXD-) lines, meaning a two wire +/- differential signal, whereas the older RS232 serial standard was unbalanced or single ended with only a single data receieve and transmit line for each. This upgrade to the RS422/485 standards greatly increases the lengths of the cables and thus reduces signal noise and error in especially noisy environments as compared to the RS232.
So when I received the BD53, I power it up, played with control panel a bit, connected the NI USB-485 cable, installed the Binder APT-COM version 3 software, and low and behold, there was no communication with the incubator. I tried it on multiple computers and various standard RS422 cabling systems and still no communication. I contacted Binder-US for technical support, only to find that proper communication will only occur with Binder's "special" converter box. I kind of raised hell with Binder-US and they were gracious enough to send me their RS422-to-RS232 converter box. Once it was all connected, communications with their APT-COM software and the incubator worked perfectly.
I took issue to this proprietary converter box. Binder does provide the box for both a USB-to-RS422 and a RS232-to-RS422 converter, but at a price of over $500 U.S.D. I find this an exorbitant cost for such a simple little box and a couple of cables. Comaparitively speaking, it should not cost more than $150. The other reason I took issue to this proprietary converter is that all of Binder's brochures, manuals, sales personnel, and website state that the incubator communicates through standard RS422 protocols. It does not as I will explain below. I consider this a misrepresentation of their product.
When I inspected the DB25 male connector of the Binder converter, I noticed only four pins were present, pins 2 through 5. These led down to the other end of the cable which was a DB9 female connector in which pin 1 was TXD-, pin 2 RXD-, pin 6 TXD+, and ping 7 RXD+, in which these pin definitions were luckily designated on the converter box. This DB9 female connector plugs directly into their proprietary converter box, which is actually made by a company called W&T in Germany. It is this DB9 connector that shows that the incubator on its own does not follow IEEE RS422 pin out standards. Referencing a white paper produced by National Instruments, Serial Communications Overview, the pin out for a DB9 connector should be pin 9 TXD-, pin 5 RXD-, pin 8 TXD+, and pin 4 RXD+. There are other pin definitions in the RS422 specification, such as differential RTS (ready to send) and differential CTS (clear to send), but apparently, the minimum required pins are differential RXD (receive data) and differential TXD (transmit data). It is also apparent that the Binder BDxx series incubator does not follow the standard RS422 pin out, since pins 2 through 5 were only wired on the DB25 incubator side of the incubator. This is proven by the same National Instruments white paper because the four-wire specification for a DB25 connector should have been pin 22 TXD-, pin 7 RXD-, pin 5 TXD+, and pin 20 RXD+.
So I jury rigged my own cable by sacrificing two standard serial cables with a DB25 male and a DB9 female with a complete set of wired pins. I cut them in half and figured out the pin outs for each connector. I then wired pin 4 of the DB25 to pin 9 of the DB9 (TXD-), pin 5 of the DB25 to pin 5 of the DB9 (RXD-), pin 2 of the DB25 to pin 8 of the DB9 (TXD+), and finally pin 3 of the DB25 to pin 4 of the DB9 (RXD+). I then plugged this custom cable into a National Instruments USB-485 cable and ran the Binder APT-COM software with the NI driver setting up COM3 as the address of the USB-485 interface. It worked great and my custom cable is proven effective.
Binder provides its APT-COM software to set, get, and record the temperatures of its incubators. I believe you can also setup alarms and monitor other variables of the unit if it has that capability, such as humidity and carbon dioxide. The version of APT-COM released at the time of writing this blog was version 3 and it is a pretty feature rich and complete software system. If you want to control and monitor the temperatures of your unit, then APT-COM is a good software package.
I needed the capability to control and monitor the unit from within National Instruments LabView so that I can integrate the necessary isothermal conditions of my samples into the ammagamation of sub-test-and-measurement-devices for my experiments. I practically begged Binder-US for the LabView drivers for the BD53 and they would not consider it or release them. I even offered to develope the drivers for them if they would release the communication protocols to me. Again, nothing but no. I considered it a risk to purchase the incubator under these conditions, but there really was no other incubator that had similar computer interfacing.
Upon first running the APT-COM software, I realized that it is written and compiled under LabView. I was and still am confused why Binder is so resistant to releasing the LabView drivers. Nonetheless, it made my job somewhat easier to reverse engineer the communication protocols. LabView is released with a utility program called NI I/O Trace, formerly NI Spy. NI Trace is designed to spy on all VISA based communications to or from any device. An alternative to NI Trace is Portmon, a utility program that monitors all serial communications at a particular serial port. So with APT-COM written in LabView and using the VISA standard, my job became easier with collecting data on the software/device communications. After about four days, I grabbed enough data to begin to see patterns in the command structure and temperature data collected. All of the communication is binary based and it was like my extremely old days of assembler programming. I had a lot of trouble decoding the true temperature of the unit with the data coming across the interface. But, luckily, I found one line in Binder's very obscure Interface Technical Specification. The line was "Set point 20.32 is IEEE format is 41 A2 8F 5C". At last, Binder is following a standard, and that standard is the IEEE 754 binary format for single-precision floating point/decimal-based numbers. The vast majority of programming languages comply with this standard for fractional numbers.
Once I confirmed this with a simple LabView program against the temperature data I had gathered the previous days, I knew I was on the right track. Basically, a binary packet is written containing the unit ID, register address for the unit, a binary based command with the respected request of the unit, the single-precision 4 byte temperature set or get in the IEEE 754 format, and finally terminating with a 2 byte checksum CRC16 based on modbus for serial communications. All of this is embedded in the LabView drivers that I have written and provided for free to anyone needing them. Simply become a registered user of this website and you can download the Binder R3-controller-based BD / ED / FD series incubators LabView drivers. The download page is located at: Software Downloads.