基本信息
源码名称:BECKOFF 运动控制 程序框架
源码大小:0.78M
文件格式:.zip
开发语言:C/C++
更新时间:2020-07-06
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍




PRG_01_InRefresh();  (*输入刷新*)

PRG_Alarm() ;
PRG_CylinderAlarm() ;
Motion_Condition();
PRG_04_ManualMode();
PRG_FB_0_Run() ;
MAIN._NT; (**系统重启,CE远程桌面,系统时间,定时保存掉电数据,等系统常规动作*)
MAIN.judgement; (*系统需要进行某一步之前需要对一些关键状态进行判定*)
MAIN.SystemHandle; (*系统状态切换按钮的响应与信号汇总,以及指示灯的输出*)
MAIN.prepare; (*清能驱动器设置为CSP 8  CST 10模式*)(*所有35个轴设定位置模式*)
MAIN.Status_Monitor;
MAIN.Use_PanelMaster;(*屏通触摸屏*)
MAIN.Vision;


(* PowerOn, (*设定驱动器工作模式*)
ConnectionTest, (*检查驱动器当前模式反馈是否符合要求*)
Initialization, (*对系统执行初始化*)
ModeSelect, (*系统准备完成,进行模式选择*)
ManualMode, (*调用手动模式的功能*)
HomeMode, (*调用回原点功能,如绝对值编码器,可不用此模式*)
AutoMode, (*进入到系统自动模式*)
AutoMode2, (*启动自动模式(包含系统所有动作)*)
Error (*调用系统报警的功能,触发系统停机等动作*)
*)
SystemInManualMode:=MainState=ManualMode;(*模式选择如果MainState=Manualmode则SystemInManualMode为TRUE*)
SystemInAutoMode:=MainState=AutoMode; ;(*模式选择如果MainState=Automode则SystemInAutoMode为TRUE*)
CASE MainState OF
PowerOn:
MainState:=ConnectionTest;
ConnectionTest:
PRG_Init() ;(*初始化,将状态变成FALSE*)
IF bDeviceStateOK AND bDriveModeOK  THEN
MainState:=Initialization;
END_IF
Initialization: (*打开所有轴使能*)
MAIN.EnableDrive;

MainState:=ModeSelect;

ModeSelect:
IF NOT  HmiAutoMode THEN
MainState:=ManualMode;
ELSE
MainState:=AutoMode;
END_IF
ManualMode:
PRG_04_ManualMode();
PRG_Home();
IF HmiAutoMode  AND bAutoPermit THEN
MainState:=AutoMode;
END_IF
IF bSysInit  AND NOT bRunFlag THEN
bSysiniting:=TRUE ;
MainState:=HomeMode;
END_IF
IF NOT Axis_Has_error THEN
MAIN.EnableDrive;
END_IF

HomeMode:
PRG_Home();
IF  All_Homed_OK  THEN (*回零完成,自动回到模式选择*)
MainState:=ManualMode;
END_IF
AutoMode:
PRG_06_AutoMode();

IF NOT  HmiAutoMode THEN
MainState:=ManualMode;
END_IF
Error:
MAIN.ActError; (*断开使能子程序*)

IF NOT bSysEstop (*AND NOT Axis_Has_error *) THEN
MainState:=PowerOn;
bEstopReset:=TRUE;
bSysHomed:=FALSE ;
END_IF
END_CASE
IF (bSysEstop  (*OR Axis_Has_error *)) AND NOT bFirstCycle THEN (*由于第一个周期信号取反带来的急停不进入系统*)
MainState:=Error;
iAutoStep:=0;
END_IF
IF bSysEstop OR   FtrigAutoMode.Q THEN
bRunFlag:=FALSE;
iAutoStep:=0;
END_IF
PRG_02_OutRefreash();(*输出刷新*)
PRG_PTP(); (*轴运动及参数刷新*)