? 博士控制器添加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,目的是確認同焊機的信號交互是否正常
編輯:黃飛
評論
查看更多