WebSocket API JavaScript 库

WebSocket API 扩展随附 JavaScript 库,该库允许基于 Web 的应用与 deviceWISE 网关的运行时进程进行交互。
安装扩展时,JavaScript API 库文件将置于 Staging Browser(暂存浏览器)文件系统内的 www/devicewise 目录中。

网关 HTTP 服务器

为支持 JavaScript API 对网关的调用,必须启动网关的 HTTP 服务器。

可通过 Workbench(工作台)-> Administration(帐户管理)-> HTTP Server(HTTP 服务器)选项卡查看网关 HTTP 服务器的状态。有关更多信息,请参见 HTTP 服务器

设置

若要创建使用 JavaScript API 库的网页,则 HTML 主页面的标题必须包含以下链接。

<script src="devicewise/jquery-3.1.0.min.js"></script>
<script src="devicewise/cookie.js"></script>
<script src="devicewise/devicewiseUtil.js"></script>
<script src="devicewise/devicewiseClient.js"></script>
<script src="devicewise/devicewiseConstants.js"></script>
<script src="devicewise/devicewiseDiagnostics.js"></script>
<script src="devicewise/devicewiseVariable.js"></script>
<script src="devicewise/devicewiseSQLite.js"></script>
<script src="devicewise/devicewiseDevice.js"></script>
<script src="devicewise/devicewiseTrigger.js"></script>
<script src="devicewise/devicewiseProject.js"></script>
<script src="devicewise/devicewiseChannel.js"></script>
<script src="devicewise/devicewiseSystem.js"></script>

deviceWISE 类型

使用以下定义访问数据类型代码:

  • devicewise.INT1
  • devicewise.INT2
  • devicewise.INT4 
  • devicewise.INT8
  • devicewise.UINT1
  • devicewise.UINT2
  • devicewise.UINT4
  • devicewise.UINT8
  • devicewise.FLOAT4
  • devicewise.FLOAT8
  • devicewise.BOOL
  • devicewise.STRING

deviceWISE 驱动程序代码列表

