Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

SMD-7615 Read IOs

Hello!

I am using a SMD-7615 Ethernet Stepper Drive and try to read digital IO (X1 to X8).

Using invoke node "Read Digital Line" returns nonsense. X1 and X2 seem to be always correct, the rest however changes oddly. E.g. changing a High/Low level on X5 also affects X6 and X7 (but  there is no clear correlation).

However the Inputs X1-X8 displayed in "Drive Status Monitor" of "NI Stepper COnfiguration Utility" show the correct state.

We have the same behavior on 4 SMD-7615, so a faulty device seems unlikely.

 

How do I properly read the state of a digital input from LabVIEW?

 

Attached you find a test-VI and a screenshot of the Configuration Tool.

 

Regards Christoph

Download All
0 Kudos
Message 1 of 5
(2,716 Views)

Hi Christopher,

Sorry I can't offer you a solution at the moment, but we are looking into the SMD-7516 for a project and I was wondering if you found a solution for your problem. Also, were you able to readout the Analog Inputs via the softmotion API at runtime, by chance?

Thanks

Cris

 

0 Kudos
Message 2 of 5
(2,086 Views)

Hey Chri,

I have not used the analog inputs, so I don't know about the softmotion API.

 

Regarding the IOs:

I asked NI for help (July 2017). They were able to reproduce the issue but could not offer a solution.

I just checked and it's supposed to be fixed now. See ID 657377 here: http://www.ni.com/product-documentation/54657/en/

 

Anyway I have not tested it any more since I've discovered a much more severe issue which basically makes the drives unusable (no solution by NI).

I had random software crashes (Timeout error -70229 and -77072) after hours or days of using my software.

It took some time but figured it out... Softmotion communicates via TCP/IP with the drives. TCP (by design) handles transmission errors by itself (TCP retransmission).

FunFact 1: As far as I can tell the drive has a bug in it's TCP implementation and a retransmission package is not send (or a proper reply is missing, I don't remember). 

FunFact 2: By design the drive locks itself to the first device that is communicating. If you try to connect to the drive after it is dead. You have to restart it by removing the power. This is written somewhere in a doc, not sure if it's a NI doc of AppliedMotion (see below)

FunFact 3: The drive is actually just a rebranded drive from AppliedMotion (ST-5 or ST10, please check)

FunFact 4: Applied Motion has a detailed command documentation for UDP communication. This is out of specification as I don't know how much the NI-7615 differs to the AM ST-X but I had no issues.

 

I solved both problems using UDP communication according to applied motion doc.

Important: FunFact 2 also applies here but you can solve it by forcing your software to use always the same source port for UDP communication (I think I tried to do so with the TPC Communication but there was no way to specify a source port).

The drive can also be configured to send a UDP reply (ACK/NAK). That allows you to move the "transmission control" into application level. Somewhere deep in my implementation there is a core that sends a UDP Command an expects a ACK reply. It retries a number of times and fails if they all time out. It is important to understand that package loss is normal both for TCP and UDP so they have to be handled somehow. How frequent this is happening depends on your network setup, but even with a 1:1 connection you cannot trust UDP without checking transmission.

You can also abstract the problem and check that the drive is doing what you expect (like axis is actually moving after a move command etc). If your application does not care you dont have to do this.

 

I uploaded my code here (LV2016) .... it's not well documented. Since then Ive learned some better practice but it works reliable now ...

https://github.com/CS-GSI/GSI-BIO-SMD7615-QMH-Device

- There are some VIs missing (for logging)

- You have to place the VI "stepper.vi" as parallel structure to your code and connect an input config cluster and a queue for communication

- initially you have to send a init command

- relevant UDP communication stuff is in subfolder eSCL

- I guess -- if at all -- start from SMD-7615.lvlib -> eSCL->eSCL.lvlib -> Test -> SMD7615 UDP Test.vi

 

 

Regards

Christoph

 

0 Kudos
Message 3 of 5
(2,080 Views)

Hi Christoph,

 

Thanks a lot for your reply, I'm sure others will also find your experience quite invaluable. I couldn't find any mention of "FunFact2" in the NI's Document, so I guess it would be in AppliedMotion's one. 

May I ask how you found that the drive is actually that specific model of AppliedMotion (ST5 or ST10)? Could you link that document here please?

Thanks again for such a helpful response,

Cris

 

0 Kudos
Message 4 of 5
(2,061 Views)

I cannot prove that they are actually the same. But compare the mechanical dimensions and the look of Applied Motion ST-5 to the NI-7615. Only difference I see is the NI label.

Details see here https://www.applied-motion.com/products/stepper-drives/st5-q-ee

 

There are differences in the docs such as output current (0,3-2,2 A for NI-7615 vs 0-5A for ST-5) and probably some more ...

 

On the linked page above you find "ST5-10-QSi_Hardware Manual_920-0004F-opt-.pdf" (-> Downloads)

Page 12 describes the IP-Locking.

 

There are other similarities ... if I remember correct the drive-configuration tool looks the same (besides different label).

 

Of course I don't know if the firmware on the NI-7615 is the same as on the ST-5, but the UDP eSCL commands worked as described, so I guess they are more or less.

 

Imho this not really an acceptable solution, especially since the service request I opened was not helpful at all.

I also don't know if this is a general problem of the NI-7615 or a combination of different software releases.

We had already bought six NI-Drives for simplicity (softmotion toolkit). After realizing what was going on I was looking for replacement, I guess that's when I found the drives by Applied Motion.

In a last effort I just tried the eSCL commands and it worked. Of course this is out of specs by NI and I'll never upgrade the firmeware (if possible at all) of the drives.

 

So if you have not decided for a drive maybe just get another one. Or knock at NI's door and complain.

 

Regards

Christoph

 

Message 5 of 5
(2,053 Views)