Sign in to follow this  
Followers 0
Weld_Man

Ad002 + Load Cell

12 posts in this topic

Recently I've been learning how to program Omron PLC's. I've been moving along pretty good, but now I've been stuck for a few days and was wondering if anyone could provide me with some assistance. I am using an Omron C200HE, and an Analog to Digital AD002 module(set at -10to10V) I have a load cell that outputs -10 to 10 V. Maximum load is 100 pounds. My goal is to scale the load cell so that -10 Volts equals -50 pounds (-100 pounds works too) and +10 V equals +50 pounds (or +100) First some background and the problems I am having: *I can get the load to read correctly while messing with the Span Select switches on my load cell. I can adjust the span from .75mV/V to 8mV/V. When I adjust the span so that the load reads correctly, +10 V will only read 20 lbs. The load has to read more than 20 lbs. When I try to do math to scale my load, then the load will just increment by what I am multiplying it by. Example: [100.01]------------------------------------------------------------------------(Xfer) Load Cell Voltage DM30 Transfer Load Cell Reading to DM30 [P-ON]--------------------------------------------------------------------------(MUL) DM30 #2 DM20 Multiply DM30 by 2 and place in DM20 If I do this the load will increment by 2 each time. 0.02, 0.04, 0.06….etc. This makes sense. I guess what I'm trying to say is how the heck do I scale this correctly? I have seen the Scaling function in the AD002, and have messed around with it a little, but I couldn't get correct load results either. Now it gets even more tricky. Whenever the voltage goes below 0 volts, the number will go to -32768. The end of the 16 bit binary #. I need to scale this negative voltage correctly too, so it can be a readable negative load in lbs. and still read the positive voltage in lbs. correctly too. I don't know whether I should mess with the span switches on the load cell, use the scaling options, or use Math. Can someone point me in the right direction? I've been searching the forums with no luck. I'm sure this is an easy problem that I am not thinking clearly about. I'm using cx-programmer v6.0. I'll post what I'm using as my base line. I'm very willing to learn. Hopefully this isn't too confusing. Thanks, Jason Analoghelp.pdf

Share this post


Link to post
Share on other sites
Not sure about this one. Why would you need a negative value from the load cell? The scaling function in the AD002 (as I understand it) will not generate a negative number. Have you checked the manual for the AD002 (link here). Maybe a little more information would be helpful.

Share this post


Link to post
Share on other sites
Yeah Sorry it's a little confusing. I have the manual and have read it. Basically I have a load cell that does Tension and Compression. When the load cell is compressed, it puts out a voltage of positive 0-10VDC When the load cell has tension on it, it has a voltage of negative 0-10VDC. The load cell is on a shaft, cycling back and forth, thus having tension and compression values. Im trying to write a progam where i can convert this voltage, to a readable value in pounds, both positive and negative values.. The values would have to be scaled accuretly to the weight it is measuring. But whenever the voltage drops to a negative #, I get a value of -32768. So- I have a load cell that outputs -10 to 10VDC I'm trying to scale this to -50 lbs to 50 lbs. Just trying to get pointed in the right direction. Thanks, Jason

Share this post


Link to post
Share on other sites
OK, that makes sense to me now. I know this does not answer your question, but how are you trying to display the value, on what type of device? Just thinking that perhaps the display device may be able to handle the negative "scaling". I do understand about the negative value from the analog module, and the issues that can cause.

Share this post


Link to post
Share on other sites
Thanks for your reply, I am writing the analog values to a DM. I am then displaying the Values with a Maple Systems MAP460-D. It is displaying the values as a signed number. I think the only Scaling this Maple Systems unit can do is Linear Scaling. In the future I would like to get familar with Maple systems touch screens. No progress yet, I'm stuck. I've tried everything I can think of. Still learning here. Thanks, Jason

Share this post


Link to post
Share on other sites
Jason, Remember, it is late on Friday afternoon for me. Here is a thought, may need some work. Use internal scaling in AD002, -10vdc = 0, +10vdc = 1000. If value is less than 500, value is "negative". Subtract value from 500, enable a minus sign on the display: example: range -500 (-50.0) to 0, if value is 400, 500-400=100, enable minus sign on display -10.0 lbs. If value is greater than 500, value is "positive". Subtract 500 from vaule, enable a plus sign on display: example: range is 0 to +500. if value is 750, 750-500=250 enable plus sign on display +25.0 lbs. I think this might work. I know it is not what you were asking for but may work. Good luck.

Share this post


Link to post
Share on other sites
This might help setting the internal scaling, not sure if it works without any supportive files, otherwise download Systools. Ad002.exe

Share this post


Link to post
Share on other sites
gtsuport, That makes sense, I'm gonna give this a shot today and let you know how it goes, Thanks! Would I use a "compare" instruction then to see if it's above 500 or below..? Then use the compare to activate an IR for the + or - symbol. PdL, Thanks for the Syswin tools, this will come in handy for sure, makes things a lot easier. Edited by Weld_Man

Share this post


Link to post
Share on other sites
Weld_Man, Yes, use a CMP(20) instruction. It works with the 255.05, 255.06 and 255.07 bits for the compare results. Let us know how it works.

Share this post


Link to post
Share on other sites
Hi, Well I'm pretty sure I got it to work. Unfortunatley half way through programming it, my load cell quit working(broken wire somewhere), so I had to use a DC power supply, and switch the leads to replicate positive and negative. I used your example above, thanks again. I understand what you did, and this will help me in the future. Now all I have to do, is find a way to graph the load cell readings, and also graph the highest load readings every hour. I would like to see if I can send the load cell data to an excel file, or make a graph on a maple systems touch screen display. Fun huh? I'm gonna give this a shot myself. I'm sure I might have some questions along the way (Like how to use the Find Max instruction!). When I get stuck I'll make a post with what I have so far. Thanks, you guys are great. Right now I'm working on hooking up a TC001, to see if I can replicate turning a heater on and off. Fun stuff. Thanks again scalingloadcell.pdf

Share this post


Link to post
Share on other sites
Glad you got it working! Just let us know if you have more questions.

Share this post


Link to post
Share on other sites
have you try using the SCL (scale) function ? , first you have to set it on the exxpansion functions , the you might have to do some data convertion since it work just for BCD. Anyway you should read the dedicated I/O manual for the analog cards and The SCL function chapter.

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
Sign in to follow this  
Followers 0