CODESYS的CNC运动控制可视化轨迹3DPath仿真

#一个简单的文字轨迹仿真案例#

        国庆节的到来,到处充满着红色图像,犹如向上的红色箭头和增长的数字,全国都喜气洋洋,在这个举国欢庆的假期,我们能做点什么庆祝呢?那就使用CODESYS的运动轨迹,简单的祝大家国庆节快乐,祖国繁荣昌盛,牛气冲天吧。

国庆节快乐

        言归正传,使用CODESYS软件的CNC功能,如何做到上面的轨迹图呢?CODESYS的软件使用还是比较简单,下面我主要讲解CNC功能的使用方面。

一、CNC代码

        ①创建一个SoftMotion的项目(仿真运行),分别添加三个X/Y/Z的Axis,注意速度的限制,防止CNC速度超限之后的问题。然后,在程序中添加CNC程序的对象,右击这个对象,找到CNC属性项,默认实现的方式是Din66025,编译模式SMC_OutQueue,这里仅修改下默认的速度即可,其它不用设定,防止G代码里面没有速度参数不运行。

        

      ②编写一个最简单的插补运行程序(当然轴要先使能,不必要的就不展示了),该程序段的解释网上也有太多,简单是说就是将G代码→转换运行轨迹→逆解成笛卡尔坐标点→各自轴运行,然后再使用轨迹显示和跟踪,完成可视化的相关工作。

PROGRAM POU
VAR
	MC_Power_X: MC_Power;
	MC_Power_Y: MC_Power;
	// 插补运算
	SMC_Interpolator_0: SMC_Interpolator;
	// 正向变换
	SMC_TRAFO_Gantry2_0: SMC_TRAFO_Gantry2;
	SMC_ControlAxisByPos_X: SMC_ControlAxisByPos;
	SMC_ControlAxisByPos_Y: SMC_ControlAxisByPos;	
	X_Axis_Enable: BOOL;
	Y_Axis_Enable: BOOL;
	SMC_PathCopier_0: SMC_PathCopier;
	SMC_PositionTracker_0: SMC_PositionTracker;
	pointbuffer_pcf: ARRAY[0..10000] OF VisuStruct3DPathPoint;
	pointbuffer_pt: ARRAY[0..10000] OF VisuStruct3DPathPoint;
	vc: VisuStruct3DControl;
	Record: BOOL;
	CNC_No: WSTRING;
	CNC_Info: WSTRING;
	SMC_ControlAxisByPos_Z: SMC_ControlAxisByPos;
	SMC_TRAFO_Gantry3_0: SMC_TRAFO_Gantry3;
	CNC_Model: INT;
	CNC_popDataIn: POINTER TO SMC_OUTQUEUE;
	CNC_NoMin: INT;
	CNC_NoMax: INT;
	Z_Axis_Enable: BOOL;
	MC_Power_Z: MC_Power;
	i: REAL;
	j: REAL;
	k: REAL;
	m: REAL;
	n: REAL;
	x: REAL;
	y: REAL;
END_VAR

  

      ③使用CAD设计软件,敲上你最想要的文字,如下“国庆节快乐”,在命令行输入“txtexp” ,主要目的是将文字打散(CNC识别不了未打散的文字块),保存为dxf格式。

       ④在CNC功能中,导入DXF文件,部分文件导入时,由于坐标系问题,可能存在偏离坐标系的问题,在这里可以通过“”“移动程序、缩放程序”等功能,变换到理想位置即可。本次导入后,在程序前后分别添加了M功能和H功能,用于控制实现的效果。有关CNC代码的解释,可以搜索相关资料,如有疑问可以在评论区说明,本次仅是一个演示过程。

代码如下,使用此代码,即便不导图也可以实现:

