Categories

Entries for the 'Custom Hardware and Software' Category

RESTful Logins
Jack Cosgrove

RESTful Logins

If you are constructing a web application, you will probably have to create a login page that generates a user session. If you are not aware, RESTful (representational state transfer) URLs are considered best practice for internet applications. As a general rule (only to be broken under duress), RESTful URLs should be nouns, while the HTTP method is the verb. For example, if you want to see a user profile page and the user ID is 8, then a RESTful URL would be https://host/users/8/. “users&...

Continue reading →


Nobel Committee Recognizes Inventors of Blue LED
Ken Brey

Nobel Committee Recognizes Inventors of Blue LED

I want to congratulate the Nobel Committee for recognizing the inventors of the Blue LED - a truly transformative technology. As an engineer working with machine vision systems I have been using LED lighting longer than most people. LEDs are great for their brightness, strobing capabilities, and consistent intensity over a long product life. The first time I saw a blue LED was in a trade show in 1998. One booth of lighting equipment has a light that was a brilliant deep blue. I asked the man ...

Continue reading →


B&R Automation Studio: Create Popup Windows on HMI Pages
Otto Gottlieb

B&R Automation Studio: Create Popup Windows on HMI Pages

Creating popup windows on HMI pages enhances the interaction between the operator and the machine. The creation of popup windows in Automation Studio involves many other important aspects of making an HMI more dynamic such as formatting layers on pages, controlling and using the HMI display in program code, and manipulating the statuses of HMI elements. If you are new to creating HMI pages with Automation Studio, then you can learn a lot from this video. Learn more about DMC's B&R Aut...

Continue reading →


Pet Project: Turn A Fan Into A Clock
Devon Fritz

Pet Project: Turn A Fan Into A Clock