* Virtual...........................   1
* [PeerLink] Device Connection......   5
* [PeerLink] Node Connection........   6
* [System] Alias Device.............   8
* [System] Global Device............   9
* [System] Property Reader..........  10
* [Mitsubishi] Q CPU (Local)........  11
* [Mitsubishi] Q CPU (EZ)...........  13
* [Mitsubishi] QnA CPU (EZ).........  14
* [Mitsubishi] A CPU (EZ)...........  15
* [Mitsubishi] Fx CPU (FX3CPU)......  16
* [Mitsubishi] A CPU................  17
* [Mitsubishi] QnA CPU..............  18
* [Mitsubishi] Q CPU................  19
* [Omron] CS Series.................  21
* [Omron] CJ Series.................  22
* [Omron] CV Series.................  23
* [Omron] NJ Series.................  24
* [Siemens] Siemens LOGO PLC........  30
* [Siemens] S7-200 Series...........  31
* [Siemens] S7-300 Series...........  32
* [Siemens] S7-400 Series...........  33
* [Siemens] S7-1200 Series..........  34
* [Siemens] S7-300 PLC (Local)......  35
* [Siemens] S7-300 PLC (ERPC).......  36
* [Siemens] S7 TCP Connection.......  37
* [Siemens] S5 Series...............  38
* [Siemens] ET 200pro...............  39
* [Siemens] S7-1500 Series..........  40
* [Rockwell] Backplane (Local)......  41
* [Rockwell] ControlLogix...........  42
* [Rockwell] SLC-500................  43
* [Rockwell] PLC-5..................  44
* [Rockwell] Logix Listener.........  45
* [Rockwell] CompactLogix...........  46
* [Rockwell] MicroLogix.............  47
* [Rockwell] SLC/PLC5 Listener......  48
* [Modbus] Generic TCP..............  51
* [Modbus] Generic Serial...........  52
* [Modbus] TCP Server...............  53
* [Modbus] Serial Server............  54
* [GE Fanuc] Series 90..............  61
* [GE Fanuc] CNC....................  62
* [Fuji] PLC........................  71
* [Telemecanique] PLC...............  81
* [Alien] 9X00 Reader............... 101
* [Alien] 9780 Reader............... 102
* [Alien] 9650 Reader............... 103
* [Symbol] RFID Readers............. 111
* [Symbol] Barcode Readers.......... 112
* [Hawkeye] 15XX Camera............. 121
* [Banner] PresencePLUS Camera...... 122
* [Hawkeye] Visionscape Camera...... 123
* [EMS] Cobalt HF Reader............ 131
* [Tyco] AMP Analyzer............... 141
* [Tyco] C Series Power Meter....... 142
* [Esensors] EMT08.................. 151
* [Mitsubishi] GOT.................. 161
* [Mitsubishi] QNEUD................ 162
* [Mitsubishi] L CPU (CC-Link IE Field) 163
* [Mitsubishi] Listener............. 165
* [Mitsubishi] iQ-R (RCPU).......... 166
* [Mitsubishi] iQ-F (FX5CPU)........ 167
* [OPC] UA Client................... 201
* [OPC] DA Client................... 202
* [OPC] DA(T) Client................ 203
* [OPC] XML-DA Client............... 204
* [OPC] XML-DA Client (ILS)......... 211
* [OPC] SIMOTION Controller......... 271
* [SNMP] SNMP Client................ 301
* [SYSMON] System Monitor........... 311
* [SYSMON] Process Monitor.......... 312
* [Artila] PAC-5070................. 321
* [BACnet] Client................... 331
* [Z-Wave] Z-Wave Device............ 361
* [MultiTech] Local I/O Device...... 371
* [MultiTech] GPIO Device........... 372
* [MultiTech] Serial Device......... 373
* [GPS] NMEA GPS Receiver........... 381
* [CalAmp] I/O Device............... 391
* [CalAmp] LMU I/O Device........... 392
* [Atlas/Copco] Power Focus Device.. 401
* [Atlas/Copco] Power MACS Device... 402
* [NCD] Relay IO.................... 411
* [ROCPlus] Emerson ROC 809 Device.. 421
* [SQ-Electronics] NP-02U........... 431
* [Moxa] E1240...................... 441 
* [Pike-Aero] HA10.................. 451
* [Telematics] OBD-II (ScanTool.net) 461
* [Modicon] Quantum CPS 111......... 471
* [Modicon] Quantum CPS 114......... 472
* [Advantech] UNO2050 Local IO...... 481
* [SICK] RFID Reader................ 491
* [MTConnect] Client................ 501
* [CTI] 2572 Listener............... 511
* [CTI] 2572 Device................. 512
* [Davis] Vantage Vue............... 521
* [Philips] Hue Bridge.............. 531
* [IrrigationCaddy] ICEthS1......... 541
* [NetComm] NTC-6200-02............. 551
* [Monnit] USB Gateway.............. 561
* [Systech] SysLINK SL-500.......... 571
* [BBE] Spectre IO.................. 581
* [Beckhoff] TwinCAT 2.............. 591
* [Beckhoff] TwinCAT 3.............. 592
* [Beckhoff] TwinCAT 2.............. 591
* [Beckhoff] TwinCAT 3.............. 592
* [Tesla Motors] Model S............ 601
* [MQTT] Client Connection.......... 611
* [CalAmp] CDM-5030 Local IO........ 621
* [GenICam] JAI Go 5000............. 700
* [MLAN] MLAN Device................ 800
* [Siemens] S7 Listener............. 1000
* [Siemens] SINUMERIK 840D.......... 1001
* [Siemens] PCS 7................... 1002
* [RTI] Analog Sensors.............. 80101
* [RTI] Display..................... 80102
* [AdLink] SEMA..................... 80201
* [Brooks Robotics] WAVE II......... 80301
* [ITW] MIT II TTL.................. 80401
* [ITW] Vulcan ABC7 Combi........... 80402
* [ITW] Warewash.................... 80403

API 函数

devicewise.connect(URL, callbackSuccess, callbackDisconnect, callbackError)

