Masm32 SDK description, downloads and other helpful links
Message to All Guests
NB: Posting URL's See here: Posted URL Change

Main Menu

Real-world IOCP application

Started by Biterider, January 27, 2024, 06:04:57 PM

Previous topic - Next topic


I had a wonderful experience this week.

First a little context. The company I work for is regularly audited for ISO 9001.xx and the inspectors are always keen to see calibration certificates of all kinds.

There are more than 10 test chambers in the laboratory, connected to a range of test equipment via a dedicated network, the Labnet.

To fulfil the testing requirements, we decided to purchase a YOKOGAWA LS3300 as a calibration instrument for 15 N4L PPA500 devices. The communication between these devices was to take place via the Labnet. As you can imagine, the total amount of work involved in calibrating all the power analysers is enormous and error-prone, so I decided to automate as much as possible.

Yokogawa provided a demo unit and a nice DLL for interfacing with the LS3300, but N4L did not even provide documentation on how to properly interface with their devices. After contacting the technical department by email, they sent me a demo program in C++ and the corresponding sources for the single connection mode. This was my starting point. When I read the sources, I saw that they were using raw TCP/IP, and I discovered the port they were using.

Some time ago, with the help of some people on this forum, I wrote a complete IOCP implementation, and now it has fully paid off. All I had to do was add a few lines of code to the connection protocol, basically that character 10 is a message terminator, but that was it. The rest of the implementation, which is quite complex, worked right out of the box. I was really surprised and very pleased. Further testing showed that I could go up to the bandwidth of the Labnet switch in terms of performance, which showed me the true strength of IOCP.

It was one of those moments in your life when you can say that all the effort you put in was worth it.  :thumbsup:

Regards, Biterider


 :thumbsup:  :cool:
Now That, is a great example of when a " :thup: " Like function IS valid  :wink2:  :smiley:
Great Stuff !!