LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Animatics dll calls

I've created Serial labview drivers that communicate with Animatics motors
(via RS-232) but was wondering if anyone's created a labview program that is
based on their SMI engine (SMIengine.dll) using Call Library Functions?
This would allow more flexibility such as compiling, error-checking and
loading a file directly from labview without having to do it through their
separate stand-alone application, SMI.

One issue I'm having in using CLF is that I can only "see" 4 function when
connected to their dll (SMIEngine.dll). Their manual exposes a slew full of
function but i'm unable to see them....

The only ones i can see are:

DLLCanUnloadNow
DLLGetClassObject
DLLRegisterServer
DLLUnregisterServer

anyone know why only these are exposed? I'm pretty new
to CLF's so maybe i'm
missing something?

If you've worked with Animatic Smart Motors in the past, I'd like to hear
your experiences.

If you're interested in seeing the DLL, email me or you can download the
SMI engine here: http://www.animatics.com/web/smi.html

Regis
0 Kudos
Message 1 of 24
(6,653 Views)
rl wrote:

> One issue I'm having in using CLF is that I can only "see" 4 function when
> connected to their dll (SMIEngine.dll). Their manual exposes a slew full of
> function but i'm unable to see them....
>
> The only ones i can see are:
>
> DLLCanUnloadNow
> DLLGetClassObject
> DLLRegisterServer
> DLLUnregisterServer
>
> anyone know why only these are exposed? I'm pretty new to CLF's so maybe i'm
> missing something?

This looks like a COM/OLE DLL. You basically request specific COM
objects through the DLLGetClassObject function. However if it is a fully
blown OLE DLL it probably registers an Active X interface and you should
be able to use it through the Active X functionality in LabVIEW.

Rolf Kalbermatter
Rolf Kalbermatter  My Blog
DEMO, Electronic and Mechanical Support department, room 36.LB00.390
0 Kudos
Message 2 of 24
(6,650 Views)
Found out information from Animatics... Their SMIengine.dll is a "COM" dll
and not your standard dll. That is why its not fully exposed when using the
CLF. Couldn't get more LV specific info since they have no expertise
there....

Anyone know how to access functions from a "COM" dll as oppose to a
standard dll?

Regis


"rl" wrote in message
news:2qsvlcF130rnbU1@uni-berlin.de...
> I've created Serial labview drivers that communicate with Animatics motors
> (via RS-232) but was wondering if anyone's created a labview program that
is
> based on their SMI engine (SMIengine.dll) using Call Library Functions?
> This would allow more flexibility such as compiling, error-checking and
> loading a file directly from labview without having to do it thro
ugh their
> separate stand-alone application, SMI.
>
> One issue I'm having in using CLF is that I can only "see" 4 function when
> connected to their dll (SMIEngine.dll). Their manual exposes a slew full
of
> function but i'm unable to see them....
>
> The only ones i can see are:
>
> DLLCanUnloadNow
> DLLGetClassObject
> DLLRegisterServer
> DLLUnregisterServer
>
> anyone know why only these are exposed? I'm pretty new to CLF's so maybe
i'm
> missing something?
>
> If you've worked with Animatic Smart Motors in the past, I'd like to hear
> your experiences.
>
> If you're interested in seeing the DLL, email me or you can download the
> SMI engine here: http://www.animatics.com/web/smi.html
>
> Regis
>
>
0 Kudos
Message 3 of 24
(6,650 Views)
The solution to using COM (Component Object Model) dlls instead of Standard
Dlls is treat them as ActiveX components. You can access them through:

1) register the DLL using the command prompt "regsvr32 smiengine.dll"
2) placing an Automation Refnum on the front panel.
3) Right click on the Icon and "Select ActiveX Class" ---> "Browse..."
4) You should be able to find your Component registered here in this list
(along with many other components)
5) From there, you can most likely use the "Invoke node" and "Property
node" to access the function calls....

Regis