创建与 WebSocket API 扩展代理的 WebSocket 连接。

  • URL:要连接的 URL。WebSocket 代理在端口 9980 上进行侦听。在大多数情况下,WebSocket URL 为:"ws://_ipaddress_of_devicewise_gateway_:9980"。
  • callbackSuccess():身份验证成功后调用的回调函数。
  • callbackDisconnect():WebSocket 断开连接时调用的回调函数。
  • callbackError(errorCode):发生错误时调用的回调函数。返回错误代码。

devicewise.login(username, password, callbackSuccess, callbackError)

登录到 deviceWISE 网关运行时。

登录之前,您需要使用工作台在网关中新建用户。使用 Workbench(工作台)-> Administration(帐户管理)-> Security(安全性)选项卡以显示 Security(安全性)面板,然后选择 Users(用户)选项卡。
使用以下凭据新建用户

  • Name(名称):websocketapi
  • Password(密码):9cZbK9HFUtcTZY3Z
  • Role(角色):选择一个网关上定义的角色。
    有关用户、角色和策略的完整信息,请参见:安全性

新建用户后,即可使用以下凭据登录:

  • username(用户名):websocketapi
  • password(密码):wV7/btowyFzwgPlwhgPDV5jR1AaBVeoty9uQ3AjESxg=
  • callbackSuccess():身份验证成功后调用的回调函数。
  • callbackError(errorCode):发生错误时调用的回调函数。返回错误代码。

devicewise.login2(username, password, callbackSuccess, callbackError)

登录到 deviceWISE 网关运行时并保留会话。

登录之前,您需要使用工作台在网关中新建用户。使用 Workbench(工作台)-> Administration(帐户管理)-> Security(安全性)选项卡以显示 Security(安全性)面板,然后选择 Users(用户)选项卡。
使用以下凭据新建用户

  • Name(名称):websocketapi
  • Password(密码):9cZbK9HFUtcTZY3Z
  • Role(角色):选择一个网关上定义的角色。
    有关用户、角色和策略的完整信息,请参见:安全性

新建用户后,即可使用以下凭据登录:

  • username(用户名):websocketapi
  • password(密码):wV7/btowyFzwgPlwhgPDV5jR1AaBVeoty9uQ3AjESxg=
  • callbackSuccess(token):身份验证成功后调用的回调函数。函数将返回会话令牌。
  • callbackError(errorCode):发生错误时调用的回调函数。返回错误代码。

devicewise.loginToken(callbackSuccess, callbackError)

尝试为客户端恢复现有会话。要求以 "devicewise.login2()" 进行原始身份验证。

  • callbackSuccess():现有会话成功恢复后调用的回调函数
  • callbackError(errorCode):发生错误时调用的回调函数。返回错误代码。

devicewise.logout()

从 deviceWISE 网关运行时注销。注销后关闭 WebSocket 连接。

devicewise.read(device, variable, type, count, length, callbackSuccess, callbackError)

读取变量。

  • device(设备):要读取的设备。
  • variable(变量):要读取的变量。必须提供完整路径 (ex. folder1.folder2.variableName)。如果是从数组中读取,则包含读取起始位置的索引(例如 arrayVariable[0])。
  • type(类型):deviceWISE 数据类型。
  • count(计数):要从数组中读取的元素数量。若为标量读取,请使用 -1。
  • length(长度):deviceWISE 数据类型的长度。用于字符串数据类型。若为其他类型,请使用 -1 以继承长度。
  • callbackSuccess(data):返回读取数据的回调函数。
  • callbackError(errorCode):发生错误时调用的回调函数。返回错误代码。

devicewise.write(device, variable, type, count, length, data, callbackSuccess, callbackError)

