Mastercam后处理随机分配程序号技巧

数控程序中的O号在大多数时候是O0000,如果数控机器里面已经存在一个这样的数控程序,那么这样的程序发送给现场使用,在程序通过传输软件传输过程中会出现错误。

如何避免这样的问题发生?

每次在编程时都提前设置好相关的程序号,这样确实可以避免这样的问题,但又有新的问题出现,如何确保每次都会输入呢,毕竟依赖人还是会出现人为的疏忽,那难道就没有其它办法吗?

有人可能会说可以在后处理中设置固定的数字,固定的固然是可以解决,但同样存在问题,那就是所有出来的程序号都是一样的,还是存在雷同。

有人可能会说做一个fq参数,每次处理程序时,都输入一遍,这样同样存在雷同,而且还是依赖人来完成,多少有些遗憾。

还有人会说,插件可以解决,确实,插件确实是一个不错的选择,但目前还没有看到有这样的小程序,那么在这种情况下,用后处理自动的随机分配就应运而生啦。

下面是随机生成的相关代码和方法。

下面是MastercamX---X+代码,V9版本的代码自行处理一下即可。
1.首先定义一个字符串的参数,用来保存随机数。


sprogn : ""

2.定义随机数的数据格式,输出位数,前导零,后置零等。


# These formats used for 'Date' & 'Time'
fs2 19 2 0 2 0t #Integer, force trailing (hour)
fs2 20 0 2 0 2lt #Integer, force leading & trailing (min)
fmt 19 hour #Hour
fmt 20 min #Minutes

3.开始最为重要的部分,随机数的获取,每次生成程序时都需要产生一个随机数,但由于mastercam后处理不支持随机函数random,所以只能通过其他方式获取,为了使数据不重复,有如下思路:

A:获取计算机当前时间的年,月,日,再组合成一个4位数。

B:获取计算机当前时间的时,分,秒,再组合成一个4位数。

C:获取计算机当前时间的年,月,日,时,分,秒,再组合成一个4位数。

以上三种方法均可实现,那么从中选取最简便捷的一种,我们下面采用时,分,秒的方式。


首先判断计算机的当前时间,以12小时为一个计算周期,是否大于12,如果大于12,则把当前时间减去12小时。

其次,对时间进行相应的换算,换算方式有加减乘除,乘方,开平方等等,这需要用户自行决定,其目的是对小时/分钟/秒钟/毫秒进行换算产生一个非零的随机自然数。


完整代码如下:


pprog_int #Random Program NO.

if time$ >= 13, time2 = (time$ - 12)
else, time2 = time$
hour = int(time2), min = frac(time2)

progno$ = int(round(min * 100 * 60))
sprogn = no2str(progno$)
result = newfs (23, progno$)
*sprogn,e$



免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空