hexagon logo

Inconsistent behavior between CMMs when handling events from PCDMIS.

We use C# to create the GUI front ends to PCDMIS for a number of reasons, mainly to hide the PCDMIS GUI from the operators and to more easly implement parametric measurement applications. We regularly use event handling between our C# application and the PCDLRN runtime to enable us to implement a variety of features in the C# application such as disabling parts of the C# GUI while PCDMIS is actively performing measurements and re-enabling those parts when the PCDMIS program has terminated. We also use event handling to capture in real-time the measurement results from PCDMIS and pass those results to an Excel document. The only thing the operator can see on the monitor is the Excel Quality document being populated with the measurement results as the CMM performs each measurement.

I was asked to create a new application on two CMMs both of which have the same make of PC, same version of PCDMIS and Windows XP operating system. I wrote the program and successfully tested it on one of the two CMMs. I copied the same code directly from one CMM to the other and found that event processing was not working on the second CMM. I loaded Visual Express IDE on both machines, ran the debugger and found that one CMM was capturing the events but the other CMM was not. Event processing seems to work on all of our CMMs except one. I am able to communicate with the PCDLRN to create, modify and execute PCDMIS programs from the C# application so I know I have an active connection to the PCDLRN.

Any ideas?
Parents
  • Make sure the *events.ocx is registered on the PC that doesn't capture the events?


    I went to the machine with the problem and tried to register the ocx files, got a return message saying it couldn't be registered. I checked the registries on both this machine and one that does work and did not find any of the ocx files listed in either registry.

    Another thing I tried was to open Visual Express, delete the reference to the PCDLRN (including the interop file normally copied into the bin/release directory of the project) and then add the reference back and rebuild the application - that didn't fix the problem.

    Thanks for the suggestion though, it gave me something to look for.
Reply
  • Make sure the *events.ocx is registered on the PC that doesn't capture the events?


    I went to the machine with the problem and tried to register the ocx files, got a return message saying it couldn't be registered. I checked the registries on both this machine and one that does work and did not find any of the ocx files listed in either registry.

    Another thing I tried was to open Visual Express, delete the reference to the PCDLRN (including the interop file normally copied into the bin/release directory of the project) and then add the reference back and rebuild the application - that didn't fix the problem.

    Thanks for the suggestion though, it gave me something to look for.
Children
No Data