
adccommunitymod (AutomationDirect) asked a question.
Created Date: March 27,2007
Created By: E &A Student
**** This post has been imported from our legacy forum. Information in this post may be outdated and links contained in the post may no longer work.****
Hi Everyone, I'm a student working on my senior project and I am new to the Automation Direct line of products and more so the programming software. My biggest issue is that I learned PLC's with the Allen Bradley products and am a little confused with how everything here is through V-memory. I have a DL06 PLC with a 4-input thermocouple module and the goal of my project is to have the 4 T.C. inputs averaged to obtain the avg. temp which will be used as the process variable in a PID loop for temperature control in a small oven. After that the output will be scaled to create a PMW output for the S.S. relays that will control the power to the heating elements. Again the V-memory is foriegn to me, so if anyone could provide any suggestions, tips or shortcuts for the math function of the T.C. inputs, or PID loop, that would be greatly appreciated. Also any material that may broaden my understanding of the V-memory would apprectiated. Thanks in advance for your help.
Created Date: March 27,2007
Created by: bcarlton
First - read the section entitled 'PLC Numbering Systems ' in the manual for your CPU.
A single 'V ' memory register can hold a number with a BCD representation (each 4 bit section can hold only 0-9 for a full capability of 0000 - 9999) or a decimal representation (for a full capability of 0 - 65535 unsigned). Each of these types can also occupy two registers for a larger capability. Two registers can also hold a REAL (or floating point) type number. What's important is the YOU are responsible for keeping track of this. You must write down or otherwise document how you are using the V memory. Investigate the commands which allow conversion from one number type to another.
No - as far as your analog cards - check out the methods that they report the values that they get. Check out the PID loop functions and whzat number types it requires.
Created Date: March 27,2007
Created by: Tubecut
V memory, to me , it is the same as the AB N: files, the integers. The storing of BCD , as I recall, that is not a standard way that the integer files are used in the AB SLC500 processors.
Created Date: March 28,2007
Created by: Xeno_deicici
My two cents, I use SLC500s and DL06s and switch back and forth between the two. If you are used to creating your data table (or increasing the size of Integer file 7) than you must realise that in the DL06 the data files are all created for you. The range is found under menu item PLC - Memory Map.
SLC500 to DL06 conversions:
B3:0/0 - B3:255/15 = C0 - C1777 (Octal format, no 8 or 9 allowed in the addressing)
T4:0/DN - T4:255/DN = T0 - T377 (Octal format, no 8 or 9 allowed in the addressing)
T4:0.PRE - T4:255.PRE = Any Open V-mem location (I like to reserve V10000-V10377) or a constant (K0 - K9999)
T4:0.ACC - T4:255.ACC = TA0 - TA377
T4:0.EN or .TT do not have an equivelent in DL06, you must make them using discrete bits
Counters (C5:0) are handled the same way as timers (CT0 - CT177), Open V-mem (V11000 - V11177 suggested), (CTA0 - CTA177)
N7:0 - N7:255 = V400 - V677, V1200 - V7577, V10000 - V17777)
Just be careful because V-mem can be any format from word to word (V405 can hold BCD formatted data, and V406 can hold REAL formatted data.)
The programming instructions are a bit different too, in SLC500 if you wanted to put a number in N10:5 you could either MOV a constant or an Integer address. In the DL06 you need to LD (load into accumulator) then Out Box (not a coil, but a box - Important) to the address where you want the number to reside. You also have to have an Always On contact at the beginning of the rung ( "-| |- " SP1). I could keep going, but this should get you started. Wouldn't want to do your Entire senior project for you. http://forum1.automationdirect.com/board/smile.gif Have fun with it, and read the manuals because Automation Direct has very good manuals.
Created Date: March 28,2007
Created by: bcarlton
Xeno_deicici - an EXCELLENT summary of the memory layout differences.
A couple of notes - the accumulator values and presets for timers and counters are in BCD.
In AB - doing a MOVe from one memory type to another (integer to float for example) will perform an automatic conversion for you. AD doesn't do any automatic conversions. If numbers are looking weird, suspect a conversion problem. You are responsible for being aware of your memory usage.
Created Date: March 28,2007
Created by: jackson
But you can do conversions with instructions. BIN will convert from BCD to integer format. BCD will convert from integer format back to BCD. RTOB will convert from floating to integer. BTOR will convert from integer to floating.
The newer version of DirectSoft with the I boxes has even more converter operators but I can't remember them off of the top of my head.
Created Date: March 28,2007
Created by: chris.zeman
I had a "mental block " while first trying to use A-D products. Like you, I originally learned on Allen-Bradley. Once you get past certain things and fully understand what makes the A-D PLC's tick, you'll REALLY appreciate what they have to offer.
Yes, there are certain things I wish A-D controllers did like A-B controllers and vice-versa, but the trade-off is still well worth it. Basically, I don't like how A-B operates as a company. The funny thing is that I just transferred to a different department where A-B is the standard. lol Fortunately, I can remain involved with the projects I have done in the past. Other stuff might come my way as well. http://forum1.automationdirect.com/board/smile.gif
Good luck!
Chris
Created Date: March 29,2007
Created by: E&A Student
Thank you all for your help. I 've gotten the math and move functions down, and the V-memory is starting to sink in. However I have a few more questions now about PID loops. Please understand that I have never programmed a loop before on any system, and am sort of self taught from the internet and a few books. First of all, I'm confused about the tables it refers to in V-memory. Are these in essence data tables that you actually need to get into and put in the code for what you want for settings, or by using the PID setup tool, are these tables formed for you? Also in that setup tool I am confused about what is meant common or indepentant format, and 12, 15 or 16 bit format for my data? Thanks again for the help you have already provided and I appreciate anything else you could offer. I'm also curious if anyone has ever communicated and traded I/O with a PC using a Delphi 5 program. Thanks.
Created Date: March 29,2007
Created by: franji1
Please read chapter 8 of the 06 user manual. You will get your questions answered about how PID works in an 06, plus gain more undertanding of PID control using the 06.
It's available online here
http://www.automationdirect.com/static/manuals/d006userm/d006userm.html
Just click on Chapter 8 or right click and download it.
Created Date: March 29,2007
Created by: Tech Guy
There is also a nice PID powerpoint that I highly recoomend available here .
Created Date: March 27,2007
Created by: E&A Student
Hi Everyone,
I'm a student working on my senior project and I am new to the Automation Direct line of products and more so the programming software. My biggest issue is that I learned PLC's with the Allen Bradley products and am a little confused with how everything here is through V-memory. I have a DL06 PLC with a 4-input thermocouple module and the goal of my project is to have the 4 T.C. inputs averaged to obtain the avg. temp which will be used as the process variable in a PID loop for temperature control in a small oven. After that the output will be scaled to create a PMW output for the S.S. relays that will control the power to the heating elements. Again the V-memory is foriegn to me, so if anyone could provide any suggestions, tips or shortcuts for the math function of the T.C. inputs, or PID loop, that would be greatly appreciated. Also any material that may broaden my understanding of the V-memory would apprectiated. Thanks in advance for your help.