Composer 中的 ThingWorx 模型定义 > 建模 > 事物 > 事物属性 > 以编程方式向事物添加属性
以编程方式向事物添加属性
AddPropertyDefinition 服务可用来在事物、事物模板或事物形态中创建新的本地或远程绑定属性。该服务具有以下参数:
参数
基本类型
说明
名称
STRING
必需。要创建的属性的名称。
type
BASETYPENAME
必需。ThingWorx 属性的基本类型。有关 ThingWorx 基本类型的列表,请参阅 事物属性中的表格“基本类型”。
description
STRING
该属性的说明。
类别
STRING
用于对属性进行分类的类别名称。
dataShape
DATASHAPENAME
当属性基本类型为 INFOTABLE 时,用于定义属性所使用的数据形状。
运行服务之前,为此参数指定的数据形状必须存在。
此参数为非必填参数。但是,不能在未指定数据形状的情况下通过 Composer (使用“设置”按钮) 来设置信息表。
defaultValue
STRING
指定属性的默认值。
readOnly
BOOLEAN
如果此属性为只读,则返回 true,否则返回 false。
persistent
BOOLEAN
如果值在重新启动 ThingWorx 服务时保留 (值存储在持久化方案提供工具中),则返回 true;而如果值在重新启动 ThingWorx 服务时被清除,则返回 false。
logged
BOOLEAN
如果为 true,该属性将存储在配置的值流中。
dataChangeType
STRING
定义构成属性值变化的内容,以实现日志记录/警报目的。可选择下列内容之一:“始终”“从不”“开启”“关闭”“值”
“始终”- 针对任何属性值更改均触发更改事件。
“从不”- 从不针对属性值更改触发更改事件。
“开启”- 对于大多数值,任何属性更改都会触发数据更改事件。
“关闭”- 如果新值的计算结果为布尔值 false,则会触发数据更改事件。
“值”- 对于数字类型 (NUMBER、INTEGER、LONG 等),如果旧属性值与新属性值之间的差值超过 dataChangeThreshold 参数中指定的阈值,则会触发更改事件。
dataChangeThreshold
NUMBER
在触发数据更改事件前,数值属性应更改的次数的最小值。
远程属性
远程绑定属性存在其他参数。它们被指定为 remoteBindingAspects 的数组。
* 
除非正在定义的属性将绑定到远程属性,否则不需要指定这些属性。
参数
基本类型
说明
remote
BOOLEAN
如果将属性绑定到远程属性,则返回 true,否则返回 false。(默认值 false)
remotePropertyName
STRING
要绑定到远程事物的属性的名称。
cacheMethod
STRING
读取绑定 Edge 属性值的方法:
Read from server cache 禁止服务器向 Edge 请求属性值。该值将始终从服务器缓存中检索。缓存值的任何更新都取决于属性的 dataChangeType 和扫描率。如果未在 Edge 上对属性进行属性设置,则服务器可能无法获取 Edge 中的值,并且只能返回存储在服务器上的默认值。如果属性的 dataChangeType 为 ALWAYS 或 VALUE,则 cacheMethod 默认为此设置。
Fetch from remote every read 会针对每个请求检索 Edge 中的值。此选项不涉及缓存。如果属性的 dataChangeType 为 NEVER,则缓存类型默认为此设置。
Cached for specific time 允许您控制向 Edge 发出请求的频率。在第一次请求之后,服务器会访问 Edge 设备上的属性以获取其值。在已定义的 cacheInterval 到期之前,不会对 Edge 进行另一个请求。请注意,Edge 设备可能会在此期间内更新服务器上的值 (通过推送)。
cacheInterval
NUMBER
cacheMethodCached for specific time 时,服务器在将请求发送到 Edge 以获取属性值之前用于缓存属性值的秒数。在第一次请求时,系统始终从 Edge 中检索该值。
timeout
INTEGER
等待远程事物响应的时间 (以秒为单位)。
* 
将此值设置为 0 将使用系统默认设置。
pushType
STRING
用于定义如何从远程设备推送值。设置为“始终”、“从不”、“打开”、“关闭”或“值”,定义类似于上方的 dataChangeType
pushThreshold
NUMBER
定义在将数据更改推送到远程设备之前,数字类型属性必须超过的阈值。