For those of you with electronics hobbies, here is an interesting pet project that is not very difficult or expensive. In fact, you can find most of the parts lying around your house. The idea is to make an analog display clock. The finished product will have a rotating circuit board that flashes LEDs at the correct time in order to make a floating image of an analog clock. Here is a list of basic materials that you will need: White box fan Perforated board PIC (or any microcontroll...

Continue reading →


Repairing an NI USB-6351 X-Series DAQ
Johnny Sun

Repairing an NI USB-6351 X-Series DAQ

Recently, I’ve needed to do some proof of concept testing for a LabVIEW-based project. The only special I/O requirement for my prototype was a +/- 10V analog output that is capable of sourcing at least 1mA of current. The good news was that DMC owned just the piece of hardware: an NI USB-6351 X-Series DAQ. The bad news was that it was handed to me with the caveat that it doesn’t turn on and may or may not smell bad when plugged in. Undeterred, I resolved to resurrect our $1500 out-of...

Continue reading →


Refreshing Datasources in Iconics’ Genesis64 HMI/SCADA Development Software
Sudeep Gowrishankar

Refreshing Datasources in Iconics’ Genesis64 HMI/SCADA Development Software

Datasources in Genesis64 are defined within the GridWorX64 application to cache data for display and use in the HMI. My experience with datasources has been as a link between a SQL server database and Genesis64. However, while developing an application that contained numerous datasources (40+), I ran into an issue that rendered the application unusable. This blog post describes the issue and a workaround. The Problem: Refreshing datasources with a time trigger takes an increasingly long amou...

Continue reading →


Source Code Protection For Your SIMATIC S7-1200 PLC in TIA Portal
Jason Mayes

Source Code Protection For Your SIMATIC S7-1200 PLC in TIA Portal

From time to time, we'll run across situations where a client believes it is necessary to lock down code on a PLC. In some cases, there may be valuable intellectual property they would like to protect. In others, its purpose may be to prevent unauthorized modifications to safety-related code, or activation of disabled options. There may also be cases where it is necessary to interlock a PLC program to a specific memory card or CPU, especially in cases where there may be multiple, similar (bu...

Continue reading →


USB Charging Overview
Alex Krejcie

USB Charging Overview

In this video, I'll give you an overview of the USB charging specification, how it came to be and the limitations and hardware design of each charging port.  

Continue reading →


20th Annual NI Week Conference Vision Inspection Presentation
Darren Jones

20th Annual NI Week Conference Vision Inspection Presentation

The 2014 NI Week Conference in Austin, Texas hits day three of four today Wednesday, August 6. The 20th Annual National Instruments Conference is an opportunity for those working in the fields of engineering and science to come together in the spirit of sharing information, inspiring innovation and exploring new technologies. DMC has sent engineers from each of our Chicago, Boston, and Denver offices to present on topics ranging from automation, to battery management systems and vision i...

Continue reading →


Android Open Accessory Protocol (AOA) using an FTDI 311/312
Alex Krejcie

Android Open Accessory Protocol (AOA) using an FTDI 311/312

In this video, I'll give you a brief overview of implementing the Android Open Accessory Protocol (AOA) using an FTDI 311/312. AOA is a protocol designed by google to allow android devices to connect with a wide variety of external peripherals over USB.  Since the AOA device acts as a host, it is able to connect to most Android devices, even devices that do not have USB host capabilities themselves.  FTDI provides chips that are preprogrammed with the AOA protocol, making it ...

Continue reading →


Firmware Programming and Configuration Application for Embedded Device
Alex Krejcie

Firmware Programming and Configuration Application for Embedded Device

In order to support development, deployment, and management of a customer’s embedded device, DMC developed a simple windows GUI using C# and WPF to assist in programming and configuring the device. The program uses a single USB connection for both actions, allowing the customer to simplify connections and have access to all functions even on assembled devices. Technologies Used Texas Instruments MSP430 NET C# (WPF) HID, CDC device interfaces Programming DMC leveraged t...

Continue reading →


DMC featured in ISA InTech Magazine
Darren Jones

DMC featured in ISA InTech Magazine

The International Society of Automation (ISA) featured DMC’s pediatric thermoregulatory test chamber project in InTech Magazine. The article, entitled “Pediatric Hospital Works with CSIA Member to Develop Unique Test Chamber,” highlights Lurie Children’s Hospital’s collaboration with CSIA-certified DMC for this one-of-a-kind solution. The piece details the design and implementation of a thermoregulatory chamber that DMC engineers collaborated with Lurie...

Continue reading →


HOW TO: Install WordPress on an IIS Server
August Karlstedt

HOW TO: Install WordPress on an IIS Server

For FedEx Day I set up WordPress on an IIS (Internet Information Services) server to test the capabilities compared to Dot Net Nuke (DNN), extensibility through plugins and the difficulty of writing my own, and the SEO-oriented design that it offers. There were a few quirks while installing on IIS, so I've written a quick tutorial for anyone wanting to get started. This tutorial assumes you've already set up a MySQL server. The installation was quick and easy to follow along with: ...

Continue reading →


Dynamic Database-Driven Validation Ranges in ASP.NET MVC
Sam Weber

Dynamic Database-Driven Validation Ranges in ASP.NET MVC

SyntaxHighlighter.all(); Last week I was working on a project using the ASP.NET MVC 4 framework.The client required some of their form fields to have range limits that would generate a visual warning but not prevent a user from submitting data. The tricky part was that they wanted the range limits to be configured in a database table so that the limits could be changed easily on the fly. Normally I would do this by simply throwing a Data Annotation Range Attribute on my model field and then ...

Continue reading →


DMC Highlight Cam Project
Jesse Batsche

DMC Highlight Cam Project

For Fed Ex Day 2014 Devon, Otto, and I worked on the DMC Highlight Cam Project. The end goal of the DMC Highlight Cam project is three-fold: Have a camera mounted so that it can continually record all activity at the ping pong table (or any other place where interesting things *might* happen) Have the ability to press a single button when something AWESOME/EXCITING/FUNNY/MEMORABLE happens to capture and archive footage of that awesome event When a “highlight” is identifi...

Continue reading →


Abstracting an ORM to Use Multiple Backends
Jack Cosgrove

Abstracting an ORM to Use Multiple Backends

SyntaxHighlighter.all(); Object-relational mappings (ORMs) took the world by storm in the mid-aughts. Obviously there are many advantages to ORMs given their success, but there are some drawbacks. I'll explain one particular hurdle that I ran into as well as the steps I took to overcome it. A client had an existing database we needed to interact with using an ORM; this necessitated a database-first approach. Furthermore, this database's schema was mirrored in other databases with sli...

Continue reading →


Testing SharePoint 2010 Email Receivers - Part One
Jordan Harris

Testing SharePoint 2010 Email Receivers - Part One

If you have ever worked with SharePoint development, you may have run into a situation where it becomes necessary to test the functionality of a custom email receiver event handler on a document library. This blog will not go into detail on how to create the library programmatically (Andy Burns has a good post on that here), instead we will focus on the infrastructure necessary for testing the event handler on a development server. There are two main components that need to be present in your...

Continue reading →


ESXi 5.5: Still Free But Limited
Timothy Johnson

ESXi 5.5: Still Free But Limited

ESXi, which is VMWare’s free bare-metal hypervisor, released Version 5.5 in late September 2013. There are some great new features that basically double every configuration maximum from version 5.1. This also includes unlimited physical RAM on each host; which was limited to 32 GB prior. What’s the downside, you ask? Once the virtual hardware of the VM is upgraded to Version 10, the VSphere 5.5 client can no longer be used to edit the specs of the VM itself. Furthermore, the only ...

Continue reading →


Hardware Solution to Guarantee Read-Only Access of a CAN Bus
Jack Cosgrove

Hardware Solution to Guarantee Read-Only Access of a CAN Bus

The CAN bus is a standard network allowing multiple devices to talk to each other. It’s widely used on vehicles (in fact, it's likely that your car has at least ten) as well as in the industrial automation world. Recently were troubleshooting a strange issue which was causing one of the devices on the CAN bus to periodically do something that it wasn't commanded to do. By disconnecting other devices on the CAN bus, we were able to trace the issue back to the single device w...

Continue reading →


Engineering Meets Pediatric Medicine at Lurie Children's Hospital
Darren Jones

Engineering Meets Pediatric Medicine at Lurie Children's Hospital

Being an engineer means you have unique skills to contribute to the world. These contributions can include improving quality of products, increasing efficiency, and generally allowing workers and companies to be more successful in their goals.  A recent project at DMC brought this social benefit even closer to home with the opportunity to work with the Ann & Robert H. Lurie Children's Hospital of Chicago.  DMC was approached with a very special need—to develop the w...

Continue reading →


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

Categories