Additional Information

API documentation

The home page of the Doxygen documentation is <wincc_oa_path>/api/docu/index.html.

Migration

Please check the requirements for API development for the used version. Existing API projects must be converted and compiled with the corresponding compiler to match the API requirements:

To convert an API project from VC++ 12.0, or VC++ 14.0 to VC++ 14.1:

Open the old .sln - file with Visual Studio 2017. The project files are automatically converted to sln or. .vcxproj.

Additional Resource information

By using the VersInfo.rc file additional information can be added to the compiled object, e.g. file descriptions.

CONTROL Extensions and Version Number Check

The controller compares a version string of a CONTROL extension (dll / so) with its own version string. A CONTROL extension has to return a version string. Therefore, there are two macros CTRL_EXTENSION_VERSION and CTRL_EXTENSION (class, funcList). The BaseExternHdl.hxx defines these macros. An existing CONTROL extension has to add at least one of these macros to a .cxx file in order to use the extension with the current version. The implementation of the newExternHdl() function is not more necessary. CTRL_EXTENSION (class, funcList) also includes CTRL_EXTENSION_VERSION.

You have to only write XXXExternHdl.cxx file according to the fnList as follows:

CTRL_EXTENSION (myClassNam, fnList)

Time values and variables

Note the following for the time values and variables:

  • Runtime values/alarms can be created with an accuracy of up to nanoseconds.
  • Historical databases retain the correct sequence, but only store up to milliseconds, i.e. they discard the parts with higher accuracy.
  • The comparison of WinCC OA time variables only takes milliseconds into account. WinCC OA time variables that only differ in the microsecond or nanosecond range would be considered the same by the built-in comparison methods.