N005 M0 
N005 G00 X0.8310110179397121 Y0.517739670798111 F8000 E10000 E-10000
N010 G01 X0.61421504285402406 Y0.51059255074034493 
N020 G01 X0.69998048354721842 Y0.50821017738775609 
N030 G01 X0.8310110179397121 Y0.517739670798111 
N040 G00 X0.72618659042558065 Y0.8155363398721569 
N050 G01 X0.70712760360487092 Y0.77741836623073735 
N060 G01 X0.7166570970154531 Y0.76788887282038243 
N070 G01 X0.82386389788183223 Y0.74406513929438145 
N080 G01 X0.85483475146582666 Y0.75121225935214764 
N090 G01 X0.97395341909526323 Y0.77741836623073735 
N100 G01 X1.02874800620469 Y0.78694785964097846 
N110 G01 X1.155013793892234 Y0.80362447310921326 
N120 G01 X1.24316160793813 Y0.81315396651956806 
N130 G01 X1.3575155288626171 Y0.8155363398721569 
N140 G01 X0.72618659042558065 
N150 G00 X1.2074260076491861 Y1.0775974086572579 
N160 G01 X1.1812199007708231 Y1.0323323149580721 
N170 G01 X1.185984647476001 Y1.0251851949003059 
N180 G01 X1.2669853414642449 Y0.93941975420699808 
N190 G01 X1.338456542041907 Y0.95371399432253046 
N200 G01 X1.305103315105665 Y1.0323323149580721 
N210 G01 X1.2074260076491861 Y1.0775974086572579 
N220 G00 X1.174072780712943 Y1.206245569697276 
N230 G01 
N240 G01 X1.057336486435982 Y1.1800394628188 
N250 G01 X0.97871816580044058 Y1.168127596055857 
N260 G01 X0.94774731221690078 Y1.1609804759979769 
N270 G01 X0.83577576464488945 Y1.1347743691195009 
N280 G01 X0.8167167778244071 Y1.103803515535847 
N290 G01 X0.84768763140794678 Y1.0895092754203151 
N300 G01 X0.97871816580044058 Y1.082362155362435 
N310 G01 Y0.84888956680839911 
N320 G01 X1.0501893663781019 Y0.85603668686627887 
N330 G01 X1.057336486435982 Y1.096656395478081 
N340 G01 X1.1002192067825789 Y1.103803515535847 
N350 G01 X1.214573127707065 Y1.130009622414323 
N360 G01 X1.2526911013484849 Y1.1800394628188 
N370 G01 X1.174072780712943 Y1.206245569697276 
N380 G00 X1.169308034007766 Y1.468306638482378 
N390 G01 X1.1216605669559909 Y1.4540123983668449 
N400 G01 X0.99301240591574558 Y1.4230415447831919 
N410 G01 X0.91201171192795616 Y1.4016001846098931 
N420 G01 X0.80956965776652723 Y1.38254119778907 
N430 G01 X0.80480491106112229 Y1.3515703442054161 
N440 G01 X0.83339339129241452 Y1.3396584774424729 
N450 G01 X0.95965917897950337 Y1.330128984032118 
N460 G01 X0.96918867239008566 Y1.292011010390584 
N470 G01 X0.97871816580044058 Y1.168127596055857 
N480 G01 X1.057336486435982 Y1.1800394628188 
N490 G01 X1.076395473256692 Y1.284863890332818 
N500 G01 X1.0382774996152719 Y1.34442322414765 
N510 G01 X1.1669256606550631 Y1.3730117043787149 
N520 G01 X1.2526911013484849 Y1.4016001846098931 
N530 G01 X1.2669853414642449 Y1.4540123983668449 
N540 G01 X1.169308034007766 Y1.468306638482378 
N550 G00 X0.83577576464488945 Y1.60886666628534 
N560 G01 X0.68568624343145856 Y1.594572426169808 
N570 G01 X1.205043634296483 Y1.592190052817219 
N580 G01 X1.28127958157955 Y1.599337172874985 
N590 G01 X1.324162301926374 Y1.6041019195801629 
N600 G01 X1.326544675278849 
N610 G01 X0.83577576464488945 Y1.60886666628534 
N620 G00 X0.51177298869236765 Y1.6183961596956951 
N630 G01 Y1.551689705823097 
N640 G01 X0.52844960216060255 Y1.506424612123797 
N650 G01 X0.54274384227613492 Y1.4158944247254259 
N660 G01 X0.54989096233378743 Y1.280099143627641 
N670 G01 Y1.103803515535847 
N680 G01 X0.54512621562860986 Y0.93941975420699808 
N690 G01 X0.54036146892365977 Y0.80124209975662453 
N700 G01 X0.53083197551307748 Y0.70118241894767064 
N710 G01 X0.51892010875002015 Y0.6416230851329523 
N720 G01 X0.50462586863471515 Y0.57015188455517685 
N730 G01 X0.53083197551307748 Y0.4510332169255129 
N740 G01 X0.56894994915472463 Y0.41053286993150451 
N750 G01 X0.61421504285402406 Y0.51059255074034493 
N760 G01 X0.8310110179397121 Y0.517739670798111 
N770 G01 X0.88580560504936645 Y0.52012204415069985 
N780 G01 X1.0025418993263271 Y0.52965153756105465 
N790 G01 X1.128807687013871 Y0.54394577767670083 
N800 G01 X1.2026612609440079 Y0.54871052438187817 
N810 G01 X1.324162301926374 
N820 G01 X1.5838409973591141 Y0.55585764443964436 
N830 G01 X0.61421504285402406 Y0.56300476449741055 
N840 G01 X0.61659741620627184 Y0.58206375131812038 
N850 G01 X0.62136216291167656 Y0.70594716565296167 
N860 G01 X0.62374453626415161 Y0.82744820663510055 
N870 G01 X0.62850928296932906 Y0.94894924761735311 
N880 G01 X0.63089165632203148 Y1.068067915246903 
N890 G01 X0.63327402967450663 Y1.1871865828765671 
N900 G01 Y1.3039228771535281 
N910 G01 X0.635656403027209 Y1.418276798078014 
N920 G01 Y1.5326307190023869 
N930 G01 X0.7976577910034699 Y1.549307332470508 
N940 G01 X0.96442392568490831 Y1.5683663192912181 
N950 G01 X1.1002192067825789 Y1.5826605594068639 
N960 G01 X1.205043634296483 Y1.592190052817219 
N970 G01 X0.68568624343145856 Y1.594572426
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值