public string[] xyzwpr(string ip) { msubInit(ip); string[] strTmp = new string[9]; Array xyzwpr = new float[9]; Array config = new short[7]; Array joint = new float[9]; short intUF = 0; short intUT = 0; short intValidC = 0; short intValidJ = 0; mobjDataTable.Refresh(); { mobjCurPos2.GetValue(ref xyzwpr, ref config, ref joint, ref intUF, ref intUT, ref intValidC, ref intValidJ); for (int ii = 0; ii <= 8; ii++) { strTmp[ii] = xyzwpr.GetValue(ii).ToString(); } } msubDisconnected(); return(strTmp); }
//refresh datatable1 private void refresh_dt1() { //init short intLine = 0, intState = 0; object vntValue = null, jobValue = null, nameValue = null; string strProg = "", strParentProg = ""; Array lngAI = new int[2]; bool validRefresh = false; var dtTemp = dt_Selected.Clone(); //datatable gets refreshed validRefresh = objDataTable1.Refresh(); //if refresh failed, disconnect if (validRefresh == false) { objCore.Disconnect(); Console.WriteLine("Disconnecting - refresh failed"); return; } //DATA FORMATTING //NUMERIC REGISTERS for (int i = 0; i <= objSelectedReg.Length - 1; i++) { if (objSelectedReg[i].GetValue(selectedRegArr[i], ref vntValue) == true) { //add data to return-datatable {id,regnr,value,bool} dtTemp.Rows.Add(new object[] { selectedRegArr[i], selectedRegArr[i], vntValue, false }); } else { dtTemp.Rows.Add(new object[] { selectedRegArr[i], selectedRegArr[i], null, false }); } } dt_Selected = dtTemp; //TASKS for (int i = objTaskList.GetLowerBound(0); i <= objTaskList.GetUpperBound(0); i++) { if (objTaskList[i].GetValue(ref strProg, ref intLine, ref intState, ref strParentProg)) { //if empty, exit to outer loop if (strProg == "") { break; } taskArr[i] = "TASK " + objTaskList[i].Index + " - Program: " + strProg + " - Line: " + intLine + " - State: " + intState + " - Parent: " + strParentProg; } else { taskArr[i] = "TASK " + objTaskList[i].Index + " - ERROR"; } } //ANALOG IO //read AnalogOut - offset 1000 to get AO as in FANUC documentation { //read AnalogIn - offset 1000 to get AI as in FANUC documentation if (objCore.ReadGI(1000 + 1, ref lngAI, 2) == false) { Console.WriteLine("Disconnected - read AI fail"); objCore.Disconnect(); return; } voltage = (int)lngAI.GetValue(1); amp = (int)lngAI.GetValue(0); } //TASKNR of total tasks & NAME if (numRegJob.GetValue(0, ref jobValue) == true) { job = "" + jobValue; } if (numRegofJob.GetValue(0, ref jobValue) == true) { ofJob = "" + jobValue; } if (objRobotName.GetValue(0, ref nameValue) == true) { robotName = "" + nameValue; } }