Application Development Archives | DMC, Inc. https://www.dmcinfo.com/our-work/category/service/application-development/ Thu, 15 Jan 2026 20:54:50 +0000 en-US hourly 1 https://wordpress.org/?v=6.8.3 https://cdn.dmcinfo.com/wp-content/uploads/2025/04/17193803/site-icon-150x150.png Application Development Archives | DMC, Inc. https://www.dmcinfo.com/our-work/category/service/application-development/ 32 32 Custom Budget Management Solution in SharePoint https://www.dmcinfo.com/our-work/custom-budget-management-solution-in-sharepoint/ Wed, 21 Jan 2026 13:00:00 +0000 https://www.dmcinfo.com/?post_type=our_work&p=40622 This client manages a variety of construction projects, including overseeing the budget and tracking invoices from and payments to vendors. Prior to DMC’s involvement, this process was handled through manual updates to Excel spreadsheets and manual uploads of documents to the company server. This led to inconsistencies in handling and documentation between projects, a lack of visibility for […]

The post Custom Budget Management Solution in SharePoint appeared first on DMC, Inc..

]]>
This client manages a variety of construction projects, including overseeing the budget and tracking invoices from and payments to vendors. Prior to DMC’s involvement, this process was handled through manual updates to Excel spreadsheets and manual uploads of documents to the company server. This led to inconsistencies in handling and documentation between projects, a lack of visibility for upper management, and a reduced ability for project managers to delegate tasks effectively.  

DMC’s priority is to address pain points for customers. We started this project with a discovery phase to fully understand the functionality of the current solution and generate complete documentation of requirements. Then, we were able to create an architecture for a solution that addressed pain points while leveraging familiar tools and entry patterns by building within the SharePoint framework. A selection of custom forms was built using React Typescript in an SPFx webpart. These covered data entry needs for project initiation, budget entry and amendment, and tracking payment commitments and status. Budget information became easily available in a familiar table format on the landing page for each project. 

The approval process leverages Microsoft’s built-in solution for approvals for notification in Teams and Outlook. It uses Power Automate to pull in additional information from SharePoint Lists and the .NET backend. The approval status is displayed on the main project page within the custom webpart. This improved visibility for the team and allowed project managers to effectively delegate budget tracking tasks to others while still being able to track and approve overall project status. 

SharePoint interface for budget management
SharePoint interface for budget management
SharePoint interface for budget management

Additionally, DMC built automatic coversheet generation, which streamlined the processes for providing billing information to vendors and invoicing end clients. Generation is performed in the .NET backend, and documents are saved to the project SharePoint folders for easy re-access. Automated emails, including the relevant data and coversheets, are automatically set based on user-entered contact information.  

Learn more about DMC’s Custom Application expertise and contact us for your next project. 

The post Custom Budget Management Solution in SharePoint appeared first on DMC, Inc..

]]>
Distributed Safety System for Pilot Plant https://www.dmcinfo.com/our-work/distributed-safety-system-for-pilot-plant/ Mon, 07 Apr 2025 00:00:00 +0000 https://www.dmcinfo.com/our-work/distributed-safety-system-for-pilot-plant/ DMC was hired as part of a multi-company team that designed a standalone air-gapped network to host all the automated equipment for the client’s facility. Our engineers created a control architecture with a standard hardware set. We utilized a standard library of process objects for PLC software and HMI controls. To allow operators to safely de-energize any piece […]

The post Distributed Safety System for Pilot Plant appeared first on DMC, Inc..

]]>
DMC was hired as part of a multi-company team that designed a standalone air-gapped network to host all the automated equipment for the client’s facility.

Our engineers created a control architecture with a standard hardware set. We utilized a standard library of process objects for PLC software and HMI controls. To allow operators to safely de-energize any piece of equipment from any of 11 remote control stations, DMC also designed a network of safety PLCs and other SIL 3 components.

Our team designed 30+ control panels to meet the UL508A standard. To meet hazardous location requirements, we utilized a combination of explosion-proof and intrinsically safe components. Collectively, we focused on the complete software development lifecycle, from requirements gathering to detailed design and programming, as well as the development and execution of test plans.

Finally, we coordinated with the construction team for power and telecommunication infrastructure.

Learn more about DMC’s PLC Programming Expertise and contact us for your next project.

