Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class dispatcherProductionProcess : public allFacilitiesProcess {
- public :
- dispatcherProductionProcess(rawMealPrimaryProcess* _rawMealPrimary, rawMealSecondaryProcess* _rawMealSecondary,
- clinkerPrimaryProcess* _clinkerPrimary, clinkerSecondaryProcess* _clinkerSecondary,
- cementPrimaryProcess* _cementPrimary,cementSecondaryProcess* _cementSecondary) :
- allFacilitiesProcess(_rawMealPrimary, _rawMealSecondary, _clinkerPrimary, _clinkerSecondary, _cementPrimary, _cementSecondary) {}
- void Behavior() {
- while (1) {
- //Raw meal grinding
- if (!rawMealPrimary->getError()) {
- if(rawMealPrimary->IsOn() && (rawMaterialStorage.Used() < 500 || rawMealStorage.Used() > 15000)){
- rawMealPrimary->TurnOff();
- }
- if(rawMaterialStorage.Used() > 1000 && !rawMealPrimary->IsOn() && rawMealStorage.Used() < 6000 && !timeToGeneralRepair) {
- rawMealPrimary->TurnOn();
- }
- }
- if (!rawMealSecondary->getError()) {
- if (rawMaterialStorage.Used() > 20000 && !timeToGeneralRepair && (!rawMealSecondary->IsOn()) && (rawMealStorage.Used() < 4000)) {
- rawMealSecondary->TurnOn();
- }
- if (rawMealSecondary->IsOn() && (rawMaterialStorage.Used() < 3000 || rawMealStorage.Used() > 14000)) {
- rawMealSecondary->TurnOff();
- }
- }
- //Clinker burning kiln
- if (!clinkerPrimary->getError()) {
- if(clinkerPrimary->IsOn() && (rawMealStorage.Used() < 600 || clinkerStorage.Used() > 78000)) {
- clinkerPrimary->TurnOff();
- }
- if(rawMealStorage.Used() > 1000 && !timeToGeneralRepair && (!clinkerPrimary->IsOn()) && clinkerStorage.Used() < 60000){
- clinkerPrimary->TurnOn();
- }
- }
- if (!clinkerSecondary->getError()) {
- if (rawMealStorage.Used() > 12000 && !clinkerSecondary->IsOn() && clinkerStorage.Used() < 30000 && !timeToGeneralRepair) {
- clinkerSecondary->TurnOn();
- }
- if (clinkerSecondary->IsOn() && (rawMealStorage.Used() < 1500 || clinkerStorage.Used() > 78000)) {
- clinkerSecondary->TurnOff();
- }
- }
- //Cement grinding
- if (!cementPrimary->getError()) {
- if(cementPrimary->IsOn() && (clinkerStorage.Used() < 700 || cementStorage.Used() > 38000)) {
- cementPrimary->TurnOff();
- }
- if(!cementPrimary->IsOn() && !timeToGeneralRepair && cementStorage.Used() < 25000 && clinkerStorage.Used() > 1000 && cementComponents.Used() > 200) {
- cementPrimary->TurnOn();
- }
- }
- if (!cementSecondary->getError()) {
- if (clinkerStorage.Used() > 70000 && !timeToGeneralRepair && !cementSecondary->IsOn() && cementStorage.Used() < 20000 && cementComponents.Used() > 18000){
- cementSecondary->TurnOn();
- }
- if (cementSecondary->IsOn() && (clinkerStorage.Used() < 10000 || cementStorage.Used() > 35000)) {
- cementSecondary->TurnOff();
- }
- }
- Wait(60);
- }
- }
- };
- /*
- *******************
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement