System information
Table Of Contents
- Table of Contents
- 1 Introduction to the SmartServer SOAP/XML Interface
- 2 SOAP Messages and the SmartServer WSDL File
- 2.1 SmartServer Naming Structure
- 2.2 SmartServer WSDL File
- 2.3 Security
- 2.4 SOAP Request and Response Message Structure
- 2.5 SOAP Messages Formats
- 2.6 Data Point References
- 2.7 UCPTcurrentConfig
- 2.8 Fault Structure
- 2.9 LonString type
- 2.10 SOAP Message Examples
- 3 SmartServer Applications and the SOAP/XML Interface
- 3.1 Overview of SmartServer Applications
- 3.2 SmartServer XML Configuration Files
- 3.3 SmartServer Resource Files
- 3.3.1 Standard Network Variable Type (SNVT) Device Resource Files
- 3.3.2 Standard Configuration Property Type (SCPT) Device Resource Files
- 3.3.3 User Defined Network Variable Type (UNVT) Device Resource Files
- 3.3.4 User Defined Configuration Property Type (UCPT) Device Resource Files
- 3.3.5 Data Point Templates
- 3.3.6 Data Formatting
- 3.4 SOAP Functions
- 3.5 Performance Issues
- 4 Using the SmartServer Data Server
- 4.1 Creating and Modifying the Data Point XML Files
- 4.2 Overview of the Data Point XML File
- 4.3 Data Server SOAP Interface
- 4.3.1 Using the List Function on the Data Server
- 4.3.2 Using the Get Function on the Data Server
- 4.3.3 Using the Set Function on the Data Server
- 4.3.4 Using the Read Function on the Data Server
- 4.3.5 Using the Write Function on the Data Server
- 4.3.6 Using the Invoke Function to Reset Data Point Priorities
- 4.3.7 Data Point Values and Priority Levels
- 4.3.8 Using the Delete Function on the Data Server
- 4.4 Using the Web Binder Application
- 5 Data Loggers
- 5.1 Overview of the Data Logger XML File
- 5.2 Creating and Modifying the Data Logger XML File
- 5.3 Data Logger SOAP Interface
- 6 Alarm Generator
- 6.1 Overview of the Alarm Generator XML File
- 6.2 Creating and Modifying the Alarm Generator XML File
- 6.3 Alarm Generator SOAP Interface
- 7 Alarm Notifier
- 7.1 Overview of the AlarmNotifier XML File
- 7.2 Creating and Modifying the Alarm Notifier XML File
- 7.3 Alarm Notifier SOAP Interface
- 7.3.1 Using the List Function on an Alarm Notifier
- 7.3.2 Using the Get Function on an Alarm Notifier
- 7.3.3 Using the Set Function on an Alarm Notifier
- 7.3.4 Using the Read Function on an Alarm Notifier
- 7.3.5 Using the Write Function on an Alarm Notifier Log File
- 7.3.6 Using the Clear Function on an Alarm Notifier Log File
- 7.3.7 Using the Delete Function on an Alarm Notifier
- 8 Analog Function Block
- 9 Scheduler
- 9.1 Overview of the Scheduler XML File
- 9.2 Creating and Modifying the Scheduler XML File
- 9.3 Scheduler SOAP Interface
- 10 Calendar
- 10.1 Overview of the Calendar XML File
- 10.2 Creating and Modifying the Calendar XML File
- 10.3 Calendar SOAP Interface
- 11 Real Time Clock
- 12 Type Translator
- 12.1 Overview of the Type Translator XML File
- 12.2 Creating and Modifying the Type Translator XML File
- 12.3 Type Translator SOAP Interface
- 12.3.1 Using the List Function on a Type Translator
- 12.3.2 Using the Get Function on a Type Translator
- 12.3.3 Using the Set Function on a Type Translator
- 12.3.4 Pre Defined Type Translator Rules
- 12.3.4.1 16xSNVT_switch_TO_SNVT_state
- 12.3.4.2 SNVT_lev_disc_TO_SNVT_occupancy
- 12.3.4.3 SNVT_lev_disc_TO_SNVT_switch
- 12.3.4.4 SNVT_occupancy_TO_SNVT_setting
- 12.3.4.5 SNVT_scene_TO_SNVT_setting
- 12.3.4.6 SNVT_scene_TO_SNVT_switch
- 12.3.4.7 SNVT_setting_TO_SNVT_switch
- 12.3.4.8 SNVT_state_TO_16xSNVT_switch
- 12.3.4.9 SNVT_switch_TO_SNVT_lev_disc
- 13 Type Translator Rules
- 14 LonWorks Driver
- 14.1 LonWorks Networks
- 14.2 LonWorks Channels
- 14.3 LonWorks Devices
- 14.4 Routers
- 14.5 Remote Network Interface
- 14.6 LonWorks Functional Blocks
- 14.7 Network Variables (LonWorks Data Points)
- 14.8 Configuration Properties (LonWorks Data Points)
- 14.9 LonWorks Connections
- 15 Modbus Driver
- 16 M Bus Driver
- 17 Virtual Driver
- 18 File System Data
- 19 System Information Methods
- 20 Using the SOAP Interface as a Web Service
- 21 Programming Examples
- 21.1 Visual C#.NET Examples
- 21.1.1 Reading and Writing Data Point Values in Visual C# .NET
- 21.1.2 Creating and Reading a Data Logger in Visual C# .NET
- 21.1.3 Creating a Scheduler and Calendar in Visual C# .NET
- 21.1.4 Creating and Installing a LonWorks Device in Visual C# .NET
- 21.1.5 Commissioning External Devices in Visual C# .NET
- 21.1.6 Discovering and Installing External Devices in Visual C# .NET
- 21.1.7 Configuring the SmartServer in Visual C# .NET
- 21.2 Visual Basic.NET Examples
- 21.2.1 Reading and Writing Data Point Values in Visual Basic.NET
- 21.2.2 Creating and Reading a Data Logger in Visual Basic. NET
- 21.2.3 Creating a Scheduler and Calendar in Visual Basic.NET
- 21.2.4 Creating and Installing a LonWorks Device in Visual Basic.NET
- 21.2.5 Commissioning External Devices in Visual Basic.NET
- 21.2.6 Discovering and Installing External Devices in Visual Basic.NET
- 21.2.7 Configuring the SmartServer in Visual Basic.NET
- 21.1 Visual C#.NET Examples
- 22 Programming the SmartServer with Java
- Appendix A: SOAP Tester Example

