iFix array question

russrmartin

Member
Join Date
Aug 2002
Location
Eastman, Wisconsin
Posts
744
Hey guys, I have an array that I would like to pull into iFix that I cannot seem to get to work. All I get are question marks. I have selected an AI, and checked the array box and set the length correctly. However, I still get question marks. Also, I am assuming that in the Database Manager, if I create a tag slated as an array, I should be able to expand it, but I can only see one tag. My thinking is that when this is working, I'll get some sort of plus sign like in the ControlLogix that will allow me to drill down. If it matters, the array is in CL. Thanks in advance.

Russ
 
Haven't used iFix with CLX, but just a couple of quick thoughts. Has what ever driver you're using been configured to read all the array elements? In Fix you usually read the array elements based on an offset.
 
I'm not sure. I've never setup an array in iFIX before. The CL array is 8 words, starting at 0. I simply set the iFIX array to do the same. My thought was that the first tag in iFIX would display the value of the CL array word 0, but I must have something incorrect.
 
russrmartin said:
Hey guys, I have an array that I would like to pull into iFix that I cannot seem to get to work. All I get are question marks. I have selected an AI, and checked the array box and set the length correctly. However, I still get question marks. Also, I am assuming that in the Database Manager, if I create a tag slated as an array, I should be able to expand it, but I can only see one tag. My thinking is that when this is working, I'll get some sort of plus sign like in the ControlLogix that will allow me to drill down. If it matters, the array is in CL. Thanks in advance.

Russ

Nope, can't "Expand" a tag in the iFix database. Which driver are you using to communicate with the CLX plc? If it is the IGS ethernet driver, you'll have to set your tags up in it first, and if you have an array, there are some pretty specific syntaxes you'll have to use to address elements in the array. Read up in the help files for your specific driver, it should help you out with the syntax.
 
If you are using RS Linx, you will also be needing to use the OPC client of iFix. You cannot expand a data item in the PDB editor. To address specific array elements in iFix when displaying on a screen for example, you will address using the "tagname.F_0", ...F_1, ...F_2, etc... for each array element.

It has been 2+ years since using the the OPC client, RS Linx Classic, and iFix but we got it to work.
 
So basically what you are saying, is that to access data points in an array, I cannot simply create the array in one shot to access all the words in the PLC array. Rather, if I have an array with a length of say 8, I need to create 8 separate tags in the iFIX DB. This is what I was wondering. Thanks for the replies.

Russ
 
As mentioned by Sheldn, you can use offsets. For example, if you have an array of Floats in iFix that is Analog[50], then (as long as this array is set up in your driver), you could make an AR (analog register) tag in iFix that was "Analog". Then, the addressing would be as Sheldn stated; "Analog.F_0" would be "Analog[0]" in CLX, "Analog.F_10" would be "Analog[10]" in CLX.

You still didn't state your driver, but ( I am going from memory here -- it has been awhile), but in the IGS driver, the tag setup was something like "Analog[50]{0}", where the final "{0}" is the starting element (offset) of the array for the driver / OPC server or however the data is getting to iFix. Again, that syntax may be incorrect. (Clarification: What I mean by starting element is that if you had an offset of {10}, then the tag would reference that CLX array, starting at Analog[10]; therefore, you could have an iFix tag of "Analog.F_0", but the related CLX address is "Analog[10]".
 
russrmartin said:
So basically what you are saying, is that to access data points in an array, I cannot simply create the array in one shot to access all the words in the PLC array. Rather, if I have an array with a length of say 8, I need to create 8 separate tags in the iFIX DB. This is what I was wondering. Thanks for the replies.

Russ


If you want to see each array value in the PDB Editor, then yes. You would have 8 tags each pointing to Analog[0]...Analog[7] in the PLC.

If you want one tag to access an array of 8 values, then you will not be able to see the individual values in the PDB Editor. You can access the values of all array elements as the various responses suggest.
 
martyh said:
"Analog.F_0" would be "Analog[0]" in CLX, "Analog.F_10" would be "Analog[10]" in CLX.

Where can I view the CV of Analog.F_10, for example. I want to see the value of this in DB. Once the array is created and updating, I was hoping to see the CV of each element in the array without having to create a separate DB tag for each one.

I just read Sheldn's post. I am officially retarded. Thanks for the clarification guys.
 

Similar Topics

Very often I have to reverse engineer something from an iFix parameter inside an array to a bit in iFix. It's a pain to do as I've yet to really...
Replies
2
Views
1,898
Hi, I'm trying to get iFix 5.8 to access DINT and INT array elements from a ControlLogix. My tag: test_dint Data Type: DINT Array Length: 100...
Replies
6
Views
3,162
Can anyone tell me the proper I/O address format to use for doing this? I've done this a million times with Modicon, but that driver doesn't...
Replies
1
Views
5,486
Hello everyone, I have a problem with linking PowerTool to the Database manager, Here are some screenshots: As you can see the connection is...
Replies
1
Views
3,874
Dear all, I am beginer in ifix hmi programming. I have 2 ifix 6.0 pc with license FiX and client.. Can some one tell me how to configure sample...
Replies
0
Views
145
Back
Top Bottom