Comments (4)
@suneetnangia sounds good - make a draft implementation.
from iot-edge-opc-plc.
@suneetnangia sounds really good, I like the idea
from iot-edge-opc-plc.
I suggest the following settings:
- SlowNodeMinValue, SlowNodeMaxValue
- FastNodeMinValue, FastNodeMaxValue
where the default is min/max of the data type used
We probably need two more settings as well to control whether we randomize or not.
- RandomizeSlowNodes, RandomizeFastNodes - where the default is false.
EDIT:
After looking in the code I think we can simplify things a little bit.
- NodeMinRandomValue (double), NodeMaxRandomValue(double), RandomizeNodes (bool)
add these properties to PlcSimulation and then modify code in PlcNodeManager.IncreaseNodes.
(might change the name of the function to ChangeNodes to indicate that we are not just increasing values anymore)
The settings will then apply to both slow, fast and ultra fast nodes
from iot-edge-opc-plc.
@peterbryntesson great proposal.
Looking into the code, I suggest we decouple max and min values from random or sequential assignment of values and allow configurable step/increment size for sequential increments as well. This will potentially allow more realistic scenarios e.g. sensor values are often in a certain range (e.g. 0-100 degree C) and increased in a defined increment size (e.g. 1 degree C).
Example-
- Sequential with Min=1, Max=100, Step Size=1: value assignment will start from 1 with increments of 1 (step size), when max value is reached, it will start to recycle and assign value 1 again and follow the order.
- Random with Min=1, Max=100, Step Size=N/A: value assignment will occur from any value between 1-100.
Default min/max will be defined internally to the min/max of the type used (e.g. double, unit) so if user does not defined their specific min/max, system will assume the defaults.
These settings can be applied independently to slow, fast and ultra fast nodes.
from iot-edge-opc-plc.
Related Issues (20)
- Connecting with all Security None to opcplc 2.5.0 running in EFLOW VM form host system fails HOT 5
- OPC BadConnectionClosed Errors HOT 4
- Add the same cli option RejectUnknownRevocationStatus to bypase the BadCertificateRevocationUnknown error HOT 1
- Ability to import an XML NodeSet file into the simulator HOT 1
- Certificate Push Management Inquiry HOT 3
- BuildInfo members not containing values HOT 4
- Fix code scanning alert - Clear text storage of sensitive information HOT 1
- certdnsnames and plchostname not used in the certificate HOT 4
- Container fails to run on kubernetes (You must install .NET to run this application) HOT 2
- Verbose logging is no longer working
- Cannot choose Slow or Fast nodes type of Bool or UIntArray HOT 1
- Add own certificates to OPC UA Server HOT 4
- Add support for defining namespace index in nodesfile HOT 1
- Alarm condition nodemanager uses invalid nodeId, exception thrown
- Add ability to set MaxSessionTimeout
- Use cert-manager issued certificate and run in Kubernetes HOT 1
- publishednodes.json uses Standard NodeId not Expanded NodeId HOT 4
- TCP server channel force channel fault. Bad connection closed 'remote side closed connection in K8S' HOT 6
- Subscription feature in K8S. HOT 4
- Alarm Confirm/acknowledge results in Status Code BAD HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from iot-edge-opc-plc.