Mach3 Plugin - Passing DROs
Mechanism for transfering values back and forth between Mach3 and KFLOP/Kogna
Mach3 User DROs 1 to 50 map to KFLOP/Kogna UserData 0 to 99 (2 words each double)
ToRead from KFLOP/Kogna to Mach3 use NotifyPlugins codes 18001 to 18050
To Write from Mach3 to KFLOP/Kogna use NotifyPlugins codes 19001 to 19050
Example MACH3 Side
SetOEMDRO(1007,123.456) 'Put a value in a Mach DRO
NotifyPlugins(19007) 'Send it to KFLOP
Sleep(3000) 'Wait for KFLOP to modify and copy it
NotifyPlugins(18008) 'Read the result from KFLOP
x=GetOEMDRO(1008) 'Check the value passed back
Example KFLOP/Kogna Side
#include "KMotionDef.h"
#define DROIN 7
#define DROOUT 8
main()
{
double *pin = (double *)&persist.UserData[(DROIN -1)*2];
double *pout = (double *)&persist.UserData[(DROOUT-1)*2];
for(;;)>
{
Delay_sec(2);
*pout = *pin + 999;>
printf("DROIN %d = %f DROOUT %d = %f\n",DROIN,*pin,DROOUT,*pout);
}
}