功能块
(一)FB_InterpolatorXYZ
XYZ 三轴连续插补功能块 FB_CTRL_InterpolatorXYZ 具有多个输入和输出,具体描述如下。所有控制器的参数均通过结构体传递给功能块。
接口
VAR_INPUT
| 名称 |
类型 |
初始化 |
描述 |
| bEnable |
BOOL |
FALSE |
使能信号,上升沿开始插补 |
| bPause |
BOOL |
FALSE |
暂停信号 |
| stCurrentPoint |
ST_CartesianCoordinate |
|
读到的当前位置,作为运动的起始点 |
| fInterpolationCycleTime |
LREAL |
0 |
插补周期时间\[s] |
| pInterpolationXYZParams |
POINTER TO ST_InterpolatorXYZParams |
|
插补参数 |
| nInterpolationPointNumber |
UDINT |
0 |
插补点数,最大9个点。第一个点为起点 |
VAR_OUTPUT
| 名称 |
类型 |
初始化 |
描述 |
| bBusy |
BOOL |
FALSE |
插补计算中 |
| bDone |
BOOL |
FALSE |
插补计算完成 |
| bCommandAborted |
BOOL |
FALSE |
插补过程终止 |
| bError |
BOOL |
FALSE |
出错,错误码 |
| bErrorID |
E_ZMCError |
|
统一错误码 |
| nInterpolatorIndex |
UDINT |
|
当前插补序号 |
| fActInterpolatorPercent |
LREAL |
|
当前插补百分比 |
| Profile |
ST_InterpolatorXYZProfile |
|
插补输出 |
使用要求
| 开发环境 |
目标平台 |
需要包含的PLC 库 |
| MetaFacture/Codesys |
PC or CX |
ZKSDInterpolator |
(二)结构体定义
ST_CartesianCoordinate
| 名称 |
类型 |
初始化 |
描述 |
| fX |
LREAL |
0.0 |
\[mm] |
| fY |
LREAL |
0.0 |
\[mm] |
| fZ |
LREAL |
0.0 |
\[mm] |
| fA |
LREAL |
0.0 |
\[deg] |
| fB |
LREAL |
0.0 |
\[deg] |
| fC |
LREAL |
0.0 |
\[deg] |
ST_InterpolatorXYZParams
| 名称 |
类型 |
初始化 |
描述 |
| nPatType |
USINT |
0 |
指令类型:1=直线绝对运动;2=三点圆弧(中间点+末端点);3=XY平面顺圆弧(末端点+半径);4=XY平面逆圆弧(末端点+半径);5=直线相对运动 |
| nVelocityType |
USINT |
1 |
速度曲线类型:预留参数,未使用 |
| stKinematicsParams |
ST_KinematicsParams |
|
运动学参数 |
| stTargetPoint |
ST_CartesianCoordinate |
|
目标点 |
| fCirdeArcRadius |
LREAL |
0 |
当类型是XY平面顺/逆圆弧 |
| stMiddlePoint |
ST_CartesianCoordinate |
|
圆弧中间点:预留参数,未使用 |
| nSmoothType |
USINT |
1 |
平滑类型:预留参数,未使用 |
| fSmoothRadius |
LREAL |
0 |
过渡平滑半径预留参数,未使用 |
| nSmoothAccWay |
USINT |
0 |
平滑过渡曲线加速度采用对应指令加速度:预留参数,未使用 |
ST_InterpolatorXYZProfile
| 名称 |
类型 |
| X |
ST_InterpolatorXYZProfileData |
| Y |
ST_InterpolatorXYZProfileData |
| Z |
ST_InterpolatorXYZProfileData |
ST_InterpolatorXYZProfileData
| 名称 |
类型 |
| fPosition |
LREAL |
| fVelocity |
LREAL |
| fAcceleration |
LREAL |
| fJerk |
LREAL |
(三)FB_PickBond
避障功能块 FB_PickBond 具有多个输入和输出,具体描述如下。所有控制器的参数均通过结构体传递给功能块。
接口
VAR_INPUT
| 名称 |
类型 |
初始化 |
描述 |
| bEnable |
BOOL |
FALSE |
使能信号,上升沿开始插补,下降沿所有信息复位 |
| bPause |
BOOL |
FALSE |
暂停信号 |
| stPickBondParams |
ST_PickBondParams |
|
PickBond参数 |
| fInterpolationCycleTime |
LREAL |
0 |
插补周期时间\[s] |
VAR_OUTPUT
| 名称 |
类型 |
初始化 |
描述 |
| bBusy |
BOOL |
FALSE |
插补计算中 |
| bDone |
BOOL |
FALSE |
插补计算完成 |
| bCommandAborted |
BOOL |
FALSE |
插补过程终止 |
| bError |
BOOL |
FALSE |
出错,错误码 |
| bErrorID |
E_ZMCError |
|
统一错误码 |
| stOverallInfo |
ST_InterpolatorOverallInfomation |
|
路径段 |
| stProfile |
ST_InterpolatorXYZABCProfile |
|
插补输出 |
使用要求
| 开发环境 |
目标平台 |
需要包含的PLC 库 |
| MetaFacture |
PC |
ZKSDInterpolator |
(四)结构体定义
ST_PickBondParams
| 名称 |
类型 |
描述 |
| stPickBondEjector |
ST_PickBondEjector |
顶针机构参数 |
| ePickBondProcess |
E_PickBondPhase |
PickBond过程 |
| stObstacleCuboid |
ST_ObstacleCuboid |
障碍物坐标 |
| stCoordinateFrame |
ST_CoordinatePositionOrientationInGlobalFrame |
原点在全局坐标系中的位置 以及各轴是否反向 |
| stKinematicsParams |
ST_KinematicsParams |
运动学参数 |
| stPickPoint |
ST_CartesianCoordinate |
起点坐标 |
| stBondPoint |
ST_CartesianCoordinate |
终点坐标 |
| fHeightOverObstacle |
LREAL |
避障高度 |
| fSaveMargin |
LREAL |
安全距离 |
ST_InterpolatorOverallInfomation
| 名称 |
类型 |
描述 |
| fDuration |
LREAL |
\[s] |
| ePickBondProcess |
E_PickBondPhase |
PickBond过程 |
| eEjectPhase |
E_PickBondEjectPhase |
顶针运行阶段 |
| eZAxisPhase |
E_PickBondZAxisPhase |
Z轴运行阶段 |
ST_InterpolatorXYZABCProfile
| 名称 |
类型 |
| X |
ST_InterpolatorXYZProfileData |
| Y |
ST_InterpolatorXYZProfileData |
| Z |
ST_InterpolatorXYZProfileData |
| A |
ST_InterpolatorXYZProfileData |
| B |
ST_InterpolatorXYZProfileData |
| C |
ST_InterpolatorXYZProfileData |
ST_PickBondEjector
| 名称 |
类型 |
初始化 |
描述 |
| fCAMMinPosition |
LREAL |
0.0 |
顶针凸轮最小位置\[mm] |
| fCAMMaxPosition |
LREAL |
0.0 |
顶针凸轮最大位置\[mm] |
| fCAMMinAngle |
LREAL |
0.0 |
顶针凸轮最小角度\[deg] |
| fCAMMaxAngle |
LREAL |
0.0 |
顶针凸轮最大角度\[deg] |
| fEjectSpeed |
LREAL |
0.0 |
顶针运动速度\[mm/s] |
| fEjectAcceleration |
LREAL |
0.0 |
顶针运动加速度\[mm/s2] |
| fEjectDeceleration |
LREAL |
0.0 |
顶针运动减速度\[mm/s2] |
| fEjectJerk |
LREAL |
0.0 |
顶针运动加加速度\[mm/s3] |
| fBlueMembranePosition |
LREAL |
0.0 |
在顶针坐标系中蓝膜的绝对位置\[mm] |
| fEjectSyncDistance |
LREAL |
0.0 |
同步顶出距离\[mm] |
ST_ObstacleCuboid
| 名称 |
类型 |
描述 |
| stNegativeCorner |
ST_CartesianCoordinate |
负向角点坐标 |
| stPositiveCorner |
ST_CartesianCoordinate |
正向角点坐标 |
ST_CoordinatePositionOrientationInGlobalFrame
| 名称 |
类型 |
初始化 |
描述 |
| fXOffset |
LREAL |
0.0 |
坐标系相对机器人坐标系偏移\[mm] |
| fYOffset |
LREAL |
0.0 |
坐标系相对机器人坐标系偏移\[mm] |
| fZOffset |
LREAL |
0.0 |
坐标系相对机器人坐标系偏移\[mm] |
| fAOffset |
LREAL |
0.0 |
坐标系相对机器人坐标系偏移\[mm] |
| fBOffset |
LREAL |
0.0 |
坐标系相对机器人坐标系偏移\[mm] |
| fCOffset |
LREAL |
0.0 |
坐标系相对机器人坐标系偏移\[mm] |
| bXReverse |
BOOL |
FALSE |
TRUE or FALSE |
| bVReverse |
BOOL |
FALSE |
TRUE or FALSE |
| bZReverse |
BOOL |
FALSE |
TRUE or FALSE |
| bAReverse |
BOOL |
FALSE |
TRUE or FALSE |
| bBReverse |
BOOL |
FALSE |
TRUE or FALSE |
| bCReverse |
BOOL |
FALSE |
TRUE or FALSE |
ST_KinematicsParams
| 名称 |
类型 |
描述 |
| X |
ST_KinematicsParamsAxis |
轴坐标系下运动时使用 |
| Y |
ST_KinematicsParamsAxis |
轴坐标系下运动时使用 |
| Z |
ST_KinematicsParamsAxis |
轴坐标系下运动时使用 |
| A |
ST_KinematicsParamsAxis |
轴坐标系下运动时使用 |
| B |
ST_KinematicsParamsAxis |
轴坐标系下运动时使用 |
| C |
ST_KinematicsParamsAxis |
轴坐标系下运动时使用 |
| stCartesianTranslation |
ST_KinematicsParamsAxis |
笛卡尔中位置运动时使用 |
| stCartesianRotation |
ST_KinematicsParamsAxis |
笛卡尔中姿态旋转时使用 |
| eRampType |
E_ZMCProfileType |
速度曲线类型:预留参数,未使用 |
ST_KinematicsParamsAxis
| 名称 |
类型 |
初始化 |
描述 |
| fVelocity |
LREAL |
0 |
速度\[mm/s] |
| fAcceleration |
LREAL |
0 |
加速度\[mm/s2] |
| fDeceleration |
LREAL |
0 |
减速度\[mm/s2] |
| fJerk |
LREAL |
0 |
加加速度\[mm/s3] |
E_PickBondPhase
| 名称 |
类型 |
初始化 |
描述 |
| PICK_TO_BOND |
INT |
1 |
从Pick到Bond |
| BOND_TO_PICK |
INT |
2 |
从Bond到Pick |
E_PickBondEjectPhase
| 名称 |
类型 |
初始化 |
描述 |
| MOVE_TO_PREEJECT_POSITION |
INT |
0 |
运动到预顶针位置 |
| IN_PREEJECT_POSITION |
INT |
1 |
在预顶针位置 |
| MOVE_TO_DIE_BOTTOM_SURFACE |
INT |
2 |
运动到芯片下表面 |
| IN_DIE_BOTTOM_SURFACE |
INT |
3 |
在芯片下表面 |
| EJECTOR_SYNC_LIFT_UP |
INT |
4 |
顶针同步上升 |
| EJECTOR_DECELERATION |
INT |
5 |
顶针减速停止 |
| IN_STOP_POSITION |
INT |
6 |
到达减速停止位置 |
E_PickBondZAxisPhase
| 名称 |
类型 |
初始化 |
描述 |
| TO_PICK_MAX_FORCE |
INT |
1 |
|
| MOVE_TO_DIE_FRONT_SURFACE |
INT |
2 |
运动到芯片上表面 |
| IN_DIE_FRONT_SURFACE |
INT |
3 |
在芯片上表面 |
| SYNC_LIFT_UP |
INT |
4 |
和顶针同步提升阶段 |
| TO_BOND_MAX_FORCE |
INT |
5 |
|
| MOVE_TO_BOND_POSITION |
INT |
6 |
运动到Bond位置 |
| IN_BOND_POSITION |
INT |
7 |
在Bond位置 |
二、示例代码
以下示例代码用于插补器的测试。运行代码后,用户可以通过网页访问可视化界面,在虚拟环境中对轴运动进行测试和验证。