"rl" wrote in message
news:2qu19gF141klvU1@uni-berlin.de...
> Found out information from Animatics... Their SMIengine.dll is a "COM" dll
> and not your standard dll. That is why its not fully exposed when using
the
> CLF. Couldn't get more LV specific info since they have no expertise
> there....
>
> Anyone know how to access functions from a "COM" dll as oppose to a
> standard dll?
>
> Regis
>
>
> "rl" wrote in message
> news:2qsvlcF130rnbU1@uni-berlin.de...
> > I've created Serial labview drivers that communicate with Animatics
motors
> > (via RS-232) but was wondering if anyone's created a labview program
that
> is
> > based on their SMI engine (SMIengine.dll) using Call Library Functions?
> > This would allow more flexibility such as compiling, error-checking and
> > loading a file directly from labview without having to do it through
their
> > separate stand-alone application, SMI.
> >
> > One issue I'm having in using CLF is that I can only "see" 4 function
when
> > connected to their dll (SMIEngine.dll). Their manual exposes a slew
full
> of
> > function but i'm unable to see them....
> >
> > The only ones i can see are:
> >
> > DLLCanUnloadNow
> > DLLGetClassObject
> > DLLRegisterServer
> > DLLUnregisterServer
> >
> > anyone know why only these are exposed? I'm pretty new to CLF's so maybe
> i'm
> > missing something?
> >
> > If you've worked with Animatic Smart Motors in the past, I'd like to
hear
> > your experiences.
> >
> > If you're interested in seeing the DLL, email me or you can download
the
> > SMI engine here: http://www.animatics.com/web/smi.html
> >
> > Regis
> >
> >
>
>
Message 4 of 24
(6,650 Views)
Please share your driver with the rest of the LabVIEW community by sumbitting it to the Instrument Driver Network at:
http://sine.ni.com/apps/we/niid_web_display.sub_driver

Thanks,
Jason Hobbs
Instrument Drivers
0 Kudos
Message 5 of 24
(6,652 Views)

Hi Regis,

 

Are you willing to share your Labview VI/ RS232 driver for the Smartmotor? 

 

Thanks,

 

Bill

 

 

0 Kudos
Message 6 of 24
(6,234 Views)
Here is a simple vi I created that uses SMIs COM library for communicating with a smart motor.  Download SMI 2.331 from www.animatics.com and you should be able talk to your motor with this vi using animatic's command syntax.
0 Kudos
Message 7 of 24
(5,870 Views)

When I download the animatics software from the website, I cannot find the smiengine.dll file. Is there anything I am missing? The only DLL file I can find is smi.dll. Any ideas? Thanks

0 Kudos
Message 8 of 24
(5,470 Views)

Where do I get SMIEngine.dll ?

 

I did download the dll file from internet but when I tried registering it, I got a error message.

 

Message I got,

 

"SMIengine.dll" is not an executable file and no registration helper is registered for this file type.

 

0 Kudos
Message 9 of 24
(5,444 Views)

I don't know if I can add a whole lot to the conversation, but the only method I was able to get to work was to:

 

1.  Download and install SMI 2.331 found here: http://www.animatics.com/web/smi.html.

2.  Restart PC to ensure proper registration of library files.

3.  Tap into the library using an Active X reference by placing it on the front panel, right clicking on it selecting the Active X class of INTEGMOTORINTERFACELib.ISMIComm

4.  Invoke deired methods (write, read, download file, upload file, etc) on that reference through the vi's block diagram

5.  Launch the newly installed SMI application and go to "Help">"Smart Motor Programming Guide"  to get the motor syntax (i.e. Invoke Read method and send Rp command will result in the motor reporting position).

 

The vi I provided a few posts ago already has the Active X reference in it and contains 4 common methods to invoke.  I know this isn't the most efficient method and its a pain if you need to deploy the code (you always need SMI installed as well), but I have reliably used this vi on 3 seperate applications to date.  Hope this helps.

 

 

0 Kudos
Message 10 of 24
(5,427 Views)