Categories

Star Wars Christmas Light Show
Boris Cherkasskiy

Star Wars Christmas Light Show

The Original Light Show I originally made this light show in 2014. It was Christmas time, and I happened to be hankering for a project, so we decided to decorate the house with a few LED lights and some Christmas mood music. It took me a few evenings and about $50 to complete the electrical part and wiring using a bunch of Arduinos and RF boards. I used NRF24L01 radios to control the lights from my PC and eliminate cables in my house.  I created the light sequences using an open so...

Continue reading →


Multiplexing Arrays of UDTs in TIA Portal V14
Jason Mayes

Multiplexing Arrays of UDTs in TIA Portal V14

It's back! When V13 SP1 was first released, one of the features I was most excited about was the ability to multiplex arrays of custom UDTs on a PLC using a simple index tag on an HMI. This feature allowed me to use a single faceplate or screen to display or modify data from multiple objects by simply changing a single tag. I was so excited, I even wrote a blog post about it then! Unfortunately, it was a feature to be short lived due and, due to some unexpected consequences, mysterio...

Continue reading →


DMC Quote Board - December 2016
Jessica Mlinaric

DMC Quote Board - December 2016

Visitors to DMC may notice our ever-changing "Quote Board," documenting the best engineering jokes of the moment.

Continue reading →


Indusoft Tips and Tricks
Nikhil Holay

Indusoft Tips and Tricks

Indusoft is an HMI/SCADA platform that can be used with a variety of different PLCs. At DMC, we’ve used Indusoft with several PLC platforms, including Beckhoff, Omron, and Mitsubishi. Below, I’ve outlined a few tips and tricks that I’ve used to accelerate Indusoft development.   Indusoft Tip 1: Refer to the PLC Make sure that your driver sheet I/O addresses refer to something in the PLC. If you are using symbolic tags, the tag must exist in the PLC or Indusoft wil...

Continue reading →


Geek Challenge: Infinipool
Cameron Fyfe

Geek Challenge: Infinipool

December’s Geek Challenge is about trying to make pool shots on an infinitely large pool table.  To describe the challenge, let’s look at a 3x5 grid of pool balls with the cue ball positioned in the center. We want to know what the odds are that we can hit a ball chosen at random with the cue ball (without jumping or curving around other balls). Looking at the possible cue ball paths, we see we can hit any ball except the 6 or the 9 because the 7 and 8 balls get in the way...

Continue reading →


Using Segger Real Time Transfer with an EFM32
Alex Krejcie

Using Segger Real Time Transfer with an EFM32

Today I want to detail a couple of cool tricks to use Segger Real Time Transfer with an EFM32 to create an easy-to-view trace log. Segger Real Time Transfer, or RTT for short, is a debugging interface designed specifically around the J-Links capabilities to provide an extremely efficient debug message input and output interface.  This is accomplished by writing messages to a RAM buffer on the microcontroller that the J-Link is capable of reading through the standard ARM de...

Continue reading →


Acyclic Parameter Reading and Writing Between Siemens PLCs and VFDs
Jeff McCormick

Acyclic Parameter Reading and Writing Between Siemens PLCs and VFDs

Have you ever wanted to read current, torque, or power data from your Siemens variable frequency drive (VFD) without having to change your telegram or communication configuration? Well, you are in the right place! The guide below will walk you through how to acyclic read or write any drive parameter with your Siemens PLC.  Acyclic communication to a Siemens drive may seem like an impossible, obscure language, so the goal of this article is to translate it into something more understandab...

Continue reading →


Using Smart Symbols in Iconics GraphWorx64
Patrick Smith

Using Smart Symbols in Iconics GraphWorx64

The GraphWorX64 software from Iconics is a powerful tool for building HMIs. As an upgrade from GraphWorX32, it offers several new features that allow the designer more flexibility and ease of use. The purpose of this blog post is to focus on the new Smart Symbol feature, and how it can greatly simplify HMI development. What is a Smart Symbol? A Smart Symbol is essentially a group of objects that have their properties and data exposed at the group level. Creating a Smart Symbol is extremely...

Continue reading →


DMC LabVIEW UI Controls Kit
Steven Dusing

DMC LabVIEW UI Controls Kit

Our DMC Test and Measurement team recently created the DMC LabVIEW UI palette! It’s the first official DMC LabVIEW user interface control and indicator set, and will save time on our LabVIEW user-interfaces while simultaneously providing our customers with modern and sleek user interfaces. 21st Century UI On our projects, we usually spend a good amount of time manipulating the appearance of native LabVIEW controls and indicators to bring them into the 21st century. We know the standa...

Continue reading →


Siemens Open Library Marks 1000th Download
John Sullivan

Siemens Open Library Marks 1000th Download

The Siemens Open Library marked its 1000th download this week. The free, open source function block library was launched in June 2016 through a partnership between DMC and Siemens. The library aims to be a resource for consistency, usability, and faster development for the Siemens community. The library has continued to evolve since its initial release. Updates have included the inclusion of all of DMC’s library, which included a large number of Function Blocks and Function calls. Addit...

Continue reading →


Here's How One Team at DMC Used $500 to Make People's Day in NYC
Frank May