i.LON SmartServer 2.0 Programmer’s Reference
3-7
3.4.4
Read Functions
You can use the Read function to read the value, status, or priority of a data point on the Data Server
(Dp_Cfg), read the entries in an alarm log or data log, and read the events scheduled in a Scheduler or
Calendar. To use the Read function, you need to provide the <UCPTname> of the item to be read.
This could be a data point, or an Alarm Notifier, Data Logger, Scheduler, or Calendar functional block.
The Read function returns a list of <Item> elements of a Dp_Data type for each data point referenced
by the input you supplied to the function.
3.4.5
Write Functions
You can use the Write function to update the value, priority, or status of a data point on the Data Server
or to update an entry in an Alarm Log. To use the Write function, you need to provide an <Item>
element of a Dp_Data type that includes the <UCPTname> of the item to be updated, which could be a
data point or an Alarm Notifier functional block. When using the Write function, you can use the
output supplied by the corresponding Read function as the basis for your input.
3.4.6
Delete Functions
Use the Delete functions to delete items from an application. For example, you can use the Delete
function to delete an Alarm Generator functional block or to delete a data point on Data Logger. To
delete an item, you must provide an <Item> element of a specific xsi:type (corresponding to the item’s
driver) that includes the <UCPTname> of the item to be deleted.
3.5
Performance Issues
The SmartServer contains 64 MB of RAM, which allows for complicated application configurations
and extensive network use. However, even with this amount of memory, it is still possible for very
high levels of network traffic to the SmartServer, especially using the SOAP interface, to eventually
exhaust its memory. This could result in delays in network access of the SmartServer, performance
problems for the SmartServer applications, or in the worst case even a reboot of the SmartServer.
If your SmartServer exhibits some of these symptoms, you should consider reducing the level of
network traffic to it. The following numbers are guidelines that apply to the use of the SmartServer’s
SOAP interface. While they are not absolute limits or guarantees of performance, they may be helpful
to follow when attempting to manage the SmartServer’s network traffic load or troubleshoot a
performance problem.
As a result, you should follow these guidelines when programming SOAP applications:
• Limit the number of data points referenced in a single Get or Read message to no more than 100.
• Limit the number of alarm log records read in a single message to no more than 100. For more
information on reading alarm log records, see
Chapter 7.
• Limit the number of data log records read in a single message to no more than 150. For more
information on reading data log records, see
Chapter 5.
• If the combined XML file sizes for a given application exceed 100 KB, do not try to read all the
configuration data for that application in a single Get message. This could potentially happen with
the Scheduler application if all of its functional blocks were used, or possibly with the Alarm
Notifier application.
• Do not send a request message larger than 100 KB. Some possible examples of this might be
using a single Set message to define more than 100 data points or write to 40 Alarm Notifiers.
• Limit the number of simultaneous SOAP clients to no more than the number of Web tasks
specified in the WebParams.dat file on the SmartServer, which is eight. Also note that you
should not open more than two or three Web browsers for a given SmartServer.