写入变量。

  • device(设备):要写入的设备。
  • variable(变量):要写入的变量。必须提供完整路径 (ex. folder1.folder2.variableName)。如果是写入数组,则包含写入起始位置的索引(例如 arrayVariable[0])。
  • type(类型):deviceWISE 数据类型。
  • count(计数):要写入数组的元素数量。若为标量写入,请使用 -1。
  • length(长度):deviceWISE 数据类型的长度。用于字符串数据类型。若为其他类型,请使用 -1 以继承长度。
  • data(数据):要写入变量的数据。
  • callbackSuccess():成功完成后调用的回调函数。
  • callbackError(errorCode):发生错误时调用的回调函数。返回错误代码。

devicewise.subscribe(device, variable, rate, type, count, length, callbackSuccess, callbackError, callbackPublishReceived)

订阅变量。订阅数组的多个元素将导致为每个元素创建一个订阅。各元素间将共享回调函数。

  • device(设备):包含要订阅的变量的设备。
  • variable(变量):要订阅的变量。必须提供完整路径 (ex. folder1.folder2.variableName)。如果是订阅数组,则包含订阅起始位置的索引(例如 arrayVariable[0])。
  • rate(速率):订阅的轮询率,以秒为单位。
  • type(类型):deviceWISE 数据类型。
  • count(计数):一个数组要订阅的元素数量。若为标量写入,请使用 -1。
  • length(长度):deviceWISE 数据类型的长度。用于字符串数据类型。若为其他类型,请使用 -1 以继承长度。
  • callbackSuccess(subscriptionID, variableName):成功完成后调用的回调函数。返回订阅的 ID 和变量名称。
  • callbackError(errorCode):发生错误时调用的回调函数。返回错误代码。
  • callbackPublishReceived(dataStructure):收到给定订阅的数据发布时调用的回调函数。返回具有以下结构的 JSON 对象:

{

device: device containing subscription,
variable: variable name,
count: element count,
length: data length,
type: datatype,
value: published value,
subId: subscription ID,
cbSuccess: success callback,
cbError: error callback,
cbPublish: publish callback

}

devicewise.unsubscribe(subscriptionID, callbackSuccess, callbackError)

取消订阅变量。

  • subscriptionID:要取消订阅的订阅 ID。
  • callbackSuccess():成功删除订阅后调用的回调函数。
  • callbackError(errorCode):发生错误时调用的回调函数。返回错误代码。

devicewise.deviceList(callbackSuccess, callbackError)

获取 deviceWISE 网关上已定义设备的列表。

  • callbackSuccess(devices):收到设备列表后调用的回调函数。包含设备列表。列表中包含每个设备的名称、类型及其状态。
  • callbackError(errorCode):发生错误时调用的回调函数。返回错误代码。

响应

  • Name(名称):设备名称
  • Type(类型):deviceWISE 驱动程序代码列表中的设备类型。驱动程序代码列表见 deviceWISE 驱动程序代码列表部分。
  • State(状态):
    • 1 - 设备已启动。
    • 2 - 设备已停止。
    • 3 - 设备已禁用。
    • 4 - 设备正在启动
    • 5 - 设备正在停止
    • 6 - 未知

设备列表响应示例:
[
     {"name":"System Monitor","type":"311","state":"2"},
     {"name":"TestDevice","type":"9","state":"1"}
]

devicewise.triggerList(projectName, callbackSuccess, callbackError)

获取给定项目的触发器列表。

  • projectName(项目名称):从中获取触发器列表的项目的名称。
  • callbackSuccess(triggerArray):返回触发器列表的回调函数。每个触发器均包含名称、状态、成功执行的次数、正在进行的实例数量以及失败执行的次数。
  • callbackError(errorCode):发生错误时调用的回调函数。返回错误代码。

响应

  • Name(名称):触发器的名称
  • State(状态):
    • 1 - 触发器已启动。
    • 2 - 触发器已停止。
    • 3 - 触发器已禁用。
    • 4 - 设备正在启动
    • 5 - 设备正在停止
    • 6 - 未知
  • Successes(成功):以成功结束的执行次数。
  • InProgress(进行中):正在进行的执行数量。
  • Failures(失败):以失败结束的执行次数。

触发器列表响应示例:
[
    {"name":"TestTrigger1","state":"2","successes":"0","inProgress":"0","failures":"0"},
    {"name":"TestTrigger2","state":"2","successes":"0","inProgress":"0","failures":"0"}
]

