PMQ Architecture

From ESS-WIKI
Revision as of 03:30, 25 August 2017 by Eric.liang (talk | contribs)
Jump to: navigation, search

Introduction

This page introduces Advantech Predictive Maintenance and Quality ( PMQ ) solution.

Predictive Maintenance and Quality

    PMQ solution aquire multiple data sources in real time to predict asset failure or quality issues so your organization can avoid costly downtime and reduce maintenance costs. Driven by predictive analytics, these solutions detect even minor anomalies and failure patterns to determine the assets and operational processes that are at the greatest risk of problems or failure. This early identification of potential concerns helps you deploy limited resources more cost effectively, maximize equipment uptime and enhance quality and supply chain processes, ultimately improving customer satisfaction.

    Advantech PMQ solution includes the deployment of the trained model to make predictions and visualization UI and recommendations for corresponding strategies. The objective is to provide software developers basic concepts and better understating of PMQ deployment and to be more effective to bring your predictive model to production with Advantech PMQ architecture.

   

Edge Intelligence

RTENOTITLE

   Advantech EIS adopts edge computing architecture for its IoT solution. Edge computing is a distributed information technology (IT) architecture in which client data is processed at the periphery of the network, as close to the originating source as possible.

Time-sensitive data in edge computing may be processed at the point of origin by an intelligent device or sent to an intermediary server located in close geographical proximity to the client.

Data that is less time sensitive is sent to the cloud for historical analysis, big data analytics, and long-term storage.

Advantech PMQ

Advantech PMQ Solution means for Customer:

RTENOTITLE

* IPC / IoT / Vertical Sensor Data Acquire & Storage

     Advantech’s focus is on edge device development, to ensure that the EIS software suite includes the southbound sensing device connectivity that handles diverse sensing protocols such as Modbus, OPC, BACnet, Wireless IP/NonIP, and so on. Those protocols are plugin modules that take care of sensor data, data normalization, and communication The EIS mainly handles the northbound cloud connectivity and intelligence facilities; these are based on the micro service container to modularize the different cloud connections and device management.

* Data Analytics / Deploy / Upgrade

* Visualization & Maintenance

* Event / Action 

* Acceleration – for PoC, PoV and Production

PMQ Lifecycle and Architecture

    

RTENOTITLE

Overview of Advantech PMQ

EIS PMQ Framework

    Advantech EIS adopts edge computing architecture for its IoT solution as below picture. EIS enables local IoT networks to perform edge intelligence to maximize energy efficiency, reduce privacy threats, promote easy implementation and modularization, and minimize latencies.

    The EIS intelligence facilities also adopt the micro service container to deal with the data ingestion workload such as data pre-processing and cleaning. The most valuable faculty in the EIS software suite is streaming analytics. Advantech provides the IPC device PMQ (Predictive Maintenance and Quality) to prove the concept of prediction in the edge field for real-time analytics and upgrade the analytic module that is also based on the micro service container technology from the cloud service for updating more accuracy analytic purpose. The customer can leverage such a framework to develop their own analytic module or PMQ module with EIS open standard architecture. The entire open standard follows the MQTT protocol and the Docker container technology as its foundation framework.

PMQ Service Framework

Advantech PMQ Model

Advantech provides IPC key components (e.g. HDD Disk, ... ) failure predictive model.  Here is the step of training HDD Disk Failure predictive model for your reference.

HDD Failure Prediction Model

1. Get the HDD raw data

2. Get useful HDD information

RTENOTITLE


3. Flow of training mathematics module

RTENOTITLE



Using Logistic Regression Algorithm to classify the false samples in red and the true samples in blue.

RTENOTITLE


4. Benchmark for PMQ accuracy 

RTENOTITLE

5. Alert and Suggestion of HDD PMQ 

  1. of Event
Event Message Suggestion ( Action ) Message Condition
1 Over temperature

Lower system temperature (<40°C)

smart5 >= 10 || smart197 >= 2
2 Disk aging. Backup data to new disk. smart9 >= 26280
3 Disk read/writes error frequently.

Backup data to new disk.

smart187 >= 1
4 Power failure Check power source smart192 >= 190

How To

Visualization and Maintenance with WISE-PaaS/RMM

If Advantech PMQ service running on edge device. There will have a  PMQ icon ( RED frame ) as below picture on WISE-PaaS/RMM device manager. To click this icon and pop up PMQ UI page as Fig2.

WISE-PaaSToPMQ

PMQ UI

Status

   Name: Device Name ( e.g. Disk Name )

   Status: Health status : Good (100 ~ 46 %) , Warning ( 45~34 % ), Bad ( 33 ~ 0 % )
 

Latest Event

 Time: Event Trigger Time

 Error Event: Which root cause to predictive device failure.

 Suggestion: What suggestion for this event happening.

 Action: User can triger an action from remote WISE-PaaS/RMM Cloud site.

