|
邀请回答
5轴加工中心主线任务图。
大家好,我是 LSP电工 ,qq750273008
https://blog.csdn.net/cfqq1989/a ... 3A%22cfqq1989%22%7D
说明: 核心函数 SMC_NCInterpreter // SMC_NC解释器
SMC_Interpolator 插补算法
SM3_CNC库文档
公司:3S-智能软件解决方案有限公司
标题:SM3_CNC
版本:4.13.0.0
分类:实习生| SoftMotion
作者:
占位符:SM3_CNC
说明[1]
该库的功能块允许读取、解释和插值g代码文件(根据DIN 66025)。
解释器(SMC_NCInterpreter)将路径转换为可以修改、转换和插值的结构,以便为驱动器创建循环设置位置。(例如
SMC_ReadNCFile2、//读取G代码文件
SMC_NCInterpreter、// G代码解析器
SMC_ToolRadiusCorr、// 刀具补偿
SMC_AvoidLoop、// 轨迹
SMC_SmoothPath、// 平滑路径
SMC_RoundPath、// 圆形路径
SMC_Interpolator)。// 插补算法
功能块的功能分解允许特定组件被为特殊需求设计的功能块所取代。此外,进一步的功能块——比如单独的路径预处理器——可以与现有组件组合,而不会出现任何问题。
库的数据结构(例如SMC_POSINFO、SMC_GEOINFO和SMC_VECTOR3D)描述位置,
SM_CNC_POUs 普通轴控制
SM_Trafo_POUs 龙门轴组控制
Forward and inverse transformation 正逆变换
SMC_TRAFOV_ // 解析坐标位置
// F:实例对象
SMC_TRAFOF_5Axes (FB) 正向运动算法XYZ+倾斜+方位A
SMC_TRAFOF_Gantry2 (FB) 龙门2轴,实例,XY坐标(用于可视化)
SMC_TRAFOF_Gantry2Tool1 (FB) XY+方位A轴
SMC_TRAFOF_Gantry2Tool2 (FB) XY+AB轴(刀具方向和角度)
SMC_TRAFOF_Gantry3 (FB) 实例,3轴龙门坐标位置
SMC_TRAFOF_Gantry3D (FB) 实例,空间实际坐标位置
SMC_TRAFOF_GantryCutter2 (FB) 龙门滚刀,XYR旋转轴(核桃机?)
SMC_TRAFOF_GantryCutter3 (FB) 龙门柱, XYZR
SMC_TRAFOF_GantryH2 (FB) 实例,龙门H形,XY
SMC_TRAFOF_GantryT2 (FB) 实例,龙门T形,XY
SMC_TRAFOF_GantryT2_O (FB) 与T2相比,驱动器配置有所不同(Y轴反向)
// V:图像比例显示,
SMC_TRAFOV_Gantry2 (FB) 解析,XY轨迹
SMC_TRAFOV_Gantry3 (FB) 解析,XYZ轨迹
SMC_TRAFOV_GantryCutter2 (FB) 解析,XYR切割轨迹(R旋转)
SMC_TRAFOV_GantryCutter3 (FB) 解析,XYZR切割轨迹
SMC_TRAFOV_GantryH2 (FB) 解析H龙门,XY轨迹 (参阅SM_Trafo_POUs概述。)
SMC_TRAFOV_GantryT2 (FB) 解析T龙门,XY速度
SMC_TRAFOV_GantryT2_O (FB)
// O:轨迹
SMC_TRAFO_5Axes (FB) 解析,XYZ,+倾斜+方位
SMC_TRAFO_Gantry2 (FB) 解析,XY轨迹
SMC_TRAFO_Gantry2Tool1 (FB) 解析,XY+刀具距离
SMC_TRAFO_Gantry2Tool2 (FB) 解析,带刀补的XY轨迹
SMC_TRAFO_Gantry3 (FB) 解析,XYZ轨迹
SMC_TRAFO_GantryCutter2 (FB) 解析,XYR轨迹(R刀片方位)// 滚柱带刀片切割
SMC_TRAFO_GantryCutter3 (FB) 解析,XYZR轨迹 //雕核桃机,雕刻鸡蛋
SMC_TRAFO_GantryH2 (FB) 解析H,由XY计算出辅助AB轴位置
SMC_TRAFO_GantryT2 (FB) 解析T,由XY计算出辅助AB轴位置
SMC_TRAFO_GantryT2_O (FB) 具有固定驱动器的T型龙门架系统的反向转换(替代驱动器配置)。
使用请注明出处:维修电工 ,LSP电工,qq750273008
硬件要求:
中型PLC(汇川AM600,禾川HCQ0-1d),且带 SM3_CNC.library 库(3.5.6支持离线仿真)
G代码标准: DIN66025
DIN66025-1标准
G0 运动定位
G1 线性插补
G2 顺圆插补
G3 逆圆插补
G4 等待
G6 抛物线插补
G8 椭圆插补
M指令块:SMC_Interpolator 插补算法(按时间节拍,截取位置)
SMC_Interpolator //插补器(遇到M指令会暂停)
bAcknM置位(继续插补)
wM输出M指令值
H点胶指令:开关量
SMC_Interpolator //插补器(遇到H指令不停顿)
N90 G1 X20
N100 G1 X100 H2 L20 H-2 L-10 //起点加20位置点胶,终点-10位置取消
// H指令不会影响运动速度
辅助轴:
插补轴:X,Y,Z
辅助轴:A,B,C,P,Q,U,V,W // 8个辅助轴
轴排序:ALL := 16#FFFF;
X := 2#1 ;
Y := 2#10 ;
Z := 2#100 ;
A,B,C,P,Q,U,V,W,A6,ALL,
库的用法:解析G代码文件
SMC_Interpolator 插补算法(按时间节拍,截取位置)
SMC_OutQueue,SMC_CNC_REF,File //位置流,带参位置流,文件流
SMC_ReadNCFile // G代码文件读取//仿真路径
// C:\ProgramData\CODESYS\Simulation\PlcLogic\
SMC_NCDecoder // G代码文件解码》输出poqDataOut(位置坐标流/轨迹坐标)
SMC_ToolCorr // 工具参数
SMC_SmoothPath // 轨迹平滑
SMC_CheckVelocities // 轨迹速度检查》输出的轨迹数据要给插补器 poqDataOut
SMC_Interpolator // 插补器,运算: 》输入:轨迹数据poqDataOut
// 》输出:piSetPosition
SMC_TRAFO_Gantry3 // 解析出3轴坐标 》输入:pi
// 》输出:dx,dy,dz分发给轴定位控制
SMC_ControlAxisByPos // X axis 轴定位 XYZABC
1读取G代码文件解析
G代码文件》保存到 _cnc文件夹内
NC文件路径: STRING := '_cnc/gcode.cnc'; //PLC参考路径在本体主根目录下,G代码放在_cnc文件夹内
// (后续以这个路径参考点再添加文件深度)
放该文件夹内 ,文件名例如: SouJiKe.txt // 雕刻手机壳的G代码文件
2插补运算:SMC_Interpolator插补器, poqDataOut轨迹
利用 SMC_CheckVelocities(轨迹速度检查)的输出做输入
poqDataOut轨迹流
SMC_Interpolator 插补算法(按时间节拍,截取位置)
piSetPosition 输出以时间为节拍的坐标流
SMC_TRAFO_Scara2 解析出节拍坐标位置》并发给对应的伺服电机
库函数:POU 功能块
SM3_CNC , ( 3.5.8.0 )
SM_CNC_POUs》SoftMotion CNC》SoftMotion Function Blocks
SM3_CNC, 3.5.8.0
Project Information // get项目信息
SM_CNC_Data types // SM_CNC_数据类型
SM_CNC_POUs // CNC程序块 SMC_ReadNCFile文件 SMC_ReadNCQueue队列
SM_Trafo_Data type // 轴组,龙门,机器人,数据类型
SM_Trafo_POUs // 轴组转换功能块 Gantry systems龙门系统
Visu_Templates // 模板
Visu_Templates_New // 新模板
轴组:龙门轴组,6轴机械臂,码垛机,行架 等
添加轴组后,可以选轴组类型,龙门数控或者搬运机械臂等。。。
转换FB块为5轴_龙门。
5轴由:X,Y,Z,A,B 轴组成
4是A轴:是旋转轴。(垂直于Z轴旋转,比如刀片)
3是B轴:是倾斜轴。(与Z角度角度调节,如铣刀倒角)
刀具长度(u) :
双X轴龙门:
这里涉及到2个电机:x1轴和x2轴
x1轴为主,x2轴为从,x2轴一直去追赶x1轴的坐标位置。
在齿条型的X大梁,x2轴如果与x1轴位置超差过大,会导致X大梁卡死。所以x2轴要配置成:(力矩加定位)的混合模式。
函数使用: MC_GearIN 电子齿轮功能 (注:注意从轴的追赶速度值大小)
脱开: MC_GearOut 断开耦合
另一种方案是:
新建一个虚轴。
x1和x2去追赶虚轴的坐标。
圆弧插补:
SMC_RoundPath
轴组状态:
SMC_GroupPower 电源
MC_GroupEnable 使能
MC_MoveLinearAbsolute 直线绝对运动
MC_AddAxisToGroup 添加轴组
————————————————
版权声明:本文为CSDN博主「cfqq1989」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/cfqq1989/article/details/130835670
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册 ![](source/plugin/zhanmishu_wechat/template/static/img/wechat_login.png)
x
|