DMX

dvsDave

Benevolent Dictator
Administrator
Senior Team
CB Mods
Fight Leukemia
Joined
Jan 31, 2003
Location
DC Metro Area
Digital MultipleX.

1986: Originally published as USITT DMX-512, and loosely based on the Colortran protocol which later became known as CMX.
1990: Revised as USITT DMX512-1990
2004: The third version is DMX512-A. ANSI standard ANSI E1.11 - 2004.
2008: Another minor revision and clarifications. ANSI E1.11 - 2008 replaces ANSI E1.11 - 2004. A print or download copy can be obtained from the ESTA Technical Standards site for approx. $40. The complete title is:
ANSI E1.11 - 2008
Entertainment Technology - USITT DMX512-A - Asynchronous Serial Digital Data Transmission Standard for Controlling Lighting Equipment and Accessories
.


[top]What is DMX used for?


DMX512 was originally intended as a 'lowest common denominator' protocol for use between interfaces supporting proprietary protocols. However, it soon became the primary method for not only linking controllers and dimmers, but also linking more advanced fixtures and special effects devices such as fog machines and moving lights. DMX512 is unidirectional and does not include automatic error checking and correction, so it is not safe to use for applications involving life safety, such as controlling pyrotechnics. MIDI is sometimes used for this task.

[top]How DMX works

Here's the explanation I gave my high school students. It's over simplified and not 100% accurate but it's close enough for your needs. The console is dumb. It has no idea if anyone is listening to it. It's sitting in the booth yelling out DMX information down the line, hoping that something is listening, but it has no idea if it is. This line can be one direct line that is daisy chained through the whole theater or it may be split into multiple lines. The console yells out the following information...
DMX address 1 and a number between 0 (0%) to 255 (100%)
Dmx address 2 and a number between 0-255
Dmx address 3 and a number between 0-255
Dmx address 4 and a number between 0-255
Dmx address 5 and a number between 0-255... all the way up to
Dmx address 512 and a number between 0-255... then it goes back to
DMX address 1 and a number between 0-255. It does the entire cycle up to 44 times per second.

On the other end you have dimmers, and a variety of DMX controlled devices (gobo rotators, color scrollers, DMX controlled fog machines, LED fixtures, and moving lights). Each of these devices has a place on them that you can set an address number between 1 and 512. This represents the starting number that the device is listening for. Let's say you have an I-Cue and you are setting it up in four channel mode. Channel one controls Pan Coarse, two pan Fine, three Tilt Coarse, four tilt Fine. Now you set the numbers on the I-cue to read 101. This tells the I-Cue "listen for information on dmx channels 101, 102, 103, and 104." The I-Cue sits, silently ignoring the information on all other DMX channels until it hears the information for 101-104. When it hears 103 at 127 it moves the tilt to the center position. Its up to YOU running the board to make sure you send proper information to the correct channel. This gets tricky on a big mover that requires 20-30 channels of data. Pan, tilt, gobo wheel one, gobo wheel two, iris, top shutter, bottom shutter, zoom, Cyan, Yellow, Magenta, dimmer, and so on... every feature (called a parameter) of the fixture is assigned a value. If a feature is unused, it is still sent a value, usually 0 but sometimes 127 or another "default" value.

The console is dumb. It doesn't know that DMX channel 137 is the speed and direction of the first gobo's rotation on the stage left mover. It only yells out the value you tell it to yell out hoping something will happen. It doesn't know if anything is listening and it doesn't know if anything has done what it instructed. This makes programming VERY difficult on a board not designed for movers. Just programing a moving light to move in a circle is NOT easy. Think about how many changes a single fixture makes in the course of a song during a major concert. Every change in position, color, iris, gobo... every change requires programming all values that the mover is listening for. Now Hog and grandMA have been making very user friendly consoles for years that try to do some of the thinking for you. This is why they are the most commonly used consoles in the concert world. With more movers coming into straight theater, ETC and Strand have added a lot of these features to their new consoles... but it still takes a lot of time to program. The first step is always telling the board, via the fixture personality, what fixtures are connected to it at what addresses, so one can say "Fixture#1 Pan at Stage Left," instead of "101 at 36%."
DMX is a basic serial data protocol EIA-485. The data stream consists of a start bit, 512, 8-bit data blocks and an end bit that is transmitted 44 times per second, which works out to a baud rate of 250k. The data blocks contain a value between 0 and 255. One DMX connection over standard 5-pin DMX grade cable is capable of carrying one data stream, this is called a universe. One universe is capable of communicating to 512 devices (with proper distribution, termination, and amplification).

