87 lines
1.2 KiB
Markdown
87 lines
1.2 KiB
Markdown
```pascal
|
|
// Block Type: FC
|
|
// Block Number: 210
|
|
// Original Network Languages: STL
|
|
|
|
FUNCTION "MessageScroll" : Void
|
|
{ S7_Optimized_Access := 'TRUE' }
|
|
VERSION : 0.1
|
|
|
|
VAR_INPUT
|
|
Data_B : "DB_ANY";
|
|
First : Int;
|
|
Last : Int;
|
|
Time_Vis : Timer;
|
|
END_VAR
|
|
|
|
VAR_INOUT
|
|
Code : Int;
|
|
END_VAR
|
|
|
|
VAR_TEMP
|
|
First_bit : Int;
|
|
Last_bit : Int;
|
|
Point : DWord;
|
|
END_VAR
|
|
|
|
BEGIN
|
|
|
|
// Network 1: (Original Language: STL)
|
|
|
|
// --- BEGIN STL Network 1 ---
|
|
|
|
AUF "Data_B"
|
|
A "Time_Vis"
|
|
BEC
|
|
CLR
|
|
L S5T#3S
|
|
Pulse "Time_Vis"
|
|
L "First"
|
|
L 8
|
|
MUL_I
|
|
ADD -1
|
|
T "First_bit"
|
|
L "Last"
|
|
L 8
|
|
MUL_I
|
|
ADD 7
|
|
T "Last_bit"
|
|
L "Code"
|
|
ADD 1
|
|
L "First_bit"
|
|
ADD_I
|
|
T "Point"
|
|
L "Point"
|
|
L "Last_bit"
|
|
GT_I
|
|
JC rest
|
|
L "Point"
|
|
loop: LAR1_ACCU1
|
|
A DBX[AR1,P#0.0]
|
|
L S5T#3S
|
|
Pulse "Time_Vis"
|
|
JC code
|
|
L "Point"
|
|
L "Last_bit"
|
|
GE_I
|
|
JC rest
|
|
L "Point"
|
|
L 1
|
|
ADD_I
|
|
T "Point"
|
|
JU loop
|
|
rest: L 0
|
|
T "Code"
|
|
BEU
|
|
code: NOP_0
|
|
L "Point"
|
|
L "First_bit"
|
|
SUB_I
|
|
T "Code"
|
|
|
|
// --- END STL Network 1 ---
|
|
|
|
END_FUNCTION
|
|
|
|
```
|