What file type numbers to read/write L / MG / PID / PLS / RI / RIX data files ?

4 posts in this topic

Hi all,

I'm enhancing an Ethernet IP driver but only just learning the ropes in terms of Allen-Bradley PLCs.

I'm presently focussing on that part of the driver which specifically supports SLC/500 & MicroLogix 1400, for which I have one controller of each type for testing purposes.

I can already cater for a range of standard file types: integer, float, binary, input, output, string, counter, timer, control, status, and this is working well.

However, by working with RSLogix500, I can see that there are other data file types which can be hosted in these controller types (dependent on model) and, indeed for test purposes, I have actually created instances of them as follows:

ASCII (at A21, 20 elements) for both SLC & ML1400
Long (at L22, 10 elements) for ML1400
Message (at MG23, 8 elements) for ML1400
PID (at PD24, 4 elements) for ML1400
Programmable Limit Switch (at PLS25, 3 elements) for ML1400
Routing Info (at RI26, 3 elements) for ML1400
Extended Routing Info (at RIX27, 3 elements) for ML1400

Now, the driver obviously uses standard DF1 PCCC data types (see below) to read/write individual elements/sub-elements of the file types that I can already support -- and I can see that there's a file type listed below for ASCII.

•80 to 83 hex: reserved
•84 hex: status
•85 hex: bit
•86 hex: timer
•87 hex: counter
•88 hex: control
•89 hex: integer
•8A hex: floating point
•8B hex: output logical by slot
•8C hex: input logical by slot
•8D hex: string
•8E hex: ASCII
•8F hex: BCD

However, my question is this: since there are no hex file types corresponding to non-elementary data types such as L, MG, PID, PLS, RI and RIX, what file type do I specify in my DF1 PCCC packets to read/write the elements/sub-elements of these six data types ?

Thanks in advance.

Edited by gazroo

Share this post

Link to post
Share on other sites

I did some web research and coincidentally found the answer to my own question.

There IS a list of numbers for the file types I mentioned, but the information was tucked away in a scientific paper and apparently is not available in standard Allen-Bradley documentation (typically, the DF1 Protocol Reference Manual).

For anyone else who needs it:

  • Long: 0x91
  • Message: 0x92
  • PID: 0x93
  • PLS: 0x94
  • RI: 0x95
  • RIX: 0x96
1 person likes this

Share this post

Link to post
Share on other sites

PID loop tags- In CLX there is a tag array for a PID loop and there is a tag array for a PIDE loop (my preference). They are not the same tag structure each structure is made up of a number of different elements (Real, bool, etc).

Then there is the UDT (User Defined Data Type). I have some that area made up of Strings, Bools, Floats, and Integers. UDT's can be made from any and all data types. How do you deal with that?

Share this post

Link to post
Share on other sites


For CLX you can fetch the UDT sizes and member names/data types and UDT that contain UDT.

I posted a program a few years ago that would fetch what the controller contained. The program had one error that I fixed in my code but did not revisit the posted program.

I thought I posted it on this site. LogixTagRead.exe. PM if you want me to email it to you.

1 person likes this

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now