Jump to content
OMRON Forums

caixin

Members
  • Posts

    1
  • Joined

  • Last visited

Everything posted by caixin

  1. Hi, below you can see a piece of source code for EQU reading.The value of P1 in PLC0 should be 1000, The value of sys.idata[65535] in ISR should be 1000,but the actual value is not fixed(The actual: P1=988,sys.idata[65535=1996]).Can you help me see why? IDE:4.1.0.24. CK3M:2.4.0.4. Thanks in advance. //PMAC Script Language\Motion Programs open prog 1 inc linear ta 400 tm 3600 dwell 0 Gate3[0].Chan[0].CompA=20*4096 Gate3[0].Chan[0].CompB=30*4096 Gate3[0].Chan[0].CompAdd=40*4096 Gate3[0].Chan[0].EquWrite=1 dwell 0 p1=0 Sys.Idata[65535]=0 dwell 0 Gather.Enable=2 dwell 0 x 40000 dwell 0 Gather.Enable=1 close //PMAC Script Language\PLC Programs open plc 0 local oldequ; if((Gate3[0].Chan[0].Equ==1)&&(oldequ==0)) { p1++; oldequ=Gate3[0].Chan[0].Equ; } else { oldequ=Gate3[0].Chan[0].equ; } Close //C Language\Realtime Routines void CaptCompISR(void) { volatile GateArray3 *MyFirstGate3IC=GetGate3MemPtr(0); int *CaptCounter; CaptCounter = (int *)pushm + 65535; (*CaptCounter)=(*CaptCounter)+1; MyFirstGate3IC->IntCtrl=0x10; }
×
×
  • Create New...