BoSChoW
Member
Hi all, yet another problem. I send through the OP7 choosen steps from 1 to 4 and the choosen inputs from 1 to 8 to the DB steps.steps01 .... steps.steps04 and inputs1.inputs01 ... inputs3.inputs08. The plc inputs will be stored in the plc_inp.inp01 ... plc_inp.inp08 DB. It is possible to write something like this in SCL?
const
step01:int:=1;
step02:int:=2;
step03:int:=3;
step04:int:=4;
end_const
var_input
input01:bool:=false; //decleared in the simbol table
input02:bool:=false; //
input03:bool:=false; //
input04:bool:=false; //
input05:bool:=false; //
input06:bool:=false; //
input07:bool:=false; //
input08:bool:=false; //
end_var
var_output
output01:bool:=false; // decleared in the simbol table
output02:bool:=false; //
output03:bool:=false; //
output04:bool:=false; //
end_var
var
step:int:=0;
end_var
plc_inp.inp01:=input01;
.
.
.
.
plc_inp.inp08:=input08;
begin
IF avtomatic then
begin
case step of
1: output01 and not output02:=(steps.steps01=step01) and
(plc_inp.inp01=inputs1.inputs01) and (plc_inp.inp02=inputs1.inputs02) and (plc_inp.inp03=inputs1.inputs03) and
(plc_inp.inp04=inputs1.inputs04) and
(plc_inp.inp05=inputs1.inputs05) and
(plc_inp.inp06=inputs1.inputs06) and
(plc_inp.inp07=inputs1.inputs07) and
(plc_inp.inp08=inputs1.inputs08);
2: not output01 and output02:=(steps.steps02=step02) and
(plc_inp.inp01=inputs2.inputs01) and (plc_inp.inp02=inputs2.inputs02) and (plc_inp.inp03=inputs2.inputs03) and
(plc_inp.inp04=inputs2.inputs04) and
(plc_inp.inp05=inputs2.inputs05) and
(plc_inp.inp06=inputs2.inputs06) and
(plc_inp.inp07=inputs2.inputs07) and
(plc_inp.inp08=inputs2.inputs08);
3: output01 and not output02:=(steps.steps03=step03) and
(plc_inp.inp01=inputs3.inputs01) and (plc_inp.inp02=inputs3.inputs02) and (plc_inp.inp03=inputs3.inputs03) and
(plc_inp.inp04=inputs3.inputs04) and
(plc_inp.inp05=inputs3.inputs05) and
(plc_inp.inp06=inputs3.inputs06) and
(plc_inp.inp07=inputs3.inputs07) and
(plc_inp.inp08=inputs3.inputs08);
4: output03 and not output04:=(steps.steps04=step04) and
(plc_inp.inp01=inputs4.inputs01) and (plc_inp.inp02=inputs4.inputs02) and (plc_inp.inp03=inputs4.inputs03) and
(plc_inp.inp04=inputs4.inputs04) and
(plc_inp.inp05=inputs4.inputs05) and
(plc_inp.inp06=inputs4.inputs06) and
(plc_inp.inp07=inputs4.inputs07) and
(plc_inp.inp08=inputs4.inputs08);
END_CASE;
ELSE output01:=false; output02:=false; output03:=false; output04:=false;
END_IF;
And also any suggestions are welcome, thank you for your time and help, regards.
const
step01:int:=1;
step02:int:=2;
step03:int:=3;
step04:int:=4;
end_const
var_input
input01:bool:=false; //decleared in the simbol table
input02:bool:=false; //
input03:bool:=false; //
input04:bool:=false; //
input05:bool:=false; //
input06:bool:=false; //
input07:bool:=false; //
input08:bool:=false; //
end_var
var_output
output01:bool:=false; // decleared in the simbol table
output02:bool:=false; //
output03:bool:=false; //
output04:bool:=false; //
end_var
var
step:int:=0;
end_var
plc_inp.inp01:=input01;
.
.
.
.
plc_inp.inp08:=input08;
begin
IF avtomatic then
begin
case step of
1: output01 and not output02:=(steps.steps01=step01) and
(plc_inp.inp01=inputs1.inputs01) and (plc_inp.inp02=inputs1.inputs02) and (plc_inp.inp03=inputs1.inputs03) and
(plc_inp.inp04=inputs1.inputs04) and
(plc_inp.inp05=inputs1.inputs05) and
(plc_inp.inp06=inputs1.inputs06) and
(plc_inp.inp07=inputs1.inputs07) and
(plc_inp.inp08=inputs1.inputs08);
2: not output01 and output02:=(steps.steps02=step02) and
(plc_inp.inp01=inputs2.inputs01) and (plc_inp.inp02=inputs2.inputs02) and (plc_inp.inp03=inputs2.inputs03) and
(plc_inp.inp04=inputs2.inputs04) and
(plc_inp.inp05=inputs2.inputs05) and
(plc_inp.inp06=inputs2.inputs06) and
(plc_inp.inp07=inputs2.inputs07) and
(plc_inp.inp08=inputs2.inputs08);
3: output01 and not output02:=(steps.steps03=step03) and
(plc_inp.inp01=inputs3.inputs01) and (plc_inp.inp02=inputs3.inputs02) and (plc_inp.inp03=inputs3.inputs03) and
(plc_inp.inp04=inputs3.inputs04) and
(plc_inp.inp05=inputs3.inputs05) and
(plc_inp.inp06=inputs3.inputs06) and
(plc_inp.inp07=inputs3.inputs07) and
(plc_inp.inp08=inputs3.inputs08);
4: output03 and not output04:=(steps.steps04=step04) and
(plc_inp.inp01=inputs4.inputs01) and (plc_inp.inp02=inputs4.inputs02) and (plc_inp.inp03=inputs4.inputs03) and
(plc_inp.inp04=inputs4.inputs04) and
(plc_inp.inp05=inputs4.inputs05) and
(plc_inp.inp06=inputs4.inputs06) and
(plc_inp.inp07=inputs4.inputs07) and
(plc_inp.inp08=inputs4.inputs08);
END_CASE;
ELSE output01:=false; output02:=false; output03:=false; output04:=false;
END_IF;
And also any suggestions are welcome, thank you for your time and help, regards.