Elk M1, digital and analog questions


Active Member
Hi all

I am looking into an ELK (NESS here in Aus) and I want to know how well it perfoems on digital input.

I have a power meter that has a pulsed output for KHhr and hence its frequency can change. Also I have a roller door controller that has outputs to indicate if its travelling up or down and these pulse at around 1-1.5 Hz. THe pulse probably 3hz when there is a problem like an obstruction and the door is reversing back open.

Can the elk handle this frequency. What is its maximum limit?

Also can the elk handle 4-20mA or 0-10V analog loops. I have a number of devices using this and would like to interface them as well.

I am going to use the ELk with CQC and there seems to be a lack of devices that can take in I/O like this for CQC. I am hoping that the ELK being a automation controller as well can handle the job.


The M1's analog input ranges from 0 to 14 Volts DC. It has a resolution of 8 bits or 256 steps.

The loop response filter time (amount of time an input must remain not secure before it is considered not secure) of the inputs is in increments of 10 milliseconds. Range of the loop response time is from 20 milliseconds to 2.55 seconds. A 3 hertz signal is no problem.

To use the analog input values, you will write RULES to tell the control what to do when an analog value is reached. You can also request the analog value of the zones inputs remotely from software like CQC. Not sure if CQC has implemented that feature.

Good Day Mate!!

Curious. Can you also increment an (M1) counter at that rate? May be easier to poll a counter every now and then instead of having PC software try to keep up with the frequency.
Thanks for the info.

I am curious as to your statement "To use the analog input values, you will write RULES to tell the control what to do when an analog value is reached" All I want to do is read the current value at any time and present it on screen. From that I want to probably set some "alarm" limits, which follows from what you said.

As for digitals, I would use a counter and read it, and not the actual DI - especially for the power meter.

Once again

Spanky said:
To use the analog input values, you will write RULES to tell the control what to do when an analog value is reached. You can also request the analog value of the zones inputs remotely from software like CQC. Not sure if CQC has implemented that feature.
Has any plugin implemented this feature? I didn't spend a lot of time on this, but I can't even find the option for writing a rule if an analog zone reaches a voltage limit. Can you give us a quick example?

Thanks :p
Because analog levels do not fire an event, you must trigger the event from an input or timer runout:

Whenever every second
AND the analog value of input 1 is greater than 10 volts
THEN turnon Output 3

You can increment a counter at a 3 hertz input speed with no problem.

Whenever zone 1 becomes not secure
THEN ADD 1 to Counter 1

These examples are not word for word of what ELKRP writes.

You can request the analog level of any zone with the ASCII Protocol "ZV" command.
09zv12300B1 request the analog level of zone 123.
Using voltage signals on analog zones is pretty simple, but you have to convert your 4-20mA current signals into voltage signals. Using a 680 Ohms resistor connected accross the terminal inputs at the M1 (never at the end of the line) you will get a voltage signal range of 2.7 to 13.6 Volts. Well within the M1 allowable voltage input range.
Yes you are right a resistor would be needed to convert to voltage.

It is just a shame that the resolution is so coarse.

In my analog loop, the transmitter is a 24VDC model (loop powered), hence 24VDC needs to be on the wires as well.

Can the power be turned off to a zone and it only measures the voltage across the terminals? Typically we have three terminals on our inputs, one is 24Vdc (for loop powered devices) and then the other is a return. The third is there depending on jumper position for non loop powered devices (4 wire).

From my limited understanding of the M1, the zone input terminals have 12V at them (wrt the NEG terminal). BUt I need to put a 24VDC power supply in the loop as well.

I cant find anything in the manual on analog inputs and how to wire them.


I understand that the M1 zones have 14 volts with a permanent pull-up resistor. I understand that BSR removed the resistor from a zone in an input expander (not in the main controller to prevent damage to the warranty). The problem is that the Input Expander only sends the data whenever the zone analog value reaches some predefined threshold value or after N amount of seconds, which might be frequent enough.

May be others here can provide more alternatives. Good luck.
I have done some testing and it is beyond me. It would appear that the resistance changes and the voltage changes.

I havethis circuit

I put a 330 ohn resistor across the m1 terminals.

I use a process meter to regulate the current (1-20mA)
reading the voltage from RP and the current from the meter, using R=V/I, I get the resistance of the loop as shown below.


This shows that the loop resistance is changing - how the hell are voltage loops supposed to work then.

Anyone got any more ideas - I am not going to pull resistors off boards unless it is proven to work.

Is there anywhere else I can go for answers

First of all, don't apply a voltage across the M1 input! Any applied voltage will fight with the M1's internal +12 volt supply and you could actually damage something. Applying 24 volts is even more risky. Only apply varying resistance across a M1 input.
Ahh - theres the clue.

Just for you info
The resistor is used to allow a voltage to be measured across the loop, hence it was wired this way. The 24V is not across the terminals of the M1 - this is a 20mA max loop. Use a 600 ohm resistor and you get 12v (roughly). As an example, at 4ma there is only 2V across the 600 ohm resistor, not 24V as you are thinking.

The clue - we are measureing the change in resistance for an analog input, not voltage as all documentation suggests. That is why this loop will not work. If we were truly measuring voltage then there would be no voltage at the terminals (like on a multimeter) and it would work. It now all falls into place. I need to convert current to resistance and then measure that. (no idea how I am going to do that though).

Thanks for that
Digger said:
would an optoisolator work??????
Makes sense. Could be.

The current loop drives the internal LED. Then this LED shines on a phototransistor (or similar light sensitive gate) to vary the resistance from 0 to infinite. All depends on the resistance curve. You will want to linear part to be below ~4400ohms (based on the rationale that 2200ohms is around mid the resistance range for the M1).

The only problem might be that the phototransistor might not be as linear as you want.