Logix Designer Data Type

benmccormick

Member
Join Date
Jun 2017
Location
Shepparton, Victoria
Posts
22
Hi Guys,

Not critical,
I was wondering if there was a way to check/affect multiple Data Type Elements at once.

I am finding it hard to put into words, so here is what I am trying to do:

I have many Motor/Valve blocks in my program.

I need to display an "All Auto" Status on the HMI when everything is in Auto.

At the moment I have a large piece of code which looks like:
(AMC represents Auto/Manual Control, Auto=0)

XIO V08001.AMC XIO M08001.AMC OTE Beans.All_Auto_Stat

The problem is, the more devices the larger this piece of code gets. I was wondering if there was any ways of checking all X.AMC bits with a single instruction?

Thanks a lot!
 
You haven't said if your Motor/Valve "blocks" are AOI's or subroutines, but no matter, the idea is the same. You need to "capture" a "not-auto" event on any one or more of your blocks

Start off with a bit that is reset, then your "blocks" can OTL this bit if not in auto.

At the end of processing your "blocks" or AOIs, if this bit is off, then everything was in auto.

If using AOIs, you can't have an In/Out BOOL parameter, so just use a DINT and use bit 0
 
Sounds to me like you have x number of devices, and they all are required to be in 'auto' before you start the process. The more devices you have to check, the more conditionals you have to add. And it grows.

This is an example of where controller scoped tags and alias tags become very valuable. Say you have 1000 valves you need to check for this process, well if we could loop through that logic, we could knock that out pretty easily. But tags like V08001, V08920, V06005 don't really work great in a loop. But if we change those tags to use the Valve UDT as an array:

Base Tag:
Valve[0] (Alias Tag - V08001)
Valve[1] (Alias Tag - V08920)
Valve[2] (Alias Tag - V06005)
...
Valve[999]

You now can easily loop through the Valve.AMC tags looking for you conditional.

Of course, this is an all or nothing approach. Taking a step further you would want to include some type of configuration array. So as the loop checks the AMC tag, it skips over valves that are not required for the particular check. Maybe I just need valves 1,4,10,50 for a particular process and skip all the rest. That has some challenges with scaling if you have multiple process' going on.

A further step, break your thinking up into 'equipment', and have the equipment perform it's own self check of the valves/motors/devices it needs to use. Same concept as I previously mentioned with the exception that grouping by equipment means the valves/motors/devices it must check is fixed (unless the equipment physically changes). So each piece of equipment contains a configuration array that tells it what valves/motors/devices are used by that piece of equipment. Then run the AMC check. Put a status on the equipment as 'All Auto' or 'Manual Detected', and let the process code just check the status of the equipment it needs to use rather than the individual valves/motors/devices.
 
daba - Sorry, it is AOI's yes. That sounds like a solid idea, I think I will give it a go!

Paully's5.0 - Thanks! Awesome idea & explanation!!! I will definitely have a go at this also!

I am away from work for a little bit, but when I get back I will try both these ideas & reply with which I went with. Thanks a lot!
 
If using AOIs, you can't have an In/Out BOOL parameter, so just use a DINT and use bit 0

Are you sure about that? I'm certain I've done it before...

Regardless, your suggestions are good, and that little bit is mostly academic :D
 
Are you sure about that? I'm certain I've done it before...

Regardless, your suggestions are good, and that little bit is mostly academic :D

My mistake - you certainly can have BOOL in/out parameters.... i guess i got confused somewhere along the line ;)
 

Similar Topics

Hi all! looking for help converting an 8 bit word SINT tag into decimal. I have an IFM SBN246 flow sensor wired in my controller (L310ER) and it...
Replies
4
Views
2,161
Hello, I have read some previous posts here about converting data in RSL5000. Some recommend using COP and others the MOV instruction. I have an...
Replies
10
Views
5,464
How do I organize the template for my controls. I am new to Logix Designer but have used RS500 and RS5000. My new Logix Designer has Toolbars...
Replies
8
Views
191
Hello, Im building project with 1756-L82ES controller and 1756-IB16S card but i cant find it when trying to add the card to IO configuration...
Replies
3
Views
117
Does anyone know how to set the background colors of instuction blocks (TON, MOV, etc)?
Replies
1
Views
121
Back
Top Bottom