Using a Smart Motor with Matlab

3 Ansichten (letzte 30 Tage)
Ryan
Ryan am 18 Jan. 2012
Bearbeitet: Daniel am 10 Apr. 2014
I have a Smart Motor made my Animatics (www.animatics.com). They have examples of how to control it using a COM object in C++ and Visual Basic. I have tried using the actxserver function but to no avail.
The VB sample is as follows:
Sub EngineUserSub()
On Error GoTo ErrorHandler:
' Create an instance of SMIHost object
Dim CommInterface As SMIHost
Set CommInterface = New SMIHost
CommInterface.OpenPort(COM1)
n = CommInterface.AddressMotorChain
Send a command and get response
CommInterface.DefaultMotor = 1
CommInterface.WriteCommand(RSP)
Dim Response As String
Response = CommInterface.ReadResponse
MsgBox(Response)
If anyone has accomplished this or has any insight, it would be greatly appreciated.
Thank you, Ryan

Antworten (1)

Daniel
Daniel am 10 Apr. 2014
Bearbeitet: Daniel am 10 Apr. 2014
The following may be helpful:
Note: a space acts as a delimiter for commands sent to the motor
function openmoveclose(x)
%open the serial port COM1
%apply the displacement x (in steps)
%close the port
% choose the serial port COM1
s = serial('COM1');
% set all the properties of the port
s.BaudRate = 9600;
s.DataBits = 8;
s.Terminator = 'LF/CR';
s.RequestToSend = 'off';
s.FlowControl = 'software';
s.DataTerminalReady = 'off';
s.parity = 'none';
%open the port
fopen(s);
%apply displacement
%allow 5ms second for initialization => prevent 'fuzzy' dismissal of the command
%clear the board memory
%remove hardware limits, set velocity and acceleration
preamble = ['EIGN(2) EIGN(3) ZS a=0 AT=9000 VT=283032 END'];
command = ['WAIT=5' ' ' 'PT=' int2str(sign(x)*round(abs(x))) ' ' 'G'];
fprintf(s,preamble);
fprintf(s,command);
%close the port
fclose(s);
delete(s)
clear s;
end

Communitys

Weitere Antworten in  Power Electronics Control

Kategorien

Mehr zu Use COM Objects in MATLAB finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by