Each device in the DMX chain is given an address. This address tells the device to listen for a particular data block in the DMX data stream. The start code tells the device that the list of values is going to start being retransmitted and the device counts the values that go by until it gets to the one it is looking for.

Because DMX is a constant repeating data stream without error checking bit errors can cause major problems. For dimmers it may not be a huge deal if there is a bit error that causes a level change as the human eye can't detect a change that only lasts 1/44th of a second. But when communicating with other devices like scrollers or motors or moving lights it could cause them to twitch, which may be noticed. This is also the reason that DMX should not be used as a pyro trigger device as that momentary change in level could be enough to trigger the device.

[top]How DMX is utilized

On most control consoles, the 0-255 values are scaled to a percentage of 100. This is easier to think about as we are used to thinking of things like levels and speed out of 100%. The console takes the percentage that is input and translates that to a value of 0-255 which it sends down the data stream.

When a device hears it's value it will act on what that value means to the device. So, in the case of a dimmer, when it "hears" the value that is equivalent to 50% (127) then it goes to 50%. Whenever the DMX value changes, the device complies.

Some consoles allow you to adjust the DMX values that correspond to each percentage. You can create custom fade curves or even program in the raw DMX value. This is useful sometimes if you are trying to get color scrollers to index correctly.

[top]DMX Connections

The USITT standard for DMX connections requires 5-pin XLR type connectors on shielded, twisted pair cable. Pin one is common, pin two is Data-, and Pin 3 is Data+. Pins 4 and 5 are not used, though under the guidelines are designated as Data2- and Data2+. Since DMX only utilizes 3 pins, many manufacturers of DMX devices put 3 pin connectors on them as they are cheaper and easier to solder than 5-pin. Though this technically is not allowed under the USITT standard, it was quite common practice and is still around today. The thing to be careful of is that even though a standard XLR microphone cable will fit in the connection, you should still use DMX grade cable.

Many console manufacturers have proprietary means of transmitting DMX data along with other system data via TCP/IP protocols over standard networking gear. Two good examples are ETCNet and Strand ShowNet. An up an coming protocol, ACN will hopefully be the new standard that may allow devices from different manufacturers to talk to each other and may even eliminate the need to manually address devices (other than giving them IP addresses). These systems allow you to connect different types of nodes to the network to distribute DMX data as needed. DMX Nodes translate the TCP/IP data back into DMX data so that it can be output to devices like dimmers and scrollers.


[top]Addressing Devices

Each DMX universe can carry levels for 512 devices or device attributes. Each universe talks to devices 1-512. So, in your control console the second universe would correspond to 513-1024, but the devices connected to that universe are still addressed as 1-512. Some consoles allow you to patch devices using universe format as opposed to just an output number to make life simpler. Universe format always consists of the universe number, a separator "." or "/" etc., followed by the output number. So device number 10 on universe 2 could be output 522 or 2/10. This makes life a lot easier especially when you have more than 2 universes and devices that require lots of channels.

Some devices use dip switches to address them. There are nine dip-switches that each have a value:

Switch | Value
.......1 | 1
.......2 | 2
.......3 | 4
.......4 | 8
.......5 | 16
.......6 | 32
.......7 | 64
.......8 | 128
.......9 | 256

To address a fixture, you flip the switches so that their values add up to the DMX channel that you want, using the least amount of switches. For example, if you want to give a fixture an address of 173, turn ON dip switches 1, 3, 4, 6, and 8; 1 + 4 + 8 + 32 + 128 = 173. Note that some fixtures, particularly those from High End Systems, are one number off, i.e., with all switches OFF, the fixture is at address 001.

Newer methods of setting a device's address are thumbwheels and LED/LCD displays. Most inexpensive LED fixtures have resurrected the binary addressing system, due to the low cost of dip switches.

For more information, see the page DMX Primer, written by self-appointed "Dr. DMX," Doug Fleenor. Also, DMX 101 Handbook.pdf from Elation Lighting.



2. DMX
may also, confusingly, refer to Digital Music eXpress, a competitor of Muzak®, AKAs: BGM, elevator music, Barry Manilow & KennyG, "saccharine station."

3. See also Pathway Connectivity - DMX vs. DMX512.
 
Last edited by a moderator:

Users who are viewing this thread