Search code examples
okuma

Creating Application for Older Machines on Windows XP


I know I need to use .NET 4.0 for older OSP200 controls running Windows XP Embedded SP3 but I'm looking for help about the latest version of API on the machine, it is showing 1.22.0 in the Scout.log report but the front panel of Scout says the Thinc API is "Unknown", is 1.22.0 too new?

**************************************************
[INSTALLED_PROGRAMS]
THINC-API=1.22.0
D300win Ver 3.1.4.20=3.1.4.20
OSP-PLC Loader Ver 3.1.4.0=3.1.0.0
Vektek AWP version 1.2XP=1.2XP
WebFldrs XP=9.50.7523
Okuma THINC Startup Service=4.6.0
**************************************************

Our application started out with the latest API/SDK and we backed it down to .NET Framework 4 for Win XP target. What version level of Okuma.API and Okuma.Scout should we be using to be compatible with .NET 4 and our version of API? Currently I have 1.18.0 of Okuma.API and 4.12.0 of Okuma.Scout.

We are getting an Okuma DLL not found error in our programs Log File.

**************************************************
2020-07-15 01:57:12.6920 [FATAL]: Error Initalizing Cmachine and CVariables: Could not load file or assembly 'Okuma.Interop.MCMDAPI, Version=1.0.3.0, Culture=neutral, PublicKeyToken=4e002078be5840a0' or one of its dependencies. The system cannot find the file specified.
**************************************************

Solution

  • I think I see what has happened here.
    I suspect that when you downgraded your app's THINC API version, you didn't remove all of the old API references. Okuma.Interop.MCMDAPI is not a part of 1.18. Try removing that reference.

    Also, I know SCOUT is over-due for an update. It is in the pipeline.
    You should always use the latest library version available for development. I think the latest version of THINC API that SCOUT knows about is 1.22 which means the SCOUT app should be able to correctly identify it in your case. There are several possible reasons that the SCOUT app might not be able to positively identify the THINC API version. One of the most common reasons is a miss-match of Custom API files. If you send the full SCOUT log to "API" at Okuma dot com, I can take a look and tell you what is going on.

    When developing apps using SCOUT, please do not rely on SCOUT to positively identify the THINC API version. Use the ThincApi.DoesMachineSupportThincApiVersion Method instead.

    ThincApi.DoesMachineSupportThincApiVersion Method