<?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>WinCC OA Archives | DMC, Inc.</title>
	<atom:link href="https://static.dmcinfo.com/blog/tag/wincc-oa/feed/index.xml" rel="self" type="application/rss+xml" />
	<link></link>
	<description></description>
	<lastBuildDate>Wed, 22 Jul 2026 16:57:12 +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>WinCC OA Archives | DMC, Inc.</title>
	<link></link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Getting Started with WinCC OA: Part 12 &#8211; Modules and Embedded Modules</title>
		<link>https://static.dmcinfo.com/blog/18628/getting-started-with-wincc-oa-part-12-modules-and-embedded-modules/</link>
		
		<dc:creator><![CDATA[Nick Leisle]]></dc:creator>
		<pubDate>Fri, 25 Mar 2022 09:49:21 +0000</pubDate>
				<category><![CDATA[HMI and SCADA]]></category>
		<category><![CDATA[dashboard]]></category>
		<category><![CDATA[embedded]]></category>
		<category><![CDATA[getting started]]></category>
		<category><![CDATA[ModuleName]]></category>
		<category><![CDATA[modules]]></category>
		<category><![CDATA[WinCC OA]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/blog/18628/getting-started-with-wincc-oa-part-12-modules-and-embedded-modules/</guid>

					<description><![CDATA[<p>Welcome back to “Getting Started with WinCC OA!” If you aren’t familiar with the series’ previous topics, it’s recommended that you read the respective installments before proceeding: What is a Module? As noted in Part 11 of “Getting Started with WinCC OA”: “Modules represent their own program window, meaning that the child panel is disjointed [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/18628/getting-started-with-wincc-oa-part-12-modules-and-embedded-modules/">Getting Started with WinCC OA: Part 12 &#8211; Modules and Embedded Modules</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Welcome back to “Getting Started with WinCC OA!” If you aren’t familiar with the series’ previous topics, it’s recommended that you read the respective installments before proceeding:</p>



<ul class="wp-block-list">
<li><a href="/latest-thinking/blog/id/9870/getting-started-with-wincc-oa-part-1--creating-opening-a-project" target="_blank">Part 1: Creating and Opening a Project</a></li>



<li><a href="/latest-thinking/blog/id/9871/getting-started-with-wincc-oa-part-2--folder-structure-gedi-layout" target="_blank">Part 2: Folder Structure and Gedi Layout</a></li>



<li><a href="/latest-thinking/blog/id/9884/getting-started-with-wincc-oa-part-3--panels-the-basics" target="_blank">Part 3: Panels | The Basics</a></li>



<li><a href="/latest-thinking/blog/id/9893/getting-started-with-wincc-oa-part-4--panel-scripting-environments-and-quicktest" target="_blank">Part 4: Panel Scripting Environments and QuickTest</a></li>



<li><a href="/latest-thinking/blog/id/9906/getting-started-with-wincc-oa-part-5--scripting-syntax" target="_blank">Part 5: Scripting Syntax</a></li>



<li><a href="/latest-thinking/blog/id/9921/getting-started-with-wincc-oa-part-6--para-overview-and-datapoint-creation" target="_blank">Part 6: Para Overview and Datapoint Creation</a></li>



<li><a href="/latest-thinking/blog/id/9944/getting-started-with-wincc-oa-part-7--interacting-with-datapoints-via-scripting" target="_blank">Part 7: Interacting with Datapoints via Scripting</a></li>



<li><a href="/latest-thinking/blog/id/10014/getting-started-with-wincc-oa-part-8--libraries" target="_blank">Part 8: Libraries</a></li>



<li><a href="https://static.dmcinfo.com/latest-thinking/blog/id/10093/getting-started-with-wincc-oa-part-9--color-database-and-high-performance-best-practices" target="_blank">Part 9: Color Database &amp; High-Performance Best Practices</a></li>



<li><a href="https://static.dmcinfo.com/latest-thinking/blog/id/10138/getting-started-with-wincc-oa-part-10--panel-nesting-and-parameters" target="_blank">Part 10: Panels | Panel Nesting and $-Parameters</a></li>



<li><a href="https://static.dmcinfo.com/latest-thinking/blog/id/10184/getting-started-with-wincc-oa-part-11--panels-child-panels-popups" target="_blank">Part 11: Panels | Child Panels (Popups)</a></li>
</ul>



<h2 id="h-what-is-a-module" class="wp-block-heading">What is a Module?</h2>



<p class="wp-block-paragraph">As noted in <a href="https://static.dmcinfo.com/latest-thinking/blog/id/10184/getting-started-with-wincc-oa-part-11--panels-child-panels-popups">Part 11</a> of “Getting Started with WinCC OA”:</p>



<p class="wp-block-paragraph">“Modules represent their own program window, meaning that the child panel is disjointed from the calling panel and its respective calling module. If the calling panel is changed/closed, the child panel/module will remain opened.”</p>



<p class="wp-block-paragraph">Modules can be hidden, minimized, maximized, zoomed, and much more. While these topics aren’t pertinent to get started with WinCC OA, they’re still helpful to note. With that said, we’ll now focus on embedded modules and their applications.</p>



<h2 id="h-embedded-modules" class="wp-block-heading">Embedded Modules</h2>



<p class="wp-block-paragraph">Like child panels, embedded modules are used to display sub-panels in conjunction with a main panel. On the contrary, while&nbsp;a child panel opens in front of the calling panel, an embedded module exists within an allocated space on the main panel itself.</p>



<p class="wp-block-paragraph">These embedded modules are helpful for presenting dashboards, portioning out screen real estate, displaying alarm buffers, and more.</p>



<p class="wp-block-paragraph">For example, one of the default templates located in the <u>base</u>&nbsp;project (Panels/para/PanelTopology/templates/TEMPLATE3/basePanel_1024_768) uses embedded modules to divide the screen into three functional areas. The template contains three primary embedded modules with names that dictate their general purposes:</p>



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



<p class="wp-block-paragraph">While we won’t go into too much detail on templates here, it’s important to note that&nbsp;when implemented during runtime, the embedded modules allocate a certain quantity of real estate and present certain sub-panels on the overall display.</p>



<ul class="wp-block-list">
<li><strong>mainModule:&nbsp;</strong>Displays the general user-defined screens</li>



<li><strong>naviModule:&nbsp;</strong>Displays the UI&#8217;s navigation controls</li>



<li><strong>infoModule:&nbsp;</strong>Displays pertinent information (alarms buffer, date/time, user, etc.)</li>
</ul>



<p class="wp-block-paragraph">During runtime, the naviModule and infoModule continuously display their respective content while the mainModule displays the main panels, as defined in the project’s Panel Topology (Panel Topology will be discussed in a later blog installment).</p>



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



<h2 id="h-embedded-module-functions" class="wp-block-heading">Embedded Module Functions</h2>



<p class="wp-block-paragraph">The most relevant embedded module functions are as follows:</p>



<ul class="wp-block-list">
<li><strong>RootPanelOnModule()</strong>

 
 
<ul class="wp-block-list">
<li>Opens a panel in a specified module.</li>



<li>Arguments include:
  
  
<ul class="wp-block-list">
<li>FileName – File within the “panels” folder to open.</li>



<li>PanelName – Name given to panel.</li>



<li>ModuleName
   
   
<ul class="wp-block-list">
<li>Name of module in which the panel will open.</li>
</ul>
</li>



<li>Parameters
   
   
<ul class="wp-block-list">
<li>Panel $-Parameters; see <a href="https://static.dmcinfo.com/latest-thinking/blog/id/10138/getting-started-with-wincc-oa-part-10--panel-nesting-and-parameters">Part 10</a> for information on $-Parameters and <a href="https://static.dmcinfo.com/latest-thinking/blog/id/10184/getting-started-with-wincc-oa-part-11--panels-child-panels-popups">Part 11</a> for how to pass them into panels from calling functions.</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>



<li><strong>PanelOffModule()</strong>
 
 
<ul class="wp-block-list">
<li>Closes the&nbsp;panel in a specified module.</li>



<li>Arguments include:
  
  
<ul class="wp-block-list">
<li>PanelName – Name of panel to close.</li>



<li>ModuleName – Name of module in which the specified panel is open.</li>
</ul>
</li>
</ul>
</li>



<li><strong>rootPanel()</strong>
 
 
<ul class="wp-block-list">
<li>Returns the name of the panel open in the given module.</li>



<li>Arguments include:
  
  
<ul class="wp-block-list">
<li>ModuleName – Name of the root panel open in the specified module.</li>
</ul>
</li>
</ul>
</li>
</ul>



<p class="wp-block-paragraph">Fortunately, embedded modules are relatively straightforward to work with. One item to note, however, is that the argument “ModuleName” for relevant functions pertains to the “ModuleName” property (located under the “Extended” properties tab) rather than the embedded module object’s “Name” (located under the “Standard” properties tab).</p>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Picture1_Edited.jpg" alt="Embedded Modules located under the Standard properties tab"/></figure>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Picture2-_Edited.png" alt="Embedded Modules located under the Standard properties tab"/></figure>



<p class="wp-block-paragraph">In addition to its explicit string value, the “ModuleName” can be referenced in scripting using the notation:</p>



<pre class="wp-block-code"><code>
&lt;object name&gt;.ModuleName
</code></pre>



<h2 id="h-example" class="wp-block-heading">Example</h2>



<p class="wp-block-paragraph">We’ll continue working with our evolving example from prior blogs to create a dashboard using embedded modules.</p>



<p class="wp-block-paragraph"><u>Better Naming Practices</u></p>



<p class="wp-block-paragraph">First, we’ll do a brief rename of our current panels/DPTs, since names like “TestPanel” and “ChildPanel” are not very descriptive. Please make the following panel changes:</p>



<ul class="wp-block-list">
<li><strong>Rename:</strong> ChildPanel.pnl → SetSpeedLimitPopup.pnl</li>



<li><strong>Rename: </strong>TestPanel.pnl → MotorInfoPanel.pnl</li>



<li><strong>Delete:</strong> ParentPanel.pnl (it will not be needed anymore)&nbsp;</li>
</ul>



<p class="wp-block-paragraph"><strong>Note:</strong> the “ChildPanel.pnl” string in the MotorInfoPanel’s “settingsButtonClicked()” function will need to be changed as well.</p>



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



<p class="wp-block-paragraph">In addition, we’ll change the DPT name “myDatapointType” to “Motor” by right-clicking on the DPT in Para and selecting “Edit Datapoint Type.”</p>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Picture4_Edited-900X1300.png" alt="Changing DPT name to Motor"/></figure>



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



<p class="wp-block-paragraph">Create a new panel called “main.pnl.” This will represent a main/home screen on a SCADA system. Please adjust your panel dimensions according to your screen resolution:</p>


<table style="width:100%">
<tbody>
<tr>
<th>Resolution</th>
<th>main.pnl size (x, y)</th>
</tr>
<tr>
<td>1024 x 768</td>
<td>856 x 604</td>
</tr>
<tr>
<td>1280 x 1024</td>
<td>1110 x 860</td>
</tr>
<tr>
<td>1600 x 1200</td>
<td>1430 x 1036</td>
</tr>
<tr>
<td>1680 x 1050</td>
<td>1510 x 918</td>
</tr>
<tr>
<td>1920 x 1200</td>
<td>1760 x 1036</td>
</tr>
</tbody>
</table>


<p class="wp-block-paragraph">At the top of the panel, we’ll add three objects with the following specified properties:</p>



<ul class="wp-block-list">
<li>A simple border for our “dashboard”:
 
 
<ul class="wp-block-list">
<li><strong>Object:</strong> Rectangle</li>



<li><strong>Name:</strong>&nbsp;“dashboardBackground”</li>
</ul>
</li>



<li>An embedded module frame for one of our dashboard items:
 
 
<ul class="wp-block-list">
<li><strong>Object:</strong>&nbsp;Embedded module</li>



<li><strong>Name:&nbsp;</strong>“motorInfoDashboard”</li>



<li><strong>ModuleName:&nbsp;</strong>“motorInfoEmbeddedModule”</li>



<li><strong>Size:&nbsp;</strong>Make identical to the “MotorInfoPanel.pnl” panel size</li>
</ul>
</li>



<li>An object to use in embedded module interaction:
 
 
<ul class="wp-block-list">
<li><strong>Object:&nbsp;</strong>Button</li>



<li><strong>Name:&nbsp;</strong>&#8220;nextMotorButton&#8221;</li>



<li><strong>Button text:&nbsp;</strong>&#8220;Next Motor&#8221;</li>
</ul>
</li>
</ul>



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



<p class="wp-block-paragraph">Within our panel’s scopeLib, we’ll have a few constants and variables defined.</p>



<p class="wp-block-paragraph"><strong>Constants:</strong></p>



<ul class="wp-block-list">
<li>MOTOR_INFO_PANEL = name of the motor info panel to open.</li>



<li>DP_MOTOR_LIST = list of all DPs of type “Motor”.</li>



<li>NUM_MOTORS = number of motor DPs.</li>
</ul>



<p class="wp-block-paragraph"><strong>Variables:</strong></p>



<ul class="wp-block-list">
<li>_dpCurrentMotorInfo – panel-scoped variable keeps track of the currently displayed motor DP.</li>
</ul>



<p class="wp-block-paragraph"><strong>Functions:</strong></p>



<ul class="wp-block-list">
<li>motorInfoDashboardInitialized() – called by the panel’s “Initialize” event; establishes the first motor displayed by calling “displayNextMorotInfoPanel()”.</li>



<li>nextMotorButtonClicked() – &nbsp;called by the “nextMotorButton” button’s “Ckicked” event; calls the “displayNextMotorInfoPanel()”.</li>



<li>displayNextMotorInfoPanel() – Displays the next motor DP defined in the DP_MOTOR_LIST into the motor info panel.</li>
</ul>



<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">HTML</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>// Display the next motor in the Motor Info Dashboard
displayNextMotorInfoPanel()
{
    // Only attempt to display a dashboard if motors exist
    if (NUM_MOTORS > 0)
    {
        // Determine the next motor in the motor list
        int iNextMotorIndex =
            (dynContains(DP_MOTOR_LIST, _dpCurrentMotorInfo) % NUM_MOTORS) + 1;

        _dpCurrentMotorInfo = DP_MOTOR_LIST&#91;iNextMotorIndex&#93;;

        // Open the Motor Info panel for the selected motor
        RootPanelOnModule(
            MOTOR_INFO_PANEL,
            "MotorInfoPanel" + _dpCurrentMotorInfo,
            motorInfoDashboard.ModuleName,
            "$motorDpe:" + dpSubStr(_dpCurrentMotorInfo, DPSUB_DP)
        );
    }
}</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: #D4D4D4">// Display the next motor in the Motor Info Dashboard</span></span>
<span class="line"><span style="color: #D4D4D4">displayNextMotorInfoPanel()</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    // Only attempt to display a dashboard if motors exist</span></span>
<span class="line"><span style="color: #D4D4D4">    if (NUM_MOTORS &gt; 0)</span></span>
<span class="line"><span style="color: #D4D4D4">    {</span></span>
<span class="line"><span style="color: #D4D4D4">        // Determine the next motor in the motor list</span></span>
<span class="line"><span style="color: #D4D4D4">        int iNextMotorIndex =</span></span>
<span class="line"><span style="color: #D4D4D4">            (dynContains(DP_MOTOR_LIST, _dpCurrentMotorInfo) % NUM_MOTORS) + 1;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">        _dpCurrentMotorInfo = DP_MOTOR_LIST&#91;iNextMotorIndex&#93;;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">        // Open the Motor Info panel for the selected motor</span></span>
<span class="line"><span style="color: #D4D4D4">        RootPanelOnModule(</span></span>
<span class="line"><span style="color: #D4D4D4">            MOTOR_INFO_PANEL,</span></span>
<span class="line"><span style="color: #D4D4D4">            &quot;MotorInfoPanel&quot; + _dpCurrentMotorInfo,</span></span>
<span class="line"><span style="color: #D4D4D4">            motorInfoDashboard.ModuleName,</span></span>
<span class="line"><span style="color: #D4D4D4">            &quot;$motorDpe:&quot; + dpSubStr(_dpCurrentMotorInfo, DPSUB_DP)</span></span>
<span class="line"><span style="color: #D4D4D4">        );</span></span>
<span class="line"><span style="color: #D4D4D4">    }</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span></code></pre></div>



<p class="wp-block-paragraph">When running the main.pnl panel in QuickTest, we can iterate through the relevant motor DPs by clicking the “Next Motor” button.</p>



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



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



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



<p class="wp-block-paragraph">So far, we’ve worked&nbsp;with panels of static widths and heights; however, developers can adjust panel reference dimensions, and users can sometimes resize a given window.&nbsp;OA provides functionality to accommodate for the positioning of objects within a panel when the overall panel dimensions shift.</p>



<p class="wp-block-paragraph">In the next edition of “Getting Started with WinCC OA,” we’ll take a brief look at panel layouts and how we can use them to dictate the real estate of a panel.</p>



<p class="wp-block-paragraph"><strong>Topics to look forward to in this series:&nbsp;</strong></p>



<ul class="wp-block-list">
<li><a href="https://static.dmcinfo.com/latest-thinking/blog/id/10313/getting-started-with-wincc-oa-part-12--modules-and-embedded-modules">Part 12: Modules &amp; Embedded Modules</a></li>
</ul>



<p class="wp-block-paragraph"><strong><a href="https://static.dmcinfo.com/contact">Contact</a>&nbsp;DMC to get started on your next WinCC project and learn more about our&nbsp;<a href="https://static.dmcinfo.com/services/manufacturing-automation-and-intelligence/hmi-and-scada-programming/siemens-simatic-wincc-programming">Siemens SIMATIC WinCC Programming</a>as well as our&nbsp;<a href="https://static.dmcinfo.com/services/manufacturing-automation-and-intelligence/hmi-and-scada-programming/wincc-open-architecture-development">WinCC Open Architecture Development.</a></strong></p>



<p class="wp-block-paragraph"></p>
<p>The post <a href="https://static.dmcinfo.com/blog/18628/getting-started-with-wincc-oa-part-12-modules-and-embedded-modules/">Getting Started with WinCC OA: Part 12 &#8211; Modules and Embedded Modules</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How To Setup a WinCC OA Application to Push Data to MindSphere</title>
		<link>https://static.dmcinfo.com/blog/20593/how-to-setup-a-wincc-oa-application-to-push-data-to-mindsphere/</link>
		
		<dc:creator><![CDATA[DMC]]></dc:creator>
		<pubDate>Thu, 07 Nov 2019 10:39:24 +0000</pubDate>
				<category><![CDATA[HMI and SCADA]]></category>
		<category><![CDATA[IoT]]></category>
		<category><![CDATA[PLC]]></category>
		<category><![CDATA[Siemens PLC]]></category>
		<category><![CDATA[Web Application Development]]></category>
		<category><![CDATA[Data Processing]]></category>
		<category><![CDATA[Mindsphere]]></category>
		<category><![CDATA[SCADA]]></category>
		<category><![CDATA[WinCC OA]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/blog/20593/how-to-setup-a-wincc-oa-application-to-push-data-to-mindsphere/</guid>

					<description><![CDATA[<p>MindSphere and WinCC OA are two powerful tools offered by Siemens that can allow for streamlined aggregation, processing, and visualization of massive volumes of data. Now thanks to some in-built functions within WinCC OA, you can, with a bit of setup and planning, easily pass your data from your OA application up to your MindSphere [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/20593/how-to-setup-a-wincc-oa-application-to-push-data-to-mindsphere/">How To Setup a WinCC OA Application to Push Data to MindSphere</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">MindSphere and <a href="/services/manufacturing-automation-and-intelligence/hmi-and-scada-programming/wincc-open-architecture-development">WinCC OA</a> are two powerful tools offered by Siemens that can allow for streamlined aggregation, processing, and visualization of massive volumes of data. Now thanks to some in-built functions within WinCC OA, you can, with a bit of setup and planning, easily pass your data from your OA application up to your MindSphere tenant. In this blog, I’ll walk you through the steps of setting up this connection, and I’ll offer some added commentary and advice to make your experience easier.</p>



<h2 id="h-setup-wincc-oa-manual-generation" class="wp-block-heading">Setup: WinCC OA Manual Generation</h2>



<p class="wp-block-paragraph">The first thing you need to do is create your assets in both the WinCC OA project and the MindSphere tenant. I’ll start with the WinCC OA project. <strong>Open Gedi </strong>in your project and from the top toolbar navigate to ‘<strong>SysMgm’ &lt; ‘Settings’ &lt; ‘MindSphere Configuration.’</strong> This will open a window like the one shown below.</p>



<p class="wp-block-paragraph"><p style="text-align: center;"><img decoding="async" alt="The MindSphere Configuration menu allows you to organize you data structure to meet the needs of your SCADA, IoT, or other types of applications" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/MindSphereConfigurator.png"></p></p>



<p class="wp-block-paragraph">Within here you can manually instantiate datapoints for you MindSphere application. There are three levels of organization to your MindSphere data. At the highest level are assets, then within an asset, there are data sources, and within those data sources, there are datapoints.</p>



<p class="wp-block-paragraph">What exactly defines an asset or data source within your project is up to you. For instance, an asset could represent one of several lines on a factory floor, and each data source could be a machine or PLC used within that line. It is up to you to decide how best to structure your data.</p>



<p class="wp-block-paragraph">To create an asset, simply <strong>right click the whitespace</strong> in the column on the left and select <strong>‘Create MindSphere Asset.’</strong> You can right-click that asset to add a data source and right-click that data source to add datapoints. When creating assets and data sources, all you really configure is the name. When creating datapoints, you must also select a datatype and enter the units. Datatype selection is limited to ints, longs, double, Booleans, and floats, so be aware of this when creating your application. It is also crucial that you do not leave units blank.</p>



<p class="wp-block-paragraph">To map your OA data point to a data point in an asset in MindSphere, the units on the two data points must match exactly. We’ll touch more on this later.</p>



<h2 id="h-setup-wincc-oa-scripted-generation" class="wp-block-heading">Setup: WinCC OA Scripted Generation</h2>



<p class="wp-block-paragraph">If you are working with a large volume of datapoints, then manually entering them all, as I showed above, can be impractical. Fortunately, there is a way to script the generation of these points. Whenever an asset, source, or point is created in the MindSphere Configuration menu, an internal datapoint is created in Para of the type<strong> _MC_Asset, _MC_Datapoint</strong>, or<strong> _MC_Datasource</strong> respectively.</p>



<p class="wp-block-paragraph"><p style="text-align: center;"><img decoding="async" alt="The structure of the internal datapoints created in Para by the MindSphere Configuration tool" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/InternalPoint.png"></p></p>



<p class="wp-block-paragraph">What this means is that you can write a script that uses the <strong>dpCreate</strong> and <strong>dpSet</strong> functions to create your data structure and populate some necessary fields. You must be careful when doing this, though, to set up your data correctly. Make sure your asset’s DataSources is populated with the names of all associated data sources.</p>



<p class="wp-block-paragraph">Do the same for making sure the data source has its associated points and assets entered and that the points have their associated data source. Don’t forget to set your points’ unit and type as well. Type is represented by an integer from 1 to 5, where each number equates to one of the datatypes mentioned earlier. Try first making a simple data structure as I did here and dig around the generated internal points, so you understand how it’s all supposed to be set up.</p>



<h2 id="h-setup-mindconnect-lib-asset" class="wp-block-heading">Setup: MindConnect Lib Asset</h2>



<p class="wp-block-paragraph">Next, we will create our <strong>MindConnect Lib asset</strong>. The MindConnect Lib assets are what your assets in OA are going to establish a connection with an upload data to. There is a one to one relation between MindConnect Lib assets in the tenant and assets in your OA project so you will need to make one MindConnect Lib asset for each asset in your OA project.</p>



<p class="wp-block-paragraph">From your home page in MindSphere, go to the asset manager and select <strong>‘Create asset.’</strong> Select <strong>MindConnectLib</strong> and give your asset a name.</p>



<p class="wp-block-paragraph"><p style="text-align: center;"><img decoding="async" alt="MindSphere offers assets designed for applications with IoT, OPC UA and much more but here we are interested in the MindConnectLib asset type" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/MindConnectLib.png"></p></p>



<p class="wp-block-paragraph">Next, we’ll set up our connection to the OA asset. Click the large button with the puzzle piece on it and select your preferred security profile.</p>



<p class="wp-block-paragraph"><p style="text-align: center;"><img decoding="async" alt="MindSphere is the missing piece to the puzzle that is making a complete Cloud based data solution for your Industry 4.0 application" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/MCLAsset.png"></p></p>



<p class="wp-block-paragraph">I’ve used <strong>SHARED_SECRET</strong> for all of my applications. After hitting continue, you’ll be taken to another screen with the boarding configuration. Click the buttons to generate a boarding key and copy it to your clipboard.</p>



<p class="wp-block-paragraph">Now go back to the OA MindSphere configuration menu, click on your asset, and paste the onboarding key into the white box then hit the upload button at the bottom.</p>



<p class="wp-block-paragraph"><p style="text-align: center;"><img decoding="async" alt="Once your asset is onboarded you've established a connection between your MindSphere Tenant and OA project" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Onboarding.png"></p></p>



<p class="wp-block-paragraph">Your assets in the OA project and tenant are now connected. You’ll notice that the Configuration ID has been filled in for your asset and all associated datapoints. Now, if&nbsp;you go back to your asset in the MindSphere tenant and click the button with the puzzle piece on it, you’ll be taken to a new screen.</p>



<p class="wp-block-paragraph">Here you can see the configuration of your asset and its data mappings. The configuration shown should match exactly with what you set up in OA.</p>



<p class="wp-block-paragraph"><p style="text-align: center;"><img decoding="async" alt="The configuration displayed here should match exactly with your OA configuration" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/TenantConfig.png"></p></p>



<h2 id="h-setup-mindsphere-assets-for-data-mapping" class="wp-block-heading">Setup: MindSphere Assets for Data Mapping</h2>



<p class="wp-block-paragraph">To actually work with and visualize the data that you’re sending to you MindConnect Lib asset, you need to create assets to map that data to. To do this, you will need to create some aspects and types. Both aspects and types are configurable data structures. A type will contain aspects, and you’ll create instances of types in the assets menu like how you create the MindConnect Lib asset.</p>



<p class="wp-block-paragraph">Similar to the structure of the MindSphere configuration in the OA project, it’s up to you to decide how best to structure your data. To make an aspect, go to your tenant’s asset manager, select <strong>‘Aspects’</strong> from the menu on the left, and select <strong>‘Create aspect.’</strong> Add at least one variable to make a valid aspect and make sure to set a ‘Unit’ value that exactly matches the units you set up in OA for the data point you intend to map to it. You will not be allowed to map your data points if the units don’t match.</p>



<p class="wp-block-paragraph"><p style="text-align: center;"><img decoding="async" alt="A simple aspect containing only one data point. Remember to match aspect units to units set on Datapoints in the OA configuration" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Aspect.png"></p></p>



<p class="wp-block-paragraph">Similar to how you created an aspect, you will now create a type. Types are just another layer in the data hierarchy of MindSphere. Types can contain variables, aspects, and have an associated image for an organization. Additionally, an instance of a Type is an asset, whereas you cannot instantiate aspects as assets.</p>



<p class="wp-block-paragraph">Add whatever aspects and variables seem sensible for your type, but be aware that you cannot map your OA data points to the standalone variables in a type. They must be mapped to a datapoint in an aspect in that particular type.</p>



<p class="wp-block-paragraph"><p style="text-align: center;"><img decoding="async" alt="A simple type containing my aspect and an extra variable" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/TestType.png"></p></p>



<p class="wp-block-paragraph">Now go back to assets and create an instance of the type you just created. Go to the Configuration/Data mappings page for your MindConnect Lib asset and go to the <strong>Data mappings tab</strong>. If you expand the data structure you should see a button that says<strong> ‘Link variable’ </strong>for each data point. Click on that and navigate to the appropriate data point in the instance of the custom type that you created.</p>



<p class="wp-block-paragraph"><p style="text-align: center;"><img decoding="async" alt="Data must be mapped from the MindConnectLib asset to a custom type to be viewed and processed" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/DataMapping.png"></p></p>



<p class="wp-block-paragraph">Once mapped, it should look something like the above image. Something significant to note is that these datapoint mappings are somewhat fragile, and any changes made to your OA assets, like adding points or sources or changes units, will undo these mappings. For that reason, you should try to finalize your data structure as much as possible before going through the effort of mapping points.</p>



<h2 id="h-pushing-data-to-mindsphere" class="wp-block-heading">Pushing Data to MindSphere</h2>



<p class="wp-block-paragraph">You have now made all the necessary arrangements and are ready to push that data up to MindSphere from your OA project. I’ve made a straightforward script that goes over all the essential actions that must be done to upload data.</p>



<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">HTML</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>#uses "classes/mindSphere/MindSphereAsset"

// Example script showing how to push data from OA to MindSphere

main()
{
    // Instantiate a MindSphere asset
    MindSphereAsset asset = MindSphereAsset("TestAsset");

    // Generate sample values
    dyn_int testValues = makeDynInt(
        13,
        67,
        89
    );

    // Create timestamps for the samples
    time currentTime = getCurrentTime();

    dyn_time times = makeDynTime(
        currentTime - 2,
        currentTime - 1,
        currentTime
    );

    // Prepare values for upload
    int err = asset.prepareValues(
        "TestPoint1",
        testValues,
        times
    );

    // Upload values to MindSphere
    err = asset.uploadPreparedValues();

    if (err == 0)
    {
        DebugN("Upload Successful!");
    }
}</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: #D4D4D4">#uses &quot;classes/mindSphere/MindSphereAsset&quot;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">// Example script showing how to push data from OA to MindSphere</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">main()</span></span>
<span class="line"><span style="color: #D4D4D4">{</span></span>
<span class="line"><span style="color: #D4D4D4">    // Instantiate a MindSphere asset</span></span>
<span class="line"><span style="color: #D4D4D4">    MindSphereAsset asset = MindSphereAsset(&quot;TestAsset&quot;);</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">    // Generate sample values</span></span>
<span class="line"><span style="color: #D4D4D4">    dyn_int testValues = makeDynInt(</span></span>
<span class="line"><span style="color: #D4D4D4">        13,</span></span>
<span class="line"><span style="color: #D4D4D4">        67,</span></span>
<span class="line"><span style="color: #D4D4D4">        89</span></span>
<span class="line"><span style="color: #D4D4D4">    );</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">    // Create timestamps for the samples</span></span>
<span class="line"><span style="color: #D4D4D4">    time currentTime = getCurrentTime();</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">    dyn_time times = makeDynTime(</span></span>
<span class="line"><span style="color: #D4D4D4">        currentTime - 2,</span></span>
<span class="line"><span style="color: #D4D4D4">        currentTime - 1,</span></span>
<span class="line"><span style="color: #D4D4D4">        currentTime</span></span>
<span class="line"><span style="color: #D4D4D4">    );</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">    // Prepare values for upload</span></span>
<span class="line"><span style="color: #D4D4D4">    int err = asset.prepareValues(</span></span>
<span class="line"><span style="color: #D4D4D4">        &quot;TestPoint1&quot;,</span></span>
<span class="line"><span style="color: #D4D4D4">        testValues,</span></span>
<span class="line"><span style="color: #D4D4D4">        times</span></span>
<span class="line"><span style="color: #D4D4D4">    );</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">    // Upload values to MindSphere</span></span>
<span class="line"><span style="color: #D4D4D4">    err = asset.uploadPreparedValues();</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">    if (err == 0)</span></span>
<span class="line"><span style="color: #D4D4D4">    {</span></span>
<span class="line"><span style="color: #D4D4D4">        DebugN(&quot;Upload Successful!&quot;);</span></span>
<span class="line"><span style="color: #D4D4D4">    }</span></span>
<span class="line"><span style="color: #D4D4D4">}</span></span></code></pre></div>



<p class="wp-block-paragraph">Note the steps in the above script. You must first instantiate your asset within your script via the MindSphereAsset function. The string inputted here must be identical to the name of the asset you created earlier in the configuration menu.</p>



<p class="wp-block-paragraph">Next, I make an array of sample data to upload. You can also upload points one at a time, but it will be more computationally intensive. For every bit of data that you create, you also need a timestamp. Here I take the current time then have offsets by one and two seconds. Before you upload your values, you must prepare the values for upload.</p>



<p class="wp-block-paragraph">The first input here is the name of the datapoint you’re uploading to, and it must match exactly with the name of the intended datapoint. After you’ve prepared your values, call <strong>asset.uploadPreparedValues</strong> to upload all values that have been prepared for that asset since the last successful attempt to upload values. You can call asset.prepareValues as many times as is necessary before executing the upload, and uploading data in large batches rather than small chunks will be a lot faster computationally.</p>



<p class="wp-block-paragraph">If the upload was successful, then the value of <strong>err</strong>, the output from the upload function, should be equal to zero.</p>



<h2 id="h-viewing-your-data-in-mindsphere" class="wp-block-heading">Viewing Your Data in MindSphere</h2>



<p class="wp-block-paragraph">There’s a ton that you can do with your data once it’s in MindSphere, but that’s a whole different discussion, so here we are simply going to view the time series of our data. To view your data, go back to the home page of your MindSphere tenant and navigate to the <strong>Fleet Manager</strong>. Search for the instance of your custom Type that you created and click on it. The page should then show all the aspects associated with your type in the central window. Click on an aspect to see the time series of incoming data. To view data that cannot be graphed, like strings and Booleans, click on the checkerboard looking button in the bottom right corner under the graph.</p>



<p class="wp-block-paragraph">As you can see in the figure below, there are two instances of the three values I sent with my simple script because I ran the script twice.</p>



<p class="wp-block-paragraph"><p style="text-align: center;"><img decoding="async" alt="Time series data is conveniently easy to view in the Fleet Manager." src="https://static.dmcinfo.com/wp-content/uploads/2025/05/ViewData.png"></p></p>



<h2 id="h-final-tips" class="wp-block-heading">Final Tips</h2>



<ul class="wp-block-list">
<li>Take time to plan out your data organization in advance.
 
 
<ul class="wp-block-list" style="list-style-type:circle;">
  

<li>The systems of aspects, types, and assets and points, sources, and assets can seem convoluted at first, but if you take the time to plan out your project, then these organizational layers can prove very useful.</li>


 </ul>
</li>



<li>Be careful of breaking your tag mappings in MindSphere.
 
 
<ul class="wp-block-list" style="list-style-type:circle;">
  

<li>Remember that making any changes to your OA asset configuration will break all of your tag mappings, and you will have to delete and reestablish those mappings manually. This is another reason to have a good organization plan in mind before digging into things.</li>


 </ul>
</li>



<li>One call to Upload 1000 datapoints is a lot faster than 1000 calls to upload one datapoint each.</li>
</ul>



<p class="wp-block-paragraph">Learn more about DMC&#8217;s <a href="/services/manufacturing-automation-and-intelligence/hmi-and-scada-programming/wincc-open-architecture-development">WinCC OA services</a> and our <a href="/services/manufacturing-automation-and-intelligence/plc-programming/siemens-s7-plc-programming">Siemens expertise</a>. <a href="/contact">Contact us</a> with any inquiries.&nbsp;</p>
<p>The post <a href="https://static.dmcinfo.com/blog/20593/how-to-setup-a-wincc-oa-application-to-push-data-to-mindsphere/">How To Setup a WinCC OA Application to Push Data to MindSphere</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Siemens WinCC OA Open Library</title>
		<link>https://static.dmcinfo.com/blog/21086/siemens-wincc-oa-open-library/</link>
		
		<dc:creator><![CDATA[Leon Grossman]]></dc:creator>
		<pubDate>Tue, 20 Aug 2019 11:07:51 +0000</pubDate>
				<category><![CDATA[HMI and SCADA]]></category>
		<category><![CDATA[Manufacturing Automation & Intelligence]]></category>
		<category><![CDATA[Siemens PLC]]></category>
		<category><![CDATA[Open Library]]></category>
		<category><![CDATA[openplclibrary.com]]></category>
		<category><![CDATA[SCADA]]></category>
		<category><![CDATA[Siemens]]></category>
		<category><![CDATA[WinCC OA]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/blog/21086/siemens-wincc-oa-open-library/</guid>

					<description><![CDATA[<p>The Siemens WinCC OA Open Library Version 1.0 is now live, and the website is up to date with the latest version and release notes. History WinCC OA is provided to users as a clean sheet. It has incredibly powerful ways of creating reusable and self-configuring objects, but this is “an exercise left to the [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/21086/siemens-wincc-oa-open-library/">Siemens WinCC OA Open Library</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">The <strong><a href="https://openplclibrary.com/" target="_blank">Siemens WinCC OA Open Library</a> Version 1.0</strong> is now live, and <a href="https://openplclibrary.com/#latest-versions">the website</a> is up to date with the latest version and release notes.</p>



<h2 class="wp-block-heading" id="h-history">History</h2>



<p class="wp-block-paragraph">WinCC OA is provided to users as a clean sheet. It has incredibly powerful ways of creating reusable and self-configuring objects, but this is “an exercise left to the user,” as my old college professors would say. Rather than continually reinvent the wheel each project, we decided to distill best practices into a set of tools that integrate seamlessly into the <a href="https://openplclibrary.com/">Siemens PLC Open Library</a>. This resulted in the <a href="/latest-thinking/blog/id/9477/siemens-open-library-version-16-and-wincc-oa-open-library-alpha-release">alpha version</a> of a WinCC OA Open library in July 2017.</p>



<p class="wp-block-paragraph">This initial version was a great start for clarifying how to use the new WinCC OA Object-Oriented CTRL++ language that had just been released. Several revisions later, we have an extensible code base covering the key elements of the PLC Open Library and are ready to share it with the world.</p>



<h2 class="wp-block-heading" id="h-components">Components</h2>



<p class="wp-block-paragraph">This latest version has implemented the critical portions of the PLC Open Library with objects for:</p>



<ul class="wp-block-list">
<li>Motor &#8211; Contactor</li>



<li>Motor &#8211; VFD</li>



<li>Pump &#8211; Contactor</li>



<li>Pump &#8211; VFD</li>



<li>Valve &#8211; Solenoid</li>



<li>Valve &#8211; Analog</li>



<li>System Control Object</li>



<li>Interlock Object</li>



<li>PID Compact Object</li>
</ul>



<p class="wp-block-paragraph">There are plenty of helper objects, such as the text indicator and entry objects not listed here that are used by the objects above. These can often be utilized by themselves as part of your project or embedded into your own custom objects!</p>



<h2 class="wp-block-heading" id="h-look-and-feel">Look and Feel</h2>



<p class="wp-block-paragraph">These objects have behavior and visualization that is similar to the <a href="/latest-thinking/blog/id/9896/siemens-open-library-version-40-release">PLC Open Library</a> while still extending the functionality to provide for the benefits of using WinCC OA.</p>



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



<p class="wp-block-paragraph">One of those extra benefits that WinCC OA provides is the ability to use color schemes. Color schemes are sets of named colors that can be swapped into place on a system during runtime. This ability allows for implementations like day/night mode.</p>



<p class="wp-block-paragraph">In this case, we implemented the DMC Open Library standard color set and a High-Performance HMI color set. You can create your own color set and customize the color scheme to whatever works for your project.</p>



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



<h2 class="wp-block-heading" id="h-utilities">Utilities</h2>



<p class="wp-block-paragraph">Tag creation in SCADA systems can be a daunting task. This task is especially true when you have smart objects with a rich tag structure like the PLC Open Library.</p>



<p class="wp-block-paragraph">As a result, we needed to create a better way to manage tag generation for the Open Library. The included tool allows a DB export from a Siemens PLC to be converted to an import file for WinCC OA. With the included capability to handle descriptions, units, formatting, and naming, the work of days can be reduced to minutes with this tool!</p>



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



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



<p class="wp-block-paragraph">WinCC OA is a very powerful platform that gives the user a level of flexibility and capability not seen in other platforms. This power comes at the cost of increased development effort to create a set of objects for any given project.</p>



<p class="wp-block-paragraph">The Open Library toolset helps bring a robust set of pre-built objects to WinCC OA and provides a base to build new objects from without having to start from a clean sheet each time.</p>



<p class="wp-block-paragraph">Learn more about DMC&#8217;s <a href="/services/manufacturing-automation-and-intelligence/hmi-and-scada-programming">HMI Programming</a> and <a href="/services/manufacturing-automation-and-intelligence/hmi-and-scada-programming/wincc-open-architecture-development">WinCC OA services and expertise</a>. <a href="/contact">Contact us</a> for more information or any project inquiries.</p>
<p>The post <a href="https://static.dmcinfo.com/blog/21086/siemens-wincc-oa-open-library/">Siemens WinCC OA Open Library</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>WinCC OA Object Oriented Programming with Ctrl++</title>
		<link>https://static.dmcinfo.com/blog/23338/wincc-oa-object-oriented-programming-with-ctrl/</link>
		
		<dc:creator><![CDATA[Leon Grossman]]></dc:creator>
		<pubDate>Thu, 15 Mar 2018 13:49:07 +0000</pubDate>
				<category><![CDATA[Manufacturing Automation & Intelligence]]></category>
		<category><![CDATA[PLC]]></category>
		<category><![CDATA[Siemens PLC]]></category>
		<category><![CDATA[WinCC OA]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/blog/23338/wincc-oa-object-oriented-programming-with-ctrl/</guid>

					<description><![CDATA[<p>As demonstrated in the blog Siemens WinCC OA &#8211; The Open Architecture SCADA Package, I&#8217;m a huge fan of the WinCC OA (OA) package from Siemens and the platform continues to evolve with usability improvements. One of those improvements is the inclusion of Object Oriented programming constructs such as properties, enumerators, and classes into the [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/23338/wincc-oa-object-oriented-programming-with-ctrl/">WinCC OA Object Oriented Programming with Ctrl++</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class="wp-block-paragraph">As demonstrated in the blog <a href="https://static.dmcinfo.com/latest-thinking/blog/id/8949/siemens-wincc-oa--the-open-architecture-scada-package" target="_blank">Siemens WinCC OA &#8211; The Open Architecture SCADA Package</a>, I&rsquo;m a huge fan of the WinCC OA (OA) package from Siemens and the platform continues to evolve with usability improvements.</p>

<p class="wp-block-paragraph">One of those improvements is the inclusion of Object Oriented programming constructs such as properties, enumerators, and classes into the CTRL language as of version 3.15. These new extensions are called CTRL++.</p>

<p class="wp-block-paragraph">When these extensions were first released, some DMC engineers and I created the alpha release of the <a href="http://openplclibrary.com/" target="_blank">WinCC OA Open Library</a>&nbsp;and released it for people to build off of. It&rsquo;s a companion component to the Open PLC Library.</p>

<p class="wp-block-paragraph">This code will undergo significant revisions and be released as a more full-featured package in the coming months. In the meantime, it&rsquo;s a fantastic starting place to get your feet wet in CTRL++.</p>

<p class="wp-block-paragraph">Creating highly configurable and reusable objects with OA is the bread and butter of the platform. CTRL++ extends the capability to do this rather significantly.</p>

<p class="wp-block-paragraph">Any programmer is familiar with properties. Things like size, shape, font, etc.</p>

<figure class="wp-block-image"><img decoding="async" alt="Types of properties for WinCC OA" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Types-of-properties-for-WinCC-OA.png"  /></figure>

<p class="wp-block-paragraph">CTRL++ gives us the ability to create properties. Properties like the typeOfbutton property listed here which allows dropping a button object on the screen and telling it how it will set the logic on button press.</p>

<figure class="wp-block-image"><img decoding="async" alt="Property editor typeOfButton" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Property-Editor-TypeofButton.png"  /></figure>

<p class="wp-block-paragraph">The code to create these properties are placed in the &ldquo;scopelib&rdquo; (object scope global variables/methods) and are simple to create.</p>

<figure class="wp-block-image"><img decoding="async" alt="Properties listing ScopeLib" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/properties-in-scopelib-bigger.png"  /></figure>

<figure class="wp-block-image"><img decoding="async" alt="Code for scopelib" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Code-for-properties-in-scopelib-bigger.png"  /></figure>

<p class="wp-block-paragraph">The type of the property shown here is &ldquo;buttonType&rdquo; which, as most programmers will know is not a standard primitive data type. That&rsquo;s because it&rsquo;s an enumerator! Here is the definition</p>

<figure class="wp-block-image"><img decoding="async" alt="" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/ButtonType-Definition-bigger.png"  /></figure>

<p class="wp-block-paragraph">The final key piece of this new CTRL++ functionality is the creation of classes. Here is a simplified piece of a class I&rsquo;m currently working on.</p>

<figure class="wp-block-image"><img decoding="async" alt="" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Class-creation-final-piece-bigger.png"  /></figure>

<p class="wp-block-paragraph">Just instantiate the class in the scopelib of the object you want to use it with.</p>

<figure class="wp-block-image"><img decoding="async" alt="" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/instantiate-the-class-in-the-scopelib-medium.png"  /></figure>

<p class="wp-block-paragraph">Then call a function.</p>

<figure class="wp-block-image"><img decoding="async" alt="" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Call-a-function-WinCC-OA-bigger_1.png"  /></figure>

<p class="wp-block-paragraph">Our thinking on best practice to implement CTRL++ has evolved a bit over the last year (mostly to encapsulate even more into the class structure), but go check out the <a href="http://openplclibrary.com/" target="_blank">OA Open Library code</a>&nbsp;for examples on how to utilize this exciting new functionality.</p>

<p class="wp-block-paragraph">Check out DMC&apos;s&nbsp;<a href="https://static.dmcinfo.com/services/manufacturing-automation-and-intelligence/hmi-and-scada-programming/wincc-open-architecture-development" target="_blank">WinCC Open Architecture Development</a>.</p>
<p>The post <a href="https://static.dmcinfo.com/blog/23338/wincc-oa-object-oriented-programming-with-ctrl/">WinCC OA Object Oriented Programming with Ctrl++</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>WinCC OA Presentation at the Rocky Mountain Oil and Gas Conference</title>
		<link>https://static.dmcinfo.com/blog/26392/wincc-oa-presentation-at-the-rocky-mountain-oil-and-gas-conference/</link>
		
		<dc:creator><![CDATA[DMC]]></dc:creator>
		<pubDate>Thu, 13 Aug 2015 13:59:25 +0000</pubDate>
				<category><![CDATA[Denver]]></category>
		<category><![CDATA[Manufacturing Automation & Intelligence]]></category>
		<category><![CDATA[Special Events]]></category>
		<category><![CDATA[Oil and Gas]]></category>
		<category><![CDATA[WinCC OA]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/blog/26392/wincc-oa-presentation-at-the-rocky-mountain-oil-and-gas-conference/</guid>

					<description><![CDATA[<p>I recently had the pleasure of presenting at the Siemens Rocky Mountain Oil and Gas Conference in Denver. This was Siemens&apos; first year holding the conference in Denver and there was an enthusiastic response of over 120 attendees.&#160; The goal of the day-long event on July 28 was to promote discovery and discussion around the [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/26392/wincc-oa-presentation-at-the-rocky-mountain-oil-and-gas-conference/">WinCC OA Presentation at the Rocky Mountain Oil and Gas Conference</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 had the pleasure of presenting at the Siemens <a href="http://www.industry.usa.siemens.com/automation/us/en/events/mobile-showcase/pages/oil_gas_conference.aspx" target="_blank">Rocky Mountain Oil and Gas Conference</a> in Denver. This was Siemens&apos; first year holding the conference in Denver and there was an enthusiastic response of over 120 attendees.&nbsp;</p>

<p class="wp-block-paragraph">The goal of the day-long event on July 28 was to promote discovery and discussion around the Oil and Gas industry&apos;s emerging automation and controls trends. All the presentations were well attended, offering a great opportunity to network in the area and learn about developing Oil and Gas technologies.&nbsp;</p>

<p class="wp-block-paragraph">My presentation,&nbsp;P<strong>owerful SCADA solutions: Is WinCC OA right for me?</strong>, demonstrated use cases for Siemens WinCC OA in Oil and Gas applications. The audience was excited by the idea of putting more configuration tools in the hands of their operators without having an integrator onsite.&nbsp;</p>

<p class="wp-block-paragraph">Check out my <a href="http://www.slideshare.net/DMCChicago/improving-and-scaling-scada-systems-is-wincc-oa-right-for-me" target="_blank">presentation</a> below and feel free to contact me at <a href="mailto:james.condon@localhost">james.condon@localhost</a> with any questions.</p>

<p class="wp-block-paragraph"><iframe allowfullscreen="" frameborder="0" height="420" marginheight="0" marginwidth="0" scrolling="no" src="//www.slideshare.net/slideshow/embed_code/key/HrMNrWrz9TXFz3" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" width="510"></iframe></p>

<div style="margin-bottom:5px"><a href="/services/manufacturing-automation-and-intelligence/hmi-and-scada-programming/wincc-open-architecture-development"><b>Learn more about DMC&apos;s WinCC OA solutions.&nbsp;</b></a></div>
<p>The post <a href="https://static.dmcinfo.com/blog/26392/wincc-oa-presentation-at-the-rocky-mountain-oil-and-gas-conference/">WinCC OA Presentation at the Rocky Mountain Oil and Gas Conference</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>DMC Presents at the 2015 Siemens Oil &#038; Gas Conference</title>
		<link>https://static.dmcinfo.com/blog/26495/dmc-presents-at-the-2015-siemens-oil-gas-conference/</link>
		
		<dc:creator><![CDATA[Kristie Shea]]></dc:creator>
		<pubDate>Tue, 21 Jul 2015 17:15:39 +0000</pubDate>
				<category><![CDATA[Houston]]></category>
		<category><![CDATA[Oil and Gas]]></category>
		<category><![CDATA[WinCC OA]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/blog/26495/dmc-presents-at-the-2015-siemens-oil-gas-conference/</guid>

					<description><![CDATA[<p>DMC was recently invited to speak at the 2015&#160;Siemens Oil &amp; Gas Conference in Houston, TX. The conference is an opportunity for industry partners to share knowledge on how Siemens delivers&#160;efficiency and reliability to the upstream, midstream and downstream sectors of oil production and explore solutions that do more with less. Since DMC opened an [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/26495/dmc-presents-at-the-2015-siemens-oil-gas-conference/">DMC Presents at the 2015 Siemens Oil &#038; Gas Conference</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class="wp-block-paragraph">DMC was recently invited to speak at the <a href="http://www.industry.usa.siemens.com/automation/us/en/events/oil-gas-conference/Pages/Agenda.aspx" target="_blank">2015&nbsp;Siemens Oil &amp; Gas Conference</a> in Houston, TX. The conference is an opportunity for industry partners to share knowledge on how Siemens delivers&nbsp;<span style="line-height: 1.6;">efficiency and reliability to the upstream, midstream and downstream sectors of oil production and explore solutions that do more with less.</span></p>

<p class="wp-block-paragraph">Since DMC <a href="/contact/dmc-houston">opened an office in Houston</a> this year, the conference was a perfect opportunity to meet more people in the area. Jason Mayes and I attended and had a great time connecting with partners and distributors. We attended a presentation every session and found the conference to be an insightful introduction to the area.</p>

<p class="wp-block-paragraph">I had the privilege of delivering a presentation titled&nbsp;<strong>Improving and Scaling SCADA Systems: Is WinCC OA Right for Me?&nbsp;</strong>The presentation covered a case study from a DMC distributed architecture project that was a good use case for WinCC OA. For our project, we did this with generators. The presentation paralleled these features as they would apply to similar features within Oil &amp; Gas. I shared how our WinCC OA application might apply to distributed well sites, frack site trucks and skids, and pipelines.&nbsp;</p>

<p class="wp-block-paragraph">View the slide deck from my presentation below and feel free to <a href="mailto:kristie.shea@localhost">contact me</a> with any questions.</p>

<p class="wp-block-paragraph"><iframe allowfullscreen="" frameborder="0" height="355" marginheight="0" marginwidth="0" scrolling="no" src="//www.slideshare.net/slideshow/embed_code/key/9XuWEn3FlJTK9G" style="border: 1px solid rgb(204, 204, 204); border-image: none; margin-bottom: 5px; max-width: 100%;" width="425"></iframe></p>

<p class="wp-block-paragraph"><a href="/services/manufacturing-automation-and-intelligence/oil-and-gas-engineering"><b>Learn more about DMC&apos;s Oil and Gas Engineering services.</b></a></p>
<p>The post <a href="https://static.dmcinfo.com/blog/26495/dmc-presents-at-the-2015-siemens-oil-gas-conference/">DMC Presents at the 2015 Siemens Oil &#038; Gas Conference</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>DMC Recognized as a SIMATIC WinCC Specialist</title>
		<link>https://static.dmcinfo.com/blog/26653/dmc-recognized-as-a-simatic-wincc-specialist/</link>
		
		<dc:creator><![CDATA[Kristie Shea]]></dc:creator>
		<pubDate>Fri, 24 Apr 2015 14:52:12 +0000</pubDate>
				<category><![CDATA[HMI and SCADA]]></category>
		<category><![CDATA[Manufacturing Automation & Intelligence]]></category>
		<category><![CDATA[WinCC]]></category>
		<category><![CDATA[WinCC OA]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/blog/26653/dmc-recognized-as-a-simatic-wincc-specialist/</guid>

					<description><![CDATA[<p>As a Siemens Solution Partner, DMC is proud to have recently been recognized as a Siemens WinCC Specialist. WinCC Specialists are qualified experts who can implement complex SCADA projects using Siemens&#8217; best practices. This prestigious acknowledgment means that &#8220;the quality and project management processes, as well as the technical WinCC-Know-How&#8221; at DMC has been approved [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/26653/dmc-recognized-as-a-simatic-wincc-specialist/">DMC Recognized as a SIMATIC WinCC Specialist</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class="wp-block-paragraph">As a Siemens Solution Partner, DMC is proud to have recently been recognized as a Siemens WinCC Specialist. WinCC Specialists are qualified experts who can implement complex SCADA projects using Siemens&rsquo; best practices. This prestigious acknowledgment means that &ldquo;the quality and project management processes, as well as the technical WinCC-Know-How&rdquo; at DMC has been approved by Siemens through a central audit process.&nbsp; With this designation, DMC has a direct line of communication to Siemens and is continually kept up to date on the latest features through regular training.</p>

<p class="wp-block-paragraph">Formerly known as WinCC Professionals, WinCC Specialists are SCADA experts when it comes to SIMATIC WinCC. DMC engineers have extensive experience with WinCC, WinCC 7 and WinCC OA among other Siemens platforms.</p>

<p class="wp-block-paragraph">Learn more about DMC&rsquo;s <a href="/services/manufacturing-automation-and-intelligence/hmi-and-scada-programming/siemens-simatic-wincc-programming">WinCC</a> and <a href="/services/manufacturing-automation-and-intelligence/hmi-and-scada-programming/wincc-open-architecture-development">WinCC OA</a> services.</p>
<p>The post <a href="https://static.dmcinfo.com/blog/26653/dmc-recognized-as-a-simatic-wincc-specialist/">DMC Recognized as a SIMATIC WinCC Specialist</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>DMC to Present at Siemens Oil and Gas Innovations Conference</title>
		<link>https://static.dmcinfo.com/blog/26659/dmc-to-present-at-siemens-oil-and-gas-innovations-conference/</link>
		
		<dc:creator><![CDATA[Kristie Shea]]></dc:creator>
		<pubDate>Tue, 21 Apr 2015 15:20:05 +0000</pubDate>
				<category><![CDATA[HMI and SCADA]]></category>
		<category><![CDATA[Manufacturing Automation & Intelligence]]></category>
		<category><![CDATA[WinCC OA]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/blog/26659/dmc-to-present-at-siemens-oil-and-gas-innovations-conference/</guid>

					<description><![CDATA[<p>Siemens is hosting the 2015 Siemens Oil &amp; Gas Innovations Conference at Minute Maid Park in Houston, Texas from April 22-April 23. As a Siemens Solution Partner and with a new office opening in Houston, Texas later this year, I am honored to represent DMC at this year&#8217;s conference. My presentation, Improving and Scaling SCADA [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/26659/dmc-to-present-at-siemens-oil-and-gas-innovations-conference/">DMC to Present at Siemens Oil and Gas Innovations Conference</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class="wp-block-paragraph">Siemens is hosting the 2015 <a href="http://www.industry.usa.siemens.com/automation/us/en/events/oil-gas-conference/Pages/oil-and-gas-conference.aspx" target="_blank">Siemens Oil &amp; Gas Innovations Conference</a> at Minute Maid Park in Houston, Texas from April 22-April 23. As a Siemens Solution Partner and with a <a href="/latest-thinking/blog/id/8995/dmc-is-expanding-to-houston">new office opening in Houston, Texas</a> later this year, I am honored to represent DMC at this year&rsquo;s conference. My presentation, <a href="http://www.industry.usa.siemens.com/automation/us/en/events/oil-gas-conference/Pages/Solution-Partner-Breakouts.aspx#DMC__20Improving_20and_20Scaling_20SCADA_20Systems__20Is_20WinCC_20OA_20Right_20for_20Me_3f_20" target="_blank"><em>Improving and Scaling SCADA Systems: Is WinCC OA Right for Me?</em></a> will be a part of the <a href="http://www.industry.usa.siemens.com/automation/us/en/events/oil-gas-conference/Pages/Solution-Partner-Breakouts.aspx" target="_blank">Solution Partner Breakouts</a> taking place on <strong>Wednesday, April 22</strong>.</p>

<p class="wp-block-paragraph">WinCC OA is similar to a traditional SCADA system, but with a host of additional benefits. Due to its use of object oriented concepts and the ease at which it scales as your system expands, WinCC OA is an optimal solution for geographically distributed oil and gas applications. Throughout the course of the presentation, I will build upon solutions and concepts that DMC has already created to detail the many advantages and use cases for WinCC OA in oil and gas applications.</p>

<p class="wp-block-paragraph">The Siemens Oil &amp; Gas Innovations Conference aims to address issues, challenges, emerging technologies and new industry trends in the Oil &amp;Gas Industry. Among other benefits, participants will be exposed to engineering and automation solutions to increase productivity.</p>

<p class="wp-block-paragraph">Don&rsquo;t miss my presentation <em>Improving and</em> <em>Scaling SCADA Systems: Is WinCC OA Right f</em><span style="line-height: 1.6;"><em>or Me?</em> during the <a href="http://www.industry.usa.siemens.com/automation/us/en/events/oil-gas-conference/Pages/Agenda.aspx" target="_blank">Solution Breakouts</a> at1:30pm in the Sunshine Special room.</span></p>

<p class="wp-block-paragraph"><a href="/services/manufacturing-automation-and-intelligence/hmi-and-scada-programming/wincc-open-architecture-development">Learn more about DMC&apos;s WinCC Open Architecture services.</a></p>
<p>The post <a href="https://static.dmcinfo.com/blog/26659/dmc-to-present-at-siemens-oil-and-gas-innovations-conference/">DMC to Present at Siemens Oil and Gas Innovations Conference</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Siemens WinCC OA &#8211; The Open Architecture SCADA Package</title>
		<link>https://static.dmcinfo.com/blog/26973/siemens-wincc-oa-the-open-architecture-scada-package/</link>
		
		<dc:creator><![CDATA[Leon Grossman]]></dc:creator>
		<pubDate>Thu, 15 Jan 2015 12:20:13 +0000</pubDate>
				<category><![CDATA[HMI and SCADA]]></category>
		<category><![CDATA[Manufacturing Automation & Intelligence]]></category>
		<category><![CDATA[PLC]]></category>
		<category><![CDATA[Siemens PLC]]></category>
		<category><![CDATA[WinCC OA]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/blog/26973/siemens-wincc-oa-the-open-architecture-scada-package/</guid>

					<description><![CDATA[<p>When asked if we work with a particular technology here at DMC, my answer is always &quot;yes&quot;. PLC, Embedded, Test and Measurement, Business Logic: we do it all and more. WinCC OA (OA) is the spiritual analogue to that philosophy in SCADA form. There are native drivers for Siemens and Allen Bradley PLCs as well [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/26973/siemens-wincc-oa-the-open-architecture-scada-package/">Siemens WinCC OA &#8211; The Open Architecture SCADA Package</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class="wp-block-paragraph">When asked if we work with a particular technology here at DMC, my answer is always &quot;yes&quot;. <a href="/services/manufacturing-automation-and-intelligence/plc-programming">PLC</a>, <a href="/services/embedded-development-and-embedded-programming">Embedded</a>, <a href="/services/test-and-measurement-automation">Test and Measurement</a>, <a href="/services/digital-workplace-solutions/microsoft-consulting-services">Business Logic</a>: we do it all and more.</p>

<p class="wp-block-paragraph"><a href="/services/manufacturing-automation-and-intelligence/hmi-and-scada-programming/wincc-open-architecture-development">WinCC OA (OA)</a> is the spiritual analogue to that philosophy in <a href="http://en.wikipedia.org/wiki/SCADA" target="_blank">SCADA</a> form. There are native drivers for <a href="/services/manufacturing-automation-and-intelligence/plc-programming/siemens-s7-plc-programming">Siemens</a> and <a href="/services/manufacturing-automation-and-intelligence/plc-programming/allen-bradley-plc-programming">Allen Bradley PLCs</a> as well as an <a href="https://opcfoundation.org/" target="_blank">OPC</a> driver so it will work with nearly any modern controller.</p>

<p class="wp-block-paragraph">Supporting a wide range of hardware is expected of a product that is targeted to the same space as <a href="/services/manufacturing-automation-and-intelligence/hmi-and-scada-programming">Wonderware</a> and <a href="/services/manufacturing-automation-and-intelligence/hmi-and-scada-programming/iconics-programming">Iconics</a>. If this was the only thing that separated OA from Siemens&apos; other offerings, we wouldn&apos;t be as excited about it as we are.</p>

<p class="wp-block-paragraph">To understand the power of OA you have to understand that it is built upon itself. There is a core language that is derived from C and supports a long list of functions that are built in. The user interface is built on top of this core language and is user editable.</p>

<p class="wp-block-paragraph">With this kind of open nature, there are a dozen ways to do anything and they are all equal. Consequently, it&apos;s not always easy to pick the best implementation path. While the script editor does have some shortcomings, it more than makes up for them with the flexibility and customizability it enables..</p>

<p class="wp-block-paragraph">The powerful environment is complex and can have a steep learning curve, but once you are up to speed, the implementation possibilities are almost limitless:</p>

<ul class="wp-block-list">
 <li>The alarm screen doesn&apos;t meet your needs? Modify it.</li>
 <li>You need to dynamically generate screens and then add them to the navigation system? Dig around in the deep parts of OA for your solution.</li>
 <li>Auto populate engineering parameters screen with auditing? Done.</li>
 <li>The tab key function for navigating between controls on the screen doesn&apos;t meet your needs? Override it with your own logic.</li>
</ul>

<p class="wp-block-paragraph">Every single example above, and more, was accomplished by DMC&apos;s team here and we were able to deliver the solutions our clients needed without ever resigning ourselves to &quot;that&apos;s the way it is.&quot; As someone who has had to go to great lengths to work around technical limitations in the past, it is pretty amazing to be able to create anything I can dream of using these tools.</p>

<p class="wp-block-paragraph">Our partnership with the WinCC OA team is growing rapidly as we develop the detailed knowledge to be effective in this platform. Look for a series of blog posts on the intricacies of WinCC OA over the next few months.&nbsp;</p>

<p class="wp-block-paragraph">As always if you&rsquo;re interested in us implementing your SCADA system, please read more about DMC&rsquo;s <a href="/services/manufacturing-automation-and-intelligence/hmi-and-scada-programming">HMI and SCADA offerings</a>.</p>
<p>The post <a href="https://static.dmcinfo.com/blog/26973/siemens-wincc-oa-the-open-architecture-scada-package/">Siemens WinCC OA &#8211; The Open Architecture SCADA Package</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>View DMC&#8217;s 2014 Siemens Automation Summit Presentations</title>
		<link>https://static.dmcinfo.com/blog/27442/view-dmcs-2014-siemens-automation-summit-presentations/</link>
		
		<dc:creator><![CDATA[Tim Jager]]></dc:creator>
		<pubDate>Tue, 08 Jul 2014 13:12:15 +0000</pubDate>
				<category><![CDATA[HMI and SCADA]]></category>
		<category><![CDATA[Manufacturing Automation & Intelligence]]></category>
		<category><![CDATA[PLC]]></category>
		<category><![CDATA[Siemens PLC]]></category>
		<category><![CDATA[Special Events]]></category>
		<category><![CDATA[WinCC]]></category>
		<category><![CDATA[WinCC OA]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/blog/27442/view-dmcs-2014-siemens-automation-summit-presentations/</guid>

					<description><![CDATA[<p>DMC attended the annual Siemens Automation Summit last month, held&#160;June 23 &#8211; 26, 2014. We enjoyed four days of learning and networking with new friends at Walt Disney World&#8217;s Contemporary Resort in Orlando, FL. The week kicked off with Monday night&#8217;s popular Connect Event. This casual cocktail event allowed attendees to build their network using [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/27442/view-dmcs-2014-siemens-automation-summit-presentations/">View DMC&#8217;s 2014 Siemens Automation Summit Presentations</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">DMC attended the annual Siemens Automation Summit last month, held&nbsp;June 23 &#8211; 26, 2014. We enjoyed four days of learning and networking with new friends at Walt Disney World&#8217;s Contemporary Resort in Orlando, FL.</p>



<p class="wp-block-paragraph">The week kicked off with Monday night&#8217;s popular Connect Event. This casual cocktail event allowed attendees to build their network using a mobile-friendly app or website developed by DMC and Prism Systems to connect and share contact information. Attendees also got a preview of the cool Anki DRIVE racetracks that would be at the Siemens Solution Partner booth for the rest of the event. Attendees could choose to race their friends using conventional iPads or Siemens Mobile Panels developed by DMC to control the Bluetooth racetrack.</p>



<p class="wp-block-paragraph">The rest of the week involved unique presentations, training classes, technology demonstrations, and finished off with a keynote by Eric Alexander and an after party at the Expedition Everest theme park!</p>



<p class="wp-block-paragraph">DMC led four presentations throughout the week. Due to the great response, we&#8217;ve made the presentation slideshows available. Feel free to <strong><a href="/contact">contact DMC</a></strong> with any questions regarding this content.</p>



<p class="wp-block-paragraph"><strong><a href="https://www.slideshare.net/DMCChicago/siemens-summit-2014-getting-the-most-out-of-win-cc-oa?qid=a3a142b6-2d5e-4ab9-bfdd-dcd94c50aebc&amp;v=qf1&amp;b=&amp;from_search=1" target="_blank">Getting the Most Out of WinCC OA</a> &#8211; Kristie Shea</strong><br> Explore some of the unique benefits of the Siemens Open Architecture SCADA platform and learn about specific projects where these object-oriented tools were used to meet demanding requirements without changing a single line of PLC code. Based on a project&#8217;s requirements, learn how to best choose between the three different Siemens SCADA offerings: WinCC OA, WinCC V7 or WinCC TIA Professional.</p>



<p class="wp-block-paragraph"><strong><a href="https://www.slideshare.net/DMCChicago/siemens-summit-2014-dmc-best-practices-working-with-solution-partners" target="_blank">Best Practices for Selecting and Working with a Solution Partner</a> &#8211; Tim Jager&nbsp;</strong><br>
Get an insider&#8217;s view on how to best work with solution partners to maximize your return on investment. Learn when to use an integrator and how to choose the right integrator.&nbsp;</p>



<p class="wp-block-paragraph"><strong><a href="https://www.slideshare.net/DMCChicago/sully-siemens-summit-2014-utilizing-siemens-best-practices-when-leveraging-existing-rockwell-code?qid=a3a142b6-2d5e-4ab9-bfdd-dcd94c50aebc&amp;v=qf1&amp;b=&amp;from_search=2" target="_blank">Utilizing Siemens Best Practices When Leveraging Existing Rockwell Code</a> &#8211; John Sullivan</strong><br> Are you in the process of switching to Siemens hardware from Rockwell, but already have a working Rockwell program? Some people try to copy it over directly and miss out on the great opportunity that Siemens provides to make your code more flexible and reliable.</p>



<p class="wp-block-paragraph"><strong><a href="https://www.slideshare.net/DMCChicago/dmc-siemens-summit-presentation-by-alex-krejcie" target="_blank">Extending S7 PLC Capabilities by Leveraging the Unique Strengths of the WinAC Platform</a>&nbsp;<br>
&#8211; Alex Krejcie</strong><br>
Automation applications often have specific hardware and software requirements that pose integration challenges for system designers. The WinAC RTX platform is commonly used to provide deterministic real-time algorithm processing in a PC environment. See how DMC has been able to reduce application costs through hardware simplification and quicker development time by leveraging the unique capabilities of the WinAC platform.</p>


<div class="video-embed-container"><iframe src="//www.youtube.com/embed/cDlfYWYxg38?showinfo=0">&amp;lt;!&#8211;{cke_protected}{C}%3C!%2D%2Dcke_bookmark_195S%2D%2D%3E&#8211;&amp;gt;&amp;lt;!&#8211;{cke_protected}{C}%3C!%2D%2Dcke_bookmark_195E%2D%2D%3E&#8211;&amp;gt;</iframe></div><p>The post <a href="https://static.dmcinfo.com/blog/27442/view-dmcs-2014-siemens-automation-summit-presentations/">View DMC&#8217;s 2014 Siemens Automation Summit Presentations</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
