CAD for the mad, mad world

Ever been involved in one of those projects where the client doesn’t know what they want? the budget and the goals keep changing and the deadline is yesterday?

Of course you have. That pretty much describes every project in the world of show business. The situation can get under your skin when you have work to get finished and there are consequences if you don’t. But that’s how the world is – the question is can we live in it?

Broadcast System Design
Photo by Jan Starzak

Back in the day when I was a broadcast systems designer it was terribly hard to progress under these conditions. Each change of wishes and resources meant painstaking re-drawing and re-calculating everything. Computers came along, but the software we had was little more than a glorified piece of paper. The big bonus was that you didn’t have to cover the screen in Tippex every time you needed to change something.

With CAD we got pristine beautiful drawings of the state of play about a week ago. But producing  drawings and keeping them up to date was almost as slow as doing them in pencil. Remember the old joke? ” What does IBM stand for? It’s Better Manually !!! ”

I have the advantage that I’m not that young and the first personal computer emerged just as I was finishing college. So as a true geek (to the consternation of my parents) instead of putting down a deposit on a house, I spend my entire savings and bought one. It was just as exciting as I’d expected. I switched it on, it beeped and a glowing green > prompt flashed at me on the screen. That was all. But you could program it in BASIC. And happy months passed as I taught this dumb box more and more tricks.
Hidden deep inside MiniCAD was a script editor and while I was spending another late night at the office drawing yet another distribution amplifier I began to think, ” what if I taught the computer to do this for me”. I stopped working on the project and dusting off my dormant programming skills I began to build some macros to make my life a bit easier.

The whole thing spiraled wildly out of control. The macros became longer and more complicated and then they started talking to each other. In the process I had bent MiniCAD (by then called Vectorworks) away from being merely tool for a visual  representation into an actual functional model of the systems I was designing.

example of schematic design in connectCAD

Suddenly deadlines held no terror for me. Change requests – welcome. Updates processed in seconds. Reports – no problem. It was way to good to keep to myself.

Finally CAD for the mad, mad world. A program that lets you get started on a “normal” project with no clear goals, unknown resources and budget. Where changing your mind is not a crime to be punished by hours of hard labour, but just a natural way of evolving your thoughts.

It’s called connectCAD.

Hungry bears don’t dance

A fun expression from Greece, the country I live in. Means what it says – you need to feed people if they’re going to work for you. So obvious and yet how often do you find yourself working on a site where no thought has been given to peoples needs?

After a painful job back in 1999 I began to make a personal checklist:

  • parking and access
  • permits if needed
  • food
  • water !!!
  • toilets
  • building work finished
  • stable power
  • air conditioning

Then we’ll talk about deadlines…

That particular job was a turn-key TV station mid-summer in an industrial district of mid-Athens. Temperatures around 40 celsius, hardly a tree in sight to shade the concrete. It was mid-August and most of the shops were closed – everyone who could had left for the beaches. Except for us poor mutts who were tasked with get the channel on-air by the beginning of September.

The wiring team were working around the builders. Power came and went, air-con was a still just a dream. It was the last of the heroic installations – we gave it all and yes we made it. But from then on I made a personal vow:

Plan the job as though you are going work on the Moon

Cable Numbering systems – who is right?

Cable numbering is very much on my mind these days as I re-design the way this is done in connectCAD. Seems like a good point to share some thoughts.

How to label cables is one those subjects where everyone has a different opinion. It’s arbitrary so that’s why people argue. But I think everyone would agree on one universal principle:

cable labels must be unique

Why? Because without unique cable labels you needs hours of time-consuming tests to distinguish cables that look identical.

How about using GUID’s this?

56DDEC82-8D92-44AA-93CE-EE3C5EF26ADA

we’d be safe in the knowledge that no other such id exists in the universe. But practically that would be hard to use. Imagine the size of the labels, or the task of trying to find such an id on the drawings of a large installation project.

So what  might one look for in a cable label?

Perhaps some information. How about the role of the cable in the system? or where it’s ends can be found? That would be helpful to an engineer on site and far easier to relate to the system drawings. So cable labeling falls into these two basic paradigms: location-based and function-based labeling or some mix of the two. Both have their merits so let’s take a look those.

Location-based labelling

This would be something like:    {building}{level}{rm}{bay}-{building}{level}{rm}{bay}-{serial}

{serial} is an incrementing number to distinguish the cases where more than one cable goes between two locations.

Location-based labeling is most useful for cabling infrastructure. i.e. cables that have cost a lot to install and would be re-used in the event of any changes. It makes it easy on site to see what cabling resources are available to meet the needs of system changes.

But labels of this form can get very long, and in the close confines of an equipment rack they can be very hard to read. Shorter cable runs within an apparatus room are not so much infrastructure as consumables. Little investment is needed to install them and most often it’s easier to make a new cable than to track down an old one for re-use. So in this case location-based labeling is less important, and we come to our next labeling paradigm.

Function-based labeling

Here labels tell you what the cable is doing in the system. What type of signal it is carrying. Which sockets on which devices it interconnects. Functional labeling is really useful during installation and commissioning as it let’s installers connect up hardware without the need to constantly refer back to plans. It gets you faster to a working result.

Making changes afterwards however can be more challenging. For consistency re-purposed cables must have new id’s applied in line with their new functions. This often does not happen and over time the installation diverges from it’s documentation.

Bearing in mind that there’s a case for both approaches engineers have often mixed the two: using shorter functional-based labels with apparatus rooms and cabinets, and longer location-based labels for cabling between rooms and buildings.

The perfect system

Is the one YOU use 🙂 right? It’s safe to say there will never be a perfect cable labeling system to fit all applications. The specifications are impossible to meet. The ideal labeling system would be:

a) universally unique
b) have codes no longer than 6 characters
c) human-readable, preferably using digits 0-9 for colour coding
d) convey location and function information

Well it can’t be done, so we end up with the debate that will flow on and on.

Here are some random thoughts before signing off.

If we sacrifice colour codes and let’s face it most people use a label printer these days, then we could use the whole of the range [0-9 A-Z] for numbering. Just like the airlines used three-letter airport designators. By encoding numbers into base 32 or base 36 you can get a lot more information into one digit. Don’t really know where I’m going with that one…

In connectCAD I’m thinking of a rule-based method of applying numbers. Each numbering system will comprise a set of match rules to be applied in order until one of them succeeds. When a rules conditions are met a number will be generated according to a format string so you can include and mix location, and function data to create the dream cable label.

Before you get goosebumps I’ll sign off.

Can you untangle the mess?

Have you ever been lying on the floor of an equipment room trying to read the number on a cable in the bottom of a rack with fans buzzing in your ears and freezing air-con? The system’s an undocumented heap of garbage and you can’t move anything for fear of something falling over and leaving thousands of viewers staring at blank screens. Been there?

Even if you can guarantee that all cables have labels and better still unique labels (unheard-of luxury) it’s still a massive struggle to find where they’ve been moved to by those who call themselves engineers.

The cost of fixing these spaghetti systems is complete re-installation. That simple.

Spaghetti and where it comes from

Sometimes you wonder what’s the point? At risk of sounding a bit like Marvin the Paranoid Android here… You create beautiful systems, everything in prefect correspondence with the plans. A year later you go back and find spaghetti. Hundreds of undocumented changes that render the plans useless making life difficult for everyone.

Everyone except one guy. There’s a place in the TV eco-system for a certain kind of technician. He burrows his way into the organisation by making changes that only he knows about. When challenged he’ll come up with a million excuses for why he didn’t have time to tell anyone even painting himself as the hero who saved the day. Often ingenious, his solutions create a spiders web of dependencies that make change impossible without his direct involvement. And that’s how he survives.

By the time his managers realise the risk of only one person knowing how their plant works, he’s already well dug in and they’re too scared to move him. He’s the last person they can fire and he may even end up as your boss.

Check every time…

Audio is a pain.

Getting an analog signal down a pair of wires from one gadget to another ought to be simple. How many different ways can you do that? Audio engineers have risen to the challenge… back to the anecdote.

We have a production intercom system where the panels are connected with 3 pairs, audio in, audio out and serial control. All of these on D9 connectors according to the manufacturers data sheet. So we plan our system and the clients wiring team sit there dutifully soldering D9s. Days and days of work. The intercom arrives and we find RJ45s !!! A wonderful idea if only they’d told us.

Post-mortem begins. Client is upset and looking for compensation. He’s already paid for one lot of wiring, now he has to re-do it. The crafty manufacturer has already deleted the old data sheet from his site. By a huge stroke of luck I kept the original pdf on file and we escape.

Another lesson learned. Keep your evidence in case others destroy it.

Measure up

Have you ever had a panic re-design? I did once and this is how it happened.

We’d been given a new turnkey TV station to design and install. The client briefed us and gave us a set of plans of the building. Everything looked nice and organised so I settled down to design the system. Pretty soon I was at the stage where I could design the rack layout of the machine room. So I got the floor plan and set out the racks in a nice arrangement on my CAD model. Checked with the client, got the OK and started populating the racks. After a couple of weeks we were ready and the installation team moved in.

At my desk finishing off the details, the phone rang… my lead installer: “I’ve just measured the machine room and it’s 2 metres short !!!”

long pause…

And there where I thought everything was under control I found myself having to re-think my entire design. So

NEVER EVER TRUST ANYONE’S ARCHITECTURAL PLANS – ALWAYS MEASURE

Why label cables?

Make cable labels command - connectCAD
Make cable labels command – connectCAD

We engineers tend to take it for granted that all wires should be labelled in an installation – but is it actually worth the effort?

Thinking about this one day I decided to try and do the math… Clearly it depends on how many cables we are talking about. But say you have a bunch of 10 cables going from A to B and they haven’t been labelled, what effort does it take to sort them out?

Make cable lables
photo: Eric e-magic

So for our thought-experiment let’s get two technicians one at one end, one at the other. Give them some test gear and a walkie-talkie each. Now they can start testing wires. To find the first wire among 10 could take up to 10 tests, to find the second wire may take up to 9 tests, to find the third wire 8 tests and so on. So the worst case would be:

Worst case = 10 + 9 + 8 … + 3 + 2 + 1 = 55 tests

This is very pessimistic. No-one is that unlucky, right? Let’s, say they are lucky and pick the right wire every time.

Best case = 1 + 1 + 1 … + 1 + 1 + 1 = 10 tests

Nice but quite unlikely. I’m not a statistician, but the most probable outcome is in middle.

Average case = 5.5 + 5 + 4.5 … + 2 + 1.5 + 1 = 32.5 tests

So how long is it going take our techies to sort out this mess? If each test takes them about 30 seconds. What with handling the cables, connecting the tester, communicating and putting labels on, we are being optimistic but let’s go with 30s.

Best case         5             minutes
Average case    16.25     minutes
Worst case        27.5     minutes

If it takes 30s per cable to put labels on before you pull them, then labeling before we pull the cables saves 11 minutes. So what’s the fuss about?

Well once the numbers of cables get a little bigger scary things happen. Look at this.

20 cables need on average 115 tests    – nearly an hour’s work

40 cables need an average of 430 tests – that’s 3 1/2 hours !!!

Forty cables is a small system. Yet without labeling you can lose half a day for nothing. And that’s without fault-finding…

So there it is. It’s not a case of OCD, it really does pay to label your wires.