Here's How One Team at DMC Used $500 to Make People's Day in NYC

DMC holds an All Day Company Meeting (ADCM) a few times a year for each office. These meetings are done offsite at a fun location. The day is usually split into two parts: a morning meeting where we discuss something business related, and an afternoon part where we do something fun. This ADCM, the fun activity was "The DMC Cares Challenge". The New York and Boston offices joined forces and then divided into teams of 5-6 people. Each team had the afternoon to use $500 to&nb...

Continue reading →


Commissioning a Siemens G120 VFD with Extended Safety using the Onboard Terminals
Jay L

Commissioning a Siemens G120 VFD with Extended Safety using the Onboard Terminals

DMC recently discovered that there are some unique settings associated with configuring a Siemens G120 Variable Frequency Drive (VFD) with extended safety functionality using the onboard terminals. This blog is meant to be a guide for this type of configuration to avoid troublesome and difficult-to-diagnose issues. Hardware Setup In this particular situation, we used an S7-400H PLC to control a CU240E-2 VFD. The S7-400H can be configured with two CPUs in a fully redundant PLC setup, b...

Continue reading →


DMC Boston Hires a T-Rex
Frank May

DMC Boston Hires a T-Rex

In an effort to hire an experienced candidate, DMC Boston hires a Tyrannosaurus rex. Check out the video below!   Learn more about DMC's company culture.

Continue reading →


A Properly Pleasing Prism Primer - Part 2: The Shell and Bootstrapper
Grant Anderson

A Properly Pleasing Prism Primer - Part 2: The Shell and Bootstrapper

In Part 1 of this series, I gave a quick summary of what Prism is, and when and why you would want to use it. The remaining parts of this series will address the "how" of using it. Since this series is largely an overview, I won't cover everything you can possibly do under Prism. And since Prism is designed so that the programmer can pick and choose what functionality they need, not everything I cover here will be relevant to all applications. However, the goal is that th...

Continue reading →


A Properly Pleasing Prism Primer - Part 1:  An Introduction
Grant Anderson

A Properly Pleasing Prism Primer - Part 1: An Introduction

The usage of design patterns is situational. Their purpose is to reduce the overall complexity of an application or to replace unfamiliar complexity with manageable equivalents. For a sufficiently simple application, however, using patterns is often overkill. Even more so if the design pattern itself isn’t familiar to the developers that will be maintaining the code. The paradoxical upshot is usage of the pattern can actually increase the complexity if the application is simple. For exa...

Continue reading →


Escape (The Room) From New York
Serena S

Escape (The Room) From New York

It was a dark, cold night. The air was teeming with mystery.  We walked the few blocks from DMC New York's office to the building that housed our destination. Inside the glass doors and seeing with no visible signs, we were forced to face our fears. “Is this the right building?” “Was is all a scam?” “Is everything a lie?” “Go to the 8th floor,” said the old security guard, listlessly. The elevator was finished with a bri...

Continue reading →


Beckhoff TwinCAT3 Scope
Nikhil Holay

Beckhoff TwinCAT3 Scope

For anyone debugging a program, a scope can be an extremely efficient tool for determining the cause of an issue. A scope allows you to monitor a variable (or multiple) in real time, which is a great way of viewing and debugging specific parts of the machine process.  In Beckhoff, TwinCAT 3 offers a very straightforward built-in scope. In this article, I'll detail how to set up a scope to debug a program. Like TwinCAT 3, the TwinCAT 3 Scope is integrated into...

Continue reading →


Creating New Projects and Adding Hardware Modules: B&R Automation Studio Blog Series, Part One
Yusif Nurizade

Creating New Projects and Adding Hardware Modules: B&R Automation Studio Blog Series, Part One

Whether you are starting from scratch or adding functionality to an existing setup, B&R Automation Studio makes it easy to add and configure hardware. This article is part of a multi-part series that will guide you through the required steps to set up a new project, add a CPU and I/O modules, and map the I/O channels to variables in your code. This section will focus on creating a new project and adding a CPU, Select Unit, and I/O module. Note: The work is done using Automation Studio Ver...

Continue reading →


CAD Models in C#: Developing with Eyeshot
Matt Puskala

CAD Models in C#: Developing with Eyeshot

DMC recently developed some desktop applications for clients in C# that require 3D modeling. We’ve been using a third-party CAD tool developed by devDept called Eyeshot. If you are working in the world of graphic design, 3D animation rendering, or physics simulations, there could be better options for your needs, like gaming engines such as Unity and nVidia PhysX. However, if you are working in the engineering world of CAD files, Eyeshot is by far the best tool available for C#. Th...

Continue reading →


The Revit API: Creating Your First Add-In
Christopher Olsen

The Revit API: Creating Your First Add-In

Lately, I've gotten reacquainted with an old friend of mine: the Revit API. Revit is an incredible piece of architectural software from Autodesk, and one of its features is the ability to expand its functionality through the use of add-ins. Revit add-in development is now one of the many services that we're able to offer here at DMC, and I'd like to celebrate that fact by sharing an article about how to get started with Revit add-in development. First of all, this article assumes ...

Continue reading →


Page 1 of 54First   Previous   [1]  2  3  4  5  6  7  8  9  10  Next   Last   

Categories