<?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>Natalie Pippolo, Author at DMC, Inc.</title>
	<atom:link href="https://static.dmcinfo.com/blog/author/nataliep/feed/index.xml" rel="self" type="application/rss+xml" />
	<link></link>
	<description></description>
	<lastBuildDate>Fri, 04 Sep 2026 20:48:33 +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>Natalie Pippolo, Author at DMC, Inc.</title>
	<link></link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Getting Started with Opto 22 groov EPIC Part 3: CODESYS &#038; Ignition Edge</title>
		<link>https://static.dmcinfo.com/blog/36928/getting-started-with-opto-22-groov-epic-part-3-codesys-ignition-edge/</link>
		
		<dc:creator><![CDATA[Natalie Pippolo]]></dc:creator>
		<pubDate>Mon, 04 Aug 2025 13:00:00 +0000</pubDate>
				<category><![CDATA[Ignition]]></category>
		<category><![CDATA[Manufacturing Automation & Intelligence]]></category>
		<category><![CDATA[PLC]]></category>
		<category><![CDATA[Opto 22]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/?p=36928</guid>

					<description><![CDATA[<p>In this blog, we will explore the “PLC” functionality of the groov EPIC, completing our three-part series. Soon you will be ready to get started on your own groov EPIC Ignition Edge project!&#160; For an overview of the&#160;groov EPIC&#160;and its features, check out the rest of this blog series. Setting Up the CODESYS Environment&#160; The [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/36928/getting-started-with-opto-22-groov-epic-part-3-codesys-ignition-edge/">Getting Started with Opto 22 groov EPIC Part 3: CODESYS &amp; Ignition Edge</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">In this blog, we will explore the “PLC” functionality of the groov EPIC, completing our three-part series. Soon you will be ready to get started on your own groov EPIC Ignition Edge project!&nbsp;</p>



<p class="wp-block-paragraph">For an overview of the&nbsp;groov EPIC&nbsp;and its features, check out the rest of this blog series.</p>



<ul class="wp-block-list">
<li><a href="https://static.dmcinfo.com/blog/36186/getting-started-with-opto-22-groov-epic-part-1-groov-epic-introduction/">Part 1: groov EPIC Introduction</a></li>



<li><a href="https://static.dmcinfo.com/blog/36223/getting-started-with-opto-22-groov-epic-part-2-ignition-edge/">Part 2: Ignition Edge</a></li>
</ul>



<h2 id="h-setting-up-the-codesys-environment-nbsp" class="wp-block-heading">Setting Up the CODESYS Environment&nbsp;</h2>



<p class="wp-block-paragraph">The groov EPIC supports a handful of programming environments, including PAC Control, Node-RED, and the CODESYS IDE. In this demo, we will use CODESYS to develop a simple program for the EPIC. CODESYS is an IEC 61131-3 compliant environment commonly used across many PLC manufacturers, with a user-friendly interface and support for multiple common IEC standard languages.&nbsp;</p>



<p class="wp-block-paragraph">To enable CODESYS on the EPIC, first open the groov manager web app and enable CODESYS (Controller &gt; CODESYS Controller &gt; Runtime Enable). Note that while the CODESYS application is running, we can no longer control the outputs from the screen made in blog 2, as the outputs are being controlled from the CODESYS program instead. To switch back to controlling IO from the previous screen, simply disable the CODESYS application from groov manager. This ability to easily switch back and forth between the two modes can be a huge help during I/O checkout and testing of a large, complex system.&nbsp;</p>



<p class="wp-block-paragraph">Next, open the CODESYS development environment on a PC that is on the same network as your EPIC and configure your device connection. Create a new project and add a new device connection to your groov EPIC by entering your device IP and scanning the network. Once connected, your device connection will look something like this.&nbsp;</p>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="624" height="348" src="https://static.dmcinfo.com/wp-content/uploads/2025/08/Device-Connection-groov-EPIC.png" alt="groov EPIC device connection screen" class="wp-image-37506" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/08/Device-Connection-groov-EPIC.png 624w, https://static.dmcinfo.com/wp-content/uploads/2025/08/Device-Connection-groov-EPIC-300x167.png 300w" sizes="(max-width: 624px) 100vw, 624px" /></figure>



<p class="wp-block-paragraph">You can now click the “Login” button on the top toolbar to go online with your EPIC and monitor tag values directly.&nbsp;</p>



<figure class="wp-block-image size-full"><img decoding="async" width="126" height="84" src="https://static.dmcinfo.com/wp-content/uploads/2025/08/login-groov-EPIC.png" alt="groov EPIC login screen" class="wp-image-37507" style="object-fit:cover"/></figure>



<h2 id="h-configuring-controller-logic-in-codesys-nbsp" class="wp-block-heading">Configuring Controller Logic in CODESYS&nbsp;</h2>



<p class="wp-block-paragraph">Our sample PLC program represents a machine that must not be left running unattended for longer than a set time interval (default of 10 seconds). PB_UPPER represents the “On” command to the machine, while PB_LOWER is an additional button that must be held down for the machine to continue running. This input could also be tied to a proximity sensor that determines whether an operator is present at the station. Our buzzer output alerts the operator if the machine has been running unattended for too long.&nbsp;</p>



<p class="wp-block-paragraph">Our simple application consists of two programs – the “main” program, PLC_PRG calls the subroutine “TurnOnBuzzer”. TurnOnBuzzer takes in both PB statuses, as well as the buzzer delay setpoint, and outputs the desired buzzer on/off state. These two programs illustrate how both text and ladder logic can be used to program your groov EPIC in CODESYS.&nbsp;</p>



<figure class="wp-block-image size-full"><img decoding="async" width="624" height="216" src="https://static.dmcinfo.com/wp-content/uploads/2025/08/groov-EPIC-CODESYS-codepng.png" alt="Program your groov EPIC in CODESYS with text" class="wp-image-37515" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/08/groov-EPIC-CODESYS-codepng.png 624w, https://static.dmcinfo.com/wp-content/uploads/2025/08/groov-EPIC-CODESYS-codepng-300x104.png 300w" sizes="(max-width: 624px) 100vw, 624px" /></figure>



<figure class="wp-block-image size-full"><img decoding="async" width="624" height="262" src="https://static.dmcinfo.com/wp-content/uploads/2025/08/groov-EPIC-CODESYS-ladder-logic.png" alt="Program your groov EPIC in CODESYS with ladder logic" class="wp-image-37516" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/08/groov-EPIC-CODESYS-ladder-logic.png 624w, https://static.dmcinfo.com/wp-content/uploads/2025/08/groov-EPIC-CODESYS-ladder-logic-300x126.png 300w" sizes="(max-width: 624px) 100vw, 624px" /></figure>



<p class="wp-block-paragraph">To map your controller, I/O to tags within your programs, configure a mapping on the “State” tag of each I/O point, as shown below. Then, add a “Symbol Configuration” object to your application. This is where you control permissions for OPC UA read &amp; write access of your PLC tags from Ignition or other applications. You can configure tags to be read-only or read/write based on the needs of your application.&nbsp;</p>



<figure class="wp-block-image size-full"><img decoding="async" width="624" height="326" src="https://static.dmcinfo.com/wp-content/uploads/2025/08/configure-IO-state-tag-1.png" alt="Screen to configure mapping on the State tag of each I/O point" class="wp-image-37517" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/08/configure-IO-state-tag-1.png 624w, https://static.dmcinfo.com/wp-content/uploads/2025/08/configure-IO-state-tag-1-300x157.png 300w" sizes="(max-width: 624px) 100vw, 624px" /></figure>



<figure class="wp-block-image size-full"><img decoding="async" width="316" height="386" src="https://static.dmcinfo.com/wp-content/uploads/2025/08/configure-IO-state-tag-2.png" alt="Screen to configure mapping on the State tag of each I/O point" class="wp-image-37518" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/08/configure-IO-state-tag-2.png 316w, https://static.dmcinfo.com/wp-content/uploads/2025/08/configure-IO-state-tag-2-246x300.png 246w" sizes="(max-width: 316px) 100vw, 316px" /></figure>



<figure class="wp-block-image size-full"><img decoding="async" width="624" height="308" src="https://static.dmcinfo.com/wp-content/uploads/2025/08/configure-IO-state-tag-3.png" alt="Screen to configure mapping on the State tag of each I/O point" class="wp-image-37519" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/08/configure-IO-state-tag-3.png 624w, https://static.dmcinfo.com/wp-content/uploads/2025/08/configure-IO-state-tag-3-300x148.png 300w" sizes="(max-width: 624px) 100vw, 624px" /></figure>



<p class="wp-block-paragraph">Now that our CODESYS program is configured, click the “Login” button and download changes. Next, we’ll set up our Ignition Edge HMI to interact with the CODESYS program.&nbsp;</p>



<h2 id="h-using-ignition-edge-as-an-hmi-for-a-codesys-program" class="wp-block-heading">Using Ignition Edge as an HMI for a CODESYS Program</h2>



<p class="wp-block-paragraph">Now that our CODESYS OPC server is configured, add a new OPC Connection to your Ignition gateway under Config &gt; OPC Connections. Enter the discovery endpoint of the new CODESYS OPC UA server. If you are using defaults, this will be opc.tcp:https://static.dmcinfo.com/ Once this is configured, you will see the new tags you added in CODESYS Symbol Configuration available in Ignition.&nbsp;</p>



<figure class="wp-block-image size-full"><img decoding="async" width="374" height="180" src="https://static.dmcinfo.com/wp-content/uploads/2025/08/add-OPC-Connection.png" alt="Server discovery screen" class="wp-image-37523" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/08/add-OPC-Connection.png 374w, https://static.dmcinfo.com/wp-content/uploads/2025/08/add-OPC-Connection-300x144.png 300w" sizes="(max-width: 374px) 100vw, 374px" /></figure>



<figure class="wp-block-image size-full"><img decoding="async" width="464" height="302" src="https://static.dmcinfo.com/wp-content/uploads/2025/08/ignition-connected-devices.png" alt="connected devices screen" class="wp-image-37524" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/08/ignition-connected-devices.png 464w, https://static.dmcinfo.com/wp-content/uploads/2025/08/ignition-connected-devices-300x195.png 300w" sizes="(max-width: 464px) 100vw, 464px" /></figure>



<p class="wp-block-paragraph">For this demo, we are building onto the Ignition HMI that was developed in <a href="https://static.dmcinfo.com/blog/36223/getting-started-with-opto-22-groov-epic-part-2-ignition-edge/">part 2 of this blog series</a>, with three new pages. The “Alarm Status” page provides an interface to monitor the status of the two push buttons, and contains an indicator of machine runtime, displaying as it counts towards our “buzzer on delay” value.&nbsp;</p>



<figure class="wp-block-image size-large is-resized"><img decoding="async" width="1024" height="683" src="https://static.dmcinfo.com/wp-content/uploads/2025/08/alarm-condition-monitor-1024x683.png" alt="Alarm condition monitor screens" class="wp-image-37531" style="width:600px;height:auto" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/08/alarm-condition-monitor-1024x683.png 1024w, https://static.dmcinfo.com/wp-content/uploads/2025/08/alarm-condition-monitor-300x200.png 300w, https://static.dmcinfo.com/wp-content/uploads/2025/08/alarm-condition-monitor-768x512.png 768w, https://static.dmcinfo.com/wp-content/uploads/2025/08/alarm-condition-monitor.png 1148w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">The “Config” tab provides an input field that is linked to our “buzzer on delay” PLC parameter. Here the user can configure the limit for continuous machine runtime before the buzzer is triggered. This provides an example of a tag with read/write permissions between CODESYS and Ignition.&nbsp;</p>



<figure class="wp-block-image size-full"><img decoding="async" width="316" height="356" src="https://static.dmcinfo.com/wp-content/uploads/2025/08/controller-parameters.png" alt="Controller parameters scren" class="wp-image-37533" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/08/controller-parameters.png 316w, https://static.dmcinfo.com/wp-content/uploads/2025/08/controller-parameters-266x300.png 266w" sizes="(max-width: 316px) 100vw, 316px" /></figure>



<p class="wp-block-paragraph">Finally, the “Trends” tab highlights the internal tag historian functionality of Ignition Edge. Without any extra database connections, tags from the groov EPIC (both PLC program tags or direct IO points) can be stored to the Edge historian and trended to monitor values over time. Here, we have configured the temperature reading from our Thermocouple and the voltage reading from our dial input as historical tags. With Ignition’s sleek and powerful trending tools, these trends can be configured and displayed in minutes.&nbsp;</p>



<figure class="wp-block-image size-full"><img decoding="async" width="316" height="428" src="https://static.dmcinfo.com/wp-content/uploads/2025/08/analog-trends.png" alt="analog trends screen" class="wp-image-37535" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/08/analog-trends.png 316w, https://static.dmcinfo.com/wp-content/uploads/2025/08/analog-trends-221x300.png 221w" sizes="(max-width: 316px) 100vw, 316px" /></figure>



<p class="wp-block-paragraph">Thanks for reading this Getting Started series for Opto 22 groov EPIC! Now you’re ready to begin programming your own groov EPIC using CODESYS and Ignition Edge.&nbsp;&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"><strong>Let our team help you unlock the power of CODESYS and Ignition</strong>.</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">New project on the horizon? Learn more about DMC’s <a href="https://static.dmcinfo.com/services/manufacturing-automation-and-intelligence/" data-type="page" data-id="420">Automation</a> expertise and our <a href="https://static.dmcinfo.com/services/manufacturing-automation-and-intelligence/hmi-and-scada-programming/ignition-programming">Ignition HMI &amp; SCADA</a> 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/36928/getting-started-with-opto-22-groov-epic-part-3-codesys-ignition-edge/">Getting Started with Opto 22 groov EPIC Part 3: CODESYS &amp; Ignition Edge</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Getting Started with Opto 22 groov EPIC Part 2: Ignition Edge</title>
		<link>https://static.dmcinfo.com/blog/36223/getting-started-with-opto-22-groov-epic-part-2-ignition-edge/</link>
		
		<dc:creator><![CDATA[Natalie Pippolo]]></dc:creator>
		<pubDate>Mon, 21 Jul 2025 13:00:00 +0000</pubDate>
				<category><![CDATA[Ignition]]></category>
		<category><![CDATA[Manufacturing Automation & Intelligence]]></category>
		<category><![CDATA[PLC]]></category>
		<category><![CDATA[Opto 22]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/?p=36223</guid>

					<description><![CDATA[<p>This blog will provide an overview of configuring the Ignition Edge instance that ships with your groov EPIC. For an overview of the&#160;groov EPIC&#160;and its features, check out the rest of this blog series. Setting up Ignition Edge on groov EPIC&#160; The groov EPIC GRV-EPIC-PR2 model ships with a license for onboard Ignition Edge version [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/36223/getting-started-with-opto-22-groov-epic-part-2-ignition-edge/">Getting Started with Opto 22 groov EPIC Part 2: Ignition Edge</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">This blog will provide an overview of configuring the Ignition Edge instance that ships with your groov EPIC. </p>



<p class="wp-block-paragraph">For an overview of the&nbsp;groov EPIC&nbsp;and its features, check out the rest of this blog series.</p>



<ul class="wp-block-list">
<li><a href="https://static.dmcinfo.com/blog/36186/getting-started-with-opto-22-groov-epic-part-1-groov-epic-introduction/">Part 1: groov EPIC Introduction</a></li>



<li><a href="https://static.dmcinfo.com/blog/36928/getting-started-with-opto-22-groov-epic-part-3-codesys-ignition-edge/" data-type="link" data-id="https://static.dmcinfo.com/blog/36928/getting-started-with-opto-22-groov-epic-part-3-codesys-ignition-edge/">Part 3: CODESYS &amp; Ignition Edge</a></li>
</ul>



<h2 id="h-setting-up-ignition-edge-on-groov-epic-nbsp" class="wp-block-heading">Setting up Ignition Edge on groov EPIC&nbsp;</h2>



<p class="wp-block-paragraph">The groov EPIC GRV-EPIC-PR2 model ships with a license for onboard Ignition Edge version 8. This can be enabled from the groov Manage web server under http://&lt;EPIC/ address&gt;/manage/local/ignition. Toggle on “Enable Ignition Edge” and click save. It will take a few minutes for the gateway to start. &nbsp;</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" width="608" height="656" src="https://static.dmcinfo.com/wp-content/uploads/2025/07/ignition-edge-setup.png" alt="Ignition Edge setup screen" class="wp-image-36877" style="width:400px;height:auto" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/07/ignition-edge-setup.png 608w, https://static.dmcinfo.com/wp-content/uploads/2025/07/ignition-edge-setup-278x300.png 278w" sizes="(max-width: 608px) 100vw, 608px" /></figure>



<p class="wp-block-paragraph">Once Ignition Edge has been enabled, simply click the “Open Ignition Edge” link and follow the prompts displayed to configure your Edge gateway.&nbsp;</p>



<p class="wp-block-paragraph">Once your gateway is configured, you can add its designer in the Ignition Designer Launcher application by manually entering the gateway URL. From here, you are ready to create your first groov EPIC Ignition Edge project.</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" width="800" height="607" src="https://static.dmcinfo.com/wp-content/uploads/2025/07/ignition-designer-launcher-1.png" alt="Ignition Designer Launcher application" class="wp-image-36881" style="width:400px;height:auto" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/07/ignition-designer-launcher-1.png 800w, https://static.dmcinfo.com/wp-content/uploads/2025/07/ignition-designer-launcher-1-300x228.png 300w, https://static.dmcinfo.com/wp-content/uploads/2025/07/ignition-designer-launcher-1-768x583.png 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<h2 id="h-configuring-the-groov-epic-opc-ua-server" class="wp-block-heading">Configuring the groov EPIC OPC UA Server</h2>



<p class="wp-block-paragraph">Open the groov Manage webserver from a PC connected to the groov EPIC. From here, follow the instructions below to configure the OPC UA server.</p>



<p class="wp-block-paragraph">1. Enable public access for all desired I/O.</p>



<p class="wp-block-paragraph">a. Navigate to “I/O”, select an I/O point and click “Configure” in the top-right.</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" width="682" height="180" src="https://static.dmcinfo.com/wp-content/uploads/2025/07/Configure-IO-1.png" alt="configure the OPC UA server I/O screen" class="wp-image-36884" style="width:400px;height:auto" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/07/Configure-IO-1.png 682w, https://static.dmcinfo.com/wp-content/uploads/2025/07/Configure-IO-1-300x79.png 300w" sizes="(max-width: 682px) 100vw, 682px" /></figure>



<p class="wp-block-paragraph">b. Under “Public Access” turn on “State (Read)” and “Writable” then click “Save.”</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" width="812" height="438" src="https://static.dmcinfo.com/wp-content/uploads/2025/07/OPC-UA-server-writable.png" alt="OPC UA server I/O public access screen" class="wp-image-36889" style="width:400px;height:auto" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/07/OPC-UA-server-writable.png 812w, https://static.dmcinfo.com/wp-content/uploads/2025/07/OPC-UA-server-writable-300x162.png 300w, https://static.dmcinfo.com/wp-content/uploads/2025/07/OPC-UA-server-writable-768x414.png 768w" sizes="(max-width: 812px) 100vw, 812px" /></figure>



<p class="wp-block-paragraph">c. Repeat the above steps for each desired I/O point. Alternatively, save time by configuring many I/O points at once under I/O &gt; I/O Services &gt; I/O Batch Operations.&nbsp;</p>



<p class="wp-block-paragraph">2. Configure data service</p>



<p class="wp-block-paragraph">a. In groov Manage, navigate to “Data Service” and click “Configure” in the top right.&nbsp;</p>



<p class="wp-block-paragraph">b. Under “Scanned Devices”, click “Add Local PAC Controller.”&nbsp;</p>



<p class="wp-block-paragraph">c. Configure desired settings (ensure OPC UA Server is on) and save.</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" width="800" height="557" src="https://static.dmcinfo.com/wp-content/uploads/2025/07/Device-configuration-settings-1.png" alt="OPC UA server device configuration screen" class="wp-image-36899" style="width:400px;height:auto" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/07/Device-configuration-settings-1.png 800w, https://static.dmcinfo.com/wp-content/uploads/2025/07/Device-configuration-settings-1-300x209.png 300w, https://static.dmcinfo.com/wp-content/uploads/2025/07/Device-configuration-settings-1-768x535.png 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<p class="wp-block-paragraph">d. Navigate back to the Data Service configuration page and add an OPC UA server. Set the following settings.</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" width="800" height="752" src="https://static.dmcinfo.com/wp-content/uploads/2025/07/Add-OPC-UA-server.png" alt="Add OPC UA server screen" class="wp-image-36900" style="width:400px;height:auto" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/07/Add-OPC-UA-server.png 800w, https://static.dmcinfo.com/wp-content/uploads/2025/07/Add-OPC-UA-server-300x282.png 300w, https://static.dmcinfo.com/wp-content/uploads/2025/07/Add-OPC-UA-server-768x722.png 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<p class="wp-block-paragraph">e. Return to the Data Service status page and enable Data Service Runtime.&nbsp;</p>



<h2 id="h-connecting-the-groov-epic-opc-ua-server-to-ignition" class="wp-block-heading">Connecting the groov EPIC OPC UA Server to Ignition</h2>



<p class="wp-block-paragraph">Now that we have an OPC UA server configured, we will next connect this to our local Ignition Edge gateway.&nbsp;</p>



<p class="wp-block-paragraph">1. In the Ignition Edge gateway, navigate to Config &gt; OPC Connections.&nbsp;</p>



<p class="wp-block-paragraph">2. Click “Create new OPC connection.”</p>



<p class="wp-block-paragraph">3. Copy the Discovery Endpoint from your previously configured OPC UA server into the “Endpoint URL” field.&nbsp;</p>



<p class="wp-block-paragraph">4. Follow the remaining configuration prompts to set up your connection.&nbsp;</p>



<p class="wp-block-paragraph">5. Give your connection a name and click “Save Changes.”</p>



<p class="wp-block-paragraph">Once this connection is configured, you should be able to see your new OPC UA connection under Config&gt;OPC Connections with a Status of “Connected.” You can now browse OPC UA tags from the Ignition designer and add your groov EPIC I/O tags to your Ignition project.&nbsp;</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" width="580" height="668" src="https://static.dmcinfo.com/wp-content/uploads/2025/07/OPC-UA-connection.png" alt="OPC UA connection screen" class="wp-image-36905" style="width:400px;height:auto" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/07/OPC-UA-connection.png 580w, https://static.dmcinfo.com/wp-content/uploads/2025/07/OPC-UA-connection-260x300.png 260w" sizes="(max-width: 580px) 100vw, 580px" /></figure>



<p class="wp-block-paragraph">From here, Ignition Edge screens can be easily developed to monitor and control the EPIC’s local I/O. In our demo setup, we monitor these I/O tags directly on the Main screen, as shown below.&nbsp;&nbsp;</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" width="442" height="606" src="https://static.dmcinfo.com/wp-content/uploads/2025/07/Ignition-Edge-Main-Screen.png" alt="Ignition Edge main screen wiht a temperature and dial indicator" class="wp-image-36907" style="width:400px;height:auto" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/07/Ignition-Edge-Main-Screen.png 442w, https://static.dmcinfo.com/wp-content/uploads/2025/07/Ignition-Edge-Main-Screen-219x300.png 219w" sizes="(max-width: 442px) 100vw, 442px" /></figure>



<p class="wp-block-paragraph">Ignition’s powerful scripting capabilities may be used to implement control logic directly, without a need for a PLC program. For the next part of this demo, however, the CODESYS controller onboard the EPIC was leveraged. In part 3, we will explore using CODESYS and Ignition Edge together on a groov EPIC.&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"><strong>Maximize Your Ignition Edge Investment</strong> with DMC&#8217;s Automation Pros.</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">Whether you&#8217;re developing HMIs, integrating OPC UA devices, or building edge computing solutions, our <a href="https://static.dmcinfo.com/services/manufacturing-automation-and-intelligence/" id="420">Automation</a> team can help you optimize <a href="https://static.dmcinfo.com/services/manufacturing-automation-and-intelligence/hmi-and-scada-programming/ignition-programming/" data-type="page" data-id="509">Ignition</a> for your results.</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/36223/getting-started-with-opto-22-groov-epic-part-2-ignition-edge/">Getting Started with Opto 22 groov EPIC Part 2: Ignition Edge</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Getting Started with Opto 22 groov EPIC Part 1: groov EPIC Introduction</title>
		<link>https://static.dmcinfo.com/blog/36186/getting-started-with-opto-22-groov-epic-part-1-groov-epic-introduction/</link>
		
		<dc:creator><![CDATA[Natalie Pippolo]]></dc:creator>
		<pubDate>Wed, 02 Jul 2025 08:00:00 +0000</pubDate>
				<category><![CDATA[Ignition]]></category>
		<category><![CDATA[Manufacturing Automation & Intelligence]]></category>
		<category><![CDATA[PLC]]></category>
		<category><![CDATA[Opto 22]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/?p=36186</guid>

					<description><![CDATA[<p>Opto 22’s groov EPIC (Edge Programmable Industrial Controller) is more than just a modern PLC. With an embedded Linux operating system, the groov EPIC processor supports a wide array of platforms for programming, visualization, and more at the network’s edge.&#160; For an overview of the&#160;groov EPIC&#160;and its features, check out the rest of this blog [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/36186/getting-started-with-opto-22-groov-epic-part-1-groov-epic-introduction/">Getting Started with Opto 22 groov EPIC Part 1: groov EPIC Introduction</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Opto 22’s <a href="https://www.opto22.com/products/groov-epic-system" target="_blank" rel="noreferrer noopener">groov EPIC</a> (Edge Programmable Industrial Controller) is more than just a modern PLC. With an embedded Linux operating system, the groov EPIC processor supports a wide array of platforms for programming, visualization, and more at the network’s edge.&nbsp;</p>



<p class="wp-block-paragraph">For an overview of the&nbsp;groov EPIC&nbsp;and its features, check out the rest of this blog series.</p>



<ul class="wp-block-list">
<li><a href="https://static.dmcinfo.com/blog/36223/getting-started-with-opto-22-groov-epic-part-2-ignition-edge/">Part 2: Ignition Edge</a></li>



<li><a href="https://static.dmcinfo.com/blog/36928/getting-started-with-opto-22-groov-epic-part-3-codesys-ignition-edge/">Part 3. CODESYS &amp; Ignition Edge</a></li>
</ul>



<p class="wp-block-paragraph">Here are just a few ways developers can interact with the groov EPIC processor:&nbsp;</p>



<ul class="wp-block-list">
<li>CODESYS (Runtime Engine license included) and PAC Control programming environments</li>



<li>Custom programming in C, C++, Python, Java, etc. by leveraging the EPIC’s Linux operating system</li>



<li>Local Ignition Edge instance (license included) for visualization &amp; data acquisition across the network</li>



<li>Optional full Ignition gateway with additional license cost</li>



<li>Node-RED flow configuration</li>



<li>Built-in groov Manage &amp; groov View webpages for quick &amp; intuitive configuration &amp; data visualization</li>
</ul>



<p class="wp-block-paragraph">With this impressive list of tools and features that ship with the groov EPIC processor, the task of selecting which to use for a given project can feel daunting. In this blog series, we will dive into a few of these options and have you ready to set up your first groov EPIC in no time!&nbsp;</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" width="800" height="800" src="https://static.dmcinfo.com/wp-content/uploads/2025/07/groov-EPIC-processer-tools.png" alt="tools and features that ship with the groov EPIC processor" class="wp-image-36196" style="width:600px;height:auto" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/07/groov-EPIC-processer-tools.png 800w, https://static.dmcinfo.com/wp-content/uploads/2025/07/groov-EPIC-processer-tools-300x300.png 300w, https://static.dmcinfo.com/wp-content/uploads/2025/07/groov-EPIC-processer-tools-150x150.png 150w, https://static.dmcinfo.com/wp-content/uploads/2025/07/groov-EPIC-processer-tools-768x768.png 768w" sizes="(max-width: 800px) 100vw, 800px" /><figcaption class="wp-element-caption"><em>Credit: <a href="https://www.opto22.com/products/groov-epic-system/groov-epic-software" target="_blank" rel="noreferrer noopener">Opto 22</a></em></figcaption></figure>



<h2 id="h-our-hardware-setup" class="wp-block-heading">Our Hardware Setup</h2>



<p class="wp-block-paragraph">For this demo, we will be using the following groov EPIC processor and IO modules.&nbsp;</p>



<figure class="wp-block-image size-full"><img decoding="async" width="624" height="460" src="https://static.dmcinfo.com/wp-content/uploads/2025/07/groov-EPIC-hardware-setup.png" alt="groov EPIC processor on a wood table" class="wp-image-36197" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/07/groov-EPIC-hardware-setup.png 624w, https://static.dmcinfo.com/wp-content/uploads/2025/07/groov-EPIC-hardware-setup-300x221.png 300w" sizes="(max-width: 624px) 100vw, 624px" /></figure>



<h3 id="h-grv-epic-pr2-processor" class="wp-block-heading">GRV-EPIC-PR2 Processor</h3>



<p class="wp-block-paragraph">The GRV-EPIC-PR2 is Opto 22’s second generation groov EPIC processor, complete with onboard Ignition Edge 8, Linux operating system, and CODESYS runtime engine. The processor comes with a built-in high resolution touch screen and HDMI port for easy connection to an external monitor.&nbsp;</p>



<h3 id="h-io-modules" class="wp-block-heading">IO Modules</h3>



<ul class="wp-block-list">
<li>IACDCTTL-24 Digital Input module, connected to the two push buttons shown in the above image&nbsp;</li>



<li>ODCI-12 Digital Output module, connected to a buzzer&nbsp;</li>



<li>IICTD-12 Temperature Probe Analog Input module, connected to the thermocouple shown above.</li>



<li>IV-24 Voltage Analog Input module, connected to the analog potentiometer dial shown above&nbsp;</li>
</ul>



<h2 id="h-opc-ua-server-options-on-groov-epic" class="wp-block-heading">OPC UA Server Options on groov EPIC</h2>



<p class="wp-block-paragraph">With all the various features and programming environments available on the groov EPIC, determining the correct option for interacting with local I/O as well as distributed devices can be overwhelming. In this blog series, we’ll focus on a few different OPC UA servers that can be hosted locally on the EPIC to interact with local I/O and PLC program tags. Before we jump into our setup, here is a quick breakdown of some of the OPC UA server options on the groov EPIC and the appropriate use-case for each.&nbsp;</p>



<h3 id="h-ignition-opc-ua-server-nbsp" class="wp-block-heading">Ignition OPC UA Server&nbsp;</h3>



<p class="wp-block-paragraph">The Ignition OPC UA server comes with the included Ignition Edge module and is enabled by default once Ignition Edge is enabled on the EPIC. This server can be configured from the Ignition Edge gateway and is useful when communicating with network devices, such as other PLCs, from the groov’s Ignition Edge application. This OPC UA server was not used in this demo, as we did not connect to any external network devices from the groov EPIC.&nbsp;</p>



<h3 id="h-groov-epic-opc-server" class="wp-block-heading">Groov EPIC OPC Server</h3>



<p class="wp-block-paragraph">The groov EPIC OPC server is the second OPC server that is hosted on the EPIC. This is configured from the groov Manage web server and allows clients to read and write to the EPIC’s local I/O directly. Part 2 of this blog series will focus on using this server to interact with the EPIC’s I/O from Ignition Edge.&nbsp;</p>



<h3 id="h-codesys-opc-server" class="wp-block-heading">CODESYS OPC Server</h3>



<p class="wp-block-paragraph">In addition to Ignition Edge, the groov EPIC also comes with an onboard CODESYS controller that can be enabled from groov Manage. To use Ignition Edge as a front-end HMI for this CODESYS controller program, an OPC server must be configured on the CODESYS controller. This server then may be connected to the local Ignition Edge gateway, allowing PLC program tags to be read &amp; written to from Ignition. This setup is detailed in part 3 of this blog series.&nbsp;</p>



<h2 id="h-navigating-the-groov-manage-webserver" class="wp-block-heading">Navigating the groov Manage Webserver</h2>



<p class="wp-block-paragraph">Out of the box, the groov EPIC comes with an impressive and sleek webserver that can be used to easily perform basic configuration and monitoring of the device and its I/O. This webpage can be accessed from a PC over the network as well as directly from the groov EPIC’s onboard touch screen, although some functionality is available only from a PC.&nbsp;</p>



<figure class="wp-block-image size-full"><img decoding="async" width="228" height="220" src="https://static.dmcinfo.com/wp-content/uploads/2025/07/groov-Manage-Webserver-.png" alt="groov EPIC processor on a wood table" class="wp-image-36200"/></figure>



<h3 id="h-io-monitoring-amp-control-from-groov-manage-nbsp" class="wp-block-heading">IO Monitoring &amp; Control from groov Manage&nbsp;</h3>



<p class="wp-block-paragraph">The I/O section of the groov Manage webpage contains an intuitive interface to monitor, control, and configure I/O points. This useful tool can make commissioning and I/O checkout a breeze on any size system. Without any external software, users can quickly:&nbsp;</p>



<ul class="wp-block-list">
<li>Set a name &amp; units for each I/O point&nbsp;</li>



<li>Configure scaling, gain, and offset for analog values&nbsp;</li>



<li>Monitor the state of inputs&nbsp;</li>



<li>Modify output values&nbsp;</li>



<li>Configure external access ability for each I/O point&nbsp;</li>



<li>And more!&nbsp;</li>
</ul>



<p class="wp-block-paragraph">The “batch operations” functionality even allows for some of these operations to be completed in bulk for many channels at once.&nbsp;</p>



<figure class="wp-block-image size-full"><img decoding="async" width="800" height="455" src="https://static.dmcinfo.com/wp-content/uploads/2025/07/groov-Manage-interface.png" alt="groov Manage interface with many channels" class="wp-image-36203" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/07/groov-Manage-interface.png 800w, https://static.dmcinfo.com/wp-content/uploads/2025/07/groov-Manage-interface-300x171.png 300w, https://static.dmcinfo.com/wp-content/uploads/2025/07/groov-Manage-interface-768x437.png 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<h3 id="h-system-configuration-from-groov-manage" class="wp-block-heading">System Configuration from groov Manage</h3>



<p class="wp-block-paragraph">The groov Manage webpage is a one-stop shop for configuring network settings, security, users, and more. The Data Service tab includes configuration for MQTT and OPC UA server. The Ignition, Node-RED, and groov View tabs allow you to quickly enable &amp; launch each service on the groov EPIC processor. The Controller tab provides the ability to start, stop, and diagnose CODESYS and PAC applications running on the controller. Furthermore, the Info and Help tab contains links to a variety of useful support guides.&nbsp;</p>



<h3 id="h-using-groov-view-as-an-onboard-ui" class="wp-block-heading">Using groov View as an Onboard UI</h3>



<p class="wp-block-paragraph">Opto 22’s groov View is a no-code tool that can be used to quickly develop custom user interfaces to display on the groov EPIC’s onboard touchscreen, in addition to a network PC. Groov View can pull in tags from the groov EPIC’s own I/O or connect to several external data sources including OPC UA servers &amp; Modbus devices. To get started, navigate to groov View from the groov Manage webserver and click the link to open groov View. This will open the home page of your groov View project.&nbsp;</p>



<p class="wp-block-paragraph">This HMI can be configured by switching to Build mode from the top-right corner Menu button. From Build mode, UI elements called “gadgets” can be dragged onto pages, linked to tags and organized with ease.&nbsp;</p>



<figure class="wp-block-image size-full"><img decoding="async" width="170" height="180" src="https://static.dmcinfo.com/wp-content/uploads/2025/07/groov-View-as-an-Onboard-UI.png" alt="Using groov View as an Onboard UI" class="wp-image-36204"/></figure>



<p class="wp-block-paragraph">Each page developed with groov View has both a Desktop/Tablet and Handheld size, to facilitate use from a PC/tablet or from the groov EPIC’s onboard touch screen. Navigation between pages is also built into groov View, making development a breeze. In minutes, you can have a custom application on the groov EPIC’s onboard screen that combines critical I/O points with external OPC UA or Modbus tags.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="604" height="288" src="https://static.dmcinfo.com/wp-content/uploads/2025/07/groov-View-custom-application.png" alt="groov View custom application" class="wp-image-36205" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/07/groov-View-custom-application.png 604w, https://static.dmcinfo.com/wp-content/uploads/2025/07/groov-View-custom-application-300x143.png 300w" sizes="(max-width: 604px) 100vw, 604px" /></figure>



<figure class="wp-block-image size-full"><img decoding="async" width="812" height="576" src="https://static.dmcinfo.com/wp-content/uploads/2025/07/groov-View-as-an-Onboard-UI-1.png" alt="Using groov View as an Onboard UI" class="wp-image-36206" srcset="https://static.dmcinfo.com/wp-content/uploads/2025/07/groov-View-as-an-Onboard-UI-1.png 812w, https://static.dmcinfo.com/wp-content/uploads/2025/07/groov-View-as-an-Onboard-UI-1-300x213.png 300w, https://static.dmcinfo.com/wp-content/uploads/2025/07/groov-View-as-an-Onboard-UI-1-768x545.png 768w" sizes="(max-width: 812px) 100vw, 812px" /></figure>



<p class="wp-block-paragraph">Check out part 2 of the Opto 22 groov EPIC series to learn how to use CODESYS and Ignition Edge with groov EPIC.</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"><strong>Unlock the Full Potential of groov EPIC</strong> for Your Automation Project.</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">Whether you&#8217;re in need of <a href="https://static.dmcinfo.com/services/manufacturing-automation-and-intelligence/hmi-and-scada-programming/" data-type="page" data-id="497">HMIs</a> or integrating <a href="https://static.dmcinfo.com/services/manufacturing-automation-and-intelligence/plc-programming/" data-type="page" data-id="441">PLCs</a> and cloud systems, you can maximize the value of your groov EPIC investment with our <a href="https://static.dmcinfo.com/services/manufacturing-automation-and-intelligence/" data-type="page" data-id="420">Automation solutions</a>.</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/36186/getting-started-with-opto-22-groov-epic-part-1-groov-epic-introduction/">Getting Started with Opto 22 groov EPIC Part 1: groov EPIC Introduction</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Highlights from the NI Automated Test Forum</title>
		<link>https://static.dmcinfo.com/blog/15745/highlights-from-the-ni-automated-test-forum/</link>
		
		<dc:creator><![CDATA[Natalie Pippolo]]></dc:creator>
		<pubDate>Thu, 16 Jan 2025 16:23:39 +0000</pubDate>
				<category><![CDATA[Test and Measurement Automation]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/blog/15745/highlights-from-the-ni-automated-test-forum/</guid>

					<description><![CDATA[<p>Last month, I attended NI’s Automated Test Forum in Milpitas, CA. This event provided an excellent opportunity for NI representatives, partners, and customers to connect and learn about NI’s latest offerings. &#160; Highlights included expert presentations from NI industry leaders, interactive hands-on sessions with PXI and cDAQ systems, a diverse range of live demonstrations and [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/15745/highlights-from-the-ni-automated-test-forum/">Highlights from the NI Automated Test Forum</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Last month, I attended NI’s Automated Test Forum in Milpitas, CA. This event provided an excellent opportunity for NI representatives, partners, and customers to connect and learn about NI’s latest offerings. &nbsp;</p>



<p class="wp-block-paragraph">Highlights included expert presentations from NI industry leaders, interactive hands-on sessions with PXI and cDAQ systems, a diverse range of live demonstrations and engaging discussions. &nbsp;</p>



<h2 id="h-what-s-new-at-ni-nbsp" class="wp-block-heading">What’s New at NI&nbsp;</h2>



<p class="wp-block-paragraph">NI remains committed to investing in new hardware and software. At the event, they showcased a range of new offerings and shared insights into their future roadmaps. Here’s a brief overview of some of the key topics discussed.&nbsp;</p>



<h3 id="h-hardware-updates" class="wp-block-heading">Hardware Updates</h3>



<ul class="wp-block-list">
<li><strong>Revamped PXI offerings:</strong> NI is making significant investments to enhance their PXI hardware, introducing a new line of PXI controllers with substantial performance improvements, along with a range of new cards focused on Precision DC and RF applications. DMC is excited to share these new offerings with our customers as the latest and greatest in flexible, high-performance control &amp; measurement systems.</li>
</ul>



<p class="wp-block-paragraph"><p style="margin-left: 40px;"><img decoding="async" alt="NI PXI demo" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/ni-pxi-demo.jpg"><em>PXI demo</em></p></p>



<ul class="wp-block-list">
<li><strong>New <a href="https://www.ni.com/en/shop/data-acquisition/miodaq-devices.html?srsltid=AfmBOop0jwm1cxQVUjAwEoyZ3SqP10Xvf4tbYhTGdqnM_NNmWBCCUS7f" target="_blank">mioDAQ</a> device:</strong> NI’s newest USB DAQ device is a robust, powerful, totally redesigned DAQ. As a part of NI’s greater <a href="https://www.youtube.com/watch?v=-h2O9fRvOqs" target="_blank">“DAQ is Back”</a> campaign, this compact device is perfect for quick simple measurements, automated test systems, and more! It can mount to any test bench in seconds with zip ties and comes in four different models, with sample rates up to 1 MS/s/ch. The mioDAQ is a huge step into the future of powerful, high sample-rate testing in a small form-factor.</li>
</ul>



<p class="wp-block-paragraph"><img decoding="async" alt="NI mioDAQ Demo" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/miodaq-demi-1.jpg">&nbsp;<img decoding="async" alt="NO mioDAQ Demo" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/miodaq-demo-2.jpg"><br>
<em>mioDAQ Demo</em></p>



<h3 id="h-software-updates" class="wp-block-heading">Software Updates</h3>



<ul class="wp-block-list">
<li><strong>.NET 8.0 support:</strong> NI has introduced support for .NET 8.0 code modules in the TestStand 2024 Q4 release, in addition to limited .NET 8.0 support within LabVIEW 2023 Q4.&nbsp;<br>
 &nbsp;</li>



<li><strong>InstrumentStudio Pro:</strong> In addition to the free InstrumentStudio software, NI’s new I<a href="https://www.ni.com/en/shop/electronic-test-instrumentation/application-software-for-electronic-test-and-instrumentation-category/instrumentstudio.html?srsltid=AfmBOop4KncOdprDT5qTv_-NHYntxhI4uP3FVESq9TvgE7gk9Cjk85oD" target="_blank">nstrumentStudio Professional</a> allows for sequence configuration and third&nbsp;party hardware integration. This powerful tool integrates seamlessly with NI’s LabVIEW and TestStand platforms.&nbsp;<br>
 &nbsp;</li>



<li><strong>FlexLogger Lite:</strong> NI’s new “Lite” version of the <a href="https://www.ni.com/en/shop/data-acquisition-and-control/flexlogger.html" target="_blank">FlexLogger</a> software is available for free with NI’s DAQmx driver, and is the perfect quick and easy tool to configure simple logging from a compactDAQ device. This tool released with the mioDAQ as a part of NI’s revamped focus in high-performance DAQ.&nbsp;</li>
</ul>



<h2 id="h-systemlink-overview-nbsp" class="wp-block-heading">SystemLink Overview &nbsp;</h2>



<p class="wp-block-paragraph">SystemLink is an enterprise-level solution for lab and test site management, monitoring, data collection &amp; visualization. From downtime tracking, calibration management, and test plan management to advanced data analysis, SystemLink is an excellent tool for making the most of large hardware fleets (see DMC’s case study on <a href="https://static.dmcinfo.com/latest-thinking/case-studies/view/id/570/using-ni-systemlink-and-diadem-for-large-data-standardization-storage-and-indexing">Large Data Standardization and&nbsp;Storage</a>). &nbsp;</p>



<p class="wp-block-paragraph">As a NI SystemLink Specialty Partner, DMC is skilled at developing specialized SystemLink solutions for our customers. Read more about DMC’s expertise using <a href="https://static.dmcinfo.com/latest-thinking/case-studies/view/id/530/data-management-using-ni-systemlink">SystemLink for data management</a>, or <a href="https://static.dmcinfo.com/contact">reach out </a>to learn more about how a custom SystemLink application can be useful to your team.&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">Stay Ahead with NI Tech Trends by Connecting with DMC.</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">Interested in DMC&#8217;s <a href="https://static.dmcinfo.com/about/partners/ni-integration-partner/" id="873">Partnership with National Instruments</a>? <a href="https://static.dmcinfo.com/contact/" id="411">Contact us</a> and learn more about DMC&#8217;s <a href="https://static.dmcinfo.com/services/test-and-measurement-automation/" id="428">Test &amp; Measurement</a> expertise for your next project.</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/15745/highlights-from-the-ni-automated-test-forum/">Highlights from the NI Automated Test Forum</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>IEEE 1588 Synchronization Using PXI-6683(H)</title>
		<link>https://static.dmcinfo.com/blog/16120/ieee-1588-synchronization-using-pxi-6683h/</link>
		
		<dc:creator><![CDATA[Natalie Pippolo]]></dc:creator>
		<pubDate>Tue, 16 Jul 2024 18:53:04 +0000</pubDate>
				<category><![CDATA[LabVIEW]]></category>
		<category><![CDATA[Test and Measurement Automation]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/blog/16120/ieee-1588-synchronization-using-pxi-6683h/</guid>

					<description><![CDATA[<p>The PXI-6683H timing and synchronization module allows for the synchronization of PXIe systems using GPS, IEEE 1588, or IRIG B protocols. This blog outlines the process of using IEEE 1588 protocol to synchronize a PXIe system to an external timing source. The following sections walk through the process of implementing and verifying this synchronization via [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/16120/ieee-1588-synchronization-using-pxi-6683h/">IEEE 1588 Synchronization Using PXI-6683(H)</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">The <a href="https://www.ni.com/docs/en-US/bundle/pxi-6683-specs/page/specs.html" target="_blank">PXI-6683H timing and synchronization module</a> allows for the synchronization of PXIe systems using GPS, IEEE 1588, or IRIG B protocols. This blog outlines the process of using IEEE 1588 protocol to synchronize a PXIe system to an external timing source. The following sections walk through the process of implementing and verifying this synchronization via the NI MAX utility, as well as programmatically using the NI-Sync library.</p>



<h2 id="h-setting-up-ieee-1588-synchronization-using-ni-max" class="wp-block-heading">Setting Up IEEE 1588 Synchronization Using NI MAX</h2>



<p class="wp-block-paragraph">This section will walk through the steps required to set up IEEE 1588 synchronization on a PXIe-6683H using NI MAX. This is useful to synchronize a device quickly for testing purposes, or for short-term uses. If the PXIe must retain synchronization across device startup, we recommend programmatic synchronization using the NI-Sync LabVIEW library.</p>



<p class="wp-block-paragraph">Before starting, ensure the PXI-6683H is on the same network as the desired IEEE 1588 clock source. Note that it is not recommended by NI to have the 6683H card address on the same network as the PXIe controller.&nbsp;</p>



<p class="wp-block-paragraph">Launch NI MAX and select the 6683H card under “Devices and Interfaces.”&nbsp;Then select the “Test Panels” tab at the top of 6683H page. This is where you will configure and test the IEEE 1588 synchronization.</p>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Picture1_1.png" alt=""/></figure>



<p class="wp-block-paragraph">In the “Time Reference” section of the test panel, click “Set Time Reference” and select “1588” or “1588 Ordinary Clock.”&nbsp;Then navigate to the “1588” tab to set the device’s priority number and start 1588.</p>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Picture2_1.png" alt=""/></figure>



<p class="wp-block-paragraph">After starting 1588, the time server clock information will display under the 1588 tab. The “1588 Clock State” field will show “Slave” if the 6683H has synchronized to an external time source. The “Grandmaster Clock Identity” field should match the MAC address of the desired time server. On the “Time Reference” tab, the “Current Time Reference” should appear as “1588” or “1588 Ordinary Clock”. Verify that the “Time Reference Present” indicator is True, and the correct current time is listed.</p>



<h2 id="h-setting-up-ieee-1588-synchronization-programmatically" class="wp-block-heading">Setting Up IEEE 1588 Synchronization Programmatically</h2>



<p class="wp-block-paragraph">Use the NI-Sync timing palette to&nbsp;set up IEEE 1588 synchronization programmatically. You can find this palette under Measurement IO &gt; NI Sync &gt; Timing, if the NI-Sync library is installed.</p>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Picture3_1.png" alt=""/></figure>



<p class="wp-block-paragraph">Useful VIs include Initialize, Get Time, and Close, as well as the Start Time Reference &amp; Stop Time Reference polymorphic VIs, located in the “Time Reference” folder.&nbsp;</p>



<p class="wp-block-paragraph">The block diagram below is a basic example of how these VIs may be used to start &amp; stop IEEE 1588 service on the PXI-6683H. The “resource name” input must be the name of the 6683H card, as listed in NI MAX (PXI1Slot7 here).</p>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Picture4_1.png" alt=""/></figure>



<h2 id="h-leap-second-adjustment" class="wp-block-heading">Leap Second Adjustment</h2>



<p class="wp-block-paragraph">In some setups, you may run into a situation where the PXIe-6683H indicates that it is synchronized but reports a timestamp 37 seconds in the future of the actual UTC time. This is due to some inconsistency in the handling of leap seconds by the 6683H, depending on the type of master clock source. For more information on leap seconds, see related blog <a href="https://static.dmcinfo.com/latest-thinking/blog/id/10632/timing-synchronization-utc-tai-and-leap-seconds">Timing &amp; Synchronization: UTC, TAI, and Leap Seconds</a>.&nbsp;</p>



<p class="wp-block-paragraph">In a recent DMC project, we encountered this 37-second offset issue when using a Microchip Syncserver S650 as our grandmaster clock&nbsp;connected to the PXIe through a Cisco IE5000 network switch. It is notable that we only encountered this problem when the IE5000 switch was configured as a transparent clock and did not see the same behavior with the IE5000 configured as a boundary clock.</p>



<p class="wp-block-paragraph">When this occurs, the value of the “UTC Offset” parameter (included in the NI MAX test panel screenshot above), will be equal to the offset between the PXI reported time and the current UTC time. This UTC offset parameter is read only, but a second “Time Reference Correction” parameter can be used to apply a static shift to the reported time. NI support recommends using this parameter to adjust for any incorrectly applied UTC offsets on the PXIe-6683H.</p>



<p class="wp-block-paragraph">In NI MAX, you can edit this parameter&nbsp;by clicking “Set Board Time” on the test panel window under the “Time Reference” tab. This may be set to the negative of the UTC offset value to remove the applied offset.</p>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Picture5_1.png" alt=""/></figure>



<p class="wp-block-paragraph">You can also accomplish this&nbsp;programmatically using NI-Sync property nodes, as shown below.</p>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Picture6_1.png" alt=""/></figure>



<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"><strong>Synchronize PXIe Systems with IEEE 1588 Precision</strong>.</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">Explore our <a href="https://static.dmcinfo.com/services/test-and-measurement-automation/" data-type="page" data-id="428">Test &amp; Measurement</a> expertise in PXI timing, NI-Sync, and IEEE 1588 synchronization for accurate, coordinated measurement systems.</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/16120/ieee-1588-synchronization-using-pxi-6683h/">IEEE 1588 Synchronization Using PXI-6683(H)</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Timing &#038; Synchronization: UTC, TAI, and Leap Seconds</title>
		<link>https://static.dmcinfo.com/blog/16123/timing-synchronization-utc-tai-and-leap-seconds/</link>
		
		<dc:creator><![CDATA[Natalie Pippolo]]></dc:creator>
		<pubDate>Mon, 15 Jul 2024 16:01:28 +0000</pubDate>
				<category><![CDATA[Test and Measurement Automation]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[Timing]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/blog/16123/timing-synchronization-utc-tai-and-leap-seconds/</guid>

					<description><![CDATA[<p>I recently worked on a project that involved precisely synchronizing multiple devices over a network. This included an NI PXIe, an NI cRIO, and a Rockwell PLC, all connected over a network switch to a Microchip SyncServer. Our team was able to successfully set up all three devices to receive time from the SyncServer over PTP, [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/16123/timing-synchronization-utc-tai-and-leap-seconds/">Timing &#038; Synchronization: UTC, TAI, and Leap Seconds</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">I recently worked on a project that involved precisely synchronizing multiple devices over a network. This included an NI PXIe, an NI cRIO, and a Rockwell PLC, all connected over a network switch to a Microchip SyncServer. Our team was able to successfully set up all three devices to receive time from the SyncServer over PTP, but were confused why one of our devices, the PXIe, was reporting a time exactly 37 seconds offset from the others. This experience opened my eyes to the complexities of leap seconds and various timing standards.</p>



<h2 id="h-various-timing-standards" class="wp-block-heading">Various Timing Standards</h2>



<p class="wp-block-paragraph">UT1 time, or <a href="https://aa.usno.navy.mil/faq/UT#:~:text=In%20astronomical%20and%20navigational%20usage,time%20on%20the%20Greenwich%20meridian." target="_blank">Universal Time</a>, is a timing standard used by astronomers and physicists, directly based on the physical position of the Earth in Space. Any irregularities in the Earth’s rotation affect UT1 time immediately.&nbsp;</p>



<p class="wp-block-paragraph">TAI time, or Atomic Time, is a precise scientific time, maintained by averaging the readings of over 400 <a href="https://www.nasa.gov/missions/tech-demonstration/deep-space-atomic-clock/what-is-an-atomic-clock/#:~:text=Atomic%20clocks%20combine%20a%20quartz,a%20second)%20after%2010%20years." target="_blank">atomic clocks</a> around the world. These clocks are designed to count in precise seconds and have extremely little drift. Due to irregularities and&nbsp;slight slowdown in the earth’s rotation, UT1 time and TAI time have diverged by approximately 37 seconds at the time of this article.</p>



<p class="wp-block-paragraph">UTC time is the most commonly used global time standard. Since 1972, UTC uses the same seconds (called “SI seconds”) as TAI time. Thus, without adjustment, UTC time would slowly diverge from UT1. To adjust for this, additional seconds are periodically added to UTC time, called “Leap Seconds.”&nbsp;As of 2024, there have been 37 leap seconds, with the most recent one added in 2016.</p>



<p class="wp-block-paragraph">The addition of leap seconds is overseen by the <em>International Earth Rotation and Reference Systems Service</em>. The IERS monitors the deviation between UTC and UT1 time, and adds leap seconds as necessary. A leap second may be added up to twice yearly, on December 31 and June 30. A leap second is added onto the very end of each of these days, at 23:59:60 UTC.</p>



<h2 id="h-future-of-leap-seconds" class="wp-block-heading">Future of Leap Seconds</h2>



<p class="wp-block-paragraph">Leap seconds have long been controversial due to their disruptive effects on telecommunications, satellite systems, and more. At the 2022 <a href="https://www.bipm.org/en/cgpm-2022/resolution-4" target="_blank">General Conference on Weights and Measures</a>, it was announced that by 2035, a new maximum acceptable difference between UTC and UT1 will be defined that will ensure UTC remains unchanged for at least a century.&nbsp;</p>



<h2 id="h-leap-second-pitfalls" class="wp-block-heading">Leap Second Pitfalls</h2>



<p class="wp-block-paragraph">In my project mentioned earlier, we found that our PXIe was reporting timestamps in TAI time, whereas our SyncServer, cRIO, and PLC all reported timestamps in UTC.</p>



<p class="wp-block-paragraph">Beyond this small programming setback, leap seconds have the potential to cause serious issues when not handled intentionally. As leap seconds are added rather infrequently, and many people don’t even know they exist, many systems are not designed to handle a minute with 61 seconds. In the case of high-speed controls and data acquisition systems, the best solution may be to simply not run these systems during the 0-2 minutes per year that have 61 seconds. Otherwise, it is important to understand how your system will behave during these instances and design accordingly.</p>



<p class="wp-block-paragraph">Read more about how Google applies a “<a href="https://developers.google.com/time/smear" target="_blank">Leap Smear</a>” to reduce the impact of leap second additions.</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"><strong>Understand the 37-Second Gap in Precision Timing</strong>.</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">Explore our <a href="https://static.dmcinfo.com/services/test-and-measurement-automation/" data-type="page" data-id="428">Test &amp; Measurement</a> expertise in UTC, TAI, leap seconds, and PTP synchronization for coordinating NI PXIe, cRIO, PLC, and network timing systems.</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/16123/timing-synchronization-utc-tai-and-leap-seconds/">Timing &#038; Synchronization: UTC, TAI, and Leap Seconds</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Getting Started with the Paintable Canvas in Ignition Vision</title>
		<link>https://static.dmcinfo.com/blog/16140/getting-started-with-the-paintable-canvas-in-ignition-vision/</link>
		
		<dc:creator><![CDATA[Natalie Pippolo]]></dc:creator>
		<pubDate>Mon, 15 Jul 2024 15:01:02 +0000</pubDate>
				<category><![CDATA[HMI and SCADA]]></category>
		<category><![CDATA[Ignition]]></category>
		<category><![CDATA[ignition]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/blog/16140/getting-started-with-the-paintable-canvas-in-ignition-vision/</guid>

					<description><![CDATA[<p>Inductive Automation’s Ignition is a reliable, proven HMI/SCADA platform with powerful scripting capabilities. Ignition’s most well-known Vision visualization module has been used in plant floor HMIs and desktop screens for over 10 years. One of the most customizable components in Vision’s palette is the Paintable Canvas. While the Paintable Canvas’s heavy reliance on scripting might [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/16140/getting-started-with-the-paintable-canvas-in-ignition-vision/">Getting Started with the Paintable Canvas in Ignition Vision</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Inductive Automation’s <a href="https://static.dmcinfo.com/services/manufacturing-automation-and-intelligence/hmi-and-scada-programming/ignition-programming">Ignition</a> is a reliable, proven HMI/SCADA platform with powerful scripting capabilities. Ignition’s most well-known Vision visualization module has been used in plant floor HMIs and desktop screens for over 10 years. One of the most customizable components in Vision’s palette is the Paintable Canvas.</p>



<p class="wp-block-paragraph">While the Paintable Canvas’s heavy reliance on scripting might be intimidating for a new Ignition developer, this short tutorial will put you on track to create complex dynamic displays in no time!</p>



<h2 id="h-paintable-canvas-overview" class="wp-block-heading">Paintable Canvas Overview</h2>



<p class="wp-block-paragraph">The Paintable canvas makes use of the <a href="https://docs.oracle.com/javase/tutorial/2d/index.html" target="_blank">Java2D graphics library</a>, which allows you to create complex shapes, load and edit images, add text, and more.</p>



<p class="wp-block-paragraph">To add a paintable canvas to your Vision project, simply drag the Paintable Canvas component anywhere on your window. You’ll notice that this component comes with an example script that renders a simple pump graphic. Turn on preview mode to see your paintable canvas area filled with the pump image below. Notice that you can resize the canvas window to any shape or size and the pump will automatically stretch to fill the new area. This is because Java2D is a vector drawing library, allowing components to scale with ease.</p>



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



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">Now, let&#8217;s take a look into how this graphic is being created. Open up the script editor by right-clicking on your paintable canvas component in the project browser.</p>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/PaintableCanvas4.png" alt="Graphical user interface, applicationDescription automatically generated"/></figure>



<p class="wp-block-paragraph">Here&nbsp;you will see that the repaint&nbsp;script is prepopulated with the script that creates our static pump icon. You’ll notice that this script is split up into two sections. The first part defines the <a href="https://docs.oracle.com/javase/7/docs/api/java/awt/geom/package-summary.html" target="_blank">Java2D shapes</a> that make up our pump, based on a 100&#215;100 pixel area. Then, the second half scales the shapes to the size of the canvas and renders them using <a href="https://docs.oracle.com/javase/7/docs/api/java/awt/Graphics.html" target="_blank">Java graphics</a>.</p>



<p class="wp-block-paragraph">Notice that the order in which the objects are painted is significant. I recommend you take some time to play around with this script, editing some values to see how the pump graphic changes. See if you can change the shape of the pump from a circle to a square&nbsp;or rotate it upside down.</p>



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



<h2 id="h-updating-the-canvas-from-a-dynamic-property" class="wp-block-heading">Updating the Canvas from a Dynamic Property</h2>



<p class="wp-block-paragraph">Now, let&#8217;s&nbsp;see how we can dynamically update the pump at runtime. First, let&#8217;s add a custom property to our Paintable Canvas by right-clicking on the Paintable Canvas component in the Project Browser and selecting “Customizers &gt; Custom Properties.&#8221;&nbsp;</p>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/PaintableCanvas6.png" alt=""/></figure>



<p class="wp-block-paragraph">Then, we will add a toggle button to our window and bind its value to this property. Now we can test pressing our toggle button and verify that our new paintable canvas property changes.<br>
</p>



<p class="wp-block-paragraph">Now it’s time to bring this property into our paintable canvas by editing the “repaint” script below, adding a simple if statement to change the color and text of the status icon based on our new dynamic property.</p>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/PaintableCanvas8.png" alt=""/></figure>



<p class="wp-block-paragraph">Now you should be able to change your pump mode at runtime by pressing the toggle button. This works because the repaint script for a Paintable Canvas runs any time a property of the canvas changes, including our custom bAuto property.</p>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/PaintableCanvas9.png" alt=""/></figure>



<h2 id="h-updating-dynamic-properties-from-the-canvas" class="wp-block-heading">Updating Dynamic Properties from the Canvas</h2>



<p class="wp-block-paragraph">Now that we know how to update graphics in the paintable canvas from dynamic properties, let&#8217;s take a look at writing to properties from within the paintable canvas tool. To do this, we will open back up the component scripting tool and navigate to the mouseClicked&nbsp;event. Let&#8217;s say we want to change our mode only when the mode indicator circle is clicked. We can do this very easily by using the x and y&nbsp;properties of our mouseClicked event object.</p>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/PaintableCanvas10.png" alt=""/></figure>



<p class="wp-block-paragraph">Here, we create a Point2D object with the coordinates of our mouseClicked point (event.x and event.y) and scale it to match the 0-100 scaling of our initial ellipse definition. We can then use the ‘contains’ method of Ellipse2D to determine whether our point lies within the Ellipse. In this case, if the user clicks within the ellipse, we update our mode property.</p>



<p class="wp-block-paragraph">Now you can click the status ellipse on the pump icon to update the mode, rather than needing a separate toggle button.</p>



<h2 id="h-dynamically-resize-and-reorient-objects" class="wp-block-heading">Dynamically Resize and Reorient Objects</h2>



<p class="wp-block-paragraph">Now, let&#8217;s return to our original pump display&nbsp;and let&#8217;s try updating our canvas to display a dynamic number of pumps. We will again start by adding a custom property to our Paintable Canvas&nbsp;and connect it to a numeric text field on our main window. This will be our user input for number of pumps. Then we will make a few small edits to our repaint script below.</p>



<p class="wp-block-paragraph">Define a new variable numPumps and link it to your new custom property.</p>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/PaintableCanvas11.png" alt=""/></figure>



<p class="wp-block-paragraph">Scale your pump graphic in the X-direction so that each pump takes up 1/numPumps of the screen. The vector-oriented nature of Java2D makes it so easy to resize an entire object all at once, rather than adding a scale factor to each shape within the pump.</p>



<p class="wp-block-paragraph">Next, add a for loop around the ‘Paint Shapes’ portion of the script to paint each pump one at a time. At the end of the for loop, we will need to ensure any relevant properties (in my case the font size) are reset to the values they are at the start of the loop&nbsp;and then translate our origin to the right by one pump width.</p>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/PaintableCanvas12.png" alt=""/></figure>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/PaintableCanvas13.png" alt=""/></figure>



<p class="wp-block-paragraph">Now try changing your new user input at runtime and see your Paintable Canvas update!</p>



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



<p class="wp-block-paragraph">Now you have the tools you need to create simple dynamic objects using the Paintable Canvas tool. With the powerful Java graphics library at your disposal, your creativity is your only limit with what objects you can create!</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"><strong>Create Dynamic Ignition Vision Graphics with Java2D</strong></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">Explore our <a href="https://static.dmcinfo.com/services/manufacturing-automation-and-intelligence/" data-type="page" data-id="420">Automation</a> expertise in <a href="https://static.dmcinfo.com/services/manufacturing-automation-and-intelligence/hmi-and-scada-programming/ignition-programming/" data-type="page" data-id="509">Ignition Vision</a> for building scalable, interactive HMI graphics with the Paintable Canvas and Java2D scripting.</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/16140/getting-started-with-the-paintable-canvas-in-ignition-vision/">Getting Started with the Paintable Canvas in Ignition Vision</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
