Ron Beaufort
Lifetime Supporting Member
I found this question in my Personal Message box ... not sure why the sender didn’t just post it to the open forum ... the questions are valid and pretty common ...
Greetings ____ ...
first of all, if you follow your original plan and use N7:6 as your control block, then you can NOT use N7:7 as your Control Variable (CV) ... the reason is that the control block requires 23 words of data ... so that means that N7:6 through-and-including N7:28 will be dedicated for use by the PID instruction ... your CV will need to be placed somewhere outside of this range ... let’s use N7:75 just for discussion purposes ...
you said that I:3.4 will be used for your Process Variable (PV) ... maybe - but probably not ... the only way that this will work, is IF (big IF) your thermocouple input module can be configured to give you a signal which is already “scaled-for-PID” ... most modules won’t do this ... the big idea is that the PV signal must range in value from 0 to 16383 ... in most cases this requires the use of some type of “scaling” operation - and a new location for the properly scaled PV signal ... let’s use N7:54 as an example ... use the SCP to do the scaling if your processor will support it ... please tell us what type of input module you’ll be using if you need more detailed help with this ...
now ... to control your digital output, you’ll want to use what we call a “time proportional signal” ... here’s a quick example:
there are different ways of doing it, but this will probably be the best way to demonstrate the basic ideas involved ... experiment with this section of code and if you can’t figure it out, post any specific questions that you might have ... there are a lot of knowledgeable people here on the forum who will be able to help ...
finally ... yours is a good question and one which will benefit a lot of people - so I’ve decided to answer it here on the open forum ... if you have further questions, it would be a good idea to post them here - so that everyone can help each other - and so that we can all learn together ...
I hope this helps ... and welcome to the forum ...
Hi Ron
Thank you very much for your explaination about PID....
its seems that u like to help PPL regarding PLC question.
im new on PID....Im using SLC 500 5/03
my question is i wanna control digital OUTPUT to my heater element!(Not Analog output) which bit i should use to Control digital output?
PID
N7:6 = control Block
I:3.4 = process variable(MY thermo couple input)
N7:7 = control variable
my heather element output address is O:2/2
or i will control with internal Bit B3:1/1
pls help me on this question!
if u dont understand the question pls let me know!
thanks ____
Greetings ____ ...
first of all, if you follow your original plan and use N7:6 as your control block, then you can NOT use N7:7 as your Control Variable (CV) ... the reason is that the control block requires 23 words of data ... so that means that N7:6 through-and-including N7:28 will be dedicated for use by the PID instruction ... your CV will need to be placed somewhere outside of this range ... let’s use N7:75 just for discussion purposes ...
you said that I:3.4 will be used for your Process Variable (PV) ... maybe - but probably not ... the only way that this will work, is IF (big IF) your thermocouple input module can be configured to give you a signal which is already “scaled-for-PID” ... most modules won’t do this ... the big idea is that the PV signal must range in value from 0 to 16383 ... in most cases this requires the use of some type of “scaling” operation - and a new location for the properly scaled PV signal ... let’s use N7:54 as an example ... use the SCP to do the scaling if your processor will support it ... please tell us what type of input module you’ll be using if you need more detailed help with this ...
now ... to control your digital output, you’ll want to use what we call a “time proportional signal” ... here’s a quick example:
there are different ways of doing it, but this will probably be the best way to demonstrate the basic ideas involved ... experiment with this section of code and if you can’t figure it out, post any specific questions that you might have ... there are a lot of knowledgeable people here on the forum who will be able to help ...
finally ... yours is a good question and one which will benefit a lot of people - so I’ve decided to answer it here on the open forum ... if you have further questions, it would be a good idea to post them here - so that everyone can help each other - and so that we can all learn together ...
I hope this helps ... and welcome to the forum ...