adccommunitymod (AutomationDirect) asked a question.

Time to Switch

Created Date: November 27,2004

Created By: Grouper1

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

It’s crunch time. We finally switched to A/D plc’s after our “Big Boy� supplier drop the ball again! DL-205 (250-1) Ordered all the hardware, software and cables but due to the holiday we won’t receive until this Monday, Tuesday. So before I go from “others� programming format and pull my hair out trying to understand the difference with the Demo software, I’ll stop and ask questions NOW: 1- Do I understand the “accumulator� correctly? After the “LD� and then “Out� block that the accumulator value is reset to zero for the next block in the scan. I guess what I am asking is; as the scan is racing through the logic, is the value in the accumulator changing with every “LD� and “Out� command block and is it set to zero between blocks? 2- In “others� format we used a “Move� block that would plug in multiple constants, one at a time, value into a single integer for displaying a message from the EZTouch panel for diagnostic messages for logical sequence error. We used conditional LL to trigger the constant into the integer for the appropriate message. How does this function “Move� in A/D format work? The same? 3- In “Others� we used all decimal numbers. Although we could toggle the data tables from the various formats, we always worked with decimal and not BCD. This may sound stupid but can someone explain the difference on why when we always work with decimal in the real world, and other manufactures do also, that this format is based on BCD. I have read the manual section on this and it just hasn’t hit home just yet. HELP. Any and all help would be greatly appreciated. Due to the “Big Boy� we are under the gun to fulfill our customers commitment and need your input.


  • adccommunitymod (AutomationDirect)

    Created Date: November 27,2004

    Created by: Grouper1

    It's crunch time. We finally switched to A/D plc's after our "Big Boy" supplier drop the ball again! DL-205 (250-1)

    Ordered all the hardware, software and cables but due to the holiday we won't receive until this Monday, Tuesday. So before I go from "others" programming format and pull my hair out trying to understand the difference with the Demo software, I'll stop and ask questions NOW:

    1- Do I understand the "accumulator" correctly? After the "LD" and then "Out" block that the accumulator value is reset to zero for the next block in the scan. I guess what I am asking is; as the scan is racing through the logic, is the value in the accumulator changing with every "LD" and "Out" command block and is it set to zero between blocks?

    2- In "others" format we used a "Move" block that would plug in multiple constants, one at a time, value into a single integer for displaying a message from the EZTouch panel for diagnostic messages for logical sequence error. We used conditional LL to trigger the constant into the integer for the appropriate message. How does this function "Move" in A/D format work? The same?

    3- In "Others" we used all decimal numbers. Although we could toggle the data tables from the various formats, we always worked with decimal and not BCD. This may sound stupid but can someone explain the difference on why when we always work with decimal in the real world, and other manufactures do also, that this format is based on BCD. I have read the manual section on this and it just hasn't hit home just yet. HELP.

    Any and all help would be greatly appreciated. Due to the "Big Boy" we are under the gun to fulfill our customers commitment and need your input.

    Expand Post
  • adccommunitymod (AutomationDirect)

    Created Date: November 27,2004

    Created by: bcarlton

    #1 - No, the accumulator retains the value of the last operation that changed it, even through scans (though I haven't depended on this). Do not assume anything in particular is in the accumulator unless your instruction just put it there.

    #2 - Not sure how to help you here. Just ladder logic triggered LD K????, OUT V???? pairs?

    #3 - They just decided to use BCD for the generic instructions. They do have binary equivalents for almost everything and, guess what, they operate faster for the most part. (I get hung up on execution time every once in a while) Maybe that will help.

    I think the hardest concept for me was the octal adressing. Get it into your mind to say the addresses as individual numbers. For example, V4215, say it as "Vee " "Four " "Two " "One " "Five " instead of "Vee " "Four thousand fifteen " This may help you from thinking that there may be a V4218.

    Expand Post
  • adccommunitymod (AutomationDirect)

    Created Date: November 27,2004

    Created by: Grouper1

    Thanks for the reply.

    To clarify the accumulator function; For example,. If you have rung #1 with a "LD" K200 and "Out" V1400, the accumulator still has a value of 200?

    Let's add rung #2 with "LD" K500 and "Out" V1401.

    Correct me if I am wrong: Rung 1 will have a value of 200 in the accumulator until the scan continues to rung 2 and 500 is now loaded. The accumulator will have 500 in value until the next "LD" function executes. Is that correct????

    Expand Post
  • adccommunitymod (AutomationDirect)

    Created Date: November 27,2004

    Created by: hanziou

    1- Do I understand the "accumulator" correctly? After the "LD" and then "Out" block that the accumulator value is reset to zero for the next block in the scan. I guess what I am asking is; as the scan is racing through the logic, is the value in the accumulator changing with every "LD" and "Out" command block and is it set to zero between blocks?

    Would you represent a block as a single rung? I always program as if the accumulator value at the start of the rung is a random number.

    I think (not sure) that the accumulator/stack are used for evaluating rung logic, so I always "LD " the values I am going to use.

    "LD " writes to the Accumulator. Within a rung the "LD " command pushes the value from the accumulator into the stack(1)(the value from Stack(1) goes to stack(2),etc.).

    Using the "OUT " box does NOT change the value in the accumulator. This command copies the Accumulator value into the specificied location.

    2- In "others" format we used a "Move" block that would plug in multiple constants, one at a time, value into a single integer for displaying a message from the EZTouch panel for diagnostic messages for logical sequence error. We used conditional LL to trigger the constant into the integer for the appropriate message. How does this function "Move" in A/D format work? The same?

    Have you seen the "Lookup Text " object on the EZTouch? You generate a list of messages. (These are stored in the panel.) You write the number of the message you want displayed to the memory location of the associated tag.

    (if xxx -- ,

    if yyy -- , )

    3- In "Others" we used all decimal numbers. Although we could toggle the data tables from the various formats, we always worked with decimal and not BCD. This may sound stupid but can someone explain the difference on why when we always work with decimal in the real world, and other manufactures do also, that this format is based on BCD. I have read the manual section on this and it just hasn't hit home just yet. HELP.

    I'm not sure if you are asking why to use BCD, or what is BCD, but...

    WHY?

    I don't really have a good answer as to why.

    What is BCD?:

    BCD uses 4 binary bits to represent a single decimal digit.

    Binary.......Decimal....BCD.....Hex...Oct

    0000 0000........0.......0.......0.....0

    0000 0001........1.......1.......1.....1

    0000 0010........2.......2.......2.....2

    ..

    0000 1001........9.......9.......9....11

    0000 1010.......10.....N/A.......A....12

    0000 1011.......11.....N/A.......B....13

    ..

    0000 1111.......15.....N/A.......F....17

    0001 0000.......16......10......10....20

    0001 0001.......17......11......11....21

    Number formats are fun.

    When addressing memory(V), (inputs(X), outputs(Y), counters(CT), timers(T), stages(S), control relays(C)) A/D PLCs use octal.

    Constants(K) are Hex. The BCD are a subset of the hex.

    The Counters(CTA) and Timers(TA) use BCD.

    Many of the analog modules report their value in binary(Hex).

    You can do BCD Math, Binary Math, Real Math.

    I could go on for too long and not answer any thing. Which aspects of BCD confound you?

    Expand Post
  • adccommunitymod (AutomationDirect)

    Created Date: November 27,2004

    Created by: Grouper1

    With respect to your conversion table, If the OIU is setup to be BCD numeric input format (V1400) and the operator inputs the value of 10, what is written to V1400?

    I'm really not being stubborn, I just haven't seen the forest through the tree's yet. After twenty years of only dealing with decimal numbering systems in "others" programs I'm feeling pretty ignorant over this issue.

    In the EZtouch, should the numeric inputs be BCD format? If so how does it handle 10,11 ect. This is where I am struggling between the formats.

    Expand Post
  • adccommunitymod (AutomationDirect)

    Created Date: November 27,2004

    Created by: RHanrahan

    Originally posted by Grouper1:

    Thanks for the reply.

    To clarify the accumulator function; For example,. If you have rung #1 with a "LD" K200 and "Out" V1400, the accumulator still has a value of 200?

    Let's add rung #2 with "LD" K500 and "Out" V1401.

    Correct me if I am wrong: Rung 1 will have a value of 200 in the accumulator until the scan continues to rung 2 and 500 is now loaded. The accumulator will have 500 in value until the next "LD" function executes. Is that correct????

    That is exactly what happens. The accumulator contains the last value stored in it. This also includes the results of all math functions.

    Expand Post
  • adccommunitymod (AutomationDirect)

    Created Date: November 27,2004

    Created by: Grouper1

    Thank you !!!!!!!!!

  • adccommunitymod (AutomationDirect)

    Created Date: November 27,2004

    Created by: Grouper1

    I DID FIND OUT ONE STRANGE THING WITH THIS SOFTWARE "DEMO ". MUL, DIV, SUB ALLOW YOU TO ENTER CONSTANTS "K ". THE ADD FUNCTION ONLY ALLOWS "V " MEM VALUE FOR THE FUNCTION. IS THIS GLOBAL EVEN WITH THE FULL BLOWN REAL SOFTWARE?

  • adccommunitymod (AutomationDirect)

    Created Date: November 27,2004

    Created by: Andy

    Use the ADDD (Add Double) instuction if you wish to use a K value. Also the value in the accumulator is only good during the scan it is loaded. do not depend on it during the next scan.

  • adccommunitymod (AutomationDirect)

    Created Date: November 28,2004

    Created by: Grouper1

    Thank you !!!!!!!!!

10 of 14