Code Monkey home page Code Monkey logo

oee-simulators's Introduction

OEE-simulators

Collection of simulators available for Cumulocity IoT OEE app. All simulators are available as Docker images and need to be deployed to the tenant where OEE app is running. Once deployed, the simulators automatically create preconfigured devices and start sending data.

Generic Simulators are the simulators we do use for development and should be used for testing and demoing of Cumulocity IoT OEE app. The simulators have been designed and configured to simulate commonly seen machine types. A detailed description of supported machine types and how to configure calculation profiles in OEE app can be found in the simulators project.

Simulators are needed to calculate OEE based on configuration profiles that can be setup in OEE app.

Prebuilt docker images can be downloaded from the Releases in this repository.

Tests

Collection of test for the Generic Simulators

To run specific test script:

python test/[script-name].py  [-h] [--tenant-id TENANT_ID] [--password PASSWORD] [--baseurl BASEURL] [--username USER]
Cumulocity platform credentials setup

optional arguments:
long syntax | short syntax | Functions ------------------------------------------------------------------------------------------ --help, | -h | show help message and exit --tenant-id TENANT_ID, | -t TENANT_ID | Tenant ID --password PASSWORD, | -p PASSWORD | C8Y Password --baseurl BASEURL, | -b BASEURL | C8Y Baseurl --username USER, | -u USER | C8Y Username It is important to note that all four arguments: Tenant ID, C8Y Password, C8Y Baseurl, and C8Y Username must be filled. Failure to provide any of these fields may cause the script to malfunction or produce unexpected results.

If you don't want to input arguments, you can set environment variables need to be set in cumulocityAPI.py in order to run simulators_test.py.
For example:

C8Y_BASEURL=https://test.development.c8y.io 
C8Y_TENANT=t123
C8Y_USER=yourusername
C8Y_PASSWORD=yourpassword

If you run the export_import_test.py, besides environment variables in cumulocityAPI.py, you must set environment variables also in Environment.py. Because they use both extra and main parts of simulators which are independent to each other.


These tools are provided as-is and without warranty or support. They do not constitute part of the Software AG product suite. Users are free to use, fork and modify them, subject to the license agreement. While Software AG welcomes contributions, we cannot guarantee to include every contribution in the master project.

oee-simulators's People

Contributors

haraldmeyer avatar markjmreynolds-sag avatar mvoigt-sag avatar namnhatpham avatar pejo-sag avatar scfx avatar techcommunity avatar thomaswinkler avatar vtymosh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

oee-simulators's Issues

Reduce size of Adamos simulator images

twi Authored by twi
Sep 2, 2021


Size of Adamos simulator images is 300mb+ as with the base image currently used. Check if we can use an Alpine base image instead to get size down as we have with new Event Based simulators.

Synchronize events for production and quality amounts

twi Authored by twi
Sep 2, 2021
Closed Sep 9, 2021


Also see: https://cumulocity.atlassian.net/jira/software/projects/COE/issues/COE-336

Seems like

Actual Production Amount: countEvents("797552","Piece_Produced")
Actual Quality Amount: countEvents("797552","Piece_Ok")

events do not come at the same timestamps.

This causes the following calculation alarms:

ActualProductionAmount: 4.1467
ActualProductionTime: 600
ActualQualityAmount: 4.1472
Availability: 100
AvailabilityLossAmount: 0
AvailabilityLossTime: 0
IdealAmount: 5
IdealCycleAmount: 0.5
IdealCycleTime: 120
IdealMachineRuntime: 497.604
IdealProductionAmount: 5
IdealQualityTime: 497.664
OEE: 82.944
Performance: 82.934
PerformanceLossAmount: 0.8533
PerformanceLossTime: 102.396
PotentialProductionTime: 600
Quality: 100.0121
QualityLossAmount: -0.0005
QualityLossTime: -0.06

Reason for the differences is that we have slightly different splitting:

ActualProductionAmount: 4.1467
ActualQualityAmount: 4.1472

The solution is for the Piece_Ok events to be produced at exactly the same time when the corresponding Piece_Produced event happens.

Calculation categories in simulators

It would be great if we could add some simulators with additional calculation categories:

For example:
-Breakdown
-Idling
-Setup & Adjustment
-Rework
-Start Up

Shiftplans are not overwritten

Currently when already having shiftplans posted for the locations, they won't be overwritten. So it throws a warning and continues to simulate. This warning can be seen in the debug log.
It might be useful to delete the shiftplans and deploy the ones included in the simulator.

Update profile intervals for Fix 3

The simulator profiles created automatically do not include 10 minute intervals. With Fix 3, the 10 minute interval is not automatically added and calculated.

Go over all profiles and update

  • first entry in intervals to be default interval (also used in organisation overview)
  • add 10 minute interval for profiles (might not be in first position if it should not be the default interval)
  • remove timeframes properties as they are not used with Fix 3

We must mark new version compatible with OEE 1010.0.3.

Simulators to create hierarchy

It would be useful to have the simulators create a site and line during deployment and assign themselves to these categories.

Auto create calculation profiles if needed

We want to auto create the calculation profiles for a simulated machine on deployment of the Microservice. Find a good way to configure as an option or provide 2 builds of the Microservices.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.