TwinCAT的NC部分涉及到两块,一块是CiA402(或曰DS402),定义了运动控制相关的PDO,SDO,驱动器状态机和运行模式等。另一块是PLCOpen,定义了MC_Power,MC_MoveAbsolute,MC_Stop等函数接口以及轴状态的封装。 其中CiA402是必须要实现的,PLCOpen实不实现都无所谓。因此只需要实现CiA402能控制驱动器就行了,并且我也只需...
1FUNCTION_BLOCK Axis_Base_PTP23VAR4REF: AXIS_REF;5mcMoveRela: MC_MoveRelative;6mcPower: MC_Power;7mcStop: MC_Stop;8mcMoveAbs: MC_MoveAbsolute;9mcReset: MC_Reset;10mcReadPosition: MC_ReadActualPosition;11mcReadStatus: MC_ReadStatus;12mcHalt: MC_Halt;1314AxisPara:ST_AxisPara;15END_VAR ...
AxisState:MC_AXIS_STATE;//轴状态结构体 TargetPosition:LINT:=10000;//目标位置(单位:脉冲) END_VAR //设置轴为位置模式 MC_SetAxisMode(AxisHandle,MC_AXIS_MODE_POSITION,AxisState); //移动轴到目标位置 IFMC_MoveAbsolute(AxisHandle,TargetPosition,0,0,AxisState)THEN //移动成功 MC_WaitForTargetPositi...
定义好MC_MoveAbsolute模块,注意是在MAIN上面右击添加一个Action,然后添加一个BOX,然后设置名称为MC_MoveAbsolute,同样有很多输入输入变量(除了AxisRefOut是全局的,跟前面一样套用) 注意MoveAction是一个功能块,它定义的变量都会出现在MAIN中,而不同于前面的AxisEnable是一个程序,他的变量就是自身的(访问是通过AxisEnab...
MC_MoveVelocity 121 5.4.2 绝对定位MC_MoveAbsolute 122 5.4.3 相对定位MC_MoveRelative 122 5.4.4 点动MC_Jog 123 5.4.5 停止MC_Stop 和MC_Halt 125 5.4.6 模长内定位MC_MoveModulo 126 5.5 位置外部设定值发生器(External set value generation ) 127 5.5.1 MC_ExtSetPointGenEnable 128 5.5.2 MC_Ext...
定义好MC_MoveAbsolute模块,注意是在MAIN上面右击添加一个Action,然后添加一个BOX,然后设置名称为MC_MoveAbsolute,同样有很多输入输入变量(除了AxisRefOut是全局的,跟前面一样套用) 注意MoveAction是一个功能块,它定义的变量都会出现在MAIN中,而不同于前面的AxisEnable是一个程序,他的变量就是自身的(访问是通过AxisEnab...
TwinCAT NC PTP 实用教程V3
浅谈数组在TwinCat里的实际应用
VelocityProfile AccelerationProfile TwinCAT NC PTP- --PLCopen 功能块概览 MC_MoveAbsolute MC_MoveRelative MC_MoveSuperimposed MC_MoveSuperimposed MC_MoveAbsolute; MC MoveRelative MC_MoveVelocity MC_MoveAdditive MC_MoveAdditive; MC_PositionProfile MC_VelocityProfile MC_PositionProfile MC_AccelerationProfile MC...
定义好MC_MoveAbsolute模块,注意是在MAIN上面右击添加一个Action,然后添加一个BOX,然后设置名称为MC_MoveAbsolute,同样有很多输入输入变量(除了AxisRefOut是全局的,跟前面一样套用) 注意MoveAction是一个功能块,它定义的变量都会出现在MAIN中,而不同于前面的AxisEnable是一个程序,他的变量就是自身的(访问是通过AxisEnab...