Well I'm gonna chime back in and say that "enumerating" the subroutine files, IMHO, will require someone to have a good memory - i.e. what number did I give that "Recipe_Handling" subroutine, or what number did I give to "Inter_PLC_Comms"
If I want to look at "Input_Mapping", or "Output_Mapping", I know they will be listed in the "I"s and the "O"s, respectively. And I will find the "Recipe_Handling" in the "R"s. The "Inter_PLC_Comms" subroutine I know will be found in the "I"s
It really doesn't make much sense to me to attach a number to a file so that it lists in number order, as it requires me to remember numbers on top of all the other stuff I have to deal with.
Enumerating the files serves no purpose, it doesn't impose an execution order, and I believe it makes it harder to find what you are looking for, it's just another level of complexity that needn't exist.
And how do you "enumerate" a function file, i.e. a subroutine that is called many times, it won't "fit" into any numbering scheme.
One of the big advantages of Logix5000 over SLC or PLC5 etc., is that things are "named" rather than "addressed". We have named routines, surely a well-presented name can give more meaning in terms of its function than a number prefixed to the routine name.