Modeling your industrial property at scale utilizing AWS IoT SiteWise

Introduction

Industrial and manufacturing prospects more and more depend on AWS IoT SiteWise to gather, retailer, set up, and monitor information from industrial gear at scale. AWS IoT SiteWise gives an industrial information basis for distant gear monitoring, efficiency monitoring, detecting irregular gear conduct, and help for superior analytics use instances.

Constructing reminiscent of an information basis usually includes modeling your property and ingesting reside and historic telemetry information. This will require a big effort when addressing tens of 1000’s of kit and ever-changing operations in pursuit of decreasing waste and bettering effectivity.

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

On this weblog put up, we’ll study 11 real-world buyer eventualities associated to asset modeling. We are going to 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. Fundamental 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 undertaking to your workstation, and arrange the undertaking. Lastly, you’ll create an AWS Id and Entry Administration (IAM) coverage.

  1. Create a Cloud9 surroundings utilizing Amazon Linux 2 platform (really helpful) 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 working 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 working pip3 set up -r necessities.txt
  6. Replace config/project_config.yml to offer required data for the job
    • s3_bucket_name: Identify of the S3 bucket the place bulk definitions will likely 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 permit the trade of AWS sources between Amazon S3, AWS IoT SiteWise, and your native machine. This may permit you to carry out bulk operations.

Onboard and handle property at scale

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

With this new functionality, customers can bulk onboard and replace property and asset fashions in AWS IoT SiteWise. They will additionally migrate property and asset fashions between completely 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 Circulation

  1. Put together a job schema JSON file for AWS IoT SiteWise sources. This would come with asset fashions and property, 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 sources 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

It’s also possible to 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 note how this function might help within the following real-world eventualities.

State of affairs 1 – Onboard preliminary asset fashions & property

Throughout a Proof of idea (POC), our prospects usually onboard a subset of their gear to AWS IoT SiteWise. Utilizing metadata bulk operations, you may import 1000’s of asset fashions and property to AWS IoT SiteWise in a single import job.

For a fictitious automotive manufacturing firm, import asset fashions and property 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

State of affairs 2 – Outline asset hierarchy

As soon as the asset fashions and property are created in AWS IoT SiteWise, you may outline the connection between property and create an asset hierarchy. This hierarchy helps customers to trace efficiency throughout completely different ranges, from the gear stage to the company stage.

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

State of affairs 3 – Affiliate information streams with asset properties

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

Affiliate the info 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 property, defining the asset hierarchy, and associating information streams with asset properties. It’s also possible to carry out all of those actions utilizing a single metadata bulk import job.

State of affairs 4 – Onboard extra property

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

On this state of affairs, you’ll onboard extra 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

State of affairs 5 – Create new properties

You may improve asset fashions to accommodate adjustments in information acquisition. For instance, when new sensors are put in to seize extra information, you may replace the corresponding asset fashions to mirror 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

State of affairs 6 – Repair guide 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 right these errors, you may replace the data with the right particulars.

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

State of affairs 7 – Relocate property

Manufacturing line operations change for a number of causes, reminiscent of course of optimization, technological developments, and gear upkeep. Because of this, some gear could transfer from one manufacturing line to a different. Utilizing Metadata bulk operations, you may 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

State of affairs 8 – Backup asset fashions and property

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

You’ll now again up the definitions of all welding robots underneath welding line 1. Exchange <YOUR_ASSET_ID> 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

State of affairs 9 – Promote asset fashions and property to a different surroundings

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

Promote all of the asset fashions and property 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 corporations could have modeled some or most of their industrial gear in a number of techniques reminiscent of asset administration techniques and information historians. It will be important for these corporations to make use of widespread identifiers throughout the group to take care of consistency.

AWS IoT SiteWise now helps the usage of exterior ID and user-defined UUID for property and asset fashions. With the exterior ID function, customers can map their present identifiers with AWS IoT SiteWise UUIDs. You may work together with asset fashions and property utilizing these exterior IDs. The user-defined UUID function helps customers to reuse the identical UUID throughout completely different environments reminiscent of growth, testing, and manufacturing.

To be taught in regards to the variations between exterior IDs and UUIDs, seek advice from exterior IDs.

State of affairs 10 – Apply exterior identifiers

You may apply exterior IDs utilizing the AWS IoT SiteWise console, API, or metadata bulk import job. This may be completed for present asset fashions, or property with none exterior IDs in AWS IoT SiteWise.

Apply exterior ID to an present 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 corporations mannequin smaller items of kit and reuse them throughout asset fashions. This helps standardize and reuse widespread gear elements, reminiscent of motors.

For instance, a CNC Lathe (asset mannequin) is manufactured from elements reminiscent of servo motors. With this function, a servo motor may be modeled independently as a part and reused in one other asset mannequin, reminiscent of a CNC Machining Heart.

State of affairs 11 – Compose asset fashions

You may 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 elements in a welding robotic, reminiscent of a robotic joint.
python3 src/import/important.py --bulk-definitions-file 11_compose_models.json

Clear Up

Should you now not require the pattern resolution, take into account eradicating the sources.

Run the next to take away all of the asset fashions and property 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, reminiscent of Metadata bulk operationsPerson-defined distinctive identifiers, and Asset mannequin elements. 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 vitality, life sciences, and automotive industries enhance operational effectivity and income development by unlocking true potential of IoT information. Previous to AWS, he labored for Siemens and co-founded dDriven, an Trade 4.0 Information Platform firm.

Leave a Reply

Your email address will not be published. Required fields are marked *