工业连接示例
使用 ThingWorx 中的工业连接,您可以连接到 ThingWorx Kepware Server,以对 ThingWorx Kepware Server 中的标记进行建模和配置,并将其绑定到 ThingWorx 模型中的事物。
* 
本示例假定已安装并运行 ThingWorx 8.0 或更高版本。
在 ThingWorx 中创建应用程序密钥和事物
要连接到 ThingWorx Kepware Server,必须创建应用程序密钥和使用 IndustrialGateway 事物模板的事物。
1. 在 ThingWorx 中创建应用程序密钥。复制“密钥 ID”以供日后使用。
2. 在 ThingWorx 中创建事物。请记住该事物的“名称”,以便后续用于 ThingWorx Kepware Server。
* 
在本示例中,事物命名为 ThingWorxKepwareServer
3. “基本事物模板”字段中,选择 IndustrialGateway
4. 单击“保存”
安装 ThingWorx Kepware Server
1. 下载并启动 ThingWorx Kepware Server 的安装程序。
2. 在欢迎页面上,单击 Next
3. 接收许可协议并单击 Next
4. 接受或更改安装位置,然后单击 Next
5. 接受或更改数据位置,然后单击 Next
6. 接受或禁用在桌面上安装 ThingWorx Kepware Server 快捷方式,然后单击 Next
7. 根据需要选择一个套件,然后单击 Next
8. 单击 Full Installation 左侧的图标,然后选择 Entire feature will be installed on local hard drive,或启用适合您操作环境的功能。
9. 验证您的选择,然后单击 Next (或单击 Back 以进行修改)。
10. 启用动态寻址 (根据需要),然后单击 Next
11. 设置高强度管理员密码 (或跳过此次设置),然后单击 Next
12. 单击 Install
13. 单击 Finish
ThingWorx Kepware Server 图标随即会出现在桌面上。
配置 ThingWorx Kepware Server 并将其连接至 ThingWorx
1. 从桌面图标运行 ThingWorx Kepware Server 配置。“配置”窗口随即打开。
2. 右键单击“项目”,然后选择“属性”
3. “属性编辑器”中,选择 ThingWorx
4. 配置如下 (此处未列出的设置可保持为默认值):
“启用”设置为“是”
“主机”- ThingWorx 实例的 IP 或完全限定域名。
“端口”- ThingWorx 的响应端口 (通常为 80 或 443)。
“应用程序密钥”- 先前创建的应用程序密钥的“密钥 ID”
“信任自签名证书”- 如果您的平台具有自签名证书,则更改为“是”。为实现最大的安全性,请设置为“否”
“信任所有证书”- 禁用或启用某些自签名证书所需的严格证书检查。为实现最大的安全性,请设置为“否”
“禁用加密”- 如果未在平台上使用 SSL 加密,则将其设置为“是”。为实现最大的安全性,请设置为“否”
* 
未加密的通信有安全风险,应该仅在小规模测试期间或者在周围环境通过其他方法进行了良好的保护时启用。
“事物名称”- 之前在 ThingWorx 中创建的 IndustrialGateway 事物的名称。
* 
“事物名称”必须与 IndustrialGateway 事物的名称完全匹配 (区分大小写)。
5. 单击“应用”。ThingWorx Kepware Server 将尝试连接至 ThingWorx。
* 
在评估过程中,使用具有 ThingWorx Kepware Server 的仿真器驱动程序来获取示例数据和标记可能对您有所帮助。请参阅 仿真器驱动程序手册。
将 ThingWorx Kepware Server 中的标记绑定到 ThingWorx 中的属性
现在,ThingWorx Kepware Server 已连接至 ThingWorx,查找与 ThingWorx Kepware Server 相连接的 IndustrialGateway 事物,并将 ThingWorx Kepware Server 中的标记绑定到 ThingWorx 中的属性。
1. 打开 Composer
2. 单击“浏览”>“工业连接”
* 
如果未建立任何连接,则不会显示工业连接。如果 ThingWorx Kepware Server 已安装但并未连接,那么请从桌面工具栏上的 ThingWorx Kepware Server 图标中单击“启动运行时服务”
3. ThingWorx Kepware Server 运行时,将显示工业连接事物。如果带有数据库图标的列无选中标记,那么请保存该事物以将其持久保留。
a. 单击实体名称。
b. 单击“保存”
4. “工业连接”标题下拉菜单中,单击“发现”。单击加号 (+) 展开 ThingWorx Kepware Server 中的信道和设备。
5. 单击单个设备可列出其下可用的标记。在要添加到新建资产的标记旁边勾选,然后单击“绑定到‘新建实体’”
6. 选取一个事物模板,然后单击“确定”
* 
必须选择远程模板类型。
7. 新事物创建屏幕随即显示。将配置和绑定信息配置为通过 ThingWorx Kepware Server 自动连接新事物。提供事物“名称”
8. 单击“保存”
* 
在保存时,IndustrialThingShape 由事物实现,且不能将其从事物中移除。若事物的基本事物模板衍生自一个已实现 IndustrialThingShape 的远程事物,则在保存该事物时仅允许远程绑定基于标记地址。
* 
ThingWorx 不支持 IndustrialThingShapes 的属性继承。
在覆盖事物的某个属性后,在事物形态上围绕该属性绑定所做的任何更改都不会反映出来。这仅限于绑定。如果在某个实例上更改了属性的基本类型,则将传播该更改。
必须删除事物上的已改写属性(即撤消改写),以便对事物形态所做的任何与绑定相关的更改都将反映在该事物上。
9. 在工业连接标题下拉菜单中,选择“属性和警报”。单击“刷新”。值将随 ThingWorx Kepware Server 中的当前数据进行变化。
10. 单击“名称”列中的任何属性来查看或编辑任何属性。
* 
信息表类型属性的推送类型必须设置为“始终推送”
* 
以下属性特定于工业连接事物:
“标记地址”:存在于 ThingWorx Kepware Server 中的标记地址。属性名称和绑定标记地址不需要相同。
“工业数据类型”:存在于 ThingWorx Kepware Server 中的数据类型。这与 ThingWorx 中的基本类型一致。
“推送类型”:默认推送类型是“基于值更改推送”。尽管“基于死区推送”“基于值更改推送”相似,但其所推送的值略有不同。例如,如果设备的值为 1、2、3 和 4,推送类型为“基于值更改推送”,且“推送阈值”为 2,则将从 Edge 推送的值为 1。但该值不会被再次推送,因为其更改幅度仅为 1。如果此示例中的推送类型设置为“基于死区推送”,则将会推送值 1 和 3,因为更改存在于最后推送的值之间,而不是在 Edge 和最后的值之间。
* 
“基于死区推送”推送类型仅适用于 ThingWorx Kepware Server 工业连接。
11. 要将其他标记绑定到现有实体,单击“添加”以访问“新建属性”属性。分配名称和其他所需属性,小心选择“绑定”下的“远程绑定”。在“标记地址”下单击“添加”以选择其他欲绑定至选定实体的标记。
* 
或者,选择“动态标记”选项、输入一个动态标记地址并选择“工业数据类型”,然后单击“完成”
工业网关诊断属性
IndustrialGateway 上存在几个诊断属性,可用于获取 ThingWorx Kepware Server 的状况信息。
* 
所有计数属性均记录到值流。
ActiveTagCount - 绑定到平台中属性的标记数目。由 ThingWorx Kepware Server 向所有已连接客户端提供的活动标记数目。
ClientCount - 连接到 ThingWorx Kepware Server 的所有 OPC DA 客户端的数量。
DateTime - 针对本地时区调整的当前日期和时间。
DroppedUpdates - 已被 ThingWorx Kepware Server 删除,而未传送到平台的更新次数。
* 
不应使用此值验证连接,因为它可能为已删除的更新。
ExpiredFeatures - ThingWorx Kepware Server 功能 (例如驱动程序或插件) 的名称已过期,且不再提供数据,直至服务器运行时间已停止并重启,或直至功能获得许可。
FullProjectName - 当前正在运行的 ThingWorx Kepware Server 项目文件的完整名称和位置。
Hostname - 运行 ThingWorx Kepware Server 的计算机的主机名。
IndustrialThingCount - 使用此 IndustrialGateway 将数据提供到平台的远程事物数目。
isConnected - ThingWorx Kepware Server 服务器的连接状态。
lastConnected - ThingWorx Kepware Server 服务器的上一次良好连接时间。
LicensedFeatures - 已在此 ThingWorx Kepware Server 实例上授权的 ThingWorx Kepware Server 功能的名称,例如驱动程序或插件。
OpcClientNames - 已连接的 OPC DA 客户端的名称 (如果提供)。
ProductName - 使用工业网关事物模板的软件名称。
ProductVersion - 使用工业网关事物模板的软件版本。
ProjectName - ThingWorx Kepware Server 所使用的项目文件的名称。
ProjectTitle - ThingWorx Kepware Server 所使用的项目文件的标题。
PropertyCount - 平台上与远程事物关联的属性数目。
TimeLimitedFeatures - 未在此 ThingWorx Kepware Server 实例上授权但正在提供数据的 ThingWorx Kepware Server 功能的名称,例如驱动程序或插件。
TotalTagCount - 分配给所有客户端的标记数目。
UpdatesPerSecond - 从 ThingWorx Kepware Server 推送至 ThingWorx 的平均更新数。
服务
使用这些服务之一来管理工业连接。
服务
说明
BrowseItems
输入 pathfilter。筛选器是可选的。
* 
示例路径:Channel1.Device1
返回:SourceType (例如 Word 或 Word Array) 是在 ThingWorx Kepware Server 中定义的数据类型,并与 ThingWorx 中的基本类型相关联。
此服务将筛选器作为自变量,允许搜索特定的标记名称。可在此筛选字段中使用的筛选技术包括:
* 通配符 - 匹配任何字符集。
? 单字符通配符 - 匹配任意单个字符。
[...] 包含字符集 - 匹配括号中包含的任意单个字符。字符范围可用短划线表示:'c-j'。
[!...] 排除字符集 - 匹配括号内未包含的任意单个字符。字符范围可用短划线表示:'c-j'。
# 数字 - 匹配任何数字字符。
BrowseGroups
输入 pathfilter。如果 path 未定义,则会返回所有组。
GetIndustrialThings
返回通过 IndustrialGateway 事物模板连接的所有事物。您还可以通过查看 ThingWorx 中的远程事物混搭来查看此信息。
GetPropertySubscriptions
您可以使用此服务 (在远程事物上) 来返回特性 (由 ThingWorx Kepware Server 定义的属性)。
* 
特性示例:
{ "industrialDataType": "Word", "tagAddress": "Channel2.Device1.Tag11", "scanRate": 1000 }
GetBoundItems
maxItems 输入编号。返回与运行服务的事物绑定的所有标记。
* 
绑定标记信息也可以在“绑定的标记”工业网关事物区域中找到。
GetPropertyDiagnostics
使用 IndustrialThingShape 时,已添加的远程事物可使用。此服务采用目前绑定至服务运行时所在事物的属性的本地名称并返回下列信息:
Description -
ThingWorx Kepware Server 上的说明字段。
Valid - 布尔值。该属性在 ThingWorx Kepware Server 上是否有效?
DriverFriendlyName:显示给用户的用于生成标记的驱动程序的名称。
Model - 用于生成标记的驱动程序下的设备型号。
Error - 布尔值。设备是否存在错误?
Name - ThingWorx Kepware Server 中的地址名称。
DriverPersistedName - 用于生成标记的驱动程序的 ThingWorx Kepware Server 名称。
Address:ThingWorx Kepware Server 中标记的物理地址。
DataType - ThingWorx Kepware Server 中所示的工业数据类型。
ReadOnly - 布尔值。如果为 true,则标记为只读。
CurrentValue - 执行服务时的标记值。
CurrentQuality - 执行服务时的标记质量。
CurrentTimestamp - 执行服务时读取标记的时间。
GetDiagnosticDigest
在工业网关事物上可用。此服务可采用任何标记地址,并返回来自 ThingWorx Kepware Server 的标记诊断信息。这是唯一可以在 ThingWorx Kepware Server 实例上使用静态或动态地址来提供信息的诊断服务,这意味着该标记无需绑定到此服务平台上的属性即可返回结果。每个返回字段的定义与 GetPropertyDiagnostics 服务相同 (请参阅上文)。
通过 CSV 文件导入事物
您可以使用 CSV 导入扩展将事物导入 ThingWorx。此扩展包括 ImportRepositoryImportHelperImportMashup 以及 TestImport.csv 示例文件。
1. 获取扩展并将其导入 ThingWorx。此扩展可从 support.ptc.com 中的以下位置获取:“下载软件”>“订购或下载软件更新”> ThingWorx Foundation >“版本 <最新版本>”> ThingWorx CSV Import for Industrial Connectivity >“最近的日期代码”> CSV-Import-Extension-Package
2. 打开 ImportMashup
* 
单击“导入格式”链接会显示文件的格式。
3. 单击“选择文件”,然后导航至 CSV 文件来导入。文件上载到平台,从而使得平台可以读取文件。
4. 单击“上载”
5. 如有必要,请单击“我的 CSV 文件具有标题行”
6. 单击“导入”
7. 在 Composer 中,您将看到通过 CSV 文件导入的所有事物。