adccommunitymod (AutomationDirect) asked a question.

DL06 Predefined V Memory

Created Date: May 04,2010

Created By: pem.mkk

**** 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.****

Is there somewhere that I can find a list of the v mem addresses that are already used by the system?


  • adccommunitymod (AutomationDirect)

    Created Date: May 04,2010

    Created by: Tubecut

    I take it you are using DirectSoft programming software.

    Look at pull down menu View -> Cross Reference View and from the options at the top of that window, select usage mode. Once this mode is selected then use the print function from the drop down file selection. There are a host of options that allow what you want printed out.

  • adccommunitymod (AutomationDirect)

    Created Date: May 04,2010

    Created by: bcarlton

    Better yet is the manual for your particular CPU. All are available in PDF for for free at AutomationDirect.

  • adccommunitymod (AutomationDirect)

    Created Date: May 04,2010

    Created by: milldrone

    Is there somewhere that I can find a list of the v mem addresses that are already used by the system?

    pem.mkk,

    I'm going to presume you mean something like this. I have a spreadsheet that I use to help with nicknames and descriptions. It's to big to post here, but there is a sheet in the spreadsheet that I give franji1 credit for (I have no idea where I found it).

    Sheet is pasted below.

    ADC PLCs have one Data Type for word data, V memory. There is no concept of an integer file vs. a real file vs. a timer file. V memory is addressed in OCTAL, just like discrete input/output bit addresses, e.g. after V7 comes V10, not V8.

    V memory is then divided up into different ranges (see PLC->Memory Map in DirectSOFT).

    Let's look at the 06's Memory Map for the various V memory ranges:

    V0-V377 - these are the Timer Accumulator values for timers T0 thru T377 (V0 is the accumulator for T0, etc.). DirectSOFT uses Aliases to help with these memory addresses (and some others). Aliases are enabled by default, but basically if you enter V0 in an instruction or Data View or anywhere in DirectSOFT, it displays the alias of TA0 (i.e. Timer Accumulator 0). The Alias for Timer Accumulator V1 is TA1, etc.

    V400-V677 - is labeled Variable memory, which means User V Memory, which is one range of V memory to use in your program as you define (like a variable preset to a timer).

    V700-V777 - System Status, aka System V. These are predefined values used for configuring and/or monitoring specific values (e.g. V700 is for setting up analog modules). See page 4-29 in the 06 manual for the complete list of System V Memory register definitions.

    V1000-V1177 Counter Accumulators, similar to Timer accumulators, the accumulator for Counter CT0 is V1000. Similarly, there is an alias for these, e.g. alias CTA0 is mapped to V1000, alias CTA1 is mapped to V1001.

    V1200-V7577 is some more User V memory

    Non volatile NVram (V7400 - V7577). Is actually mirrored. That is there is both RAM and NVram memory for V7400 - V7577. If you wish for the data to be stored in NVram you must use the MOVE instruction do do so. If you use a LD - OUT instruction, the data will only be written to the RAM mirror, and the data will not be retained in NVram.

    V7600-V7777 is some more System V Memory

    V10000-V17777 - User V

    V36000-V37777 - System V

    (what happened to V20000 thru V35777? it doesn't exist!! Think of it as street address for empty lots - you can't send any mail there, or visit anyone there, but the addresses, numerically, exists, but there is nobody home, i.e. no "memory location " there)

    V40000-V40177 - Word mapped memory of bit data type GX0-GX3777 (see below for info on bit mapped memory)

    V40200-V40377 - Word mapped memory of bit data type GY0-GY3777 (see below)

    V40400-V40437 - Word mapped memory of discrete input bits X0-X777. Basically, V40400 is a 16 bit register that contains the 16 discrete input bit values for X0 thru X17. X0 is the "least significant bit " bit0 and X17 is the "most significant bit " bit15(decimal). So, if X0 was ON, X1 thru X16 were OFF, and X17 was also ON, the LSBit would be ON, the MSBit would be ON, but no other bits would be on, then the value (in unsigned decimal) of V40400 would be 32769 (2^15 + 2^0). V40401 is the value for X20 thru X37, etc.

    There are aliases for these (along with the other bit mapped memory). For these, you reference it as VX0 for V40400, then VX20 for V40401 (there is no VX1 thru VX17).

    See the DirectSOFT Help system and search for "Alias " to find a table of all of the Alias definitions.

    V40500-V40537 - Word Mapped bit memory for discrete outputs Y0 thru Y777.

    V40600-V40677 - Word Mapped bit memory for the internal bit memory C0 thru C1777

    V41000-V41077 - Word Mapped bit memory for Stage bits S0 thru S1777 (Stage programming, aka RLLPLUS, is similar to IEC 61131 SFC way of programming - see chapter Chapter 7)

    V41100-V41117 - Word Mapped bit memory for Timer Status Bits (i.e. Timer Done bits)

    V41140-V41147 - Word Mapped bit memory for Counter Status Bits (i.e. Counter Done bits)

    V41200-V41237 - Word Mapped bit memory for System Status Bits (see Appendix D for list of all the Special Relays).

    Expand Post
  • adccommunitymod (AutomationDirect)

    Created Date: May 04,2010

    Created by: pem.mkk

    Is there somewhere that I can find a list of the v mem addresses that are already used by the system?