The post Distributed Safety System for Pilot Plant appeared first on DMC, Inc..

]]>
Location Monitoring Using React and .NET https://www.dmcinfo.com/our-work/location-monitoring-using-react-and-net/ Thu, 27 Mar 2025 00:00:00 +0000 https://www.dmcinfo.com/our-work/location-monitoring-using-react-and-net/ DMC engineers worked with a client in the energy industry to develop a tool capable of monitoring and controlling solar panel sites and wind farms across the globe. The team began with UI design. The client requested a variety of pages, which DMC engineers created using React TypeScript and Material UI. Back-end programming was completed […]

The post Location Monitoring Using React and .NET appeared first on DMC, Inc..

]]>
DMC engineers worked with a client in the energy industry to develop a tool capable of monitoring and controlling solar panel sites and wind farms across the globe.

The team began with UI design. The client requested a variety of pages, which DMC engineers created using React TypeScript and Material UI. Back-end programming was completed using C#, Microsoft Azure, and .NET Core. The resulting solution consolidated previous processes and streamlined the monitoring process. Staff watching the app to monitor alerts now have a cleaner interface, faster reporting, and more control over machines.

Comet tool interface

 

 

 

Comet tool interface scheduled stop

 

 

 

 

The post Location Monitoring Using React and .NET appeared first on DMC, Inc..

]]>
Autonomous Floating and Underwater Robotic Platform https://www.dmcinfo.com/our-work/autonomous-floating-and-underwater-robotic-platform/ Tue, 28 Jan 2025 00:00:00 +0000 https://www.dmcinfo.com/our-work/autonomous-floating-and-underwater-robotic-platform/ DMC’s comprehensive approach included the full implementation of the hardware, firmware, and PC application design. By integrating a solar panel and employing efficient power management strategies, the robot can maintain extended battery life, reducing the frequency of manual recharging. A high-performance MCU and IMU established a robust foundation for orientation tracking. In addition to IMU […]

The post Autonomous Floating and Underwater Robotic Platform appeared first on DMC, Inc..

]]>
DMC’s comprehensive approach included the full implementation of the hardware, firmware, and PC application design.

By integrating a solar panel and employing efficient power management strategies, the robot can maintain extended battery life, reducing the frequency of manual recharging.

A high-performance MCU and IMU established a robust foundation for orientation tracking. In addition to IMU and magnetometer, the robot’s sensors include multiple distance measurement sensors to improve obstacle detection. This comprehensive sensor data, combined with advanced motor control, supports efficient and adaptive navigation in a range of environments.

underwater robot software

The inclusion of a wireless module simplifies over-the-air firmware updates and device configuration. The main MCU can be seamlessly placed into bootloader mode by the wireless module, ensuring smooth firmware updates for the main MCU. Additionally, the wireless module features its own firmware update capability, allowing for a comprehensive firmware update system.

DMC also developed a PC-based application that allows users to monitor sensor readings, adjust parameters, visualize the robot’s orientation, and control the robot in real time. This tool streamlined testing and optimization while laying the groundwork for more complex autonomous control algorithms.

underwater robot software


Learn more about DMC’s Embedded Development and Embedded Programming expertise and contact us for your next project.

The post Autonomous Floating and Underwater Robotic Platform appeared first on DMC, Inc..

]]>
Custom PC Desktop Application for Semiconductor Wafer Handling https://www.dmcinfo.com/our-work/custom-pc-desktop-application-for-semiconductor-wafer-handling/ Mon, 20 Jan 2025 00:00:00 +0000 https://www.dmcinfo.com/our-work/custom-pc-desktop-application-for-semiconductor-wafer-handling/ System and Technology Overview DMC’s client was developing a machine for a custom wafer handling scenario. The machine included a robot for wafer handling, multiple TCP and Serial wafer processing components, customer specific processing modules, and a Beckhoff PLC. The client needed an application to monitor, maintain, and execute silicon wafer processing jobs. DMC developed […]

The post Custom PC Desktop Application for Semiconductor Wafer Handling appeared first on DMC, Inc..

]]>
System and Technology Overview

DMC’s client was developing a machine for a custom wafer handling scenario. The machine included a robot for wafer handling, multiple TCP and Serial wafer processing components, customer specific processing modules, and a Beckhoff PLC. The client needed an application to monitor, maintain, and execute silicon wafer processing jobs.

