1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace FANUC
- {
- public class Fanuc : Focas1
- {
- public static ushort h;
- private static short getdtailerr(ushort handle, Fanuc.ODBERR odberr)
- {
- return Fanuc.cnc_getdtailerr(handle, odberr);
- }
-
- private static short upstart(ushort handle, short type, int startno, int endno)
- {
- return cnc_upstart3(handle, type, startno, endno);
- }
- private static short uplod(ushort handle, int length, char[] databuf)
- {
- return cnc_upload3(handle, ref length, databuf);
- }
- private static short upend(ushort handle)
- {
- return cnc_upend3(handle);
- }
- public static short upload(ushort handle, short type, int no, ref string data, Fanuc.ODBERR odberr)
- {
- int startno = no; int endno = no;
- int length = 256; char[] databuf = new char[256];
- short ret = upstart(handle, type, startno, endno);
- if (ret == Fanuc.EW_OK)
- {
- string temp = "";
- while (true)
- {
-
- ret = uplod(handle, length, databuf);
- temp = new string(databuf);
- int one = temp.Length;
- if (ret == (short)Fanuc.focas_ret.EW_BUFFER)
- {
- continue;
- }
- if (ret == Fanuc.EW_OK)
- {
- temp = temp.Replace("\0", "");
- data += temp;
- string lastchar = temp.Substring(temp.Length - 1, 1);
- if (lastchar == "%")
- {
- break;
- }
- }
- else
- {
-
- if (odberr != null)
- {
- getdtailerr(handle, odberr);
- }
-
- break;
- }
- }
-
- if (ret == 0)
- {
- ret = upend(handle);
- return ret;
- }
- else
- {
- upend(handle);
-
- return ret;
- }
- }
- else
- {
-
- upend(handle);
- return ret;
- }
- }
-
- }
- }
|