恭喜,你发布的帖子
发布于 2022-08-02 12:45:10
4楼
看了您的问题,运行程序步中第二个程序段的OVERV是FB284块中的OVERV给的
请问老师:
以下是课程提供的练习程序case语句中的部分程序,我怎么没有找到拧丝V90运行到程序段2后,设置FB284块中的OVERV=0的语句,
请问此处是如何实现的?
#FB_STATE_START_SCREW:
IF "LuToMm"(#instSinaPosVertical.ActPosition) > 18.0 AND #instSinaPosScrew.EPosZSW2.%X12 THEN
#done := TRUE;
#statFBState := #FB_STATE_VER_BACK;
#statEPOSDelay(IN := FALSE,
PT := #EPOS_DELAY_TIME);
#instSinaPosVertical.ExecuteMode := FALSE;
#instSinaPosScrew.ExecuteMode := FALSE;
ELSE
#instSinaPosVertical.Position := "MmToLu"(#POSITION_SCREW_LENGTH);
#instSinaPosVertical.Velocity := "MmsToLupm"(#VER_VELOCITY);
#instSinaPosScrew.Position := 0; //设置从程序段0处开始执行
#instSinaPosVertical.ModePos := 2;
#instSinaPosScrew.ModePos := 6; //设置运行程序段模式gjb-----------------------------------------------
#statEPOSDelay(IN := true,
PT := #EPOS_DELAY_TIME);
IF #statEPOSDelay.Q THEN
#instSinaPosVertical.ExecuteMode := true;
#instSinaPosScrew.ExecuteMode := true;
END_IF;
END_IF;
#FB_STATE_VER_BACK:
IF ABS("LuToMm"( #instSinaPosVertical.ActPosition) - #POSITION_INITIAL) < 0.1 THEN
#statFBState := #FB_STATE_START_POSITION;
#statEPOSDelay(IN := FALSE,
PT := #EPOS_DELAY_TIME);
#instSinaPosVertical.ExecuteMode := FALSE;
ELSE
#instSinaPosVertical.Position := "MmToLu"(#POSITION_INITIAL);
#instSinaPosVertical.Velocity := "MmsToLupm"(#VER_FAST_VELOCITY);
#statEPOSDelay(IN := true,
PT := #EPOS_DELAY_TIME);
IF #statEPOSDelay.Q THEN
#instSinaPosVertical.ModePos := 2;
#instSinaPosVertical.ExecuteMode := true;
END_IF;
END_IF;
请填写推广理由:
分享
只看
楼主