Logix SFC - Management

dalporto

Lifetime Supporting Member
Join Date
Jun 2021
Location
Montreal, QC
Posts
258
Hey.

If you haven't already read me, first time I'm building a full project on Rockwell PLC.

I started building the sequences last week and I just noticed something right now.

You see that I put all my sequences (screenshot below) and transitions in the same "program" (this is how Rockwell calls it, I'd call it a sections). Why I do that is to to be clean and make it easier for everybody to find something, but I may be very wrong.

What I noticed is that I can't "call" for a step status outside that section / program. I was trying to use let say INIT000.X in another section and this is when I knew that that tag doesn't exist outside that section, they are in the local section / program tags.

So, questions:
  • It looks not the way to go, but could I transfer all tags (steps / actions / transitions) to the main tags? Or maybe I didn't pay enough attention at some point and now all new tags from this sections are created "locally". Anyway, I'd need that all new steps and transitions to be created in the main tags and I don't think this is how it was intended by Rockwell;
  • That is mostly it. I still can create an action for the steps that I want to use in other sections, but I didn't think that Logix would restraint me to use the .X outside of the section where the SFC resides.
I could also still just group every routine under the section that I need to call the .X, but that could be messy and inconsistent.

Any advise on that?


1712355908399.png
 
Whenever you create a tag, one of the options is the 'scope'. This can be either 'Controller' (available everywhere) or 'Program' which will only be available locally within whichever program.

iirc by default, when you create tags using the dialogue box, the scope setting defaults to whatever you set for the last tag you created. I'm not sure offhand if you can edit the scope of a tag later (offline, at least -- you definitely can't change it online). If not then actually moving them from the local tags to the controller tags might be a hassle. I'm not sure if it'll let you cut/paste tags that are actually referenced from within the editor.

There's nothing stopping you changing the tags from Program- to Controller-scope other than the inconvenience though (as long as you don't have any duplicate names).
 
Whenever you create a tag, one of the options is the 'scope'. This can be either 'Controller' (available everywhere) or 'Program' which will only be available locally within whichever program.

iirc by default, when you create tags using the dialogue box, the scope setting defaults to whatever you set for the last tag you created. I'm not sure offhand if you can edit the scope of a tag later (offline, at least -- you definitely can't change it online). If not then actually moving them from the local tags to the controller tags might be a hassle. I'm not sure if it'll let you cut/paste tags that are actually referenced from within the editor.

There's nothing stopping you changing the tags from Program- to Controller-scope other than the inconvenience though (as long as you don't have any duplicate names).
Every tag I've created before then in every new section/Program was put in the "Controller". It's only the SFC steps / transitions / actions that went to the local program tags.

Did I miss / mess something when I started to create SFC routines?

I'll try to manually transfer a step tomorrow to see how it goes.

Thanks.
 
Take this with a grain of salt, but I think where you went wrong was to group all sequences in the same program if they're not related to the same equipment.

Read up on Equipment Modules and Equipment Phases and try to group equipment into programs. This lets you have logic surrounding the sequence and reading the state of it and is the way to achieve modularity in order to copy that whole section of code without any sort of modifications regarding tagnames and such.

There will be a need to read or command the equipment module or group of equipment status. For this you can create a variable/UDT with this information, create it as program scoped, but in the tag list under Access (I think) you can change from Local to Public, which will then allow you to refer to it in another program. Don't abuse of this mechanism or you'll create a massive amount of headaches and reduce the benefit.
 

Similar Topics

I have a box erecting machine that uses a PLC5/20 and SFC currently. I need to convert the equipment to run in its new home which will be...
Replies
0
Views
1,337
I am used to using SFC in Schneider unity and we use the step.X bit in the logic to see if the step is active. We don't use parallel branches so...
Replies
2
Views
2,197
I admittedly have used SFC very little over my career so far, but need to convert a PLC-5 program which has a decent amount of SFC code to Logix...
Replies
1
Views
2,145
Tonight I'm contemplating using a technique I saw the other day while troubleshooting an installation of a legacy machine for a customer of mine...
Replies
9
Views
4,089
I have been given a task to insert a couple more steps into a RSLogix v.20 SFC routine somewhere right in the middle of a chart with about 60 or...
Replies
3
Views
1,961
Back
Top Bottom