No announcement yet.

Analog Outputs Ladder Logic

  • Filter
  • Time
  • Show
Clear All
new posts

  • Analog Outputs Ladder Logic

    I am using a P1-08DAL-2 module to send a 0-10 volt speed reference to an Automation Direct VFD. What command (symbol, box, etc.) do I use to get this module to output a voltage? I tried a couple of different things like Scale and Math, but can't get an output from the module. The goal is to use current transformer inputs from cheese shredders (input works fine) to control the speed of the belt feeding the shredder. I scaled the transformer input from 1-10 and used a simulator to check it. I can't find any examples of the ladder logic for an output though. It is probably here somewhere, but my keywords to search are not finding it.


    Mike B.

  • #2
    Can you create a system report or provide screen shots of your hardware configuration for that module and ladder logic?


    • #3
      What was the final destination tag that you were using in the MATH and SCALE instructions?
      Was it a physical AOS32 channel?
      As ADC_CommTeam02 suggests, post some screenies of your attempts.
      Also, verify (post images) your wiring of the analog output card.

      I ask the following because ----- been there done that!

      Do you have the required +/-24V connected to the card?
      Are you measuring the voltage on the correct output/correct screw terminal/wire?
      Is the output logic in a task that is actively being scanned/called/executed?
      Is the output logic AFTER any END instruction?
      Is there any other instruction/comm that could overwrite the output tag of your SCALE/MATH instruction?


      • #4
        Is your analog card and devices on its own power supply, or shared with everything else?

        Did you connect the 0v terminal on the card to the GS drive analog common? Or just to your negative side on your 24v power?
        Last edited by MikeN; 02-06-2020, 09:12 AM.


        • #5
          I will try to answer all of the above as best I can.

          The 24 VDC supply is also powering my input card, but nothing else at the moment. Does this need a completely isolated supply?

          I used the tag name "belt speed" as shown here'
          Click image for larger version

Name:	card.PNG
Views:	194
Size:	81.2 KB
ID:	128299
          I am using an analog input card to read 2 current transformers (0-10 type) and a reference from another plc. This is working fine with a 0-10 simulator. I scaled the range to 0-10, for the purpose of having 10 different possible "speeds" on the belts. I tried another scale to run mu outputs as shown on rung 4. I figured I could use the tag that stored my input value to create the output value with the tag name on my output. Didn't work. I then tried a math function to make my tag "+5", didn't work either. Does anyone have an example of what I should use to get an output from the card? I also connected the simulator right to my drive and that works as it should. This is my first use of an output card. Again, the goal is to change the speeds of 7 VFDs according to downstream 0-10 VDC request, and current readings from my CTs. Thank You. Sorry, my text would not move below this image.
          Click image for larger version

Name:	scale.PNG
Views:	109
Size:	52.5 KB
ID:	128300


          • #6
            12-bit outputs have a max count of 4096. So if your tag on the analog out card has a value of 0 then it will output 0 volts. If you have a value of 10, it will still be "basically 0v". You would need a value of 4095 in the tag for the output card to be outputting 10v.
            What you need to do is scale your speed values (0-10) to analog counts (0-4095).

            So if your input card is 13-bit, its count range is 0-8191. Take your input tag, run it through a scale instruction with an "In Min" of 0, "In Max" of 8191. "Out Min" 0, "Out Max" 10. Output tag will be some new tag you made up.
            Now your made up tag is a 0-10 value of your speed from your analog signal.
            To get that to an output, make a second scale linear instruction and the input tag will be the made up tag you have as the output to your other instruction. In Min is 0, In Max is 10. Out Min is 0, Out Max is 4095. Output tag is the tag for your analog card.

            I have always used Float32 as tag datatypes for analog values, but I bet you can use Integer32 instead and it will only stay at whole numbers and round to the closest whole number. This would keep you with only 10 possible speeds rather than 100+ possible speeds by taking into account decimal points within the 0-10 range.

            Your program should now be reading an analog voltage, the input card converts to a digital count, digital count is scaled to a 0-10 value. That 0-10 value is scaled back to the count range of your output card, and the output card converts its digital count to an analog voltage.


            • #7
              Thanks for all the responses with potential solutions. Turns out I had everything right except for the output scale. I used a Scales Analog to take my main reference number of 1-10, and scaled it to a 0-4095 on the tag for the 1st module output. Works perfectly! As mentioned in some of the suggestions, I will add another 24VDC supply dedicated to my analog cards before this thing goes live. We will be running 7 belts at varying speeds into, and out of, big cheese shredders. I used the AD ACUAMP current transformers to get feedback from shredder loading and this will reduce the feed belt speeds to keep a good throughput and for jam detection.

              Thanks Again.