<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Lillian Walker, Author at DMC, Inc.</title>
	<atom:link href="https://static.dmcinfo.com/blog/author/lillianw/feed/index.xml" rel="self" type="application/rss+xml" />
	<link></link>
	<description></description>
	<lastBuildDate>Wed, 19 Aug 2026 19:57:55 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.2</generator>

<image>
	<url>https://static.dmcinfo.com/wp-content/uploads/2025/04/site-icon-150x150.png</url>
	<title>Lillian Walker, Author at DMC, Inc.</title>
	<link></link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Extending LabVIEW with C#: Best Practices for Using DLLs for Advanced Functionality</title>
		<link>https://static.dmcinfo.com/blog/41128/extending-labview-with-c-sharp-best-practices-for-dlls/</link>
		
		<dc:creator><![CDATA[Lillian Walker]]></dc:creator>
		<pubDate>Wed, 11 Feb 2026 13:00:00 +0000</pubDate>
				<category><![CDATA[Test and Measurement Automation]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/?p=41128</guid>

					<description><![CDATA[<p>In my years of LabVIEW development at DMC,&#160;I’ve&#160;often found that&#160;I could be more efficient and develop better software&#160;by using LabVIEW and C# in tandem as opposed to&#160;LabVIEW alone.&#160;In certain circumstances, it&#160;can&#160;save time&#160;(and therefore budget)&#160;and&#160;reduce complexity when trying to tie together multiple systems.&#160;You also get&#160;easier&#160;access to the&#160;low-level&#160;features&#160;of Windows by using Microsoft’s&#160;own ecosystem,&#160;unlocking&#160;functionality that&#160;isn’t&#160;natively available in&#160;LabVIEW.&#160; Driver&#160;Integration [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/41128/extending-labview-with-c-sharp-best-practices-for-dlls/">Extending LabVIEW with C#: Best Practices for Using DLLs for Advanced Functionality</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">In my years of LabVIEW development at DMC,&nbsp;I’ve&nbsp;often found that&nbsp;I could be more efficient and develop better software&nbsp;by using LabVIEW and C# in tandem as opposed to&nbsp;LabVIEW alone.&nbsp;In certain circumstances, it&nbsp;can&nbsp;save time&nbsp;(and therefore budget)&nbsp;and&nbsp;reduce complexity when trying to tie together multiple systems.&nbsp;You also get&nbsp;easier&nbsp;access to the&nbsp;low-level&nbsp;features&nbsp;of Windows by using Microsoft’s&nbsp;own ecosystem,&nbsp;unlocking&nbsp;functionality that&nbsp;isn’t&nbsp;natively available in&nbsp;LabVIEW.&nbsp;</p>



<h2 id="h-driver-nbsp-integration" class="wp-block-heading">Driver&nbsp;Integration</h2>



<p class="wp-block-paragraph">If you have ever integrated any kind of device into&nbsp;a&nbsp;LabVIEW&nbsp;application, chances are you&nbsp;looked&nbsp;for a LabVIEW driver,&nbsp;perhaps through&nbsp;the&nbsp;<a href="https://www.ni.com/en/support/downloads/tools-network.html?srsltid=AfmBOooLaO2f-Wd0C9K7NycaNzSqhl4zsRILBSqtUAt8MS1ILyRkoMiM" target="_blank" rel="noreferrer noopener">NI Tools Network</a>.&nbsp;Many instrument vendors&nbsp;provide a LabVIEW driver for their&nbsp;device, but&nbsp;some&nbsp;do not.&nbsp;In these cases, drivers may instead be provided for Python or C#.&nbsp;</p>



<p class="wp-block-paragraph">If the device doesn’t have a provided LabVIEW driver, you aren’t out of luck!&nbsp;Whether&nbsp;it’s&nbsp;Python or C#, you can&nbsp;still&nbsp;use that driver to integrate the device with your&nbsp;LabVIEW&nbsp;software&nbsp;(though this blog will focus only on&nbsp;C#).&nbsp;</p>



<h2 id="h-reuse-code-nbsp" class="wp-block-heading">Reuse Code&nbsp;</h2>



<p class="wp-block-paragraph">If your company has multiple projects and uses multiple programming languages, it can be helpful to reuse code between projects.&nbsp;Reuse code improves efficiency and consistency,&nbsp;reduces&nbsp;the amount of time you spend making updates to systems, and makes it easier to train up and onboard new engineers onto your team.&nbsp;Developing core functionality in&nbsp;C#&nbsp;allows both .NET developers and&nbsp;LabVIEW&nbsp;developers&nbsp;to&nbsp;take advantage of it.&nbsp;</p>



<h2 id="h-library-compatibility-nbsp" class="wp-block-heading">Library Compatibility&nbsp;</h2>



<p class="wp-block-paragraph">LabVIEW has a lot of functionality, but there’s always that functionality that pops up that you know is available in another&nbsp;package,&nbsp;but you just&nbsp;can’t&nbsp;find a LabVIEW version.&nbsp;For example:&nbsp;</p>



<ul class="wp-block-list">
<li>JSON serialization&nbsp;</li>



<li>Database interaction&nbsp;</li>



<li>Calls to web services&nbsp;</li>



<li>Interaction with Windows&nbsp;features&nbsp;(e.g., Active Directory)&nbsp;</li>



<li>Cryptographic&nbsp;utilities&nbsp;&nbsp;</li>
</ul>



<h2 id="h-best-practices-nbsp-for-using-c-dlls-in-labview" class="wp-block-heading">Best Practices&nbsp;for Using C# DLLs in LabVIEW</h2>



<h3 id="h-storing-source-code-and-dlls-nbsp" class="wp-block-heading">Storing Source Code and DLLs&nbsp;</h3>



<p class="wp-block-paragraph">DMC always recommends keeping your source code in source&nbsp;control&nbsp;such as GitLab. Source control enables you to track changes that have been made over time and improve overall project quality. You can also configure&nbsp;GitLab&nbsp;or&nbsp;GitHub&nbsp;to build your library automatically when changes are made&nbsp;and to store the output.&nbsp;This way, you&nbsp;don’t&nbsp;need to worry about&nbsp;different developers’ build&nbsp;environments,&nbsp;and you have a&nbsp;common storage&nbsp;location for the output.&nbsp;This practice is called Continuous Integration/Continuous Deployment,&nbsp;or CI/CD.&nbsp;</p>



<p class="wp-block-paragraph">If&nbsp;you’re&nbsp;using CI/CD, the best practice for storing built code is to store it as an artifact&nbsp;from your CI/CD pipeline&nbsp;in the source control system&nbsp;rather than&nbsp;committed to the repository. If the artifact&nbsp;is ever&nbsp;deleted, you can&nbsp;manually trigger a rebuild in most systems to rebuild.&nbsp;For more information on CI/CD pipelines,&nbsp;check out this DMC article&nbsp;by Gabby: <a href="https://static.dmcinfo.com/blog/16667/intro-to-ci-cd-pipelines/">Intro to CI/CD Pipelines</a>.&nbsp;</p>



<p class="wp-block-paragraph">If&nbsp;you are using a&nbsp;library&nbsp;written in&nbsp;C#, C,&nbsp;or&nbsp;C++&nbsp;and&nbsp;you are not building using CI/CD,&nbsp;I recommend keeping&nbsp;the DLL&nbsp;file&nbsp;somewhere in your class hierarchy near the VIs using it. For example, if you have&nbsp;a&nbsp;set of&nbsp;VIs&nbsp;for reading from&nbsp;a&nbsp;device that will use this DLL, place the DLL in the same folder&nbsp;as the&nbsp;VIs.&nbsp;Alternatively, place&nbsp;all of&nbsp;the DLLs&nbsp;together at the root of your project.&nbsp;This ensures that anyone copying or backing up the code will&nbsp;have the libraries in the correct location.&nbsp;</p>



<p class="wp-block-paragraph">For more information&nbsp;on the benefits of CI/CD, check out this article on quality from Chris: <a href="https://static.dmcinfo.com/blog/15336/adg-mission-critical-applications-quality-matters/">ADG Mission Critical Applications: Quality Matters</a>.</p>



<h3 id="h-versioning-and-metadata" class="wp-block-heading">Versioning and Metadata</h3>



<p class="wp-block-paragraph">If,&nbsp;in the process of troubleshooting&nbsp;or upgrading a system, you need to edit&nbsp;your&nbsp;custom&nbsp;DLL,&nbsp;you should&nbsp;use&nbsp;C#’s&nbsp;version control features&nbsp;to&nbsp;help you and LabVIEW keep track of what version&nbsp;is being&nbsp;used in the code.&nbsp;You can&nbsp;set&nbsp;the version and the metadata for the DLL using the Assembly Information menu in Visual Studio.&nbsp;</p>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="320" height="228" src="https://static.dmcinfo.com/wp-content/uploads/2026/01/C-in-LabVIEW-1.png" alt="C# in LabVIEW interface" class="wp-image-41153" srcset="https://static.dmcinfo.com/wp-content/uploads/2026/01/C-in-LabVIEW-1.png 320w, https://static.dmcinfo.com/wp-content/uploads/2026/01/C-in-LabVIEW-1-300x214.png 300w" sizes="(max-width: 320px) 100vw, 320px" /></figure>



<p class="wp-block-paragraph">When&nbsp;you replace the&nbsp;DLL&nbsp;in your&nbsp;code&nbsp;by&nbsp;deleting&nbsp;the&nbsp;old DLL and copying the new one in,&nbsp;you will get a&nbsp;warning&nbsp;pop-up&nbsp;notifying you&nbsp;that&nbsp;the LabVIEW code is pointed at a new&nbsp;DLL&nbsp;version.&nbsp;If you intended this change,&nbsp;this is&nbsp;a helpful reassurance that your&nbsp;change was&nbsp;found.&nbsp;This is also&nbsp;good to know if&nbsp;you’re&nbsp;opening&nbsp;a LabVIEW&nbsp;project&nbsp;and you&nbsp;aren’t&nbsp;sure that the&nbsp;version of the&nbsp;DLL&nbsp;your code is&nbsp;using matches&nbsp;the&nbsp;version last used in the&nbsp;LabVIEW&nbsp;project. If the DLL versions are unexpectedly&nbsp;different,&nbsp;that&nbsp;can&nbsp;indicate&nbsp;that you&nbsp;need to&nbsp;verify the DLL’s&nbsp;usage for any&nbsp;changes.&nbsp;</p>



<figure class="wp-block-image size-full"><img decoding="async" width="496" height="200" src="https://static.dmcinfo.com/wp-content/uploads/2026/01/C-in-LabVIEW-2.png" alt="C# in LabVIEW interface" class="wp-image-41154" srcset="https://static.dmcinfo.com/wp-content/uploads/2026/01/C-in-LabVIEW-2.png 496w, https://static.dmcinfo.com/wp-content/uploads/2026/01/C-in-LabVIEW-2-300x121.png 300w" sizes="(max-width: 496px) 100vw, 496px" /></figure>



<figure class="wp-block-image size-full"><img decoding="async" width="624" height="462" src="https://static.dmcinfo.com/wp-content/uploads/2026/01/C-in-LabVIEW-3.png" alt="C# in LabVIEW interface" class="wp-image-41155" srcset="https://static.dmcinfo.com/wp-content/uploads/2026/01/C-in-LabVIEW-3.png 624w, https://static.dmcinfo.com/wp-content/uploads/2026/01/C-in-LabVIEW-3-300x222.png 300w" sizes="(max-width: 624px) 100vw, 624px" /></figure>



<h3 id="h-use-nbsp-labview-friendly-nbsp-types-nbsp" class="wp-block-heading">Use&nbsp;LabVIEW-Friendly&nbsp;Types&nbsp;</h3>



<p class="wp-block-paragraph">Not all C# types are easily usable in LabVIEW.&nbsp;Many are accessed in LabVIEW as .NET&nbsp;references, rather than native types that&nbsp;you’re&nbsp;used to&nbsp;in LabVIEW.&nbsp;One example that comes up&nbsp;frequently&nbsp;is Lists vs Arrays. In C# development, Lists are used&nbsp;frequently&nbsp;to store multiple items. However, if you try to use a List as an input or output from a C#&nbsp;method&nbsp;in LabVIEW,&nbsp;you’ll&nbsp;need to&nbsp;put in a&nbsp;lot of&nbsp;property nodes&nbsp;to&nbsp;get&nbsp;the data you&nbsp;actually want.&nbsp;&nbsp;</p>



<p class="wp-block-paragraph">In the&nbsp;following&nbsp;example, I have a simple class that returns either an Array or a List of strings.&nbsp;</p>



<figure class="wp-block-image size-full"><img decoding="async" width="488" height="420" src="https://static.dmcinfo.com/wp-content/uploads/2026/01/C-in-LabVIEW-4.png" alt="C# in LabVIEW code" class="wp-image-41156" srcset="https://static.dmcinfo.com/wp-content/uploads/2026/01/C-in-LabVIEW-4.png 488w, https://static.dmcinfo.com/wp-content/uploads/2026/01/C-in-LabVIEW-4-300x258.png 300w" sizes="(max-width: 488px) 100vw, 488px" /></figure>



<p class="wp-block-paragraph">When I use that class in LabVIEW, the Array comes through as a&nbsp;LabVIEW&nbsp;Array of strings,&nbsp;which will be&nbsp;easy to handle&nbsp;natively! The List,&nbsp;however,&nbsp;comes in as a&nbsp;.NET&nbsp;object reference.&nbsp;It&nbsp;is&nbsp;possible to&nbsp;use&nbsp;but&nbsp;it&nbsp;will be more&nbsp;difficult and messier.&nbsp;</p>



<figure class="wp-block-image size-full"><img decoding="async" width="516" height="212" src="https://static.dmcinfo.com/wp-content/uploads/2026/01/C-in-LabVIEW-5.png" alt="C# in LabVIEW interface" class="wp-image-41157" srcset="https://static.dmcinfo.com/wp-content/uploads/2026/01/C-in-LabVIEW-5.png 516w, https://static.dmcinfo.com/wp-content/uploads/2026/01/C-in-LabVIEW-5-300x123.png 300w" sizes="(max-width: 516px) 100vw, 516px" /></figure>



<p class="wp-block-paragraph">If you&nbsp;are&nbsp;integrating a&nbsp;C# DLL that uses&nbsp;LabVIEW-unfriendly&nbsp;.NET&nbsp;types&nbsp;like List,&nbsp;you can create&nbsp;a&nbsp;wrapper&nbsp;DLL&nbsp;that&nbsp;translates the&nbsp;difficult-to-use&nbsp;elements into&nbsp;natively supported LabVIEW&nbsp;types.&nbsp;Continuing the List and&nbsp;Array&nbsp;example,&nbsp;if&nbsp;my&nbsp;Device Driver provides its readings&nbsp;as a&nbsp;List.&nbsp;</p>



<figure class="wp-block-image size-full"><img decoding="async" width="298" height="134" src="https://static.dmcinfo.com/wp-content/uploads/2026/01/C-in-LabVIEW-6.png" alt="C# in LabVIEW code" class="wp-image-41159"/></figure>



<p class="wp-block-paragraph">I&nbsp;can create&nbsp;a wrapper class&nbsp;for the driver that&nbsp;will convert the readings from a&nbsp;List&nbsp;to an Array.&nbsp;Now I can more&nbsp;easily call my&nbsp;wrapper&nbsp;in LabVIEW&nbsp;instead of&nbsp;the&nbsp;original driver.&nbsp;</p>



<figure class="wp-block-image size-full"><img decoding="async" width="440" height="276" src="https://static.dmcinfo.com/wp-content/uploads/2026/01/C-in-LabVIEW-7.png" alt="C# in LabVIEW code" class="wp-image-41160" srcset="https://static.dmcinfo.com/wp-content/uploads/2026/01/C-in-LabVIEW-7.png 440w, https://static.dmcinfo.com/wp-content/uploads/2026/01/C-in-LabVIEW-7-300x188.png 300w" sizes="(max-width: 440px) 100vw, 440px" /></figure>



<h2 id="h-troubleshooting" class="wp-block-heading">Troubleshooting</h2>



<p class="wp-block-paragraph">If the C# DLL&nbsp;doesn’t&nbsp;work&nbsp;immediately,&nbsp;you’ll&nbsp;need to do some troubleshooting.&nbsp;The following tips can be helpful for troubleshooting the interaction between the DLL and LabVIEW.</p>



<h3 id="h-debugging-nbsp-dll-calls-made-nbsp-in-labview" class="wp-block-heading">Debugging&nbsp;DLL Calls Made&nbsp;in LabVIEW</h3>



<p class="wp-block-paragraph">The&nbsp;best&nbsp;way to troubleshoot&nbsp;is to&nbsp;see how your&nbsp;DLL&nbsp;behaves when it receives data&nbsp;from LabVIEW.&nbsp;To&nbsp;do this,&nbsp;it can be helpful to&nbsp;configure the&nbsp;Visual Studio&nbsp;debugger&nbsp;so that you can hit breakpoints in your C# code when the library is&nbsp;called from&nbsp;LabVIEW.&nbsp;Note:&nbsp;for this process, you will need to be using a DLL built in&nbsp;the debug configuration.&nbsp;</p>



<figure class="wp-block-image size-full"><img decoding="async" width="624" height="268" src="https://static.dmcinfo.com/wp-content/uploads/2026/01/C-in-LabVIEW-8.png" alt="C# in LabVIEW code" class="wp-image-41161" srcset="https://static.dmcinfo.com/wp-content/uploads/2026/01/C-in-LabVIEW-8.png 624w, https://static.dmcinfo.com/wp-content/uploads/2026/01/C-in-LabVIEW-8-300x129.png 300w" sizes="(max-width: 624px) 100vw, 624px" /></figure>



<p class="wp-block-paragraph">In Visual&nbsp;Studio,&nbsp;select&nbsp;Debug &gt; Attach Process.&nbsp;</p>



<figure class="wp-block-image size-full"><img decoding="async" width="624" height="334" src="https://static.dmcinfo.com/wp-content/uploads/2026/01/C-in-LabVIEW-9.png" alt="C# in LabVIEW code" class="wp-image-41162" srcset="https://static.dmcinfo.com/wp-content/uploads/2026/01/C-in-LabVIEW-9.png 624w, https://static.dmcinfo.com/wp-content/uploads/2026/01/C-in-LabVIEW-9-300x161.png 300w" sizes="(max-width: 624px) 100vw, 624px" /></figure>



<p class="wp-block-paragraph">In the&nbsp;Attach to Process pop-up, select&nbsp;LabVIEW from the&nbsp;list.&nbsp;Click Attach.&nbsp;</p>



<figure class="wp-block-image size-full"><img decoding="async" width="624" height="472" src="https://static.dmcinfo.com/wp-content/uploads/2026/01/C-in-LabVIEW-10.png" alt="C# in LabVIEW code" class="wp-image-41163" srcset="https://static.dmcinfo.com/wp-content/uploads/2026/01/C-in-LabVIEW-10.png 624w, https://static.dmcinfo.com/wp-content/uploads/2026/01/C-in-LabVIEW-10-300x227.png 300w" sizes="(max-width: 624px) 100vw, 624px" /></figure>



<p class="wp-block-paragraph">Place breakpoints in your C# code as needed. When&nbsp;you’re&nbsp;ready to debug,&nbsp;open&nbsp;LabVIEW&nbsp;first, then run the Visual Studio debugger&nbsp;(after the first configuration&nbsp;described above, you can run the debugger again by selecting Debug &gt; Reattach to&nbsp;LabVIEW.exe).&nbsp;Run the LabVIEW VI that calls the library,&nbsp;and when&nbsp;your VI calls the&nbsp;DLL&nbsp;you will see the breakpoint hit in Visual Studio.&nbsp;</p>



<figure class="wp-block-image size-full"><img decoding="async" width="316" height="54" src="https://static.dmcinfo.com/wp-content/uploads/2026/01/C-in-LabVIEW-11.png" alt="C# in LabVIEW interface" class="wp-image-41164" srcset="https://static.dmcinfo.com/wp-content/uploads/2026/01/C-in-LabVIEW-11.png 316w, https://static.dmcinfo.com/wp-content/uploads/2026/01/C-in-LabVIEW-11-300x51.png 300w" sizes="(max-width: 316px) 100vw, 316px" /></figure>



<figure class="wp-block-image size-full"><img decoding="async" width="276" height="176" src="https://static.dmcinfo.com/wp-content/uploads/2026/01/C-in-LabVIEW-12.png" alt="C# in LabVIEW code" class="wp-image-41165"/></figure>



<h3 id="h-creating-a-console-application" class="wp-block-heading">Creating a Console Application</h3>



<p class="wp-block-paragraph">Alternatively,&nbsp;you&nbsp;can quickly create a Console&nbsp;Application to test your library. In the same Visual Studio Solution, create a new project of type Console Application, use it to access the methods in your library,&nbsp;attempt&nbsp;to run it, and print troubleshooting information to the console. In this&nbsp;way,&nbsp;you can isolate your testing to just the C# library, without involving the LabVIEW code.&nbsp;</p>



<h3 id="h-review-the-errors-on-the-property-and-method-nodes" class="wp-block-heading">Review the Errors on the Property and Method Nodes</h3>



<p class="wp-block-paragraph">The errors that come out of the C#&nbsp;nodes can give you a clue as to&nbsp;what’s&nbsp;happening under the hood.&nbsp;When an exception occurs in the DLL,&nbsp;you’ll&nbsp;get a pop-up like this in LabVIEW.&nbsp;</p>



<figure class="wp-block-image size-full"><img decoding="async" width="348" height="344" src="https://static.dmcinfo.com/wp-content/uploads/2026/01/C-in-LabVIEW-13.png" alt="C# in LabVIEW interface" class="wp-image-41166" srcset="https://static.dmcinfo.com/wp-content/uploads/2026/01/C-in-LabVIEW-13.png 348w, https://static.dmcinfo.com/wp-content/uploads/2026/01/C-in-LabVIEW-13-300x297.png 300w" sizes="(max-width: 348px) 100vw, 348px" /></figure>



<p class="wp-block-paragraph">I have annotated&nbsp;the&nbsp;parts of the pop-up&nbsp;that&nbsp;include information that is helpful for troubleshooting. When&nbsp;searching for information on&nbsp;these errors, make sure you&nbsp;don’t&nbsp;include the LabVIEW-specific sections and use only the actual C# exception.&nbsp;All&nbsp;errors from a .NET node&nbsp;have LabVIEW error code 1172&nbsp;(shown at the top). The actual exception from .NET, which&nbsp;will be useful in your search,&nbsp;is shown&nbsp;at the bottom.&nbsp;</p>



<p class="wp-block-paragraph">Do you have a complicated driver or library that you need help with? DMC loves&nbsp;a&nbsp;challenge!&nbsp;Submit an&nbsp;inquiry today, and we will be happy to help.&nbsp;</p>



<div class="wp-block-group alignwide has-custom-light-blue-background-color has-background is-layout-flow wp-container-core-group-is-layout-dbd34961 wp-block-group-is-layout-flow" style="border-radius:20px;margin-top:var(--wp--preset--spacing--50);margin-bottom:var(--wp--preset--spacing--50);padding-top:var(--wp--preset--spacing--50);padding-right:0;padding-bottom:var(--wp--preset--spacing--50);padding-left:0">
<div class="wp-block-columns alignwide are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-43efaee5 wp-block-columns-is-layout-flex" style="padding-right:var(--wp--preset--spacing--60);padding-left:var(--wp--preset--spacing--60)">
<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:85%">
<h3 class="wp-block-heading has-text-align-left" id="h-have-an-upcoming-project-dmc-can-help-you-take-the-next-step">Ready to enhance your LabVIEW application with custom C# development?</h3>



<p class="has-text-align-left wp-block-paragraph" id="h-need-help-turning-ideas-into-outcomes-automation-project-to-the-next-level-contact-us-today-to-learn-more-about-our-solutions-and-how-we-can-help-you-achieve-your-goals">Ready to enhance your <a href="https://static.dmcinfo.com/our-work/category/service/test-measurement-automation/labview/" data-type="work_category" data-id="685">LabVIEW</a> application with custom <a href="https://static.dmcinfo.com/services/digital-workplace-solutions/custom-application-development/" data-type="page" data-id="740">C# development</a>? Learn more about DMC&#8217;s <a href="https://static.dmcinfo.com/services/test-and-measurement-automation/" id="428">Test &amp; Measurement</a> programming services.</p>
</div>



<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:15%">
<div class="wp-block-buttons is-horizontal is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-2236275c wp-block-buttons-is-layout-flex">
<div class="wp-block-button is-style-fill"><a class="wp-block-button__link has-base-contrast-color has-text-color has-link-color wp-element-button" href="https://static.dmcinfo.com/contact/">Contact Us</a></div>
</div>
</div>
</div>
</div>
<p>The post <a href="https://static.dmcinfo.com/blog/41128/extending-labview-with-c-sharp-best-practices-for-dlls/">Extending LabVIEW with C#: Best Practices for Using DLLs for Advanced Functionality</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>DMC Hosts a Virtual Pizza Party</title>
		<link>https://static.dmcinfo.com/blog/19430/dmc-hosts-a-virtual-pizza-party/</link>
		
		<dc:creator><![CDATA[Lillian Walker]]></dc:creator>
		<pubDate>Tue, 09 Mar 2021 16:55:47 +0000</pubDate>
				<category><![CDATA[Activities]]></category>
		<category><![CDATA[Culture]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/blog/19430/dmc-hosts-a-virtual-pizza-party/</guid>

					<description><![CDATA[<p>As we approach the one-year milestone since the beginning of coronavirus lockdowns, it can feel like we’re never going to be able to gather in the same ways we did a year ago. However, it’s going to take a lot more than that to keep the DMC community apart. Throughout this pandemic, we’ve had virtual [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/19430/dmc-hosts-a-virtual-pizza-party/">DMC Hosts a Virtual Pizza Party</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">As we approach the one-year milestone since the beginning of coronavirus lockdowns, it can feel like we’re never going to be able to gather in the same ways we did a year ago. However, it’s going to take a lot more than that to keep the DMC community apart. Throughout this pandemic, we’ve had <a href="https://static.dmcinfo.com/latest-thinking/blog/id/10196/categoryid/146/virtual-trivia-night-with-dmc">virtual trivia nights</a>, <a href="https://static.dmcinfo.com/latest-thinking/blog/id/10161/categoryid/146/virtual-beer-tasting-with-dmc-denver">virtual beer tastings</a>, and even a <a href="https://static.dmcinfo.com/latest-thinking/blog/id/10168/categoryid/146/virtual-pumpkin-carving-contest">virtual pumpkin carving contest</a>.</p>



<p class="wp-block-paragraph">DMC values the close connections our employees have with each other, both in and out of work. One of the reasons why we are so close is our <a href="https://static.dmcinfo.com/latest-thinking/blog/id/1420/happy-employees-make-happy-customers">activity fund</a>, which is a monthly budget set aside for DMCers to connect with each other through fun events and has been a DMC staple for many years. For this month’s activity fund event, we decided to have a virtual pizza party!</p>



<h2 class="wp-block-heading" id="h-pizza-preparation">Pizza Preparation</h2>



<p class="wp-block-paragraph">Each participating DMC employee was given $25 to spend on whatever pizza ingredients they wanted. In addition, a few people decided to use this as an opportunity to clean out their fridges and finally use their near-expiration veggies, languishing bottles of olives, and in one case, some leftover fettuccine. Why not kill two birds with one stone? We are engineers after all—we know a thing or two about efficiency.<img decoding="async" alt="" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Lauren-Pizza-Before.jpg"></p>



<p class="wp-block-paragraph">Around twenty DMCers participated in the pizza party, and as you can imagine, there was a wide variety of pizza interpretations. We believe that every pizza is beautiful and delicious in its own right, so pizzas weren’t ranked from best to worst, no matter how “interesting” they were. Right off the bat with the crust, many chose to go with an untraditional route. There were bagels, whole-grain flatbreads, and many rectangular pizzas. Come on, circles are hard!</p>



<h2 class="wp-block-heading" id="h-toppings">Toppings?</h2>



<p class="wp-block-paragraph">As you can probably imagine, toppings were a hot debate topic, and we’re not just talking about pineapple. To the shock and dismay of our fungi- and veggie-loving coworkers, some DMCers absolutely detest mushrooms and olives on their pizza. <a href="https://static.dmcinfo.com/about/employee-bios/lauren-lewis">Lauren</a> decided to avoid these savory pizza toppings politics altogether and made an apple pie dessert pizza. And of course, as mentioned earlier, <a href="https://static.dmcinfo.com/about/employee-bios/ramone-randle">Ramone’s</a> topping of choice was leftover fettuccine, which he alleges was actually quite delicious. Say what you will, but you can’t say DMCers aren’t creative!</p>



<p class="wp-block-paragraph"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Ramone_pizza_2.jpg" alt=""> </p>



<p class="wp-block-paragraph">The night was not without incident, however. <a href="https://static.dmcinfo.com/about/employee-bios/elizabeth-goodnight">Elizabeth</a> managed to set off the smoke detector five times, which I assume must be a record. But the pizza fortunately survived, and the virtual pizza party was a smashing success for everyone involved. We can’t wait for the next activity fund event!</p>



<p class="wp-block-paragraph"><strong>Check out some pictures of the other pizzas below and read more about other <a href="https://static.dmcinfo.com/latest-thinking/blog/articletype/categoryview/categoryid/146/activities">fun DMC activities</a>!</strong></p>



<p class="wp-block-paragraph"><p style="font-style: italic;"><img decoding="async" alt="" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/David-S-IMG_20210303_191605.jpg"></p></p>



<p class="wp-block-paragraph"><p style="font-style: italic;">David&#8217;s pizza with artichoke hearts and peppers</p></p>



<p class="wp-block-paragraph"><p style="font-style: italic;"><img decoding="async" alt="" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Lauren-pizza-1.jpg"></p></p>



<p class="wp-block-paragraph"><p style="font-style: italic;">Lauren&#8217;s apple pie pizza</p></p>



<p class="wp-block-paragraph"><p style="font-style: italic;"><img decoding="async" alt="" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Lillian-MicrosoftTeams-image.jpg"></p></p>



<p class="wp-block-paragraph"><p style="font-style: italic;">Lillian&#8217;s homemade pizza</p></p>



<p class="wp-block-paragraph"><p style="font-style: italic;"><img decoding="async" alt="" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Nick-L-MicrosoftTeams-image-1.jpg"></p></p>



<p class="wp-block-paragraph"><p style="font-style: italic;">Nick&#8217;s pizza with mushrooms, spinach, and peppers&nbsp;</p></p>
<p>The post <a href="https://static.dmcinfo.com/blog/19430/dmc-hosts-a-virtual-pizza-party/">DMC Hosts a Virtual Pizza Party</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Virtual Trivia Night With DMC</title>
		<link>https://static.dmcinfo.com/blog/19470/virtual-trivia-night-with-dmc/</link>
		
		<dc:creator><![CDATA[Lillian Walker]]></dc:creator>
		<pubDate>Mon, 08 Feb 2021 13:37:38 +0000</pubDate>
				<category><![CDATA[Activities]]></category>
		<category><![CDATA[Culture]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/blog/19470/virtual-trivia-night-with-dmc/</guid>

					<description><![CDATA[<p>It&apos;s no secret that at DMC, we like to have fun. We&apos;re proud of our strong&#160;company culture&#160;and just because we can&apos;t get&#160;together in person right now doesn&apos;t mean we can&apos;t have fun.&#160; DMC had our second virtual trivia night&#160;on January 27, hosted by The Castle, a favorite board game cafe of our Boston office.&#160;In total, [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/19470/virtual-trivia-night-with-dmc/">Virtual Trivia Night With DMC</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class="wp-block-paragraph">It&apos;s no secret that at DMC, we like to have fun. We&apos;re proud of our strong&nbsp;<a href="https://static.dmcinfo.com/latest-thinking/blog/articletype/categoryview/categoryid/13/culture">company culture</a>&nbsp;and just because we can&apos;t get&nbsp;together in person right now doesn&apos;t mean we can&apos;t have fun.&nbsp;</p>

<p class="wp-block-paragraph">DMC had our second <a href="https://static.dmcinfo.com/latest-thinking/blog/id/10149/virtual-trivia-night">virtual trivia night</a>&nbsp;on January 27, hosted by <a href="https://www.thecastlebeverly.com/" target="_blank">The Castle</a>, a favorite board game cafe of our Boston office.&nbsp;In total, there were eight teams of five to eight people, including both DMC employees and some lucky plus-ones. Since most of us are engineers, the question categories were largely science and technology-oriented. That is, except for one category: DMC Youtube.</p>

<h2 class="wp-block-heading">Our Youtube Channel</h2>

<p class="wp-block-paragraph">For the past eleven years, DMC has published almost 300 videos to&nbsp;our <a href="https://www.youtube.com/channel/UCH4SLZUYMly9Nr73wGfliRw" target="_blank">YouTube channel</a>. From peeks into some of DMC&apos;s exciting projects to detailed technical guides, we post a lot of useful content for engineers. However, as stated earlier, DMCers&nbsp;like to have fun&mdash; and we like to show that off on our Youtube channel.&nbsp;<img decoding="async" alt="" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/DMC-office-lip-sync-screenshot.jpg"  /></p>

<p class="wp-block-paragraph">We wanted to test our fellow DMCers&apos; knowledge on some of our most iconic videos, like DMC Boston&apos;s&nbsp;<a href="https://www.youtube.com/watch?v=5EPyIv1_kZ0" target="_blank">&quot;Nobody But Me&quot; officewide lipsync</a> or DMC Houston&apos;s <a href="https://www.youtube.com/watch?v=5EPyIv1_kZ0" target="_blank">&quot;Gotta Solve &apos;Em All.&quot;</a>&nbsp;We went through our videos and compiled a list of challenging trivia questions. For example, what food does the St. Louis office review in &quot;DMC Public Radio? Sandwiches, of course (the actual title is <a href="https://www.youtube.com/watch?v=E7QQdSvvazY" target="_blank">&quot;All Sandwiches Considered&quot;</a>). In <a href="https://www.youtube.com/watch?v=9fp7hhm5hxY" target="_blank">&quot;Room Pronunciation Guide,&quot;</a>&nbsp;who introduces the new Boston office room names? Duh, Muppets!</p>

<p class="wp-block-paragraph">Try to answer this question:&nbsp;&quot;In a&nbsp;DMC Texas music video, what parody did the office perform?&quot; Do you think it was&nbsp;SCADA Boi/Skater Boi or &quot;She thinks my code is sexy&quot;? Spoiler alert: It <a href="https://www.youtube.com/watch?v=9KdYy-VoS_8" target="_blank">was</a> <a href="https://www.youtube.com/watch?v=WAVvvp_yI70" target="_blank">both</a>.&nbsp;</p>

<h2 class="wp-block-heading">Trivia Night Results</h2>

<p class="wp-block-paragraph">In the end, only one team came&nbsp;out on top.&nbsp;Congratulations to DMC&apos;s Lillian Walker, Jacob Bruce, Chris Cilino, Abby Greentree, and Nick Leisle, whose team narrowly beat out the others to win top prize! We look forward to hosting more DMC trivia nights and we would love to hear how you&apos;re staying connected.</p>

<p class="wp-block-paragraph"><strong>Read more about other <a href="https://static.dmcinfo.com/latest-thinking/blog/articletype/categoryview/categoryid/146/activities">fun DMC activities</a>!</strong></p>

<p class="wp-block-paragraph">&nbsp;</p>
<p>The post <a href="https://static.dmcinfo.com/blog/19470/virtual-trivia-night-with-dmc/">Virtual Trivia Night With DMC</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>DMC Boston Hosts LabVIEW User Group</title>
		<link>https://static.dmcinfo.com/blog/20239/dmc-boston-hosts-labview-user-group/</link>
		
		<dc:creator><![CDATA[Lillian Walker]]></dc:creator>
		<pubDate>Fri, 07 Feb 2020 09:34:23 +0000</pubDate>
				<category><![CDATA[Boston]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/blog/20239/dmc-boston-hosts-labview-user-group/</guid>

					<description><![CDATA[<p>On&#160;Thursday, February 27th, 2020, DMC will be hosting the next&#160;Boston LabVIEW User Group (BLUG) meeting from&#160;5:30-7:00 P.M. at&#160;DMC&#8217;s Boston Office.&#160; BLUG meets regularly to discuss various LabVIEW programming techniques, technologies, application design pattens, and much more.&#160; Come collaborate with LabVIEW software and NI hardware users in the Greater Boston area to improve on your current [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/20239/dmc-boston-hosts-labview-user-group/">DMC Boston Hosts LabVIEW User Group</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">On&nbsp;<strong>Thursday, February 27th, 2020</strong>, DMC will be hosting the next&nbsp;<strong>Boston LabVIEW User Group (BLUG</strong>) meeting from&nbsp;<strong>5:30-7:00 P.M</strong>. at&nbsp;<strong>DMC&#8217;s Boston Office.</strong>&nbsp;</p>



<p class="wp-block-paragraph">BLUG<a href="https://static.dmcinfo.com/latest-thinking/blog/id/9988/dmc-boston-hosts-greater-boston-labview-user-group"> meets regularly</a> to discuss various LabVIEW programming techniques, technologies, application design pattens, and much more.&nbsp;</p>



<p class="wp-block-paragraph">Come collaborate with LabVIEW software and NI hardware users in the Greater Boston area to improve on your current projects and get fresh ideas.&nbsp;</p>



<h2 id="h-discussion-topic" class="wp-block-heading">Discussion Topic:</h2>



<ul class="wp-block-list">
<li>Presentation by Paul Ross from <a href="https://www.composed.io/#craftsmanship">Composed&nbsp;Systems</a> on designing an even logging framework that complies with SOLID Software Design Principals</li>



<li>User Group 2020 Planning</li>



<li>There is an opening for an additional presentation. Please email <a href="mailto:Lillian.Walker@localhost">Lillian.Walker@localhost</a> to volunteer to present</li>
</ul>



<h2 id="h-event-information" class="wp-block-heading">Event information:</h2>



<p class="wp-block-paragraph"><strong>Where:</strong><br>
DMC, Inc.&nbsp;<br>
20 Holland Street,<br>
Suite 408<br>
Somerville, MA 02144</p>



<p class="wp-block-paragraph"><strong>When:</strong><br>
February 27th, 2020 from 5:30-7 P.M.</p>



<p class="wp-block-paragraph"><strong>Arrival by Train:</strong><br>
DMC is located a few feet from the David Square Red Line T Stop.</p>



<p class="wp-block-paragraph"><strong>Arrival by Car:</strong><br>
Parking is available on top of the Buena Vista Lot for $1/hr. for up to 3 hours. Alternative parking can be found at Alewife Station for $7/day or $8/overnight. Take the train one stop to the Davis station.</p>



<p class="wp-block-paragraph">Dinner will be provided by NI.</p>



<p class="wp-block-paragraph">For more information about BLUG visit the <a href="https://forums.ni.com/t5/The-Boston-LabVIEW-User-Group/gp-p/5169?profile.language=en">NI forum</a> and <a href="https://www.eventbrite.com/e/labview-user-group-meeting-tickets-93142233929" type="link" id="https://www.eventbrite.com/e/labview-user-group-meeting-tickets-93142233929">register here</a>.</p>



<p class="wp-block-paragraph">&nbsp;</p>



<p class="wp-block-paragraph"></p>
<p>The post <a href="https://static.dmcinfo.com/blog/20239/dmc-boston-hosts-labview-user-group/">DMC Boston Hosts LabVIEW User Group</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>DMC Boston To Host LabVIEW User Group Meeting</title>
		<link>https://static.dmcinfo.com/blog/20986/dmc-boston-to-host-labview-user-group-meeting/</link>
		
		<dc:creator><![CDATA[Lillian Walker]]></dc:creator>
		<pubDate>Tue, 17 Sep 2019 13:12:33 +0000</pubDate>
				<category><![CDATA[Boston]]></category>
		<category><![CDATA[LabVIEW]]></category>
		<category><![CDATA[Special Events]]></category>
		<category><![CDATA[Test and Measurement Automation]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/blog/20986/dmc-boston-to-host-labview-user-group-meeting/</guid>

					<description><![CDATA[<p>On&#160;September 19th, 2019, DMC&#160;will be hosting the next&#160;Boston LabVIEW user group meeting (BLUG)&#160;from&#160;5:30-7:00 PM&#160;at DMC Boston&apos;s office. Come collaborate with LabVIEW software and NI hardware users in the Greater Boston, MA area to improve on your current projects and to get fresh ideas. Discussion Topics Location, Registration, &amp; Additional Information DMC, Inc. 20 Holland Street [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/20986/dmc-boston-to-host-labview-user-group-meeting/">DMC Boston To Host LabVIEW User Group Meeting</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class="wp-block-paragraph">On&nbsp;<strong>September 19th, 2019</strong>, DMC&nbsp;will be hosting the next<strong>&nbsp;Boston LabVIEW user group meeting (BLUG)&nbsp;from&nbsp;5:30-7:00 PM&nbsp;</strong>at DMC Boston&apos;s office.</p>

<p class="wp-block-paragraph">Come collaborate with LabVIEW software and NI hardware users in the Greater Boston, MA area to improve on your current projects and to get fresh ideas.</p>

<h2 class="wp-block-heading">Discussion Topics</h2>

<ul class="wp-block-list">
 <li>NI Measurement Studio: LabVIEW DAQmx in Visual Studio .NET</li>
 <li>Little LabVIEW Lectures: Community Supplied Tips &amp; Tricks. Demos are welcome!</li>
</ul>

<h2 class="wp-block-heading">Location, Registration, &amp; Additional Information</h2>

<p class="wp-block-paragraph">DMC, Inc.<br />
20 Holland Street<br />
Suite 408<br />
Somerville, MA 02144</p>

<p class="wp-block-paragraph"><strong>By Train</strong><br />
DMC is located a few feet from the Davis Square Red Line T Stop.</p>

<p class="wp-block-paragraph"><strong>By Car</strong><br />
Park on top of the Buena Vista Lot, and it is $1/hr for up to 3 hours. It&apos;s a $30 fine if you go over, and they will always get you.&nbsp;Alternatively, park at Alewife Station for $7/day or $8/overnight. Take the train one stop to Davis Station.</p>

<p class="wp-block-paragraph"><a href="https://static.dmcinfo.com/contact/dmc-boston">Learn more about DMC Boston</a>.</p>

<p class="wp-block-paragraph"><a href="https://events.ni.com/profile/form/index.cfm?PKformID=0x408805abcd" target="_blank">Find out more details about this great event and register to join in</a>.</p>
<p>The post <a href="https://static.dmcinfo.com/blog/20986/dmc-boston-to-host-labview-user-group-meeting/">DMC Boston To Host LabVIEW User Group Meeting</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Configuring a WinCC Professional Trend to Update Start and End Times based on DateTime Tags</title>
		<link>https://static.dmcinfo.com/blog/21995/configuring-a-wincc-professional-trend-to-update-start-and-end-times-based-on-datetime-tags/</link>
		
		<dc:creator><![CDATA[Lillian Walker]]></dc:creator>
		<pubDate>Thu, 21 Feb 2019 11:41:00 +0000</pubDate>
				<category><![CDATA[HMI and SCADA]]></category>
		<category><![CDATA[Manufacturing Automation & Intelligence]]></category>
		<category><![CDATA[WinCC]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/blog/21995/configuring-a-wincc-professional-trend-to-update-start-and-end-times-based-on-datetime-tags/</guid>

					<description><![CDATA[<p>I was recently working on a project with a tricky trending feature: display a trend over the course of a batch while the batch is running. No matter how long the batch had been running, we wanted to show the process value for the length of the trend. This isn&#8217;t an out of the box [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/21995/configuring-a-wincc-professional-trend-to-update-start-and-end-times-based-on-datetime-tags/">Configuring a WinCC Professional Trend to Update Start and End Times based on DateTime Tags</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">I was recently working on a project with a tricky trending feature: display a trend over the course of a batch while the batch is running. No matter how long the batch had been running, we wanted to show the process value for the length of the trend.</p>



<p class="wp-block-paragraph">This isn&#8217;t an out of the box feature for a WinCC Professional trend control, but with some simple scripting, it was ready to go! Check out this quick guide to get started.</p>



<h2 id="h-step-1-create-the-required-tags" class="wp-block-heading">Step 1: Create the Required Tags</h2>



<p class="wp-block-paragraph">On the HMI, we will need to have access to three tags:</p>



<p class="wp-block-paragraph"><strong>Cycle Start Time</strong> &#8211; A DateTime tag of the start time of the trend</p>



<p class="wp-block-paragraph"><strong>Cycle End Time</strong> &#8211; A DateTime tag of the end of the trend</p>



<p class="wp-block-paragraph"><strong>Cycle Start</strong> &#8211; A boolean tag that is changed after the cycle start and end times are set</p>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Step-1-Create-the-required-tags.png" alt=""/></figure>



<h2 id="h-step-2-create-the-trend-control" class="wp-block-heading">Step 2: Create the Trend Control</h2>



<ol class="wp-block-list">
<li>Add an online trend control to your screen.</li>



<li>From the properties list, select <strong>Trends</strong>.</li>



<li>Edit the <strong>Data Source </strong>for the default trend to point at the tag you want to trend.</li>
</ol>



<figure class="wp-block-image size-full"><img decoding="async" width="1267" height="441" src="https://static.dmcinfo.com/wp-content/uploads/2025/06/Step-2-Create-the-Trend-Control-Large-1.png" alt="Step 2 Create the Trend Control" class="wp-image-33039" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/06/Step-2-Create-the-Trend-Control-Large-1.png 1267w, https://static.dmcinfo.com/wp-content/uploads/2025/06/Step-2-Create-the-Trend-Control-Large-1-300x104.png 300w, https://static.dmcinfo.com/wp-content/uploads/2025/06/Step-2-Create-the-Trend-Control-Large-1-1024x356.png 1024w, https://static.dmcinfo.com/wp-content/uploads/2025/06/Step-2-Create-the-Trend-Control-Large-1-768x267.png 768w" sizes="(max-width: 1267px) 100vw, 1267px" /></figure>



<h2 id="h-step-3-create-the-updatetimeaxis-script" class="wp-block-heading">Step 3: Create the UpdateTimeAxis Script</h2>



<ol class="wp-block-list">
<li>In the project tree, expand your IPC project and drill down to <strong>Scripts &gt; VB scripts &gt;&nbsp;Add new VB function</strong>.</li>



<li>Name the new function. I named mine <strong>UpdateTimeAxis</strong>.</li>



<li>Fill in the script with the following:</li>
</ol>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:16px 0 0 16px;width:100%;text-align:left;background-color:#1e1e1e"><span style="background:#c7c7c7;padding:0.3rem 0.5rem 0.2rem;border-radius:1rem;font-size:0.8em;line-height:1;height:1.25rem;text-align:center;display:inline-flex;align-items:center;justify-content:center;color:#1e1e1e">VBScript</span></span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>Function UpdateTimeAxis()
'Declare variables
Dim objTrendControl

'Get the trend view
Set objTrendControl = HMIRuntime.Screens("Home Screen").ScreenItems("f(t) trend view_1")

'Set the Online option to False
objTrendControl.Online = False

'Set the start and end time parameters for the trend view
objTrendControl.TimeAxisBeginTime = CDate(SmartTags("StartDateTime_Trend"))
objTrendControl.TimeAxisEndTime = CDate(SmartTags("EndDateTime_Trend"))

'Release the objects
Set objTrendControl = Nothing

End Function</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">Function</span><span style="color: #D4D4D4"> </span><span style="color: #DCDCAA">UpdateTimeAxis</span><span style="color: #D4D4D4">()</span></span>
<span class="line"><span style="color: #6A9955">&apos;Declare variables</span></span>
<span class="line"><span style="color: #569CD6">Dim</span><span style="color: #9CDCFE"> objTrendControl</span></span>
<span class="line"></span>
<span class="line"><span style="color: #6A9955">&apos;Get the trend view</span></span>
<span class="line"><span style="color: #569CD6">Set </span><span style="color: #9CDCFE">objTrendControl</span><span style="color: #D4D4D4"> = HMIRuntime.</span><span style="color: #DCDCAA">Screens</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;Home Screen&quot;</span><span style="color: #D4D4D4">).</span><span style="color: #DCDCAA">ScreenItems</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;f(t) trend view_1&quot;</span><span style="color: #D4D4D4">)</span></span>
<span class="line"></span>
<span class="line"><span style="color: #6A9955">&apos;Set the Online option to False</span></span>
<span class="line"><span style="color: #D4D4D4">objTrendControl.</span><span style="color: #9CDCFE">Online</span><span style="color: #D4D4D4"> =</span><span style="color: #569CD6"> False</span></span>
<span class="line"></span>
<span class="line"><span style="color: #6A9955">&apos;Set the start and end time parameters for the trend view</span></span>
<span class="line"><span style="color: #D4D4D4">objTrendControl.</span><span style="color: #9CDCFE">TimeAxisBeginTime</span><span style="color: #D4D4D4"> = </span><span style="color: #DCDCAA">CDate</span><span style="color: #D4D4D4">(</span><span style="color: #DCDCAA">SmartTags</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;StartDateTime_Trend&quot;</span><span style="color: #D4D4D4">))</span></span>
<span class="line"><span style="color: #D4D4D4">objTrendControl.</span><span style="color: #9CDCFE">TimeAxisEndTime</span><span style="color: #D4D4D4"> = </span><span style="color: #DCDCAA">CDate</span><span style="color: #D4D4D4">(</span><span style="color: #DCDCAA">SmartTags</span><span style="color: #D4D4D4">(</span><span style="color: #CE9178">&quot;EndDateTime_Trend&quot;</span><span style="color: #D4D4D4">))</span></span>
<span class="line"></span>
<span class="line"><span style="color: #6A9955">&apos;Release the objects</span></span>
<span class="line"><span style="color: #569CD6">Set </span><span style="color: #9CDCFE">objTrendControl</span><span style="color: #D4D4D4"> =</span><span style="color: #569CD6"> Nothing</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">End Function</span></span></code></pre></div>



<p class="wp-block-paragraph">In essence, this script finds the trend control on the page, configures the start and end time of the axis, and then cleans up after itself.</p>



<h2 id="h-step-4-configure-a-trigger-for-the-script" class="wp-block-heading">Step 4: Configure a Trigger for the Script</h2>



<ol class="wp-block-list">
<li>In the <strong>Project Tree</strong>, select <strong>Scheduled Tasks</strong>.</li>



<li>Add a new scheduled task.</li>



<li>Under <strong>Properties &gt; General &gt; Starting Time</strong>, set the <strong>Trigger </strong>as a <strong>Tag Trigger</strong> and select the <strong>Cycle Start tag</strong> you configured in Step 1.</li>
</ol>



<h2 id="h-conclusion" class="wp-block-heading">Conclusion</h2>



<p class="wp-block-paragraph">Now when you run your application, when that <strong>Cycle Start tag</strong> is changed, the <strong>Time Axis</strong> of the trend should update to show the time frame from the <strong>Cycle Start Time</strong> to <strong>Cycle End Time tags</strong>.</p>



<p class="wp-block-paragraph"><a href="https://static.dmcinfo.com/services/manufacturing-automation-and-intelligence/hmi-and-scada-programming">Learn more about DMC&#8217;s experience in SCADA systems</a>&nbsp;or <a href="https://static.dmcinfo.com/contact">contact us</a> to get started on a project today.</p>



<p class="wp-block-paragraph"></p>
<p>The post <a href="https://static.dmcinfo.com/blog/21995/configuring-a-wincc-professional-trend-to-update-start-and-end-times-based-on-datetime-tags/">Configuring a WinCC Professional Trend to Update Start and End Times based on DateTime Tags</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Quick Solution For Rockwell BootP Communication Error</title>
		<link>https://static.dmcinfo.com/blog/22680/quick-solution-for-rockwell-bootp-communication-error/</link>
		
		<dc:creator><![CDATA[Lillian Walker]]></dc:creator>
		<pubDate>Wed, 19 Sep 2018 10:20:34 +0000</pubDate>
				<category><![CDATA[Allen Bradley PLC]]></category>
		<category><![CDATA[Manufacturing Automation & Intelligence]]></category>
		<category><![CDATA[PLC]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/blog/22680/quick-solution-for-rockwell-bootp-communication-error/</guid>

					<description><![CDATA[<p>Have you ever been commissioning a new PLC late in the afternoon when something goes wrong? Yeah, us too. The other night, we faced the problem below and the solution blew our minds, so I had to share it. We were setting the IP Address on a new Allen Bradley CompactLogix PLC&#160;using Rockwell&apos;s BootP utility. [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/22680/quick-solution-for-rockwell-bootp-communication-error/">Quick Solution For Rockwell BootP Communication Error</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class="wp-block-paragraph">Have you ever been commissioning a new PLC late in the afternoon when something goes wrong? Yeah, us too. The other night, we faced the problem below and the solution blew our minds, so I had to share it.</p>

<p class="wp-block-paragraph">We were setting the IP Address on a new <a href="https://ab.rockwellautomation.com/Programmable-Controllers/CompactLogix" target="_blank">Allen Bradley CompactLogix PLC</a>&nbsp;using Rockwell&apos;s BootP utility. When we tried to submit our changes, we go the following error:</p>

<p class="wp-block-paragraph"><img decoding="async" alt="Rockwell BootP Communication Error" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Rockwell-BootP-Communication-Error-400.png"  /><br />
<em>Credit: Rockwell Automation</em></p>

<p class="wp-block-paragraph">Error message text: &quot;Communication Error. Failed to complete the requested operation. See status bar for further information then press OK when ready to continue.&quot;</p>

<h2 class="wp-block-heading">What&apos;s The Quick Solution?</h2>

<p class="wp-block-paragraph">Like us, your first instinct might be to close the error message, but what you need to do is <strong>leave the popup open for about a minute</strong>. Then click OK and try again. And miracle of miracles, the second time it worked!</p>

<p class="wp-block-paragraph">So the next time you&apos;re setting the IP Address for a PLC and get this error message, just slow down and take a minute before closing that pop-up!</p>

<p class="wp-block-paragraph">Learn more about DMC&apos;s <a href="https://static.dmcinfo.com/services/manufacturing-automation-and-intelligence/plc-programming/allen-bradley-plc-programming" target="_blank">Allen Bradley PLC Programming</a> and <a href="https://static.dmcinfo.com/services/manufacturing-automation-and-intelligence/hmi-and-scada-programming/rockwell-factorytalk" target="_blank">Rockwell FactoryTalk</a> expertise.&nbsp;</p>
<p>The post <a href="https://static.dmcinfo.com/blog/22680/quick-solution-for-rockwell-bootp-communication-error/">Quick Solution For Rockwell BootP Communication Error</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Bringing Back Waffles for Business at DMC Boston</title>
		<link>https://static.dmcinfo.com/blog/22824/bringing-back-waffles-for-business-at-dmc-boston/</link>
		
		<dc:creator><![CDATA[Lillian Walker]]></dc:creator>
		<pubDate>Tue, 07 Aug 2018 07:27:55 +0000</pubDate>
				<category><![CDATA[Boston]]></category>
		<category><![CDATA[Culture]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/blog/22824/bringing-back-waffles-for-business-at-dmc-boston/</guid>

					<description><![CDATA[<p>For Throwback Thursday this week, I made an amazing discovery. Hidden in the back of DMC Boston&apos;s pantry was our rather dusty waffle iron! Not too long ago, Friday mornings were consistently celebrated with waffles for breakfast as a way to ring in the weekend. Realizing that none of the newer engineers even knew we [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/22824/bringing-back-waffles-for-business-at-dmc-boston/">Bringing Back Waffles for Business at DMC Boston</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class="wp-block-paragraph">For Throwback Thursday this week, I made an amazing discovery. Hidden in the back of DMC Boston&apos;s pantry was our rather dusty waffle iron!</p>

<p class="wp-block-paragraph">Not too long ago, Friday mornings were consistently celebrated with waffles for breakfast as a way to ring in the weekend. Realizing that none of the newer engineers even knew we had a waffle maker, Adam and I decided to bring back Waffles for Business!</p>

<p class="wp-block-paragraph">Bright and early, we started whipping up some waffle batter, including gluten-free batter for our gluten-intolerant friends.</p>

<figure class="wp-block-image"><img decoding="async" alt="Waffles for Business at DMC Boston" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Waffles-for-Business-2-web-ready.png"  /></figure>

<p class="wp-block-paragraph">For waffle toppings, we had a variety of berries, whipped cream, and maple syrup. Alexander brought in a Lebanese topping that he described as &quot;marshmallow with rose water.&quot; This&nbsp;sparked a long discussion of the magic of rose water, prompting&nbsp;everyone to commit to heading to their local Middle Eastern market to pick up a bottle.</p>

<figure class="wp-block-image"><img decoding="async" alt="Waffles for Business at DMC Boston" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Waffles-for-Business-web-ready.png"  /></figure>

<p class="wp-block-paragraph">Waffles For Business was a great way to kick off the weekend and I hope that we can continue to make our delicious breakfast from time to time.</p>

<p class="wp-block-paragraph"><a href="https://static.dmcinfo.com/latest-thinking/blog/articletype/categoryview/categoryid/13/just-plain-fun"><strong>Learn more about DMC&apos;s company culture.</strong></a></p>
<p>The post <a href="https://static.dmcinfo.com/blog/22824/bringing-back-waffles-for-business-at-dmc-boston/">Bringing Back Waffles for Business at DMC Boston</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