DMC developed a PC desktop application in Windows Presentation Framework (WPF) that orchestrates wafer handling jobs by sending commands and reading statuses from all the devices in the machine. The application interfaces with the devices over EtherCAT, TCP, and several serial protocols. By using WPF and C# instead of one of the many automation HMI platforms, we were able to fully customize the application’s appearance. This also allowed us to remove the complication of serial port communication and process orchestration from the PLC.

The application allows users to create, delete, and edit jobs; monitor job status, I/O, logs, and alarms; and perform manual commands to each individual device when maintenance is required. The robot’s position on the machine graphic updates live as the robot moves wafers through the process, enhancing user interaction. The job status screen also gives insight into wafer locations and the overall progress.

System Benefits

With an automated workflow, the user is free to focus on other initiatives instead of operational inefficiencies. Real-time monitoring allows users to be proactive instead of reactive in detecting issues. Troubleshooting is streamlined with centralized accessibility to job status, logs, and alarms. This means that problems can be identified and fixed faster and prevented in the future, reducing downtime.

Project Process

During development, DMC tested the application’s orchestrated workflow by simulating device drivers and their state reactions to commands. DMC also conducted numerous remote testing sessions that involved logging into the client’s PC to run the application and validate communication with the devices. Finally, DMC went to the client’s facility to commission and test the application.

Conclusion

DMC leveraged our expertise in C#, WPF, and PLC programming to deliver a high-quality application that reduced downtime and increased operational visibility to the client.

Learn more about DMC’s custom application development expertise and contact us today for your next project.

The post Custom PC Desktop Application for Semiconductor Wafer Handling appeared first on DMC, Inc..

]]>
Python Modbus Communication for Environmental Monitoring https://www.dmcinfo.com/our-work/python-modbus-communication-for-environmental-monitoring/ Mon, 08 Apr 2024 00:00:00 +0000 https://www.dmcinfo.com/our-work/python-modbus-communication-for-environmental-monitoring/ For this project, we used Modbus as a communication protocol and Omega HX303C and OME-ET-7017 Ethernet I/O modules to write a driver that collects live data within 0.1 seconds. The OME-ET-7000 module requires the use of a jumper to switch from the default voltage to milliampere. The IO module uses Modbus reading input registers to store the […]

The post Python Modbus Communication for Environmental Monitoring appeared first on DMC, Inc..

]]>
For this project, we used Modbus as a communication protocol and Omega HX303C and OME-ET-7017 Ethernet I/O modules to write a driver that collects live data within 0.1 seconds.

The OME-ET-7000 module requires the use of a jumper to switch from the default voltage to milliampere. The IO module uses Modbus reading input registers to store the analog inputs of the temperature and humidity within the 4-20mA range. This will match the detection range for the sensor (0-100˚ C for temperature and 0-100% for humidity).

DMC used pyModbusTCP, which uses Modbus TCP protocols to get readings from the IO module. pyModbusTCP’s built-in method handles the address for registers when calling different methods. For this project we used input registers, which are stored by 0x04 address. pyModbusTCP automatically handled the addresses.

python modbus communication for environmental monitoring

Another feature of this driver is the ability to handle different channels’ logging frequency within a module, as well as handle different IO modules. The program is developed to scale for other IO module brands, which could potentially use other communication protocols.

Since the client required different sensors to have the ability to log the environment data under different frequencies, DMC used technology such as asyncio to allow different IO modules to work together. We also used a priority queue system based on different channels, in this case the sensor, to log frequencies to increase the scheduling performance.

The resulting solution increased the client’s scheduling performance and met strict sensitivity and temperature consistency requirements.

Learn more about DMC’s Python Development Services and contact us today for your next project.

The post Python Modbus Communication for Environmental Monitoring appeared first on DMC, Inc..

]]>
Operational Technology Network Security Monitoring https://www.dmcinfo.com/our-work/operational-technology-network-security-monitoring/ Wed, 03 Apr 2024 00:00:00 +0000 https://www.dmcinfo.com/our-work/operational-technology-network-security-monitoring/ Operational Technology, used in factory automation, faces a growing number of cybersecurity threats. Microsoft’s Defender for IoT (MD4IoT) monitors these networks for malicious and unusual activity, provides alerts, and notifies users of vulnerabilities that require remediation. MD4IoT goes beyond monitoring computers on a network. It can scan, detect, and report on OT equipment such as […]

