Modeling your industrial belongings at scale utilizing AWS IoT SiteWise


Introduction

Industrial and manufacturing prospects more and more depend on AWS IoT SiteWise to gather, retailer, arrange, and monitor knowledge from industrial gear at scale. AWS IoT SiteWise supplies an industrial knowledge basis for distant gear monitoring, efficiency monitoring, detecting irregular gear habits, and help for superior analytics use instances.

Constructing resembling an information basis usually entails modeling your belongings and ingesting stay and historic telemetry knowledge. This may increasingly require a big effort when addressing tens of hundreds of apparatus and ever-changing operations in pursuit of lowering waste and bettering effectivity.

We launched three new options for AWS IoT SiteWise at re:Invent 2023 to enhance your asset modeling efforts. Clients can now symbolize gear parts utilizing Asset mannequin parts, selling reusability. With Metadata bulk operations, they’ll mannequin their gear and handle adjustments in bulk. Consumer-defined distinctive identifiers assist prospects obtain consistency throughout the group by utilizing their very own identifiers.

On this weblog put up, we are going to study 11 real-world buyer situations associated to asset modeling. We’ll share code examples that will help you be taught extra in regards to the new AWS IoT SiteWise options associated to every state of affairs.

Stipulations

  1. Familiarity with asset modeling in AWS IoT SiteWise
  2. An AWS account
  3. Primary data of Python

Setup the surroundings

First, you’ll configure your developer workstation with AWS credentials and confirm that Python is put in. Subsequent you’ll set up Git, clone the code instance challenge to your workstation, and arrange the challenge. Lastly, you’ll create an AWS Id and Entry Administration (IAM) coverage.

  1. Create an Amazon EC2 occasion or use any on-premises machine as a developer workstation
  2. Configure AWS credentials
  3. Confirm Python 3.x is put in in your system by operating python3 --version or python --version (on Home windows)
  4. Utilizing terminal, set up Git and clone the Metadata Bulk Operations Pattern for AWS IoT SiteWise repository from the AWS Samples library on Github
    sudo yum set up git
    git --version
    git clone https://github.com/aws-samples/metadata-bulk-operations-sample-for-aws-iot-sitewise.git

  5. Set up required Python packages by operating pip3 set up -r necessities.txt
  6. Replace config/project_config.yml to offer required data for the job
    • s3_bucket_name: Title of the S3 bucket the place bulk definitions might be saved
    • job_name_prefix: Prefix for use for the majority operations jobs
  7. Create an AWS Id and Entry Administration (IAM) coverage with permissions that enable the alternate of AWS assets between Amazon S3, AWS IoT SiteWise, and your native machine. It will can help you carry out bulk operations.

Onboard and handle belongings at scale

AWS IoT SiteWise now helps the majority import, export, and replace of commercial gear metadata for modeling at scale. These bulk operations are accessible via new API endpoints resembling CreateMetadataTransferJob, ListMetadataTransferJobs, GetMetadataTransferJob and CancelMetadataTransferJob.

With this new functionality, customers can bulk onboard and replace belongings and asset fashions in AWS IoT SiteWise. They’ll additionally migrate belongings and asset fashions between totally different AWS IoT SiteWise accounts.

You’ll primarily use metadata bulk import jobs for this weblog. The next diagram and steps clarify the workflow concerned in a metadata bulk import job.

Steps in Metadata Bulk Import Move

  1. Put together a job schema JSON file for AWS IoT SiteWise assets. This would come with asset fashions and belongings, following the AWS IoT SiteWise metadata switch job schema. Add this file to an Amazon S3 bucket.
  2. Make a metadata bulk import name to AWS IoT SiteWise, referencing the uploaded JSON file
  3. AWS IoT SiteWise will import all of the assets specified within the JSON file
  4. Upon completion, AWS IoT SiteWise will return the standing and a presigned Amazon S3 URL for any failures encountered
  5. If there are failures, entry the supplied report to research and perceive the basis trigger

