Followers 0

Scaling In Cqm1h

13 posts in this topic

Hi, This is the first time i'll use scaling function. Please help me out. I have a CQM1H cpu51 with a mab42 and a pressure transducer with 4-20ma output. I need to display a 000.096 PSIA (5torr) to 100.000 PSIA value in NS8. How do I scale my input to get these values. Thanks

Share on other sites
From PM this morning: Based on the accuracy you are trying to accomplish (xxx.xxx) this may require floating point. I have not worked with floating point numbers. Perhaps someone else can help with this. Also, you say you want to "control" the pressure of the tank. The NS can not control. You may need a PID loop in the CQM1H to handle this. This will depend on the +/- variation of pressure allowable in the tank. Sorry to not be of more help. I don't do much process control with plc's.

Share on other sites
Hi, gtsupport, thank you for your advise. Can anyone with experienced please jump in. Here is a much detailed application. I have a tank which is loaded with hermetically sealed IC's(integrated circuit,ceramic type). This tank is vacuumed down to 0.096psia(5torr).After reaching 5torr, a timer will be turned on. After 30 minutes, this tank will be filled with electronic fluid and then pressurized up to 90psia. This will dwell at 90psia minimum(no max value required, but our CDA supply is regulated at 80psig) for 30minutes. I will display the pressure value in NS8. Thank you. rduen

Share on other sites
Your MAB42 is a 0-20mA input while your transducer is 4-20mA therefore 1/5 accuracy of AD conversion is lost. Secondly your signal will come in on a channel say 232 (check your manual) and will be a value of 0 to 4095. But remember this is 0-20mA. Your signal is 4-20ma representing 0-100.00 psi.Therefore your zero is (4095 / 20) * 4 = 819. This means that for 4mA (0psi) you will read 819 on you analogue input and for 20mA (100psi) 4095. Therefore you AD conversion has resulted in a resolution of 4095-819 = 3276. If we take 100 / 3276 = 0.0305 that is your accuracy of the AD conversion. To scale in the CQM1 PLC floating point might be the way to go. First convert the input analogue signal to a floating point number with FLT. Then using the linear relation ship of y=mx + b you can scale the result.

Share on other sites
Sleepy Wombat, Thank you very much. I tried to connect my pressure transducer at input1of MAB42 and monitor channel 232. I'm getting a value of 1312 at room pressure. Can you give me an example of scaling values using floating point,so I can play with it and understand how this thing are done. thanks, rduen

Share on other sites
Here is a link to Sleepy's scaling routine for CS/CJ PLCs and may help. http://forums.mrplc.com/index.php?autocom=downloads&showfile=283 There is also a scaling instruction SCL(66) Edited by BobB

Share on other sites
Am i right to assume that you do not have much PLC programming experience ? Am i right to assume that you have not looked at the instruction set in the manual ? W364-E1-2 (which can be easily downloaded) Am i right to assume that you do not understand the linear equation of y = mx + b ? Lets keep it real simple and scale the input between 0-1000.....then when you want to display it on a screen just add the decimal point. scale.pdf

Share on other sites
Hi, Thank you very much for your help. You guys are great.. Yes, your right, I have not much experience in PLC programming. As I've said in my first post, this is the first time I'll use this instruction. I'll try to work it from here. Thanks rduen

Share on other sites
From PM today: First of all why don't you reply to the topic ? That way everybody knows which progress you have made and more user can give you helpfull tips. I don't understand your question, you want to have a ##.### number in your NS8 ? So 2 integers and 3 decimals. Still your accuracy will be 1, as I believe your scaled value in the PLC isn't a floating point yet. Listen to Sleepy's comments... either make it hard on yourself and scale to a floating point or keep it simple and scale to 0-1000 and add the decimal point in the NS8. It's useless to have more accuracy than the input resolution.

Share on other sites
Hi, Thanks for your prompt reply. Sorry for not replying in this topic, it's Sunday afternoon here and I thought I could get a faster replies if I send a pm. I need to display a ##.### number in my NS8 because I will be monitoring a tank pressure which goes down to 00.096psia(00.09) maybe acceptable) and goes up to 99.00. I tried to scale my value in 0-1000 but, it is not working. It only works if my max. scaled value is up to 900 and if I display 2integers and 3 decimal, it will be displayed as 00.900. Please help.. thanks rduen

Share on other sites
Hi, I had figured out what is wrong with my program, why I can't scaled in value greater than 900. I mixed up data type, I used &xxxx instead of #xxxx in my scaled vaue. I scaled my value to 0 - 9999 and put 2 integers and 2 dec. in NS and it is now working.. Thank you guys for all the help...This is the best place to learn PLC.. thanks rduen

Share on other sites
Should this not be 0 to 4000? Edited by MuttsNutts

Share on other sites
NO.... and isn't this topic 6 months old ? Check out the following manual W364-E1-2 SYSMAC CQM1H Series CQM1H-CPU Programmable Controllers CQM1H- Inner Boards for clarification..