Programming Notes

The following restrictions apply when customizing the Device Communications Toolkit to create an enabler:

  • On each new release of CIMPLICITY software, Toolkit derived applications should be recompiled and re-linked to ensure compatibility with the new release.
  • Whenever upgrading, copy all user-written functions and header files to another directory prior to performing the upgrade. Failure to save these files will result in their replacement by the template files distributed with the product.
  • Use cor_sleep instead of Sleep or SleepEx within the application.
  • User functions that return both comm_status and status should set status to TOOLKIT_FAILURE when comm_status is not TOOLKIT_SUCCESS.
  • The function user_read_data may be asked to read up to 7 bits beyond the end of a bit domain. This will occur when a bit within the last byte of the domain is configured. The bits outside of the domain should be set to zero (0) by the user_read_data function.
  • When unsolicited data is received and processed by user_process_unsolicited_data, only those configured points whose address exactly matches the start address will reflect the changed value because of processing by user_process-unsolicited_data. If a point has an update criteria other than UNSOLICITED, the point value will be updated during normal polling based on the update criteria.
  • Array points that extend beyond the end of memory are not checked. The communications interface checks that the first element of the array is within bounds, but does not check if any of the following elements is out of bounds. Points configured beyond the end of memory will cause reads of the device to fail, resulting in the unavailability of point data.