Announcement

Collapse
No announcement yet.

Operating a GS1 with a P1K

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Operating a GS1 with a P1K

    I am working on a small test bench that will be using a GS1 VFD to control a 3 phase AC motor using a P1K (will be using a C-More Micro HMI). The setup is running manually and it is time for the programming to begin. I looked in the Automation Direct help files to try to find info on scaling the signal to send to the VFD but am coming up empty. Does anyone on this forum know of any resources that could help steer me in the right direction? All I am trying to do at the moment is once start button on HMI is pressed and "go" coil latched ramp the motor up to a certain RPM, dwell for a period and stop. Thank you in advance for your time and have a great day!

  • #2
    Attached is a file that has an example (after downloading, change file extension to .adpro). Like most things there are multiple ways to do what you're trying to do. You mentioned scaling in your post but weren't specific so I'm assuming that you're trying to scale an analog output to drive the VFD. In the example I attached it is set-up with a P1-540 and a P1-04DAL-2 0-10VDC output card. The example does what you're trying to do (start-->ramp up-->dwell-->ramp down). The example ramps up in 4 seconds, dwells 5 seconds and ramps down in 4 seconds. This is accomplished using a drum sequencer and ramp commands (there are a multitude of ways to perform sequential steps with timers and lock out bits). I made the example to primarily show the functionality of the drum sequencer and the ramp commands vs trying to use timers and lockout bits. The way the example is done is similar to the concept of Stage Programming used in the BRX platform. At the end of the program is the scale linear command which converts the VFD speed (Hz, RPM (you have to decide your reference units)) to the counts necessary to drive the voltage output to 0-10VDC (4095 counts). This is just one way with an analog output. I believe the drive also supports modbus communication which could be used to set the speed and the P1-550 supports direct interface with some of the GS drives.
    Attached Files

    Comment


    • #3
      Cliff T. What hardware are you using for this? Sounds like analog, but what card? Or are you communicating over modbus to the GS1?

      Comment


      • #4
        Originally posted by RBPLC View Post
        Attached is a file that has an example (after downloading, change file extension to .adpro). Like most things there are multiple ways to do what you're trying to do. You mentioned scaling in your post but weren't specific so I'm assuming that you're trying to scale an analog output to drive the VFD. In the example I attached it is set-up with a P1-540 and a P1-04DAL-2 0-10VDC output card. The example does what you're trying to do (start-->ramp up-->dwell-->ramp down). The example ramps up in 4 seconds, dwells 5 seconds and ramps down in 4 seconds. This is accomplished using a drum sequencer and ramp commands (there are a multitude of ways to perform sequential steps with timers and lock out bits). I made the example to primarily show the functionality of the drum sequencer and the ramp commands vs trying to use timers and lockout bits. The way the example is done is similar to the concept of Stage Programming used in the BRX platform. At the end of the program is the scale linear command which converts the VFD speed (Hz, RPM (you have to decide your reference units)) to the counts necessary to drive the voltage output to 0-10VDC (4095 counts). This is just one way with an analog output. I believe the drive also supports modbus communication which could be used to set the speed and the P1-550 supports direct interface with some of the GS drives.
        You can ZIP the project, if your 'puter has that ability.

        Comment


        • #5
          Originally posted by MikeN View Post
          Cliff T. What hardware are you using for this? Sounds like analog, but what card? Or are you communicating over modbus to the GS1?
          https://www.automationdirect.com/adc...z-o/p1-04dal-2

          4-channel 0-10V out









          stupid forum requirement

          Please try again in 51 seconds

          ​​​​​​​Please try again in 50seconds

          ​​​​​​​Please try again in 49 seconds

          ​​​​​​​Please try again in 48 seconds

          ​​​​​​​Please try again in 47 seconds

          ​​​​​​​Please try again in 46 seconds

          ​​​​​​​Please try again in 45 seconds

          ​​​​​​​Please try again in 44 seconds

          ​​​​​​​Please try again in 43 seconds

          ​​​​​​​Please try again in 42 seconds

          ​​​​​​​Please try again in 41 seconds

          ​​​​​​​Please try again in 40 seconds


          Don't worry, I had to WASTE THIS TIME anyhow!

          Comment


          • #6
            Hi RBPLC, thank you so much for the example, I have downloaded but not opened it yet, it sounds like this is the road I want to be on. You are right, I am trying to scale a 0-10V signal and am using the P1-04DAL-2 analog module.


            Hi MikeN, I am using the p1-04DAL-2 IO card and using the 0-10V setting on the GS1.

            Hi Kewakl: Thanks for the insight, we are in business!

            I really do appreciate all the people in this forum, this is an invaluable resource and if I ever get smart enough I will be sure to share info here!

            Comment


            • #7
              12-bit should have a max count of 4096. So really all you need to do is choose a 0-100 value in your program for speed. Think of this as a percentage. Just choose whatever speed percent you want and store that value in an integer32 tag.
              Make a task in your program and keep it as the last task. In that task, just make a "scale linear" instruction and say input range of 0-100, output range of 0-4096, and the input tag is your speed value tag that you are using, output tag is the tag you used when you set up the analog card in hardware.
              This lets you choose any value in your program and manipulate it as you want, and then at the end it will scale that out to your analog count range to send to the GS1.

              On your GS1, you should set the parameter that controls the display to show the analog input. That way you can monitor the analog signal the drive sees so that you know it is receiving the signal properly.

              Click image for larger version  Name:	GS1.png Views:	0 Size:	10.4 KB ID:	127888

              EDIT: here is a picture showing the only 2 lines you really need. The copy data line isnt even needed exactly. Anywhere in your program, you can use a copy data and write a 0-100 range value into the SpeedPercentage tag and it will update the speed on the card. Super easy.




              edit again:
              Using analog is a good way and easy, however another way is to use a GS-EDRV100. You should watch these videos for how that setup works:
              www.youtube.com/watch?v=82eX71qbljg
              www.youtube.com/watch?v=tAopHw03jtw
              Last edited by MikeN; 01-22-2020, 05:25 PM.

              Comment


              • #8
                I will give that a shot, it seems pretty straightforward and I will make sure to set the parameter that shows the analog input, I love that idea and thanks!

                Comment


                • #9
                  Another way you could set up your scaling instead of 0-100, would be your RPM range. So if you have a motor with a nameplate RPM of 1750, you could set your "scale Linear" instruction for an input range of 0 minimum, 1750 maximum. Then choose any number between there in your program and you are effectively selecting the specific RPM you want the motor to run at in your program.

                  Comment

                  Working...
                  X