Bricks Dryer Control: C# automatic control part
Budget: $30 – $250 USD
Project:
Control for Bricks Dryer. Project is and will stay Open Source, but there is company where this project will be deployed. Project has 3 parts: PLC where control happens, backend communicating with PLCs and get values from another control systems, frontend. Frontend have to be in Polish language.
URL to project: https://gitlab.com/bricks-dryer-control
Task:
Implementation of time based preset automatic control:
1. GET Auto endpoint list all active latest `AutoControl` without `AutoControlItem`
2. GET Auto/XXX where XXX is name, get latest `AutoControl` with all `AutoControlItem`s
3. POST Auto creates a new version of `AutoControl` with `AutoControlItem`s, deactivate last version
4. DELETE Auto/XXX where XXX is name - deactivate last version
5. POST Auto/Start Strat auto control on chamber from configured point of time (latest for given name)
Also to do:
The automatic control should add change request to `ControllersCommunicator.SendQueue` if difference current value and control value is grater or equal configured value, but values to set should be computed in time of send settings to PLC. When no isAutoControl flag or actual time in control is < 0 then no action indicated. Values are linear computed from 2 nearest time points, or last point if current time > last time point. Automatic control should be configured after application restart. Unit tests are nice to have but optional.
Control for Bricks Dryer. Project is and will stay Open Source, but there is company where this project will be deployed. Project has 3 parts: PLC where control happens, backend communicating with PLCs and get values from another control systems, frontend. Frontend have to be in Polish language.
URL to project: https://gitlab.com/bricks-dryer-control
Task:
Implementation of time based preset automatic control:
1. GET Auto endpoint list all active latest `AutoControl` without `AutoControlItem`
2. GET Auto/XXX where XXX is name, get latest `AutoControl` with all `AutoControlItem`s
3. POST Auto creates a new version of `AutoControl` with `AutoControlItem`s, deactivate last version
4. DELETE Auto/XXX where XXX is name - deactivate last version
5. POST Auto/Start Strat auto control on chamber from configured point of time (latest for given name)
Also to do:
The automatic control should add change request to `ControllersCommunicator.SendQueue` if difference current value and control value is grater or equal configured value, but values to set should be computed in time of send settings to PLC. When no isAutoControl flag or actual time in control is < 0 then no action indicated. Values are linear computed from 2 nearest time points, or last point if current time > last time point. Automatic control should be configured after application restart. Unit tests are nice to have but optional.