Testing poll, pie

[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
  • first option
  • second option
  • third option
0 voters
  • first
  • second
  • third
0 voters
  • q
  • w
  • e
  • r
  • t
0 voters

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