第240513章 消除Otostudio关于库文件的48个报警
文章目录
- 第240513章 消除Otostudio关于库文件的48个报警
- 前言
- 一、替换Lib_Googol文件夹
- 二、替换扩展模块配置文件
- 三、复制MODBUSTCP库到Lib_Googol文件夹
- 四、替换GTS800和DEFAULT文件
- 五、仿真模拟
前言
一、替换Lib_Googol文件夹
注意:必须替换Lib_Googol文件夹,而不是全选里面文件后替换,因为没有权限。
二、替换扩展模块配置文件
注意:必须替换PlcConfGoogol文件夹,而不是全选里面文件后替换,因为没有权限。
三、复制MODBUSTCP库到Lib_Googol文件夹
四、替换GTS800和DEFAULT文件
五、仿真模拟
PROGRAM PLC_PRG
VAR
rtn: INT;
pValue: LREAL;
pValue1: LREAL;
count: INT;
pClock: DWORD;
pStatus: INT;
axis: INT;
axis_on: BOOL;
profile: INT;
pPrmjog: TJogPrm;
pPrmtrap: TTrapPrm;
vel: LREAL;
start: BOOL;
mask: DINT;
start1: BOOL;
time1: TON;
encPos: DINT;
start2: BOOL;
stop: BOOL;
zero: BOOL;
trap: INT;
EncPos1: LREAL;
EncPos2: LREAL;
i,q:INT;
END_VAR
rtn:=GT_IsEcatReady(ADR(pStatus));(*查询 GUC EtherCAT 通讯状态*)
IF pStatus=1 THEN
RETURN;
END_IF
rtn:=GT_GetEncPos(1, ADR(EncPos1), 1, 0);
rtn:=GT_GetEncPos(2, ADR(EncPos2), 1, 0);
IF start THEN
rtn:=GT_AxisOn(1);(*打开伺服使能的轴的编号*)
rtn:=GT_AxisOn(2);
rtn:=GT_ClrSts(1,2);(*只有当跟随误差正常以后,才能清除跟随误差越限标志*)
rtn:=GT_ClrSts(2,2);
rtn:= GT_ZeroPos(2,1);
rtn:= GT_SetPrfPos(2, 0);
rtn:=GT_PrfJog(1);(*设置指定轴为 Jog 运动模式*)
rtn:=GT_PrfTrap(2);(*设置指定轴为点位运动模式*)
pPrmjog.acc:=1;
pPrmjog.dec:=1;
pPrmjog.smooth:=0.9;
rtn:=GT_SetJogPrm(1,ADR(pPrmjog));(*设置 Jog 运动模式下的运动参数*)
pPrmtrap.acc:=1;
pPrmtrap.dec:=1;
pPrmtrap.smoothTime:=25;
rtn:=GT_SetTrapPrm(2,ADR(pPrmtrap));(*设置点位运动模式下的运动参数*)
rtn:=GT_SetVel(1,30);(*设置目标速度*)
rtn:=GT_SetVel(2,10);(*设置目标速度*)
start:=0;
start1:=1;
END_IF
IF start1 THEN(*启动*)
rtn:=GT_Update(mask:=SHL(2#1,(1-1)));(*启动 Jog 运动*)
rtn:= GT_GetPrfPos(1, ADR(pValue),1,0);
q:=q+1;
IF pValue>=20000 THEN
start1:=0;
start2:=1;
END_IF
END_IF
IF start2 THEN
rtn:=GT_SetPos(2,30000);(*设置目标位置*)
rtn:=GT_Update(mask:=SHL(2#1,(2-1)));(*启动点位运动*)
rtn:= GT_GetPrfPos(2, ADR(pValue1),1,0);
IF pValue1>=30000 THEN
rtn:=GT_Stop(2#1,0);(*停1*)
time1(IN:=1 , PT:=t#10s , Q=> , ET=> );
IF time1. Q THEN
(*修改编码器位置*)
rtn:=GT_ZeroPos(2,1);
rtn:= GT_SetPrfPos(2, 0);
rtn:=GT_ZeroPos(1,1);
rtn:= GT_SetPrfPos(2, 0);
time1(IN:=0 , PT:=t#10s , Q=> , ET=> );
i:=i+1;
start2:=0;
END_IF
END_IF
END_IF