/// <summary> /// 刷新状态 /// </summary> public void Refresh_IO(object sender, ElapsedEventArgs e) { //读取通用输出的值 Gts_Return = MC.GT_GetDo(12, out Exo_16bit); //读取通用输入的值 Gts_Return = MC.GT_GetDi(4, out Exi_16bit); //读取Axis01状态 Gts_Return = MC.GT_GetSts(1, out Axis01_Sta, 1, out Axis01_Clk); //读取Axis02状态 Gts_Return = MC.GT_GetSts(2, out Axis02_Sta, 1, out Axis02_Clk); //读取Axis_Home_Sta状态 Gts_Return = MC.GT_GetDi(3, out Axis_Home_Sta); //读取Axis_Posed_Sta状态 Gts_Return = MC.GT_GetDi(5, out Axis_Posed_Sta); //读取Axis_Clear_Sta状态 Gts_Return = MC.GT_GetDo(11, out Axis_Clear_Sta); //读取规划位置 Gts_Return = MC.GT_GetPrfPos(1, out Axis01_prfPos, 1, out Axis01_Clk); Gts_Return = MC.GT_GetPrfPos(2, out Axis02_prfPos, 1, out Axis02_Clk); //读取实际位置 Gts_Return = MC.GT_GetAxisEncPos(1, out Axis01_encPos, 1, out Axis01_Clk); Gts_Return = MC.GT_GetAxisEncPos(2, out Axis02_encPos, 1, out Axis02_Clk); //读取当前速度 Gts_Return = MC.GT_GetVel(1, out Axis01_vel); Gts_Return = MC.GT_GetVel(2, out Axis02_vel); //读取当前加减速 Gts_Return = MC.GT_GetAxisPrfAcc(1, out Axis01_acc, 1, out Axis01_Clk); Gts_Return = MC.GT_GetAxisPrfAcc(1, out Axis01_dcc, 1, out Axis01_Clk); Gts_Return = MC.GT_GetAxisPrfAcc(2, out Axis02_acc, 1, out Axis02_Clk); Gts_Return = MC.GT_GetAxisPrfAcc(2, out Axis02_dcc, 1, out Axis02_Clk); //读取轴运动模式 Gts_Return = MC.GT_GetPrfMode(1, out Axis01_mode, 1, out Axis01_Clk); Gts_Return = MC.GT_GetPrfMode(2, out Axis02_mode, 1, out Axis02_Clk); //刷新数值至相应的IO //刷新EXI EXI1 = (Exi_16bit & (1 << 1)) == 0; // 急停开关 EXI2 = (Exi_16bit & (1 << 2)) == 0; // 除尘气缸伸出传感器 EXI3 = (Exi_16bit & (1 << 3)) == 0; // 除尘气缸退回传感器 EXI4 = (Exi_16bit & (1 << 4)) == 0; // 左门禁传感器 EXI5 = (Exi_16bit & (1 << 5)) == 0; // 右门禁传感器 EXI6 = (Exi_16bit & (1 << 6)) == 0; // 启动按钮1 EXI7 = (Exi_16bit & (1 << 7)) == 0; // 启动按钮1 EXI8 = (Exi_16bit & (1 << 8)) == 0; // 真空压力达标 EXI9 = (Exi_16bit & (1 << 9)) == 0; // 安全传感器 //刷新急停按钮状态 if (EXI1 || SoftEMG)//按下,急停触发 { EMGButton.Variable = 1; } else//抬起,急停解除 { EMGButton.Variable = 0; } //输出按钮灯 if (EXI6) { Button1_Lamp = 1; } else { Button1_Lamp = 0; }; if (EXI7) { Button2_Lamp = 1; } else { Button2_Lamp = 0; }; //刷新门传感器滤波函数值 DoorSensorCheck.Variable = (EXI4 && EXI5) ? 1 : 0; //刷新安全传感器 SafeSensorCheck.Variable = EXI9 ? 1 : 0; //输出照明灯 //if ((!EXI4) || (!EXI5)) { Lamp_control = 1; } else { Lamp_control = 0; }; //刷新EXO EXO1 = (Exo_16bit & (1 << 1)) == 0; // 三色灯塔黄 EXO2 = (Exo_16bit & (1 << 2)) == 0; // 三色灯塔绿 EXO3 = (Exo_16bit & (1 << 3)) == 0; // 三色灯塔红 EXO4 = (Exo_16bit & (1 << 4)) == 0; // 蜂鸣器 EXO5 = (Exo_16bit & (1 << 5)) == 0; // 除尘气缸伸出 EXO6 = (Exo_16bit & (1 << 6)) == 0; // 除尘气缸退回 EXO7 = (Exo_16bit & (1 << 7)) == 0; // 吹气打开 EXO8 = (Exo_16bit & (1 << 8)) == 0; // 照明灯 EXO9 = (Exo_16bit & (1 << 9)) == 0; // 启动按钮1灯 EXO10 = (Exo_16bit & (1 << 10)) == 0; // 启动按钮2灯 EXO11 = (Exo_16bit & (1 << 11)) == 0; // X轴回零触发 EXO12 = (Exo_16bit & (1 << 12)) == 0; // Y轴回零触发 EXO13 = (Exo_16bit & (1 << 13)) == 0; // 红光开 EXO14 = (Exo_16bit & (1 << 14)) == 0; // 门打开 EXO15 = (Exo_16bit & (1 << 15)) == 0; // 门关闭 //刷新Axis01 状态 Axis01_Limit_Up = (Axis01_Sta & (1 << 5)) != 0; // Axis01轴正限位 Axis01_Limit_Down = (Axis01_Sta & (1 << 6)) != 0; // Axis01轴负限位 Axis01_Home = (Axis_Home_Sta & 0x01) != 0; // Axis01轴原点 Axis01_Alarm = (Axis01_Sta & (1 << 1)) != 0; // Axis01轴报警 Axis01_Alarm_Cl = (Axis_Clear_Sta & 0x01) == 0; //Axis01轴报警清除 Axis01_MC_Err = (Axis01_Sta & (1 << 4)) != 0; // Axis01轴板卡报警(跟随误差越限) Axis01_EN = (Axis01_Sta & (1 << 9)) != 0; // Axis01轴使能 Axis01_Busy = (Axis01_Sta & (1 << 10)) != 0; // Axis01轴输出中 Axis01_IO_Stop = (Axis01_Sta & (1 << 7)) != 0; // Axis01轴IO停止 Axis01_IO_EMG = (Axis01_Sta & (1 << 8)) != 0; // Axis01轴IO急停 Axis01_Motor_Posed = (Axis_Posed_Sta & 0x01) != 0; // Axis01轴 电机到位 Axis01_Upper_Posed = (Axis01_Sta & (1 << 11)) != 0; // Axis01轴 上位机到位 //刷新Axis02 状态 Axis02_Limit_Up = (Axis02_Sta & (1 << 5)) != 0; // Axis02轴正限位 Axis02_Limit_Down = (Axis02_Sta & (1 << 6)) != 0; // Axis02轴负限位 Axis02_Home = (Axis_Home_Sta & (1 << 1)) != 0; // Axis02轴原点 Axis02_Alarm = (Axis02_Sta & (1 << 1)) != 0; // Axis02轴报警 Axis02_Alarm_Cl = (Axis_Clear_Sta & (1 << 1)) == 0; //Axis02轴报警清除 Axis02_MC_Err = (Axis02_Sta & (1 << 4)) != 0; // Axis02轴板卡报警(跟随误差越限) Axis02_EN = (Axis02_Sta & (1 << 9)) != 0; // Axis02轴使能 Axis02_Busy = (Axis02_Sta & (1 << 10)) != 0; // Axis02轴输出中 Axis02_IO_Stop = (Axis02_Sta & (1 << 7)) != 0; // Axis02轴IO停止 Axis02_IO_EMG = (Axis02_Sta & (1 << 8)) != 0; // Axis02轴IO急停 Axis02_Motor_Posed = (Axis_Posed_Sta & (1 << 1)) != 0;; // Axis02轴 电机到位 Axis02_Upper_Posed = (Axis02_Sta & (1 << 11)) != 0; // Axis02轴 上位机到位 //轴故障 Axis01_Err_Occur = Axis01_Limit_Up || Axis01_Limit_Down || Axis01_Alarm || Axis01_MC_Err || Axis01_IO_EMG; Axis02_Err_Occur = Axis02_Limit_Up || Axis02_Limit_Down || Axis02_Alarm || Axis02_MC_Err || Axis02_IO_EMG; //刷新轴原点状态 Gts_Home_Flag = !Axis01_Err_Occur && Axis01_Home && Program.SystemContainer.GTS_Fun.Axis01_Homed && !Axis02_Err_Occur && Axis02_Home && Program.SystemContainer.GTS_Fun.Axis02_Homed;//任意(轴限位、报警、使能关闭、急停),致使原点标志丢失 //轴1 if (Axis01_Err_Occur && Program.SystemContainer.GTS_Fun.Axis01_Homed)//轴故障发生,同时轴已经回零 { Axis01_Homed_Status.Variable = 1; } else { Axis01_Homed_Status.Variable = 0; } //轴2 if (Axis02_Err_Occur && Program.SystemContainer.GTS_Fun.Axis02_Homed)//轴故障发生,同时轴已经回零 { Axis02_Homed_Status.Variable = 1; } else { Axis02_Homed_Status.Variable = 0; } //全局报警 GlobalAlarm = Axis01_Err_Occur || Axis02_Err_Occur; //全局警告报警处理 if (GlobalAlarm || GlobalWarning) { Yellow_lamp = 0; //黄色 Green_lamp = 0; //绿色 Red_lamp = 1; //红色 Beeze_Control = 1; } else { if (GlobalRunnig) { Yellow_lamp = 0; //黄色 Green_lamp = 1; //绿色 Red_lamp = 0; //红色 } else { Yellow_lamp = 1; //黄色 Green_lamp = 0; //绿色 Red_lamp = 0; //红色 } Beeze_Control = 0; } //输出控制 0-输出,1-关闭输出 //Cyc_control, Blow_control, Lamp_control;//定义气缸、吹气、照明控制字 //Yellow_lamp,Green_lamp,Red_lamp,Beeze_Control,Button1_Lamp, Button2_Lamp;//定义灯塔黄、灯塔绿、灯塔红、蜂鸣控制字 //灯塔黄控制 if (Yellow_lamp == 1) { Gts_Return = MC.GT_SetDoBit(12, 2, 0); } else { Gts_Return = MC.GT_SetDoBit(12, 2, 1); } //灯塔绿控制 if (Green_lamp == 1) { Gts_Return = MC.GT_SetDoBit(12, 3, 0); } else { Gts_Return = MC.GT_SetDoBit(12, 3, 1); } //灯塔红控制 if (Red_lamp == 1) { Gts_Return = MC.GT_SetDoBit(12, 4, 0); } else { Gts_Return = MC.GT_SetDoBit(12, 4, 1); } //蜂鸣器控制 if (Beeze_Control == 1) { if (Timer_1s_Flag) { Gts_Return = MC.GT_SetDoBit(12, 5, 0); } else { Gts_Return = MC.GT_SetDoBit(12, 5, 1); } } else { Gts_Return = MC.GT_SetDoBit(12, 5, 1); } //气缸控制 if (Cyc_control == 1)//气缸打开 { Gts_Return = MC.GT_SetDoBit(12, 6, 0); Gts_Return = MC.GT_SetDoBit(12, 7, 1); } else { Gts_Return = MC.GT_SetDoBit(12, 6, 1); Gts_Return = MC.GT_SetDoBit(12, 7, 0); } //吹气控制 if (Blow_control == 1)//吹气打开 { Gts_Return = MC.GT_SetDoBit(12, 8, 0); } else { Gts_Return = MC.GT_SetDoBit(12, 8, 1); } //照明控制 if (Lamp_control == 1)//照明打开 { Gts_Return = MC.GT_SetDoBit(12, 9, 0); } else { Gts_Return = MC.GT_SetDoBit(12, 9, 1); } //Button1_Lamp, Button2_Lamp;//定义启动按钮1灯、启动按钮2灯控制字 //启动按钮1灯 if (Button1_Lamp == 1) { Gts_Return = MC.GT_SetDoBit(12, 10, 0); } else { Gts_Return = MC.GT_SetDoBit(12, 10, 1); } //启动按钮2灯 if (Button2_Lamp == 1) { Gts_Return = MC.GT_SetDoBit(12, 11, 0); } else { Gts_Return = MC.GT_SetDoBit(12, 11, 1); } //轴1回零触发 if (Axis01_Home_Ex0_Control == 1)//轴1回零 { Gts_Return = MC.GT_SetDoBit(12, 12, 0); } else { Gts_Return = MC.GT_SetDoBit(12, 12, 1); } //轴2回零触发 if (Axis02_Home_Ex0_Control == 1)//轴2回零 { Gts_Return = MC.GT_SetDoBit(12, 13, 0); } else { Gts_Return = MC.GT_SetDoBit(12, 13, 1); } //红色激光控制 if (RedLaser_Control == 1) { Gts_Return = MC.GT_SetDoBit(12, 14, 0); } else { Gts_Return = MC.GT_SetDoBit(12, 14, 1); } //门控制 if (Door_Control == 1) { Gts_Return = MC.GT_SetDoBit(12, 15, 0); Gts_Return = MC.GT_SetDoBit(12, 16, 1); } else { Gts_Return = MC.GT_SetDoBit(12, 15, 1); Gts_Return = MC.GT_SetDoBit(12, 16, 0); } //刷新双启按钮状态 if (EXI4 && EXI5 && EXI6 && EXI7 && Gts_Home_Flag) { Start_Button.Variable = 1; } else { Start_Button.Variable = 0; } }
public void Refresh_IO() { //读取通用输出的值 Gts_Return = MC.GT_GetDo(12, out Exo_16bit); Log.Commandhandler("Refresh--MC.GT_GetDo", Gts_Return); //读取通用输入的值 Gts_Return = MC.GT_GetDi(4, out Exi_16bit); Log.Commandhandler("Refresh--MC.GT_GetDi", Gts_Return); //读取Axis01状态 Gts_Return = MC.GT_GetSts(1, out Axis01_Sta, 1, out Axis01_Clk); Log.Commandhandler("Refresh_Axis01--MC.GT_GetSts", Gts_Return); //读取Axis02状态 Gts_Return = MC.GT_GetSts(2, out Axis02_Sta, 1, out Axis02_Clk); Log.Commandhandler("Refresh_Axis02--MC.GT_GetSts", Gts_Return); //读取Axis_Home_Sta状态 Gts_Return = MC.GT_GetDi(3, out Axis_Home_Sta); Log.Commandhandler("Refresh_Axis_Home_Sta--MC.GT_GetDi", Gts_Return); //读取Axis_Posed_Sta状态 Gts_Return = MC.GT_GetDi(5, out Axis_Posed_Sta); Log.Commandhandler("Refresh_Axis_Posed_Sta--MC.GT_GetDi", Gts_Return); //读取Axis_Clear_Sta状态 Gts_Return = MC.GT_GetDo(11, out Axis_Clear_Sta); Log.Commandhandler("Refresh_Axis_Clear_Sta--MC.GT_GetDo", Gts_Return); //读取规划位置 Gts_Return = MC.GT_GetPrfPos(1, out Axis01_prfPos, 1, out Axis01_Clk); Gts_Return = MC.GT_GetPrfPos(2, out Axis02_prfPos, 1, out Axis02_Clk); //读取实际位置 Gts_Return = MC.GT_GetAxisEncPos(1, out Axis01_encPos, 1, out Axis01_Clk); Gts_Return = MC.GT_GetAxisEncPos(2, out Axis02_encPos, 1, out Axis02_Clk); //读取当前速度 Gts_Return = MC.GT_GetVel(1, out Axis01_vel); Gts_Return = MC.GT_GetVel(2, out Axis02_vel); //读取当前加减速 Gts_Return = MC.GT_GetAxisPrfAcc(1, out Axis01_acc, 1, out Axis01_Clk); Gts_Return = MC.GT_GetAxisPrfAcc(1, out Axis01_dcc, 1, out Axis01_Clk); Gts_Return = MC.GT_GetAxisPrfAcc(2, out Axis02_acc, 1, out Axis02_Clk); Gts_Return = MC.GT_GetAxisPrfAcc(2, out Axis02_dcc, 1, out Axis02_Clk); //读取轴运动模式 Gts_Return = MC.GT_GetPrfMode(1, out Axis01_mode, 1, out Axis01_Clk); Gts_Return = MC.GT_GetPrfMode(2, out Axis02_mode, 1, out Axis02_Clk); //刷新数值至相应的IO //刷新EXI EXI1 = (Exi_16bit & (1 << 1)) == 0; // 急停开关 EXI2 = (Exi_16bit & (1 << 2)) == 0; // 除尘气缸伸出传感器 EXI3 = (Exi_16bit & (1 << 3)) == 0; // 除尘气缸退回传感器 EXI4 = (Exi_16bit & (1 << 4)) == 0; // 左门禁传感器 EXI5 = (Exi_16bit & (1 << 5)) == 0; // 右门禁传感器 EXI6 = (Exi_16bit & (1 << 6)) == 0; // 启动按钮1 EXI7 = (Exi_16bit & (1 << 7)) == 0; // 启动按钮1 EXI6 = (Exi_16bit & (1 << 6)) == 0; // 启动按钮1 EXI7 = (Exi_16bit & (1 << 7)) == 0; // 启动按钮1 //输出按钮灯 if (EXI6) { Button1_Lamp = 1; } else { Button1_Lamp = 0; }; if (EXI7) { Button2_Lamp = 1; } else { Button2_Lamp = 0; }; //输出照明灯 //if ((!EXI4) || (!EXI5)) { Lamp_control = 1; } else { Lamp_control = 0; }; //刷新EXO EXO1 = (Exo_16bit & (1 << 1)) == 0; // 三色灯塔黄 EXO2 = (Exo_16bit & (1 << 2)) == 0; // 三色灯塔绿 EXO3 = (Exo_16bit & (1 << 3)) == 0; // 三色灯塔红 EXO4 = (Exo_16bit & (1 << 4)) == 0; // 蜂鸣器 EXO5 = (Exo_16bit & (1 << 5)) == 0; // 除尘气缸伸出 EXO6 = (Exo_16bit & (1 << 6)) == 0; // 除尘气缸退回 EXO7 = (Exo_16bit & (1 << 7)) == 0; // 吹气打开 EXO8 = (Exo_16bit & (1 << 8)) == 0; // 照明灯 EXO9 = (Exo_16bit & (1 << 9)) == 0; // 启动按钮1灯 EXO10 = (Exo_16bit & (1 << 10)) == 0; // 启动按钮2灯 EXO11 = (Exo_16bit & (1 << 11)) == 0; // X轴回零触发 EXO12 = (Exo_16bit & (1 << 12)) == 0; // Y轴回零触发 //刷新Axis01 状态 Axis01_Limit_Up = (Axis01_Sta & (1 << 5)) != 0; // Axis01轴正限位 Axis01_Limit_Down = (Axis01_Sta & (1 << 6)) != 0; // Axis01轴负限位 Axis01_Home = (Axis_Home_Sta & 0x01) != 0; // Axis01轴原点 Axis01_Alarm = (Axis01_Sta & (1 << 1)) != 0; // Axis01轴报警 Axis01_Alarm_Cl = (Axis_Clear_Sta & 0x01) == 0; //Axis01轴报警清除 Axis01_MC_Err = (Axis01_Sta & (1 << 4)) != 0; // Axis01轴板卡报警(跟随误差越限) Axis01_EN = (Axis01_Sta & (1 << 9)) != 0; // Axis01轴使能 Axis01_Busy = (Axis01_Sta & (1 << 10)) != 0; // Axis01轴输出中 Axis01_IO_Stop = (Axis01_Sta & (1 << 7)) != 0; // Axis01轴IO停止 Axis01_IO_EMG = (Axis01_Sta & (1 << 8)) != 0; // Axis01轴IO急停 Axis01_Motor_Posed = (Axis_Posed_Sta & 0x01) != 0; // Axis01轴 电机到位 Axis01_Upper_Posed = (Axis01_Sta & (1 << 11)) != 0; // Axis01轴 上位机到位 //刷新Axis02 状态 Axis02_Limit_Up = (Axis02_Sta & (1 << 5)) != 0; // Axis02轴正限位 Axis02_Limit_Down = (Axis02_Sta & (1 << 6)) != 0; // Axis02轴负限位 Axis02_Home = (Axis_Home_Sta & (1 << 1)) != 0; // Axis02轴原点 Axis02_Alarm = (Axis02_Sta & (1 << 1)) != 0; // Axis02轴报警 Axis02_Alarm_Cl = (Axis_Clear_Sta & (1 << 1)) == 0; //Axis02轴报警清除 Axis02_MC_Err = (Axis02_Sta & (1 << 4)) != 0; // Axis02轴板卡报警(跟随误差越限) Axis02_EN = (Axis02_Sta & (1 << 9)) != 0; // Axis02轴使能 Axis02_Busy = (Axis02_Sta & (1 << 10)) != 0; // Axis02轴输出中 Axis02_IO_Stop = (Axis02_Sta & (1 << 7)) != 0; // Axis02轴IO停止 Axis02_IO_EMG = (Axis02_Sta & (1 << 8)) != 0; // Axis02轴IO急停 Axis02_Motor_Posed = (Axis_Posed_Sta & (1 << 1)) != 0;; // Axis02轴 电机到位 Axis02_Upper_Posed = (Axis02_Sta & (1 << 11)) != 0; // Axis02轴 上位机到位 //刷新轴原点状态 if (Gts_Home_Flag) { Gts_Home_Flag = !(Axis01_Limit_Up || Axis01_Limit_Down || Axis01_Alarm || Axis01_MC_Err || Axis01_IO_EMG || Axis02_Limit_Up || Axis02_Limit_Down || Axis02_Alarm || Axis02_MC_Err || Axis02_IO_EMG || EXI1);//任意(轴限位、报警、使能关闭、急停),致使原点标志丢失 } //轴1回零触发 if (Axis01_Home_Ex0_Control == 1)//轴1回零 { Gts_Return = MC.GT_SetDoBit(12, 12, 0); } else { Gts_Return = MC.GT_SetDoBit(12, 12, 1); } //轴2回零触发 if (Axis02_Home_Ex0_Control == 1)//轴2回零 { Gts_Return = MC.GT_SetDoBit(12, 13, 0); } else { Gts_Return = MC.GT_SetDoBit(12, 13, 1); } //输出控制 0-输出,1-关闭输出 //Cyc_control, Blow_control, Lamp_control;//定义气缸、吹气、照明控制字 //气缸控制 if (Cyc_control == 1)//气缸打开 { Gts_Return = MC.GT_SetDoBit(12, 6, 0); Gts_Return = MC.GT_SetDoBit(12, 7, 1); } else { Gts_Return = MC.GT_SetDoBit(12, 6, 1); Gts_Return = MC.GT_SetDoBit(12, 7, 0); } //吹气控制 if (Blow_control == 1)//吹气打开 { Gts_Return = MC.GT_SetDoBit(12, 8, 0); } else { Gts_Return = MC.GT_SetDoBit(12, 8, 1); } //照明控制 if (Lamp_control == 1)//照明打开 { Gts_Return = MC.GT_SetDoBit(12, 9, 0); } else { Gts_Return = MC.GT_SetDoBit(12, 9, 1); } //Yellow_lamp,Green_lamp,Red_lamp,Beeze_Control,Button1_Lamp, Button2_Lamp;//定义灯塔黄、灯塔绿、灯塔红、蜂鸣控制字 //灯塔黄控制 if (Yellow_lamp == 1) { Gts_Return = MC.GT_SetDoBit(12, 2, 0); } else { Gts_Return = MC.GT_SetDoBit(12, 2, 1); } //灯塔绿控制 if (Green_lamp == 1) { Gts_Return = MC.GT_SetDoBit(12, 3, 0); } else { Gts_Return = MC.GT_SetDoBit(12, 3, 1); } //灯塔红控制 if (Red_lamp == 1) { Gts_Return = MC.GT_SetDoBit(12, 4, 0); } else { Gts_Return = MC.GT_SetDoBit(12, 4, 1); } //蜂鸣器控制 if (Beeze_Control == 1) { if (Timer_1s_Flag) { Gts_Return = MC.GT_SetDoBit(12, 5, 0); } else { Gts_Return = MC.GT_SetDoBit(12, 5, 1); } } else { Gts_Return = MC.GT_SetDoBit(12, 5, 1); } //Button1_Lamp, Button2_Lamp;//定义启动按钮1灯、启动按钮2灯控制字 //启动按钮1灯 if (Button1_Lamp == 1) { Gts_Return = MC.GT_SetDoBit(12, 10, 0); } else { Gts_Return = MC.GT_SetDoBit(12, 10, 1); } //启动按钮2灯 if (Button2_Lamp == 1) { Gts_Return = MC.GT_SetDoBit(12, 11, 0); } else { Gts_Return = MC.GT_SetDoBit(12, 11, 1); } }