Hi
I am trying to move a DWord but it doesnt seen to work.
I have created an FC in SCL
I have assigned the output of FC2 to DBD100 .. is DBD100 the issue?
I have created a 1 seconds incrementing value for iStep of 0-15 and repeating.
When I monitor MW100 onwards in a VAT I dont see any changes to any bits. I would expect to see 0-F appearing
Cheers
I am trying to move a DWord but it doesnt seen to work.
I have created an FC in SCL
Code:
FUNCTION FC2 : VOID
VAR_INPUT
iStep : INT ; //Step Number
END_VAR
VAR_OUTPUT
wOUTPUT : DWORD ; // Sequence Output Word
END_VAR
CASE iStep OF
0: wOUTPUT := "TEST".OUTPUTS.STEP_00;
1: wOUTPUT := "TEST".OUTPUTS.STEP_01;
2: wOUTPUT := "TEST".OUTPUTS.STEP_02;
3: wOUTPUT := "TEST".OUTPUTS.STEP_03;
4: wOUTPUT := "TEST".OUTPUTS.STEP_04;
5: wOUTPUT := "TEST".OUTPUTS.STEP_05;
6: wOUTPUT := "TEST".OUTPUTS.STEP_06;
7: wOUTPUT := "TEST".OUTPUTS.STEP_07;
8: wOUTPUT := "TEST".OUTPUTS.STEP_08;
9: wOUTPUT := "TEST".OUTPUTS.STEP_09;
10: wOUTPUT := "TEST".OUTPUTS.STEP_10;
11: wOUTPUT := "TEST".OUTPUTS.STEP_11;
12: wOUTPUT := "TEST".OUTPUTS.STEP_12;
13: wOUTPUT := "TEST".OUTPUTS.STEP_13 ;
14: wOUTPUT := "TEST".OUTPUTS.STEP_14;
15: wOUTPUT := "TEST".OUTPUTS.STEP_15;
END_CASE
;
END_FUNCTION
DATA_BLOCK DB200
STRUCT
MASK : STRUCT
STEP_00 : DWORD ;
STEP_01 : DWORD ;
STEP_02 : DWORD ;
STEP_03 : DWORD ;
STEP_04 : DWORD ;
STEP_05 : DWORD ;
STEP_06 : DWORD ;
STEP_07 : DWORD ;
STEP_08 : DWORD ;
STEP_09 : DWORD ;
STEP_10 : DWORD ;
STEP_11 : DWORD ;
STEP_12 : DWORD ;
STEP_13 : DWORD ;
STEP_14 : DWORD ;
STEP_15 : DWORD ;
END_STRUCT ;
COMPARE : STRUCT
STEP_00 : DWORD ;
STEP_01 : DWORD ;
STEP_02 : DWORD ;
STEP_03 : DWORD ;
STEP_04 : DWORD ;
STEP_05 : DWORD ;
STEP_06 : DWORD ;
STEP_07 : DWORD ;
STEP_08 : DWORD ;
STEP_09 : DWORD ;
STEP_10 : DWORD ;
STEP_11 : DWORD ;
STEP_12 : DWORD ;
STEP_13 : DWORD ;
STEP_14 : DWORD ;
STEP_15 : DWORD ;
END_STRUCT ;
OUTPUTS : STRUCT
STEP_00 : DWORD ;
STEP_01 : DWORD ;
STEP_02 : DWORD ;
STEP_03 : DWORD ;
STEP_04 : DWORD ;
STEP_05 : DWORD ;
STEP_06 : DWORD ;
STEP_07 : DWORD ;
STEP_08 : DWORD ;
STEP_09 : DWORD ;
STEP_10 : DWORD ;
STEP_11 : DWORD ;
STEP_12 : DWORD ;
STEP_13 : DWORD ;
STEP_14 : DWORD ;
STEP_15 : DWORD ;
END_STRUCT ;
END_STRUCT ;
BEGIN
MASK.STEP_00 := DW#16#0 ;
MASK.STEP_01 := DW#16#0;
MASK.STEP_02 := DW#16#0;
MASK.STEP_03 := DW#16#0;
MASK.STEP_04 := DW#16#0;
MASK.STEP_05 := DW#16#0;
MASK.STEP_06 := DW#16#0;
MASK.STEP_07 := DW#16#0;
MASK.STEP_08 := DW#16#0;
MASK.STEP_09 := DW#16#0;
MASK.STEP_10 := DW#16#0;
MASK.STEP_11 := DW#16#0;
MASK.STEP_12 := DW#16#0;
MASK.STEP_13 := DW#16#0;
MASK.STEP_14 := DW#16#0;
MASK.STEP_15 := DW#16#0;
/////
COMPARE_MASK.STEP_00 := DW#16#0 ;
COMPARE_MASK.STEP_01 := DW#16#0;
COMPARE_MASK.STEP_02 := DW#16#0;
COMPARE_MASK.STEP_03 := DW#16#0;
COMPARE_MASK.STEP_04 := DW#16#0;
COMPARE_MASK.STEP_05 := DW#16#0;
COMPARE_MASK.STEP_06 := DW#16#0;
COMPARE_MASK.STEP_07 := DW#16#0;
COMPARE_MASK.STEP_08 := DW#16#0;
COMPARE_MASK.STEP_09 := DW#16#0;
COMPARE_MASK.STEP_10 := DW#16#0;
COMPARE_MASK.STEP_11 := DW#16#0;
COMPARE_MASK.STEP_12 := DW#16#0;
COMPARE_MASK.STEP_13 := DW#16#0;
COMPARE_MASK.STEP_14 := DW#16#0;
COMPARE_MASK.STEP_15 := DW#16#0;
//
OUTPUTS.STEP_00 := DW#16#0 ;
OUTPUTS.STEP_01 := DW#16#1;
OUTPUTS.STEP_02 := DW#16#2;
OUTPUTS.STEP_03 := DW#16#3;
OUTPUTS.STEP_04 := DW#16#4;
OUTPUTS.STEP_05 := DW#16#5;
OUTPUTS.STEP_06 := DW#16#6;
OUTPUTS.STEP_07 := DW#16#7;
OUTPUTS.STEP_08 := DW#16#8;
OUTPUTS.STEP_09 := DW#16#9;
OUTPUTS.STEP_10 := DW#16#A;
OUTPUTS.STEP_11 := DW#16#B;
OUTPUTS.STEP_12 := DW#16#C;
OUTPUTS.STEP_13 := DW#16#D;
OUTPUTS.STEP_14 := DW#16#E;
OUTPUTS.STEP_15 := DW#16#F;
END_DATA_BLOCK
I have assigned the output of FC2 to DBD100 .. is DBD100 the issue?
I have created a 1 seconds incrementing value for iStep of 0-15 and repeating.
When I monitor MW100 onwards in a VAT I dont see any changes to any bits. I would expect to see 0-F appearing
Cheers