The post Operational Technology Network Security Monitoring appeared first on DMC, Inc..

]]>
Operational Technology, used in factory automation, faces a growing number of cybersecurity threats. Microsoft’s Defender for IoT (MD4IoT) monitors these networks for malicious and unusual activity, provides alerts, and notifies users of vulnerabilities that require remediation.

MD4IoT goes beyond monitoring computers on a network. It can scan, detect, and report on OT equipment such as PLCs, HMIs, VFDs, and more. This information is aggregated into a local dashboard on the MD4IoT appliance and in the Azure dashboard for the product. It is ingestible by SOC software like Service Now (SNOW), Splunk, and LogRhythm.

DMC’s client reached out to get AD4IoT implemented at their various sites across the globe. We implemented the program in four phases: Discovery, Design, Deployment, and Operationalization.

Discovery

DMC began by collaborating with the client site and their third-party vendor to remotely gather information from the client’s existing network. We developed a questionnaire, and the answers helped us to determine the type of network the client used, the types of devices used, and the number of devices on that network. Our discovery included switch diagnostic information, which allowed developing detailed network diagrams and device relationships.

Design

Using the information gathered during the discovery phase, DMC built a map that plotted the connections between switches at each site. Once we had a thorough understanding of how each switch was connected, we created switch configurations to route OT traffic via SPAN/RSPAN to the central manager.

RSPAN was used for the distribution switches and SPAN was used for traffic mirroring to the sensor. We then developed commands for the sensor that was to be installed. The sensor is a local AD4IoT instance that aggregates traffic and sends data to the global central manager instance of MD4IoT used for reporting.

Deployment

Next, DMC installed the MD4IoT operating system, which is Ubuntu based, on the client-provided Dell R350 PowerEdge Server at each site. There were three network ports to configure on the server: one that was used for AD4IoT Management, one used for ingesting SPAN data, and one used for Dell server administration (iDRAC).

We reconfigured their network by adding around 15 – 20 configuration changes for each distribution and core switch. To minimize risk and issues that are likely to occur in OT Networks such as the high traffic caused by high-definition cameras, we performed thorough testing.

Operationalization

DMC then made improvements to the monitored targets and subnets that the SPAN brought in. We also applied alert filtering to reduce anomalies and false positives in reports. Any alert determined to be a false positive was cleared and filtered so that future alerts provided the most meaningful data.

Each server was connected to a central manager, which allowed the client to access data from multiple sites via a single pane of glass. DMC then conducted administrator training for IT and OT personnel so that they could operate the AD4IoT sensor appropriately.

Learn more about DMC’s Microsoft Azure Cloud Solutions and Services expertise and contact us today for your next project.

The post Operational Technology Network Security Monitoring appeared first on DMC, Inc..

]]>
Flexible Desktop Application for Automotive Chip Flashing https://www.dmcinfo.com/our-work/flexible-desktop-application-for-automotive-chip-flashing/ Tue, 28 Nov 2023 00:00:00 +0000 https://www.dmcinfo.com/our-work/flexible-desktop-application-for-automotive-chip-flashing/ DMC’s client had a dynamic manufacturing line that supported multiple variations of a product, each with its own unique firmware. The client needed a modular system to automate their labor-intensive flashing process. DMC developed the initial proof of concept using the client’s hardware samples and flashing equipment at our facility. After working with the client […]

The post Flexible Desktop Application for Automotive Chip Flashing appeared first on DMC, Inc..

]]>
DMC’s client had a dynamic manufacturing line that supported multiple variations of a product, each with its own unique firmware. The client needed a modular system to automate their labor-intensive flashing process.

DMC developed the initial proof of concept using the client’s hardware samples and flashing equipment at our facility. After working with the client to verify the proof-of-concept system and requirements, DMC worked with the client to commission and test the application at their production facility.

The resulting solution replaced the original, manual process with an automated system. The application’s automated firmware selection allowed multiple products, including new models in the future, to be supported on a single line.

The application also features logging capabilities and a user interface, granting the client the information needed to pinpoint which parts of the system require attention when issues arise.  

