Host Engineering Forum
General Category => DirectSOFT => Topic started by: dieseltwitch on April 22, 2009, 09:35:25 PM
-
Im replacing a Differential Temperature Controller for a solar water heating system, so I got an D0-05AR and a F0-04RTD Option card top read the temps of to sensors ( at the recommendation of the Tech support guys at AD.com ). My question is how to set up a Ladder Rung to read the temperature and compare it to a set point?.... that brings me to my next question, Im getting a C-More Micro to interface with the 05AR. How do i set up the Interface to let me put in a set point(s).
I know this is a bit simple right now, ask any questions that may help to clear things up and I will do my best to answer them. Like i said in one of my other post, im a bit new at this.
-
The option manual will show how to set up and use the RTD card to get information in a numerical format. Since you had previously said you are familiar with AB you should have the concepts of comparing numbers down. The AD CPUs have their own instructions for comparison. Next get the manual for the C-More micro. It should show you how to set up a numeric input control. Play around and have fun. Doing things wrong then figuring it out will teach you mucvh faster then someone providing a canned routine. That's the way I learned and I had a company machine to program.
-
Ok, I tried to read through the options manual and i think i'm more lost now then before. I tried to use some of their examples but i don't understand what the program is doing (Im talking about pages 14-11 in the options manual )
Im basically just trying to get a temperature from a Pt100 RTD Temp sensor and compare it to a set point, then based on the set point turn on a coil.
I normally like to try and work things out my self but im just having a hell of a time.
if some one could write me a program (simple one) and walk me through what its doing would be great! I can then learn from example and make the changes i need, or at least thats the theory.
-
Is the problem that you are not getting any temp data into the PLC? If your ladder program contains only the example program on 14-11 - exactly as shown in the manual - and an END coil on the next rung, you should be getting temp data in V2000 for the probe connected to CH1.
If that's the case, then i would suspect the RTDs aren't wired correctly, or maybe the unused channels aren't jumpered.
-
I have the jummpers all in place. and Im still not getting any value. In V2000 all i get a 0
here is what my little test program looks like and the results when i run it. What am i doing wrong.
I set V5100 at 50 just to put in a point that i know the temperature in my house would be above.
-
Your setup doesn't make sense.
Please explain for each value that you put into V7700 thru V7706 why you placed that particular number and what page in the manual showed you what to put in that location. Actually the first two are reasonable.
And what jumpers? Your setup says you are using 4 channels.
-
Did you insert these rungs as a run-time edit? If so, the PLC doesn't count the transition back to run mode as a "first scan" so the values won't be loaded to configure the RTD card. Also, "first scan" is the only time the CPU looks at the values even if they were loaded. So try changing the mode to Program and back to Run using Directsoft or the mode toggle switch on the PLC or just do a power cycle. If it's still not working, verify that the correct values were written to V7700-V7706 by looking at them in a Data View.
Also, it's not relevant to troubleshooting this issue, but there is a newer way to configure analog modules than what's shown in the manual, and it's a lot cleaner. Look at the ANLGIN IBox in the online help for DirectSoft. I think you'll like it. I'm surprised AD hasn't fixed the manual yet.
-
My set is an exact copy of the on on page 14-11 (minus the changing of the LD - K0 to LD - K4 on the 5th line. this changes the RTD type to the type i am using (PT1000) right now i am only using 1 sensor (all i have with me. but all 4 channels will be used when the project is done.
I actually am getting a temp from my sensor now. the end of the on of my Common jumpers was lose and not making contact (my connecter is full of jumpers right now ) anyways the reading that is coming out doesn't make sense. it show V2000 as 2d2 through 31e and so on. it should be showing 68 (deg F) how do i convert the value in v2000 to a F reading?
-
There is a typo either in your post or in your code. Your post says 100 Ohm Pt RTD's which would be type '0', but you're loading type '4', which is 1000 Ohm Pt. Even if type '4' is the right one, you should probably still load K0 to V7704 and V7706. Your code loads K4, because it's still in the accumulator from the LD before sending it to V7703. It's kind of a convenient thing about AD's accumulator centricity but it can bite you too. That's another reason I suggest you switch to the ANLGIN I-box. It's very unambiguous.
-
You must read what information is to be placed in each of the locations. Don't try to copy an example then blindly change values. Read about each individual location. Determine what are the values to be palced in each. Then modify your program as appropriate. Where did you come up with placing K4 into each of the last three locations?
-
My set is an exact copy of the on on page 14-11 (minus the changing of the LD - K0 to LD - K4 on the 5th line. this changes the RTD type to the type i am using (PT1000) right now i am only using 1 sensor (all i have with me. but all 4 channels will be used when the project is done.
I actually am getting a temp from my sensor now. the end of the on of my Common jumpers was lose and not making contact (my connecter is full of jumpers right now ) anyways the reading that is coming out doesn't make sense. it show V2000 as 2d2 through 31e and so on. it should be showing 68 (deg F) how do i convert the value in v2000 to a F reading?
Refer to my post after yours. You will need to make one of a couple different changes to your PLC program. To see the data in degrees F, open a Data View and either insert V2000:W10 or insert V2000 and configure using the pull down at the top of the data view and configure as decimal. Remember to turn on status separately for the Data View. Ladder is showing the data interpreted as Hex, and you can't configure that away. >:(
Then all you need to remember is that the data is in tenths of a degree with an implied decimal point, so 68 degrees F will show as 680. You need to do that with your setpoints too, obviously. I'm not sure about C-More, but most MMI's will let you do some scaling to take care of this kind of stuff, as in the operator enters "78.5", and the MMI sends the value 785 to the PLC, and can be configured to display the numbers it reads from the PLC similarly.
-
You must read what information is to be placed in each of the locations. Don't try to copy an example then blindly change values. Read about each individual location. Determine what are the values to be palced in each. Then modify your program as appropriate. Where did you come up with placing K4 into each of the last three locations?
He doens't know how the accumulator works.
-
I just pulled up the ANGLIN and i Like it.... but how do i set it up for the RTD card.
On page 14-8 is says to use input selection K4 for the PT1000 type RTD sensors.
-
Oh, crud, I guess the RTD module is the exception and you CAN'T use ANLGIN. I've used it for other modules before but had never used it for RTD's (obviously) so I didn't realize they were an exception in that sense. Alright, then, try adding a LD K0 between the OUT V7703 and the OUT V7704. The way the example is written it sends the same value (0) to the last three locations, which just coincidentally in the example all want to be the same. That's not the case with you, so you can't cut and paste quite as literally from the example.
-
You must read what information is to be placed in each of the locations. Don't try to copy an example then blindly change values. Read about each individual location. Determine what are the values to be palced in each. Then modify your program as appropriate. Where did you come up with placing K4 into each of the last three locations?
He doens't know how the accumulator works.
Your right about that! but i think im starting to understand.
From what i understand so far. the LD loads a value in my case K40 loads 40 into the accumulator then when the OUT comes along it pushes that value into the memory location that is specified say V5000 or what ever. at the same time if a LD command come after a load command it pushes the previous value out of the Accumulator. am i wrong?
-
Hey guys, how bout an RTDIN box?
-
Thanks for you help by the way. i know how much of pain it can be pushing newbies up the steep learning curve!
however i will have to comeback to this later, I have an 11 page paper to write and I'm on page 3! and its due tomorrow!
-
we've stayed away from making IBoxes for specific I/O modules, opting instead for making general purpose ones that can be used by a class of modules (like 4 ch ana input).
You could use ANLGIN to setup the first two parameters (count/format & pointer) and use LD/OUT pairs to do the remaining setup, but that's not much better IMHO.
-
we've stayed away from making IBoxes for specific I/O modules, opting instead for making general purpose ones that can be used by a class of modules (like 4 ch ana input).
You could use ANLGIN to setup the first two parameters (count/format & pointer) and use LD/OUT pairs to do the remaining setup, but that's not much better IMHO.
It's odd the way you word that because there's a "class of modules" that can use the I-box method and another "class of modules" that cannot. I think rather than introduce the anomaly, I just wouldn't have done any of them (or maybe only do analog output modules).
A kind of generic approach occurred to me where you would fill in all the stuff in the present ANLGIN box, then have another couple boxes for "Parameter 1", "Parameter 2", and so on, which would get loaded into consecutive registers corresponding to the slot specified. This could cover a variety of types of modules, where the additional parameters might mean different things to different modules, and would have to be filled in by which register they went to. This could be in addition to or a revision of the present ANLGIN box.
Besides, since I'boxes compile to the old instructions anyway and don't require a processor change, what's the cost of adding another one?
-
we've stayed away from making IBoxes for specific I/O modules, opting instead for making general purpose ones that can be used by a class of modules (like 4 ch ana input).
You could use ANLGIN to setup the first two parameters (count/format & pointer) and use LD/OUT pairs to do the remaining setup, but that's not much better IMHO.
Actually that gives me the idea of using MOVEW rather than LD/OUT, which is at least a little cleaner.
-
As far as my understanding of IBoxes a set of mnemonic instructions were introduced, which to the processor are essentially NOP's, which serve as delimiters for the set of standard instructions. These actually wouldn't be necessary except that an IBox has to be reconstructed just by reading the processor contents. Without the delimiter it would just come back as a set of standard instructions, not as an 'IBox group'. So a unique identifier has to exist for each IBox in the processor and it has to know to essentially ignore them. Adding another which had not yet been defined in firmware means a firmware changes, unless the previous change left a lot of 'spares'.
-
That's essentially my understanding as well, except I thought the NOP's were generic, not specific to particular I-Boxes. IOW, "If you see 'LD-OUT-NOP', render it as a MOVEW". I never really understood why even that was necessary, because DirectSoft could simply default to I-Box mode and render all compatible sequences as I-Boxes without any delimiters at all. Then if someone uploaded with an old version of DirectSoft, they'd get pure code, with no other delimiter boxes mixed in. Course that takes the preference for I-Box vs. old-way out of the hands of the programmer unless you introduce a configuration setting into DirectSoft, and even then, you couldn't mix the two modes, so maybe that's the reason.
-
you're right, 'class of modules' was bad choice, it's more like 'family of modules' because the F2-04RTD works fine with the existing ANLGIN IBox because it does not have the additional configuration parameters in v-memory like the F0 module does, (the F2 version uses on-board jumpers), that's what I was trying to convey.
another good example is the f2-8ad4da combo analog module, although it only has 4 real output channels, it has 3 additional DWORD registers that consume I/O space that are the runtime update registers. What you'd need here is a setup ibox that had 96 bit positions (3 dwords of bits) to initially setup the module, then an additional ibox to manipulate those same bits at runtime.
admittedly this is the extreme example, but our goal was to make as many generic setup iboxes as possible and let the ungeneric ones slide ... for the time being.
-
Yeah, the extreme cases can get pretty weird if you try to address absolutely everything.
-
Im replacing a Differential Temperature Controller for solar panel (http://www.shinesolar.net) water heating system, so I got an D0-05AR and a F0-04RTD Option card top read the temps of to sensors ( at the recommendation of the Tech support guys at AD.com ). My question is how to set up a Ladder Rung to read the temperature and compare it to a set point?.... that brings me to my next question, Im getting a C-More Micro to interface with the 05AR. How do i set up the Interface to let me put in a set point(s).
I know this is a bit simple right now, ask any questions that may help to clear things up and I will do my best to answer them. Like i said in one of my other post, im a bit new at this.
Hello friend thread is bit old but were you able to find right Differential Temperature Controller? I do need one so can your provide some useful information? Waiting for reply thanks in advance:)