public static string GetTPMTrakFlagStatus(ushort handle) { FocasLibBase.IODBPMC0 f = new FocasLibBase.IODBPMC0(); FocasLib.pmc_rdpmcrng(handle, 5, 0, 600, 600, 9, f); //Use the first byte f.cdata[0] to check the pm trak flag on CNC machine and update it return(f.cdata[0].ToString()); }
public static string GetRapidTraverseOverride(ushort handle) { string str = string.Empty; FocasLibBase.IODBPMC0 f = new FocasLibBase.IODBPMC0(); FocasLibBase.IODBPMC0 iodbpmc2 = new FocasLibBase.IODBPMC0(); FocasLib.pmc_rdpmcrng(handle, 0, 0, 14, 15, 10, f); //pmc_rdpmcrng(0, 0, 14, 15, 10, f); FocasLib.pmc_rdpmcrng(handle, 0, 0, 96, 103, 16, iodbpmc2); //pmc_rdpmcrng(0, 0, 0x60, 0x67, 0x10, iodbpmc2); if ((iodbpmc2.cdata[0] & 128) == 128) { return(iodbpmc2.cdata[0].ToString()); } switch (f.cdata[0]) { case 0: return("100%"); case 1: return("50%"); case 2: return("25%"); case 3: return("Slow"); } return(str); }
public static List <byte> ReadPMCDataTableChar(ushort handle, ushort startingAddress, ushort endingAddress) { FocasLibBase.IODBPMC0 f = new FocasLibBase.IODBPMC0(); FocasLib.pmc_rdpmcrng(handle, 9, 1, startingAddress, endingAddress, 8 + (10 * 1), f); string str = string.Empty; return(f.cdata.ToList()); }
// (unsigned short FlibHndl, short adr_type, short data_type, unsigned short s_number, unsigned short e_number, unsigned short length, IODBPMC *buf) public static List <byte> ReadPMCRangeByte(ushort handle, short addType, ushort startingAddress, ushort endingAddress, out int ret) { //3 = X adr_type , 2 = Y adr_type //data_type byte = 0 //pmc_rdpmcrng(unsigned short FlibHndl, short adr_type, short data_type, short s_number, short e_number, short length, IODBPMC *buf); FocasLibBase.IODBPMC0 f = new FocasLibBase.IODBPMC0(); ret = FocasLib.pmc_rdpmcrng(handle, addType, 0, startingAddress, endingAddress, (ushort)(8 + (endingAddress - startingAddress) + 1), f); //if (ret != 0) throw new DivideByZeroException(); return(f.cdata.ToList <byte>()); }
public static string GetFeedrateOverride(ushort handle) { FocasLibBase.IODBPMC0 f = new FocasLibBase.IODBPMC0(); FocasLib.pmc_rdpmcrng(handle, 1, 0, 3, 3, 9, f); if (f.cdata[0] < 8) { return("Manual Mode"); } f = new FocasLibBase.IODBPMC0(); FocasLib.pmc_rdpmcrng(handle, 0, 0, 12, 19, 16, f); int num = 0xff - f.cdata[0]; return(num.ToString() + "%"); }
public static List <byte> ReadPMCRangeByte(ushort handle, short addType = 5, ushort startingAddress = 7000, ushort endingAddress = 7063) { //R(Internal relay) = 5 //D (Data table) = 9 //data_type byte = 0 //pmc_rdpmcrng(unsigned short FlibHndl, short adr_type, short data_type, short s_number, short e_number, short length, IODBPMC *buf); FocasLibBase.IODBPMC0 f = new FocasLibBase.IODBPMC0(); short ret = FocasLib.pmc_rdpmcrng(handle, addType, 0, startingAddress, endingAddress, (ushort)(8 + (endingAddress - startingAddress) + 1), f); if (ret != 0) { return(null); } return(f.cdata.ToList <byte>()); }
public static string GetSpindleOverride(ushort handle) { FocasLibBase.IODBPMC0 f = new FocasLibBase.IODBPMC0(); FocasLib.pmc_rdpmcrng(handle, 0, 0, 30, 37, 16, f); return(f.cdata[0].ToString() + "%"); }