Mach3 Plugin - Passing DROs

Mechanism for transfering values back and forth between Mach3 and KFLOP
Mach3 User DROs 1 to 50 map to KFlop UserData 0 to 99 (2 words each double)
To Read from KFLOP to Mach3 use NotifyPlugins codes 18001 to 18050
To Write from Mach3 to KFLOP 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 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);
}
}