一、加工件数是什么
机床上的加工件数用来记录NC程序被执行了多少次,系统默认NC程序执行到M02、M30代码的时候,加工计数就会加1。当然也可以自定义工件计数的M Code,详情请参考FANUC 系统自带的工件计数功能该如何使用
二、加工件数有什么用
加工件数的作用是用来记录机床加工了多少个零件。但加工件数是累计值,只要不手动清零会一直增加,除非达到设定值报警。有的没有数据采集系统的企业会每天开班的时候员工会手动将工件计数清零,然后等下班的时候来记录此设备生产了多少个零件。
三、加工件数=零件产量?
等于也不等于,或者说有的情况下机床上的加工件数等于零件的实际产量,有的情况下则不然。
1.等于的情况
当一个零件在此机床上加工只需要一个NC程序就可以完成所有工序的加工,且毛坯到成品是1出1。
2.不等于的情况
当一个零件在此机床上加工需要多个NC程序才可以完成所有工序的加工,或者毛坯到成品是1出多的关系。
四、工件计数数据存在哪
Focas本身并不提供直接读取工件计数的方法,故需要从其他地方来找工件计数数据存放的地方。工件计数可以从参数6711中读取。
五、代码实现
读取参数的方法
/// <summary>
/// 读取参数的方法
/// </summary>
/// <param name="number">参数号</param>
/// <returns></returns>
public int? ReadPara(short number)
{
Focas1.IODBPSD_1 psd_1 = new Focas1.IODBPSD_1();
if (!IsConnected) return null;
short ret = 0;
ret = Focas1.cnc_rdparam(_flibhndl, number, Focas1.ALL_AXES, 4 + 4 * Focas1.MAX_AXIS, psd_1);
if (ret == Focas1.EW_OK)
{//应该是idata
return psd_1.ldata;
}
else
{
//如果有ret==-16 需要断开连接重新 从而获取Handle
if (ret == -16)
{
DisConnect();//直接断开连接,从而获得重连的机会
}
throw new FanucException(EQName, ClassName, "ReadPara", ret, "cnc_rdparam fail");
}
}
说明
本人专注机床的数据采集和程序传输,致力于机械加工行业的数字化系统开发
以下是自己开发的所支持的机床数据采集源代码类库(部分),