Model Information

 Current Version: Current version of PMQ model

 Newest Version: There are a new PMQ model package in WISE-PaaS/RMM.

 Upgrade: Button to upgrade PMQ model to new version.

 Confidence Level: Confidence level of the predictive algorithm

 Configuration
   Name: Name of parameter 
   Value: The value of parameter
   Unit: The unit of parameter
   Setting: Set button
   

Make a PMQ Service

    Customer can implement its own PMQ service as developing a plug-in handler.  The PMQ plug-in handler includes collecting raw data and built-in have been trained model to predictive failure rate. 

We also provide the PMQ plug-in Sample help customer develop its PMQ service with Advantech PMQ System.

You can refer the WISE-Agent Sample Handler for detail about "How to develop a plug-in." 

You can download PMQ plug-in sample at Github Sample/PMQ-SamplePlugin

git clone --branch v3.3 https://github.com/ADVANTECH-Corp/WISEAgent.git

Package PMQ Installation Package

PMQ Service Installer

Customer need modify the "agent_config.xml" follow below rule

<DeviceName>  : Plugin-Name ( ex: HDD_PMQ )
<DevID>       : 000+<DeviceName>  => 16 char ( ex: 000000000HDD_PMQ )
DevType       : Service ( Fixed ) 

OTA Installation Package

 WISE-PaaS/OTA Packager Tool:

    Customer needs use this OTA Packager Tool  to package your PMQ Service OTA Installation Package. 

Nameing Rule:   Please follow the name rule for PMQ OTA Installation Package.

   Agent-<ServiceName>-<Version>-<md5-hash>.zip  ( Example: Agent-HDD_PMQ-v1.0.1-8977e5eb7862605fcfb0b45b1773158d.zip )

Install / Upgrade

Data Format / Event / Action

    Advantech defines 6 data categories for PMQ service. Use general JSON format suit for any PMQ solution. Customer can design his PMQ data format follow our rule in JSON. It is easy to integrate with Advantech EIS and WISE-PaaS/RMM.


Syntax for PMQ Data & Predictive Result

    info
       type              : PMQ ( Fixed: must )
       name            : Name of this service         ( must )
      description    : Description of this service  ( must )
      version          : version of this service      ( must )

      confidence level    : confidence level of predictive algorithm ( must )

      update          : receive update cmd           ( option )
      *User-Defined : user can define its own tag : value 

  
    data: raw data of the PMQ service
        - *User-Defined ( in JSON Object )
        

   predict:    predict result

          - Failure rate: failure rate of the prediction result in ( 0 ~ 100 % )  ( must )  

            Please remapping your predict failure rate as below normalize range.

            Level: Good ( Green ): 0 ~ 54%, Warning ( Yellow ): 55 ~ 66%,  Bad ( Red ): 67 ~ 100%1
            

   event: evnet of the PMQ Service
        -  {"n":"e1","sv":"Hard disk long-term operation in more than 40°C or vibration environment.","actionlist":"a1", "asm":"r"}

  action: action of the PMQ service
        - {"n":"a1", "sv":"Please reduce the ambient temperature to 40 °C or less or operation at stable environment.", "asm":"r"}
          "ActionLog"  "sv":"reboot + backup"     : 

    param: parameters of the PMQ service
       - {"n":"predict period", "v":60, "asm":"r", "u":"sec", "min":10, "max":86400}


          

Example of HDD PMQ Data Format

