設定 ServiceMax 事件的自動建立
以下章節將說明該如何根據 ThingWorx 警示與訂閱,設定 ServiceMax 中的事件自動建立功能。
建立警示
1. 在 ThingWorx Composer 中尋找您資產,例如 Asset_PTC.SCA.SCO.Demo.Sim.Pump1。
2. 在「屬性與警示」之下,找出您想要新增警示的屬性,例如溫度,然後按一下「警示」欄中的 。
3. 輸入該警示的必要資訊,例如:
資訊 | 值 |
---|
已啟用 | (選取核取方塊) |
名稱 | HighTemperature |
描述 | 在操作期間偵測到較高溫度 |
屬性 | 溫度 |
警示類型 | 在範圍內 |
最小值 | 300 |
是否包含最小值? | (選取核取方塊) |
最大值 | 400 |
是否包含最大值? | (清除核取方塊) |
優先順序 | 3 |
5. 按一下「儲存」。
建立訂閱
1. 在 ThingWorx Composer 中尋找您資產,例如 Asset_PTC.SCA.SCO.Demo.Sim.Pump1。
2. 在「訂閱」之下點按「新增」。
3. 完成訂閱資訊:
◦ 在「訂閱資訊」之下:
▪ 來源 - Me
▪ 已啟用 - (選取核取方塊)
◦ 在「輸入」之下:
▪ 事件 - 警示
▪ 屬性 - 溫度
4. 新增您的指令集以呼叫 PTC.SCA.SCO.AssetService.Connector.ServiceMax 的適當服務。若需更多資訊,請參閱程序的範例指令集。
5. 按一下「完成」。
6. 按一下「儲存」。
範例指令集
| 為呈現操作方式,下列編碼範例已重設格式,因此可能包括隱藏的編輯字元,例如標籤、行尾字元和多餘空格。如果您複製並貼上這些範例,請在嘗試於應用程式中使用該編碼前,檢查是否存在這些字元並將其移除。 |
建立 ServiceRequest 指令集:
var otherParams = {
infoTableName: "othersInfoTable", /* STRING */
dataShapeName: "PTC.SCA.SCO.AssetService.Connector.ServiceMaxApiPayloadDataShape.OthersDataShape" /* DATASHAPENAME */
};
// result: INFOTABLE
var othersInfoTable = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape(otherParams);
var othersRow = {
'FieldName': 'AssetSerialNumber',
'FieldValue': 'MySerialNumber'
};
othersInfoTable.AddRow(othersRow);
var params = {
infoTableName: "InfoTable", /* STRING */
dataShapeName: "PTC.SCA.SCO.AssetService.Connector.ServiceMaxApiPayloadDataShape" /* DATASHAPENAME */
};
// result: INFOTABLE
var payloadInfoTable = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape(params);
var payloadInfoTableRow = {
'EventDataName': eventData.name,
'EventDataPriority': eventData.priority,
'EventDataMessage': eventData.message,
'EventDataDescription': eventData.description,
'EventDataAlertType': eventData.alertType,
'EventDataSourceProperty': sourceProperty,
'AssetThingName': source,
'EventDataEventTime': '2018-12-00 12:00:00',
'AssetSerialNumber' : ‘MySerialNumber’,
'AssetModelNumber': ‘MyModelNumber’,
'Others': othersInfoTable,
};
payloadInfoTable.AddRow(payloadInfoTableRow);
// create service request
var result = Things["PTC.SCA.SCO.AssetService.Connector.ServiceMaxConnector"].CreateServiceRequest ({eventInfo: payloadInfoTable,alternatePayload:null});
建立 Case 指令集:
var otherParams = {
infoTableName: "othersInfoTable", /* STRING */
dataShapeName: "PTC.SCA.SCO.AssetService.Connector.ServiceMaxApiPayloadDataShape.OthersDataShape" /* DATASHAPENAME */
};
// result: INFOTABLE
var othersInfoTable = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape(otherParams);
var othersRow = {
'FieldName': 'AssetSerialNumber',
'FieldValue': 'MySerialNumber'
};
othersInfoTable.AddRow(othersRow);
var params = {
infoTableName: "InfoTable", /* STRING */
dataShapeName: "PTC.SCA.SCO.AssetService.Connector.ServiceMaxApiPayloadDataShape" /* DATASHAPENAME */
};
// result: INFOTABLE
var payloadInfoTable = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape(params);
var payloadInfoTableRow = {
'EventDataName': eventData.name,
'EventDataPriority': eventData.priority,
'EventDataMessage': eventData.message,
'EventDataDescription': eventData.description,
'EventDataAlertType': eventData.alertType,
'EventDataSourceProperty': sourceProperty,
'AssetThingName': source,
'EventDataEventTime': '2018-12-00 12:00:00',
'AssetSerialNumber' : ‘MySerialNumber’,
'AssetModelNumber': ‘MyModelNumber’,
'Others': othersInfoTable,
};
payloadInfoTable.AddRow(payloadInfoTableRow);
// create case
var result = Things["PTC.SCA.SCO.AssetService.Connector.ServiceMaxConnector"].CreateCase({eventInfo: payloadInfoTable,alternatePayload:null});
建立 WorkOrder 指令集:
var otherParams = {
infoTableName: "othersInfoTable", /* STRING */
dataShapeName: "PTC.SCA.SCO.AssetService.Connector.ServiceMaxApiPayloadDataShape.OthersDataShape" /* DATASHAPENAME */
};
// result: INFOTABLE
var othersInfoTable = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape(otherParams);
var othersRow = {
'FieldName': 'AssetSerialNumber',
'FieldValue': 'MySerialNumber'
};
othersInfoTable.AddRow(othersRow);
var params = {
infoTableName: "InfoTable", /* STRING */
dataShapeName: "PTC.SCA.SCO.AssetService.Connector.ServiceMaxApiPayloadDataShape" /* DATASHAPENAME */
};
// result: INFOTABLE
var payloadInfoTable = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape(params);
var payloadInfoTableRow = {
'EventDataName': eventData.name,
'EventDataPriority': eventData.priority,
'EventDataMessage': eventData.message,
'EventDataDescription': eventData.description,
'EventDataAlertType': eventData.alertType,
'EventDataSourceProperty': sourceProperty,
'AssetThingName': source,
'EventDataEventTime': '2018-12-00 12:00:00',
'AssetSerialNumber' : ‘MySerialNumber’,
'AssetModelNumber': ‘MyModelNumber’,
'Others': othersInfoTable,
};
payloadInfoTable.AddRow(payloadInfoTableRow);
// create workorder
var result = Things["PTC.SCA.SCO.AssetService.Connector.ServiceMaxConnector"].CreateWorkOrder({eventInfo: payloadInfoTableRow,alternatePayload:null});