adccommunitymod (AutomationDirect) asked a question.

New to A.D. and confused by V-memory

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.


  • adccommunitymod (AutomationDirect)

    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.

    Expand Post
  • adccommunitymod (AutomationDirect)

    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.

  • adccommunitymod (AutomationDirect)

    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.

    Expand Post
  • adccommunitymod (AutomationDirect)

    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.

    Expand Post
  • adccommunitymod (AutomationDirect)

    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.

    Expand Post
  • adccommunitymod (AutomationDirect)

    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

    Expand Post
  • adccommunitymod (AutomationDirect)

    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.

    Expand Post
  • adccommunitymod (AutomationDirect)

    Created Date: March 29,2007

    Created by: Tech Guy

    There is also a nice PID powerpoint that I highly recoomend available here .

  • adccommunitymod (AutomationDirect)

    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.

    Expand Post