
adccommunitymod (AutomationDirect) asked a question.
Created Date: September 30,2016
Created By: Ian Charles
**** 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 Guys: I'm struggling with the following. I 've successfully connected my P2000 to a Yaskawa V1000 using implicit messaging over Ethernet/IP. It uses two bytes to control the speed, so if I want to set a frequency of 60.00Hz, I convert this to hex i.e 0x1770 and, using the CPD instruction write the high byte of 0x17 or 23 to the first address in the output block and the low byte of 0x70 or 112 to the second. So far, so good. My application though is to control the inlet pressure on a filter which is broadly proportional to pump speed and, where the pump-motor is controlled from this VFD. My thinking is that this would be a good application for PID control but, I can't figure out how to do it. While I 've only got one process variable (pressure) I 've got two process outputs in the low byte and high byte of the V1000 output block. I'm sure I'm missing something really obvious - is there a way of doing this? Thanks in advance!
Created Date: September 30,2016
Created by: Ian Charles
Hi Guys:
I'm struggling with the following.
I 've successfully connected my P2000 to a Yaskawa V1000 using implicit messaging over Ethernet/IP. It uses two bytes to control the speed, so if I want to set a frequency of 60.00Hz, I convert this to hex i.e 0x1770 and, using the CPD instruction write the high byte of 0x17 or 23 to the first address in the output block and the low byte of 0x70 or 112 to the second.
So far, so good.
My application though is to control the inlet pressure on a filter which is broadly proportional to pump speed and, where the pump-motor is controlled from this VFD.
My thinking is that this would be a good application for PID control but, I can't figure out how to do it. While I 've only got one process variable (pressure) I 've got two process outputs in the low byte and high byte of the V1000 output block.
I'm sure I'm missing something really obvious - is there a way of doing this?
Thanks in advance!
Created Date: October 03,2016
Created by: ADC_CommTeam01
You can scale the output of the pid (0-100) to 0-6000 for the vfd. You can then use the UPKW to separate out the bytes. See example code I have posted
Created Date: October 03,2016
Created by: Ian Charles
Thanks! Took me a while but, I got there in the end!