You may as well carry out bulk operations utilizing the console by navigating to Construct → Bulk Operations. Now that you just perceive how metadata bulk operations work, you will notice how this characteristic will help within the following real-world situations.

Situation 1 – Onboard preliminary asset fashions & belongings

Throughout a Proof of idea (POC), our prospects usually onboard a subset of their gear to AWS IoT SiteWise. Utilizing metadata bulk operations, you possibly can import hundreds of asset fashions and belongings to AWS IoT SiteWise in a single import job.

For a fictitious automotive manufacturing firm, import asset fashions and belongings associated to the welding strains at certainly one of its manufacturing vegetation.
python3 src/import/important.py --bulk-definitions-file 1_onboard_models_assets.json

Situation 2 – Outline asset hierarchy

As soon as the asset fashions and belongings are created in AWS IoT SiteWise, you possibly can outline the connection between belongings and create an asset hierarchy. This hierarchy helps customers to trace efficiency throughout totally different ranges, from the gear degree to the company degree.

Create an asset hierarchy for Sample_AnyCompany Motor manufacturing firm
python3 src/import/important.py --bulk-definitions-file 2_define_asset_hierarchy.json

Situation 3 – Affiliate knowledge streams with asset properties

Our prospects usually begin ingesting knowledge from their knowledge sources such OPC UA server, even earlier than modeling their belongings. In these conditions, the information ingested into SiteWise is saved in knowledge streams that aren’t related to any asset properties. As soon as the ingestion train is full, you will need to affiliate the information streams with particular asset properties for contextualization.

Affiliate the information streams for Sample_Welding Robotic 1 and Sample_Welding Robotic 2 with corresponding asset properties.

python3 src/import/important.py --bulk-definitions-file 3_associate_data_streams_with_assets.json

On this weblog, we created three separate metadata bulk import jobs. These jobs had been for creating asset fashions and belongings, defining the asset hierarchy, and associating knowledge streams with asset properties. You may as well carry out all of those actions utilizing a single metadata bulk import job.

Situation 4 – Onboard further belongings

After demonstrating the enterprise worth throughout POC, the following step is to scale the answer inside and throughout vegetation. This scale can embody remaining belongings in the identical plant, and new belongings from different vegetation.

