// //////////////////////////////////////////////////////////////// // MIP single and dual script for iFly using iocp_if737.exe // //////////////////////////////////////////////////////////////// // IDX DEVICES SHOULD BE: // MCP = 0 // EFIS CAPT = 1 // EFIS F/O = 2 // CDU CAPT = 13 // CDU F/O = 14 // CHRONO CAPT = 15 // CHRONO F/O = 16 // USB EXPANSION INPUTS AND OUTPUTS (WARNINGS, DUs, AFDSs, FLAPS, SWITCHES AND INDICATORS) = 17 // USB SERVOS = 18 // //////////////// // EFIS capt // //////////////// Var 0130, name EI_5, Link IOCARD_SW, Device 1, Input 0 { IF &EI_5 = 1 { &commands2 = 650 &commands2 = -2 } } Var 0132, name EI_10, Link IOCARD_SW, Device 1, Input 1 { IF &EI_10 = 1 { &commands2 = 651 &commands2 = -2 } } Var 0134, name EI_20, Link IOCARD_SW, Device 1, Input 2 { IF &EI_20 = 1 { &commands2 = 652 &commands2 = -2 } } Var 0136, name EI_40, Link IOCARD_SW, Device 1, Input 3 { IF &EI_40 = 1 { &commands2 = 653 &commands2 = -2 } } Var 0138, name EI_80, Link IOCARD_SW, Device 1, Input 4 { IF &EI_80 = 1 { &commands2 = 654 &commands2 = -2 } } Var 0140, name EI_160, Link IOCARD_SW, Device 1, Input 5 { IF &EI_160 = 1 { &commands2 = 655 &commands2 = -2 } } Var 0142, name EI_320, Link IOCARD_SW, Device 1, Input 6 { IF &EI_320 = 1 { &commands2 = 656 &commands2 = -2 } } Var 0144, name EI_640, Link IOCARD_SW, Device 1, Input 7 { IF &EI_640 = 1 { &commands2 = 657 &commands2 = -2 } } Var 0146, name EI_APP, Link IOCARD_SW, Device 1, Input 9 { IF &EI_APP = 1 { &commands2 = 643 &commands2 = -2 } } Var 0148, name EI_VOR, Link IOCARD_SW, Device 1, Input 10 { IF &EI_VOR = 1 { &commands2 = 644 &commands2 = -2 } } Var 0150, name EI_MAP, Link IOCARD_SW, Device 1, Input 11 { IF &EI_MAP = 1 { &commands2 = 645 &commands2 = -2 } } Var 0152, name EI_PLN, Link IOCARD_SW, Device 1, Input 12 { IF &EI_PLN = 1 { &commands2 = 646 &commands2 = -2 } } Var 0154, name EI_S1, Link IOCARD_SW, Device 1, Input 28 { IF &EI_S1 = 1 { &commands2 = 661 // WPT &commands2 = -2 } } Var 0156, name EI_S2, Link IOCARD_SW, Device 1, Input 29 { IF &EI_S2 = 1 { &commands2 = 647 // CTR &commands2 = -2 } } Var 0158, name EI_S3, Link IOCARD_SW, Device 1, Input 27 { IF &EI_S3 = 1 { &commands2 = 660 // STA &commands2 = -2 } } Var 0160, name EI_S4, Link IOCARD_SW, Device 1, Input 30 { IF &EI_S4 = 1 { &commands2 = 662 // ARPT &commands2 = -2 } } Var 0162, name EI_S5, Link IOCARD_SW, Device 1, Input 33 { IF &EI_S5 = 1 { &commands2 = 664 // POS &commands2 = -2 } } Var 0164, name EI_S6, Link IOCARD_SW, Device 1, Input 31 { IF &EI_S6 = 1 { &commands2 = 658 // TFC &commands2 = -2 } } Var 0166, name EI_S7, Link IOCARD_SW, Device 1, Input 32 { IF &EI_S7 = 1 { &commands2 = 663 // DATA &commands2 = -2 } } Var 0168, name EI_SR1, Link IOCARD_SW, Device 1, Input 34 { IF &EI_SR1 = 1 { &commands2 = 630 // FPV &commands2 = -2 } } Var 0170, name EI_SR2, Link IOCARD_SW, Device 1, Input 38 { IF &EI_SR2 = 1 { &commands2 = 624 // MTRS &commands2 = -2 } } Var 0172, name EI_BARONSW, Link IOCARD_SW, Device 1, Input 22 { IF &EI_BARONSW = 0 { IF &f_baro = 0 { &commands2 = 629 // BARO STD &commands2 = -2 } } ELSE { &f_baro = 0 } } Var 0174, name EI_MINSW, Link IOCARD_SW, Device 1, Input 25 { IF &EI_MINSW = 0 { IF &f_min = 0 { &commands2 = 623 // MINS RST &commands2 = -2 } } ELSE { &f_min = 0 } } Var 0176, name EI_VOR1, Link IOCARD_SW, Device 1, Input 36 { IF &EI_VOR1 = 1 { &commands2 = 633 // VOR_ADF = VOR &commands2 = -2 } ELSE { IF &EI_ADF1 = 0 { &commands2 = 634 // VOR_ADF = OFF &commands2 = -2 } } } Var 0178, name EI_ADF1, Link IOCARD_SW, Device 1, Input 37 { IF &EI_ADF1 = 1 { &commands2 = 635 // VOR_ADF = ADF &commands2 = -2 } ELSE { IF &EI_VOR1 = 0 { &commands2 = 634 // VOR_ADF = OFF &commands2 = -2 } } } Var 0180, name EI_VOR2, Link IOCARD_SW, Device 1, Input 18 { IF &EI_VOR2 = 1 { &commands2 = 638 // VOR_ADF2 = VOR &commands2 = -2 } ELSE { IF &EI_ADF2 = 0 { &commands2 = 639 // VOR_ADF2 = OFF &commands2 = -2 } } } Var 0182, name EI_ADF2, Link IOCARD_SW, Device 1, Input 19 { IF &EI_ADF2 = 1 { &commands2 = 640 // VOR_ADF2 = ADF &commands2 = -2 } ELSE { IF &EI_VOR2 = 0 { &commands2 = 639 // VOR_ADF2 = OFF &commands2 = -2 } } } var 0183, name F_BARO, value 0 Var 0184, name E_BARO, Link IOCARD_ENCODER, Device 1, Input 20, Aceleration 1, Type 2 { IF &EI_BARONSW = 0 { IF &E_BARO > 0 { &commands2 = 627 // BARO DEC &commands2 = -2 &f_baro = 1 } ELSE { &commands2 = 628 // BARO INC &commands2 = -2 &f_baro = 1 } } ELSE { IF &E_BARO > 0 { &commands2 = 625 // IN &commands2 = -2 &f_baro = 1 } ELSE { &commands2 = 626 // HP &commands2 = -2 &f_baro = 1 } } } var 0185, name F_MIN, value 0 Var 0186, name E_MIN, Link IOCARD_ENCODER, Device 1, Input 23, Aceleration 1, Type 2 { IF &EI_MINSW = 0 { IF &E_MIN > 0 { &commands2 = 621 // MIN+ DEC &commands2 = -2 &f_min = 1 } ELSE { &commands2 = 622 // MIN INC &commands2 = -2 &f_min = 1 } } ELSE { IF &E_MIN > 0 { &commands2 = 619 // RADIO &commands2 = -2 &f_min = 1 } ELSE { &commands2 = 620 // BARO &commands2 = -2 &f_min = 1 } } } // ///////////////////////////////// // END EFIS CAPT // ///////////////////////////////// // ///////////////////////////////// // EFIS FO // ///////////////////////////////// Var 0230, name E2I_5, Link IOCARD_SW, Device 2, Input 0 { IF &E2I_5 = 1 { &commands22 = 650 &commands22 = -2 } } Var 0232, name E2I_10, Link IOCARD_SW, Device 2, Input 1 { IF &E2I_10 = 1 { &commands22 = 651 &commands22 = -2 } } Var 0234, name E2I_20, Link IOCARD_SW, Device 2, Input 2 { IF &E2I_20 = 1 { &commands22 = 652 &commands22 = -2 } } Var 0236, name E2I_40, Link IOCARD_SW, Device 2, Input 3 { IF &E2I_40 = 1 { &commands22 = 653 &commands22 = -2 } } Var 0238, name E2I_80, Link IOCARD_SW, Device 2, Input 4 { IF &E2I_80 = 1 { &commands22 = 654 &commands22 = -2 } } Var 0240, name E2I_160, Link IOCARD_SW, Device 2, Input 5 { IF &E2I_160 = 1 { &commands22 = 655 &commands22 = -2 } } Var 0242, name E2I_320, Link IOCARD_SW, Device 2, Input 6 { IF &E2I_320 = 1 { &commands22 = 656 &commands22 = -2 } } Var 0244, name E2I_640, Link IOCARD_SW, Device 2, Input 7 { IF &E2I_640 = 1 { &commands22 = 657 &commands22 = -2 } } Var 0246, name E2I_APP, Link IOCARD_SW, Device 2, Input 9 { IF &E2I_APP = 1 { &commands22 = 643 &commands22 = -2 } } Var 0248, name E2I_VOR, Link IOCARD_SW, Device 2, Input 10 { IF &E2I_VOR = 1 { &commands22 = 644 &commands22 = -2 } } Var 0250, name E2I_MAP, Link IOCARD_SW, Device 2, Input 11 { IF &E2I_MAP = 1 { &commands22 = 645 &commands22 = -2 } } Var 0252, name E2I_PLN, Link IOCARD_SW, Device 2, Input 12 { IF &E2I_PLN = 1 { &commands22 = 646 &commands22 = -2 } } Var 0254, name E2I_S1, Link IOCARD_SW, Device 2, Input 28 { IF &E2I_S1 = 1 { &commands22 = 661 // WPT &commands22 = -2 } } Var 0256, name E2I_S2, Link IOCARD_SW, Device 2, Input 29 { IF &E2I_S2 = 1 { &commands22 = 647 // CTR &commands22 = -2 } } Var 0258, name E2I_S3, Link IOCARD_SW, Device 2, Input 27 { IF &E2I_S3 = 1 { &commands22 = 660 // STA &commands22 = -2 } } Var 0260, name E2I_S4, Link IOCARD_SW, Device 2, Input 30 { IF &E2I_S4 = 1 { &commands22 = 662 // ARPT &commands22 = -2 } } Var 0262, name E2I_S5, Link IOCARD_SW, Device 2, Input 33 { IF &E2I_S5 = 1 { &commands22 = 664 // POS &commands22 = -2 } } Var 0264, name E2I_S6, Link IOCARD_SW, Device 2, Input 31 { IF &E2I_S6 = 1 { &commands22 = 658 // TFC &commands22 = -2 } } Var 0266, name E2I_S7, Link IOCARD_SW, Device 2, Input 32 { IF &E2I_S7 = 1 { &commands22 = 663 // DATA &commands22 = -2 } } Var 0268, name E2I_SR1, Link IOCARD_SW, Device 2, Input 34 { IF &E2I_SR1 = 1 { &commands22 = 630 // FPV &commands22 = -2 } } Var 0270, name E2I_SR2, Link IOCARD_SW, Device 2, Input 38 { IF &E2I_SR2 = 1 { &commands22 = 624 // MTRS &commands22 = -2 } } Var 0272, name E2I_BARONSW, Link IOCARD_SW, Device 2, Input 22 { IF &E2I_BARONSW = 0 { IF &f2_baro = 0 { &commands22 = 629 // BARO STD &commands22 = -2 } } ELSE { &f2_baro = 0 } } Var 0274, name E2I_MINSW, Link IOCARD_SW, Device 2, Input 25 { IF &E2I_MINSW = 0 { IF &f2_min = 0 { &commands22 = 623 // MINS RST &commands22 = -2 } } ELSE { &f2_min = 0 } } Var 0276, name E2I_VOR1, Link IOCARD_SW, Device 2, Input 36 { IF &E2I_VOR1 = 1 { &commands22 = 633 // VOR_ADF = VOR &commands22 = -2 } ELSE { IF &E2I_ADF1 = 0 { &commands22 = 634 // VOR_ADF = OFF &commands22 = -2 } } } Var 0278, name E2I_ADF1, Link IOCARD_SW, Device 2, Input 37 { IF &E2I_ADF1 = 1 { &commands22 = 632 // VOR_ADF = ADF &commands22 = -2 } ELSE { IF &E2I_VOR1 = 0 { &commands22 = 634 // VOR_ADF = OFF &commands22 = -2 } } } Var 0280, name E2I_VOR2, Link IOCARD_SW, Device 2, Input 18 { IF &E2I_VOR2 = 1 { &commands22 = 638 // VOR_ADF2 = VOR &commands22 = -2 } ELSE { IF &E2I_ADF2 = 0 { &commands22 = 639 // VOR_ADF2 = OFF &commands22 = -2 } } } Var 0282, name E2I_ADF2, Link IOCARD_SW, Device 2, Input 19 { IF &E2I_ADF2 = 1 { &commands22 = 640 // VOR_ADF2 = ADF &commands22 = -2 } ELSE { IF &E2I_VOR2 = 0 { &commands22 = 639 // VOR_ADF2 = OFF &commands22 = -2 } } } var 0283, name F2_BARO, value 0 Var 0284, name E2_BARO, Link IOCARD_ENCODER, Device 2, Input 20, Aceleration 1, Type 2 { IF &E2I_BARONSW = 0 { IF &E2_BARO > 0 { &commands22 = 627 // BARO DEC &commands22 = -2 &f2_baro = 1 } ELSE { &commands22 = 628 // BARO INC &commands22 = -2 &f2_baro = 1 } } ELSE { IF &E2_BARO > 0 { &commands22 = 625 // IN &commands22 = -2 &f2_baro = 1 } ELSE { &commands22 = 626 // HP &commands22 = -2 &f2_baro = 1 } } } var 0285, name F2_MIN, value 0 Var 0286, name E2_MIN, Link IOCARD_ENCODER, Device 2, Input 23, Aceleration 1, Type 2 { IF &E2I_MINSW = 0 { IF &E2_MIN > 0 { &commands22 = 621 // MIN+ DEC &commands22 = -2 &f2_min = 1 } ELSE { &commands22 = 622 // MIN INC &commands22 = -2 &f2_min = 1 } } ELSE { IF &E2_MIN > 0 { &commands22 = 619 // RADIO &commands22 = -2 &f2_min = 1 } ELSE { &commands22 = 620 // BARO &commands22 = -2 &f2_min = 1 } } } Var 0288, name commands2, Link IOCP, Offset 1000 // Send commands Var 0300, name commands22 // Send commands FO { l0 = &commands22 IF l0 > 0 { l0 = l0 + 46 } &commands2 = l0 } // //////////////// // MCP // //////////////// // DIGITS Var 310, name D_COURSE11, Link IOCARD_DISPLAY, Digit 0, Numbers 1 Var 312 name D_COURSE12, Link IOCARD_DISPLAY, Digit 1, Numbers 1 Var 314, name D_COURSE13, Link IOCARD_DISPLAY, Digit 2, Numbers 1 Var 316, name D_SPEED1, Link IOCARD_DISPLAY, Digit 3, Numbers 1 Var 318, name D_SPEED2, Link IOCARD_DISPLAY, Digit 4, Numbers 1 Var 320, name D_SPEED3, Link IOCARD_DISPLAY, Digit 5, Numbers 1 Var 322, name D_HDG1, Link IOCARD_DISPLAY, Digit 6, Numbers 1 Var 324, name D_HDG2, Link IOCARD_DISPLAY, Digit 7, Numbers 1 Var 326, name D_HDG3, Link IOCARD_DISPLAY, Digit 8, Numbers 1 Var 328, name D_BANK, Link IOCARD_DISPLAY, Digit 6, Numbers 2 Var 330, name D_ALT1, Link IOCARD_DISPLAY, Digit 9, Numbers 1 Var 332, name D_ALT2, Link IOCARD_DISPLAY, Digit 10, Numbers 1 Var 334, name D_ALT3, Link IOCARD_DISPLAY, Digit 11, Numbers 1 Var 336, name D_ALT4, Link IOCARD_DISPLAY, Digit 12, Numbers 1 Var 338, name D_ALT5, Link IOCARD_DISPLAY, Digit 13, Numbers 1 Var 340, name D_VS, Link IOCARD_DISPLAY, Digit 14, Numbers 5 Var 342, name S_VS, link SUBRUTINE { L0 = 0 IF &VS_1 > 9 { &D_VS = -999999 } ELSE { IF &VS_1000 < 10 { L0 = &VS_1000 * 1000 } IF &VS_100 < 10 { L1 = &VS_100 * 100 IF &VS_F = 12 { L1 = L1 + L0 L1 = L1 * -1 &D_VS = L1 } ELSE { &D_VS = L1 + L0 } } } } Var 344, name D_COURSE21, Link IOCARD_DISPLAY, Digit 19, Numbers 1 Var 346, name D_COURSE22, Link IOCARD_DISPLAY, Digit 20, Numbers 1 Var 348, name D_COURSE23, Link IOCARD_DISPLAY, Digit 21, Numbers 1 // OUTPUTS Var 350, name DECIMAL, Link IOCARD_OUT, Output 20 Var 352, name O_N1, Link IOCARD_OUT, Output 21 Var 354, name O_AT, Link IOCARD_OUT, Output 22 Var 356, name O_SPEED, Link IOCARD_OUT, Output 23 Var 358, name O_LVLCHG, Link IOCARD_OUT, Output 24 Var 360, name O_VNAV, Link IOCARD_OUT, Output 25 Var 362, name O_HDGSEL, Link IOCARD_OUT, Output 26 Var 364, name O_APP, Link IOCARD_OUT, Output 27 Var 366, name O_VORLOC, Link IOCARD_OUT, Output 28 Var 368, name O_LNAV, Link IOCARD_OUT, Output 29 Var 370, name O_ALTHLD, Link IOCARD_OUT, Output 30 Var 372, name O_VS, Link IOCARD_OUT, Output 31 Var 374, name O_CWSA, Link IOCARD_OUT, Output 32 Var 376, name O_CMDA, Link IOCARD_OUT, Output 33 Var 378, name O_CWSB, Link IOCARD_OUT, Output 34 Var 380, name O_CMDB, Link IOCARD_OUT, Output 35 Var 382, name O_FD1, Link IOCARD_OUT, Output 37 Var 384, name O_FD2, Link IOCARD_OUT, Output 36 // ROTARY ENCODERS Var 386, name E_IAS, Link IOCARD_ENCODER, Input 0, Aceleration 1, Type 2 { if &E_IAS < 0 { &commands = 207 &commands = -1 } ELSE { &commands = 208 &commands = -1 } } Var 388, name E_ALT, Link IOCARD_ENCODER, Input 2, Aceleration 1, Type 2 { if &E_ALT < 0 { &commands = 214 &commands = -1 } ELSE { &commands = 215 &commands = -1 } } Var 390, name E_COURSE1, Link IOCARD_ENCODER, Input 4, Aceleration 1, Type 2 { if &E_COURSE1 < 0 { &commands = 197 &commands = -1 } ELSE { &commands = 198 &commands = -1 } } Var 392, name E_HDG, Link IOCARD_ENCODER, Input 6, Aceleration 1, Type 2 { IF &E_HDG < 0 { If &Bank_act = 0 { &commands = 223 &commands = -1 } If &I_BANK_SW = 1 { &commands = 225 &commands = -1 } } ELSE { If &Bank_act = 0 { &commands = 224 &commands = -1 } If &I_BANK_SW = 1 { &commands = 226 &commands = -1 } } } Var 394, name E_COURSE2, Link IOCARD_ENCODER, Input 9, Aceleration 1, Type 2 { if &E_COURSE2 < 0 { &commands = 199 &commands = -1 } ELSE { &commands = 200 &commands = -1 } } Var 396, name E_VS, Link IOCARD_ENCODER, Input 11, Aceleration 1, Type 2 { if &E_VS > 0 { &commands = 217 &commands = -1 } ELSE { &commands = 218 &commands = -1 } } // SWITCHES //========== Var 400, name I_CO, Link IOCARD_SW, Input 13 { if &I_CO = 1 { &commands = 204 &commands = -1 } } Var 402, name I_FD2, Link IOCARD_SW, Input 14 { if &I_FD2 = 1 { &commands = 192 &commands = -1 } else { &commands = 193 &commands = -1 } } Var 404, name I_DISENGAGE, Link IOCARD_SW, Input 15 { if &I_DISENGAGE = 1 { &commands = 196 &commands = -1 } else { &commands = 195 &commands = -1 } } Var 406, name I_FD1, Link IOCARD_SW, Input 16 { if &I_FD1 = 1 { &commands = 189 &commands = -1 } else { &commands = 190 &commands = -1 } } Var 408, name I_CWSB, Link IOCARD_SW, Input 18 { if &I_CWSB = 1 { &commands = 187 &commands = -1 } } Var 410, name I_CMDB, Link IOCARD_SW, Input 19 { if &I_CMDB = 1 { &commands = 185 &commands = -1 } } Var 412, name I_CWSA, Link IOCARD_SW, Input 20 { if &I_CWSA = 1 { &commands = 186 &commands = -1 } } Var 414, name I_CMDA, Link IOCARD_SW, Input 21 { if &I_CMDA = 1 { &commands = 184 &commands = -1 } } Var 416, name I_VS, Link IOCARD_SW, Input 22 { if &I_VS = 1 { &commands = 216 &commands = -1 } } Var 418, name I_ALTHLD, Link IOCARD_SW, Input 23 { if &I_ALTHLD = 1 { &commands = 213 &commands = -1 } } Var 420, name I_APPR, Link IOCARD_SW, Input 24 { if &I_APPR = 1 { &commands = 212 &commands = -1 } } Var 422, name I_VORLOC, Link IOCARD_SW, Input 25 { if &I_VORLOC = 1 { &commands = 221 &commands = -1 } } Var 424, name I_LNAV, Link IOCARD_SW, Input 27 { if &I_LNAV = 1 { &commands = 220 &commands = -1 } } Var 426, name I_HDGSEL, Link IOCARD_SW, Input 28 { if &I_HDGSEL = 1 { &commands = 222 &commands = -1 } } Var 428, name I_LVLCHG, Link IOCARD_SW, Input 29 { if &I_LVLCHG = 1 { &commands = 211 &commands = -1 } } Var 430, name I_VNAV, Link IOCARD_SW, Input 30 { if &I_VNAV = 1 { &commands = 210 &commands = -1 } } Var 432, name I_SPEED, Link IOCARD_SW, Input 31 { if &I_SPEED = 1 { &commands = 206 &commands = -1 } } Var 434, name I_N1, Link IOCARD_SW, Input 32 { if &I_N1 = 1 { &commands = 205 &commands = -1 } } Var 436, name I_AT, Link IOCARD_SW, Input 33 { if &I_AT = 1 { &commands = 202 &commands = -1 } else { &commands = 203 &commands = -1 } } Var 438, name I_SPD_INTER, Link IOCARD_SW, Input 37 { if &I_SPD_INTER = 1 { &commands = 209 &commands = -1 } } Var 440, name I_ALT_INTER, Link IOCARD_SW, Input 36 { if &I_ALT_INTER = 1 { &commands = 219 &commands = -1 } } Var 442, name HDG_temp Var 444, name BANK_act Var 446, name I_BANK_LIMIT, VALUE 10 Var 448, name I_BANK_SW, Link IOCARD_SW, Input 34 // Activate bank limit { If &I_BANK_SW = 1 { &Bank_act = 1 // &D_HDG = &I_BANK_LIMIT // display del heading } Else { &Bank_act = 0 // &D_HDG = &HDG_temp // display del heading } } Var 450, name COURSE_1_100, Link IOCP, Offset 1 // Course_1_100_Status { IF &COURSE_1_100 > 9 { &D_COURSE13 = -999999 } ELSE { &D_COURSE13 = &COURSE_1_100 } } Var 452, name COURSE_1_10, Link IOCP, Offset 2 // Course_1_10_Status { IF &COURSE_1_10 > 9 { &D_COURSE12 = -999999 } ELSE { &D_COURSE12 = &COURSE_1_10 } } Var 454, name COURSE_1_1, Link IOCP, Offset 3 // Course_1_1_Status { IF &COURSE_1_1 > 9 { &D_COURSE11 = -999999 } ELSE { &D_COURSE11 = &COURSE_1_1 } } Var 456, name SPEED_100, Link IOCP, Offset 7 // SPD_100_Status { if &SPEED_100 > 9 { IF &SPEED_100 = 14 { &DECIMAL = 1 } ELSE { &DECIMAL = 0 } &D_SPEED3 = -999999 } else { &D_SPEED3 = &SPEED_100 &DECIMAL = 0 } } Var 458, name SPEED_10, Link IOCP, Offset 8 // SPD_10_Status { IF &SPEED_10 > 9 { &D_SPEED2 = -999999 } ELSE { &D_SPEED2 = &SPEED_10 } } Var 460, name SPEED_1, Link IOCP, Offset 9 // SPD_1_Status { IF &SPEED_1 > 9 { &D_SPEED1 = -999999 } ELSE { &D_SPEED1 = &SPEED_1 } } Var 462, name HDG_100, Link IOCP, Offset 11 // HDG_100_Status { IF &HDG_100 > 9 { &D_HDG3 = -999999 } ELSE { &D_HDG3 = &HDG_100 } } Var 464, name HDG_10, Link IOCP, Offset 12 // HDG_10_Status { IF &HDG_10 > 9 { &D_HDG2 = -999999 } ELSE { &D_HDG2 = &HDG_10 } } Var 466, name HDG_1, Link IOCP, Offset 13 // HDG_1_Status { IF &HDG_1 > 9 { &D_HDG1 = -999999 } ELSE { &D_HDG1 = &HDG_1 } } Var 468, name ALT_10000, Link IOCP, Offset 15 // ALT_10000_Status { if &ALT_10000 > 9 { &D_ALT5 = -999999 } else { &D_ALT5 = &ALT_10000 } } Var 470, name ALT_1000, Link IOCP, Offset 16 // ALT_1000_Status { if &ALT_1000 > 9 { &D_ALT4 = -999999 } else { &D_ALT4 = &ALT_1000 } } Var 472, name ALT_100, Link IOCP, Offset 17 // ALT_100_Status { if &ALT_100 > 9 { &D_ALT3 = -999999 } else { &D_ALT3 = &ALT_100 } } Var 474, name ALT_10, Link IOCP, Offset 18 // ALT_10_Status { if &ALT_10 > 9 { &D_ALT2 = -999999 } else { &D_ALT2 = &ALT_10 } } Var 476, name ALT_1, Link IOCP, Offset 19 // ALT_1_Status { if &ALT_1 > 9 { &D_ALT1 = -999999 } else { &D_ALT1 = &ALT_1 } } Var 478, name VS_1000, Link IOCP, Offset 21 // VS_1000_Status { CALL &S_VS } Var 480, name VS_100, Link IOCP, Offset 22 // VS_100_Status { CALL &S_VS } Var 482, name VS_10, Link IOCP, Offset 23 // VS_10_Status { CALL &S_VS } Var 484, name VS_1, Link IOCP, Offset 24 // VS_1_Status { CALL &S_VS } Var 486, name VS_f, Link IOCP, Offset 20 // VS_flag_Status { CALL &S_VS } Var 488, name COURSE_2_100, Link IOCP, Offset 27 // Course_2_100_Status { IF &COURSE_2_100 > 9 { &D_COURSE23 = -999999 } ELSE { &D_COURSE23 = &COURSE_2_100 } } Var 490, name COURSE_2_10, Link IOCP, Offset 28 // Course_2_10_Status { IF &COURSE_2_10 > 9 { &D_COURSE22 = -999999 } ELSE { &D_COURSE22 = &COURSE_2_10 } } Var 492, name COURSE_2_1, Link IOCP, Offset 29 // Course_2_1_Status { IF &COURSE_2_1 > 9 { &D_COURSE21 = -999999 } ELSE { &D_COURSE21 = &COURSE_2_1 } } Var 494, name IO_N1, Link IOCP, Offset 46 { &O_N1 = &IO_N1 } Var 496, name IO_AT, Link IOCP, Offset 4 { &O_AT = &IO_AT } Var 498, name IO_SPEED, Link IOCP, Offset 47 { &O_SPEED = &IO_SPEED } Var 500, name IO_LVLCHG, Link IOCP, Offset 48 { &O_LVLCHG = &IO_LVLCHG } Var 502, name IO_VNAV, Link IOCP, Offset 10 { &O_VNAV = &IO_VNAV } Var 504, name IO_HDGSEL, Link IOCP, Offset 49 { &O_HDGSEL = &IO_HDGSEL } Var 506, name IO_APP, Link IOCP, Offset 50 { &O_APP = &IO_APP } Var 508, name IO_VORLOC, Link IOCP, Offset 37 { &O_VORLOC = &IO_VORLOC } Var 510, name IO_LNAV, Link IOCP, Offset 14 { &O_LNAV = &IO_LNAV } Var 512, name IO_ALTHLD, Link IOCP, Offset 51 { &O_ALTHLD = &IO_ALTHLD } Var 514, name IO_VS, Link IOCP, Offset 52 { &O_VS = &IO_VS } Var 516, name IO_CWSA, Link IOCP, Offset 41 { &O_CWSA = &IO_CWSA } Var 518, name IO_CMDA, Link IOCP, Offset 25 { &O_CMDA = &IO_CMDA } Var 520, name IO_CWSB, Link IOCP, Offset 42 { &O_CWSB = &IO_CWSB } Var 522, name IO_CMDB, Link IOCP, Offset 26 { &O_CMDB = &IO_CMDB } Var 524, name IO_FD1, Link IOCP, Offset 31 { &O_FD1 = &IO_FD1 } Var 526, name IO_FD2, Link IOCP, Offset 43 { &O_FD2 = &IO_FD2 } Var 528, name BANK_SEL, Link IOCP, Offset 35 Var 530, name commands, Link IOCP, Offset 1000 // Send commands // ///////////// // CDU LEFT // ///////////// // Var 0600, name iocp_teclas Var 0602, name teclado, Link IOCARD_KEYS, device 13 { if &teclado = 71 // menu { &k = 994 } if &teclado = 79 // perf init { &k = 989 } if &teclado = 78 // rte { &k = 990 } if &teclado = 75 // des { &k = 993 } if &teclado = 70 // legs { &k = 995 } if &teclado = 67 // prog { &k = 998 } if &teclado = 63 // n1 altn { &k = 999 } if &teclado = 62 // fix { &k = 1000 } if &teclado = 77 // clb { &k = 991 } if &teclado = 76 // crz { &k = 992 } if &teclado = 69 // dep { &k = 996 } if &teclado = 68 // hold { &k = 997 } if &teclado = 66 // ENTER { &k = 1003 } if &teclado = 55 // Prev Pg { &k = 1001 } if &teclado = 54 // Next Pg { &k = 1002 } if &teclado = 7 // 0 { &k = 1013 } if &teclado = 32 // 1 { &k = 1004 } if &teclado = 31 // 2 { &k = 1005 } if &teclado = 30 // 3 { &k = 1006 } if &teclado = 24 // 4 { &k = 1007 } if &teclado = 23 // 5 { &k = 1008 } if &teclado = 22 // 6 { &k = 1009 } if &teclado = 16 // 7 { &k = 1010 } if &teclado = 15 // 8 { &k = 1011 } if &teclado = 14 // 9 { &k = 1012 } if &teclado = 8 // . { &k = 1014 } if &teclado = 2 // barra { &k = 1042 } if &teclado = 6 // + { &k = 1015 } if &teclado = 3 // Delete { &k = 1043 } if &teclado = 1 // Clr { &k = 1044 } if &teclado = 4 // SP { &k = 1045 } if &teclado = 61 // A { &k = 1016 } if &teclado = 60 // B { &k = 1017 } if &teclado = 59 // C { &k = 1018 } if &teclado = 58 // D { &k = 1019 } if &teclado = 57 // E { &k = 1020 } if &teclado = 53 // F { &k = 1021 } if &teclado = 52 // G { &k = 1022 } if &teclado = 51 // H { &k = 1023 } if &teclado = 50 // I { &k = 1024 } if &teclado = 49 // J { &k = 1025 } if &teclado = 29 // K { &k = 1026 } if &teclado = 28 // L { &k = 1027 } if &teclado = 27 // M { &k = 1028 } if &teclado = 26 // N { &k = 1029 } if &teclado = 25 // O { &k = 1030 } if &teclado = 21 // P { &k = 1031 } if &teclado = 20 // Q { &k = 1032 } if &teclado = 19 // R { &k = 1033 } if &teclado = 18 // S { &k = 1034 } if &teclado = 17 // T { &k = 1035 } if &teclado = 13 // U { &k = 1036 } if &teclado = 12 // V { &k = 1037 } if &teclado = 11 // W { &k = 1038 } if &teclado = 10 // X { &k = 1039 } if &teclado = 9 // Y { &k = 1040 } if &teclado = 5 // Z { &k = 1041 } if &teclado = 56 // Linea 1L { &k = 975 } if &teclado = 64 // Linea 2L { &k = 976 } if &teclado = 72 // Linea 3L { &k = 977 } if &teclado = 80 // Linea 4L { &k = 978 } if &teclado = 88 // Linea 5L { &k = 979 } if &teclado = 87 // Linea 6L { &k = 980 } if &teclado = 86 // Linea 1R { &k = 981 } if &teclado = 85 // Linea 2R { &k = 982 } if &teclado = 84 // Linea 3R { &k = 983 } if &teclado = 83 // Linea 4R { &k = 984 } if &teclado = 82 // Linea 5R { &k = 985 } if &teclado = 74 // Linea 6R { &k = 986 } } var 0604, name k, link subrutine { &commands3 = &k &commands3 = -2 } Var 0606, name commands3, Link IOCP, Offset 1000 // Send commands Var 0608, name FMC1_EXEC_led, Link IOCARD_OUT, device 13, Output 2 // FMC EXEC green led Var 0610, name FMC1_MSG_led, Link IOCARD_OUT, device 13, Output 1 // FMC MSG amber led Var 0612, name FMC1_FAIL_led, Link IOCARD_OUT, device 13, Output 4 // FMC FAIL red led Var 0614, name FMC1_OFST_led, Link IOCARD_OUT, device 13, Output 0 // FMC OFST amber led Var 0616, name FMC1_DSPY_led, Link IOCARD_OUT, device 13, Output 3 // FMC DSPY red led Var 0618, name FMC1_leds, Link IOCP, Offset 57 { &fmc1_exec_led = TESTBIT &FMC1_leds ,2 // EXEC LED &fmc1_msg_led = TESTBIT &FMC1_leds ,0 // MSG LED // &fmc1_fail_led = TESTBIT &FMC1_leds , // FAIL LED &fmc1_ofst_led = TESTBIT &FMC1_leds ,6 // OFST LED &fmc1_dspy_led = TESTBIT &FMC1_leds ,4 // DSPY LED } // ///////////// // CDU RIGHT // ///////////// // Var 0620, name iocp_teclas2 Var 0622, name teclado2, Link IOCARD_KEYS, device 14 { if &teclado2 = 71 // menu { &k2 = 1065 } if &teclado2 = 79 // perf init { &k2 = 1060 } if &teclado2 = 78 // rte { &k2 = 1061 } if &teclado2 = 75 // des { &k2 = 1064 } if &teclado2 = 70 // legs { &k2 = 1066 } if &teclado2 = 67 // prog { &k2 = 1069 } if &teclado2 = 63 // n1 altn { &k2 = 1070 } if &teclado2 = 62 // fix { &k2 = 1071 } if &teclado2 = 77 // clb { &k2 = 1062 } if &teclado2 = 76 // crz { &k2 = 1063 } if &teclado2 = 69 // dep { &k2 = 1067 } if &teclado2 = 68 // hold { &k2 = 1068 } if &teclado2 = 66 // ENTER { &k2 = 1074 } if &teclado2 = 55 // Prev Pg { &k2 = 1072 } if &teclado2 = 54 // Next Pg { &k2 = 1073 } if &teclado2 = 7 // 0 { &k2 = 1084 } if &teclado2 = 32 // 1 { &k2 = 1075 } if &teclado2 = 31 // 2 { &k2 = 1076 } if &teclado2 = 30 // 3 { &k2 = 1077 } if &teclado2 = 24 // 4 { &k2 = 1078 } if &teclado2 = 23 // 5 { &k2 = 1079 } if &teclado2 = 22 // 6 { &k2 = 1080 } if &teclado2 = 16 // 7 { &k2 = 1081 } if &teclado2 = 15 // 8 { &k2 = 1082 } if &teclado2 = 14 // 9 { &k2 = 1083 } if &teclado2 = 8 // . { &k2 = 1085 } if &teclado2 = 2 // barra { &k2 = 1113 } if &teclado2 = 6 // + { &k2 = 1086 } if &teclado2 = 3 // Delete { &k2 = 1114 } if &teclado2 = 1 // Clr { &k2 = 1115 } if &teclado2 = 4 // SP { &k2 = 1116 } if &teclado2 = 61 // A { &k2 = 1087 } if &teclado2 = 60 // B { &k2 = 1088 } if &teclado2 = 59 // C { &k2 = 1089 } if &teclado2 = 58 // D { &k2 = 1090 } if &teclado2 = 57 // E { &k2 = 1091 } if &teclado2 = 53 // F { &k2 = 1092 } if &teclado2 = 52 // G { &k2 = 1093 } if &teclado2 = 51 // H { &k2 = 1094 } if &teclado2 = 50 // I { &k2 = 1095 } if &teclado2 = 49 // J { &k2 = 1096 } if &teclado2 = 29 // K { &k2 = 1097 } if &teclado2 = 28 // L { &k2 = 1098 } if &teclado2 = 27 // M { &k2 = 1099 } if &teclado2 = 26 // N { &k2 = 1100 } if &teclado2 = 25 // O { &k2 = 1101 } if &teclado2 = 21 // P { &k2 = 1102 } if &teclado2 = 20 // Q { &k2 = 1103 } if &teclado2 = 19 // R { &k2 = 1104 } if &teclado2 = 18 // S { &k2 = 1105 } if &teclado2 = 17 // T { &k2 = 1106 } if &teclado2 = 13 // U { &k2 = 1107 } if &teclado2 = 12 // V { &k2 = 1108 } if &teclado2 = 11 // W { &k2 = 1109 } if &teclado2 = 10 // X { &k2 = 1110 } if &teclado2 = 9 // Y { &k2 = 1111 } if &teclado2 = 5 // Z { &k2 = 1112 } if &teclado2 = 56 // Linea 1L { &k2 = 1046 } if &teclado2 = 64 // Linea 2L { &k2 = 1047 } if &teclado2 = 72 // Linea 3L { &k2 = 1048 } if &teclado2 = 80 // Linea 4L { &k2 = 1049 } if &teclado2 = 88 // Linea 5L { &k2 = 1050 } if &teclado2 = 87 // Linea 6L { &k2 = 1051 } if &teclado2 = 86 // Linea 1R { &k2 = 1052 } if &teclado2 = 85 // Linea 2R { &k2 = 1053 } if &teclado2 = 84 // Linea 3R { &k2 = 1054 } if &teclado2 = 83 // Linea 4R { &k2 = 1055 } if &teclado2 = 82 // Linea 5R { &k2 = 1056 } if &teclado2 = 74 // Linea 6R { &k2 = 1057 } } var 0624, name k2, link subrutine { &commands33 = &k2 &commands33 = -2 } Var 0626, name commands33, Link IOCP, Offset 1000 // Send commands Var 0628, name FMC2_EXEC_led, Link IOCARD_OUT, device 14, Output 2 // FMC EXEC green led Var 0630, name FMC2_MSG_led, Link IOCARD_OUT, device 14, Output 1 // FMC MSG amber led Var 0632, name FMC2_FAIL_led, Link IOCARD_OUT, device 14, Output 4 // FMC FAIL red led Var 0634, name FMC2_OFST_led, Link IOCARD_OUT, device 14, Output 0 // FMC OFST amber led Var 0636, name FMC2_DSPY_led, Link IOCARD_OUT, device 14, Output 3 // FMC DSPY red led Var 0638, name FMC2_leds, Link IOCP, Offset 57 { &fmc2_exec_led = TESTBIT &FMC2_leds ,3 // EXEC LED &fmc2_msg_led = TESTBIT &FMC2_leds ,1 // MSG LED // &fmc2_fail_led = TESTBIT &FMC2_leds , // FAIL LED &fmc2_ofst_led = TESTBIT &FMC2_leds ,7 // OFST LED &fmc2_dspy_led = TESTBIT &FMC2_leds ,5 // DSPY LED } // /////////////////////////// // CHRONO CAPT // /////////////////////////// Var 0001, Value 0 // Inicializacion de valores de variables { &D_CHRBRIGHT = 120 &PARPADEO_U = 0 &PARPADEO_D = 1 &Time_Date_Year = 3 &Disp_Year = &Zulu_Year_S &Year_to_Mod = &Zulu_Year_S // Pasamos el año a una vble interna &Modif_Year = 0 &Estado_CHR = 1 &Estado_ET = 1 &CHR_ET_ToDi = -1 &DECIMAL_C = 0 &Aguja_Segundos = 45 } // /////////////////////////////////////// // VARIABLES PROPIAS // /////////////////////////////////////// Var 3010, name Time_Date_Year // Indice para digitos Time-Date-Year Var 3012, name Modif_Year // Activamos control modificacion año. 0=Descativado, 1=Activado Var 3014, name Modif_DDMM // Activamos control modificacion Dia.Mes -> 0=Descativado, 1=Mes 2=Día Var 3015, name Modif_HHMM // Activamos control modificacion Hora.Minutos-> 0=Descativado, 1=Minutos 2=Horas Var 3016, name Year_to_Mod // Guarda el año para modificar Var 3018, name DD_to_Modif // Guarda el Dia para modificar Var 3020, name MM_to_Modif // Guarda el Mes para modificar Var 3022, name CHR_ET_ToDi // Controla si vemos el CHR o el ET en el display inferior. 0=CHR 1=ET Var 3024, name CHR_Min // Acumula los Minutos del cronometro Var 3026, name CHR_Sec // Acumula los Segundos del cronometro Var 3028, name Estado_CHR // COntrola el estado del Botón CHR. 0 -> Pone Crono en display // 2 -> Inicia CHR o continúa // 3 -> STOP Cronómetro. Var 3030, name ET_Hr // Acumula las Horas del ET (Elapsed Time) Var 3032, name ET_Min // Acumula los Minutos del ET (Elapsed Time) Var 3034, name ET_Sec // Acumula los Segundos del ET (Elapsed Time) Var 3036, name Estado_ET // COntrola el estado del Botón ET. 0 -> Pone ET en display // 2 -> Inicia ET o continúa // 3 -> STOP ET Var 3037, name Limit_DD_Mes // Almacena el total de días que tiene el mes activo Var 3038, name DayofYear // Almacena el día del año Var 3039, name M_MOTOR, Link IOCARD_MOTOR, Device 15, Output 1, Aceleration 200 Var 3040, name Aguja_Segundos { L0 = 4065 / 60 L0 = L0 * &Aguja_Segundos &M_MOTOR = ROUND L0 } Var 3041, name PARPADEO_U, link SUBRUTINE { &BLINK = 0 } Var 3042, name PARPADEO_D, Link SUBRUTINE { &BLINK2 = 0 } Var 3043, name HH_to_Modif // Guarda la hora para modificar Var 3044, name MI_to_Modif // Guarda los minutos para modificar // /////////////////////////////////////// // VARIABLES FSUIPC // /////////////////////////////////////// Var 3050, name Clock_Sec, link FSUIPC_INOUT, offset $023A, length 1 // Segundos del Reloj del FS { IF &Time_Date_Year = 1 // Visualizo el año { IF &Modif_Year = 1 // Si estamos en activacion del control del año { &Disp_Year = &Year_to_Mod &Disp_Year = Delay -999999, 50 } } IF &Time_Date_Year = 2 // Visualizo el dia y mes { IF &Modif_DDMM = 1 // Si estamos en activacion del control modificacion Mes { &Disp_Month_M = &MM_to_Modif &Disp_Month_M = Delay -999999, 50 &Disp_Day_H = &DD_to_Modif } IF &Modif_DDMM = 2 // Si estamos en activacion del control modificacion Día { &Disp_Day_H = &DD_to_Modif &Disp_Day_H = Delay -999999, 50 &Disp_Month_M = &MM_to_Modif } } IF &Time_Date_Year = 3 // Visualizo la hora Zulu { CALL &Show_Display IF &Modif_HHMM = 1 // Si estamos en activacion del control modificacion Minutos { &Disp_Month_M = &MI_to_Modif &Disp_Month_M = Delay -999999, 50 &Disp_Day_H = &HH_to_Modif } IF &Modif_HHMM = 2 // Si estamos en activacion del control modificacion Horas { &Disp_Day_H = &HH_to_Modif &Disp_Day_H = Delay -999999, 50 &Disp_Month_M = &MI_to_Modif } } IF &Time_Date_Year = 4 // Visualizo Minutos y Segundos { CALL &Show_Display } IF &Estado_CHR = 2 // 2 -> Inicia CHR o continúa { IF &CHR_ET_ToDi = 0 { &PARPADEO_D = 1 } &CHR_Sec = &CHR_Sec + 1 IF &CHR_Sec > 59 { &CHR_Sec = 0 &CHR_Min = &CHR_Min + 1 IF &CHR_Min > 59 // Cuando llegamos a 1 hora se pone a cero { &CHR_Min = 0 } } &Aguja_Segundos = &CHR_Sec // Movemos la aguja de los segundos si el CHR esta funcionando } IF &Estado_ET = 2 // 2 -> Inicia ET o continúa { IF &CHR_ET_ToDi = 1 { &PARPADEO_D = 1 } &ET_Sec = &ET_Sec + 1 IF &ET_Sec > 59 { &ET_Sec = 0 &ET_Min = &ET_Min + 1 IF &ET_Min > 59 { &ET_Min = 0 &ET_Hr = &ET_Hr + 1 } } } IF &CHR_ET_ToDi = 0 // Mostramos el CHR en los displays inferiores { Call &Ver_CHR } ELSE // Mostramos el ET en los displays inferiores { IF &CHR_ET_ToDi = 1 { Call &Ver_ET } } } Var 3052, name Zulu_Hour, link FSUIPC_INOUT, offset $023B, length 1 // Hora Zulu. Lectura y escritura { CALL &Show_Display } Var 3054, name Zulu_Minute, link FSUIPC_INOUT, offset $023C, length 1 // Minutos Zulu. Lectura y escritura { CALL &Show_Display } Var 3056, name Day_of_Year, link FSUIPC_INOUT, offset $023E, length 2 // Numero del día del año. Lectura y escritura. Numero total de dias al año Var 3058, name Day_of_Month, link FSUIPC_IN, offset $023D, length 1 // Día del mes correspondiente. Sólo lectura { CALL &Show_Display } Var 3060, name Current_Mth, link FSUIPC_IN, offset $0242, length 1 // Numero del mes. Sólo lectura { CALL &Show_Display } Var 3062, name Zulu_Year_S, link FSUIPC_INOUT, offset $0240, length 2 // Año. Lectura y escritura { &Year_to_Mod = &Zulu_Year_S Call &Chk_Bisiesto // Comprobamos si es bisiesto } // ///////////////////////////////////////////////////////////////////////////////////////// // VARIABLES IOCARDS ------------ DISPLAYS ------------ // ///////////////////////////////////////////////////////////////////////////////////////// Var 0900, name Disp_Year, Link IOCARD_DISPLAY, Device 15, Digit 0, Numbers 4 // UP Displays Year Var 0901, name Disp_Day_H, Link IOCARD_DISPLAY, Device 15, Digit 2, Numbers 2 // UP Displays Day or Hour Var 0902, name Disp_Month_M, Link IOCARD_DISPLAY, Device 15, Digit 0, Numbers 2 // UP Displays Month or Minutes Var 0904, name Disp_DWN_Min, Link IOCARD_DISPLAY, Device 15, Digit 6, Numbers 2 // Down Displays CHR - ET -> Min Var 0905, name Disp_DWN_Sec, Link IOCARD_DISPLAY, Device 15, Digit 4, Numbers 2 // Down Displays CHR - ET -> Sec Var 0908, name D_CHRBRIGHT, Link IOCARD_DISPLAY, Device 15, Digit 16, Numbers 3 Var 0913, name DECIMAL_U, Link IOCARD_OUT, Device 15, Output 20 Var 0914, name DECIMAL_D, Link IOCARD_OUT, Device 15, Output 21 Var 0915, name DECIMAL_C, Link IOCARD_OUT, Device 15, Output 22 // ///////////////////////////////////////////////////////////////////////////////////////// // VARIABLES IOCARDS ------------ ENTRADAS ------------ // ///////////////////////////////////////////////////////////////////////////////////////// Var 0916, name SW_Time_Date, Link IOCARD_SW, Device 15, Input 1, Type P // Botón TIME-DATE { IF &Modif_Year = 0 // Si NO estamos en activacion del control del Año-Set (Botón SET) { &Time_Date_Year = &Time_Date_Year + 1 IF &Modif_DDMM > 0 // Si estoy modificando dia del mes o el mes { &Modif_DDMM = 0 } IF &Modif_HHMM > 0 // Si estoy modificando dia hora o minutos { &Modif_HHMM = 0 } } IF &Time_Date_Year > 4 // Comprobamos si nos salimos de margenes { &Time_Date_Year = 1 // Ponemos a 1 } Call &Show_Display // Mostramos en displays el dato correspondiente If &Estado_CHR = 3 // Si el CHR esta parado { // &Aguja_Segundos = 9000 // Movemos la aguja de los segundos a 15 para ver los displays mejor } } Var 0917, name SW_SET, Link IOCARD_SW, Device 15, Input 2, Type P // Botón SET { IF &Time_Date_Year = 1 // Si estoy visualizando el año { IF &Modif_Year = 0 // Si NO estoy modificando el año { &Modif_Year = 1 // Activamos control modificacion año &Year_to_Mod = &Zulu_Year_S // Pasamos el año a una vble para modificar } else { Call &Chk_Bisiesto // Comprobamos si es bisiesto call &calc_DayofYear &Day_of_Year = &DayofYear // Devolvemos el día al FS para que lo modifique &Modif_Year = 0 // Desactivamos control modificacion año &Zulu_Year_S = &Year_to_Mod // Devolvemos el año al FS para que lo modifique Call &Show_Display // Mostramos el año } } IF &Time_Date_Year = 2 // Si estoy visualizando el dia del mes y el mes (DD.MM) { IF &Modif_DDMM = 0 // Si NO estoy modificando dia del mes y el mes { &Modif_DDMM = 1 // Activamos control modificacion Mes &MM_to_Modif = &Current_Mth // Pasamos el mes a una vble para modificar &DD_to_Modif = &Day_of_Month &PARPADEO_U = 0 } else { IF &Modif_DDMM = 1 // Si estamos modificando el mes pasamos a modificar el día { Call &Chk_DiasDelMes // Calculamos cuantos dias tiene el mes que hemos modificado &Modif_DDMM = 2 // Activamos control modificacion Día &DD_to_Modif = &Day_of_Month // Pasamos el día a una vble para modificar &Disp_Month_M = Delay &MM_to_Modif, 50 } else // Terminamos de modificar así que mandamos valores al FS { call &calc_DayofYear &Day_of_Year = &DayofYear // Devolvemos el día al FS para que lo modifique &PARPADEO_U = 2 &Modif_DDMM = 0 call &Show_Display &show_Display = Delay 1, 50 } } } IF &Time_Date_Year = 3 // Si estoy visualizando el dia del Hora y minutos (HH.MM) { IF &Modif_HHMM = 0 // Si NO estoy modificando Nada { &Modif_HHMM = 1 // Activamos control modificacion Minutos &MI_to_Modif = &Zulu_Minute // Pasamos minutos &HH_to_Modif = &Zulu_Hour // Pasamos Horas &PARPADEO_U = 0 } else { IF &Modif_HHMM = 1 // Si estamos modificando Minutos pasamos a modificar Horas { // Call &Chk_DiasDelMes &Modif_HHMM = 2 // Activamos control modificacion Día &HH_to_Modif = &Zulu_Hour // Pasamos el día a una vble para modificar *OJO* &Disp_Month_M = Delay &MI_to_Modif, 50 } else // Terminamos de modificar así que mandamos valores al FS { //call &calc_DayofYear //&Day_of_Year = &DayofYear // Devolvemos el día al FS para que lo modifique *OJO* &Zulu_Hour = &HH_to_Modif &Zulu_Minute = &MI_to_Modif &PARPADEO_U = 2 &Modif_HHMM = 0 call &Show_Display &show_Display = Delay 1, 50 } } } } Var 0924, name SW_CHR, Link IOCARD_SW, Device 15, Input 0 // Botón CHR { if &SW_CHR = 1 { if &CHR_ET_ToDi = -1 { &CHR_ET_ToDi = 0 &Aguja_Segundos = 0 &DECIMAL_C = 1 &DECIMAL_D = 1 } else { &DECIMAL_C = 1 Call &Ver_CHR If &CHR_ET_ToDi = 1 // Venimos de la Función ET { &CHR_ET_ToDi = 0 // Acivamos control sobre el display para CHR } else // Ya estabamos en la función CHR { &Estado_CHR = &Estado_CHR + 1 // Cambiamos el estado de CHR } If &Estado_CHR > 3 // Comprobamos limite del estado del CHR { &Estado_CHR = 2 // 2 -> Inicia CHR o continúa 3 -> STOP Cronómetro. } If &Estado_CHR <> 2 { &PARPADEO_D = 2 } } } } Var 0925, name SW_ET, Link IOCARD_SW, Device 15, Input 6, type P // Botón ET { if &CHR_ET_ToDi = -1 { &CHR_ET_ToDi = 0 &Aguja_Segundos = 0 &DECIMAL_C = 1 &DECIMAL_D = 1 } else { &DECIMAL_C = 0 Call &Ver_ET If &CHR_ET_ToDi = 0 // Venimos de la Función CHR { &CHR_ET_ToDi = 1 // Acivamos control sobre el display para ET } else // Ya estabamos en la función ET { &Estado_ET = &Estado_ET + 1 // Cambiamos el estado de ET } If &Estado_ET > 3 // Comprobamos limite del estado del ET { &Estado_ET = 2 // 2 -> Inicia ET o continúa 3 -> STOP ET } If &Estado_ET <> 2 { &PARPADEO_D = 2 } } } Var 0926, Link IOCARD_SW, Device 15, Input 5, type P // Botón RST { if &SW_CHR = 1 { &CHR_ET_ToDi = -1 &Estado_CHR = 1 &Estado_ET = 1 &DECIMAL_C = 1 &Aguja_Segundos = 45 &Disp_DWN_Min = -999999 &Disp_DWN_Sec = -999999 &DECIMAL_D = 0 &CHR_Min = 0 &CHR_Sec = 0 &ET_Hr = 0 &ET_Min = 0 &ET_Sec = 0 &DECIMAL_C = 0 } else { if &CHR_ET_ToDi = -1 { &CHR_ET_ToDi = 0 &Aguja_Segundos = 0 &DECIMAL_C = 1 &DECIMAL_D = 1 } else { If &CHR_ET_ToDi = 0 { &CHR_Min = 0 // Ponemos a cero los minutos del CHR &CHR_Sec = 0 // Ponemos a cero los segundos del CHR &Aguja_Segundos = 0 Call &Ver_CHR } else { &ET_Hr = 0 // Ponemos a cero la hora del ET &ET_Min = 0 // Ponemos a cero los minutos del ET &ET_Sec = 0 // Ponemos a cero los segundos del ET Call &Ver_ET } } } } Var 0927, Link IOCARD_SW, Device 15, Input 3, type P // Botón + { IF &Modif_Year = 1 // Si estamos en activacion del control del año { &Year_to_Mod = &Year_to_Mod + 1 &Disp_Year = &Year_to_Mod } IF &Modif_DDMM = 1 // Si estamos en activacion del control del Mes { &MM_to_Modif = &MM_to_Modif + 1 If &MM_to_Modif > 12 { &MM_to_Modif = 1 } &Disp_Month_M = &MM_to_Modif } IF &Modif_DDMM = 2 // Si estamos en activacion del control del Día { &DD_to_Modif = &DD_to_Modif + 1 If &DD_to_Modif > &Limit_DD_Mes { &DD_to_Modif = 1 } &Disp_Day_H = &DD_to_Modif } IF &Modif_HHMM = 1 // Si estamos en activacion del control de Minutos { &MI_to_Modif = &MI_to_Modif + 1 If &MI_to_Modif > 59 { &MI_to_Modif = 0 } &Disp_Month_M = &MI_to_Modif } IF &Modif_HHMM = 2 // Si estamos en activacion del control de Horas { &HH_to_Modif = &HH_to_Modif + 1 If &HH_to_Modif > 23 { &HH_to_Modif = 0 } &Disp_Day_H = &HH_to_Modif } } Var 0928, Link IOCARD_SW, Device 15, Input 4, type P // Botón - { IF &Modif_Year = 1 // Si estamos en activacion del control del año { &Year_to_Mod = &Year_to_Mod - 1 &Disp_Year = &Year_to_Mod } IF &Modif_DDMM = 1 // Si estamos en activacion del control del Mes { &MM_to_Modif = &MM_to_Modif - 1 If &MM_to_Modif < 1 { &MM_to_Modif = 12 } &Disp_Month_M = &MM_to_Modif } IF &Modif_DDMM = 2 // Si estamos en activacion del control del Día { &DD_to_Modif = &DD_to_Modif - 1 If &DD_to_Modif < 1 { &DD_to_Modif = &Limit_DD_Mes } &Disp_Day_H = &DD_to_Modif } IF &Modif_HHMM = 1 // Si estamos en activacion del control de Minutos { &MI_to_Modif = &MI_to_Modif - 1 If &MI_to_Modif < 0 { &MI_to_Modif = 59 } &Disp_Month_M = &MI_to_Modif } IF &Modif_HHMM = 2 // Si estamos en activacion del control de Horas { &HH_to_Modif = &HH_to_Modif - 1 If &HH_to_Modif < 0 { &HH_to_Modif = 23 } &Disp_Day_H = &HH_to_Modif } } // ///////////////////////////////////////////////////////////////////////////////////////// // SUBRUTINAS // ///////////////////////////////////////////////////////////////////////////////////////// Var 2000, name Show_Display, Link SUBRUTINE // Muestra el año { &PARPADEO_U = 0 IF &Time_Date_Year = 1 // Visualizo el año { &Disp_Year = -999999 // Apagamos el año &Disp_Year = &Zulu_Year_S } IF &Time_Date_Year = 2 // Visualizo el dia y mes { &Disp_Day_H = &Day_of_Month &Disp_Month_M = &Current_Mth &PARPADEO_U = 2 } IF &Time_Date_Year = 3 // Visualizo la hora Zulu y Minutos { &Disp_Day_H = &Zulu_Hour &Disp_Month_M = &Zulu_Minute &PARPADEO_U = 1 } IF &Time_Date_Year = 4 // Visualizo Minutos y Segundos { &Disp_Day_H = &Zulu_Minute &Disp_Month_M = &Clock_Sec &PARPADEO_U = 1 } } Var 2002, name Ver_CHR, Link SUBRUTINE // Pasa CHR al display { &Disp_DWN_Min = &CHR_Min // Mostramos los minutos del CHR en Display Down &Disp_DWN_Sec = &CHR_Sec // Mostramos los minutos del CHR en Display Down } Var 2004, name Ver_ET, Link SUBRUTINE // Pasa ET al display { If &ET_Hr = 0 // Durante la primera hora mostramos MM:SS { &Disp_DWN_Min = &ET_Min // Mostramos los minutos del ET en Display Down &Disp_DWN_Sec = &ET_Sec // Mostramos los segundos del ET en Display Down } else // Despues mostramos HH:MM { &Disp_DWN_Min = &ET_Hr // Mostramos la hora del ET en Display Down &Disp_DWN_Sec = &ET_Min // Mostramos los minutos del ET en Display Down } } Var 2006, name Chk_Bisiesto, Link SUBRUTINE // Comprueba si el año es bisisesto { L0 = MOD &Zulu_Year_S ,4 // L0 acumula el resto de la división IF L0 = 0 { &Chk_Bisiesto = 1 // No Bisiesto = 0 Bisiesto = 1 } ELSE { L0 = MOD &Zulu_Year_S ,400 IF L0 = 0 { L0 = MOD &Zulu_Year_S ,100 IF L0 = 0 { &Chk_Bisiesto = 1 // No Bisiesto = 0 Bisiesto = 1 } ELSE { &Chk_Bisiesto = 0 // No Bisiesto = 0 Bisiesto = 1 } } ELSE { &Chk_Bisiesto = 0 // No Bisiesto = 0 Bisiesto = 1 } } } Var 2008, name Chk_DiasDelMes, Link SUBRUTINE // Calcula cuantos días tiene el mes // 31 días tienen ENE, MAR, MAY, JUL, AGO, OCT, DIC // 30 días tienen ABR, JUN, SEP, NOV // 28 días tiene FEB excepto los bisiestos que tiene 29 { If &MM_to_Modif = 1 // ENE { &Limit_DD_Mes = 31 } If &MM_to_Modif = 2 // FEB { If &Chk_Bisiesto = 0 // Si no es bisiesto { &Limit_DD_Mes = 28 } else // Si es bisiesto { &Limit_DD_Mes = 29 } } If &MM_to_Modif = 3 // MAR { &Limit_DD_Mes = 31 } If &MM_to_Modif = 4 // ABR { &Limit_DD_Mes = 30 } If &MM_to_Modif = 5 // MAY { &Limit_DD_Mes = 31 } If &MM_to_Modif = 6 // JUN { &Limit_DD_Mes = 30 } If &MM_to_Modif = 7 // JUL { &Limit_DD_Mes = 31 } If &MM_to_Modif = 8 // AGO { &Limit_DD_Mes = 31 } If &MM_to_Modif = 9 // SEP { &Limit_DD_Mes = 30 } If &MM_to_Modif = 10 // OCT { &Limit_DD_Mes = 31 } If &MM_to_Modif = 11 // NOV { &Limit_DD_Mes = 30 } If &MM_to_Modif = 12 // DIC { &Limit_DD_Mes = 31 } } Var 2010, name Calc_DayofYear, Link SUBRUTINE // Calcula el dia del mes en relacion al año total // // Así el 1 de ENE es el calc_DayofYear = 1 y el // // 31 de DIC es el 365 excepto en bisiesto que es el 366 { If &MM_to_Modif = 1 // ENE 31 { &DayofYear = &DD_to_Modif // Paso a Calc_DayofYear el día del mes de Enero } If &MM_to_Modif = 2 // FEB 28 { &DayofYear = &DD_to_Modif + 31 // Le sumo a los días del mes los del mes anterior } If &MM_to_Modif = 3 // MAR 31 { &DayofYear = &DD_to_Modif + 59 // Le sumo a los días del mes los de los meses anteriores } If &MM_to_Modif = 4 // ABR 30 { &DayofYear = &DD_to_Modif + 90 // Le sumo a los días del mes los de los meses anteriores } If &MM_to_Modif = 5 // MAY 31 { &DayofYear = &DD_to_Modif + 120 // Le sumo a los días del mes los de los meses anteriores } If &MM_to_Modif = 6 // JUN 30 { &DayofYear = &DD_to_Modif + 151 // Le sumo a los días del mes los de los meses anteriores } If &MM_to_Modif = 7 // JUL 31 { &DayofYear = &DD_to_Modif + 181 // Le sumo a los días del mes los de los meses anteriores } If &MM_to_Modif = 8 // AGO 31 { &DayofYear = &DD_to_Modif + 212 // Le sumo a los días del mes los de los meses anteriores } If &MM_to_Modif = 9 // SEP 30 { &DayofYear = &DD_to_Modif + 243 // Le sumo a los días del mes los de los meses anteriores } If &MM_to_Modif = 10 // OCT 31 { &DayofYear = &DD_to_Modif + 273 // Le sumo a los días del mes los de los meses anteriores } If &MM_to_Modif = 11 // NOV 30 { &DayofYear = &DD_to_Modif + 304 // Le sumo a los días del mes los de los meses anteriores } If &MM_to_Modif = 12 // DIC 31 { &DayofYear = &DD_to_Modif + 334 // Le sumo a los días del mes los de los meses anteriores } If &MM_to_Modif > 1 { If &Chk_Bisiesto = 1 // Si es bisiesto { &DayofYear = &DayofYear + 1 } } &Current_Mth = &MM_to_Modif &Day_of_Month = &DD_to_Modif } Var 2012, name BLINK, Link SUBRUTINE { IF &BLINK = 0 { IF &PARPADEO_U = 0 // No parpadea y queda apagado { &DECIMAL_U = 0 } IF &PARPADEO_U = 1 // Parpadea { &DECIMAL_U = 1 &BLINK = DELAY 1, 50 } IF &PARPADEO_U = 2 // No parpadea y queda encendido { &DECIMAL_U = 1 } } ELSE { IF &PARPADEO_U = 0 { &DECIMAL_U = 0 } IF &PARPADEO_U = 1 { &DECIMAL_U = 0 } IF &PARPADEO_U = 2 { &DECIMAL_U = 1 } } } Var 2014, name BLINK2, Link SUBRUTINE { IF &BLINK2 = 0 { IF &PARPADEO_D = 0 // No parpadea y queda apagado { &DECIMAL_D = 0 } IF &PARPADEO_D = 1 // Parpadea { &DECIMAL_D = 1 &BLINK2 = DELAY 1, 50 } IF &PARPADEO_D = 2 // No parpadea y queda encendido { &DECIMAL_D = 1 } } ELSE { IF &PARPADEO_D = 0 { &DECIMAL_D = 0 } IF &PARPADEO_D = 1 { &DECIMAL_D = 0 } IF &PARPADEO_D = 2 { &DECIMAL_D = 1 } } } // ////////////////////////////////////// // END CHRONO CAPT // ////////////////////////////////////// // /////////////////////////// // CHRONO F/O // /////////////////////////// Var 0002, Value 0 // Inicializacion de valores de variables { &D_CHRBRIGHT2 = 120 &PARPADEO_U2 = 0 &PARPADEO_D2 = 1 &2Date_Year = 3 &Disp_Year2 = &Zulu_Year_S2 &Year_to_Mod2 = &Zulu_Year_S2 // Pasamos el año a una vble interna &Modif_Year2 = 0 &Estado_CHR2 = 1 &Estado_ET2 = 1 &CHR_ET_ToDi2 = -1 &DECIMAL_C2 = 0 &Aguja_Segs2 = 45 } // ///////////////////////////////////////////////////////////////////////////////////////// // VARIABLES PROPIAS // ///////////////////////////////////////////////////////////////////////////////////////// Var 4000, name 2Date_Year // Indice para digitos Time-Date-Year Var 4002, name Modif_Year2 // Activamos control modificacion año. 0=Descativado, 1=Activado Var 4004, name Modif_DDMM2 // Activamos control modificacion Dia.Mes -> 0=Descativado, 1=Mes 2=Día Var 4006, name Modif_HHMM2 // Activamos control modificacion Hora.Minutos-> 0=Descativado, 1=Minutos 2=Horas Var 4008, name Year_to_Mod2 // Guarda el año para modificar Var 4010, name DD_to_Modif2 // Guarda el Dia para modificar Var 4012, name MM_to_Modif2 // Guarda el Mes para modificar Var 4014, name CHR_ET_ToDi2 // Controla si vemos el CHR o el ET en el display inferior. 0=CHR 1=ET Var 4016, name CHR_Min2 // Acumula los Minutos del cronometro Var 4018, name CHR_Sec2 // Acumula los Segundos del cronometro Var 4020, name Estado_CHR2 // COntrola el estado del Botón CHR. 0 -> Pone Crono en display // 2 -> Inicia CHR o continúa // 3 -> STOP Cronómetro. Var 4022, name ET_Hr2 // Acumula las Horas del ET (Elapsed Time) Var 4024, name ET_Min2 // Acumula los Minutos del ET (Elapsed Time) Var 4026, name ET_Sec2 // Acumula los Segundos del ET (Elapsed Time) Var 4028, name Estado_ET2 // COntrola el estado del Botón ET. 0 -> Pone ET en display // 2 -> Inicia ET o continúa // 3 -> STOP ET Var 4030, name Limit_DD_Mes2 // Almacena el total de días que tiene el mes activo Var 4032, name DayofYear2 // Almacena el día del año Var 4034, name M_MOTOR2, Link IOCARD_MOTOR, Device 16, Output 1, Aceleration 200 Var 4036, name Aguja_Segs2 { L0 = 4065 / 60 L0 = L0 * &Aguja_Segs2 &M_MOTOR2 = ROUND L0 } Var 4038, name PARPADEO_U2, link SUBRUTINE { &BLINK3 = 0 } Var 4040, name PARPADEO_D2, Link SUBRUTINE { &BLINK4 = 0 } Var 4042, name HH_to_Modif2 // Guarda la hora para modificar Var 4044, name MI_to_Modif2 // Guarda los minutos para modificar // ///////////////////////////////////////////////////////////////////////////////////////// // VARIABLES FSUIPC // ///////////////////////////////////////////////////////////////////////////////////////// Var 4046, name Clock_Sec2, link FSUIPC_INOUT, offset $023A, length 1 // Segundos del Reloj del FS { IF &2Date_Year = 1 // Visualizo el año { IF &Modif_Year2 = 1 // Si estamos en activacion del control del año { &Disp_Year2 = &Year_to_Mod2 &Disp_Year2 = Delay -999999, 50 } } IF &2Date_Year = 2 // Visualizo el dia y mes { IF &Modif_DDMM2 = 1 // Si estamos en activacion del control modificacion Mes { &DispMonthMin2 = &MM_to_Modif2 &DispMonthMin2 = Delay -999999, 50 &Disp_Day_H2 = &DD_to_Modif2 } IF &Modif_DDMM2 = 2 // Si estamos en activacion del control modificacion Día { &Disp_Day_H2 = &DD_to_Modif2 &Disp_Day_H2 = Delay -999999, 50 &DispMonthMin2 = &MM_to_Modif2 } } IF &2Date_Year = 3 // Visualizo la hora Zulu { CALL &Show_Display2 IF &Modif_HHMM2 = 1 // Si estamos en activacion del control modificacion Minutos { &DispMonthMin2 = &MI_to_Modif2 &DispMonthMin2 = Delay -999999, 50 &Disp_Day_H2 = &HH_to_Modif2 } IF &Modif_HHMM2 = 2 // Si estamos en activacion del control modificacion Horas { &Disp_Day_H2 = &HH_to_Modif2 &Disp_Day_H2 = Delay -999999, 50 &DispMonthMin2 = &MI_to_Modif2 } } IF &2Date_Year = 4 // Visualizo Minutos y Segundos { CALL &Show_Display2 } If &Estado_CHR2 = 2 // 2 -> Inicia CHR o continúa { IF &CHR_ET_ToDi2 = 0 { &PARPADEO_D2 = 1 } &CHR_Sec2 = &CHR_Sec2 + 1 If &CHR_Sec2 > 59 { &CHR_Sec2 = 0 &CHR_Min2 = &CHR_Min2 + 1 If &CHR_Min2 > 59 // Cuando llegamos a 1 hora se pone a cero { &CHR_Min2 = 0 } } &Aguja_Segs2 = &CHR_Sec2 // Movemos la aguja de los segundos si el CHR esta funcionando } If &Estado_ET2 = 2 // 2 -> Inicia ET o continúa { IF &CHR_ET_ToDi2 = 1 { &PARPADEO_D2 = 1 } &ET_Sec2 = &ET_Sec2 + 1 If &ET_Sec2 > 59 { &ET_Sec2 = 0 &ET_Min2 = &ET_Min2 + 1 If &ET_Min2 > 59 { &ET_Min2 = 0 &ET_Hr2 = &ET_Hr2 + 1 } } } If &CHR_ET_ToDi2 = 0 // Mostramos el CHR en los displays inferiores { Call &Ver_CHR2 } else // Mostramos el ET en los displays inferiores { if &CHR_ET_ToDi2 = 1 { Call &Ver_ET2 } } } Var 4048, name Zulu_Hour2, link FSUIPC_INOUT, offset $023B, length 1 // Hora Zulu. Lectura y escritura { CALL &Show_Display2 } Var 4050, name Zulu_Minute2, link FSUIPC_INOUT, offset $023C, length 1 // Minutos Zulu. Lectura y escritura { CALL &Show_Display2 } Var 4052, name Day_of_Year2, link FSUIPC_INOUT, offset $023E, length 2 // Numero del día del año. Lectura y escritura. Numero total de dias al año Var 4054, name DayofMonth2, link FSUIPC_IN, offset $023D, length 1 // Día del mes correspondiente. Sólo lectura { CALL &Show_Display2 } Var 4056, name Current_Mth2, link FSUIPC_IN, offset $0242, length 1 // Numero del mes. Sólo lectura { CALL &Show_Display2 } Var 4058, name Zulu_Year_S2, link FSUIPC_INOUT, offset $0240, length 2 // Año. Lectura y escritura { &Year_to_Mod2 = &Zulu_Year_S2 Call &Chk_Bisiesto2 // Comprobamos si es bisiesto } // ///////////////////////////////////////////////////////////////////////////////////////// // VARIABLES IOCARDS ------------ DISPLAYS ------------ // ///////////////////////////////////////////////////////////////////////////////////////// Var 4060, name Disp_Year2, Link IOCARD_DISPLAY, Device 16, Digit 0, Numbers 4 // UP Displays Year Var 4062, name Disp_Day_H2, Link IOCARD_DISPLAY, Device 16, Digit 2, Numbers 2 // UP Displays Day or Hour Var 4064, name DispMonthMin2, Link IOCARD_DISPLAY, Device 16, Digit 0, Numbers 2 // UP Displays Month or Minutes Var 4068, name Disp_DWN_Min2, Link IOCARD_DISPLAY, Device 16, Digit 6, Numbers 2 // Down Displays CHR - ET -> Min Var 4070, name Disp_DWN_Sec2, Link IOCARD_DISPLAY, Device 16, Digit 4, Numbers 2 // Down Displays CHR - ET -> Sec Var 4072, name D_CHRBRIGHT2, Link IOCARD_DISPLAY, Device 16, Digit 16, Numbers 3 Var 4074, name DECIMAL_U2, Link IOCARD_OUT, Device 16, Output 20 Var 4076, name DECIMAL_D2, Link IOCARD_OUT, Device 16, Output 21 Var 4078, name DECIMAL_C2, Link IOCARD_OUT, Device 16, Output 22 // ///////////////////////////////////////////////////////////////////////////////////////// // VARIABLES IOCARDS ------------ ENTRADAS ------------ // ///////////////////////////////////////////////////////////////////////////////////////// Var 4080, name SW_Time_Date2, Link IOCARD_SW, Device 16, Input 1, Type P // Botón TIME-DATE { IF &Modif_Year2 = 0 // Si NO estamos en activacion del control del Año-Set (Botón SET) { &2Date_Year = &2Date_Year + 1 IF &Modif_DDMM2 > 0 // Si estoy modificando dia del mes o el mes { &Modif_DDMM2 = 0 } IF &Modif_HHMM2 > 0 // Si estoy modificando dia hora o minutos { &Modif_HHMM2 = 0 } } IF &2Date_Year > 4 // Comprobamos si nos salimos de margenes { &2Date_Year = 1 // Ponemos a 1 } Call &Show_Display2 // Mostramos en displays el dato correspondiente If &Estado_CHR2 = 3 // Si el CHR esta parado { // &Aguja_Segs2 = 9000 // Movemos la aguja de los segundos a 15 para ver los displays mejor } } Var 4082, name SW_SET2, Link IOCARD_SW, Device 16, Input 2, Type P // Botón SET { IF &2Date_Year = 1 // Si estoy visualizando el año { IF &Modif_Year2 = 0 // Si NO estoy modificando el año { &Modif_Year2 = 1 // Activamos control modificacion año &Year_to_Mod2 = &Zulu_Year_S2 // Pasamos el año a una vble para modificar } else { Call &Chk_Bisiesto2 // Comprobamos si es bisiesto call &Calc_DayYear2 &Day_of_Year2 = &DayofYear2 // Devolvemos el día al FS para que lo modifique &Modif_Year2 = 0 // Desactivamos control modificacion año &Zulu_Year_S2 = &Year_to_Mod2 // Devolvemos el año al FS para que lo modifique Call &Show_Display2 // Mostramos el año } } IF &2Date_Year = 2 // Si estoy visualizando el dia del mes y el mes (DD.MM) { IF &Modif_DDMM2 = 0 // Si NO estoy modificando dia del mes y el mes { &Modif_DDMM2 = 1 // Activamos control modificacion Mes &MM_to_Modif2 = &Current_Mth2 // Pasamos el mes a una vble para modificar &DD_to_Modif2 = &DayofMonth2 &PARPADEO_U2 = 0 } else { IF &Modif_DDMM2 = 1 // Si estamos modificando el mes pasamos a modificar el día { Call &Chk_DiasMes2 // Calculamos cuantos dias tiene el mes que hemos modificado &Modif_DDMM2 = 2 // Activamos control modificacion Día &DD_to_Modif2 = &DayofMonth2 // Pasamos el día a una vble para modificar &DispMonthMin2 = Delay &MM_to_Modif2, 50 } else // Terminamos de modificar así que mandamos valores al FS { call &Calc_DayYear2 &Day_of_Year2 = &DayofYear2 // Devolvemos el día al FS para que lo modifique &PARPADEO_U2 = 2 &Modif_DDMM2 = 0 call &Show_Display2 &show_Display2 = Delay 1, 50 } } } IF &2Date_Year = 3 // Si estoy visualizando el dia del Hora y minutos (HH.MM) { IF &Modif_HHMM2 = 0 // Si NO estoy modificando Nada { &Modif_HHMM2 = 1 // Activamos control modificacion Minutos &MI_to_Modif2 = &Zulu_Minute2 // Pasamos minutos &HH_to_Modif2 = &Zulu_Hour2 // Pasamos Horas &PARPADEO_U2 = 0 } else { IF &Modif_HHMM2 = 1 // Si estamos modificando Minutos pasamos a modificar Horas { // Call &Chk_DiasMes2 &Modif_HHMM2 = 2 // Activamos control modificacion Día &HH_to_Modif2 = &Zulu_Hour2 // Pasamos el día a una vble para modificar *OJO* &DispMonthMin2 = Delay &MI_to_Modif2, 50 } else // Terminamos de modificar así que mandamos valores al FS { //call &Calc_DayYear2 //&Day_of_Year2 = &DayofYear2 // Devolvemos el día al FS para que lo modifique *OJO* &Zulu_Hour2 = &HH_to_Modif2 &Zulu_Minute2 = &MI_to_Modif2 &PARPADEO_U2 = 2 &Modif_HHMM2 = 0 call &Show_Display2 &show_Display2 = Delay 1, 50 } } } } Var 4084, name SW_CHR2, Link IOCARD_SW, Device 16, Input 0 // Botón CHR { if &SW_CHR2 = 1 { if &CHR_ET_ToDi2 = -1 { &CHR_ET_ToDi2 = 0 &Aguja_Segs2 = 0 &DECIMAL_C2 = 1 &DECIMAL_D2 = 1 } else { &DECIMAL_C2 = 1 Call &Ver_CHR2 If &CHR_ET_ToDi2 = 1 // Venimos de la Función ET { &CHR_ET_ToDi2 = 0 // Acivamos control sobre el display para CHR } else // Ya estabamos en la función CHR { &Estado_CHR2 = &Estado_CHR2 + 1 // Cambiamos el estado de CHR } If &Estado_CHR2 > 3 // Comprobamos limite del estado del CHR { &Estado_CHR2 = 2 // 2 -> Inicia CHR o continúa 3 -> STOP Cronómetro. } If &Estado_CHR2 <> 2 { &PARPADEO_D2 = 2 } } } } Var 4086, name SW_ET2, Link IOCARD_SW, Device 16, Input 6, type P // Botón ET { if &CHR_ET_ToDi2 = -1 { &CHR_ET_ToDi2 = 0 &Aguja_Segs2 = 0 &DECIMAL_C2 = 1 &DECIMAL_D2 = 1 } else { &DECIMAL_C2 = 0 Call &Ver_ET2 If &CHR_ET_ToDi2 = 0 // Venimos de la Función CHR { &CHR_ET_ToDi2 = 1 // Acivamos control sobre el display para ET } else // Ya estabamos en la función ET { &Estado_ET2 = &Estado_ET2 + 1 // Cambiamos el estado de ET } If &Estado_ET2 > 3 // Comprobamos limite del estado del ET { &Estado_ET2 = 2 // 2 -> Inicia ET o continúa 3 -> STOP ET } If &Estado_ET2 <> 2 { &PARPADEO_D2 = 2 } } } Var 4088, Link IOCARD_SW, Device 16, Input 5, type P // Botón RST { if &SW_CHR2 = 1 { &CHR_ET_ToDi2 = -1 &Estado_CHR2 = 1 &Estado_ET2 = 1 &DECIMAL_C2 = 1 &Aguja_Segs2 = 45 &Disp_DWN_Min2 = -999999 &Disp_DWN_Sec2 = -999999 &DECIMAL_D2 = 0 &CHR_Min2 = 0 &CHR_Sec2 = 0 &ET_Hr2 = 0 &ET_Min2 = 0 &ET_Sec2 = 0 &DECIMAL_C2 = 0 } else { if &CHR_ET_ToDi2 = -1 { &CHR_ET_ToDi2 = 0 &Aguja_Segs2 = 0 &DECIMAL_C2 = 1 &DECIMAL_D2 = 1 } else { If &CHR_ET_ToDi2 = 0 { &CHR_Min2 = 0 // Ponemos a cero los minutos del CHR &CHR_Sec2 = 0 // Ponemos a cero los segundos del CHR &Aguja_Segs2 = 0 Call &Ver_CHR2 } else { &ET_Hr2 = 0 // Ponemos a cero la hora del ET &ET_Min2 = 0 // Ponemos a cero los minutos del ET &ET_Sec2 = 0 // Ponemos a cero los segundos del ET Call &Ver_ET2 } } } } Var 4090, Link IOCARD_SW, Device 16, Input 3, type P // Botón + { IF &Modif_Year2 = 1 // Si estamos en activacion del control del año { &Year_to_Mod2 = &Year_to_Mod2 + 1 &Disp_Year2 = &Year_to_Mod2 } IF &Modif_DDMM2 = 1 // Si estamos en activacion del control del Mes { &MM_to_Modif2 = &MM_to_Modif2 + 1 If &MM_to_Modif2 > 12 { &MM_to_Modif2 = 1 } &DispMonthMin2 = &MM_to_Modif2 } IF &Modif_DDMM2 = 2 // Si estamos en activacion del control del Día { &DD_to_Modif2 = &DD_to_Modif2 + 1 If &DD_to_Modif2 > &Limit_DD_Mes2 { &DD_to_Modif2 = 1 } &Disp_Day_H2 = &DD_to_Modif2 } IF &Modif_HHMM2 = 1 // Si estamos en activacion del control de Minutos { &MI_to_Modif2 = &MI_to_Modif2 + 1 If &MI_to_Modif2 > 59 { &MI_to_Modif2 = 0 } &DispMonthMin2 = &MI_to_Modif2 } IF &Modif_HHMM2 = 2 // Si estamos en activacion del control de Horas { &HH_to_Modif2 = &HH_to_Modif2 + 1 If &HH_to_Modif2 > 23 { &HH_to_Modif2 = 0 } &Disp_Day_H2 = &HH_to_Modif2 } } Var 4092, Link IOCARD_SW, Device 16, Input 4, type P // Botón - { IF &Modif_Year2 = 1 // Si estamos en activacion del control del año { &Year_to_Mod2 = &Year_to_Mod2 - 1 &Disp_Year2 = &Year_to_Mod2 } IF &Modif_DDMM2 = 1 // Si estamos en activacion del control del Mes { &MM_to_Modif2 = &MM_to_Modif2 - 1 If &MM_to_Modif2 < 1 { &MM_to_Modif2 = 12 } &DispMonthMin2 = &MM_to_Modif2 } IF &Modif_DDMM2 = 2 // Si estamos en activacion del control del Día { &DD_to_Modif2 = &DD_to_Modif2 - 1 If &DD_to_Modif2 < 1 { &DD_to_Modif2 = &Limit_DD_Mes2 } &Disp_Day_H2 = &DD_to_Modif2 } IF &Modif_HHMM2 = 1 // Si estamos en activacion del control de Minutos { &MI_to_Modif2 = &MI_to_Modif2 - 1 If &MI_to_Modif2 < 0 { &MI_to_Modif2 = 59 } &DispMonthMin2 = &MI_to_Modif2 } IF &Modif_HHMM2 = 2 // Si estamos en activacion del control de Horas { &HH_to_Modif2 = &HH_to_Modif2 - 1 If &HH_to_Modif2 < 0 { &HH_to_Modif2 = 23 } &Disp_Day_H2 = &HH_to_Modif2 } } // ///////////////////////////////////////////////////////////////////////////////////////// // SUBRUTINAS // ///////////////////////////////////////////////////////////////////////////////////////// Var 4094, name Show_Display2, Link SUBRUTINE // Muestra el año { &PARPADEO_U2 = 0 IF &2Date_Year = 1 // Visualizo el año { &Disp_Year2 = -999999 // Apagamos el año &Disp_Year2 = &Zulu_Year_S2 } IF &2Date_Year = 2 // Visualizo el dia y mes { &Disp_Day_H2 = &DayofMonth2 &DispMonthMin2 = &Current_Mth2 &PARPADEO_U2 = 2 } IF &2Date_Year = 3 // Visualizo la hora Zulu y Minutos { &Disp_Day_H2 = &Zulu_Hour2 &DispMonthMin2 = &Zulu_Minute2 &PARPADEO_U2 = 1 } IF &2Date_Year = 4 // Visualizo Minutos y Segundos { &Disp_Day_H2 = &Zulu_Minute2 &DispMonthMin2 = &Clock_Sec2 &PARPADEO_U2 = 1 } } Var 4096, name Ver_CHR2, Link SUBRUTINE // Pasa CHR al display { &Disp_DWN_Min2 = &CHR_Min2 // Mostramos los minutos del CHR en Display Down &Disp_DWN_Sec2 = &CHR_Sec2 // Mostramos los minutos del CHR en Display Down } Var 4098, name Ver_ET2, Link SUBRUTINE // Pasa ET al display { If &ET_Hr2 = 0 // Durante la primera hora mostramos MM:SS { &Disp_DWN_Min2 = &ET_Min2 // Mostramos los minutos del ET en Display Down &Disp_DWN_Sec2 = &ET_Sec2 // Mostramos los segundos del ET en Display Down } else // Despues mostramos HH:MM { &Disp_DWN_Min2 = &ET_Hr2 // Mostramos la hora del ET en Display Down &Disp_DWN_Sec2 = &ET_Min2 // Mostramos los minutos del ET en Display Down } } Var 4100, name Chk_Bisiesto2, Link SUBRUTINE // Comprueba si el año es bisisesto { L0 = MOD &Zulu_Year_S2 ,4 // L0 acumula el resto de la división IF L0 = 0 { &Chk_Bisiesto2 = 1 // No Bisiesto = 0 Bisiesto = 1 } ELSE { L0 = MOD &Zulu_Year_S2 ,400 IF L0 = 0 { L0 = MOD &Zulu_Year_S2 ,100 IF L0 = 0 { &Chk_Bisiesto2 = 1 // No Bisiesto = 0 Bisiesto = 1 } ELSE { &Chk_Bisiesto2 = 0 // No Bisiesto = 0 Bisiesto = 1 } } ELSE { &Chk_Bisiesto2 = 0 // No Bisiesto = 0 Bisiesto = 1 } } } Var 4102, name Chk_DiasMes2, Link SUBRUTINE // Calcula cuantos días tiene el mes // 31 días tienen ENE, MAR, MAY, JUL, AGO, OCT, DIC // 30 días tienen ABR, JUN, SEP, NOV // 28 días tiene FEB excepto los bisiestos que tiene 29 { If &MM_to_Modif2 = 1 // ENE { &Limit_DD_Mes2 = 31 } If &MM_to_Modif2 = 2 // FEB { If &Chk_Bisiesto2 = 0 // Si no es bisiesto { &Limit_DD_Mes2 = 28 } else // Si es bisiesto { &Limit_DD_Mes2 = 29 } } If &MM_to_Modif2 = 3 // MAR { &Limit_DD_Mes2 = 31 } If &MM_to_Modif2 = 4 // ABR { &Limit_DD_Mes2 = 30 } If &MM_to_Modif2 = 5 // MAY { &Limit_DD_Mes2 = 31 } If &MM_to_Modif2 = 6 // JUN { &Limit_DD_Mes2 = 30 } If &MM_to_Modif2 = 7 // JUL { &Limit_DD_Mes2 = 31 } If &MM_to_Modif2 = 8 // AGO { &Limit_DD_Mes2 = 31 } If &MM_to_Modif2 = 9 // SEP { &Limit_DD_Mes2 = 30 } If &MM_to_Modif2 = 10 // OCT { &Limit_DD_Mes2 = 31 } If &MM_to_Modif2 = 11 // NOV { &Limit_DD_Mes2 = 30 } If &MM_to_Modif2 = 12 // DIC { &Limit_DD_Mes2 = 31 } } Var 4104, name Calc_DayYear2, Link SUBRUTINE // Calcula el dia del mes en relacion al año total // // Así el 1 de ENE es el Calc_DayYear2 = 1 y el // // 31 de DIC es el 365 excepto en bisiesto que es el 366 { If &MM_to_Modif2 = 1 // ENE 31 { &DayofYear2 = &DD_to_Modif2 // Paso a Calc_DayYear2 el día del mes de Enero } If &MM_to_Modif2 = 2 // FEB 28 { &DayofYear2 = &DD_to_Modif2 + 31 // Le sumo a los días del mes los del mes anterior } If &MM_to_Modif2 = 3 // MAR 31 { &DayofYear2 = &DD_to_Modif2 + 59 // Le sumo a los días del mes los de los meses anteriores } If &MM_to_Modif2 = 4 // ABR 30 { &DayofYear2 = &DD_to_Modif2 + 90 // Le sumo a los días del mes los de los meses anteriores } If &MM_to_Modif2 = 5 // MAY 31 { &DayofYear2 = &DD_to_Modif2 + 120 // Le sumo a los días del mes los de los meses anteriores } If &MM_to_Modif2 = 6 // JUN 30 { &DayofYear2 = &DD_to_Modif2 + 151 // Le sumo a los días del mes los de los meses anteriores } If &MM_to_Modif2 = 7 // JUL 31 { &DayofYear2 = &DD_to_Modif2 + 181 // Le sumo a los días del mes los de los meses anteriores } If &MM_to_Modif2 = 8 // AGO 31 { &DayofYear2 = &DD_to_Modif2 + 212 // Le sumo a los días del mes los de los meses anteriores } If &MM_to_Modif2 = 9 // SEP 30 { &DayofYear2 = &DD_to_Modif2 + 243 // Le sumo a los días del mes los de los meses anteriores } If &MM_to_Modif2 = 10 // OCT 31 { &DayofYear2 = &DD_to_Modif2 + 273 // Le sumo a los días del mes los de los meses anteriores } If &MM_to_Modif2 = 11 // NOV 30 { &DayofYear2 = &DD_to_Modif2 + 304 // Le sumo a los días del mes los de los meses anteriores } If &MM_to_Modif2 = 12 // DIC 31 { &DayofYear2 = &DD_to_Modif2 + 334 // Le sumo a los días del mes los de los meses anteriores } If &MM_to_Modif2 > 1 { If &Chk_Bisiesto2 = 1 // Si es bisiesto { &DayofYear2 = &DayofYear2 + 1 } } &Current_Mth2 = &MM_to_Modif2 &DayofMonth2 = &DD_to_Modif2 } Var 4106, name BLINK3, Link SUBRUTINE { IF &BLINK3 = 0 { IF &PARPADEO_U2 = 0 // No parpadea y queda apagado { &DECIMAL_U2 = 0 } IF &PARPADEO_U2 = 1 // Parpadea { &DECIMAL_U2 = 1 &BLINK3 = DELAY 1, 50 } IF &PARPADEO_U2 = 2 // No parpadea y queda encendido { &DECIMAL_U2 = 1 } } ELSE { IF &PARPADEO_U2 = 0 { &DECIMAL_U2 = 0 } IF &PARPADEO_U2 = 1 { &DECIMAL_U2 = 0 } IF &PARPADEO_U2 = 2 { &DECIMAL_U2 = 1 } } } Var 4108, name BLINK4, Link SUBRUTINE { IF &BLINK4 = 0 { IF &PARPADEO_D2 = 0 // No parpadea y queda apagado { &DECIMAL_D2 = 0 } IF &PARPADEO_D2 = 1 // Parpadea { &DECIMAL_D2 = 1 &BLINK4 = DELAY 1, 50 } IF &PARPADEO_D2 = 2 // No parpadea y queda encendido { &DECIMAL_D2 = 1 } } ELSE { IF &PARPADEO_D2 = 0 { &DECIMAL_D2 = 0 } IF &PARPADEO_D2 = 1 { &DECIMAL_D2 = 0 } IF &PARPADEO_D2 = 2 { &DECIMAL_D2 = 1 } } } // ////////////////////////////////// // END CHRONO F/O // ////////////////////////////////// // //////////////////////////// // N1 SET, FLAPS & AUTOBRAKES // //////////////////////////// // FLAPS OUTPUTS Var 2020, name MIPBRAKEDIS_O, Link IOCARD_OUT, DEVICE 17, Output 21 // AUTO BRAKE DISARM INDICATOR Var 2021 name MIPBRAKEDI_O, Link IOCP, Offset 795 // AUTO BRAKE DISARM INDICATOR OFFSET { &MIPBRAKEDIS_O = &MIPBRAKEDI_O } Var 2022, name MIPANTI_SKID_O, Link IOCARD_OUT, DEVICE 17, Output 22 // ANTI SKID INOP INDICATOR Var 2023 name MIPANTI_SKI_O, Link IOCP, Offset 797 // ANTI SKID INOP INDICATOR OFFSET { &MIPANTI_SKID_O = &MIPANTI_SKI_O } Var 2024, name MIPFLAPTRANS_O, Link IOCARD_OUT, DEVICE 17, Output 23 // LE FLAPS TRANSIT INDICATOR Var 2025 name MIPFLAPTRAN_O, Link IOCP, Offset 491 // LE FLAPS TRANSIT INDICATOR OFFSET { &MIPFLAPTRANS_O = &MIPFLAPTRAN_O } Var 2026, name MIPFLAPSEXT_O, Link IOCARD_OUT, DEVICE 17, Output 24 // LE FLAPS EXTENDED INDICATOR Var 2027 name MIPFLAPSEX_O, Link IOCP, Offset 492 // LE FLAPS EXTENDED INDICATOR { &MIPFLAPSEXT_O = &MIPFLAPSEX_O } // FLAPS INPUTS // N1 SET Var 2028, name N1SET2_I, Link IOCARD_SW, DEVICE 17, Input 36 // N1 SET ROTARY SWITCH POSITION 2 { IF &N1SET2_I = 1 { &commands4 = 476 &commands4 = -2 } } Var 2030, name N1SET1_I, Link IOCARD_SW, DEVICE 17, Input 37 // N1 SET ROTARY SWITCH POSITION 1 { IF &N1SET1_I = 1 { &commands4 = 477 &commands4 = -2 } } Var 2032, name N1SETAUTO_I, Link IOCARD_SW, DEVICE 17, Input 38 // N1 SET ROTARY SWITCH POSITION AUTO { IF &N1SETAUTO_I = 1 { &commands4 = 478 &commands4 = -2 } } Var 2034, name N1SETBOTH_I, Link IOCARD_SW, DEVICE 17, Input 39 // N1 SET ROTARY SWITCH POSITION BOTH { IF &N1SETBOTH_I = 1 { &commands4 = 479 &commands4 = -2 } } Var 2036, name N1SETENC_I, Link IOCARD_ENCODER, DEVICE 17, Input 40, Aceleration 1, Type 2 // N1 SET ENCODER INPUT { IF &N1SETENC_I > 0 { &commands4 = 481 &commands4 = -2 } ELSE { &commands4 = 480 &commands4 = -2 } } // ///////////////////////// // FUEL FLOW // ///////////////////////// Var 2038, name FUEL_USED_I, Link IOCARD_SW, DEVICE 17, Input 42 // FUEL FLOW SWITCH USED { IF &FUEL_USED_I = 1 { &commands4 = 483 &commands4 = -2 } } Var 2040, name FUEL_RESET_I, Link IOCARD_SW, DEVICE 17, Input 43 // FUEL FLOW SWITCH RESET { IF &FUEL_RESET_I = 1 { &commands4 = 482 &commands4 = -2 } } // //////////// // SPD REF // //////////// Var 2042, name SPD_AUTO_I, Link IOCARD_SW, DEVICE 17, Input 45 // SPD REF ROTARY SWITCH POSITION AUTO { IF &SPD_AUTO_I = 1 { &commands4 = 742 &commands4 = -2 } } Var 2044, name SPD_V1_I, Link IOCARD_SW, DEVICE 17, Input 46 // SPD REF ROTARY SWITCH POSITION V1 { IF &SPD_V1_I = 1 { &commands4 = 743 &commands4 = -2 } } Var 2046, name SPD_VR_I, Link IOCARD_SW, DEVICE 17, Input 47 // SPD REF ROTARY SWITCH POSITION VR { IF &SPD_VR_I = 1 { &commands4 = 744 &commands4 = -2 } } Var 2048, name SPD_WT_I, Link IOCARD_SW, DEVICE 17, Input 48 // SPD REF ROTARY SWITCH POSITION WT { IF &SPD_WT_I = 1 { &commands4 = 745 &commands4 = -2 } } Var 2050, name SPD_VREF_I, Link IOCARD_SW, DEVICE 17, Input 49 // SPD REF ROTARY SWITCH POSITION VREF { IF &SPD_VREF_I = 1 { &commands4 = 746 &commands4 = -2 } } Var 2052, name SPD_A_I, Link IOCARD_SW, DEVICE 17, Input 50 // SPD REF ROTARY SWITCH POSITION TRIANGLE { IF &SPD_A_I = 1 { &commands4 = 747 &commands4 = -2 } } Var 2054, name SPD_SET_I, Link IOCARD_SW, DEVICE 17, Input 51 // SPD REF ROTARY SWITCH POSITION SET { IF &SPD_SET_I = 1 { &commands4 = 748 &commands4 = -2 } } Var 2056, name SPD_ENC_I, Link IOCARD_ENCODER, DEVICE 17, Input 52, Aceleration 1, Type 2 // SPD REF ENCODER INPUT { IF &SPD_ENC_I > 0 { &commands4 = 750 &commands4 = -2 } ELSE { &commands4 = 749 &commands4 = -2 } } // //////////// // AUTO BRAKE // //////////// Var 2058, name BRAKE_RTO_I, Link IOCARD_SW, DEVICE 17, Input 54 // AUTO BRAKE ROTARY SWITCH POSITION RTO { IF &BRAKE_RTO_I = 1 { &commands4 = 1198 &commands4 = -2 } } Var 2060, name BRAKE_OFF_I, Link IOCARD_SW, DEVICE 17, Input 55 // AUTO BRAKE ROTARY SWITCH POSITION OFF { IF &BRAKE_OFF_I = 1 { &commands4 = 1199 &commands4 = -2 } } Var 2062, name BRAKE_1_I, Link IOCARD_SW, DEVICE 17, Input 56 // AUTO BRAKE ROTARY SWITCH POSITION 1 { IF &BRAKE_1_I = 1 { &commands4 = 1200 &commands4 = -2 } } Var 2064, name BRAKE_2_I, Link IOCARD_SW, DEVICE 17, Input 57 // AUTO BRAKE ROTARY SWITCH POSITION 2 { IF &BRAKE_2_I = 1 { &commands4 = 1201 &commands4 = -2 } } Var 2066, name BRAKE_3_I, Link IOCARD_SW, DEVICE 17, Input 58 // AUTO BRAKE ROTARY SWITCH POSITION 3 { IF &BRAKE_3_I = 1 { &commands4 = 1202 &commands4 = -2 } } Var 2068, name BRAKE_MAX_I, Link IOCARD_SW, DEVICE 17, Input 59 // AUTO BRAKE ROTARY SWITCH POSITION MAX { IF &BRAKE_MAX_I = 1 { &commands4 = 1203 &commands4 = -2 } } // //////////// // MFD // //////////// Var 2070, name MFD_ENG_I, Link IOCARD_SW, DEVICE 17, Input 60 // MFD ENG MOMENTARY SWITCH BUTTON { IF &MFD_ENG_I = 1 { &commands4 = 501 &commands4 = -2 } } Var 2072, name MFD_SYS_I, Link IOCARD_SW, DEVICE 17, Input 61 // MFD SYS MOMENTARY SWITCH BUTTON { IF &MFD_SYS_I = 1 { &commands4 = 502 &commands4 = -2 } } Var 2073, name commands4, Link IOCP, Offset 1000 // Send commands // ////////////////////////// // NOSE WHEEL // ////////////////////////// Var 2078, name NOSEWHEEL_I, Link IOCARD_SW, DEVICE 17, Input 66 // NOSE WHEEL SWITCH // { // IF &NOSEWHEEL_I = 1 // { // &commands4 = // &commands4 = -2 // } // } // ////////////////////////// // DU LEFT // ////////////////////////// Var 2080, name DUL_OUTBD_I, Link IOCARD_SW, DEVICE 17, Input 0 // DU LEFT ROTARY SWITCH POSITION "MAIN OUTBD PFD" { IF &DUL_OUTBD_I = 1 { &commands4 = 723 &commands4 = -2 } } Var 2082, name DUL_MAINNORM_I, Link IOCARD_SW, DEVICE 17, Input 1 // DU LEFT ROTARY SWITCH POSITION "MAIN NORM" { IF &DUL_MAINNORM_I = 1 { &commands4 = 724 &commands4 = -2 } } Var 2084, name DUL_MAINENG_I, Link IOCARD_SW, DEVICE 17, Input 2 // DU LEFT ROTARY SWITCH POSITION "MAIN ENG PRI" { IF &DUL_MAINENG_I = 1 { &commands4 = 725 &commands4 = -2 } } Var 2086, name DUL_MAINPFD_I, Link IOCARD_SW, DEVICE 17, Input 3 // DU LEFT ROTARY SWITCH POSITION "MAIN PFD" { IF &DUL_MAINPFD_I = 1 { &commands4 = 726 &commands4 = -2 } } Var 2088, name DUL_MAINMFD_I, Link IOCARD_SW, DEVICE 17, Input 4 // DU LEFT ROTARY SWITCH POSITION "MAIN MFD" { IF &DUL_MAINMFD_I = 1 { &commands4 = 727 &commands4 = -2 } } Var 2090, name DUL_LOWENG_I, Link IOCARD_SW, DEVICE 17, Input 5 // DU LEFT ROTARY SWITCH POSITION "LOWER ENG PRI" { IF &DUL_LOWENG_I = 1 { &commands4 = 739 &commands4 = -2 } } Var 2092, name DUL_LOWNORM_I, Link IOCARD_SW, DEVICE 17, Input 6 // DU LEFT ROTARY SWITCH POSITION "LOWER NORM" { IF &DUL_LOWNORM_I = 1 { &commands4 = 738 &commands4 = -2 } } Var 2094, name DUL_LOWND_I, Link IOCARD_SW, DEVICE 17, Input 7 // DU LEFT ROTARY SWITCH POSITION "LOWER ND" { IF &DUL_LOWND_I = 1 { &commands4 = 737 &commands4 = -2 } } // //////////////////// // DU RIGHT // //////////////////// Var 2096, name DUR_LOWND_I, Link IOCARD_SW, DEVICE 17, Input 9 // DU RIGHT ROTARY SWITCH POSITION "LOWER ND" { IF &DUR_LOWND_I = 1 { &commands4 = 737 &commands4 = -2 } } Var 2098, name DUR_LOWNORM_I, Link IOCARD_SW, DEVICE 17, Input 10 // DU RIGHT ROTARY SWITCH POSITION "LOWER NORM" { IF &DUR_LOWNORM_I = 1 { &commands4 = 738 &commands4 = -2 } } Var 2100, name DUR_LOWENG_I, Link IOCARD_SW, DEVICE 17, Input 11 // DU RIGHT ROTARY SWITCH POSITION "LOWER ENG PRI" { IF &DUR_LOWENG_I = 1 { &commands4 = 739 &commands4 = -2 } } // //////////////////////////// // The right lower du knob is connected to left knob because ifly2fsuipc and iocp_if737 have not the offsets // //////////////////////////// Var 2102, name DUR_MAINMFD_I, Link IOCARD_SW, DEVICE 17, Input 12 // DU RIGHT ROTARY SWITCH POSITION "MAIN MFD" { IF &DUR_MAINMFD_I = 1 { &commands4 = 730 &commands4 = -2 } } Var 2104, name DUR_MAINPFD_I, Link IOCARD_SW, DEVICE 17, Input 13 // DU RIGHT ROTARY SWITCH POSITION "MAIN PFD" { IF &DUR_MAINPFD_I = 1 { &commands4 = 731 &commands4 = -2 } } Var 2106, name DUR_MAINENG_I, Link IOCARD_SW, DEVICE 17, Input 14 // DU RIGHT ROTARY SWITCH POSITION "MAIN ENG PRI" { IF &DUR_MAINENG_I = 1 { &commands4 = 732 &commands4 = -2 } } Var 2108, name DUR_MAINNORM_I, Link IOCARD_SW, DEVICE 17, Input 15 // DU RIGHT ROTARY SWITCH POSITION "NORM" { IF &DUR_MAINNORM_I = 1 { &commands4 = 733 &commands4 = -2 } } Var 2110, name DUR_OUTBD_I, Link IOCARD_SW, DEVICE 17, Input 16 // DU RIGHT ROTARY SWITCH POSITION "OUTBD PFD" { IF &DUR_OUTBD_I = 1 { &commands4 = 734 &commands4 = -2 } } // ////////////////////////////////////// // AFDS LEFT INPUTS // ////////////////////////////////////// Var 2112, name AFDSAP_L_I, Link IOCARD_SW, DEVICE 17, Input 18 // AFDS LEFT SWITCH "AP/P/RST" { IF &AFDSAP_L_I = 1 { &commands4 = 235 &commands4 = -2 } } Var 2114, name AFDSAT_L_I, Link IOCARD_SW, DEVICE 17, Input 19 // AFDS LEFT SWITCH "AT/P/RST" { IF &AFDSAT_L_I = 1 { &commands4 = 236 &commands4 = -2 } } Var 2116, name AFDSFMC_L_I, Link IOCARD_SW, DEVICE 17, Input 20 // AFDS LEFT SWITCH "FMC/P/RST" { IF &AFDSFMC_L_I = 1 { &commands4 = 830 &commands4 = -2 } } Var 2120, name AFDST1_L_I, Link IOCARD_SW, DEVICE 17, Input 21 // AFDS LEFT SWITCH "TEST 1" { IF &AFDST1_L_I = 1 { &commands4 = 237 &commands4 = -2 } } Var 2122, name AFDST2_L_I, Link IOCARD_SW, DEVICE 17, Input 22 // AFDS LEFT SWITCH "TEST 2" { IF &AFDST2_L_I = 1 { &commands4 = 238 &commands4 = -2 } } // ////////////////////////////////////// // AFDS RIGHT INPUTS // ////////////////////////////////////// Var 2124, name AFDSAP_R_I, Link IOCARD_SW, DEVICE 17, Input 27 // AFDS RIGHT SWITCH "AP/P/RST" { IF &AFDSAP_R_I = 1 { &commands4 = 235 &commands4 = -2 } } Var 2126, name AFDSAT_R_I, Link IOCARD_SW, DEVICE 17, Input 28 // AFDS RIGHT SWITCH "AT/P/RST" { IF &AFDSAT_R_I = 1 { &commands4 = 236 &commands4 = -2 } } Var 2128, name AFDSFMC_R_I, Link IOCARD_SW, DEVICE 17, Input 29 // AFDS RIGHT SWITCH "FMC/P/RST" { IF &AFDSFMC_R_I = 1 { &commands4 = 830 &commands4 = -2 } } Var 2130, name AFDST1_R_I, Link IOCARD_SW, DEVICE 17, Input 30 // AFDS RIGHT SWITCH "TEST 1" { IF &AFDST1_R_I = 1 { &commands4 = 237 &commands4 = -2 } } Var 2132, name AFDST2_R_I, Link IOCARD_SW, DEVICE 17, Input 31 // AFDS RIGHT SWITCH "TEST 2" { IF &AFDST2_R_I = 1 { &commands4 = 238 &commands4 = -2 } } // ////////////////////////////////////// // FIRE WARNINGS INPUTS // ////////////////////////////////////// Var 2134, name FIREW_L_I, Link IOCARD_SW, DEVICE 17, Input 63 // LEFT FIRE WARNING MOMENTARY SWITCH { IF &FIREW_L_I = 1 { &commands4 = 564 &commands4 = -2 } } Var 2136, name FIREW_R_I, Link IOCARD_SW, DEVICE 17, Input 23 // RIGHT FIRE WARNING MOMENTARY SWITCH { IF &FIREW_R_I = 1 { &commands4 = 564 &commands4 = -2 } } // ////////////////////////////////////// // MASTER CAUTIONS INPUTS // ////////////////////////////////////// Var 2138, name MASTERC_L_I, Link IOCARD_SW, DEVICE 17, Input 64 // LEFT MASTER CAUTION MOMENTARY SWITCH { IF &MASTERC_L_I = 1 { &commands4 = 1179 &commands4 = -2 } } Var 2140, name MASTERC_R_I, Link IOCARD_SW, DEVICE 17, Input 17 // RIGHT MASTER CAUTION MOMENTARY SWITCH { IF &MASTERC_R_I = 1 { &commands4 = 1179 &commands4 = -2 } } // ////////////////////////////////////// // SIXPACKS INPUTS // ////////////////////////////////////// Var 2142, name SIXPACK_L_I, Link IOCARD_SW, DEVICE 17, Input 65 // LEFT SIXPACK MOMENTARY SWITCH { IF &SIXPACK_L_I = 1 { &commands4 = 1180 &commands4 = -2 } } Var 2144, name SIXPACK_R_I, Link IOCARD_SW, DEVICE 17, Input 8 // RIGHT SIXPACK MOMENTARY SWITCH { IF &SIXPACK_R_I = 1 { &commands4 = 1180 &commands4 = -2 } } // ////////////////////////////////////// // LIGHTS TEST // ////////////////////////////////////// Var 2146, name MIPDIMTEST_I, Link IOCARD_SW, DEVICE 17, Input 67 // MIP LIGHTS TEST MOMENTARY SWITCH POSITION "DIM" { IF &MIPDIMTEST_I = 1 { IF &MIPTESTTEST_I = 0 { &commands4 = 1244 &commands4 = -2 } } ELSE { IF &MIPTESTTEST_I = 0 { &commands4 = 1243 &commands4 = -2 } } } Var 2148, name MIPTESTTEST_I, Link IOCARD_SW, DEVICE 17, Input 68 // MIP LIGHTS TEST MOMENTARY SWITCH POSITION "TEST" { IF &MIPTESTTEST_I = 1 { IF &MIPDIMTEST_I = 0 { &commands4 = 1242 &commands4 = -2 } } ELSE { IF &MIPDIMTEST_I = 0 { &commands4 = 1243 &commands4 = -2 } } } // ////////////////////////////////////// // LANDING GEAR INPUTS // ////////////////////////////////////// Var 2150, name GEARL_UP_I, Link IOCARD_SW, DEVICE 17, Input 69 // LANDING GEAR SWITCH "UP" POSITION { IF &GEARL_UP_I = 1 { IF &GEARL_DW_I = 0 { &commands4 = 1171 &commands4 = -2 } } ELSE { IF &GEARL_DW_I = 0 { &commands4 = 1172 &commands4 = -2 } } } Var 2152, name GEARL_DW_I, Link IOCARD_SW, DEVICE 17, Input 70 // LANDING GEAR SWITCH "DW" POSITION { IF &GEARL_DW_I = 1 { IF &GEARL_UP_I = 0 { &commands4 = 1173 &commands4 = -2 } } ELSE { IF &GEARL_UP_I = 0 { &commands4 = 1172 &commands4 = -2 } } } // ////////////////////// // GROUND PROXIMITY // ////////////////////// Var 2154, name GRDPROXSYST_I, Link IOCARD_SW, DEVICE 17, Input 32 // GROUND PROXIMITY SYS TEST SWITCH { IF &GRDPROXSYST_I = 1 { &commands4 = 1191 &commands4 = -2 } } Var 2156, name GRDPROXFLAP_I, Link IOCARD_SW, DEVICE 17, Input 33 // GROUND PROXIMITY FLAP INHIBIT SWITCH { IF &GRDPROXFLAP_I = 1 { &commands4 = 1183 &commands4 = -2 } ELSE { &commands4 = 1184 &commands4 = -2 } } Var 2158, name GRDPROXGEAR_I, Link IOCARD_SW, DEVICE 17, Input 34 // GROUND PROXIMITY GEAR INHIBIT SWITCH { IF &GRDPROXGEAR_I = 1 { &commands4 = 1186 &commands4 = -2 } ELSE { &commands4 = 1187 &commands4 = -2 } } Var 2160, name GRDPROXTERR_I, Link IOCARD_SW, DEVICE 17, Input 35 // GROUND PROXIMITY TERR INHIBIT SWITCH { IF &GRDPROXTERR_I = 1 { &commands4 = 1189 &commands4 = -2 } ELSE { &commands4 = 1190 &commands4 = -2 } } // ////////////////////////////////////// // FREE INPUTS OF MIP IOCARD // ////////////////////////////////////// Var 2162, name FREE_1_I, Link IOCARD_SW, DEVICE 17, Input 24 // FREE INPUT Var 2164, name FREE_2_I, Link IOCARD_SW, DEVICE 17, Input 25 // FREE INPUT Var 2166, name FREE_3_I, Link IOCARD_SW, DEVICE 17, Input 26 // FREE INPUT Var 2168, name FREE_4_I, Link IOCARD_SW, DEVICE 17, Input 44 // FREE INPUT Var 2170, name FREE_5_I, Link IOCARD_SW, DEVICE 17, Input 62 // FREE INPUT Var 2172, name FREE_6_I, Link IOCARD_SW, DEVICE 17, Input 71 // FREE INPUT Var 2174 Var 2176 Var 2178 // ////////////////////////////////////// // //////////////OUTPUTS///////////////// // ////////////////////////////////////// // ////////////////////////////////////// // AFDS LEFT OUTPUTS // ////////////////////////////////////// Var 2180, name AFDSAPG_L_O, Link IOCARD_OUT, DEVICE 17, Output 11 // AFDS LEFT GREEN AP/P/RST LED Var 2182, name AFDSAPR_L_O, Link IOCARD_OUT, DEVICE 17, Output 12 // AFDS LEFT "RED AP/P/RST LED" Var 2184, name AFDSATG_L_O, Link IOCARD_OUT, DEVICE 17, Output 13 // AFDS LEFT "GREEN AT/P/RST LED" Var 2186, name AFDSATR_L_O, Link IOCARD_OUT, DEVICE 17, Output 14 // AFDS LEFT "RED AT/P/RST LED" Var 2188, name AFDSFMCG_L_O, Link IOCARD_OUT, DEVICE 17, Output 15 // AFDS LEFT "GREEN FMC/P/RST LED" // ////////////////////////////////////// // AFDS RIGHT OUTPUTS // ////////////////////////////////////// Var 2190, name AFDSAPG_R_O, Link IOCARD_OUT, DEVICE 17, Output 16 // AFDS RIGHT "GREEN AP/P/RST LED" Var 2192, name AFDSAPR_R_O, Link IOCARD_OUT, DEVICE 17, Output 17 // AFDS RIGHT "RED AP/P/RST LED" Var 2194, name AFDSATG_R_O, Link IOCARD_OUT, DEVICE 17, Output 18 // AFDS RIGHT "GREEN AT/P/RST LED" Var 2196, name AFDSATR_R_O, Link IOCARD_OUT, DEVICE 17, Output 19 // AFDS RIGHT "RED AT/P/RST LED" Var 2198, name AFDSFMCG_R_O, Link IOCARD_OUT, DEVICE 17, Output 20 // AFDS RIGHT "GREEN FMC/P/RST LED" Var 2200, name AFDS_APLEDS_O, Link IOCP, Offset 55 { &AFDSAPG_L_O = TESTBIT &AFDS_APLEDS_O, 0 // AP AMBER/GREEN LEFT INDICATOR LIGHT &AFDSAPG_R_O = TESTBIT &AFDS_APLEDS_O, 0 // AP AMBER/GREEN RIGHT INDICATOR LIGHT &AFDSAPR_L_O = TESTBIT &AFDS_APLEDS_O, 1 // AP RED LEFT INDICATOR LIGHT &AFDSAPR_R_O = TESTBIT &AFDS_APLEDS_O, 1 // AP RED RIGHT INDICATOR LIGHT } Var 2202, name AFDS_ATLEDS_O, Link IOCP, Offset 56 { &AFDSATG_L_O = TESTBIT &AFDS_ATLEDS_O, 0 // AT AMBER/GREEN LEFT INDICATOR LIGHT &AFDSATG_R_O = TESTBIT &AFDS_ATLEDS_O, 0 // AT AMBER/GREEN RIGHT INDICATOR LIGHT &AFDSATR_L_O = TESTBIT &AFDS_ATLEDS_O, 1 // AT RED LEFT INDICATOR LIGHT &AFDSATR_R_O = TESTBIT &AFDS_ATLEDS_O, 1 // AT RED RIGHT INDICATOR LIGHT } Var 2203, name AFDS_FMC_O, Link IOCP, Offset 58 { &AFDSFMCG_L_O = &AFDS_FMC_O &AFDSFMCG_R_O = &AFDS_FMC_O } // ////////////////////////////////////// // FIRE WARNINGS OUTPUTS // ////////////////////////////////////// Var 2204, name FIREW_L_O, Link IOCARD_OUT, DEVICE 17, Output 25 // LEFT FIRE WARNING INDICATOR Var 2206, name FIREW_R_O, Link IOCARD_OUT, DEVICE 17, Output 50 // RIGHT FIRE WARNING INDICATOR Var 2208, name FIREW_LEDS_O, Link IOCP, Offset 801 { &FIREW_L_O = &FIREW_LEDS_O &FIREW_R_O = &FIREW_LEDS_O } // ////////////////////////////////////// // MASTER CAUTIONS OUTPUTS // ////////////////////////////////////// Var 2210, name MASTERC_L_O, Link IOCARD_OUT, DEVICE 17, Output 26 // LEFT MASTER CAUTION INDICATOR Var 2212, name MASTERC_R_O, Link IOCARD_OUT, DEVICE 17, Output 49 // RIGHT MASTER CAUTION INDICATOR Var 2214, name MASTERC_LEDS_O, Link IOCP, Offset 802 { &MASTERC_L_O = &MASTERC_LEDS_O &MASTERC_R_O = &MASTERC_LEDS_O } // ////////////////////////////////////// // SIXPACKS OUTPUTS // ////////////////////////////////////// // LEFT Var 2216, name SIXPFLT_L_O, Link IOCARD_OUT, DEVICE 17, Output 27 // LEFT SIXPACK FLT CONT INDICATOR Var 2218, name SIXPELE_L_O, Link IOCARD_OUT, DEVICE 17, Output 28 // LEFT SIXPACK ELEC INDICATOR Var 2220, name SIXPIRS_L_O, Link IOCARD_OUT, DEVICE 17, Output 29 // LEFT SIXPACK IRS INDICATOR Var 2222, name SIXPAPU_L_O, Link IOCARD_OUT, DEVICE 17, Output 30 // LEFT SIXPACK APU INDICATOR Var 2224, name SIXPFUEL_L_O, Link IOCARD_OUT, DEVICE 17, Output 31 // LEFT SIXPACK FUEL INDICATOR Var 2226, name SIXPOVHT_L_O, Link IOCARD_OUT, DEVICE 17, Output 32 // LEFT SIXPACK OVHT/DET INDICATOR Var 2228, name SIXP_FLT_O, Link IOCP, Offset 803 // LEFT SIXPACK FLT CONT INDICATOR OFFSET { &SIXPFLT_L_O = &SIXP_FLT_O } Var 2230, name SIXP_ELE_L_O, Link IOCP, Offset 806 // LEFT SIXPACK ELEC INDICATOR OFFSET { &SIXPELE_L_O = &SIXP_ELE_L_O } Var 2232, name SIXP_IRS_L_O, Link IOCP, Offset 804 // LEFT SIXPACK IRS INDICATOR OFFSET { &SIXPIRS_L_O = &SIXP_IRS_L_O } Var 2234, name SIXP_APU_L_O, Link IOCP, Offset 807 // LEFT SIXPACK APU INDICATOR OFFSET { &SIXPAPU_L_O = &SIXP_APU_L_O } Var 2236, name SIXP_FUEL_L_O, Link IOCP, Offset 805 // LEFT SIXPACK FUEL INDICATOR OFFSET { &SIXPFUEL_L_O = &SIXP_FUEL_L_O } Var 2238, name SIXP_OVHT_L_O, Link IOCP, Offset 808 // LEFT SIXPACK OVHT/DET INDICATOR OFFSET { &SIXPOVHT_L_O = &SIXP_OVHT_L_O } // RIGHT Var 2240, name SIXPICE_R_O, Link IOCARD_OUT, DEVICE 17, Output 43 // RIGHT SIXPACK ANTI-ICE INDICATOR Var 2242, name SIXPENG_R_O, Link IOCARD_OUT, DEVICE 17, Output 44 // RIGHT SIXPACK ENG INDICATOR Var 2244, name SIXPHYD_R_O, Link IOCARD_OUT, DEVICE 17, Output 45 // RIGHT SIXPACK HYD INDICATOR Var 2246, name SIXPOVE_R_O, Link IOCARD_OUT, DEVICE 17, Output 46 // RIGHT SIXPACK OVERHEAD INDICATOR Var 2248, name SIXPDOO_R_O, Link IOCARD_OUT, DEVICE 17, Output 47 // RIGHT SIXPACK DOORS INDICATOR Var 2250, name SIXPAIR_R_O, Link IOCARD_OUT, DEVICE 17, Output 48 // RIGHT SIXPACK AIR COND INDICATOR Var 2252, name SIXP_ICE_R_O, Link IOCP, Offset 809 // RIGHT LEFT SIXPACK ANTI-ICE INDICATOR OFFSET { &SIXPICE_R_O = &SIXP_ICE_R_O } Var 2254, name SIXP_ENG_R_O, Link IOCP, Offset 812 // RIGHT SIXPACK ENG INDICATOR OFFSET { &SIXPENG_R_O = &SIXP_ENG_R_O } Var 2256, name SIXP_HYD_R_O, Link IOCP, Offset 810 // RIGHT SIXPACK HYD INDICATOR OFFSET { &SIXPHYD_R_O = &SIXP_HYD_R_O } Var 2258, name SIXP_OVE_R_O, Link IOCP, Offset 813 // RIGHT SIXPACK OVERHEAD INDICATOR OFFSET { &SIXPOVE_R_O = &SIXP_OVE_R_O } Var 2260, name SIXP_DOO_R_O, Link IOCP, Offset 811 // RIGHT SIXPACK DOORS INDICATOR OFFSET { &SIXPDOO_R_O = &SIXP_DOO_R_O } Var 2262, name SIXP_AIR_R_O, Link IOCP, Offset 814 // RIGHT SIXPACK AIR COND INDICATOR OFFSET { &SIXPAIR_R_O = &SIXP_AIR_R_O } // ////////////////////////////////////// // MISCELLANIOUS INDICATORS // ////////////////////////////////////// Var 2264, name BELOW_L_O, Link IOCARD_OUT, DEVICE 17, Output 33 // LEFT BELOW G/S P-INHIBIT INDICATOR Var 2266, name BELOW_R_O, Link IOCARD_OUT, DEVICE 17, Output 52 // RIGHT BELOW G/S P-INHIBIT INDICATOR Var 2268, name SPDBKARM_O, Link IOCARD_OUT, DEVICE 17, Output 34 // SPEED BRAKE ARMED INDICATOR Var 2270, name SPDBKNARM_O, Link IOCARD_OUT, DEVICE 17, Output 35 // SPEED BRAKE DO NOT ARM INDICATOR Var 2272, name STABOUT_O, Link IOCARD_OUT, DEVICE 17, Output 36 // STAB OUT OF TRIM KORRY INDICATOR Var 2274, name NOSEG_UP_O, Link IOCARD_OUT, DEVICE 17, Output 37 // NOSE GEAR UP INDICATOR Var 2276, name NOSEG_DW_O, Link IOCARD_OUT, DEVICE 17, Output 38 // NOSE GEAR DW INDICATOR Var 2278, name LEFTG_UP_O, Link IOCARD_OUT, DEVICE 17, Output 39 // LEFT GEAR UP INDICATOR Var 2280, name RIGHTG_UP_O, Link IOCARD_OUT, DEVICE 17, Output 40 // RIGHT GEAR UP INDICATOR Var 2282, name LEFTG_DW_O, Link IOCARD_OUT, DEVICE 17, Output 41 // LEFT GEAR DW INDICATOR Var 2284, name RIGHTG_DW_O, Link IOCARD_OUT, DEVICE 17, Output 42 // RIGHT GEAR DW INDICATOR Var 2286, name GPWS_INOP_O, Link IOCARD_OUT, DEVICE 17, Output 53 // GPWS INOP INDICATOR Var 2288, name SPDBKEXT_O, Link IOCARD_OUT, DEVICE 17, Output 51 // SPEED BRAKE EXTENDED Var 2290, name BELOW_O, Link IOCP, Offset 819 // BELOW G/S P-INHIBIT INDICATORS OFFSET { &BELOW_L_O = &BELOW_O &BELOW_R_O = &BELOW_O } Var 2292, name SPDBKARMO_O, Link IOCP, Offset 485 // SPEED BRAKE ARMED INDICATOR { &SPDBKARM_O = &SPDBKARMO_O } Var 2294, name SPDBKNARMO_O, Link IOCP, Offset 486 // SPEED BRAKE DO NOT ARM INDICATOR { &SPDBKNARM_O = &SPDBKNARMO_O } Var 2296, name STABOUTO_O, Link IOCP, Offset 477 // STAB OUT OF TRIM KORRY INDICATOR { &STABOUT_O = &STABOUTO_O } Var 2298, name NOSEG_UPO_O, Link IOCP, Offset 788 // NOSE GEAR UP INDICATOR { &NOSEG_UP_O = &NOSEG_UPO_O } Var 2300, name NOSEG_DWO_O, Link IOCP, Offset 789 // NOSE GEAR DW INDICATOR { &NOSEG_DW_O = &NOSEG_DWO_O } Var 2302, name LEFTG_UPO_O, Link IOCP, Offset 790 // LEFT GEAR UP INDICATOR { &LEFTG_UP_O = &LEFTG_UPO_O } Var 2304, name RIGHTG_UPO_O, Link IOCP, Offset 792 // RIGHT GEAR UP INDICATOR { &RIGHTG_UP_O = &RIGHTG_UPO_O } Var 2306, name LEFTG_DWO_O, Link IOCP, Offset 791 // LEFT GEAR DW INDICATOR { &LEFTG_DW_O = &LEFTG_DWO_O } Var 2308, name RIGHTG_DWO_O, Link IOCP, Offset 793 // RIGHT GEAR DW INDICATOR { &RIGHTG_DW_O = &RIGHTG_DWO_O } Var 2310, name GPWSINOP_O, Link IOCP, Offset 824 // GPWS INOP INDICATOR { &GPWS_INOP_O = &GPWSINOP_O } Var 2312, name SPDBKEX_O, Link IOCP, Offset 487 // SPEED BRAKE EXTENDED INDICATOR { &SPDBKEXT_O = &SPDBKEX_O } // ////////////////////////////////////// // FREE OUTPUTS // ////////////////////////////////////// Var 2314, name FREE_1_O, Link IOCARD_OUT, DEVICE 17, Output 54 // FREE OUTPUT Var 2316, name FREE_2_O, Link IOCARD_OUT, DEVICE 17, Output 55 // FREE OUTPUT // ////////////////////////// // GAUGES SERVOS // ////////////////////////// Var 2318, name SERVO_YAW, Link USB_SERVOS, Device 18, Output 1, PosL 185, PosC 400, PosR 675, Type 1 // YAW DAMPER GAUGE. Var 2320, name SERVO_FLAPL, Link USB_SERVOS, Device 18, Output 2, PosL 200, PosC 630, PosR 1023, Type 1 // LEFT NEEDLE SERVO OF FLAPS GAUGE. Var 2322, name SERVO_FLAPR, Link USB_SERVOS, Device 18, Output 3, PosL 170, PosC 600, PosR 1023, Type 1 // RIGHT NEEDLE SERVO OF FLAPS GAUGE. Var 2324, name SERVO_BRAKE, Link USB_SERVOS, Device 18, Output 4, PosL 200, PosC 600, PosR 972, Type 1 // BRAKE PRESS GAUGE SERVO.