Learn more about DMC’s PC application development expertise and contact us for your next project. 

The post Flexible Desktop Application for Automotive Chip Flashing appeared first on DMC, Inc..

]]>
Automated Label Application with Beckhoff TwinCAT3 https://www.dmcinfo.com/our-work/automated-label-application-with-beckhoff-twincat3/ Tue, 28 Mar 2023 00:00:00 +0000 https://www.dmcinfo.com/our-work/automated-label-application-with-beckhoff-twincat3/ For this solution, DMC recommended Beckhoff hardware. Engineers began the process by specifying the system settings on the recipe management system. Next, they developed source code for the PLC and HMI technologies. DMC’s UX/UI team then designed mockups and official screens for the interface to match the client’s style guides. Lastly, engineers commissioned the system […]

The post Automated Label Application with Beckhoff TwinCAT3 appeared first on DMC, Inc..

]]>
For this solution, DMC recommended Beckhoff hardware. Engineers began the process by specifying the system settings on the recipe management system. Next, they developed source code for the PLC and HMI technologies. DMC’s UX/UI team then designed mockups and official screens for the interface to match the client’s style guides. Lastly, engineers commissioned the system at the manufacturer facility and provided remote support upon completion.

Using the TwinCAT 3 HMI Recipe Manager, the solution was configurable to a variety of printing applications and production lines. It supported modes for high-speed and low-speed application and allowed operators to easily configure and support a variety of product geometries. Additionally, it allowed for the application of labels without stopping conveyor motion.

DMC provided software for several identical programs. The client sent DMC engineers the necessary hardware. DMC engineers then loaded the software and shipped the hardware directly to the end customer with no commissioning required.

A User IInterface Designed by DMC
A User interface designed by DMC

DMC engineers have created a blog series detailing this process.

Learn more about DMC’s TwinCAT3 programming experience and contact us for your next project.

The post Automated Label Application with Beckhoff TwinCAT3 appeared first on DMC, Inc..

]]>
Position Control of a Three-Axis Gantry using an S7-1511 and V90 Servo Drives https://www.dmcinfo.com/our-work/position-control-of-a-three-axis-gantry-using-an-s7-1511-and-v90-servo-drives/ Mon, 12 Dec 2022 00:00:00 +0000 https://www.dmcinfo.com/our-work/position-control-of-a-three-axis-gantry-using-an-s7-1511-and-v90-servo-drives/ This program needed to be able to move the gantry between points in the system while maintaining precise speed and positioning tolerances. Two of the axes were controlled by a single drive while the third required two of the V90s to be geared together. All four drives used telegram 105, which allowed for both position and speed […]

The post Position Control of a Three-Axis Gantry using an S7-1511 and V90 Servo Drives appeared first on DMC, Inc..

]]>
This program needed to be able to move the gantry between points in the system while maintaining precise speed and positioning tolerances. Two of the axes were controlled by a single drive while the third required two of the V90s to be geared together. All four drives used telegram 105, which allowed for both position and speed control.

To help interface these drives with DMCs code, technology objects were implemented. Each axis was primarily controlled by a position axis technology object with a synchronous axis technology object added in to accommodate the second VFD being used to move the Y axis.

Since the PLC was a 1500 series and not a 1500T, we were not able to absolutely gear the two Y axis VFDs to one another. DMC circumvented the potential issue by relatively gearing the two axes at a 1 to 1 ratio. Using this setup, we were able to move gantry to very precise points within the system at speeds within the end user’s requirements. If used in a system with a 1500T, DMC would have also been able to utilize Siemen’s kinematics technology object.  This would have allowed for the creation of Cam profiles and much smoother point to point movement in the system.

Another benefit to using the technology objects is that they allowed DMC to easily incorporate hardware stops to the program. In the limits configuration for the technology objects, the programmer can directly set digital inputs as end of range limits for a given axis. These limits can also be configured to be either normally open or normally closed.

By using Siemen’s built-in functionality, DMC was able to effectively meet the needs of the project and work around potential hardware limitations.

Learn more about DMC’s Partnership with Siemens as a Siemens Solutions Partner, and contact us today for your next project.

The post Position Control of a Three-Axis Gantry using an S7-1511 and V90 Servo Drives appeared first on DMC, Inc..

]]>