Echelon ISI Uživatelský manuál

Procházejte online nebo si stáhněte Uživatelský manuál pro Software Echelon ISI. Echelon ISI User Manual Uživatelská příručka

  • Stažení
  • Přidat do mých příruček
  • Tisk
  • Strana
    / 159
  • Tabulka s obsahem
  • KNIHY
  • Hodnocené. / 5. Na základě hodnocení zákazníků

Shrnutí obsahu

Strany 1 - Version 3

ISI Programmer’s GuideVersion 3 078-0299-01F

Strany 2

ISI Programmer’s Guide 8 Installing ISI Devices ISI devices may support plug-and-play or plug-touch-and-play installation. For plug-and-play insta

Strany 3 - Introduction

ISI Programmer’s Guide 98 To identify the smallest possible ISI implementation that meets your application needs, start with the leftmost column (I

Strany 4 - Overview

99 ISI Programmer’s Guide IsiTick(), because using these functions causes the linker to include the more specific functions (including the DAS func

Strany 5 - Changes since Revision 2

ISI Programmer’s Guide 100

Strany 6 - Table of Contents

101 ISI Programmer’s Guide 7 Transitioning between Managed and Self-Installed Networks This chapter describes how you can transition a self-install

Strany 7

ISI Programmer’s Guide 102 You can upgrade a network from a self-installed network to a managed network. You may do this to add non-ISI devices to

Strany 8

103 ISI Programmer’s Guide Appendix A API Data Types This appendix describes the data types used by the ISI library. Byte offset values shown ref

Strany 9

ISI Programmer’s Guide 104 ConnDesc Structure Contains details describing a connection. Used in the IsiConnection structure. Data Type Field Name

Strany 10 - ISI Messages

105 ISI Programmer’s Guide Byte offset Data Type Field Name Note N unsigned [5] UniqueId A unique identifier for the connection host, based o

Strany 11 - Device Count Limits

ISI Programmer’s Guide 106 Byte offset Data Type Field Name Note N IsiCid Cid See IsiCid. N+7 unsigned long Selector Selector value 0 – 0x2F

Strany 12 - Channel Types and Limits

107 ISI Programmer’s Guide IsiControl Value Note isiExtend 3 Extend a connection by calling IsiExtendEnrollment() using the assembly number passe

Strany 13 - Address Table Size

9 ISI Programmer’s Guide during development for capturing and interpreting ISI messages. The ISI Packet Monitor application is described in Develo

Strany 14 - Domain Table Size

ISI Programmer’s Guide 108 IsiCsmi Structure Defines an enrollment information message (CSMI) sent by the ISI engine. Byte offset Data Type Field

Strany 15 - Earshot Problems

109 ISI Programmer’s Guide Byte offset Data Type Field Name Note N unsigned Group The group (or device category) this connection applies to.

Strany 16

ISI Programmer’s Guide 110 Byte offset Data Type Field Name Note N+5 unsigned Variant Variant number for the offered connection. Variants ma

Strany 17 - Quick Start

111 ISI Programmer’s Guide Byte offset Data Type Field Name Note N+6 unsigned : 2 Extended. Scope Scope of the resource file containing the fu

Strany 18 - Example ISI Application

ISI Programmer’s Guide 112 The byte offset N is 10 for the IsiCsmoData structure used with ISI message types (IsiCsmo structure), and is zero when

Strany 19 - Procedures

113 ISI Programmer’s Guide IsiDiagnostic Value Note isiSubnetNodeAllocation 1 A local subnet/node ID has been allocated. isiSubnetNodeDuplicate

Strany 20

ISI Programmer’s Guide 114 Byte Offset Data Type Field Name Note 2 unsigned [6] Did Domain ID. This field is always 6 bytes long; the number

Strany 21 - XAMPLE 1

115 ISI Programmer’s Guide IsiEvent Value Note isiDirectionAny 2 Indicates that both input and output network variables may be applicable to this

Strany 22 - Handling an Incoming Message

ISI Programmer’s Guide 116 Byte Offset Data Type Field Name Note 18 unsigned long Extended.DeviceClass Value from the Device Class standard prog

Strany 23 - Acquiring a Domain Address

117 ISI Programmer’s Guide IsiEvent Value Note isiCancelled 5 Connection has been cancelled by a timeout, user, or network action. The parameter

Strany 24

ISI Programmer’s Guide 10 increases the network bandwidth consumed for administrative ISI messages, possibly preventing regular network operation d

Strany 25

ISI Programmer’s Guide 118 IsiFlags Value Note isiFlagExtended 0x01 Enables the use of the extended DRUMEX, CSMOEX, CSMAEX, and CSMREX messages.

Strany 26

119 ISI Programmer’s Guide IsiMessage Structure Contains the header and body of an ISI protocol message. These messages are typically sent using I

Strany 27 - XAMPLE 2

ISI Programmer’s Guide 120 IsiMessageCode Value Note isiDidrm 0x09 Domain ID response isiDidcf 0x0A Domain ID confirmation isiTimg 0x0B Timing gui

Strany 28 - XAMPLE 3

121 ISI Programmer’s Guide IsiRdct Structure Defines a read connection table (RDCT) request message used for controlled enrollment. Byte offset Da

Strany 29

ISI Programmer’s Guide 122 IsiScope Value Note isiScopeManufacturer 3 Indicates that Profile and NvType values refer to user-defined scope 3 – 5 re

Strany 30 - ISI Connection Model

123 ISI Programmer’s Guide Appendix B API Functions This appendix describes the functions provided by the ISI library. Important: To minimize it

Strany 31

ISI Programmer’s Guide 124 IsiAcquireDomain() void IsiAcquireDomain(boolean SharedServicePin); Starts or re-starts the domain ID acquisition proces

Strany 32

125 ISI Programmer’s Guide IsiApproveMsgDas() boolean IsiApproveMsgDas(void); Determines if an incoming message is an ISI or service pin message by

Strany 33 - Opening Enrollment

ISI Programmer’s Guide 126 This function has no effect unless the ISI engine is running and the device is either in device or domain acquisition mo

Strany 34

127 ISI Programmer’s Guide Calling this function on a device that does not support connection removal while indicating an assembly number that is a

Strany 35

11 ISI Programmer’s Guide ISI does not support redundant routers, and the user is responsible for avoiding looping topologies. The network topolog

Strany 36 - XAMPLE 5

ISI Programmer’s Guide 128 IsiExtendEnrollment() void IsiExtendEnrollment(unsigned Assembly); Accepts a connection invitation on a device that supp

Strany 37 - XAMPLE 7

129 ISI Programmer’s Guide IsiFetchDevice() void IsiFetchDevice(void); Fetches a device by assigning a domain to the device from a domain address s

Strany 38 - Receiving an Invitation

ISI Programmer’s Guide 130 To use the IsiFetchDomain() function, you must implement a when (resp_arrives) task and call the IsiProcessResponse() fu

Strany 39

131 ISI Programmer’s Guide selector, and rejects the open enrollment message if insufficient network variable aliases are available to meet that as

Strany 40 - Assembly

ISI Programmer’s Guide 132 IsiInitiateAutoEnrollment() void IsiInitiateAutoEnrollment(const IsiCsma* pCsma, unsigned Assembly); Starts automatic en

Strany 41

133 ISI Programmer’s Guide IsiIsRunning() boolean IsiIsRunning(void); Returns TRUE if the ISI engine is running and FALSE if the ISI engine is stop

Strany 42 - EXAMPLE 2

ISI Programmer’s Guide 134 IsiMsgDeliver() void IsiMsgDeliver(IsiMessage* pMsg, unsigned Length, msg_out_addr* pDestination); Sends an ISI message

Strany 43 - Implementing a Connection

135 ISI Programmer’s Guide IsiPreStart() void IsiPreStart(void); Establishes runtime links between the ISI engine in the read-only memory (ROM) of

Strany 44 - Canceling a Connection

ISI Programmer’s Guide 136 IsiReturnToFactoryDefaults(); // Call NEVER returns! } // Self-installed network--start the ISI engine

Strany 45 - Handling ISI Events

137 ISI Programmer’s Guide IsiProcessResponse() boolean IsiProcessResponse(void); Processes a response to a request message sent in the domain acqu

Strany 46

ISI Programmer’s Guide 12 When used in a self-installed network, an ISI device will typically only require one address table entry for each group i

Strany 47

ISI Programmer’s Guide 138 cpNwrkConfig = OldNetConfig; if (cpNwrkConfig == CFG_NUL) { // For the first application start, set nciNetConfi

Strany 48

139 ISI Programmer’s Guide When selecting one of the specialized versions IsiStartS(), IsiStartDA(), or IsiStartDAS(), you must make sure to use th

Strany 49

ISI Programmer’s Guide 140 IsiStop() void IsiStop(void); Stops the ISI engine. Use one of the IsiStart() functions to re-start the ISI engine. The

Strany 50 - Deinstalling a Device

141 ISI Programmer’s Guide Appendix C Callback Functions This appendix describes the callback functions that your application may provide for the

Strany 51 - Forwarders in Chapter 5

ISI Programmer’s Guide 142 IsiCreateCsmo() void IsiCreateCsmo(unsigned Assembly, IsiCsmoData* pCsmoData); Constructs the IsiCsmoData portion of a C

Strany 52

143 ISI Programmer’s Guide EXAMPLE The following example sends a periodic message: boolean SendApplicationPeriodic = FALSE; boolean IsiCreatePerio

Strany 53 - Quick Start, Revisited

ISI Programmer’s Guide 144 IsiGetConnection() const IsiConnection* IsiGetConnection(unsigned Index); Returns a pointer to an entry in the connectio

Strany 54

145 ISI Programmer’s Guide You must override the IsiSetConnection() and IsiGetConnection() functions if you override the IsiGetConnectionTableSize(

Strany 55

ISI Programmer’s Guide 146 IsiGetNextNvIndex() unsigned IsiGetNextNvIndex(unsigned Assembly, unsigned Offset, unsigned Previous); Returns the netwo

Strany 56

147 ISI Programmer’s Guide IsiGetPrimaryDid() const unsigned* IsiGetPrimaryDid(unsigned* pLength); Returns a pointer to the default primary domain

Strany 57 - Footprint of ISI Applications

13 ISI Programmer’s Guide Earshot Problems Open media such as power line may experience occasional communication outages due to interference from o

Strany 58 - ISI Programmer’s Guide 56

ISI Programmer’s Guide 148 IsiGetWidth() unsigned IsiGetWidth(unsigned Assembly); Returns the width in the specified assembly. The width is equal

Strany 59 - Developing and Debugging

149 ISI Programmer’s Guide You must override the IsiGetConnection() and IsiGetConnectionTableSize() functions if you override the IsiSetConnection(

Strany 60 - General Considerations

ISI Programmer’s Guide 150 IsiUpdateUserInterface() void IsiUpdateUserInterface(IsiEvent Event, unsigned Parameter); Provides status feedback from

Strany 61

151 ISI Programmer’s Guide Appendix D ISI Router Configuration This appendix provides information for preparing a LONWORKS router for use with an

Strany 62

ISI Programmer’s Guide 152 LONWORKS Routers and ISI Networks To prepare a LONWORKS router for use with an ISI network, configure the device as foll

Strany 63 - Self-Installation Advanced

153 ISI Programmer’s Guide Appendix E Glossary This appendix defines the key ISI terms.

Strany 64

ISI Programmer’s Guide 154 Term Definition Application message An ANSI/CEA-709.1 (EN14908-1) message with a message code in the range of 0 to 62.

Strany 65 - See Customizing the

155 ISI Programmer’s Guide Term Definition controller to specify the devices to be connected. Domain Address Server (DAS) A device present in ISI-

Strany 66

ISI Programmer’s Guide 156 Term Definition Network management The act of putting network configuration data into a persistent store (typically a da

Strany 67 - Forwarders

www.echelon.com

Strany 68

ISI Programmer’s Guide 14 Limit Value Notes Maximum number of selectors per assembly 63 Recommended maximum number of selectors per assembly 4

Strany 69 - Assembly Number Allocation

15 ISI Programmer’s Guide 2 Quick Start This chapter provides a quick start for ISI developers. The source code for a simple ISI application is d

Strany 70

ISI Programmer’s Guide 16 Example ISI Application Most of the ISI protocol is implemented by the ISI engine that is part of the ISI library, and mu

Strany 71 - if ( ... ) {

17 ISI Programmer’s Guide 3 Self-Installation Basic Procedures This chapter describes the basic ISI procedures that will be implemented by most ISI

Strany 72 - Creating a Polled Connection

Echelon, LONWORKS, Neuron, NodeBuilder, LonMaker, 3120, 3150, and the Echelon logo are trademarks of Echelon Corporation registered in the United Sta

Strany 73

ISI Programmer’s Guide 18 Starting and Stopping Self-Installation void IsiPreStart(void); void IsiStart(IsiType Type, IsiFlags Flags); void IsiStar

Strany 74

19 ISI Programmer’s Guide applies to your application’s Node Object functional block, if available, or applies to the entire device if there is no

Strany 75 - Turnaround Connections

ISI Programmer’s Guide 20 If your device supports a single ISI type, you can use one of the three specialized versions of the IsiTick() function to

Strany 76

21 ISI Programmer’s Guide EXAMPLE 1 The following example for a device without domain acquisition tests for incoming ISI messages, and calls IsiPro

Strany 77 - Discovering Devices

ISI Programmer’s Guide 22 not the domain address server. This method allows the device to make intelligent decisions about retries, preventing enr

Strany 78

23 ISI Programmer’s Guide Key advantage Active process— device is in control of proceedings and aware of success or failure Passive process, suppor

Strany 79

ISI Programmer’s Guide 24 Device DASIsiStartDeviceAcquisition() enters device acquisition modeIsiAcquireDomain() starts domain acquisition and send

Strany 80

25 ISI Programmer’s Guide EXAMPLE 1 The following example starts domain acquisition mode on a domain address server when the user presses a Connect

Strany 81 - 79 ISI Programmer’s Guide

ISI Programmer’s Guide 26 Device DASIsiFetchDevice() starts device fetchingSend Service Pin messageRespond to Service Pin message by sending Wink m

Strany 82

27 ISI Programmer’s Guide function to obtain the current domain ID from any device in the network, even from those that only implement ISI-S, or th

Strany 83 - 81 ISI Programmer’s Guide

1 ISI Programmer’s Guide Introduction This guide describes how you can use Interoperable Self-Installation (ISI) to create networks of control

Strany 84 - Recovering Connections

ISI Programmer’s Guide 28 EXAMPLE 3 The following example fetches a domain on a domain address server when the user presses the Connect button on t

Strany 85

29 ISI Programmer’s Guide A connection host opens enrollment by sending a connection invitation. Once a connection host opens enrollment then any

Strany 86 - ISI Programmer’s Guide 84

ISI Programmer’s Guide 30 the application. Standard ISI profiles that define multiple assemblies must specify the order the assemblies are to be a

Strany 87 - 85 ISI Programmer’s Guide

31 ISI Programmer’s Guide Opening Enrollment void IsiOpenEnrollment(unsigned Assembly); void IsiCreateCsmo(unsigned Assembly, IsiCsmoData* pCsmoDat

Strany 88 - Controller

ISI Programmer’s Guide 32 function uses the IsiGetPrimaryGroup() function to obtain the associated group ID, and sets all fields to zero except the

Strany 89

33 ISI Programmer’s Guide EXAMPLE 1 The following example opens automatic enrollment: void IsiUpdateUserInterface(IsiEvent Event, unsigned Paramete

Strany 90

ISI Programmer’s Guide 34 } } EXAMPLE 4 The following example opens manual enrollment for a compound assembly with four selectors. The isiGetW

Strany 91

35 ISI Programmer’s Guide when (msg_arrives) { IsiMessage inMsg; unsigned myAssembly; if (IsiApproveMsg()) { memcpy(&inMsg, msg_in.data,

Strany 92 - Controlled Enrollment

ISI Programmer’s Guide 36 ISI_DEFAULT_GROUP, // Group isiDirectionVarious, // NV direction 4, // Width 3251, // Profile nu

Strany 93 - Connection Model

37 ISI Programmer’s Guide Applications need not distinguish between regular and extended incoming messages. You can provide feedback to the user wh

Strany 94 - Automatic Enrollment

ISI Programmer’s Guide 2 Overview Control networks consist of intelligent devices like switches, thermostats, pumps, motors, valves, controllers, a

Strany 95 - Sending Periodic Heartbeats

ISI Programmer’s Guide 38 Accepting a Connection Invitation void IsiCreateEnrollment(unsigned Assembly); void IsiExtendEnrollment(unsigned Assembly

Strany 96

39 ISI Programmer’s Guide You can eliminate this additional resource usage by deleting and re-creating a connection instead of extending it. You ca

Strany 97

ISI Programmer’s Guide 40 // drive the ISI-related LED: switch(isiState) { ... case isiApproved: case isiApprovedHost: SetConne

Strany 98 - IsiCompactS

41 ISI Programmer’s Guide Implementing a Connection In a manual or controlled enrollment, when a connection host sends a connection invitation by b

Strany 99 - All Compact Libraries

ISI Programmer’s Guide 42 // (CSME) message. IsiCreateEnrollment(Assembly); break; ... // Processing for other states } //

Strany 100

43 ISI Programmer’s Guide IsiCreateEnrollment() or IsiExtendEnrollment()), or simply do nothing. The pending assembly remains pending until the en

Strany 101

ISI Programmer’s Guide 44 IsiEvent Value Note isiNormal 0 The ISI engine has returned to the normal, or idle, state for an assembly. The relate

Strany 102

45 ISI Programmer’s Guide IsiEvent Value Note isiWarm 7 The ISI engine has warmed up (i.e. a predetermined time with a random component has pass

Strany 103 - Networks

ISI Programmer’s Guide 46 The following figure summarizes the typical sequence of events for a connection host using manual or controlled enrollmen

Strany 104

47 ISI Programmer’s Guide You can get more detailed ISI diagnostic events. These events are useful for debugging ISI applications and are not ty

Strany 105 - Appendix A

3 ISI Programmer’s Guide This guide presents a library for Neuron® C—called the Neuron C ISI library—to create interoperable self-installed devices

Strany 106 - IsiCid Structure

ISI Programmer’s Guide 48 IsiDiagnostic Value Note isiSubnetNodeAllocation 1 A local subnet/node ID has been allocated. isiSubnetNodeDuplicate

Strany 107 - IsiConnection Structure

49 ISI Programmer’s Guide EXAMPLE The following example deinstalls a device after the service pin is held for a long period: when (timer_expires(S

Strany 108 - IsiControl Enumeration

ISI Programmer’s Guide 50 Implementing a SCPTnwrkCnfg CP ISI applications must implement a SCPTnwrkCnfg configuration property that is implemented

Strany 109 - IsiCsme Structure

51 ISI Programmer’s Guide 4 Quick Start, Revisited This chapter revisits the quick start example in Chapter 1 to add connection enrollment support

Strany 110 - IsiCsmoData Structure

ISI Programmer’s Guide 52 Here is the quick start example from Chapter 1: #include <isi.h> when (reset) { // Clear all tables and start

Strany 111 - Data Type Field Name Note

53 ISI Programmer’s Guide void IsiUpdateUserInterface(IsiEvent event, unsigned parameter) { if (event == isiPending

Strany 112 - Specification

ISI Programmer’s Guide 54 DeviceState Connection Host Response to Connect Button isiApprovedHost Yes An approved connection host is one that ha

Strany 113

55 ISI Programmer’s Guide case isiNormal: if (longPress) { IsiDeleteEnrollment(assembly); } else {

Strany 114 - IsiDiagnostic Enumeration

ISI Programmer’s Guide 56

Strany 115 - IsiDidrm Structure

57 ISI Programmer’s Guide 5 Developing and Debugging an ISI Application This chapter describes how to develop and debug applications using the Neur

Strany 116 - IsiDirection Enumeration

ISI Programmer’s Guide 4 Table of Contents Introduction...

Strany 117 - IsiDrum Structure

ISI Programmer’s Guide 58 General Considerations You can develop applications for the Neuron C ISI library using the NodeBuilder® 3.1 Development T

Strany 118 - IsiEvent Enumeration

59 ISI Programmer’s Guide To enable debugging with the managed environment provided by the NodeBuilder and LonMaker tools, you must ensure that an

Strany 119 - IsiFlags Enumeration

ISI Programmer’s Guide 60 since the different allocation algorithms used for managed and self-installed connections could result in duplicate resou

Strany 120 - Optimizing Footprint of ISI

61 ISI Programmer’s Guide 6 Self-Installation Advanced Procedures This chapter describes advanced ISI procedures that are not typically used by al

Strany 121 - IsiMessageCode Enumeration

ISI Programmer’s Guide 62 Overriding a Callback Function You can have the ISI engine call functions in your application in response to key ISI even

Strany 122 - IsiRdcs Structure

63 ISI Programmer’s Guide Function Name Reason to Override IsiGetAssembly() This function should be overridden for applications with compound asse

Strany 123 - IsiScope Enumeration

ISI Programmer’s Guide 64 Function Name Reason to Override IsiGetNextAssembly() This function should be overridden when providing for compound ass

Strany 124 - IsiType Enumeration

65 ISI Programmer’s Guide Function Name Reason to Override IsiSetConnection() This function must be overridden when implementing a custom connecti

Strany 125 - Appendix B

ISI Programmer’s Guide 66 in order to simplify development; however, most developers will tailor the ISI implementation by overriding the default i

Strany 126 - IsiApproveMsg()

67 ISI Programmer’s Guide Library Functions with Forwarders Forwarders are implemented in a way that eliminates any overhead for the indirection; t

Strany 127 - IsiCancelAcquisitionDas()

5 ISI Programmer’s Guide Self-Installation Advanced Procedures ... 61 Ov

Strany 128 - IsiCreateEnrollment()

ISI Programmer’s Guide 68 IsiGetNvIndex(), and IsiGetWidth() handle connections of simple assemblies referring to a single network variable of a st

Strany 129 - IsiDeleteEnrollment()

69 ISI Programmer’s Guide With that knowledge, an accepting device that implements a SFPTclosedLoopActuator functional block must associate S1 with

Strany 130 - IsiExtendEnrollment()

ISI Programmer’s Guide 70 // and a compatible network variable type return Y; } ... } unsigned IsiGetNvIndex(unsigned Assembly,

Strany 131 - IsiFetchDomain()

71 ISI Programmer’s Guide 2. Connection host enrolls local, normal, output network variable: direction(CSMOEX) = isiDirectionInput or isiDirectio

Strany 132 - IsiGetFreeAliasCount()

ISI Programmer’s Guide 72 formatted as a network variable update. Include an explicit address for the message with addressing details from an appl

Strany 133 - IsiImplementationVersion()

73 ISI Programmer’s Guide Neuron ID to be tracked must be discovered and written to the addressTracking variable when a connection invitation is ac

Strany 134 - IsiIsConnected()

ISI Programmer’s Guide 74 The connection table contains one entry for each simple connection the device has joined, and for each simple extension t

Strany 135 - IsiLeaveEnrollment()

75 ISI Programmer’s Guide #define CONTABSIZE 16u static IsiConnection connectionBuffer; unsigned IsiGetConnectionTableSize(void) { return CONT

Strany 136 - IsiOpenEnrollment()

ISI Programmer’s Guide 76 deleted devices, monitor the time of the last update for each entry in the table and detect devices that have not recentl

Strany 137 - IsiPreStart()

77 ISI Programmer’s Guide // Iterate through the device table again and decrement the // credits at each call of IsiCreatePeriodicMsg(), removing a

Strany 138 - IsiProcessMsg()

ISI Programmer’s Guide 6 IsiDiagnostic Enumeration ... 112 IsiDidcf Struc

Strany 139 - IsiReturnToFactoryDefaults()

ISI Programmer’s Guide 78 request, and then repeats the process on the remaining devices. To accelerate device discovery, follow these steps: 1.

Strany 140 - IsiStart()

79 ISI Programmer’s Guide msg_out.dest_addr.bcast.rpt_timer = ENCODED_RPT_TIMER; msg_out.dest_addr.bcast.retry = RETRY_COUNT; msg_out.

Strany 141 - IsiStartDeviceAcquisition()

ISI Programmer’s Guide 80 Creating a Connection with Controlled Enrollment You can create a connection from a connection controller using controlle

Strany 142 - IsiTick()

81 ISI Programmer’s Guide unsigned assembly) { IsiMessage request; msg_out_addr destination; request.Header.Code = isiCtrq; request

Strany 143 - Appendix C

ISI Programmer’s Guide 82 break; case enrolling: // Just one member for this example; close enrollment ControlCommand(controlJo

Strany 144 - IsiCreatePeriodicMsg()

83 ISI Programmer’s Guide The RDCT message includes optional host and member assembly fields that specify which connection table entries are reques

Strany 145 - IsiGetAssembly()

ISI Programmer’s Guide 84 request.Msg.Rdct.Index = recoveryJob.index++; request.Msg.Rdct.Host = request.Msg.Rdct.Member = ISI_NO_ASSEMBLY;

Strany 146 - IsiGetConnectionTableSize()

85 ISI Programmer’s Guide // connection table index provided. void SendConnectionTableResponse(unsigned index, boolean success) { IsiMessage

Strany 147 - IsiGetNextAssembly()

ISI Programmer’s Guide 86 } Sending an NV Update or Polling an NV from a Controller You can send an individual network variable update to, or poll

Strany 148 - IsiGetNvIndex()

87 ISI Programmer’s Guide EXAMPLE 1 The following example sends a network variable fetch message to a device with a specified NV index, subnet ID,

Strany 149 - IsiGetRepeatCount()

7 ISI Programmer’s Guide IsiGetConnection() ... 144 IsiGetC

Strany 150 - IsiQueryHeartbeat()

ISI Programmer’s Guide 88 EXAMPLE 2 The following example sends an explicit network variable update to a device in the device table created in the

Strany 151 - IsiUpdateDiagnostics()

89 ISI Programmer’s Guide msg_out.code = NM_opcode_base | (NM_query_nv_cnfg & NM_opcode_mask); msg_out.service = REQUEST; msg_out.

Strany 152

ISI Programmer’s Guide 90 monitored device changes. Controlled and automatic enrollment both address responsiveness by supporting event-driven upd

Strany 153 - Appendix D

91 ISI Programmer’s Guide device to a peer-to-peer connection. To support controlled enrollment, the controller must maintain a device description

Strany 154 - TP/FT-10 Side PL-20 Side

ISI Programmer’s Guide 92 for the device and all devices that it is connected to using the isiOpen and isiCreate requests. To support controlled en

Strany 155 - Appendix E

93 ISI Programmer’s Guide 2. If the device supports automatic enrollment for monitoring and but does not support connection extension, the device

Strany 156

ISI Programmer’s Guide 94 You can use periodic processing in the ISI engine to schedule and send periodic heartbeat updates for any of the output n

Strany 157

95 ISI Programmer’s Guide this function; just set the application-specific flag if there is a message to send and return control to the ISI engine

Strany 158

ISI Programmer’s Guide 96 IsiFull This library contains the complete feature set as defined in this document. The IsiFull library may require devi

Strany 159

97 ISI Programmer’s Guide IsiCompactSHb This library supports the same features as the IsiCompactS library, with the addition of support for networ

Komentáře k této Příručce

Žádné komentáře