{
   "HDD_PMQ": {
      "info":{
             "e":[{"n":"type", "sv":"PMQ", "asm":"r"},
                  {"n":"name", "sv":"HDD_PMQ", "asm":"r"},
                  {"n":"description", "sv":"This service is HDD PMQ Service", "asm":"r"},
                  {"n":"version", "sv":"1.0.2", "asm":"r"},
                  {"n":"confidence level", "v":83.12, "asm":"r", "u":"%"},
                  {"n":"update", "sv":"", "asm":"rw"},
                  {"n":"eventNotify", "bv":true, "asm":"r"}],
          "bn":"info"
      },

      "data":{
             "list":[{"bn":"WDC WD3200BUCT-63TWBY0","e":[{"n":"Smart 5","v":0,"min":0, "max":20, "thread":10, "u":"count", "msg":"Reallocated Sector Count", "asm":"r"},
                                                         {"n":"Smart 9", "v":128, "min":0, "max":35000, "thread":26280, "u":"hr", "msg":"Power-On Hours", "asm":"r"},
                                                         {"n":"Smart 187", "v":0, "min":0, "max":5, "thread":1, "u":"count", "msg":"Reported Uncorrectable Errors", "asm":"r"},
                                                         {"n":"Smart 192", "v":10, "min":0, "max":400, "thread":190, "u":"number", "msg":"Power-off Retract Count", "asm":"r"},
                                                         {"n":"Smart 197", "v":0, "min":0, "max":10, "thread":2, "u":"count", "msg":"Current Pending Sector Count", "asm":"r"},
                                                         {"n":"Smart 198", "v":2, "min":0, "max":40, "thread":10, "u":"count", "msg":"Uncorrectable Sector Count", "asm":"r"}]},

                     {"bn":"ST3500320AS0","e":[{"n":"Smart 5","v":1,"min":0, "max":20, "thread":10, "u":"count", "msg":"Reallocated Sector Count", "asm":"r"},
                                               {"n":"Smart 9", "v":8832, "min":0, "max":35000, "thread":26280, "u":"hr", "msg":"Power-On Hours", "asm":"r"},
                                               {"n":"Smart 187", "v":0, "min":0, "max":5, "thread":1, "u":"count", "msg":"Reported Uncorrectable Errors", "asm":"r"},
                                               {"n":"Smart 192", "v":100, "min":0, "max":400, "thread":190, "u":"number", "msg":"Power-off Retract Count", "asm":"r"},
                                               {"n":"Smart 197", "v":0, "min":0, "max":10, "thread":2, "u":"count", "msg":"Current Pending Sector Count", "asm":"r"},
                                               {"n":"Smart 198", "v":5, "min":0, "max":40, "thread":10, "u":"count", "msg":"Uncorrectable Sector Count", "asm":"r"}]}],
           "bn":"data"
      },

      "predict":{
                "list":[{"bn":"WDC WD3200BUCT-63TWBY0","e":[{"n":"Failure rate","v":20,"min":0, "max":100,"asm":"r"},
                                                            {"n":"hddpredict", "v":0.15, "min":0, "max":1, "thread":0.385, "asm":"r"}]},
                        {"bn":"ST3500320AS0","e":[{"n":"Failure rate","v":40,"min":0, "max":100,"asm":"r"}, 
                                                  {"n":"hddpredict", "v":0.25, "min":0, "max":1, "thread":0.385, "asm":"r"}]}],
          "bn":"predict"
      },

      "event":{
                "e":[{"n":"e1","sv":"HDD back to Normal", "actionlist":"", "asm":"r"},
                     {"n":"e2","sv":"Over temperature.","actionlist":"a1", "asm":"r"},
                     {"n":"e3","sv":"Disk aging.","actionlist":"a2", "asm":"r"},
                     {"n":"e4","sv":"Disk read/writes error frequently.","actionlist":"a2", "asm":"r"},
                     {"n":"e5","sv":"Power failure.","actionlist":"a3", "asm":"r"}],
          "bn":"event"
      },

      "action": {
                 "e":[{"n":"a1", "bv":false, "msg":"Lower system temperature (<40 degree C ).", "asm":"r"},
                      {"n":"a2", "bv":false, "msg":"Backup data to new disk", "asm":"r"},
                      {"n":"a3", "bv":false, "msg":"Check power sourc.", "asm":"r"},
                      {"n":"ActionLog", "sv":"", "asm":"r"}],
           "bn":"action"
      },

      "param": {
                 "e":[{"n":"update period", "v":10, "min":10, "max":3600, "asm":"rw", "u":"sec"},
                      {"n":"enable update", "bv":true, "asm":"rw"}],
           "bn":"param"
      },
      
      "opTS":{"$date":1494554251000}
   },

   "bn":"HDD_PMQ"

}

Syntax for EventNotify

PMQ severity : 4 Warning

severity: 
      Severity_Emergency = 0, 
      Severity_Alert = 1, 
      Severity_Critical = 2, 
      Severity_Error = 3, 
      Severity_Warning = 4, 
      Severity_Informational = 5, 
      Severity_Debug = 6, 

subtype: predict

Example : Predict Fail event

{
    "susiCommData": {
        "commCmd": 2059,
        "requestID": 2001,
        "agentID": "AAAAA",
        "handlerName": "general",
        "sendTS": 1453356274,
        "eventnotify": {
            "subtype": "predict",
            "msg": "Hard disk long-term operation in more than 40°C or vibration environment.",
            "severity": 4,
            "handler": "HDD_PMQ",
            "extMsg": {
                "n": "WDC WD3200BUCT-63TWBY0",
                "eventID":"e2"
            }
        }
    }
}

Example: Predict back to Good event

{
    "susiCommData": {
        "commCmd": 2059,
        "requestID": 2001,
        "agentID": "AAAAA",
        "handlerName": "general",
        "sendTS": 1453356274,
        "eventnotify": {
            "subtype": "predict",
            "msg": "HDD back to Normal",
            "severity": 5,
            "handler": "HDD_PMQ",
            "extMsg": {
                "n": "WDC WD3200BUCT-63TWBY0",
                "eventID":"e1"
            }
        }
    }
}