• 博士控制器添加91号程序(截图为97号,现场使用是91号),主要设置内容是压力和电流。
• 电极(无要求)
• 压力为0.4bar(400N)
• 电流设为1KA(也可不设,焊枪调用91号程序只是为了检测通讯)
DEF VwTimerHandshakeSteps(CommStep:OUT, Point_DATA:IN, TimeOutExtension:IN) 与焊接控制器通讯的程序号99
DECL SGg_POINT_T Point_DATA
DECL INT CommStep
DECL REAL TimeOutExtension
SWITCH CommStep
CASE ResetWeldStart 重置焊接启动
SGL_SetOut(SG_StartWelding_WT[SG_ActiveWeldTimer],FALSE) A785 开始焊接关闭
SGL_SetOut(SG_WithCurrent_WT[SG_ActiveWeldTimer],FALSE) 带电流焊接
CommStep = UserPreSetCheckNumb
SG_SetNumberToOutput(SG_ProgramNumber_WT_S[SG_ActiveWeldTimer]+PointToTypeOffset,SG_ProgramNumber_WT_S[SG_ActiveWeldTimer] + PointToTypeOffset+FzgTypWidth - 1,0)
SG_SetNumberToOutput(SG_ProgramNumber_WT_S[SG_ActiveWeldTimer],SG_ProgramNumber_WT_E[SG_ActiveWeldTimer],SG_CheckProgNum_WT[SG_ActiveWeldTimer]) A801-A816检查程序号发出 SG_CheckProgNum_WT[1]=99
CommStep = GetCheckValues 获取检查值
SGL_TimerControl(SG_TimerWTComm,#TRestart) 时间监控
CASE GetCheckValues 获取检查值
checkForceValue =SG_GetNumberFromInputs(SG_Force_WT_S[SG_ActiveWeldTimer], SG_Force_WT_E[SG_ActiveWeldTimer]) 获得力值
checkForceValue = (checkForceValue *SG_checkfactor_WT[SG_ActiveWeldTimer]) +
SG_checkoffset_WT[SG_ActiveWeldTimer]
IF ( (checkForceValue<=(SG_CheckValue_WT[SG_ActiveWeldTimer] * 1.05)) AND (checkForceValue >= (SG_CheckValue_WT[SG_ActiveWeldTimer]* 0.95)) ) THEN 检查力反馈值为400上下5%
CommStep = CheckProgNumberRange 检查程序编号范围
ELSE
CONTINUE
IF (($TIMER[SG_TimerWTComm] >= SG_TimeoutTimeWTCom + TimeOutExtension)) THEN
SG_CheckProgWrong_WTER = TRUE
CommStep = ErrorStep
SGL_TimerControl(SG_TimerWTComm,#TSTOP)
ELSE
CommStep = GetCheckValues
ENDIF
ENDIF
CASE CheckProgNumberRange 检查程序编号范围
IF ((SGW_ChckProgNumbRange(Point_DATA)) == 1) THEN 焊点号范围正常
CommStep = SetNewProgramNumb
ELSE
SG_ProgNumbBigerIO_WTER = TRUE
CommStep = ErrorStep
ENDIF
CASE SetNewProgramNumb 设置新程序编号
IF (DevProcOn) THEN
SG_DevPreProgNum()
ENDIF
IF (VwTimerCommand == 1) THEN 控制器号1
SG_SetNumberToOutput(SG_ProgramNumber_WT_S[SG_ActiveWeldTimer]+PointToTypeOffset,SG_ProgramNumber_WT_S[SG_ActiveWeldTimer] + PointToTypeOffset+FzgTypWidth - 1,VwTimerFzgTyp) 发出类型号
ELSE
SG_SetNumberToOutput(SG_ProgramNumber_WT_S[SG_ActiveWeldTimer]+PointToTypeOffset,SG_ProgramNumber_WT_S[SG_ActiveWeldTimer] + PointToTypeOffset+FzgTypWidth - 1,0)
ENDIF
SG_SetNumberToOutput(SG_ProgramNumber_WT_S[SG_ActiveWeldTimer],SG_ProgramNumber_WT_E[SG_ActiveWeldTimer],SG_ProgramNumber) 发出程序号
IF (DevProcOn) THEN
SG_DevPostProgNum()
ENDIF
SG_UserPostProgNum()
CommStep = GetPointValue 获取点值
SGL_TimerControl(SG_TimerWTComm,#TStop) 关闭接口程序
DEFAULT
ENDSWITCH
END
索引表添加91号索引号(截图是97号)
91号程序名称按同服务程序相同(如31、41、51)
• Workvisual中焊机已经正确设置了握手程序为91号程序
•手动调用91号程序(截图是97号),查看压力反馈是否为400N
• 91号程序会在每次执行焊接类的指令时先进行调用,检测接收到的压力是否为400,目的是确认同焊机的信号交互是否正常
编辑:黄飞
评论
查看更多