You are not registered yet. Please click here to register!


 
 
plc storereviewsdownloads
This board is for PLC Related Q&A ONLY. Please DON'T use it for advertising, etc.
 
Try our online PLC Simulator- FREE.  Click here now to try it.

---------->>>>>Get FREE PLC Programming Tips

New Here? Please read this important info!!!


Go Back   PLCS.net - Interactive Q & A > PLCS.net - Interactive Q & A > LIVE PLC Questions And Answers

PLC training tools sale

Reply
 
Thread Tools Display Modes
Old December 3rd, 2017, 06:28 PM   #16
Ken Roach
Lifetime Supporting Member + Moderator
United States

Ken Roach is offline
 
Ken Roach's Avatar
 
Join Date: Apr 2002
Location: Seattle, WA
Posts: 14,161
You're getting it exactly.

Let's say your system logic to start the drive becomes true, and the controller solves the ladder rung with the START bit on it.

But then, in the instant before the next rung is executed, the I/O connection Requested Packet Interval times out and the Logix operating system grabs the current status of the Drive:O.Command word (all sixteen bits) and sends it to the drive.

The very next rung, which would have set the STOP bit to False, has not executed when the whole Output.Command word was copied out to the communications subsystem.

So the output word includes both the .START and the .STOP bit as true.

In the A-B world, STOP commands always win. It's that way on terminal strips, and over networks, and in every other instance where both Start and Stop can be present at the same time.

The classic indication of this network problem is when an operator tells you "I've got to punch the Start button several times before it takes effect". You can even see that in the habits of operators hammering on a Start button even long after the problem has been solved.
  Reply With Quote
Old December 3rd, 2017, 06:35 PM   #17
ASF
Lifetime Supporting Member
Australia

ASF is offline
 
Join Date: Jun 2012
Location: Australia
Posts: 2,647
Quote:
Originally Posted by Sparkyman1 View Post
...i'm wondering if writing to that tag (I.OutputFreq) could be the cause.
As you've no doubt established from the posts above, the issue is likely to be around the timing of your start/stop commands. But just because you asked this question specifically...

No. That couldn't be the cause. If you write over input data, it doesn't actually send that to the drive.

Essentially, your Input Data is just a tag structure, with data in it. If you have a 20ms RPI to your drive, then every 20ms the processor will gather values from the drive and dump them in that tag structure. You can also update the tags yourself, which is what you're doing in this program. But these tags don't actually go anywhere, they're just a memory area that the drive data gets put in when it arrives.

I do exactly the same thing with powerflex 525, only I use a different data bit which I generally don't need for anything else, rather than the output frequency. It works seamlessly, never any problems - and I use the start and stop timing as described by Ken above.

The GSV is probably a *better* way of detecting comms failure, but the disadvantage of that is that you can't do it within an AOI, because you have to point it to the ethernet object directly. Since I like to have everything to do with controlling and monitoring the drive packed into one AOI and tied up with a nice ribbon and a bow, I figured my way is the next best thing.
  Reply With Quote
Old December 3rd, 2017, 06:38 PM   #18
Sparkyman1
Member
United States

Sparkyman1 is offline
 
Join Date: Apr 2017
Location: Minnesota
Posts: 48
Quote:
Originally Posted by ASF View Post
No. That couldn't be the cause. If you write over input data, it doesn't actually send that to the drive.

Essentially, your Input Data is just a tag structure, with data in it. If you have a 20ms RPI to your drive, then every 20ms the processor will gather values from the drive and dump them in that tag structure. You can also update the tags yourself, which is what you're doing in this program. But these tags don't actually go anywhere, they're just a memory area that the drive data gets put in when it arrives.
When you put it that way, yeah. of course the program doesn't send input data BACK to the drive. doh, why didn't I think of that.

Thanks!
  Reply With Quote
Old December 3rd, 2017, 06:57 PM   #19
MATT116
Member
United States

MATT116 is offline
 
Join Date: Dec 2009
Location: Dallas, TX
Posts: 330
Quote:
Originally Posted by Sparkyman1 View Post
Processor is a L32E

For some reason, I thought that there was a tag member that would give a status on Ethernet communications for a powerflex 525 VFD. But I cant find it anymore.

Currently program that i'm looking at is writing a negative value to the tag "I.OutputFreq" and then waiting for that value to be corrected by the VFD.

That system works for detecting com loss, but we've always had intermittent troubles with VFD's not starting when commanded (for no apparent reason) or not reaching the proper speed, faulting, or showing comm loss, and i'm wondering if writing to that tag (I.OutputFreq) could be the cause.


How do you guys detect when Ethernet communications to a PF525 are lost?
AB has a AOI and faceplate on their sample code site that will handle the com loss.
  Reply With Quote
Old December 3rd, 2017, 08:15 PM   #20
rupej
Member
United States

rupej is offline
 
Join Date: Sep 2014
Location: NC
Posts: 411
Quote:
Originally Posted by Ken Roach View Post
You're getting it exactly.

Let's say your system logic to start the drive becomes true, and the controller solves the ladder rung with the START bit on it.

But then, in the instant before the next rung is executed, the I/O connection Requested Packet Interval times out and the Logix operating system grabs the current status of the Drive:O.Command word (all sixteen bits) and sends it to the drive.

The very next rung, which would have set the STOP bit to False, has not executed when the whole Output.Command word was copied out to the communications subsystem.

