RSView32 with Micrologix

shorin

Member
Join Date
Mar 2007
Location
West Plains, MO
Posts
9
I'm working on a project. So far, it's gone well, but I've hit a snag I can't seem to get around. This is an RSView32 project where I'm reading information from a Micrologix 1100 controller via ethernet and displaying it on the screen. Nothing too complex.

In the RSView project, I've got one derived tag (called global) file that's doing some calculations based on the system clock. I've got a second derived tag file (called Frames) that reads in a float value (let's call it bob) from the PLC and divides it by the value calculated in global.

I set up a tag monitor to view all the values mentioned here and a few others from the PLC. When I start the global derived tag file, everything works fine - the calculated time value changes like it should. When I start the Frames file, I get an "expression evaluation error" for the tag bob and the tag bob goes into error. Two other tags go into error as well, and they're not effected at all by the calculations.....

This is driving me nuts. I can't see any reason that the tag should go into error. I can even change Frames so that I'm just multiplying bob by 10 and I still have the error. All the tags have a data type of floating point.

I've got other derived tags that work fine, but I can't seem to get this one to work.

Thanks,

Danny
 
Can you actually read your tag 'bob' from the PLC? Put it in a numeric display field all by itself.

It sounds like a communications issue or a bad path/address in the tag database to 'bob'.
 
Yeah, I can read it just fine until I try and do math on it. Then it will go into error and take a couple othe tags with it. I have 8 similar sets of data that I'm pulling and doing this to one affects them all too. Any of 8 tags will affect about 24 out of over 900 being polled. The others keep running just fine. It's the weirdest thing I've ever seen.

I don't think it's com related. I can also have RSLinx online with the PLC when I do it, and I don't see anything weird happen on the PLC side.

Danny
 
What is your actual expression? Is there a possibility (remote) that something is happenning that is driving the value out of limits?

When the expression fails, does the tag itself also fail?
 
The expression is:

(Frames\Mach1\Cycle_Runtime / (Frames\Prod_Time * 60)) * 100

This is being written to Frames\Mach1\Cycle_Percent. Cycle_Runtime is 'bob'. Frames\Prod_Time is being calculated in the derived tag file Global. When I run this expression, the tag Frames\Mach1\Cycle_Runtime goes into an error state along with several other tags that aren't even being maniplulated by the derived tag file.

Danny
 
Here's another clue. The value in F15:6 is the result of F23:4 being subtracted from T13:1.acc. I changed the tag Frames\Mach1\Cycle_Runtime to point to T13:1.acc, and now the math routine works. What the heck?....

Danny
 
Hrm... were you combining an integer and floating point division somewhere? It's possible that if you were, you end up actually performing an integer operation, and instead of getting a fractional result, you end up with 0 due to truncation.
 
I don't think so, but I'm no expert. T13:1.acc is just a timer with 1 second increments. F23:4 is the result of 2 other values being multiplied (30.0 * C21:1.acc). The value sitting in F15:6 is just a number like 7864.0 when I look at it in Linx. It's not real big or anything, and it's not negative - I looked for that.

I set the tag to some other float values like F15:5, etc. for testing and they cause errors too.

Danny
 
rdcast makes a good point.

The other day I was for example dividing 15 by 9 and storing the
result in a floating point. I kept getting an answer of zero. I then had to go back and change my basic equation to 15.0 by 9.0.
After that it worked fine.

If you have any integer math, first move it to a float point before you do any divide by math.
 
No, I'm not doing any division with these items on the PLC side. It's in the computer that I'm doing division, and all the data types are float.

Danny
 
Hrm.. then I'm not sure.

My first step in the process would be to make a numeric display, with exactly the same formula, copied from the event. See if that displays on the screen. If not, break it down into pieces of the formula, and see if there is any one section that looks 'odd'.

Also, are you actually getting an ERROR value? or are you getting placeholders? (Asterisks, Question Marks, # signs, I forget which).
 
I did the calculation in a numeric display field, and it works fine. I copied and pasted the formula, so there's no difference between it and the derived tag file.

The derived tag file fails even if the formula is as simple as Frames\Mach1\Cycle_Runtime * 10....
Danny
 
There's not a trigger per say. I'm just starting it manually with the derivedon statement in the command line. Thanks for the help. I guess I'll have to sign up for the $5,000,000,000 service package with Rockwell now....

Danny
 
Well, I finally figured it out. I'm actually using the formulas within the numeric displays as it will make updates easier in the future as well. However, I still had some weird problems even after going to this method. On some screens that had a lot of those formula displays, they wouldn't show. Also, if I pulled several of the Frames/Mach1/Cycle_Runtime tags in one data monitor, they would error out.

The problem was actually in RSLinx. In the topic configuration, I had the "Use Maximum Packet Size (Ethernet)" checked. This caused it to pull too much data in one packet and error out. I unchecked that on both computers, and no more problems!!! Too bad it took me about 3 weeks work to find it..... Oh, well....

Danny
 

Similar Topics

We changed a switch that is between two Control panels and a PC. Now the RSView32 is saying " Channel Error - Application Layer Timeout" I see...
Replies
12
Views
2,330
which rsview32 version compatible with micrologix 1400
Replies
1
Views
1,734
Hello, I'm a new user and i need help with a project... I got a micrologix 1500 plc. I made an easy program which includes a timer, and i got a...
Replies
0
Views
1,525
Hello friends I am very grateful for the help my post. now I need to regulate output analog 0-10v, with a sliders Rsview32 thank you joel...
Replies
0
Views
1,460
Hello to everybody, I want to show the forced bit of Rslogix 500 in RSview32. I am using Micrologix 1500 28BXB.Is it possible Thanx
Replies
1
Views
1,945
Back
Top Bottom