devicewise.projectList(callbackSuccess, callbackError)

获取 deviceWISE 网关上已定义项目的列表。

  • callbackSuccess(projects):返回项目列表的回调函数。每个项目均包含名称和状态。
  • callbackError(errorCode):发生错误时调用的回调函数。返回错误代码。

响应

  • Name(名称):项目的名称
  • State(状态):
    • 1 - 项目已启动。
    • 2 - 项目已停止。

项目列表响应示例:
[
    {"name":"Project1","state":"2"},
    {"name":"Project2","state":"2"}
]

devicewise.triggerStart(projectName, triggerName, callbackSuccess, callbackError)

启动触发器。

  • projectName(项目名称):包含触发器的项目的名称。
  • triggerName(触发器名称):触发器的名称。
  • callbackSuccess():成功时调用的回调函数。
  • callbackError(errorCode):发生错误时调用的回调函数。返回错误代码。

devicewise.triggerFire(projectName, triggerName, callbackSuccess, callbackError)

激发触发器。

  • projectName(项目名称):包含触发器的项目的名称。
  • triggerName(触发器名称):触发器的名称。
  • callbackSuccess():成功时调用的回调函数。
  • callbackError(errorCode):发生错误时调用的回调函数。返回错误代码。

devicewise.triggerStop(projectName, triggerName, callbackSuccess, callbackError)

停止触发器。

  • projectName(项目名称):包含触发器的项目的名称。
  • triggerName(触发器名称):触发器的名称。
  • callbackSuccess():成功时调用的回调函数。
  • callbackError(errorCode):发生错误时调用的回调函数。返回错误代码。

devicewise.projectStart(projectName, callbackSuccess, callbackError)

启动项目。

  • projectName(项目名称):项目的名称。
  • callbackSuccess():成功时调用的回调函数。
  • callbackError(errorCode):发生错误时调用的回调函数。返回错误代码。

devicewise.projectStop(projectName, callbackSuccess, callbackError)

停止项目。

  • projectName(项目名称):项目的名称。
  • callbackSuccess():成功时调用的回调函数。
  • callbackError(errorCode):发生错误时调用的回调函数。返回错误代码。

devicewise.deviceInfo(device, callbackSuccess, callbackError)

获取设备信息。

  • device(设备):要查询信息的设备的名称。
  • callbackSuccess(xmlString):包含具有设备信息的 xml 字符串的回调函数。
  • callbackError(errorCode):发生错误时调用的回调函数。返回错误代码。

响应

  • Type(类型):deviceWISE 驱动程序代码列表中的设备类型。驱动程序代码列表见 deviceWISE 驱动程序代码列表部分。
  • Type_name(类型名称):deviceWISE 驱动程序代码列表中的设备型号名。
  • State(状态):
    • 1 - 设备已启动。
    • 2 - 设备已停止。
    • 3 - 设备已禁用。
    • 4 - 设备正在启动
    • 5 - 设备正在停止
    • 6 - 未知
  • 变量:
    • Name(名称):变量名称
    • Type(类型):变量数据类型
    • xdin - X 维(数组点)
    • ydim - Y 维(2D 数组)
    • zdim - Z 维(3D 数组)

设备信息 XML 响应示例:

