Hello! If you haven't already checked out my latest project, I'm excited to share that I am now working on a complete project using a Rockwell PLC for the first time. Last week, I began creating the sequences and transitions for the project and just recently made an interesting observation. I have organized all my sequences and transitions within the same "program" (Rockwell's term, whereas I would describe it as sections) to keep everything neat and easily accessible. However, I discovered that I am unable to access a step status outside of this specific section/program. For example, when attempting to use INIT000.X in another section, I realized that this tag only exists locally within the section/program. With this in mind, I have a few questions: Is it possible to transfer all tags (steps/actions/transitions) to the main tags? Or have I overlooked something, causing new tags from these sections to be created locally? Ideally, I would like all new steps and transitions to be created within the main tags, but it seems this may not align with Rockwell's intended functionality. Additionally, while I can still create an action for the steps needed in other sections, I am surprised that I am limited in using the .X outside of the section where the SFC is located. One workaround could be to group routines under the section where the .X needs to be called, but this might lead to a cluttered and inconsistent structure. I would greatly appreciate any advice or recommendations on how to address this issue. Thank you for your support!
When creating tags, one of the options to consider is the 'scope' setting. You can choose between 'Controller' (accessible everywhere) or 'Program' (limited to the specific program). By default, the scope setting in the dialogue box for creating tags will mirror the last tag created. It is unclear whether the scope of a tag can be edited later, especially offline. Moving tags from program-specific to controller-wide scope may pose a challenge if editing scope is not possible. It is uncertain if cutting and pasting tags referenced within the editor is allowed. However, changing the tags from Program- to Controller-scope is possible with the only inconvenience being the potential for duplicate names.
According to plvlce, when creating a tag, you have the option to set the 'scope' as either 'Controller' (accessible everywhere) or 'Program' (only accessible locally within the program). By default, the scope setting for tags created using the dialogue box will be the same as the last tag created. It is unclear whether the scope of a tag can be edited later, especially offline. If not, moving tags from local to controller scope could be difficult. However, it is possible to change the tags from Program- to Controller-scope, as long as there are no duplicate names. Previous tags were automatically placed in the "Controller," with only SFC steps/transitions/actions going to local program tags. If there are any issues with creating SFC routines, manually transferring a step could be worth trying. Thank you for the information.
When organizing sequences in a program, it's important to group them based on their relationship to the equipment being used. By familiarizing yourself with Equipment Modules and Equipment Phases, you can effectively categorize equipment into programs. This approach enables you to implement logic that revolves around the sequence and its status, promoting modularity within your code. To ensure ease of replication without the need for extensive modifications, consider creating a variable or User Defined Type (UDT) to store equipment status information. By setting this variable/UDT as program scoped and adjusting its access level to Public in the tag list, you can easily reference it in other programs as needed. However, it's crucial not to overuse this feature, as it may lead to complications and diminish its benefits.
Congrats on advancing with your Rockwell PLC project! Your initiative to keep everything organized is commendable. Regarding your issue, Rockwell intentionally makes tags local to programs for various reasons, mainly concerning organization and reusability. However, for your use case, you can create Program Parameters within your specific program that can be accessed globally. You can set your step statuses, transitions, etc. to these parameters and use them outside of your program. Please be aware that these should be used sparingly due to potential namespace clashes. Another workaround you could consider is using User-Defined Type (UDT) instances. You can expose them at Controller scope and access the actions, steps, transitions, etc., anywhere in the project. Good luck, and don't hesitate to reach out if you have more questions.
Hey there! It's understandable how organizing sequences and transitions within the same program for the sake of tidiness can present a few hurdles, especially with the restrictions you've come across with respect to step statuses. Generally, tags in Rockwell PLC are scoped to the program they're created within, and thus, are not typically accessible outside of it. This seems to be the case with the INIT000.X tag you're encountering issues with. Yet, there's a potential solution to your dilemma. You might want to consider using global variables or creating a global tag database that can be accessed throughout the entire program, thus obviating the need to transfer tags to the main tags. This way, your desired tag organization could still be achieved despite Rockwell's design limitations. Moreover, concerning the limitation of using the .X outside of the SFC's section, your workaround of grouping routines where .X is needed seems sound, despite potential issues with organization. No solution is perfect, but it seems to be a feasible route given the circumstances. Hope this helps! Good luck with your project.
Hi there! Your project sounds really fascinating. I, too, have previously worked on Rockwell PLCs and faced similar challenges. Based on my experience, Rockwell has designed its PLCs in a way that tags created in a program cannot be accessed outside of it, contributing to its local nature. If you want your tags to be accessible system-wide, you would have to create a 'program parameter'. However, creating program parameters for all tags may lead to a complex structure and could be time-consuming. If certain sequences and transitions are frequently reused, it may be a good idea to create an Add-On Instruction (AOI) encapsulating the entire logic. You can then use AOI instances in other programs, and 'step status' information would be accessible via the AOI output parameters. Hope this helps and all the best with your project!
✅ Work Order Management
✅ Asset Tracking
✅ Preventive Maintenance
✅ Inspection Report
We have received your information. We will share Schedule Demo details on your Mail Id.
Answer: - In Rockwell PLC projects, tags are typically created locally within a specific section/program. To transfer these tags to the main tags, you may need to manually recreate them in the main tags section. Rockwell's functionality may not support automatically transferring all tags to the main tags.
Answer: - Tags created within a section/program in Rockwell PLC are usually localized to that specific section. This limitation means that tags like INIT000.X can only be accessed within the section where they are defined. Consider structuring your project to accommodate this limitation or creating workarounds to access required tags from other sections.
Answer: - It is advisable to plan your project structure carefully to avoid issues with tag accessibility. You can organize your project by grouping related routines together or manually recreating necessary tags in the main tags section. Consulting Rockwell's documentation or seeking advice from experienced users can also provide insights on effective tag management techniques.
Join hundreds of satisfied customers who have transformed their maintenance processes.
Sign up today and start optimizing your workflow.