Hi Yahto,
There are a number of options for where you build the
strings.
Since this is a motor, do you want to treat it like a motor,
with the ability to set the velocity and acceleration, detect limit switches,
have soft limits, etc.? If so, then you should consider using the EPICS motor
record. In that case you would write an asyn driver that constructs the
strings and uses asynOctetSyncIO to send and receive strings from the
underlying drvAsynSerialPort driver. There are a number of examples in the
EPICS “motor” module, including the Newport XPS, PMAC and other drivers.
Mark
HI
Tech-talk,I am trying to build an IOC to communicate with serial devices
through the serial to Ethernet Device Server.
The
serial device supports the streams of hex format.
The
binary command format when using RS232 or RS485 is as follows:
Bytes Meaning
1 Module address
1 Command number
1 Type number
1 Motor or Bank number
4 Value (MSB first!)
1 Checksum
total: 9 bytes
the
checksum is calculated by adding up all bytes (including the module address
byte) using
8-bit addition. Here is the examples to show how to do this:
in C:
unsigned char i, Checksum;
unsigned char Command[9];
//Set the “Command” array to the desired command
Checksum = Command[0];
for(i=1; i<8; i++)
Checksum+=Command[i];
Command[8]=Checksum; //insert checksum as last byte of the
command
//Now, send it to the module
I want to
control the motor to rotate right through the serial device.
Instruction:
Rotate right, motor #1, velocity = 350
Binary:
Byte Index
0
1
2
3
4
5
6
7
8
Function
Target- Instruction
Type
Motor/
Operand Operand
Operand Operand Checksum
address
Number
Bank
Byte3
Byte2
Byte1 Byte0
Value (hex)
0x01
0x01
0x00
0x01
0x00
0x00
0x01
0x5e 0x62
By
writing streamDevice protocol file(out'\x01\x01\x00\x01\x00\x00\x01\x5e\x62';),motor will
rotate. Using "EDM" or "caput" to
input the
variable,where do I do my processing (like calculating the Checksum and convert
the velocity to four bytes long)? where
write my
own parsing code in C?having other approaches. Could you give any example?
Thanks,
Yahto Dam
2010.11.16