<?xml version="1.0" encoding="UTF-8"?>
<DeviceDefinition name="TestDevice" type="9" type_name="Global Variables" state="1" options="2104"><Variables><VariableInfo name="boolArray" type="BOOL" xdim="3" options="7"/><VariableInfo name="bool" type="BOOL" options="7"/><VariableInfo name="int1" type="INT1" options="7"/><VariableInfo name="int2" type="INT2" options="7"/><VariableInfo name="int4" type="INT4" options="7"/><VariableInfo name="int8" type="INT8" options="7"/><VariableInfo name="uint1" type="UINT1" options="7"/><VariableInfo name="uint2" type="UINT2" options="7"/><VariableInfo name="uint4" type="UINT4" options="7"/><VariableInfo name="uint8" type="UINT8" options="7"/><VariableInfo name="float4" type="FLOAT4" options="7"/><VariableInfo name="float8" type="FLOAT8" options="7"/><VariableInfo name="string" type="STRING" length="32" options="7"/><VariableInfo name="boolMatrix" type="BOOL" xdim="100" options="7"/><VariableInfo name="int1Array" type="INT1" xdim="3" options="7"/><VariableInfo name="int2Array" type="INT2" xdim="3" options="7"/><VariableInfo name="int4Array" type="INT4" xdim="3" options="7"/><VariableInfo name="int8Array" type="INT8" xdim="3" options="7"/><VariableInfo name="uint1Array" type="UINT1" xdim="3" options="7"/><VariableInfo name="uint2Array" type="UINT2" xdim="3" options="7"/><VariableInfo name="uint4Array" type="UINT4" xdim="3" options="7"/><VariableInfo name="uint8Array" type="UINT8" xdim="3" options="7"/><VariableInfo name="float4Array" type="FLOAT4" xdim="3" options="7"/><VariableInfo name="float8Array" type="FLOAT8" xdim="3" options="7"/><VariableInfo name="stringArray" type="STRING" xdim="3" length="32" options="7"/></Variables><Structures/><MappedDescriptions/></DeviceDefinition>

devicewise.deviceStart(device, callbackSuccess, callbackError)

启动设备。

  • device(设备):要启动的设备。
  • callbackSuccess(xmlString):包含具有设备信息的 xml 字符串的回调函数。
  • callbackError(errorCode):发生错误时调用的回调函数。返回错误代码。

devicewise.deviceStop(device, callbackSuccess, callbackError)

停止设备。

  • device(设备):要停止的设备的名称。
  • callbackSuccess(xmlString):包含具有设备信息的 xml 字符串的回调函数。
  • callbackError(errorCode):发生错误时调用的回调函数。返回错误代码。

devicewise.channelSubscribe(channel, callbackSuccess, callbackError, callbackPost)

订阅 deviceWISE 信道。

  • channel(信道):要订阅的信道。

    DW 可用信道 展开源
    PROJECT
    TRIGGER
    ALERT
    DISKWATCH_CHANNEL
    EXPORT
    FTPSERVER
    LICENSE
    LOGGING
    TIME
    SESSION
    SYSTEM
    SECURITY
    DEVICE
    MAPPER
    VARGROUP
    USEROP
    ASSET
    SAF
    MAPLOG
    TR50 SAF QUEUE
    TR50 SAF CONNECTIONS
    TR50 SAF PROFILE
  • callbackSuccess():成功时调用的回调函数。
  • callbackError(errorCode):发生错误时调用的回调函数。返回错误代码。
  • callbackPost(data):收到信道发布时调用的回调函数。响应是包含发布具体信息的字符串数组。

响应示例:订阅信道 "TRIGGER"(触发器)

  • Format(格式):("TRIGGER", LoadStatus, ProjectName, TriggerName, Status, State, User)

  • Load Status(加载状态):

    • 1 - Add(添加)

    • 2 - Delete(删除)

    • 3 - Edit(编辑)

    • 4 - State Change(状态更改)

    • 5 - Load Status Changed(加载状态已更改)

  • Project Name(项目名称):项目的名称

  • Trigger Name(触发器名称):触发器的名称

  • Status(状态):

    • 1 - Loaded(已加载)

    • 2 - Unloaded(已卸载)

    • 3 - Loading(正在加载)

    • 4 - Unloading(正在卸载)

  • State(状态):

    • 1 - Started(已启动)

    • 2 - Stopped(已停止)

    • 3 - Disabled(已禁用)

  • User(用户):触发器的最后一个用户。仅在用户设置状态时显示。

