Coming from the EPICS of 20 years ago, I still would do the same
only with more modern drivers/device support (we're still using
drvAscii, drvSerial, tnetIo from when we implemented ours):
it's just a device on a serial line, it an be controlled with analogout-s
or stringout-s, and similar for input, strings being put together or
split apart in gensub-s/asub-s.
Being faced with a similar problem, what is/are today's serial line
on terminal server/CMS drivers of choice?
Maren
On Mon, Feb 6, 2017 at 11:53 PM, Ralph Lange <[email protected]
<mailto:[email protected]>> wrote:
Dear motion specialists,
I am writing on behalf of Paramveer Jain (in CC) who has contacted
me with this issue, but as I have never done motion control
integration with EPICS, I'd rather throw this ball up than send him
into the wrong direction.
He is being tasked with developing EPICS support for a locally
developed motor controller.
The hardware setup can be summarized as:
* Moxa embedded TCP-to-serial converter (NE4110S)
* Serial connection (RS-232)
* Homemade motor controller (based on an AT89C52)
* Ark Motion AMS 3630 stepper motor driver.
The controller software talks ASCII in command/response fashion, e.g.:
* Read position (rotary encoder)
Command: STX U <CR>
Response: STX U pppppp <CR>
pppppp = six digit hex (divide by 640 to get millimeter)
* Go to position (rotary encoder)
Command: STX P1 sss pppppp <CR>
Response: \06 (ACK)
sss = three digit hex (speed in mm/s multiplied by 240)
pppppp = six digit hex (millimeter multiplied by 640)
* ...
What's the best/easiest way to do this? What are the caveats?
Is there a tutorial he could follow?
Is there existing support for another motor that he could start from?
Thanks a lot for your help!
~Ralph