Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
GetCoordPos() cause Sys.WDTFault=1
#1
Code:
struct coorddata* csdata;
unsigned inttt=1;
void user_plcc()
{
    pshm->P[0]=GetCoordPos(inttt,csdata);
    pshm->P[1]++;
    pshm->P[2]=csdata[6].data;
}

Hello there,
I tried to query axis actpos in cplc, using function GetCoordPos(). Axis X/Y/Z were assigned to CS1 and X positon is non-zero. When running this cplc, p0..p2 always stays 0, ending up with background WDT trip Sys.WDTFault=1.Function GetCoordPos() seems to have been got stucked all the time. Anyone knows?
Reply
#2
I suspect the function usage is not correct.

Please send me your full project to test at ODT's technical support (ATTN: Steve):
ODT-Support@omron.com
Reply
#3
The GetCoord... API functions are particularly difficult to use. Here is an example bgcplc that puts the position of the X axis motor in coordinate system 1 into P2.

Code:
void user_plcc()
{
    struct coorddata MyCoordData[32];
    pshm->P[0] = (double) GetCoordDesPos(1, &MyCoordData[0]);

    double MyDesPosX;
    pshm->P[1] = (double) GetCoordAxisData(2, (char *)"x", &MyCoordData[0], &MyDesPosX);
    pshm->P[2] = MyDesPosX;

    // One Shot Bgcplc
    pshm->UserAlgo.BgCplc[0] = 0;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)