On this state of affairs, you’ll onboard further welding robots (#3 and #4), and a brand new manufacturing line (#2) from the identical Chicago plant.
python3 src/import/important.py --bulk-definitions-file 4_onboard_additional_assets.json

Situation 5 – Create new properties

You possibly can improve asset fashions to accommodate adjustments in knowledge acquisition. For instance, when new sensors are put in to seize further knowledge, you possibly can replace the corresponding asset fashions to replicate these adjustments.

Add a brand new property Joint 1 Temperature to Sample_Welding Robotic asset mannequin
python3 src/import/important.py --bulk-definitions-file 5_onboard_new_properties.json

Situation 6 – Repair handbook errors

Errors can happen throughout asset modeling particularly when customers manually enter data. Examples embody asset serial numbers, asset descriptions, and models of measurement. To appropriate these errors, you possibly can replace the data with the proper particulars.

Appropriate the serial variety of Sample_Welding Robotic 1 asset by changing the outdated serial quantity S1000 with S1001.
python3 src/import/important.py --bulk-definitions-file 6_fix_incorrect_datastreams.json

Situation 7 – Relocate belongings

Manufacturing line operations change for a number of causes, resembling course of optimization, technological developments, and gear upkeep. In consequence, some gear could transfer from one manufacturing line to a different. Utilizing Metadata bulk operations, you possibly can replace the asset hierarchy to adapt to the adjustments in line operations.

Transfer Sample_Welding Robotic 3 asset from Sample_Welding Line 1 to Sample_Welding Line 2.
python3 src/import/important.py --bulk-definitions-file 7_relocate_assets.json

Situation 8 – Backup asset fashions and belongings

AWS recommends that you just take common backups of asset fashions and belongings. These backups can be utilized for catastrophe restoration or to roll again to a previous model. To create a backup, you need to use the bulk export operation. Whereas exporting, you possibly can filter particular asset fashions and belongings to incorporate in your exported JSON file.

You’ll now again up the definitions of all welding robots beneath welding line 1. Substitute in 6_backup_models_assets.json with the Asset ID of Sample_Welding Line 1.

python3 src/export/important.py --job-config-file 8_backup_models_assets.json

Situation 9 – Promote asset fashions and belongings to a different surroundings

Through the use of the metadata bulk export operation adopted by the majority import operation, you possibly can promote a set of asset fashions and belongings from one surroundings to a different.

Promote all of the asset fashions and belongings from the event to the testing surroundings.
python3 src/import/important.py --bulk-definitions-file 9_promote_to_another_environment.json

Keep consistency all through the group

Many industrial firms could have modeled some or most of their industrial gear in a number of programs resembling asset administration programs and knowledge historians. It will be significant for these firms to make use of widespread identifiers throughout the group to keep up consistency.

AWS IoT SiteWise now helps the usage of exterior ID and user-defined UUID for belongings and asset fashions. With the exterior ID characteristic, customers can map their current identifiers with AWS IoT SiteWise UUIDs. You possibly can work together with asset fashions and belongings utilizing these exterior IDs. The user-defined UUID characteristic helps customers to reuse the identical UUID throughout totally different environments resembling improvement, testing, and manufacturing.

To be taught in regards to the variations between exterior IDs and UUIDs, consult with exterior IDs.

Situation 10 – Apply exterior identifiers

You possibly can apply exterior IDs utilizing the AWS IoT SiteWise console, API, or metadata bulk import job. This may be accomplished for current asset fashions, or belongings with none exterior IDs in AWS IoT SiteWise.

Apply exterior ID to an current asset, for instance, Sample_Welding Robotic 4.
python3 src/import/important.py --bulk-definitions-file 10_apply_external_identifier.json

Promote standardization and reusability utilizing mannequin composition

AWS IoT SiteWise launched help for a part mannequin. That is an asset mannequin sort that helps industrial firms mannequin smaller items of apparatus and reuse them throughout asset fashions. This helps standardize and reuse widespread gear parts, resembling motors.

For instance, a CNC Lathe (asset mannequin) is made from parts resembling servo motors. With this characteristic, a servo motor could be modeled independently as a part and reused in one other asset mannequin, resembling a CNC Machining Middle.

Situation 11 – Compose asset fashions

You possibly can compose asset fashions utilizing the AWS IoT SiteWise console, API or metadata bulk import job.

Compose the Sample_Welding Robotic asset mannequin by independently modeling parts in a welding robotic, resembling a robotic joint.
python3 src/import/important.py --bulk-definitions-file 11_compose_models.json

Clear Up

In case you now not require the pattern resolution, contemplate eradicating the assets.

Run the next to take away all of the asset fashions and belongings created utilizing this pattern repository.
python3 src/remove_sitewise_resources.py --asset-external-id External_Id_Company_AnyCompany

Conclusion

On this put up, we demonstrated the usage of new AWS IoT SiteWise options, resembling Metadata bulk operationsConsumer-defined distinctive identifiers, and Asset mannequin parts. Collectively, these options promote standardization, reusability, and consistency throughout your group, whereas serving to you to scale and improve your asset modeling initiatives.

In regards to the authors

Raju Gottumukkala is a Senior WorldWide IIoT Specialist Options Architect at AWS, serving to industrial producers of their good manufacturing journey. Raju has helped main enterprises throughout the power, life sciences, and automotive industries enhance operational effectivity and income progress by unlocking true potential of IoT knowledge. Previous to AWS, he labored for Siemens and co-founded dDriven, an Trade 4.0 Information Platform firm.