触发器的启动和停止日志(最新条目显示在底部):

  • Stopping (unloading & started... stopped... unloaded & stopped)
    • TRIGGER,5,WebAPI,TestTrigger,2,2
      Load Status Change, Unloaded, Stopped
    • TRIGGER,4,WebAPI,TestTrigger,2
      Status Change, Stopped
    • TRIGGER,5,WebAPI,TestTrigger,4,1
      Load Status Change, Unloading, Started
  • Starting (loading & stopped, started, loaded & started)
    • TRIGGER,5,WebAPI,TestTrigger,1,1
      Load Status Change, Loaded, Started
    • TRIGGER,4,WebAPI,TestTrigger,1,admin
      State Change, Started, admin
    • TRIGGER,5,WebAPI,TestTrigger,3,2
      Load Status Change, Loading, Stopped

devicewise.networkPing(IPAddress, numPings, callbackSuccess, callbackError)

Ping IP 地址。

  • IPAddress(IP 地址):要 Ping 的 IP 地址。
  • numPings:要发送的 Ping 数量。
  • callbackSuccess(data):成功时调用的回调函数。返回带有 Ping 响应时间的数组,以毫秒为单位。
  • callbackError(errorCode):发生错误时调用的回调函数。返回错误代码。

响应:

响应时间数组,以毫秒为单位

[ping1response, ping2response, ping3response, ping4response]

网络 Ping 响应示例:
[2, 3, 2, 2]

devicewise.referenceList(sourceType, source, options, callbackSuccess, callbackError)

获取引用列表。

  • sourceType(源类型):要获取引用的对象类型。

    可用的引用类型
    Administration
    Local Database
    Security
    TR50 Connection
    device
    alerts
    attention bit
    dbtable
    ftp server
    os
    license
    policy
    project
    report
    role
    system
    timesync
    transaction
    transport
    trigger
    user
  • source(来源):要获取引用的对象名称。必须与 sourceType(源类型)具有相同的类型。
  • 引用方向:
    • 0 - 向前:被来源引用
    • 1 - 向后:引用来源
    • 2 - 两者:引用来源以及被来源引用。
  • callbackSuccess(data):成功时调用的回调函数。返回包含引用信息的 xml 字符串。
  • callbackError(errorCode):发生错误时调用的回调函数。返回错误代码。

返回的 XML

  • crossreference name(交叉引用名称):来源名称。
  • referencedby name(引用方名称):引用该来源的名称。
  • type(类型):引用的类型。

引用列表响应示例:
<?xml version="1.0" encoding="UTF-8"?> <crossreference name="TestDevice" type="device"><referenceby name="WebAPI/TestTrigger" type="trigger"><referenceby name="WebAPI" type="project"/></referenceby></crossreference>
本例中 TestDevice 是触发器 WebAPI/TestTrigger 以及项目 WebAPI 所引用的设备。这是有意义的,因为 TestDevice 将由一个触发器 WebAPI/TestTrigger(作为项目 WebAPI 的一部分)使用。

devicewise.SQLiteExec(query, callbackSuccess, callbackError)

执行 SQLite 查询。

  • query(查询):要执行的查询字符串。
  • callbackSuccess(data):处理 SQLite 响应的回调函数。响应是数据数组,其结构基于查询类型。
  • callbackError(errorCode):发生错误时调用的回调函数。返回错误代码。

SQLiteExec 响应示例 1

  • Query(查询):插入到 SampleTable 值中 ("samplevalue")
  • Response(响应):受影响的行:1

SQLiteExec 响应示例 2

  • Query(查询):SELECT * FROM SampleTable;
  • Response(响应):1,1,SampleTable;,SampleColumn,samplevalue

错误代码

可以从 deviceWISE 工作台查找错误代码,其方法是选择右上角的 Help(帮助) 菜单,然后选择Error Lookup(错误查找)

Web 演示应用

Demo Web App 是一款基于 Web 浏览器的应用,可用于测试所有 WebSocket API 扩展 Javascript 库函数。

WebSocketAPI_Demo_Project_and_Device.dwx 包括用于测试 Web 演示应用的 deviceWISE 项目、触发器和设备的示例。

如果想要测试 SQLite 库函数,则可以导入 Demo Table(演示表)。

要运行 Web 演示应用:

Web 演示应用的用户界面应如下图所示: