Studio 5000 IO Mapping Preferences

churcherikc

Member
Join Date
Jun 2019
Location
Alabama
Posts
1
Hi all,

New to the forums and wanted to ask you guys a preferential question. With the newer versions of Studio you have various options on how to map your raw data into your program. The ones I can think of off the bat are mapping routines, aliasing, and program parameter connections. Which ones do you prefer? Personally, I've always leaned towards mapping routines because a) you can change IO online in the case of channel failure/module failure/etc. (unlike aliasing) and b) because you can still cross reference from the raw datatype (unlike program connections). What are your thoughts? Always looking for best practices.
 
I like to map all the physical IO, as you said, for testing, but then you can run a "read input" routine at the beginning and a "write output" routine at the end. This allows you to make the asynchronous PLC function as a synchronous system, which I prefer.
 
Hi all,

New to the forums and wanted to ask you guys a preferential question. With the newer versions of Studio you have various options on how to map your raw data into your program. The ones I can think of off the bat are mapping routines, aliasing, and program parameter connections. Which ones do you prefer? Personally, I've always leaned towards mapping routines because a) you can change IO online in the case of channel failure/module failure/etc. (unlike aliasing) and b) because you can still cross reference from the raw datatype (unlike program connections). What are your thoughts? Always looking for best practices.




anyone that aliases IO is the debil
 
I do what sparkie suggests.
I may even use more than one IO map for inputs, and more than one for outputs, if I have that many.


For bits, I just make a rung for each module (*), with branches for each input (output) bit, whether or not it is used in the program. If not used, they drive a NOP (for inputs) or have an AFI in front (for outputs.


I also do the mapping in the same order the modules are in the IO rack.
Makes it easy to find unused points in the future and assign them.


(*) Actually, I usually do this with UltraEdit just in text, and then import it into Logix. Much faster that way.
 
I do what sparkie suggests.
I may even use more than one IO map for inputs, and more than one for outputs, if I have that many.


For bits, I just make a rung for each module (*), with branches for each input (output) bit, whether or not it is used in the program. If not used, they drive a NOP (for inputs) or have an AFI in front (for outputs.


I also do the mapping in the same order the modules are in the IO rack.
Makes it easy to find unused points in the future and assign them.


(*) Actually, I usually do this with UltraEdit just in text, and then import it into Logix. Much faster that way.

I second this. In addition, I typically replicate a rung which contains a debounced version of every input with a timer that I can modify if needed.
 
By mapping, are you guys talking about creating a BOOL instruction for every input and every output, and using the bool only?

What's wrong with using alias? I usually use alias a lot more. I only create BOOLs if I need to send it to my HMI program. I thought using alias was easier than creating a separate BOOL for each i/o.
 
I'm an alias guy myself. But I can see the point the mapping guys make when it comes to quickly shifting I/O. If you cook an input and you have the I/O mapped, you change that input in one place and it carries through the program. If you are aliased you need to replace the input in every location it is used.

Keith
 
By mapping, are you guys talking about creating a BOOL instruction for every input and every output, and using the bool only?

What's wrong with using alias? I usually use alias a lot more. I only create BOOLs if I need to send it to my HMI program. I thought using alias was easier than creating a separate BOOL for each i/o.

When you try to test with alias it is trickier because the system will always be updating the inputs or turning on outputs. If you map the IO you don't have to put in a bunch of forces to test.

As far aa rdast said, +1 for mapping in the same order as the rack. I'm also ANAL about labeling my spares in the program so I don't have to fight for them.
 
I do what sparkie suggests.

(*) Actually, I usually do this with UltraEdit just in text, and then import it into Logix. Much faster that way.

I wish to learn this power. :) I have imported L5K many times but are you importing just rungs in plain text? as in SOR XIC OTE ETC? I have never had the need but thats about to change with a 30 PLC project coming up.
Please show me an example.

+1 for UltraEdit BTW... Regex expression editing was a blessing from above.
 

Similar Topics

Hi, I trying to figure, how to map local inputs to an array. I've attaches some images; the FROM image has the the local inputs (from 0 to 5...
Replies
9
Views
2,771
Compactlogix controller, program has 28 conveyors that use TON's to start the conveyors. The TT sounds a warning horn during start and the DN...
Replies
7
Views
125
I have to start out by saying I am not a PLC programmer and I have basic programming skills but mainly use software as a troubleshooting tool. I...
Replies
0
Views
47
Hi everyone, I was wondering how we declare Persistent Variables in Studio 5000 (main reason to keep the values during power cycle and program...
Replies
5
Views
181
I'm adding an IAI Gateway with 2 axes connected to it. To an ethernet network on my PLC. So, I think the math is correct on the Input and Output...
Replies
0
Views
70
Back
Top Bottom