Ana səhifə

Leopard II manual Table of Contents


Yüklə 3.21 Mb.
səhifə16/16
tarix24.06.2016
ölçüsü3.21 Mb.
1   ...   8   9   10   11   12   13   14   15   16

5.4Auto Addressing your ADICON™ 2500 Series

Auto addressing sets the addresses on all the modules connected in the daisy chain.



IMPORTANT!

If you plan to use more than 1 Ocelot™ or Leopard™, disconnect (or remove power from) each slave Ocelot™ or Leopard™ before auto addressing. Slave Ocelots™ and Leopards™ cannot be auto addressed.

1) Remove the covers from the new ADICON™ module if needed to access the Auto Address button.

It is not necessary to remove the cover from the Ocelot™, Bobcat™ or SPEAKEZ™ modules.

2) Connect the ADICON™ 2500 Series daisy chain and apply power to each module as described in each module’s manual.

3) Start C-Max. Click Comms with your left mouse button. A window will appear. Click Attach to Controller with your left mouse button. The Controller Access window will appear.

4) Click Controller Utility with your left mouse button. A window will appear.

5) Click Auto Address Modules with your left mouse button. The following window will appear (fig 102):


Fig. 102
The Active light on each module will flash rapidly.

6) Wait 30 seconds. Go to each module and press and release the address button.

Make certain that only one button is pushed at a time. Each time an address button is pushed, the Active light on the module will stop flashing rapidly and flash slowly. The number after “Looking for Module” will increment each time a button is pushed.



Note: Be sure to write down which modules are programmed as Module 1, Module 2 etc. This will help you when you start writing your program.

7) Once each module has been addressed, click Close with the left mouse button. The following windows will appear (fig 103): Click OK with your left mouse button.



Fig. 103
If you had a program loaded in the Ocelot™ or Leopard™ you will need to reload it.

8) Exit then re-enter Controller Access screen.

W
hen you enter the Controller Access screen, the grid to the right will show each module that is connected to the Ocelot or Leopard. Each module will report a type and version as shown below (fig 104):
Fig. 104

The Type indicates what module is at the specified address indicated under MOD#. Version (Vers on the controller access screen) is the software version stored in each module. As features are added to modules, this software version is updated by replacing a chip inside the module.



5.4.1Adding a new module to an existing installation

You can add a new module one of two ways:



  • You can connect the new module to the current installation as described in Section 1 and re-auto address the entire system

  • You can independently address the new module. To independently address the new module, do the following:

1) Launch C-Max, Click Comms and Attach to Controller. Write down what addresses are currently being used and determine what address you want the new module (or modules) to be. Each module must have a unique address.

2) Disconnect the existing wires from COMS A and B on the Ocelot™ or Leopard™.

3) Connect the new module to the Ocelot™ or Leopard™ as shown in the module manuals with no other modules connected.

4) Remove the covers from the new ADICON™ module if needed to access the Auto Address button.

It is not necessary to remove the cover from the Ocelot™, Bobcat™ or SPEAKEZ™ modules.



5) Start C-Max. Click Comms with your left mouse button. A window will appear. Click Attach to Controller with your left mouse button. The Controller Access window will appear.

6) Click Controller Utility with your left mouse button. A window will appear (fig. 105).

7) Click Auto Address Modules with your left mouse button. The following window will appear:


Fig. 105
The Active light on your module will flash rapidly.


8) Press the “Skip This Module” button until the desired address appears next to Looking for Module in the Auto Addressing Modules window that you determined in Step 1. Make sure that the address you choose is not the same as an address on an existing module.

9) Press the Auto Address button on the new module. The number after “Looking for Module” will increment once. If the number does not increment, wait 10 seconds and press the button again. The Active light will stop flashing.

10) Exit the Controller Access screen.

11) Repeat Steps 2-10 for each new module you want to add. When finished click the Close button.

12) Remove power from and Ocelot™ and Module and reconnect the new module in the daisy chain in the desired location and reconnect the other modules to the Ocelot™ or Leopard™. Reapply power to the modules first, then the Ocelot™ or Leopard™.

13) Re-enter the Controller Access screen. You current and new modules will be displayed in the Controller Access screen.


Note: If the new module is addressed using the second method then CPU parameter 3 must be changed to show the highest module number. For example, if your system has 6 modules and you replace module 2, then after auto addressing, CPU parameter must be changed to 6.

