A wide selection of standard profiles and data types are available with IML You can use these standard profiles and types to rapidly design the network behavior of your applications. The standard profiles and types are supplied as an IzoT resources package built into the IzoT Interface Interpreter.
You can define, reference, and use additional IzoT resources. To create a user profile or data type, you first create the resource using the IzoT Resource Editor, convert the resource to an IzoT resource package using the IzoT Resource Report Generator included with the IzoT Resource Editor, and then reference the resource in your IML. The IzoT Resource Editor is available as a download from www.echelon.com/downloads, and is also included with the IzoT CPM 4200 Wi-Fi SDK. To reference your custom IzoT resource packages, you can use the location modifier to the block, datapoint , and property classes.
The following examples demonstrate two different methods for using a user data type in IML.
This example defines a user-defined UFPTweatherForecast profile based on a myResources resource set located in c:\source\projects. The example implements a block based on the standard SFPTboilerController boiler controller profile and a block based on the example user-defined UFPTweatherForecast profile. This examples uses a direct reference specifying the absolute file system location of the user resource file set.
#include "IzotDev.h" SFPTboilerController(boiler)boiler; //@Izot block UFPTweatherForecast(forecast)forecast; //@IzoT block(location="c:\source\projects\myResources")
The reference method is easy to use and self-documenting, but this method leaves the source code non-portable between different computers with different directory structures.
This example specifies the same profiles as Example 1, but uses a relative reference to specify the file system location of the resource file set. The relative reference is relative to the location of the main C source file. The main C source file is located in c:\source for this example.
#include "IzoTDev.h" SFPTboilerController(boiler)boiler ; //@Izot block UFPTweatherForecast(forecast)forecast; //@IzoT block(location=".\projects\myResources")
You can use the relative method to support portable source code and a self-contained project layout.