public CRobotStatus GetCopyOfRobotStatus() { CRobotStatus cRobotStatus = new CRobotStatus(); cRobotStatus.SetAndCheckSWs(robotStatus.sw1, robotStatus.sw2); return(cRobotStatus); }
private async Task <bool> ReadGeneralStatus() { await TaskEx.WaitUntil(isIdle); SetEvent("ReadGeneralStatus"); bool isError = false; short sw1 = -1, sw2 = -1; short ret = CMotocom.BscGetStatus(m_Handle, ref sw1, ref sw2); if (ret != 0) { isError = true; SetError("Error calling BscGetStatus"); } else { if (robotStatus.SetAndCheckSWs(sw1, sw2)) { StatusChanged(this, null); } StringBuilder framename = new StringBuilder("ROBOT"); // BASE ROBOT int formCode = 0; short isExternal = 0; short toolNo = 0; short ret1 = CMotocom.BscGetCartPos( //short ret1 = CMotocom.BscIsRobotPos( m_Handle, framename, isExternal, ref formCode, ref toolNo, ref currentPosition[0]); if (ret1 == -1) { isError = true; SetError("Error executing BscGetCartPos"); } else { currentPosition[13] = formCode; currentPosition[14] = toolNo; DispatchCurrentPosition(this, null); m_previousStatus_ms = DateTimeOffset.Now.ToUnixTimeMilliseconds(); } } await SetEvent(EnumEvent.Idle); return(isError); }