5.5Using Expansion Modules


In this application note on programming, we will look at using some of the ADI expansion modules. Several different models of expansion modules are available. There are temperature, humidity and light sensors, relay modules, a sound module, IR module, and some modules with input capabilities too. One of the most widely used modules is the SECU16, which offers 8 output relays as well as 8 inputs that can be configured and read in various ways. It is this module that we will use for our programming examples.


When connecting a home automation (HA) controller to real-world devices, it quickly becomes obvious that X10 alone will not cover everything if we want to progress beyond turning lights on and off. Many devices do not offer the capability to control them with other then their built-in controls, but with some knowledge of electricity and electronics it is often possible to buy or make an interfacing device that will provide some remote input and/or output capabilities. Often the interfacing device’s output will consist of a dry contact closure or produces a low voltage signal to give us a signal that represents the appliance’s status. Similarly, you might be able to control an appliance by tieing into a low voltage control signal for the appliance. A frequently automated appliance is the automatic garage door. This provides us with a good example of how a module like the SECU16 can be used to provide new capabilities like automatically close it at a certain time of the day, or any other parameter that we often consider in our HA system.
The typical garage door opener provides a manual pushbutton to open or close the door from inside the garage. To keep controls simple, this button is usually a low voltage control, using voltages like 12 or 24 volts. This is the perfect place to tie into a our HA system for actuating the door. The only problem is that you typically have only one button, which will close the door if its open or open it if its closed. This means that to create a routine that closes the door, your system will need to “know” it’s current open or closed state to decide if an actuation is needed. In its simplest implementation, our system will need one input for the current door position and one output to actuate the door.

A SECU16 input can be configured for supervised digital input, analog voltage input, or analog current loop input (used in industrial sensors). Since we only want the open/closed status of the door, the supervised digital input is the simplest mode to use. To sense the door’s position, a normally closed magnetic reed switch will be used, like the ones typically used for doors in alarm systems. The reed switch will be mounted so that when the door is closed, the magnet is in proximity to the switch and the contact closes. As specified in the SECU16’s instructions, a 1k resistor is connected across the magnetic siwtch’s contacts. To actuate the door’s operation, a SECU16 output relay is wired in parallel with the door’s wall mounted pushbutton. Fig. 106 shows a schematic diagram of the wiring for both the input and the output circuits to interface to the garage door system.



Fig. 106
As for implementing the routine in C-Max, here is a sample program to initiate an automatic closure of the garage door at 8:00 PM every day (Fig. 107):

0001 - IF Time of Day becomes = 20:00 // if time = 8:00 PM

0002 - AND Module #1 -SECU16 Input #1 Is OFF // and door not in closed position

0003 - THEN Module #1 -SECU16 Relay #9 Turns ON // "press" the door button

0004 - THEN Timer #3 = 1 // and start interval timer

0005 - IF Timer #3 becomes > 2 // two seconds later

0006 - THEN Module #1 -SECU16 Relay #9 Turns OFF // "release" the door button

0007 - THEN Timer #3 = 0 // and stop the interval timer
Fig. 107
Note the use of a timer to create the time interval during which the manual activation button is held down. Given that we have a logic processor controlling the garage door, it becomes easy to add additional features to the system. Since it is an unsupervised system that is closing the door at 8:00 PM, you might want to be sure that it is actually closed before retiring for the night. If a foreign object or other fault prevented the door from closing, we would like to be warned of that fact. Here is an addition to our program that verifies if the door is closed one minute later, at 8:01 PM (Fig. 108):
0008 - IF Time of Day becomes = 20:01 // if time = 8:01 PM

0009 - AND Module #1 -SECU16 Input #1 Is OFF // and door is open

0010 - THEN Send Module #2 -SPEAK-EZ Audio Message #6 // announce that door is open

Fig. 108


Line 10 uses a Speak Easy sound module to announce that the door is still open. As you can see, it becomes easy to customize our system since the expansion modules become an integral part of the system and are accessed directly with C-Max instructions.
The SECU16 module can also have its inputs configured for analog mode. Configured this way, the input will return a numerical value between 0 and 255, proportional to the voltage applied across its input. Zero volts will give an analog value of zero, while +5 Vdc will give a reading of 255. This is useful for acquiring analog values like tank levels, light levels, etc.; anything that can be converted to a 0 to +5 Vdc signal. As a second and final example, we will show how a tank level sensor can display (for example, on a Leopard screen) the level in the tank as a percentage of “full”. Fig. 109 shows how the sensor would be connected to the SECU16 input, and illustrates the sensor as a potentiometer giving a voltage proportional to liquid level.

