构建基块 > 特定于解决方案的构建基块 > 运营 KPI 构建基块 > 其他自动化信息 (运营 KPI 构建基块)
其他自动化信息 (运营 KPI 构建基块)
使用数据自动化和运营 KPI 构建基块时,请知晓以下信息。
批处理自动化事件
PTC.OperationKPI.AutomationEventProcessor_TI 计时器实体的计时器事件每 5 分钟运行一次,且每个定拍单元在订阅事件时都会执行主要自动化事件处理服务:ProcessPTCAutomationEvents。然后会执行多批处理,直到该定拍单元不再有需要处理的事件。
每个定拍单元都会执行批处理。按顺序执行的主要操作有:
1. 查询尚未处理的事件数据的值流。该查询将返回时间戳晚于当前 PTCLastProcessedEventTimestamp 属性值的所有事件的条目。
2. 各个时间戳对应的查询事件按以下事件类型依次处理:作业单 (PTCJobOrderID)、物料主数据 (PTCMaterialMasterID)、目标数量 (PTCTargetQuantity)、可用性 (PTCAvailabilityEventFaultCode)、产品计数 (PTCProductionCount) 和次品计数 (PTCScrapCount)。
3. 对产品计数和次品计数事件进行缓冲,以合并写入的数据库条目。
4. 将缓冲的产品计数和次品计数插入到 DPM 数据库中。
成功处理各个事件后,PTCLastProcessedEventTimestamp 属性会更新。对于产品计数和次品计数,只有将所有分组后的计数都插入到该数据库中后,才会更新 PTCLastProcessedEventTimestamp 属性。将所有缓冲组中的最新时间戳设置为 PTCLastProcessedEventTimestamp 属性值。
缓冲产品计数和次品计数事件
批处理期间,产品计数和次品计数事件会在内存中进行缓冲和组织。每个条目都以特定组的形式进行组织,具体如下所述。所处理的每个值都会在该特定组的条目中增加计数值。
次品计数事件按机器代码、作业单 ID、班次和生产区块 ID 进行分组。当班次未知时,将使用值 UNKNOWNSHIFT 代替班次编号。
产品计数事件按作业单 ID、班次和生产区块进行分组。当生产区块未知时,将使用值 UNKNOWNPB 代替生产区块编号。
缓冲计数,直到处理非计数事件或到达查询结果的末尾。此时,计数被插入到 DPM 数据库中。PTCLastProcessedEventTimestamp 属性设置为所有缓冲计数组中的最新事件时间戳。
数据质量
对于质量为 GOOD 的定拍单元,只有传入的自动属性值才会写入值流。因此,可通过订阅每个自动属性的数据更改事件来完成此操作。此订阅会调用 AddPTCValueStreamEntry 服务,并在将属性值添加到值流之前验证质量是否为 GOOD
计划的属性数据清除
PTC.OperationKPI.AutomationPurgeScheduler 计划程序实体用于控制各个定拍单元的值流数据的清除。PTC.OperationKPI.AutomationPurgeScheduler 实体的 dataAgeInHours 属性用于确定已清除数据的时间范围。
此时间范围的结束时间为当前时间减去 dataAgeInHours 值,或减去定拍单元 PTCLastProcessedEventTimestamp 属性的时间戳,以两者中较晚者为准。时间范围的开始时间为时间范围的结束时间减去 dataAgeInHours 值。
例如,如果 dataAgeInHours 值为 24 (默认值),且定拍单元 A 的 PTCLastProcessedEventTimestamp 属性值不晚于当前时间之前的 24 小时,则时间范围的结束时间为当前时间之前的 24 小时。而时间范围的开始时间为当前时间之前的 48 小时或结束时间之前的 24 小时。也就是说,当 PTC.OperationKPI.AutomationPurgeScheduler 实体清除定拍单元 A 的数据时,清除时间戳介于 24 小时到 48 小时之间的所有值流数据条目。
但是,如果定拍单元 A 的 PTCLastProcessedEventTimestamp 属性值为当前时间之前的 3 小时,即晚于 dataAgeInHours 值 (24 小时),则清除时间戳介于 3 小时到 27 小时之间的所有值流数据条目。
定拍单元断开连接
如果定拍单元与 DPM 断开连接的时间超过 PTCMaxTimeAllowedDisconnected 属性的值,则忽略晚于该时间 (以分钟计) 的数据。
如果 PTCEnableAutoSetMachineStatusToRunning 属性设置为 true,并且实体断开连接的时间超过 PTCMaxTimeAllowedDisconnected 属性所指定的最大时间,则在批处理时会尝试将定拍单元的可用性状况设置为“正在运行”,但前提是定拍单元在断开连接之前已停运。在处理完所有事件后,此操作会作为批处理的最终操作,通过调用 SetPTCMachineStatusToRunningIfDisconnectedMoreThanAllowed 服务来实现。
* 
将定拍单元设置为“正在运行”状态,即意味着会将包含相应运行原因信息的可用性事件插入 DPM 数据库。
PTCLastTimeConnected 属性用于表示上次发生断开连接事件 (即 isConnected 属性设置为 false) 时的时间戳。此属性仅在断开连接事件发生后才会更新。
PTC.MfgModel.WorkunitModelLogic_TS 事物形态
制造模型构建基块中的 PTC.MfgModel.WorkunitModelLogic_TS 事物形态也包含数据自动化所使用的服务和属性。
IsPTCAutomationWorkUnit 服务可验证工作单元是否支持数据自动化。
PTCDisconnectivitySupported 属性是一个布尔型属性,用于指示远程设备是否与 ThingWorx 建立连接,以及是否应使用 SetPTCMachineStatusToRunningIfDisconnectedMoreThanAllowed 服务将定拍单元的可用性状态设置回“正在运行”
IsPTCDisconnectivitySupported 属性是一个布尔型属性,通过生产仪表板进行选中。如果该属性的值为 true,则系统会评估设备的连接状况,以确定何时显示类似于以下内容的弹窗和消息:“您的系统与数据源已断开连接。如果系统在 15 分钟后仍断开连接,请手动输入所有生产事件和损失事件。”
自动化消息
在常规数据自动化处理过程中自动生成消息,并将这些消息添加到 PTCAutomationMessage 信息表属性中,以供未来参考之用。添加新消息后,生产仪表板会显示这些消息。
PTCMaxNumberOfAutomationMessages 属性用于控制 PTCAutomationMessage 属性中存储的消息数。默认情况下,存储的消息数为 10
自定义
所有服务都以 javascript 代码编写,这样便可对其进行自定义,以满足任何给定应用程序的特定需求。
其中提供了多种配置属性,可用于对应用程序进行精细调整。有关详细信息,请参阅关键属性 (运营 KPI 构建基块)
这对您有帮助吗?