The simplest sine generator is the MOVECIRC. It controls 2 axes but each axis is doing a sine or cosine.
BASE(0,10) ' put the second axis up out of the way.
MOVECIRC(0,0,10,0,0) ' do a sine of amplitude 10
Use the SPEED parameter to set the frequency. For amplitude 10, the effective distance of the circle is the circumference which is 2 x 10 x PI. =62.83. So for one cycle in 200 msecs, that's 62.83 x 5 per second = 315 and therefore needs a speed of 315. SPEED is in user units per second.
Alternatively you can build a sine CAM profile in the TABLE and run CAM.
my_units = 50
t_index = 1000
FOR theta = 0 TO 360
TABLE(t_index, SIN(theta * PI / 180) * my_units)
t_index = t_index + 1
NEXT theta
' period is dist_factor / SPEED
' frequ = 1 / period
SPEED = 1000
ACC(SPEED * 1000)
REPEAT
CAM(1000, 1360, amplitude, 200) AXIS(x) ' 200/1000 = 0.2 seconds
UNTIL