Fig. 109


The code needed to read to read the input and convert it to a percentage is shown in Fig. 110. Because the controller does not have decimal math, we cannot just divide the 0 to 255 analog scale by 2.55 to get a percentage (0 to 100) so instead, we multiply the reading to increase its divisibility and then divide to get a value from 0 to 100. In our example, we multiply the reading by 255 to get a value from 0 to 65025 (we cannot exceed 65535, the maximum a variable can be set to) and then divide by 650, which will produce a maximum of 100 due to integer division:

0001 - IF Module #1 -SECU16 Analog #2 is < 256 // read analog input 2 if < 256 (always)

0002 - THEN Load Data to: Variable #2 // and capture into variable #2

0003 - THEN Variable #2 * 255 // multiply by 255

0004 - THEN Variable #2 / 650 // then divide by 650

0005 - THEN Variable #3 = Variable #2 // and copy to screen display variable


Fig. 110
These two examples demonstrate how adding digital and/or analog input/output devices to your ADI system can be easily accomplished using the available modules and by adapting the device’s controls to be interfaced within the modules’ specifications. A user familiar with standard interface types such as open collector outputs, dry contacts, etc. will be able to select the right interfacing hardware or even build his own.

5.6Ocelot/Leopard Parameters




Param Number Description of Parameter Values / Usage
1 Bobcat parameter display * 0 = Off

* 15 = Bobcat address at 5 and data will display in variable 20, Bobcat address at 6 and data will display in variable 21, etc.


2 Power Mode * 1 = low power mode

* 0 = normal mode


3 Max Module address * Highest module # to scan for. This is automatically set after auto

addressing modules.


4 Daylight Saving Time Status * 1 = DST in force

* 0 = DST not in force


5 Daylight Saving Time Enabled * 1 = Check for DST

* 0 = Do not check for DST


6 Enable touch response * 0,3 = do not respond

* 1 = respond with virtual button match

* 2 = respond with grid location (0-59)

6 Rows of 10

0 = upper left, 59 = lower right
When enabled, sends 0xF2,00,button #,00
7 Rescan Time * Auto rescan in minutes ( 0 = OFF )
8 Net Timeout * Time in 1/10ths of sec to wait for module to respond
9 Retry Counter * Flag “I/O Error” after this may retries
10 Reserved *
11 Reserved *
12 Reserved *
13 Not Used *
14 Master or Slave Address * 0 = Master

* 1 or higher = Slave address

(Note: All slaves must have an address unique from

the other slaves or modules)


15 Auto X-10 * 0 = Off

* 1 = On


Send X-10 0xFE (RX),hc,kc when X-10 is received.

0xFB (TX),hc,kc when X-10 is transmitted.

(hc = house code, kc = key code or unit code)
16 Auto I/O * 0 = Off

* 1 = On


Send 0xFF if the remote I/O status has changed.

17 Auto IR * 0 = Off

* 1 = On

Send IR number when a comparison match exists, 0xFD (RX) or

0xFC (TX),IR_ number
18 Send ASCII IR * 0 = Off

* 1 = Send ASCII string on IR recognize + T000xxx

xxx = IR number recognized.
19 Controller Type * 0 = Ocelot

* 1 = Leopard


20 Max IR received * Default = 80

The higher the number the longer the time required to check for an IR match


21 RCS X-10 Thermostat Display * 0 = Off

* 1 = On


RCS X-10 Thermostat temperature is displayed in variables

64-79 for House codes A-P


22 Reset Variables on Power Up * 0 = All variables reset

* 1 or higher = Variable not to be reset on power up

Example: 40 = 40-127 not reset on power up
23 Internal Use * Always leave at Zero (subject to change)
24        Reserved                   *

25        Serial Port Sleep Time     * Time in 1/10ths of sec that any input from the serial port will

be queued but ignored after a serial transmission from the controller.

 

26        Touch Button Queue Mode    * 0 = return touch object numbers only



1 = return touch object number followed by physical grid

location number



Leopard II User’s Guide


1   ...   8   9   10   11   12   13   14   15   16


Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©atelim.com 2016
rəhbərliyinə müraciət