Code:
#define MODULE MACHINE_IO_MODULE
#include "axes.h"
/* MASTER */
input Axis_0_0_Upper_Max_Backward;
input Axis_0_0_Upper_Collision_Axis_0_1;
input Axis_0_0_Lower_Max_Backward;
input Axis_0_0_Lower_Collision_Axis_0_1;
input Axis_0_1_Upper_Collision_Axis_0_2;
input Axis_0_1_Lower_Collision_Axis_0_2;
input Axis_0_2_Upper_Collision_Axis_0_3;
input Axis_0_2_Lower_Collision_Axis_0_3;
input Axis_0_3_Upper_Collision_Axis_0_4;
input Axis_0_3_Lower_Collision_Axis_0_4;
input Axis_0_4_Upper_Max_Forward;
input Axis_0_4_Lower_Max_Forward;
input Axis_1_0_Upper_Max_Backward;
input Axis_1_0_Upper_Collision_Axis_1_1;
input Axis_1_0_Lower_Max_Backward;
input Axis_1_0_Lower_Collision_Axis_1_1;
input Axis_1_1_Upper_Collision_Axis_1_2;
input Axis_1_1_Lower_Collision_Axis_1_2;
input Axis_1_2_Upper_Collision_Axis_1_3;
input Axis_1_2_Lower_Collision_Axis_1_3;
input Axis_1_3_Upper_Collision_Axis_1_4;
input Axis_1_3_Lower_Collision_Axis_1_4;
input Axis_1_4_Upper_Max_Forward;
input Axis_1_4_Lower_Max_Forward;
input Axis_2_0_Upper_Max_Backward;
input Axis_2_0_Upper_Collision_Axis_2_1;
input Axis_2_0_Lower_Max_Backward;
input Axis_2_0_Lower_Collision_Axis_2_1;
input Axis_2_1_Upper_Collision_Axis_2_2;
input Axis_2_1_Lower_Collision_Axis_2_2;
input Axis_2_2_Upper_Collision_Axis_2_3;
input Axis_2_2_Lower_Collision_Axis_2_3;
/* SLAVE 0 */
input Axis_2_3_Upper_Collision_Axis_2_4;
input Axis_2_3_Lower_Collision_Axis_2_4;
input Axis_2_4_Upper_Collision_Axis_2_5;
input Axis_2_4_Lower_Collision_Axis_2_5;
input Axis_2_5_Upper_Max_Forward;
input Axis_2_5_Lower_Max_Forward;
input Axis_3_0_Upper_Max_Backward;
input Axis_3_0_Upper_Collision_Axis_3_1;
input Axis_3_0_Lower_Max_Backward;
input Axis_3_0_Lower_Collision_Axis_3_1;
input Axis_3_1_Upper_Collision_Axis_3_2;
input Axis_3_1_Lower_Collision_Axis_3_2;
input Axis_3_2_Upper_Max_Forward;
input Axis_3_2_Lower_Max_Forward;
input Axis_0_0_Upper_Fuse;
input Axis_0_0_Lower_Fuse;
input Axis_0_1_Upper_Fuse;
input Axis_0_1_Lower_Fuse;
input Axis_0_2_Upper_Fuse;
input Axis_0_2_Lower_Fuse;
input Axis_0_3_Upper_Fuse;
input Axis_0_3_Lower_Fuse;
input Axis_0_4_Upper_Fuse;
input Axis_0_4_Lower_Fuse;
input Axis_1_0_Upper_Fuse;
input Axis_1_0_Lower_Fuse;
input Axis_1_1_Upper_Fuse;
input Axis_1_1_Lower_Fuse;
input Axis_1_2_Upper_Fuse;
input Axis_1_2_Lower_Fuse;
input Axis_1_3_Upper_Fuse;
input Axis_1_3_Lower_Fuse;
/* SLAVE 1 */
input Axis_1_4_Upper_Fuse;
input Axis_1_4_Lower_Fuse;
input Axis_2_0_Upper_Fuse;
input Axis_2_0_Lower_Fuse;
input Axis_2_1_Upper_Fuse;
input Axis_2_1_Lower_Fuse;
input Axis_2_2_Upper_Fuse;
input Axis_2_2_Lower_Fuse;
input Axis_2_3_Upper_Fuse;
input Axis_2_3_Lower_Fuse;
input Axis_2_4_Upper_Fuse;
input Axis_2_4_Lower_Fuse;
input Axis_2_5_Upper_Fuse;
input Axis_2_5_Lower_Fuse;
input Axis_3_0_Upper_Fuse;
input Axis_3_0_Lower_Fuse;
input Axis_3_1_Upper_Fuse;
input Axis_3_1_Lower_Fuse;
input Axis_3_2_Upper_Fuse;
input Axis_3_2_Lower_Fuse;
input Creaser_0_0_Lower;
input Puncher_0_0_Lower;
input Creaser_0_1_Lower;
input Puncher_0_1_Lower;
input Creaser_0_2_Lower;
input Puncher_0_2_Lower;
input Creaser_0_3_Lower;
input Puncher_0_3_Lower;
input Creaser_0_4_Lower;
input Puncher_0_4_Lower;
input Creaser_1_0_Lower;
input Puncher_1_0_Lower;
/* SLAVE 2 */
input Creaser_1_1_Lower;
input Puncher_1_1_Lower;
input Creaser_1_2_Lower;
input Puncher_1_2_Lower;
input Creaser_1_3_Lower;
input Puncher_1_3_Lower;
input Creaser_1_4_Lower;
input Puncher_1_4_Lower;
input Creaser_2_0_Lower;
input Puncher_2_0_Lower;
input Creaser_2_1_Lower;
input Puncher_2_1_Lower;
input Creaser_2_2_Lower;
input Puncher_2_2_Lower;
input Creaser_2_3_Lower;
input Puncher_2_3_Lower;
input Creaser_2_4_Lower;
input Puncher_2_4_Lower;
input Creaser_2_5_Lower;
input Puncher_2_5_Lower;
input Puncher_3_0_Forward;
input Puncher_3_1_Forward;
input Puncher_3_2_Forward;
input Puncher_3_0_Backward;
input Puncher_3_1_Backward;
input Puncher_3_2_Backward;
input Free_Input_3_26;
input Free_Input_3_27;
input Free_Input_3_28;
input Free_Input_3_29;
input Free_Input_3_30;
input Free_Input_3_31;
/* SLAVE 3 */
input Main_Emergency;
input DC_24_Motor_0_Line;
input DC_24_Motor_1_Line;
input DC_24_Motor_2_Line;
input DC_24_Motor_3_Line;
input Auxiliary;
input Air_Pressure_Alarm;
input Free_Input_4_07;
/******************************************************************************/
BOARD const Board[] =
{
/*** MASTER ***/
INPUT (Axis_0_0_Upper_Max_Backward, "56SQ1", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_0_0_Upper_Collision_Axis_0_1, "56SQ2", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_0_0_Lower_Max_Backward, "56SQ3", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_0_0_Lower_Collision_Axis_0_1, "56SQ4", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_0_1_Upper_Collision_Axis_0_2, "56SQ5", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_0_1_Lower_Collision_Axis_0_2, "56SQ6", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_0_2_Upper_Collision_Axis_0_3, "56SQ7", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_0_2_Lower_Collision_Axis_0_3, "56SQ8", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_0_3_Upper_Collision_Axis_0_4, "57SQ1", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_0_3_Lower_Collision_Axis_0_4, "57SQ2", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_0_4_Upper_Max_Forward, "57SQ3", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_0_4_Lower_Max_Forward, "57SQ4", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_1_0_Upper_Max_Backward, "57SQ5", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_1_0_Upper_Collision_Axis_1_1, "57SQ6", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_1_0_Lower_Max_Backward, "57SQ7", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_1_0_Lower_Collision_Axis_1_1, "57SQ8", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_1_1_Upper_Collision_Axis_1_2, "58SQ1", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_1_1_Lower_Collision_Axis_1_2, "58SQ2", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_1_2_Upper_Collision_Axis_1_3, "58SQ3", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_1_2_Lower_Collision_Axis_1_3, "58SQ4", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_1_3_Upper_Collision_Axis_1_4, "58SQ5", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_1_3_Lower_Collision_Axis_1_4, "58SQ6", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_1_4_Upper_Max_Forward, "58SQ7", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_1_4_Lower_Max_Forward, "58SQ8", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_2_0_Upper_Max_Backward, "59SQ1", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_2_0_Upper_Collision_Axis_2_1, "59SQ2", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_2_0_Lower_Max_Backward, "59SQ3", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_2_0_Lower_Collision_Axis_2_1, "59SQ4", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_2_1_Upper_Collision_Axis_2_2, "59SQ5", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_2_1_Lower_Collision_Axis_2_2, "59SQ6", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_2_2_Upper_Collision_Axis_2_3, "59SQ7", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_2_2_Lower_Collision_Axis_2_3, "59SQ8", NORMALLY_CLOSED, 0 , 0),
OUTPUT (AXIS_0_0_UPPER_FORWARD),
OUTPUT (AXIS_0_0_UPPER_BACKWARD),
OUTPUT (AXIS_0_0_UPPER_SPEED),
OUTPUT (AXIS_0_0_LOWER_FORWARD),
OUTPUT (AXIS_0_0_LOWER_BACKWARD),
OUTPUT (AXIS_0_0_LOWER_SPEED),
OUTPUT (AXIS_0_1_UPPER_FORWARD),
OUTPUT (AXIS_0_1_UPPER_BACKWARD),
OUTPUT (AXIS_0_1_UPPER_SPEED),
OUTPUT (AXIS_0_1_LOWER_FORWARD),
OUTPUT (AXIS_0_1_LOWER_BACKWARD),
OUTPUT (AXIS_0_1_LOWER_SPEED),
OUTPUT (AXIS_0_2_UPPER_FORWARD),
OUTPUT (AXIS_0_2_UPPER_BACKWARD),
OUTPUT (AXIS_0_2_UPPER_SPEED),
OUTPUT (AXIS_0_2_LOWER_FORWARD),
OUTPUT (AXIS_0_2_LOWER_BACKWARD),
OUTPUT (AXIS_0_2_LOWER_SPEED),
OUTPUT (AXIS_0_3_UPPER_FORWARD),
OUTPUT (AXIS_0_3_UPPER_BACKWARD),
OUTPUT (AXIS_0_3_UPPER_SPEED),
OUTPUT (AXIS_0_3_LOWER_FORWARD),
OUTPUT (AXIS_0_3_LOWER_BACKWARD),
OUTPUT (AXIS_0_3_LOWER_SPEED),
OUTPUT (AXIS_0_4_UPPER_FORWARD),
OUTPUT (AXIS_0_4_UPPER_BACKWARD),
OUTPUT (AXIS_0_4_UPPER_SPEED),
OUTPUT (AXIS_0_4_LOWER_FORWARD),
OUTPUT (AXIS_0_4_LOWER_BACKWARD),
OUTPUT (AXIS_0_4_LOWER_SPEED),
OUTPUT (AXIS_1_0_UPPER_FORWARD),
OUTPUT (AXIS_1_0_UPPER_BACKWARD),
ENCODER (IF("Asse 0.0 sup.", "Axe 0.0 superieur"), "140X1", 207, 500, TRUE),
ENCODER (IF("Asse 0.0 inf.", "Axe 0.0 inferieur"), "140X2", 207, 500, TRUE),
ENCODER (IF("Asse 0.1 sup.", "Axe 0.1 superieur"), "140X3", 207, 500, TRUE),
ENCODER (IF("Asse 0.1 inf.", "Axe 0.1 inferieur"), "140X4", 207, 500, TRUE),
ENCODER (IF("Asse 0.2 sup.", "Axe 0.2 superieur"), "140X5", 207, 500, TRUE),
/*** SLAVE 0 ***/
INPUT (Axis_2_3_Upper_Collision_Axis_2_4, "60SQ1", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_2_3_Lower_Collision_Axis_2_4, "60SQ2", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_2_4_Upper_Collision_Axis_2_5, "60SQ3", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_2_4_Lower_Collision_Axis_2_5, "60SQ4", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_2_5_Upper_Max_Forward, "60SQ5", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_2_5_Lower_Max_Forward, "60SQ6", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_3_0_Upper_Max_Backward, "60SQ7", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_3_0_Upper_Collision_Axis_3_1, "60SQ8", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_3_0_Lower_Max_Backward, "61SQ1", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_3_0_Lower_Collision_Axis_3_1, "61SQ2", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_3_1_Upper_Collision_Axis_3_2, "61SQ3", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_3_1_Lower_Collision_Axis_3_2, "61SQ4", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_3_2_Upper_Max_Forward, "61SQ5", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_3_2_Lower_Max_Forward, "61SQ6", NORMALLY_CLOSED, 0 , 0),
INPUT (Axis_0_0_Upper_Fuse, "14FU1", NORMALLY_OPENED, 0 , 0),
INPUT (Axis_0_0_Lower_Fuse, "14FU2", NORMALLY_OPENED, 0 , 0),
INPUT (Axis_0_1_Upper_Fuse, "14FU3", NORMALLY_OPENED, 0 , 0),
INPUT (Axis_0_1_Lower_Fuse, "15FU1", NORMALLY_OPENED, 0 , 0),
INPUT (Axis_0_2_Upper_Fuse, "15FU2", NORMALLY_OPENED, 0 , 0),
INPUT (Axis_0_2_Lower_Fuse, "15FU3", NORMALLY_OPENED, 0 , 0),
INPUT (Axis_0_3_Upper_Fuse, "16FU1", NORMALLY_OPENED, 0 , 0),
INPUT (Axis_0_3_Lower_Fuse, "16FU2", NORMALLY_OPENED, 0 , 0),
INPUT (Axis_0_4_Upper_Fuse, "16FU3", NORMALLY_OPENED, 0 , 0),
INPUT (Axis_0_4_Lower_Fuse, "17FU1", NORMALLY_OPENED, 0 , 0),
INPUT (Axis_1_0_Upper_Fuse, "17FU2", NORMALLY_OPENED, 0 , 0),
INPUT (Axis_1_0_Lower_Fuse, "17FU3", NORMALLY_OPENED, 0 , 0),
INPUT (Axis_1_1_Upper_Fuse, "18FU1", NORMALLY_OPENED, 0 , 0),
INPUT (Axis_1_1_Lower_Fuse, "18FU2", NORMALLY_OPENED, 0 , 0),
INPUT (Axis_1_2_Upper_Fuse, "18FU3", NORMALLY_OPENED, 0 , 0),
INPUT (Axis_1_2_Lower_Fuse, "19FU1", NORMALLY_OPENED, 0 , 0),
INPUT (Axis_1_3_Upper_Fuse, "19FU2", NORMALLY_OPENED, 0 , 0),
INPUT (Axis_1_3_Lower_Fuse, "19FU3", NORMALLY_OPENED, 0 , 0),
OUTPUT (AXIS_1_0_UPPER_SPEED),
OUTPUT (AXIS_1_0_LOWER_FORWARD),
OUTPUT (AXIS_1_0_LOWER_BACKWARD),
OUTPUT (AXIS_1_0_LOWER_SPEED),
OUTPUT (AXIS_1_1_UPPER_FORWARD),
OUTPUT (AXIS_1_1_UPPER_BACKWARD),
OUTPUT (AXIS_1_1_UPPER_SPEED),
OUTPUT (AXIS_1_1_LOWER_FORWARD),
OUTPUT (AXIS_1_1_LOWER_BACKWARD),
OUTPUT (AXIS_1_1_LOWER_SPEED),
OUTPUT (AXIS_1_2_UPPER_FORWARD),
OUTPUT (AXIS_1_2_UPPER_BACKWARD),
OUTPUT (AXIS_1_2_UPPER_SPEED),
OUTPUT (AXIS_1_2_LOWER_FORWARD),
OUTPUT (AXIS_1_2_LOWER_BACKWARD),
OUTPUT (AXIS_1_2_LOWER_SPEED),
OUTPUT (AXIS_1_3_UPPER_FORWARD),
OUTPUT (AXIS_1_3_UPPER_BACKWARD),
OUTPUT (AXIS_1_3_UPPER_SPEED),
OUTPUT (AXIS_1_3_LOWER_FORWARD),
OUTPUT (AXIS_1_3_LOWER_BACKWARD),
OUTPUT (AXIS_1_3_LOWER_SPEED),
OUTPUT (AXIS_1_4_UPPER_FORWARD),
OUTPUT (AXIS_1_4_UPPER_BACKWARD),
OUTPUT (AXIS_1_4_UPPER_SPEED),
OUTPUT (AXIS_1_4_LOWER_FORWARD),
OUTPUT (AXIS_1_4_LOWER_BACKWARD),
OUTPUT (AXIS_1_4_LOWER_SPEED),
OUTPUT (AXIS_2_0_UPPER_FORWARD),
OUTPUT (AXIS_2_0_UPPER_BACKWARD),
OUTPUT (AXIS_2_0_UPPER_SPEED),
OUTPUT (AXIS_2_0_LOWER_FORWARD),
ENCODER (IF("Asse 0.2 inf.", "Axe 0.2 inferieur"), "141X1", 207, 500, TRUE),
ENCODER (IF("Asse 0.3 sup.", "Axe 0.3 superieur"), "141X2", 207, 500, TRUE),
ENCODER (IF("Asse 0.3 inf.", "Axe 0.3 inferieur"), "141X3", 207, 500, TRUE),
ENCODER (IF("Asse 0.4 sup.", "Axe 0.4 superieur"), "141X4", 207, 500, TRUE),
ENCODER (IF("Asse 0.4 inf.", "Axe 0.4 inferieur"), "141X5", 207, 500, TRUE),
/*** SLAVE 1 ***/
INPUT (Axis_1_4_Upper_Fuse, "20FU1", NORMALLY_OPENED, 0 , 0),
INPUT (Axis_1_4_Lower_Fuse, "20FU2", NORMALLY_OPENED, 0 , 0),
INPUT (Axis_2_0_Upper_Fuse, "20FU3", NORMALLY_OPENED, 0 , 0),
INPUT (Axis_2_0_Lower_Fuse, "21FU1", NORMALLY_OPENED, 0 , 0),
INPUT (Axis_2_1_Upper_Fuse, "21FU2", NORMALLY_OPENED, 0 , 0),
INPUT (Axis_2_1_Lower_Fuse, "21FU3", NORMALLY_OPENED, 0 , 0),
INPUT (Axis_2_2_Upper_Fuse, "22FU1", NORMALLY_OPENED, 0 , 0),
INPUT (Axis_2_2_Lower_Fuse, "22FU2", NORMALLY_OPENED, 0 , 0),
INPUT (Axis_2_3_Upper_Fuse, "22FU3", NORMALLY_OPENED, 0 , 0),
INPUT (Axis_2_3_Lower_Fuse, "23FU1", NORMALLY_OPENED, 0 , 0),
INPUT (Axis_2_4_Upper_Fuse, "23FU2", NORMALLY_OPENED, 0 , 0),
INPUT (Axis_2_4_Lower_Fuse, "23FU3", NORMALLY_OPENED, 0 , 0),
INPUT (Axis_2_5_Upper_Fuse, "24FU1", NORMALLY_OPENED, 0 , 0),
INPUT (Axis_2_5_Lower_Fuse, "24FU2", NORMALLY_OPENED, 0 , 0),
INPUT (Axis_3_0_Upper_Fuse, "24FU3", NORMALLY_OPENED, 0 , 0),
INPUT (Axis_3_0_Lower_Fuse, "25FU1", NORMALLY_OPENED, 0 , 0),
INPUT (Axis_3_1_Upper_Fuse, "25FU2", NORMALLY_OPENED, 0 , 0),
INPUT (Axis_3_1_Lower_Fuse, "25FU3", NORMALLY_OPENED, 0 , 0),
INPUT (Axis_3_2_Upper_Fuse, "26FU1", NORMALLY_OPENED, 0 , 0),
INPUT (Axis_3_2_Lower_Fuse, "26FU2", NORMALLY_OPENED, 0 , 0),
INPUT (Creaser_0_0_Lower, NULL, NORMALLY_OPENED, 0 , 0),
INPUT (Puncher_0_0_Lower, NULL, NORMALLY_OPENED, 0 , 0),
INPUT (Creaser_0_1_Lower, NULL, NORMALLY_OPENED, 0 , 0),
INPUT (Puncher_0_1_Lower, NULL, NORMALLY_OPENED, 0 , 0),
INPUT (Creaser_0_2_Lower, NULL, NORMALLY_OPENED, 0 , 0),
INPUT (Puncher_0_2_Lower, NULL, NORMALLY_OPENED, 0 , 0),
INPUT (Creaser_0_3_Lower, NULL, NORMALLY_OPENED, 0 , 0),
INPUT (Puncher_0_3_Lower, NULL, NORMALLY_OPENED, 0 , 0),
INPUT (Creaser_0_4_Lower, NULL, NORMALLY_OPENED, 0 , 0),
INPUT (Puncher_0_4_Lower, NULL, NORMALLY_OPENED, 0 , 0),
INPUT (Creaser_1_0_Lower, NULL, NORMALLY_OPENED, 0 , 0),
INPUT (Puncher_1_0_Lower, NULL, NORMALLY_OPENED, 0 , 0),
OUTPUT (AXIS_2_0_LOWER_BACKWARD),
OUTPUT (AXIS_2_0_LOWER_SPEED),
OUTPUT (AXIS_2_1_UPPER_FORWARD),
OUTPUT (AXIS_2_1_UPPER_BACKWARD),
OUTPUT (AXIS_2_1_UPPER_SPEED),
OUTPUT (AXIS_2_1_LOWER_FORWARD),
OUTPUT (AXIS_2_1_LOWER_BACKWARD),
OUTPUT (AXIS_2_1_LOWER_SPEED),
OUTPUT (AXIS_2_2_UPPER_FORWARD),
OUTPUT (AXIS_2_2_UPPER_BACKWARD),
OUTPUT (AXIS_2_2_UPPER_SPEED),
OUTPUT (AXIS_2_2_LOWER_FORWARD),
OUTPUT (AXIS_2_2_LOWER_BACKWARD),
OUTPUT (AXIS_2_2_LOWER_SPEED),
OUTPUT (AXIS_2_3_UPPER_FORWARD),
OUTPUT (AXIS_2_3_UPPER_BACKWARD),
OUTPUT (AXIS_2_3_UPPER_SPEED),
OUTPUT (AXIS_2_3_LOWER_FORWARD),
OUTPUT (AXIS_2_3_LOWER_BACKWARD),
OUTPUT (AXIS_2_3_LOWER_SPEED),
OUTPUT (AXIS_2_4_UPPER_FORWARD),
OUTPUT (AXIS_2_4_UPPER_BACKWARD),
OUTPUT (AXIS_2_4_UPPER_SPEED),
OUTPUT (AXIS_2_4_LOWER_FORWARD),
OUTPUT (AXIS_2_4_LOWER_BACKWARD),
OUTPUT (AXIS_2_4_LOWER_SPEED),
OUTPUT (AXIS_2_5_UPPER_FORWARD),
OUTPUT (AXIS_2_5_UPPER_BACKWARD),
OUTPUT (AXIS_2_5_UPPER_SPEED),
OUTPUT (AXIS_2_5_LOWER_FORWARD),
OUTPUT (AXIS_2_5_LOWER_BACKWARD),
OUTPUT (AXIS_2_5_LOWER_SPEED),
ENCODER (IF("Asse 1.0 sup.", "Axe 1.0 superieur"), "142X1", 207, 500, TRUE),
ENCODER (IF("Asse 1.0 inf.", "Axe 1.0 inferieur"), "142X2", 207, 500, TRUE),
ENCODER (IF("Asse 1.1 sup.", "Axe 1.1 superieur"), "142X3", 207, 500, TRUE),
ENCODER (IF("Asse 1.1 inf.", "Axe 1.1 inferieur"), "142X4", 207, 500, TRUE),
ENCODER (IF("Asse 1.2 sup.", "Axe 1.2 superieur"), "142X5", 207, 500, TRUE),
/*** SLAVE 2 ***/
INPUT (Creaser_1_1_Lower, NULL, NORMALLY_OPENED, 0, 0),
INPUT (Puncher_1_1_Lower, NULL, NORMALLY_OPENED, 0, 0),
INPUT (Creaser_1_2_Lower, NULL, NORMALLY_OPENED, 0, 0),
INPUT (Puncher_1_2_Lower, NULL, NORMALLY_OPENED, 0, 0),
INPUT (Creaser_1_3_Lower, NULL, NORMALLY_OPENED, 0, 0),
INPUT (Puncher_1_3_Lower, NULL, NORMALLY_OPENED, 0, 0),
INPUT (Creaser_1_4_Lower, NULL, NORMALLY_OPENED, 0, 0),
INPUT (Puncher_1_4_Lower, NULL, NORMALLY_OPENED, 0, 0),
INPUT (Creaser_2_0_Lower, NULL, NORMALLY_OPENED, 0, 0),
INPUT (Puncher_2_0_Lower, NULL, NORMALLY_OPENED, 0, 0),
INPUT (Creaser_2_1_Lower, NULL, NORMALLY_OPENED, 0, 0),
INPUT (Puncher_2_1_Lower, NULL, NORMALLY_OPENED, 0, 0),
INPUT (Creaser_2_2_Lower, NULL, NORMALLY_OPENED, 0, 0),
INPUT (Puncher_2_2_Lower, NULL, NORMALLY_OPENED, 0, 0),
INPUT (Creaser_2_3_Lower, NULL, NORMALLY_OPENED, 0, 0),
INPUT (Puncher_2_3_Lower, NULL, NORMALLY_OPENED, 0, 0),
INPUT (Creaser_2_4_Lower, NULL, NORMALLY_OPENED, 0, 0),
INPUT (Puncher_2_4_Lower, NULL, NORMALLY_OPENED, 0, 0),
INPUT (Creaser_2_5_Lower, NULL, NORMALLY_OPENED, 0, 0),
INPUT (Puncher_2_5_Lower, NULL, NORMALLY_OPENED, 0, 0),
INPUT (Puncher_3_0_Forward, NULL, NORMALLY_OPENED, 0, 0),
INPUT (Puncher_3_1_Forward, NULL, NORMALLY_OPENED, 0, 0),
INPUT (Puncher_3_2_Forward, NULL, NORMALLY_OPENED, 0, 0),
INPUT (Puncher_3_0_Backward, NULL, NORMALLY_OPENED, 0, 0),
INPUT (Puncher_3_1_Backward, NULL, NORMALLY_OPENED, 0, 0),
INPUT (Puncher_3_2_Backward, NULL, NORMALLY_OPENED, 0, 0),
INPUT (Free_Input_3_26, NULL, NORMALLY_OPENED, 0, 0),
INPUT (Free_Input_3_27, NULL, NORMALLY_OPENED, 0, 0),
INPUT (Free_Input_3_28, NULL, NORMALLY_OPENED, 0, 0),
INPUT (Free_Input_3_29, NULL, NORMALLY_OPENED, 0, 0),
INPUT (Free_Input_3_30, NULL, NORMALLY_OPENED, 0, 0),
INPUT (Free_Input_3_31, NULL, NORMALLY_OPENED, 0, 0),
OUTPUT (AXIS_3_0_UPPER_FORWARD),
OUTPUT (AXIS_3_0_UPPER_BACKWARD),
OUTPUT (AXIS_3_0_UPPER_SPEED),
OUTPUT (AXIS_3_0_LOWER_FORWARD),
OUTPUT (AXIS_3_0_LOWER_BACKWARD),
OUTPUT (AXIS_3_0_LOWER_SPEED),
OUTPUT (AXIS_3_1_UPPER_FORWARD),
OUTPUT (AXIS_3_1_UPPER_BACKWARD),
OUTPUT (AXIS_3_1_UPPER_SPEED),
OUTPUT (AXIS_3_1_LOWER_FORWARD),
OUTPUT (AXIS_3_1_LOWER_BACKWARD),
OUTPUT (AXIS_3_1_LOWER_SPEED),
OUTPUT (AXIS_3_2_UPPER_FORWARD),
OUTPUT (AXIS_3_2_UPPER_BACKWARD),
OUTPUT (AXIS_3_2_UPPER_SPEED),
OUTPUT (AXIS_3_2_LOWER_FORWARD),
OUTPUT (AXIS_3_2_LOWER_BACKWARD),
OUTPUT (AXIS_3_2_LOWER_SPEED),
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
ENCODER (IF("Asse 1.2 inf.", "Axe 1.2 inferieur"), "143X1", 207, 500, TRUE),
ENCODER (IF("Asse 1.3 sup.", "Axe 1.3 superieur"), "143X2", 207, 500, TRUE),
ENCODER (IF("Asse 1.3 inf.", "Axe 1.3 inferieur"), "143X3", 207, 500, TRUE),
ENCODER (IF("Asse 1.4 sup.", "Axe 1.4 superieur"), "143X4", 207, 500, TRUE),
ENCODER (IF("Asse 1.4 inf.", "Axe 1.4 inferieur"), "143X5", 207, 500, TRUE),
/*** SLAVE 3 ***/
INPUT (Main_Emergency, NULL, NORMALLY_OPENED, 0, 0),
INPUT (DC_24_Motor_0_Line, NULL, NORMALLY_OPENED, 0, 0),
INPUT (DC_24_Motor_1_Line, NULL, NORMALLY_OPENED, 0, 0),
INPUT (DC_24_Motor_2_Line, NULL, NORMALLY_OPENED, 0, 0),
INPUT (DC_24_Motor_3_Line, NULL, NORMALLY_OPENED, 0, 0),
INPUT (Auxiliary, NULL, NORMALLY_OPENED, 0, 0),
INPUT (Air_Pressure_Alarm, NULL, NORMALLY_CLOSED, 0, 0),
INPUT (Free_Input_4_07, NULL, NORMALLY_OPENED, 0, 0),
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
ENCODER (IF("Asse 2.0 sup.", "Axe 2.0 superieur"), "144X1", 207, 500, TRUE),
ENCODER (IF("Asse 2.0 inf.", "Axe 2.0 inferieur"), "144X2", 207, 500, TRUE),
ENCODER (IF("Asse 2.1 sup.", "Axe 2.1 superieur"), "144X3", 207, 500, TRUE),
ENCODER (IF("Asse 2.1 inf.", "Axe 2.1 inferieur"), "144X4", 207, 500, TRUE),
ENCODER (IF("Asse 2.2 sup.", "Axe 2.2 superieur"), "144X5", 207, 500, TRUE),
/*** SLAVE 4 ***/
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
ENCODER (IF("Asse 2.2 inf.", "Axe 2.2 inferieur"), "145X1", 207, 500, TRUE),
ENCODER (IF("Asse 2.3 sup.", "Axe 2.3 superieur"), "145X2", 207, 500, TRUE),
ENCODER (IF("Asse 2.3 inf.", "Axe 2.3 inferieur"), "145X3", 207, 500, TRUE),
ENCODER (IF("Asse 2.4 sup.", "Axe 2.4 superieur"), "145X4", 207, 500, TRUE),
ENCODER (IF("Asse 2.4 inf.", "Axe 2.4 inferieur"), "145X5", 207, 500, TRUE),
/*** SLAVE 5 ***/
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
ENCODER (IF("Asse 2.5 sup.", "Axe 2.5 superieur"), "146X1", 207, 500, TRUE),
ENCODER (IF("Asse 2.5 inf.", "Axe 2.5 inferieur"), "146X2", 207, 500, TRUE),
ENCODER (IF("Asse 3.0 sup.", "Axe 3.0 superieur"), "146X3", 207, 500, TRUE),
ENCODER (IF("Asse 3.0 inf.", "Axe 3.0 inferieur"), "146X4", 207, 500, TRUE),
ENCODER (IF("Asse 3.1 sup.", "Axe 3.1 superieur"), "146X5", 207, 500, TRUE),
/*** SLAVE 6 ***/
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_INPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
FREE_OUTPUT,
ENCODER (IF("Asse 3.1 inf.", "Axe 3.1 inferieur"), "147X1", 207, 500, TRUE),
ENCODER (IF("Asse 3.2 sup.", "Axe 3.2 superieur"), "147X2", 207, 500, TRUE),
ENCODER (IF("Asse 3.2 inf.", "Axe 3.2 inferieur"), "147X3", 207, 500, TRUE),
FREE_ENCODER,
FREE_ENCODER,
};
Like you can see, I need to fill the array with the variables I have declared upstairs, and Column mode is really useful.