So the output word includes both the .START and the .STOP bit as true.

In the A-B world, STOP commands always win. It's that way on terminal strips, and over networks, and in every other instance where both Start and Stop can be present at the same time.

The classic indication of this network problem is when an operator tells you "I've got to punch the Start button several times before it takes effect". You can even see that in the habits of operators hammering on a Start button even long after the problem has been solved.
But I'm talking about holding the start command active the entire time you want the drive to run. So even if the drive saw the start and stop bits at the same time for one scan, it would see only the start command the following scan, and would take off running with no issues (except for a one-scan delay), right?

I'm asking seriously because that's how I've done it in the past.

Last edited by rupej; December 3rd, 2017 at 08:17 PM.
  Reply With Quote
Old December 3rd, 2017, 08:33 PM   #21
Ken Roach
Lifetime Supporting Member + Moderator
United States

Ken Roach is offline
 
Ken Roach's Avatar
 
Join Date: Apr 2002
Location: Seattle, WA
Posts: 14,161
In general, an A-B drive needs to see the START command go through a False-> True transition when the STOP command is currently False.

Dropping the STOP command one I/O scan later is not equivalent because there is no transition of the START command.

The ordinary "if not START then STOP" logic worked fine on old PLC-5 and SLC-500 systems that use synchronous I/O updates, and it will work most of the time on a Logix system that uses asynchronous I/O, like over EtherNet/IP. If your motors start infrequently, and your PLC program scan time is relatively long compared to the I/O update, then you might never experience a suppressed Start command.

I don't know for sure if that's what's happening in the system that started this thread, but I've experienced it (and done in-depth analysis) and I'm confident in my descriptions.
  Reply With Quote
Old December 4th, 2017, 08:55 AM   #22
Sparkyman1
Member
United States

Sparkyman1 is offline
 
Join Date: Apr 2017
Location: Minnesota
Posts: 48


You guys guessed this one EXACTLY
  Reply With Quote
Old December 5th, 2017, 06:41 AM   #23
rupej
Member
United States

rupej is offline
 
Join Date: Sep 2014
Location: NC
Posts: 411
Quote:
Originally Posted by Ken Roach View Post
In general, an A-B drive needs to see the START command go through a False-> True transition when the STOP command is currently False.

Dropping the STOP command one I/O scan later is not equivalent because there is no transition of the START command.

The ordinary "if not START then STOP" logic worked fine on old PLC-5 and SLC-500 systems that use synchronous I/O updates, and it will work most of the time on a Logix system that uses asynchronous I/O, like over EtherNet/IP. If your motors start infrequently, and your PLC program scan time is relatively long compared to the I/O update, then you might never experience a suppressed Start command.

I don't know for sure if that's what's happening in the system that started this thread, but I've experienced it (and done in-depth analysis) and I'm confident in my descriptions.
Thanks for the explanation- I hadn't thought about it requiring that extra transition. I'll test it out the next chance I get.
  Reply With Quote
Old December 5th, 2017, 12:00 PM   #24
keshik
Lifetime Supporting Member
Canada

keshik is offline
 
Join Date: Jun 2011
Location: Portland, OR
Posts: 401
Quote:
Originally Posted by ASF View Post
The GSV is probably a *better* way of detecting comms failure, but the disadvantage of that is that you can't do it within an AOI, because you have to point it to the ethernet object directly. Since I like to have everything to do with controlling and monitoring the drive packed into one AOI and tied up with a nice ribbon and a bow, I figured my way is the next best thing.
You can actually point the GSV properly when it inside an AOI. I learned this at this years Rockwell Automation on the Move.

What you do is is declare an "InOut" tag of data type "MODULE" in the AOI (for example, "set_ModulePath"). Inside the AOI set up your GSV with the "Instance Name" of "set_ModulePath" (or whatever your InOut tag was named). When calling the AOI you just point drive to that tag (use the device name).
  Reply With Quote
Old December 5th, 2017, 03:11 PM   #25
ASF
Lifetime Supporting Member
Australia

ASF is offline
 
Join Date: Jun 2012
Location: Australia
Posts: 2,647
Oooh. I'm going to have to try this out. This is why I love this forum!
  Reply With Quote
Old December 5th, 2017, 03:12 PM   #26
keshik
Lifetime Supporting Member
Canada

keshik is offline
 
Join Date: Jun 2011
Location: Portland, OR
Posts: 401
I know that I was very excited when I found it out for the exact same reason.
  Reply With Quote
Reply
Jump to Live PLC Question and Answer Forum

Bookmarks


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Topics
Thread Thread Starter Forum Replies Last Post
Powerflex 525 PID Controll for a Pump in a Hot Water Set travisroberts88 LIVE PLC Questions And Answers 18 November 10th, 2017 06:24 PM
PowerFlex 40 Comm loss icehube LIVE PLC Questions And Answers 0 April 17th, 2017 07:47 PM
Powerflex 525. Ethernet loss CallumMacEwen LIVE PLC Questions And Answers 11 August 24th, 2015 06:16 AM
Powerflex 525 Detecting Loss of ethernet connection DAnderson LIVE PLC Questions And Answers 1 December 29th, 2014 11:30 AM
RSLogix 5000 and Powerflex 525. Elcan LIVE PLC Questions And Answers 4 October 28th, 2014 10:38 AM


All times are GMT -5. The time now is 10:16 AM.


.