<?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>Keith Krotzer, Author at DMC, Inc.</title>
	<atom:link href="https://static.dmcinfo.com/blog/author/keithk/feed/index.xml" rel="self" type="application/rss+xml" />
	<link></link>
	<description></description>
	<lastBuildDate>Thu, 03 Sep 2026 19:16:32 +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>Keith Krotzer, Author at DMC, Inc.</title>
	<link></link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Streamlining Communication Testing with PLCSIM Advanced: Troubleshooting and Configuration Tips</title>
		<link>https://static.dmcinfo.com/blog/15709/streamlining-communication-testing-with-plcsim-advanced-troubleshooting-and-configuration-tips/</link>
		
		<dc:creator><![CDATA[Keith Krotzer]]></dc:creator>
		<pubDate>Wed, 05 Feb 2025 13:51:40 +0000</pubDate>
				<category><![CDATA[Ignition]]></category>
		<category><![CDATA[Manufacturing Automation & Intelligence]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/blog/15709/streamlining-communication-testing-with-plcsim-advanced-troubleshooting-and-configuration-tips/</guid>

					<description><![CDATA[<p>The ability to simulate hardware is an invaluable tool to keep in your development kit. It allows you to develop remotely, test changes without interrupting critical systems, and more. This blog serves as an addendum to Nikhil Holay’s informative blog 5 Tips For Getting Started In PLCSIM Advanced.&#160; Simulating OPC UA Communication&#160; If you’re looking [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/15709/streamlining-communication-testing-with-plcsim-advanced-troubleshooting-and-configuration-tips/">Streamlining Communication Testing with PLCSIM Advanced: Troubleshooting and Configuration Tips</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">The ability to simulate hardware is an invaluable tool to keep in your development kit. It allows you to develop remotely, test changes without interrupting critical systems, and more. This blog serves as an addendum to Nikhil Holay’s informative blog <a href="https://static.dmcinfo.com/latest-thinking/blog/id/9698/5-tips-for-getting-started-in-plcsim-advanced">5 Tips For Getting Started In PLCSIM Advanced</a>.&nbsp;</p>



<h2 id="h-simulating-opc-ua-communication-nbsp" class="wp-block-heading">Simulating OPC UA Communication&nbsp;</h2>



<p class="wp-block-paragraph">If you’re looking to develop a TIA Portal Project that uses OPC UA to communicate to external systems, PLCSIM Advanced has your back—just make sure to select a processor in TIA Portal that has an integrated OPC UA server. For an S7-1500 or ET 200SP CPU, you’ll need firmware V2.0 or above (ET 200S series controllers do not support OPC UA). PLCSIM Advanced does not support S7-1200 controllers at the time of publishing.&nbsp;</p>



<p class="wp-block-paragraph">Changing the version of your virtual controller is even easier than swapping real hardware. In&nbsp;the Devices &amp; Network view, right click on the PLC and select “Change Device.” On the left, Portal will give you a description of the current device, and on the right, you can select a new device and its version from the dropdown menu.&nbsp;</p>



<p class="wp-block-paragraph"><img decoding="async" alt="Changing S7-1500 PLC device version in Siemens TIA Portal" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Changing-S7-1500-PLC-device-Tia-Portal.png"><br>
<em>Changing S7-1500 PLC device version in Siemens TIA Portal</em></p>



<h2 id="h-how-do-i-configure-the-opc-ua-server-settings-nbsp" class="wp-block-heading">How Do I Configure the OPC UA Server Settings?&nbsp;</h2>



<p class="wp-block-paragraph">After creating your device, you must first configure the OPC UA server options in TIA Portal. Access the device Properties, select the General tab and&nbsp;expand the entry for OPC UA, select the Server subtopic and check the box for “Active OPC US Server” in the right panel beneath ‘Accessibility of the Server.’ Leave the remaining settings at their defaults. &nbsp;</p>



<p class="wp-block-paragraph"><img decoding="async" alt="Activating OPC UA server in Siemens TIA Portal" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Activating-OPC-UA-server-Tia-Portal.png"><br>
<em>Activating OPC UA server in Siemens TIA Portal</em></p>



<p class="wp-block-paragraph">You will also need to select the appropriate license under the Runtime licenses menu.</p>



<p class="wp-block-paragraph"><img decoding="async" alt="Activating OPC UA license in Siemens TIA Portal" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Activating-OPC-UA-license-Tia-Portal.png"><br>
<em>Activating OPC UA license in Siemens TIA Portal</em></p>



<p class="wp-block-paragraph">Finally, make sure to configure your PLC’s Access Control settings.</p>



<p class="wp-block-paragraph"><img decoding="async" alt="Access control in Siemens TIA Portal" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/TIA-Portal-access-control.png"><br>
<em>Access control in Siemens TIA Portal</em></p>



<p class="wp-block-paragraph">After everything is configured in your project, you’re good to go! Download your project to the PLCSIM Advanced controller you had created previously, as if it were real hardware—see Tip One, Step 3 in <a href="https://static.dmcinfo.com/latest-thinking/blog/id/9698/5-tips-for-getting-started-in-plcsim-advanced">Nikhil’s blog</a>.</p>



<h2 id="h-configuring-plcsim-advanced-for-cross-platform-testing" class="wp-block-heading">Configuring PLCSIM Advanced for Cross Platform Testing</h2>



<p class="wp-block-paragraph">One of the great advantages of PLCSIM Advanced is the ability to simulate your TIA Project with external systems—whether that is real hardware (simulating an HMI with a real PLC) or even simulating your PLC with an external SCADA system. For this example, we’re going to demonstrate using OPC UA to connect a simulated Siemens PLC and an <a href="https://static.dmcinfo.com/services/manufacturing-automation-and-intelligence/hmi-and-scada-programming/ignition-programming"><strong>Ignition SCADA</strong></a> application.&nbsp;</p>



<p class="wp-block-paragraph">If you’re planning develop in TIA Portal and Ignition on the same local machine (or VM), use the option for TCP/IP communication with the &lt;Local&gt; network adapter selected. If your Ignition server resides on a different machine or VM, you’ll want to select the network adapter of the machine running PLCSIM. &nbsp;</p>



<p class="wp-block-paragraph">How does this work on the Ignition side? Thankfully, it’s as straightforward as working with real hardware. On your Ignition server&nbsp;add a new OPC UA Connection, point the Endpoint URL to your virtual PLC, and proceed as usual.&nbsp;</p>



<p class="wp-block-paragraph"><img decoding="async" alt="Configuring a new OPC Connection in Inductive Automation Ignition" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Configuring-a-new-OPC-Connection-in-Ignition.png"><br>
<em>Configuring a new OPC Connection in Inductive Automation Ignition</em></p>



<p class="wp-block-paragraph">If the two pieces of software are on the same machine or VM, you should be ready to go. If your Ignition server and PLCSIM are on separate VMs and Ignition indicates there is an issue, you must make sure the two are both set to share the host’s network (via NAT or another method). Check your VM’s Network Adapter settings to be sure.&nbsp;</p>



<h2 id="h-what-about-modbus-nbsp" class="wp-block-heading">What About Modbus?&nbsp;</h2>



<p class="wp-block-paragraph">PLCSIM Advanced is also great for testing Modbus communications before arriving at the machine. To do so, you will need a Modbus simulator, such as <a href="https://www.modbustools.com/download.html" target="_blank">Modbus Poll</a>, and install it on the same VM (or host machine) as PLCSIM Advanced. For this example, I’ll simply read the first 10 holding registers that I configured on my PLC.&nbsp;</p>



<p class="wp-block-paragraph">First, I created the MB_SERVER object in my project. A TCON_IP_v4 object is required to configure the Modbus server. You will also want to add a non-optimized DB that will contain your holding registers as well. For a great in-depth discussion of what’s going on with this block, check out Jason Mayes’&nbsp;blog <a href="https://static.dmcinfo.com/latest-thinking/blog/id/8869/using-an-s7-1200-plc-as-a-modbus-tcp-slave">Using an S7-1200 PLC as a Modbus TCP Slave</a>.</p>



<p class="wp-block-paragraph"><img decoding="async" alt="MB_SERVER object in Siemens TIA Portal" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Tia-Portal-MB_SERVER-object.png"><br>
<em>MB_SERVER object in Siemens TIA Portal</em></p>



<p class="wp-block-paragraph">In this example, we’ll be communicating over TCP/IP, so set the ConnectionType to 11 and LocalPort to 502.&nbsp;</p>



<p class="wp-block-paragraph"><img decoding="async" alt="TCON_IP_v4 connection parameters object in Siemens TIA Portal" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Tia-Portal-TCON_IP_v4-connection-parameters-object.png"><br>
<em>TCON_IP_v4 connection parameters object in Siemens TIA Portal</em></p>



<p class="wp-block-paragraph">When you first open a connection in Modbus Poll, you’ll be prompted to configure the connection settings. Enter the IP address of your PLCSIM Advanced controller, the same port you configured in Portal, and verify that you’re using Modbus TCP/IP. &nbsp;&nbsp;</p>



<p class="wp-block-paragraph"><img decoding="async" alt="Connection Setup dialog in Modbus Poll" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Connection-Setup-dialog-in-Modbus-Poll.png"><br>
<em>Connection Setup dialog in Modbus Poll</em></p>



<p class="wp-block-paragraph">After you click OK, it will return to the main screen where you’ll see a table with 10 entries corresponding to the first 10 holding registers on your Modbus server. If your communication settings are correct, the data in Modbus Poll should match what’s online with your simulated PLC.</p>



<p class="wp-block-paragraph"><img decoding="async" alt="Modbus holding registers in Modbus Poll" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Modbus-holding-registers-in-Modbus-Poll.png">&nbsp;<img decoding="async" alt="Modbus holding registers in Siemens TIA Portal" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Modbus-holding-registers-in-Tia-Portl.png"><br>
<em>Left:&nbsp;Modbus holding registers in Modbus Poll; Right:&nbsp;Modbus holding registers in Siemens TIA Portal</em></p>



<p class="wp-block-paragraph">If you’d like to extend the number of registers, or test something other than Read Holding Registers, navigate to Setup -&gt; Read/Write Definition screen to modify these settings.&nbsp;</p>



<p class="wp-block-paragraph"><img decoding="async" alt="Read/Write Definitions setup menu in Modbus Poll" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Read-Write-menu-in-Modbus-Poll.png"><br>
<em>Read/Write Definitions setup menu in Modbus Poll</em></p>



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



<p class="wp-block-paragraph">PLC emulation is a great development tool, and PLCSIM Advanced makes it easy to develop and test your TIA Portal projects with external or third-party systems. It also simplifies testing and debugging Modbus communications without interruptions of service to critical systems.&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>Validate PLC Communications Before Going Live</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">Learn more about our <a href="https://static.dmcinfo.com/services/manufacturing-automation-and-intelligence/" data-type="page" data-id="420">Automation</a> capabilities for testing <a href="https://static.dmcinfo.com/services/manufacturing-automation-and-intelligence/plc-programming/siemens-s7-plc-programming/" data-type="page" data-id="444">Siemens PLC</a> communications with PLCSIM Advanced, OPC UA, Modbus, and <a href="https://static.dmcinfo.com/services/manufacturing-automation-and-intelligence/hmi-and-scada-programming/ignition-programming/" data-type="page" data-id="509">Ignition SCADA</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/15709/streamlining-communication-testing-with-plcsim-advanced-troubleshooting-and-configuration-tips/">Streamlining Communication Testing with PLCSIM Advanced: Troubleshooting and Configuration Tips</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Customizing WinCC Tags in PCS7</title>
		<link>https://static.dmcinfo.com/blog/17030/customizing-wincc-tags-in-pcs7/</link>
		
		<dc:creator><![CDATA[Keith Krotzer]]></dc:creator>
		<pubDate>Thu, 16 Nov 2023 18:20:45 +0000</pubDate>
				<category><![CDATA[HMI and SCADA]]></category>
		<category><![CDATA[Manufacturing Automation & Intelligence]]></category>
		<category><![CDATA[Siemens PLC]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/blog/17030/customizing-wincc-tags-in-pcs7/</guid>

					<description><![CDATA[<p>PCS7&#8217;s AS-OS Engineering feature automatically creates and connects WinCC OS tags for your PCS7 AS blocks during compilation. Although this feature is a huge timesaver, it sometimes needs to be customized for your specific application. In this blog, I will demonstrate three&#160;methods to define your own variables that will be added to the PCS7 compilation [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/17030/customizing-wincc-tags-in-pcs7/">Customizing WinCC Tags in PCS7</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class="wp-block-paragraph">PCS7&rsquo;s AS-OS Engineering feature automatically creates and connects WinCC OS tags for your PCS7 AS blocks during compilation. Although this feature is a huge timesaver, it sometimes needs to be customized for your specific application.</p>

<p class="wp-block-paragraph">In this blog, I will demonstrate three&nbsp;methods to define your own variables that will be added to the PCS7 compilation process&nbsp;so that your WinCC tags are automatically maintained by AS-OS Engineering.</p>

<h2 class="wp-block-heading">SFC Type Parameters</h2>

<p class="wp-block-paragraph">There are several use cases for automatically generating additional variables from PCS7 blocks at the WinCC server. These range&nbsp;from custom WinCC graphic icons all the way to pushing data to-and-from an Ignition based batch reporting system.</p>

<p class="wp-block-paragraph">Generating tags for your parameter characteristics is straightforward and baked into the PCS7 SFC editor. On the parameter in question, there is a tick box labeled <em>Faceplate</em>. Simply tick the box, and the parameter variable will be created and connected the next time your AS and OS projects are compiled.</p>

<figure class="wp-block-image"><img decoding="async" alt="Customizing Parameter characteristics." src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Customizing-WinCC-Tags-in-PCS7-Parameter-Variable-check-box_1.png"  /></figure>

<p class="wp-block-paragraph">The parameter will appear on the faceplate <em>Parameters</em> tab, which may not be desirable in all cases but is unavoidable for this type of characteristic. If that&rsquo;s your case, consider using <em>Process Value </em>or <em>Control Value </em>characteristics instead.</p>

<figure class="wp-block-image"><img decoding="async" alt="SFC Parameters tab" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Customizing-WinCC-Tags-in-PCS7-Parameter-window.png"  /></figure>

<h2 class="wp-block-heading">SFC Type Process and Control Values</h2>

<p class="wp-block-paragraph">One way to work around this limitation is to, instead, define your variable as a <em>Process Value (PV)</em> or <em>Control Value (CV) </em>characteristic. PVs and CVs don&rsquo;t get included on the <em>Parameters</em> tab, so there is no chance that someone modifies the value from the faceplate; however, because an SFC instance&rsquo;s&nbsp;PVs and CVs don&rsquo;t appear on the faceplate, tags aren&rsquo;t automatically created in WinCC during compilation.</p>

<p class="wp-block-paragraph">To include a particular variable, switch from the <em>Characteristics</em> view to the <em>Chart I/Os</em> view.</p>

<figure class="wp-block-image"><img decoding="async" alt="Process Value characteristics" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Customizing-WinCC-Tags-in-PCS7-Chart-IOs-view.png"  /></figure>

<p class="wp-block-paragraph">Inside of the IN variable group (for PVs) or the OUT variable group (for CVs), browse to your chosen variable, right click, select <em>Object Properties</em>, and navigate to the <em>Attributes</em> tab in the <em>Variable Properties</em> window that opens. In the first available row, add the <em>S7_m_c</em> attribute, and set its value to <em>true</em>. The next time you compile your&nbsp;AS and OS projects, WinCC will automatically create&nbsp;a tag in your WinCC project.</p>

<figure class="wp-block-image"><img decoding="async" alt="Modifying variable properties" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Customizing-WinCC-Tags-in-PCS7-Edits-Variable-Properties.png"  /></figure>

<h2 class="wp-block-heading">CFC Blocks</h2>

<p class="wp-block-paragraph">To include variables on library blocks, navigate to an instance of the block and make a note of its FB number. Here, I&rsquo;m working with FB1865, <em>OpAnL, </em>from the APL V9.0. In the <em>Component View</em>, open your project library and drill through to the Blocks folder to find the specific FB. When you open the FB in the editor, you&rsquo;ll be notified that it&rsquo;s protected. You won&rsquo;t see the source, but you can still edit the variable declarations.</p>

<figure class="wp-block-image"><img decoding="async" alt="Library block variable attributes" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Customizing-WinCC-Tags-in-PCS7-Component-View.png"  /></figure>

<p class="wp-block-paragraph">In the declaration table, open the IN or OUT group containing the variable you want to create tags for. Right click on the variable, open the <em>Object Properties</em>, and navigate to the <em>Attributes</em> tab. If the variable is an atomic datatype (BOOL, INT, REAL, etc.), you can simply add the <em>S7_m_c </em>attribute and set it to <em>true</em>, as above.</p>

<p class="wp-block-paragraph">If the variable is a struct, you&rsquo;ll need to add both the <em>S7_m_c </em>attribute (set to <em>true</em>), as well as the <em>S7_xm_c</em> attribute. For each member of the struct you want included, you&rsquo;ll need to add semicolon-separated lists of comma-separated member names and values for the <em>S7_xm_c </em>attribute. For example, to include both the <em>.Value</em> and <em>.ST</em> members of a struct, set the value of <em>S7_xm_c</em> to <em>Value,true;ST,true; </em>and the tags will be generated the next time you compile your AS and OS projects.</p>

<figure class="wp-block-image"><img decoding="async" alt="Variable properties window in PCS7" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Customizing-WinCC-Tags-in-PCS7-Struct-customization.png"  /></figure>

<p class="wp-block-paragraph">Before compiling, it is necessary to update block types in your multiproject. Back in the component view, select the Blocks folder in your library project and choose Options &gt; Charts &gt; Update Block Types from the toolbar. Where prompted, select the block you&rsquo;ve modified and continue with the &lsquo;Update Block Types&rsquo; process. Compiling both the AS and OS projects after updating will make the new struct member(s) available as tags in your WinCC OS project.</p>

<h2 class="wp-block-heading">Conclusion</h2>

<p class="wp-block-paragraph">AS-OS Engineering is a powerful tool for maintaining and updating tag connections within your PCS7 Multiproject. You can leverage this time saving feature by customizing which SFC and CFC variables get created and updated in the OS project via PCS7 attributes on variables.</p>

<p class="wp-block-paragraph"><strong>Learn more about DMC&apos;s <a href="https://static.dmcinfo.com/services/manufacturing-automation-and-intelligence/hmi-and-scada-programming/siemens-simatic-wincc-programming">Siemens WinCC expertise</a> and <a href="https://static.dmcinfo.com/contact">contact us</a> for your next project.&nbsp;</strong></p>
<p>The post <a href="https://static.dmcinfo.com/blog/17030/customizing-wincc-tags-in-pcs7/">Customizing WinCC Tags in PCS7</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Virtualizing a DCS in PCS7</title>
		<link>https://static.dmcinfo.com/blog/18145/virtualizing-a-dcs-in-pcs7/</link>
		
		<dc:creator><![CDATA[Keith Krotzer]]></dc:creator>
		<pubDate>Wed, 02 Nov 2022 11:40:20 +0000</pubDate>
				<category><![CDATA[Manufacturing Automation & Intelligence]]></category>
		<category><![CDATA[PLC]]></category>
		<category><![CDATA[Siemens PLC]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/blog/18145/virtualizing-a-dcs-in-pcs7/</guid>

					<description><![CDATA[<p>Before applying changes to your PCS7 control system, it&#8217;s always good practice to simulate on a virtual processor. While PLCSIM makes the process of simulating changes to the DCS nearly effortless, it&#8217;s a bit more complicated to simulate your entire DCS on a VM. This blog will guide you through configuring virtual AS/OS communication in [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/18145/virtualizing-a-dcs-in-pcs7/">Virtualizing a DCS in PCS7</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class="wp-block-paragraph">Before applying changes to your PCS7 control system, it&rsquo;s always good practice to simulate on a virtual processor.</p>

<p class="wp-block-paragraph">While PLCSIM makes the process of simulating changes to the DCS nearly effortless, it&rsquo;s a bit more complicated to simulate your entire DCS on a VM. This blog will guide you through configuring virtual AS/OS communication in your PCS7 Multiproject.</p>

<h2 class="wp-block-heading">Getting Started</h2>

<p class="wp-block-paragraph">The first step to getting your virtual DCS configured is to configure your VM&rsquo;s NICs.&nbsp;If you&apos;re not working in a VM, you can follow along on your host machine.</p>

<ol class="wp-block-list">
 <li>Open your Windows OS&rsquo;s Network Adapters panel.</li>
 <li>Assign static IP addresses to one of your VM&rsquo;s NICs.&nbsp;
 <ol class="wp-block-list">
  <li>&nbsp;Hit the &lsquo;Advanced&rsquo; button to assign more than one IP to the NIC.</li>
 </ol>
 </li>
 <li>I threw the range 192.168.0.3-, .4, and .5 at the adapter to mimic the assignments on my multiproject&rsquo;s physical AS, as well as the changes we&rsquo;re about to make.</li>
</ol>

<figure class="wp-block-image"><img decoding="async" alt="Network Connections Settings Menu" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/virtual-dcs-blog-network-connnections-menu.png"  /></figure>

<h2 class="wp-block-heading">Editing the Multiproject</h2>

<p class="wp-block-paragraph">Next, we&rsquo;ll make some changes to your Multiproject. Open up a copy of your multiproject in Simatic Manager&nbsp;&ndash; you probably don&rsquo;t want to do this directly on your ES&nbsp;because the hardware and network configurations will change.</p>

<ol class="wp-block-list">
 <li>&nbsp;In HW Config, add a new communications processor to the PLC rack you&rsquo;re going to simulate. This will be the path that the simulated OS will use to browse to the AS.
 <ol class="wp-block-list">
  <li>&nbsp;Make it easy on yourself and search for the CP card by catalog number. I added the 6GK7 443-1EX30-0XE1, version 3.0.</li>
  <li>Drag the CP card to an open slot on your DCS chassis.</li>
 </ol>
 </li>
 <li>Next, assign the CP card to an existing subnet and give it an IP address from the range you created above.
 <ol class="wp-block-list">
  <li>Right click on the PN-IO module under the CP 443-1 and open the Object Properties.</li>
  <li>Open the Interface Properties and assign it an IP address and subnet mask. My PN-IO X5 and X5-1 adapters are assigned to 192.168.0.3 and .4 respectively, so this CP card will take the last IP we added (192.168.0.5).</li>
  <li>Make sure to click on the project-wide subnet you want to assign the card to &ndash; for me, this was called SYSTEMBUS. Confirm your settings with OK.</li>
 </ol>
 </li>
</ol>

<figure class="wp-block-image"><img decoding="async" alt="Computer properties windows" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/virtual-dcs-blog-properties-windows.png"  /></figure>

<h2 class="wp-block-heading">WinCC Explorer</h2>

<p class="wp-block-paragraph">Next, we&rsquo;ll make some changes to the OS application in WinCC Explorer.</p>

<ol class="wp-block-list">
 <li>&nbsp;In the Project Properties, tick the box to &lsquo;Allow activation on ES&rsquo; (right click on the project in the tree &gt; properties &gt; Options).</li>
 <li>&nbsp;In the Computer properties (left click on &lsquo;Computer&rsquo; in the tree, right click on the computer listed &gt; Properties), take the following steps:
 <ol class="wp-block-list">
  <li>Replace the given name with your Local Computer Name (on General tab).</li>
  <li>On the Startup tab, disable Alarm Logging and Tag Logging.</li>
  <li>Confirm with OK.</li>
 </ol>
 </li>
 <li>Optionally, add user credentials.</li>
 <li>Delete the server data (right click on Server Data &gt; Delete).</li>
</ol>

<p class="wp-block-paragraph">Head back to Simatic Manager and find the WinCC application in your OS project. Double click on the Connections item to open the NetPro project file.</p>

<ol class="wp-block-list">
 <li>Right click on the CP card in your project&rsquo;s OS server and select Properties.
 <ol class="wp-block-list">
  <li>On the Options tab, throw in an NDIS IP address &ndash; this is just a placeholder so that it doesn&rsquo;t get flagged as an error later. I used a dummy address of 192.168.0.222.</li>
  <li>Confirm it with OK.</li>
 </ol>
 </li>
 <li>Next, select the WinCC Application.
 <ol class="wp-block-list">
  <li>Delete the existing connection.</li>
  <li>Create a new TCP connection by right clicking in an empty field &gt; Insert New Connection.</li>
  <li>Expand the &lsquo;In the multiproject&rsquo; item, and browse to your AS.</li>
  <li>Select &lsquo;TCP connection&rsquo; as your Type, and ensure the tick box to Display Properties is ticked. Hit Apply to confirm.</li>
  <li>Untick the &lsquo;Active connection establishment&rsquo; option and confirm with OK.</li>
 </ol>
 </li>
</ol>

<h2 class="wp-block-heading">Simulating the Multiproject</h2>

<p class="wp-block-paragraph">We&rsquo;re done configuring your multiproject &ndash; now it&rsquo;s time to simulate!</p>

<ol class="wp-block-list">
 <li>Open PLCSIM, and compile and download to the simulated processor.
 <ol class="wp-block-list">
  <li>After downloading, verify that you can open a chart in Test mode. If you can&rsquo;t, perform a full download from within CFC editor&nbsp;and you should be able to go online.</li>
 </ol>
 </li>
 <li>Perform a full compile on your OS.</li>
 <li>Open WinCC Explorer and activate your runtime. It might take a minute or more, but, you should find that, after it activates, you can move data between the simulated AS and your new simulated OS.</li>
 <li>After virtualizing your AS and OS, you can simulate changes to your DCS in a development environment prior to deploying them to your production equipment.</li>
</ol>

<p class="wp-block-paragraph"><strong>Learn more about DMC&apos;s <a href="https://static.dmcinfo.com/services/manufacturing-automation-and-intelligence/plc-programming/siemens-s7-plc-programming">Siemens S7 PLC Programming</a> expertise&nbsp;and <a href="https://static.dmcinfo.com/contact">contact us</a> today for your next project!</strong></p>
<p>The post <a href="https://static.dmcinfo.com/blog/18145/virtualizing-a-dcs-in-pcs7/">Virtualizing a DCS in PCS7</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Bulk Engineering with Siemens BPCM in PCS7</title>
		<link>https://static.dmcinfo.com/blog/18473/bulk-engineering-with-siemens-bpcm-in-pcs7/</link>
		
		<dc:creator><![CDATA[Keith Krotzer]]></dc:creator>
		<pubDate>Thu, 26 May 2022 19:11:33 +0000</pubDate>
				<category><![CDATA[Siemens PLC]]></category>
		<category><![CDATA[bulk engineering]]></category>
		<category><![CDATA[CMTs]]></category>
		<category><![CDATA[Control Module Types]]></category>
		<category><![CDATA[PCS7]]></category>
		<category><![CDATA[Siemens]]></category>
		<category><![CDATA[Siemens Best Practice Control Modules]]></category>
		<category><![CDATA[Siemens BPCM Library]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/blog/18473/bulk-engineering-with-siemens-bpcm-in-pcs7/</guid>

					<description><![CDATA[<p>The Siemens BPCM Library gives developers a toolbox of proven and&#160;tested Control Module Types (CMTs) to develop consistent and manageable code. To create an instance of a CMT, or to find out how to add variants to an instance, check out our previous blog in this series, Introduction to Siemens Best Practice Control Modules. We&#8217;ll [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/18473/bulk-engineering-with-siemens-bpcm-in-pcs7/">Bulk Engineering with Siemens BPCM in PCS7</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class="wp-block-paragraph">The Siemens BPCM Library gives developers a toolbox of proven and&nbsp;tested Control Module Types (CMTs) to develop consistent and manageable code. To create an instance of a CMT, or to find out how to add variants to an instance, check out our previous blog in this series, <a href="https://static.dmcinfo.com/latest-thinking/blog/id/10333/introduction-to-siemens-best-practice-control-modules">Introduction to Siemens Best Practice Control Modules</a>.</p>

<p class="wp-block-paragraph">We&rsquo;ll continue where we left off in the previous blog. We&rsquo;ve instantiated a Vlv_1Ctrl CM and added the 2Ctrl, Interlock, and Permit variants to the CM instance. I&rsquo;d like to make the appropriate interconnections to my valve&rsquo;s chart, so let&rsquo;s look at the various options available.</p>

<p class="wp-block-paragraph">The most obvious method is to open the CFC editor and make interconnections by selecting block IOs. This should be no surprise, it&nbsp;is a completely valid method of addressing IO or interconnecting blocks.</p>

<p class="wp-block-paragraph">I&rsquo;ll interconnect my valve&rsquo;s open feedback limit switch using&nbsp;this method. Navigate to sheet B, page 1 where you&rsquo;ll find the GSH block. Right-click on PV_In and select &lsquo;Interconnection to Address.&rsquo; I&rsquo;ll search for the device symbol that I previously created in the Symbol Table: ZSO-0101. Selecting the symbol will automatically address the correct memory location for this input: I70.2.</p>

<figure class="wp-block-image"><img decoding="async" alt="GSH block device symbol table" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/GSH-block-device-symbol-table-screenshot.png"  /></figure>

<p class="wp-block-paragraph">The technological IOs above the chart can save you a bit of time navigating between sheets. It summarizes all the pertinent information for the technological type in one convenient location. For example, if we wanted to use the technological IOs to make the closed feedback limit switch interconnection, we could simply open the appropriate object in the technological tree (GSL in this case), click on the signal we want to interconnect (PV_In), and select New Signal Interconnection. This brings up the same symbol navigator as before, where I&rsquo;ll select ZSC-0101, the symbol for my valve&rsquo;s closed limit switch.</p>

<figure class="wp-block-image"><img decoding="async" alt="Symbol Navigator with New Signal Inconntion" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Symbol-Navigator-with-New-Signal-Inconnection-screenshots.png"  /></figure>

<p class="wp-block-paragraph">The summary view provided by the technological IO editor is a convenient way to make interconnections &mdash; although it does not lend itself to bulk engineering. For example, Imagine I had multiple valves to configure. I could open each chart and make these interconnections. I could also leverage the Technological View in Simatic Manager to streamline this process.</p>

<p class="wp-block-paragraph">In the Technological View, browse to the project hierarchy folder that contains your CM instance. In this case, there is only one CM; however, if you find the interface cluttered, you can apply filters (Filter by Column) to selectively view only the objects you care about. Head to the Signals tab to view the chart IOs. Here, you can quickly assign a symbol to the Signal property for each of the available chart signals.</p>

<p class="wp-block-paragraph">In addition to addressing IO points, you can make interconnections to Parameters (such as the Interlock and Protect block inputs on the Parameters tab) or modify the default Event texts on the Messages tab.</p>

<figure class="wp-block-image"><img decoding="async" alt="Interconnections to Parameters screenshot" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Interconnections-to-Parameters-screenshot.png"  /></figure>

<p class="wp-block-paragraph">There are multiple ways to make interconnections on PCS7, and each of them has its place. The Siemens BPCM Library lends itself to bulk engineering via the Technological View. If you&rsquo;re considering PCS7 for your next process automation project, reach out to us at DMC!</p>

<p class="wp-block-paragraph"><strong>Learn more about DMC&rsquo;s&nbsp;<a href="https://static.dmcinfo.com/about/partners/siemens-solution-partner">Siemens Solutions Partnership</a>&nbsp;and&nbsp;<a href="https://static.dmcinfo.com/contact">contact us</a>&nbsp;for your next project.&nbsp;</strong></p>

<p class="wp-block-paragraph"><strong>Read part one of this series:&nbsp;<a href="https://static.dmcinfo.com/latest-thinking/blog/id/10333/introduction-to-siemens-best-practice-control-modules">Introduction to Siemens Best Practice Control Modules</a></strong></p>
<p>The post <a href="https://static.dmcinfo.com/blog/18473/bulk-engineering-with-siemens-bpcm-in-pcs7/">Bulk Engineering with Siemens BPCM in PCS7</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Introduction to Siemens Best Practice Control Modules</title>
		<link>https://static.dmcinfo.com/blog/18478/introduction-to-siemens-best-practice-control-modules/</link>
		
		<dc:creator><![CDATA[Keith Krotzer]]></dc:creator>
		<pubDate>Thu, 26 May 2022 18:31:02 +0000</pubDate>
				<category><![CDATA[Siemens PLC]]></category>
		<category><![CDATA[BPCM]]></category>
		<category><![CDATA[PCS7]]></category>
		<category><![CDATA[Siemens]]></category>
		<category><![CDATA[Siemens Best Practice Control Modules]]></category>
		<category><![CDATA[Siemens BPCM Library]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/blog/18478/introduction-to-siemens-best-practice-control-modules/</guid>

					<description><![CDATA[<p>The reusability of code is fundamental to saving development time as well as reducing the number of headaches on commissioning and startup. Solid, proven libraries (like the Siemens Best Practice Control Modules (BPCMs)) are key tools to developing consistent code throughout your PCS7 project. This blog aims to introduce you to the Siemens BPCM Library [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/18478/introduction-to-siemens-best-practice-control-modules/">Introduction to Siemens Best Practice Control Modules</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">The reusability of code is fundamental to saving development time as well as reducing the number of headaches on commissioning and startup. Solid, proven libraries (like the Siemens Best Practice Control Modules (BPCMs)) are key tools to developing consistent code throughout your PCS7 project. This blog aims to introduce you to the Siemens BPCM Library and highlight some reasons you should use it.</p>



<h2 class="wp-block-heading" id="h-what-is-the-bpcm">What is the BPCM?</h2>



<p class="wp-block-paragraph">The Siemens BPCM takes its cue from the S-88 batch model. It&nbsp;aims to give developers a predeveloped and&nbsp;tested library of control modules, the lowest level of the S-88 model. Control modules may reference actual hardware, like valves or motors, or they may consist of a controller and an actuator such as a PID temperature controller and modulating globe valve. The BPCM contains fully developed control modules to address all of the routine equipment and controllers throughout your plant.</p>



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



<p class="wp-block-paragraph">Not every valve is identical. Whereas one may be a normally closed air-over-spring valve with no feedback, an adjacent valve may be air-over-air with position feedback on either end of its stroke. The BPCM recognizes there is no one-size-fits-all valve prototype and it also eases a developer’s pain by providing variants on the control module to account for these differences.</p>



<p class="wp-block-paragraph">Drag a Vlv_1Ctrl object from the library into your project hierarchy to create an instance of the control module type and give the object a unique and meaningful name. In this case, the valve I’ve created corresponds to YZ-0101 on my P&amp;ID, so I’ll run with that. By right clicking on the object, you’ll see the option to define CM Variants:</p>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/Define-CM-Variants-for-the-object-screenshot.png" alt="Define CM Variants for the object"/></figure>



<p class="wp-block-paragraph">Variants are optional ways you can modify the behavior of the CM type. Below, you can see I’ve selected the 2Ctrl, Interlock, and Permit variants. These variants will create additional blocks on this instance of the Vlv_1Ctrl object – namely, it will create Pcs7DiOu blocks to control the valve in either direction (open vs. close) as well as provide Intlk08 blocks that I can use for my valve interlocks and permissive.</p>



<figure class="wp-block-image"><img decoding="async" src="https://static.dmcinfo.com/wp-content/uploads/2025/05/CM-Variants-valve-interlocks-and-permissives-screenshot.png" alt="CM Variants value interlocks and permissives"/></figure>



<p class="wp-block-paragraph">With just a few clicks, we’ve created all of the required blocks to configure our valve. From here, we can configure the connections for our CM with either the Technology view (great for bulk engineering) or on the CM’s chart in the Continuous Function Chart editor.</p>



<p class="wp-block-paragraph">It’s always better to let the tools do the work for you — in this case, the Siemens BPCM Library is an essential tool to developing consistent, manageable code in Siemens PCS7. If you’re considering PCS7 for your next process automation project, reach out to us at DMC!</p>



<p class="wp-block-paragraph"><strong>Learn more about DMC’s&nbsp;<a href="https://static.dmcinfo.com/about/partners/siemens-solution-partner">Siemens Solutions Partnership</a>&nbsp;and&nbsp;<a href="https://static.dmcinfo.com/contact">contact us</a>&nbsp;for your next project.&nbsp;</strong></p>



<p class="wp-block-paragraph"><strong>Read part two&nbsp;of this series:&nbsp;<a href="https://static.dmcinfo.com/latest-thinking/blog/id/10334/bulk-engineering-with-siemens-bcpm-in-pcs7">Bulk Engineering with Siemens BCPM in PCS7</a></strong></p>
<p>The post <a href="https://static.dmcinfo.com/blog/18478/introduction-to-siemens-best-practice-control-modules/">Introduction to Siemens Best Practice Control Modules</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Configuring PLCSIM Advanced for Modbus Testing</title>
		<link>https://static.dmcinfo.com/blog/18994/configuring-plcsim-advanced-for-modbus-testing/</link>
		
		<dc:creator><![CDATA[Keith Krotzer]]></dc:creator>
		<pubDate>Tue, 21 Sep 2021 18:23:27 +0000</pubDate>
				<category><![CDATA[PLC]]></category>
		<category><![CDATA[Siemens PLC]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/blog/18994/configuring-plcsim-advanced-for-modbus-testing/</guid>

					<description><![CDATA[<p>After writing about the benefits of hardware simulation, and PLCSIM Advanced in particular, I spent some time thinking of other great ways I&apos;ve used this tool to improve the development process. Another area that PLCSIM Advanced really shines is testing Modbus communications. Perhaps you&apos;re in the development phase and want to simulate, or maybe you&apos;re [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/18994/configuring-plcsim-advanced-for-modbus-testing/">Configuring PLCSIM Advanced for Modbus Testing</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class="wp-block-paragraph">After writing about the benefits of hardware simulation, and PLCSIM Advanced in particular, I spent some time thinking of other great ways I&apos;ve used this tool to improve the development process. Another area that PLCSIM Advanced really shines is testing Modbus communications.</p>

<p class="wp-block-paragraph">Perhaps you&apos;re in the development phase and want to simulate, or maybe you&apos;re commissioning and want to confirm everything will go as planned before downloading to critical systems. In both cases, PLCSIM Advanced is the tool you&apos;ll want to know how to use. This blog piggybacks heavily on Nikhil Holay&apos;s blog <a href="https://static.dmcinfo.com/latest-thinking/blog/id/9698/5-tips-for-getting-started-in-plcsim-advanced">5 Tips For Getting Started In PLCSIM Advanced</a>, but you might also check out my previous blog&nbsp;<a href="https://static.dmcinfo.com/latest-thinking/blog/id/10263/configuring-plcsim-advanced-for-plc-and-ignition-development-over-opc-ua">Configuring PLCSIM Advanced for PLC and Ignition Development over OPC UA</a> if you&apos;ve still got questions.</p>

<h2 class="wp-block-heading">What About Modbus?</h2>

<p class="wp-block-paragraph">In addition to PLCSIM Advanced, you&rsquo;ll want to grab another tool,&nbsp;<a href="https://www.modbustools.com/download.html" rel="no follow" target="_blank">Modbus Poll</a>, and install it on the same VM (or host machine) as PLCSIM Advanced. For this example, I&rsquo;ll simply read the first 10 holding registers I configured on my PLC.</p>

<p class="wp-block-paragraph">First, I created the MB_SERVER object in my project. A TCON_IP_v4 object is required to configure the Modbus server, and you&rsquo;ll want to also include a&nbsp;non-optimized DB with your holding registers as well. For a great in-depth discussion of what&rsquo;s going on with this block, check out Jason Mayes&rsquo;s blog <a href="https://static.dmcinfo.com/latest-thinking/blog/id/8869/using-an-s7-1200-plc-as-a-modbus-tcp-slave">Using an S7-1200 PLC as a Modbus TCP Slave</a>.</p>

<figure class="wp-block-image"><img decoding="async" alt="Screenshot: MB_SERVER object in Siemens TIA Portal." src="https://static.dmcinfo.com/wp-content/uploads/2025/05/mb_server_instance_1.png" /></figure>

<p class="wp-block-paragraph">In this example, we&rsquo;ll be communicating over TCP/IP, so set the ConnectionType to 11 and LocalPort to 502 (although these should be set by default).</p>

<figure class="wp-block-image"><img decoding="async" alt="Screenshot: TCON_IP_v4 connection parameters object in Siemens TIA Portal." src="https://static.dmcinfo.com/wp-content/uploads/2025/05/tcon_parameters_1.png" /></figure>

<p class="wp-block-paragraph">When you first open a connection in Modbus Poll, you&rsquo;ll be prompted to configure the connection settings. Just enter the IP address of your PLCSIM Advance controller, the same port you configured in Portal, and verify you&rsquo;re using Modbus TCP/IP.</p>

<figure class="wp-block-image"><img decoding="async" alt="Screenshot: Connection Setup dialog in Modbus Poll." src="https://static.dmcinfo.com/wp-content/uploads/2025/05/modbus_connection_setup_1.png" /></figure>

<p class="wp-block-paragraph">After you press OK, it will return to the main screen where you&rsquo;ll see a table with 10 entries corresponding to the first 10 holding registers on your Modbus server. If all of your communication settings are correct, the data in Modbus Poll should match what&rsquo;s online with your simulated PLC.</p>

<figure class="wp-block-image"><img decoding="async" alt="Screenshot left: Modbus holding registers in Modbus Poll. Screenshot right: Modbus holding registers in Siemens TIA Portal." src="https://static.dmcinfo.com/wp-content/uploads/2025/05/modbus_registers.png" /></figure>

<p class="wp-block-paragraph">If you&rsquo;d like to extend the number of registers&nbsp;or test something other than Read Holding Registers, navigate to Setup -&gt; Read/Write Definition screen to modify these settings.</p>

<figure class="wp-block-image"><img decoding="async" alt="Screenshot: Read/Write Definitions setup menu in Modbus Poll." src="https://static.dmcinfo.com/wp-content/uploads/2025/05/read_write_definitions_1.png" /></figure>

<h2 class="wp-block-heading">Conclusion</h2>

<p class="wp-block-paragraph">PLC emulation is a great development tool, and PLCSIM Advanced makes it easy to test Modbus communications without physical hardware and&nbsp;without interruptions of service to critical systems.</p>

<p class="wp-block-paragraph"><strong>You can learn more about our <a href="https://static.dmcinfo.com/services/manufacturing-automation-and-intelligence/plc-programming/siemens-s7-plc-programming">Siemens</a>&nbsp;expertise, or <a href="https://static.dmcinfo.com/contact">contact DMC</a> to discuss your next project.</strong></p>
<p>The post <a href="https://static.dmcinfo.com/blog/18994/configuring-plcsim-advanced-for-modbus-testing/">Configuring PLCSIM Advanced for Modbus Testing</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Configuring PLCSIM Advanced for PLC and Ignition Development over OPC UA</title>
		<link>https://static.dmcinfo.com/blog/19020/configuring-plcsim-advanced-for-plc-and-ignition-development-over-opc-ua/</link>
		
		<dc:creator><![CDATA[Keith Krotzer]]></dc:creator>
		<pubDate>Wed, 08 Sep 2021 17:48:34 +0000</pubDate>
				<category><![CDATA[HMI and SCADA]]></category>
		<category><![CDATA[Ignition]]></category>
		<category><![CDATA[Manufacturing Automation & Intelligence]]></category>
		<category><![CDATA[Siemens PLC]]></category>
		<guid isPermaLink="false">https://static.dmcinfo.com/blog/19020/configuring-plcsim-advanced-for-plc-and-ignition-development-over-opc-ua/</guid>

					<description><![CDATA[<p>The ability to simulate hardware is an invaluable tool to keep in your development kit. It allows you to develop remotely, test changes without interrupting critical systems, and more. This blog serves as an addendum to Nikhil Holay&#8217;s informative blog 5 Tips For Getting Started In PLCSIM Advanced. What if PLCSIM Advanced Doesn&#8217;t Work Out [&#8230;]</p>
<p>The post <a href="https://static.dmcinfo.com/blog/19020/configuring-plcsim-advanced-for-plc-and-ignition-development-over-opc-ua/">Configuring PLCSIM Advanced for PLC and Ignition Development over OPC UA</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p class="wp-block-paragraph">The ability to simulate hardware is an invaluable tool to keep in your development kit. It allows you to develop remotely, test changes without interrupting critical systems, and more. This blog serves as an addendum to Nikhil Holay&rsquo;s informative blog <a href="https://static.dmcinfo.com/latest-thinking/blog/id/9698/5-tips-for-getting-started-in-plcsim-advanced" target="_blank">5 Tips For Getting Started In PLCSIM Advanced</a>.</p>

<h2 class="wp-block-heading">What if PLCSIM Advanced Doesn&rsquo;t Work Out of the Box?</h2>

<p class="wp-block-paragraph">Generally, configuration of PLCSIM is straightforward. However, you may run into a few hiccups along the way. In both of the following cases, PLCSIM provides helpful advice to a smooth resolution. For example, you may attempt to configure your adapter and receive the following notification.<span id="cke_bm_444C" style="display: none;">&nbsp;</span></p>

<figure class="wp-block-image"><img decoding="async" alt="Screenshot: Siemens PLCSIM Virtual  ethernet Adapter was not found." src="https://static.dmcinfo.com/wp-content/uploads/2025/05/adapter_not_found_1.png"  /></figure>

<p class="wp-block-paragraph">If that&rsquo;s the case, reinstalling the software is a quick way to getting on with your project. You may also come across the following.</p>

<figure class="wp-block-image"><img decoding="async" alt="Screenshot: Siemens PLCSIM Virtual  ethernet Adapter is disabled." src="https://static.dmcinfo.com/wp-content/uploads/2025/05/adapter_disabled_1.png"  /></figure>

<p class="wp-block-paragraph">This&nbsp;is even easier to handle. Browse to your Network Connections and simply enable the correct virtual adapter.</p>

<figure class="wp-block-image"><img decoding="async" alt="Screenshot: Enable the Siemens PLCSIM Virtual Ethernet Adapter in Network Connections." src="https://static.dmcinfo.com/wp-content/uploads/2025/05/enable_adapter_1.png"  /></figure>

<h2 class="wp-block-heading">Configuring an S7-1500 Processor</h2>

<p class="wp-block-paragraph">With those details out of the way, you should be ready to go! But where exactly are you headed? Are you looking to develop code for a Siemens PLC that supports OPC UA? Are you building an Ignition HMI project? Do you want to build each of these out on the same machine?</p>

<p class="wp-block-paragraph">If you answered an emphatic &quot;Yes!&quot; to the above, PLCSIM Advanced has you covered. Just make sure to select a processor in TIA Portal that has an integrated OPC UA server. For an S7-1500, you&rsquo;ll need V2.0 or above. The same is true for an ET 200, with the caveat that the ET 200S series controllers don&rsquo;t support OPC UA. PLCSIM Advanced does not support S7-1200 controllers at the time of publishing.</p>

<p class="wp-block-paragraph">If you&apos;re adapting an existing solution to fit your development needs, fear not. Changing the version of your virtual controller is even easier than swapping real hardware. In the Devices &amp; Network view, right click on the PLC and select &ldquo;Change Device.&rdquo; On the left, Portal will give you a description of the current device, and on the right you can select a new device and its version from the dropdown menu.</p>

<figure class="wp-block-image"><img decoding="async" alt="Screenshot: Changing S7-1500 PLC device version in Siemens TIA Portal." src="https://static.dmcinfo.com/wp-content/uploads/2025/05/change_device_1.png"  /></figure>

<h2 class="wp-block-heading">How Do I Configure the OPC UA Server Settings?</h2>

<p class="wp-block-paragraph">After creating your device, you&rsquo;ll want to configure the OPC UA server options, again in TIA Portal. Head to the device Properties and click on OPC UA. You&rsquo;ll want to Activate the server and proceed, leaving the remaining settings at their defaults.</p>

<figure class="wp-block-image"><img decoding="async" alt="Screenshot: Activating OPC UA server in Siemens TIA Portal." src="https://static.dmcinfo.com/wp-content/uploads/2025/05/activate_opc_ua_server_1.png"  /></figure>

<p class="wp-block-paragraph">You&rsquo;ll also need to select the appropriate license under the Runtime licenses menu.</p>

<figure class="wp-block-image"><img decoding="async" alt="Screenshot: Activating OPC UA license in Siemens TIA Portal." src="https://static.dmcinfo.com/wp-content/uploads/2025/05/activate_opc_ua_license_1.png"  /></figure>

<p class="wp-block-paragraph">After everything is configured in your project, you&rsquo;re good to go! Download your project to the PLCSIM Advanced controller you already created as if it were real hardware&ndash;see Tip One, Step 3 in <a href="https://static.dmcinfo.com/latest-thinking/blog/id/9698/5-tips-for-getting-started-in-plcsim-advanced" target="_blank">Nikhil&rsquo;s blog</a>.</p>

<h2 class="wp-block-heading">Configuring PLCSIM Advanced for Development Across Machines</h2>

<p class="wp-block-paragraph">If you&rsquo;re planning do development in TIA Portal and Ignition on the same local machine (or VM), use the option for TCP/IP communication with the &lt;Local&gt; network adapter selected. If your Ignition server resides on a different machine or VM, you&rsquo;ll want to select the network adapter of the machine running PLCSIM.</p>

<p class="wp-block-paragraph">How does all of this work on the Ignition side? Thankfully, it&rsquo;s as straightforward as working with real hardware. On your Ignition server,&nbsp;add a new OPC UA Connection, point the Endpoint URL to your virtual PLC, and proceed as usual.</p>

<figure class="wp-block-image"><img decoding="async" alt="Screenshot: Configuring a new OPC Connection in Inductive Automation Ignition." src="https://static.dmcinfo.com/wp-content/uploads/2025/05/configure_opc_ua_connection_1.png"  /></figure>

<p class="wp-block-paragraph">If the two pieces of software are on the same machine or VM, you should be ready to go. If your Ignition server and PLCSIM are on separate VMs and Ignition indicates there is an issue, you&rsquo;ll want to make sure the two are both set to share the host&rsquo;s network (via NAT or another method). Check your VM&rsquo;s Network Adapter settings to be sure.</p>

<h2 class="wp-block-heading">Conclusion</h2>

<p class="wp-block-paragraph">PLC emulation is a great development tool, and PLCSIM Advanced makes it easy to develop your Siemens PLC and Ignition projects concurrently.</p>

<p class="wp-block-paragraph"><strong>You can learn more about our <a href="https://static.dmcinfo.com/services/manufacturing-automation-and-intelligence/plc-programming/siemens-s7-plc-programming">Siemens</a> and <a href="https://static.dmcinfo.com/services/manufacturing-automation-and-intelligence/hmi-and-scada-programming/ignition-programming">Ignition</a> expertise, or <a href="https://static.dmcinfo.com/contact">contact DMC</a> to discuss your next project.</strong></p>
<p>The post <a href="https://static.dmcinfo.com/blog/19020/configuring-plcsim-advanced-for-plc-and-ignition-development-over-opc-ua/">Configuring PLCSIM Advanced for PLC and Ignition Development over OPC UA</a> appeared first on <a href="https://static.dmcinfo.com/">DMC, Inc.</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
