[poll type=“ranked_choice” results=“staff_only” public=“false” chartType=“pie” close=“2025-12-30T23:00:00.000Z”]
- a
- b
- c
- d
- e
- f
0
voters
- g
- h
- i
- l
- m
- n
- o
0
voters
- p
- q
- r
- s
- t
- u
0
voters
- a
- b
- c
- d
0
voters
[poll type=“ranked_choice” results=“staff_only” public=“false” chartType=“pie” close=“2025-12-30T23:00:00.000Z”]
This text is red
This one is blue
Write your message here…
This text is red
This text is blue
Type your message here…
Iframe Cloudflare
VAR
iAllAxes : ARRAY[1..MAX_AXES] OF I_GenericAxis;
//
PosAxis : PositionAxis;
iPosAxis : I_PositionAxis;
//
VelAxis : VelocityAxis;
iVelAxis : I_VelocityAxis;
//
i : INT;
END_VAR
iAllAxes[1] := PosAxis;
iAllAxes[2] := VelAxis;
FOR i := 1 TO MAX_AXES DO
IF _QUERYINTERFACE(iAllAxes[i], iPosAxis) THEN
iPosAxis.Home();
END_IF
END_FOR
const [javascript, sql, ruby] = await Promise.all([
import("highlight.js/lib/languages/javascript"),
import("highlight.js/lib/languages/sql"),
import("highlight.js/lib/languages/ruby"),
]);
hljs.registerLanguage("javascript", javascript.default);
hljs.registerLanguage("ruby", ruby.default);
hljs.registerLanguage("sql", sql.default);
VAR
iAllAxes : ARRAY[1..MAX_AXES] OF I_GenericAxis;
//
PosAxis : PositionAxis;
iPosAxis : I_PositionAxis;
//
VelAxis : VelocityAxis;
iVelAxis : I_VelocityAxis;
//
i : INT;
END_VAR
iAllAxes[1] := PosAxis;
iAllAxes[2] := VelAxis;
FOR i := 1 TO MAX_AXES DO
IF _QUERYINTERFACE(iAllAxes[i], iPosAxis) THEN
iPosAxis.Home();
END_IF
END_FOR
INTERFACE I_GenericAxis EXTENDS __System.IQueryInterface
FUNCTION_BLOCK GenericAxis IMPLEMENTS I_GenericAxis
FUNCTION_BLOCK VelocityAxis EXTENDS GenericAxis IMPLEMENTS I_VelocityAxis
FUNCTION_BLOCK PositionAxis EXTENDS GenericAxis IMPLEMENTS I_PositionAxis
MAIN
VAR
iAllAxes : ARRAY[1..MAX_AXES] OF I_GenericAxis;
//
PosAxis : PositionAxis;
iPosAxis : I_PositionAxis;
//
VelAxis : VelocityAxis;
iVelAxis : I_VelocityAxis;
//
i : INT;
END_VAR
iAllAxes[1] := PosAxis;
iAllAxes[2] := VelAxis;
FOR i := 1 TO MAX_AXES DO
IF __QUERYINTERFACE(iAllAxes[i], iPosAxis) THEN
iPosAxis.Home();
END_IF
END_FOR
CONFIGURATION DefaultCfg
VAR_GLOBAL
b_Start_Stop : BOOL; // Global variable to represent a bool
b_ON_OFF : BOOL; // Global variable to represent a bool
Start_Stop AT %IX0.0 : BOOL; // Digital input of the PLC
ON_OFF AT %QX0.0 : BOOL; // Digital output of the PLC
END_VAR
// Schedule the main program to be executed every 20 ms
TASK Tick(INTERVAL := t#20ms);
PROGRAM Main WITH Tick : Monitor_Start_Stop;
END_CONFIGURATION
PROGRAM Monitor_Start_Stop
// Actual Program
VAR_EXTERNAL
Start_Stop : BOOL;
ON_OFF : BOOL;
END_VAR
VAR
// Temporary variables for logic handling
ONS_Trig : BOOL;
Rising_ONS : BOOL;
END_VAR
END_PROGRAM
VAR
iAllAxes : ARRAY[1..MAX_AXES] OF I_GenericAxis;
//
PosAxis : PositionAxis;
iPosAxis : I_PositionAxis;
//
VelAxis : VelocityAxis;
iVelAxis : I_VelocityAxis;
//
i : INT;
END_VAR
iAllAxes[1] := PosAxis;
iAllAxes[2] := VelAxis;
FOR i := 1 TO MAX_AXES DO
IF _QUERYINTERFACE(iAllAxes[i], iPosAxis) THEN
iPosAxis.Home();
END_IF
END_FOR
VAR
iAllAxes : ARRAY[1..MAX_AXES] OF I_GenericAxis;
//
PosAxis : PositionAxis;
iPosAxis : I_PositionAxis;
//
VelAxis : VelocityAxis;
iVelAxis : I_VelocityAxis;
//
i : INT;
END_VAR
iAllAxes[1] := PosAxis;
iAllAxes[2] := VelAxis;
FOR i := 1 TO MAX_AXES DO
IF _QUERYINTERFACE(iAllAxes[i], iPosAxis) THEN
iPosAxis.Home();
END_IF
END_FOR
VAR
iAllAxes : ARRAY[1..MAX_AXES] OF I_GenericAxis;
//
PosAxis : PositionAxis;
iPosAxis : I_PositionAxis;
//
VelAxis : VelocityAxis;
iVelAxis : I_VelocityAxis;
//
i : INT;
END_VAR
iAllAxes[1] := PosAxis;
iAllAxes[2] := VelAxis;
FOR i := 1 TO MAX_AXES DO
IF _QUERYINTERFACE(iAllAxes[i], iPosAxis) THEN
iPosAxis.Home();
END_IF
END_FOR
VAR
iAllAxes : ARRAY[1..MAX_AXES] OF I_GenericAxis;
//
PosAxis : PositionAxis;
iPosAxis : I_PositionAxis;
//
VelAxis : VelocityAxis;
iVelAxis : I_VelocityAxis;
//
i : INT;
END_VAR
iAllAxes[1] := PosAxis;
iAllAxes[2] := VelAxis;
FOR i := 1 TO MAX_AXES DO
IF _QUERYINTERFACE(iAllAxes[i], iPosAxis) THEN
iPosAxis.Home();
END_IF
END_FOR