邹军:让程序“智能化”,一个标识早中晚班程序的免费分享,请立即阅读!

文摘   2025-01-12 22:23   陕西  
在宏程序中,变量#3011和#3012被用于获取当前的日期和时间。
它们在CNC编程中非常有用,可以用来执行基于时间或日期的条件操作

下面是如何使用这两个变量的说明:

时间变量#3012的用法

变量#3012用于读取当前时间(时/分/秒),并将其转换为十进制数。
例如,下午3点34分56秒将被表示为153456

以下是如何在宏程序中使用#3012来根据不同的时间段执行不同操作的示例:
  1. 将当前时间赋值给变量#1。

  2. 使用WHILE循环和条件判断来确定当前时间属于哪个时间段(早班、中班或夜班)。

  3. 根据时间段在特定的位置执行钻孔操作。


如下图所示:要在7、8、9下方的空格中,用定点钻打点分别标识早班  (00:00~08:00)、中班(08:00~16:00)、夜班(16:00~24:00)

O0011
G90G80G40G49
T1 M6
G90G54G00X0YOM03S4500
G43G00H1Z30.0
#1=#3012---------------------------------(
把当前时间赋于#1,如:时间为1130时,#1=113000
WHILE[[#1GE0]AND[#1LE80000]]DO1----------
(当当前时间#1000008:00之间时运行下面一句,否则跳至END1)
G98G81X24.0Y3.0Z-5.0R-4.F500-----------(
白班钻孔位置)
G80
M99---------------------------------------(
子程序结束)
END1
WHILE[[#1GE80000]AND[#1LE160000]]DO2-----
(当当前时间#1080016:00之间时运行下面一句,否则跳至END2)
G98G81X27.0Y3.0Z-5.0R-4.F500------------(
中班钻孔位置)
G80
M99---------------------------------------(
子程序结束)
END2
G98G81X30.0Y3.0Z-5.0R-4.F500---------
(其余时间为夜班)
M99---------------------------------------(
子程序结束)

日期变量#3011的用法

变量#3011用于读取当前日期(年/月/日),并将其转换为十进制数。例如,2025年1月12日将被表示为20250112
以下是如何在宏程序中使用#3011来根据月份和日期执行不同操作的示例:
  1. 将当前日期赋值给变量#1。

  2. 通过计算得到当前的月份和日期。

  3. 使用GOTO语句跳转到对应月份或日期的代码段执行打孔操作。


如下图所示:在V排打点表示月份,在W排打点表示日期
OOO22
G0Z30.0
#1=#3011-----------------------------(把当前日期赋于#1,如:日期为2025.01.12,#1=20250112)
#2=#1-20250000---------------------(把年份减掉,#2=112)
#3=#2/100---------------------------(#3=1.12)
#4=FUP(#3)--------------------------(#4=1  下取整得到1月份)
#5=#2-#4*100------------------------(#5=112-1*100=12,得到12号)
GOTO#4-------------------------------(跳转至对应的月份)

N1(1月)
G81X6.0 Y-3.0Z-5.0R-4.0F500----------(1月打孔位置)
G80
G0TO50--------------------------------(跳转至N50日期打孔)
N2(2月)
G81X9.0 Y-3.0Z-5.0R-4.0F500----------(2月打孔位置)
G80
G0TO50--------------------------------(跳转至N50日期打孔)
N3(3月)
G81X12.0 Y-3.0Z-5.0R-4.0F500----------(3月打孔位置
G80
G0TO50--------------------------------(跳转至N50日期打孔)
-----
-----
-----
N12(12月)
G81X6.0Y-3.0Z-5.0R-4.0F500----------(12月打孔位置)
X9.0
G80
G0TO50--------------------------------(跳转至N50日期打孔)

N50
GOTO#5-------------------------------(跳转至对应的日期)
N1(1号)
G81X6.0Y-6.0Z-5.0R-4.0F500----------(1号打孔位置)
G80
M99---------------------------------------(子程序结束)
N2(2号)
G81X9.0Y-6.0Z-5.0R-4.0F500----------(2号打孔位置)
G80
M99---------------------------------------(子程序结束)
N3(3号)
G81X12.0Y-6.0Z-5.0R-4.0F500----------(3号打孔位置)
G80
M99---------------------------------------(子程序结束)
-----
-----
-----
-----
N31
G81X12.0Y-6.0Z-5.0R-4.0F500----------(31号打孔位置)
X6.0Y-9.0
G80
M99---------------------------------------(子程序结束)

以上代码示例展示了如何根据时间和日期在CNC编程中实现不同的操作,可以用于自动化生产过程,根据时间或日期变化自动调整机器的工作流程。
过去文章:
邹军:G41/G42刀具半径补偿指令实战应用指南

邹军:刀具半径补偿 G41G42 的正确使用方法

邹军:宏程序参数化编程,让加工更智能


邹军:编程创新加工


邹军:用精车程序作粗车的编程方法


邹军:神奇的编程方法,能让数控程序“智能化”


邹军:让程序“智能化”,一个断刀检测宏程序学员的免费分享


邹军:刀具磨损检测的宏程序实例解析


邹军:探索蜗杆宏程序案例,创新与精度的完美结合


版权不限,欢迎收藏

邹军
私人微:soscnc
 最新文章