NathBarreiros
Member
Hello everyone!
I've been trying to test the PID block on RsLogix500, replicating examples from some videos, however; I have not found a way to solve the problem I have and I hope you can help me.
I dont have a physical PLC so I am simulating its operation with an emulator. I have an analog input that reads from 0 to 100%, I scaled it from 0 to 16383, for the setpoint, I did the same as I mentioned before. I have created a PID file to load it into the PID block, I moved the setpoint value to the PD9:0.SPS register, in the PID block. The process variable is the first scaled value that corresponds to the analog reading, I saved the control action in another integer register and this one I scaled from 0 to 31208, in order to have the value in the analog output variable.
This corresponds to the first two images.
http://www.plctalk.net/qanda/attachment.php?attachmentid=56968&stc=1&d=1610863052
http://www.plctalk.net/qanda/attachment.php?attachmentid=56969&stc=1&d=1610863056
As can be seen, the setpoint value does not move to the PD9: 0.SPS register, it seems that perhaps the value is overflowing so it even turns negative, however; when raising or lowering the setpoint, the value shown in PD9: 0.SPS, is randomly positive or negative (or at least I could not find any logic).
Then the PID block does absolutely nothing as it does not deliver any control output.
The configuration that I made of the PID is the one shown in the last graph, it is observed that there is no control output, but the gain Kc of the controller actually changes, the Reset Ti value, I set it to 0.1.
http://www.plctalk.net/qanda/attachment.php?attachmentid=56970&stc=1&d=1610863653
I would like to know how to make it right.
Thanks in advance.
I've been trying to test the PID block on RsLogix500, replicating examples from some videos, however; I have not found a way to solve the problem I have and I hope you can help me.
I dont have a physical PLC so I am simulating its operation with an emulator. I have an analog input that reads from 0 to 100%, I scaled it from 0 to 16383, for the setpoint, I did the same as I mentioned before. I have created a PID file to load it into the PID block, I moved the setpoint value to the PD9:0.SPS register, in the PID block. The process variable is the first scaled value that corresponds to the analog reading, I saved the control action in another integer register and this one I scaled from 0 to 31208, in order to have the value in the analog output variable.
This corresponds to the first two images.
http://www.plctalk.net/qanda/attachment.php?attachmentid=56968&stc=1&d=1610863052
http://www.plctalk.net/qanda/attachment.php?attachmentid=56969&stc=1&d=1610863056
As can be seen, the setpoint value does not move to the PD9: 0.SPS register, it seems that perhaps the value is overflowing so it even turns negative, however; when raising or lowering the setpoint, the value shown in PD9: 0.SPS, is randomly positive or negative (or at least I could not find any logic).
Then the PID block does absolutely nothing as it does not deliver any control output.
The configuration that I made of the PID is the one shown in the last graph, it is observed that there is no control output, but the gain Kc of the controller actually changes, the Reset Ti value, I set it to 0.1.
http://www.plctalk.net/qanda/attachment.php?attachmentid=56970&stc=1&d=1610863653
I would like to know how to make it right.
Thanks in advance.