Logic Level


Thread Starter


erm.. I would like to ask what will happen if the input to a PLC is neither high or low? what i would guess is there won't be any response
from the PLC. Does that mean that if the situation will remain the same? let's give an example...

1. Temperature higher than 60 degree celcius is considered a high. An output is turned on.
2. Then the temperature goes below 60. Will the output still be on or not?

That's all. Thank you!


Manesh T.Varghese

Dear Steven,

Normally PLC s accept digital inputs.So it is either Yes or No. In this case , the PLC input his definetely Heigh when temp is above 60 Deg.
and is low when temp is below 60 Deg. Now the PLC produces an out put after processing the input.This processing section is the PLC Control logic. So normally the state which you have mentioned are taken care in the logic.it can be something like this.The output needs to be energised when temp is above 60 Deg and de-energisation of the output is not controlled by this particular input. There can some other condition to trip the output (eg:a timer) In this case once the input comes, output is latched and is no more influenced by the particular temp input
unless the output de-energises. It is just like a monostable.

The input of the PLC if it is configured to receive a digital signal will read the condition below 60 Deg as ZERO and the above 60Deg as ONE.

But PLC do proces analog functions and in that case it is just an analog input, which triggers an output when it goes above 60 Deg.

I hope this will help you.

\Manesh T.Varghese
I'm not sure I understand what it is you are asking. However, if you have an output defined operationally as turning on when the input
temperature is above 60 degrees C, then, in most cases, I would turn this output off when the input temperature is at or below6 0 degrees.
On the other hand, you may be talking about an alarm signal which may require an acknowledgement in order to turn off. This is all part of your application programming.<br>
But . . .<br>
If what you are asking is that if an output is explicitly programmed [in ladder logic for example] to turn on when your input temperature is greater than 60, will it be turned off when your input temperature is at or below 60, or in other words not greater than 60 (shown below)?<br>
Ladder logic:<br>
+----+ %Q001
------|GRT |-----------( )
| |
%I001|A |
| |
60|B |


IF %I001>60 THEN
SET %Q001
The answer is yes, the output %Q001 will turn off when the statement (%I001 > 60) is not true, which is more clearly demonstrated in the
pseudo-code equivalent of our ladder logic example.<br>
[email protected]
not really... for a high input, the voltage has to be above 18V and a low should be below 8V... what i'm asking is, what if the input voltage is between 8 and 18? it is neither on or off.. i would like to configure so that below 40 celcius is a low and above 60 celcius is a high... i am assuming that in between the temperatures, there won't be any response from the PLC... but i'm not sure about that... is that possible?
While this can be done at the PLC level in the application program, alarming is quite often a function of SCADA, HMI, etc. Most systems
include several levels of alarms, ie, low warning, low alarm, high warning, high alarm, etc.

[email protected]

Vitor Finkel


The PLC is a programmable device
The output shall follow whatever your program tells it to do. The "PLC" does not care a bit (sorry for the pun) if the temperature is
high or low. It is your program that tells it what to do in function of the value of the variable. As most programmable stuff, (before Microsoft went into business) it will do as told by the program.

It really boils down to how the digital hardware is defined. To take one example, National Instruments FieldPoint FP-DI-330 Digital Input module are specified with typical threshold of 1.5 VDC, a maximum of 2.5 VDC and a mininum of 1 VDC. This means that the module is guarenteed to treat all signals less than 1 VDC as off or Logic Low, all signals greater than 2.5 VDC are guarenteed to be read as if they were on or Logic High. A typical module will have the threshold of 1.5 VDC so any voltage less than 1.5 VDC is Off and any voltage more than 1.5 VDC is On. This threshold may vary from 1 to 2.5 V and will vary on a module to module (and sometimes channel to channel basis). The important thing to note is that there is no "undefined" state. The channel is always either off or on, but the threshold at which it is off or on varies. This threshold will not vary one minute to the next but may vary slightly over the full scale temperature rating of the device and from one module(or channel) to the next.

> >1. Temperature higher than 60 degree celcius is considered a high. An
> >output is turned on.
> >2. Then the temperature goes below 60. Will the output still be on or
> >not?

Vitor Finkel:
> The PLC is a programmable device
> The output shall follow whatever your program tells it to do.

The question may have been on the meaning of ladder, though.

In normal ladder, the coil is turned OFF whenever the contacts disconnect.
Ie, if I have:
| X Y |
|-----------| |--------------------( )-----|
| |
Then Y will be ON whenever X is ON, and Y will be OFF whenever X is OFF.

If you want the other way, look in your programming manual for SET/RESET instructions.

| X Y |
|-----------| |--------------------(SET)---|
| |
Now as soon as X comes ON, Y will turn ON and will remain ON regardless of what X does afterwards. Somewhere else in the program, you'll probably want the corresponding RESET instruction, which turns Y back OFF.

| Z Y |
|-----------| |--------------------(RST)---|
| |
This turns Y OFF whenever Z is ON. It does nothing when Z is OFF.

If you use SET and RESET, it's important to note that the rungs are done from top to bottom in order and that changed outputs don't appear in the
real world until the bottom of the diagram (but they do appear in the logic from that point on).

Steven, was this what you were asking?

Jiri Baum <[email protected]> http://www.csse.monash.edu.au/~jirib
MAT LinuxPLC project --- http://mat.sf.net --- Machine Automation Tools
So that means if it's not a high or low, then the PLC will not do anything... that's quite true... but will the output remain the same? imagine this...

High-------> output A

Going to Low--------> (the missing part that i'm not sure)

Low--------> output B

Will output A remain when the change of voltage across the input varies from high to low?
The area in between is an unknown, unstable area. You should use analog input for your app. Then you can program digital outputs at whatever level you chose.
i'm worried that when the voltage goes below the high logic level slightly, the output will still be on, assuming that a high input turns on the output.



The problem, as I see it, is that you are trying to put an analog signal to a digital input. This is not the way to do what you want. Therefore, anything between the defined on threshold and the defined off threshold can go either way, and you will have no way of knowing or controlling it.

The correct way to do this is to bring your signal to an analog input. This will then be scaled to (typically) an integer value. Depending on the processor and input type, I have seen some that define a 4 - 20 mA signal as a range of 4000 to 20000.

Once you have your analog signal in, you need to scale it to real world units. For example, say you bring it in, and it turns out that 0 degrees C is 4000, and 100 degrees C is 20000. Then, 60 Degrees C would be = 9600. When your input => 9600 turn your output on. If it is < 9600 you can turn it off, or you can define an 'overlap' area, so that temp => 9600 (60 degC) turns the output on, and temp < 8800 (55degC) the output turns off. This would avoid contact 'chatter' of the temp bounces around between 9599 and 9601.

This is the way you should be approaching your project. If you try to use a digital, discrete input as an analog you are asking for trouble and more cost than if you had just done it right the first time.

--Joe Jansen