<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.ibhsoftec.com/en/index.php?action=history&amp;feed=atom&amp;title=S7-SoftPLC%3AConfiguration_TwinCAT_I%2FO</id>
	<title>S7-SoftPLC:Configuration TwinCAT I/O - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.ibhsoftec.com/en/index.php?action=history&amp;feed=atom&amp;title=S7-SoftPLC%3AConfiguration_TwinCAT_I%2FO"/>
	<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Configuration_TwinCAT_I/O&amp;action=history"/>
	<updated>2026-05-14T17:55:18Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Configuration_TwinCAT_I/O&amp;diff=1016&amp;oldid=prev</id>
		<title>Jonas at 06:55, 17 January 2013</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Configuration_TwinCAT_I/O&amp;diff=1016&amp;oldid=prev"/>
		<updated>2013-01-17T06:55:09Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 06:55, 17 January 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l111&quot;&gt;Line 111:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 111:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;! Parameter !! Type of Data !! Description&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;! Parameter !! Type of Data !! Description&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|style=&quot;width:9em&quot;| LADDR ||style=&quot;width:9em&quot;| WORD || Start address of outputs to be &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;read&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|style=&quot;width:9em&quot;| LADDR ||style=&quot;width:9em&quot;| WORD || Start address of outputs to be &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;written&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| RECORD || ANY || ANY-Pointer on data to be written&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| RECORD || ANY || ANY-Pointer on data to be written&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Configuration_TwinCAT_I/O&amp;diff=1015&amp;oldid=prev</id>
		<title>Jonas at 06:53, 17 January 2013</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Configuration_TwinCAT_I/O&amp;diff=1015&amp;oldid=prev"/>
		<updated>2013-01-17T06:53:10Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 06:53, 17 January 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l30&quot;&gt;Line 30:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 30:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;With a right-click on Additional Tasks &amp;amp;gt;&amp;amp;gt; Append Task... a new task is created. The task represents the &amp;#039;&amp;#039;S7-SoftPLC&amp;#039;&amp;#039;s process images.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;With a right-click on Additional Tasks &amp;amp;gt;&amp;amp;gt; Append Task... a new task is created. The task represents the &amp;#039;&amp;#039;S7-SoftPLC&amp;#039;&amp;#039;s process images.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Important task settings&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Important task settings&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l38&quot;&gt;Line 38:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 39:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If this option is selected, the TwinCAT I/O driver has to be configured in such a way, that it can independently detect, whether the PLC is still operational, in order to switch the outputs of the I/O components into a defined state, if necessary.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If this option is selected, the TwinCAT I/O driver has to be configured in such a way, that it can independently detect, whether the PLC is still operational, in order to switch the outputs of the I/O components into a defined state, if necessary.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Configuring a task&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Configuring a task&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Configuration_TwinCAT_I/O&amp;diff=1014&amp;oldid=prev</id>
		<title>Jonas at 06:52, 17 January 2013</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Configuration_TwinCAT_I/O&amp;diff=1014&amp;oldid=prev"/>
		<updated>2013-01-17T06:52:16Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 06:52, 17 January 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l11&quot;&gt;Line 11:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 11:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Accessing ADS-functions from the PLC-program&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Accessing ADS-functions from the PLC-program&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;== Inserting a station in TwinCAT System Manager &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Inserting a station in TwinCAT System Manager ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Image:TwinCAT%20d1.png|frame|none]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Image:TwinCAT%20d1.png|frame|none]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l25&quot;&gt;Line 25:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 25:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If agreed, all available I/O components will be scanned. The I/O components are now known to the TwinCAT I/O and can be accessed.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If agreed, all available I/O components will be scanned. The I/O components are now known to the TwinCAT I/O and can be accessed.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;== Creating a task in the TwinCAT System Manager &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Creating a task in the TwinCAT System Manager ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Image:TwinCAT%20d4.png|frame|none]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Image:TwinCAT%20d4.png|frame|none]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l57&quot;&gt;Line 57:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 57:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If the set of variables is linked with the task, the configuration has to be activated. Thereafter the TwinCAT I/O-task is ready for use, as soon as it is switched into Run-Mode.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If the set of variables is linked with the task, the configuration has to be activated. Thereafter the TwinCAT I/O-task is ready for use, as soon as it is switched into Run-Mode.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;== Calling special functions and ADS functions from the PLC-program &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Calling special functions and ADS functions from the PLC-program ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;SFC 14&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;SFC 14&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Configuration_TwinCAT_I/O&amp;diff=1013&amp;oldid=prev</id>
		<title>Jonas: Created page with &quot;The driver allows to exchange I/O data with &#039;&#039;S7-SoftPLC&#039;&#039; via the Beckhoff TwinCAT I/O driver. With the TwinCAT I/O driver every I/O component supported by Beckhoff can be ac...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Configuration_TwinCAT_I/O&amp;diff=1013&amp;oldid=prev"/>
		<updated>2013-01-17T06:51:17Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;The driver allows to exchange I/O data with &amp;#039;&amp;#039;S7-SoftPLC&amp;#039;&amp;#039; via the Beckhoff TwinCAT I/O driver. With the TwinCAT I/O driver every I/O component supported by Beckhoff can be ac...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;The driver allows to exchange I/O data with &amp;#039;&amp;#039;S7-SoftPLC&amp;#039;&amp;#039; via the Beckhoff TwinCAT I/O driver. With the TwinCAT I/O driver every I/O component supported by Beckhoff can be accessed, so that this driver is independent from the used fieldbus.&lt;br /&gt;
&lt;br /&gt;
To access the Beckhoff peripheral components with &amp;#039;&amp;#039;S7-SoftPLC&amp;#039;&amp;#039;, the TwinCAT I/O driver from Beckhoff has to be installed and licensed on the computer.&lt;br /&gt;
The I/O tasks, that are supposed to be used with &amp;#039;&amp;#039;S7-SoftPLC&amp;#039;&amp;#039;, must be configured with the Beckhoff TwinCAT System Manager.&lt;br /&gt;
The TwinCatIO.dll maps the process images to the Beckhoff I/O components. Acyclic accesses via peripheral commands are as well possible as the acyclic access with a SFC/FC.&lt;br /&gt;
&lt;br /&gt;
In order to use the driver, the following steps are necessary:&lt;br /&gt;
&lt;br /&gt;
* Inserting a station in TwinCAT System Manager&lt;br /&gt;
* Creating a task in TwinCAT System Manager&lt;br /&gt;
* Accessing ADS-functions from the PLC-program&lt;br /&gt;
&lt;br /&gt;
=== Inserting a station in TwinCAT System Manager ===&lt;br /&gt;
&lt;br /&gt;
[[Image:TwinCAT%20d1.png|frame|none]]&lt;br /&gt;
&lt;br /&gt;
With a right-click on I/O Devices &amp;amp;gt;&amp;amp;gt; Scan Devices... a dialogue appears in which an I/O component can be selected (if it is available in the net).&lt;br /&gt;
&lt;br /&gt;
[[Image:TwinCAT%20d2.png|frame|none]]&lt;br /&gt;
&lt;br /&gt;
After having selected the desired device, TwinCAT System Manager asks, whether to scan for new boxes.&lt;br /&gt;
&lt;br /&gt;
[[Image:TwinCAT%20d3.png|frame|none]]&lt;br /&gt;
&lt;br /&gt;
If agreed, all available I/O components will be scanned. The I/O components are now known to the TwinCAT I/O and can be accessed.&lt;br /&gt;
&lt;br /&gt;
=== Creating a task in the TwinCAT System Manager ===&lt;br /&gt;
&lt;br /&gt;
[[Image:TwinCAT%20d4.png|frame|none]]&lt;br /&gt;
&lt;br /&gt;
With a right-click on Additional Tasks &amp;amp;gt;&amp;amp;gt; Append Task... a new task is created. The task represents the &amp;#039;&amp;#039;S7-SoftPLC&amp;#039;&amp;#039;s process images.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important task settings&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Port:&amp;#039;&amp;#039;&amp;#039; The port with the number 301 normally serves as process image for &amp;#039;&amp;#039;S7-SoftPLC&amp;#039;&amp;#039;. It is also accessible via a SFC/FC.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;AutoStart:&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;S7-SoftPLC&amp;#039;&amp;#039; triggers the fieldbus and thus informs the TwinCAT driver, that it is still operational. The option AutoStart normally must not be chosen.&lt;br /&gt;
&lt;br /&gt;
If this option is selected, the TwinCAT I/O driver has to be configured in such a way, that it can independently detect, whether the PLC is still operational, in order to switch the outputs of the I/O components into a defined state, if necessary.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Configuring a task&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
To be able to access the I/O components, the I/O points have to be linked with the task. With a right-click on Inputs or Outputs &amp;amp;gt;&amp;amp;gt; Insert Variable... the I/O points can be assigned to the task.&lt;br /&gt;
&lt;br /&gt;
[[Image:TwinCAT%20d5.png|frame|none]]&lt;br /&gt;
&lt;br /&gt;
Depending on the available I/O point an adequate type of variable has to be selected.&lt;br /&gt;
&lt;br /&gt;
[[Image:TwinCAT%20d6.png|frame|none]]&lt;br /&gt;
&lt;br /&gt;
If the variable is declared, it has to be linked with the I/O component. For this activate the button Linked to...to create a link between the variable and the I/O-point.&lt;br /&gt;
&lt;br /&gt;
[[Image:TwinCAT%20d7.png]] &lt;br /&gt;
 &lt;br /&gt;
[[Image:TwinCAT%20d8.png]]&lt;br /&gt;
&lt;br /&gt;
If the set of variables is linked with the task, the configuration has to be activated. Thereafter the TwinCAT I/O-task is ready for use, as soon as it is switched into Run-Mode.&lt;br /&gt;
&lt;br /&gt;
=== Calling special functions and ADS functions from the PLC-program ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;SFC 14&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Via the SFC &amp;amp;quot;DPRD_DAT&amp;amp;quot; inputs can be read out of the TwinCAT I/O task&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| CALL || SFC/FC 14 &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:8em&amp;quot;|  LADDR ||style=&amp;quot;width:12em&amp;quot;|  := W#16#100  ||  //INPUT WORD&lt;br /&gt;
|-&lt;br /&gt;
| RET_VAL || := MW 0 || //RESULT INT&lt;br /&gt;
|-&lt;br /&gt;
| RECORD || := P#M 100.0 BYTE 1  || //OUTPUT ANY&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameter !! Type of Data !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:9em&amp;quot;| LADDR ||style=&amp;quot;width:9em&amp;quot;| WORD || Start address of inputs to be read&lt;br /&gt;
|-&lt;br /&gt;
| RET_VAL || INT || 0 on success&lt;br /&gt;
|-&lt;br /&gt;
| RECORD || ANY || ANY-Pointer to readout data&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;SFC 15&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Via the SFC &amp;amp;quot;DPWR_DAT&amp;amp;quot; outputs can be written into the TwinCAT I/O task&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| CALL || SFC/FC 15 &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:8em&amp;quot;|  LADDR ||style=&amp;quot;width:12em&amp;quot;|  := W#16#100  ||  //INPUT WORD&lt;br /&gt;
|-&lt;br /&gt;
| RECORD || := P#M 102.0 BYTE 1  || //INPUT ANY&lt;br /&gt;
|-&lt;br /&gt;
| RET_VAL || := MW 0 || //RESULT INT&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameter !! Type of Data !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:9em&amp;quot;| LADDR ||style=&amp;quot;width:9em&amp;quot;| WORD || Start address of outputs to be read&lt;br /&gt;
|-&lt;br /&gt;
| RECORD || ANY || ANY-Pointer on data to be written&lt;br /&gt;
|-&lt;br /&gt;
| RET_VAL || INT || 0 on success&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ControlSFC&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Via the SFC &amp;amp;quot;DPWR_DAT&amp;amp;quot; outputs can be written into the TwinCAT I/O task&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| CALL || SFC/FC 1000 &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:8em&amp;quot;|  IN0 ||style=&amp;quot;width:12em&amp;quot;|  := FALSE  ||  //INPUT BOOL&lt;br /&gt;
|-&lt;br /&gt;
| IN1 || := 301 || //INPUT INT&lt;br /&gt;
|-&lt;br /&gt;
| IN2 || := P#M 104.0 BYTE 1 || //RESULT ANY&lt;br /&gt;
|-&lt;br /&gt;
| RET_VAL || := MW 0 || //RESULT INT&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameter !! Type of Data !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:9em&amp;quot;| IN0 ||style=&amp;quot;width:9em&amp;quot;| BOOL || false = Read data from any TwinCAT I/O task&lt;br /&gt;
&lt;br /&gt;
true = Write data into any TwinCAT I/O task&lt;br /&gt;
|-&lt;br /&gt;
| IN1 || INT || Port number of the I/O-task&lt;br /&gt;
|-&lt;br /&gt;
| IN2 || ANY || ANY-Pointer to data to be read/written with adequate length (ANY-pointer of type byte are permitted only)&lt;br /&gt;
|-&lt;br /&gt;
| RET_VAL || INT || 0 = success, otherwise the returned values of the TwinCAT I/O driver are transparently passed through.&lt;br /&gt;
0x0057= ERROR_INVALID_PARAMETER - one of the passed parameters is invalid&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;GetDeviceIdentification&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The SFB &amp;amp;quot;GETDEVID&amp;amp;quot; allows it to read out the device identification data&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| CALL || SFC/FC 1001, DB 1001 &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:8em&amp;quot;|  EXEC ||style=&amp;quot;width:15em&amp;quot;|  := M0.0  ||  //INPUT BOOL&lt;br /&gt;
|-&lt;br /&gt;
| TMOUT || := TIME#0D_0H_0M_1S_0MS || //INPUT TIME&lt;br /&gt;
|-&lt;br /&gt;
| BUSY || := M 0.1 || //OUTPUT BOOL&lt;br /&gt;
|-&lt;br /&gt;
| ERR || := M 0.2 || //OUTPUT BOOL&lt;br /&gt;
|-&lt;br /&gt;
| ERRID || := MD 4 || //OUTPUT DWORD&lt;br /&gt;
|-&lt;br /&gt;
| DEVID || := P#M 10.0 BYTE 214 || //IN_OUT ANY&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameter !! Type of Data !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:9em&amp;quot;| IN0 ||style=&amp;quot;width:9em&amp;quot;| BOOL || TRUE starts the command&lt;br /&gt;
|-&lt;br /&gt;
| IN1 || TIME || Not used, because underlying ADS function timeout is used&lt;br /&gt;
|-&lt;br /&gt;
| OUT2 || BOOL || The data are read from the device. After error-free execution, the data is ready when BUSY = FALSE.&lt;br /&gt;
|-&lt;br /&gt;
| OUT3 || BOOL || Becomes TRUE, as soon as an error occurs &lt;br /&gt;
|-&lt;br /&gt;
| OUT4 || DWORD || Delivers the error number if ERR is set &lt;br /&gt;
|-&lt;br /&gt;
| IO5 || ANY || ST_CxDeviceIdentification (length 214 Byte)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;AdsRead&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The SFB &amp;amp;quot;ADSREAD&amp;amp;quot; allows the execution of an ADS-reading command, to request data from an ADS-device.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| CALL || SFC/FC 1002, DB 1002 &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:8em&amp;quot;|  NETID ||style=&amp;quot;width:15em&amp;quot;|  := #stringvar  ||  //INPUT STRING&lt;br /&gt;
|-&lt;br /&gt;
| PORT || := W#16#0 || //INPUT WORD&lt;br /&gt;
|-&lt;br /&gt;
| IDXGRP || := DW#16#0 || //INPUT DWORD&lt;br /&gt;
|-&lt;br /&gt;
| IDXOFFS || := DW#16#0 || //INPUT DWORD&lt;br /&gt;
|-&lt;br /&gt;
| LEN || := DW#16#0 || //INPUT DWORD&lt;br /&gt;
|-&lt;br /&gt;
| DESTADDR || := P#M 10 BYTE 1 || //INPUT ANY&lt;br /&gt;
|-&lt;br /&gt;
| READ || := M 0.0 || //INPUT BOOL&lt;br /&gt;
|-&lt;br /&gt;
| TMOUT || := TIME#0D_0H_0M_1S_0MS || //INPUT TIME&lt;br /&gt;
|-&lt;br /&gt;
| BUSY || := M 0.1 || //OUTPUT BOOL&lt;br /&gt;
|-&lt;br /&gt;
| ERR || := M 0.2 || //OUTPUT BOOL&lt;br /&gt;
|-&lt;br /&gt;
| ERRID || := MD 4 || //OUTPUT DWORD&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameter !! Type of Data !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:9em&amp;quot;| NETID ||style=&amp;quot;width:9em&amp;quot;| STRING || It is a string providing the AMS network identification of the target device, the ADS-command targets.&lt;br /&gt;
|-&lt;br /&gt;
| PORT || WORD || Contains the port number of the ADS-service&lt;br /&gt;
|-&lt;br /&gt;
| IDXGRP || DWORD || Contains the index group number (32bit, unsigned) of the requested ADS-service. This value can be extracted from the ADS-chart of the addressed device.&lt;br /&gt;
|-&lt;br /&gt;
| IDXOFFS || DWORD || Contains the index offset number (32bit, unsigned) of the requested ADS-service. This value can be extracted from the ADS-chart of the addressed device.&lt;br /&gt;
|-&lt;br /&gt;
| LEN || DWORD || Contains the number of data to be read in bytes.&lt;br /&gt;
|-&lt;br /&gt;
| DESTADDR || ANY || Pointer to the destination buffer. The buffer needs to be big enough to record LEN bytes. The buffer can be a single variable, an array or a structure.&lt;br /&gt;
|-&lt;br /&gt;
| READ || BOOL || On TRUE ADS-command is executed&lt;br /&gt;
|-&lt;br /&gt;
| TMOUT || TIME || Timeout&lt;br /&gt;
|-&lt;br /&gt;
| BUSY || BOOL || This output is TRUE as long as a ADS command is executed. Reset by timeout or success. While showing BUSY=TRUE, no new command is accepted.&lt;br /&gt;
|-&lt;br /&gt;
| ERR || BOOL || This output is TRUE, if an error has occurred during the execution of an ADS command. The command-specific error code is contained in &amp;quot;ERRID&amp;quot;. If a timeout has occured, &amp;quot;ERR&amp;quot; = TRUE and &amp;quot;ERRID&amp;quot; = 1861 (hexadecimal 0x745). A new command resets &amp;quot;ERR&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| ERRID || DWORD || Contains the command-specific error code of the command executed last. A new command resets &amp;quot;ERRID&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;AdsWrite&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The SFB &amp;amp;quot;ADSWRITE&amp;amp;quot; allows the execution of an ADS-writing command, to transmit data to an ADS-device.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| CALL || SFC/FC 1003, DB 1003 &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:8em&amp;quot;|  NETID ||style=&amp;quot;width:15em&amp;quot;|  := #stringvar  ||  //INPUT STRING&lt;br /&gt;
|-&lt;br /&gt;
| PORT || := W#16#0 || //INPUT WORD&lt;br /&gt;
|-&lt;br /&gt;
| IDXGRP || := DW#16#0 || //INPUT DWORD&lt;br /&gt;
|-&lt;br /&gt;
| IDXOFFS || := DW#16#0 || //INPUT DWORD&lt;br /&gt;
|-&lt;br /&gt;
| LEN || := DW#16#0 || //INPUT DWORD&lt;br /&gt;
|-&lt;br /&gt;
| SRCADDR || := P#M 10.0 BYTE 1 || //INPUT ANY&lt;br /&gt;
|-&lt;br /&gt;
| WRITE || := M 0.0 || //INPUT BOOL&lt;br /&gt;
|-&lt;br /&gt;
| TMOUT || := TIME#0D_0H_0M_1S_0MS || //INPUT TIME&lt;br /&gt;
|-&lt;br /&gt;
| BUSY || := M 0.1 || //OUTPUT BOOL&lt;br /&gt;
|-&lt;br /&gt;
| ERR || := M 0.2 || //OUTPUT BOOL&lt;br /&gt;
|-&lt;br /&gt;
| ERRID || := MD 4 || //OUTPUT DWORD&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameter !! Type of Data !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:9em&amp;quot;| NETID ||style=&amp;quot;width:9em&amp;quot;| STRING || It is a string providing the AMS network identification of the target device, the ADS-command targets. &lt;br /&gt;
|-&lt;br /&gt;
| PORT || WORD || Contains the port number of the ADS-service&lt;br /&gt;
|-&lt;br /&gt;
| IDXGRP || DWORD || Contains the index group number (32bit, unsigned) of the requested ADS-service. This value can be extracted from the ADS-chart of the addressed device.&lt;br /&gt;
|-&lt;br /&gt;
| IDXOFFS || DWORD || Contains the index group number (32bit, unsigned) of the requested ADS-service. This value can be extracted from the ADS-chart of the addressed device.&lt;br /&gt;
|-&lt;br /&gt;
| LEN || DWORD || Contains the number of data to be written in bytes.&lt;br /&gt;
|-&lt;br /&gt;
| SRCADDR || ANY || Pointer to the source buffer. The buffer needs to be big enough to hold LEN bytes. The buffer can be a single variable, an array or a structure.&lt;br /&gt;
|-&lt;br /&gt;
| WRITE || BOOL || On TRUE ADS-command is executed &lt;br /&gt;
|-&lt;br /&gt;
| TMOUT || TIME || Timeout&lt;br /&gt;
|-&lt;br /&gt;
| BUSY || BOOL ||This output is TRUE as long as a ADS command is executed. Reset by timeout or success. While BUSY=TRUE, no new command is accepted.&lt;br /&gt;
|-&lt;br /&gt;
| ERR || BOOL || This output is TRUE, if an error has occurred during the execution of an ADS command. The command-specific error code is contained in &amp;quot;ERRID&amp;quot;. If a timeout has occured, &amp;quot;ERR&amp;quot; = TRUE and &amp;quot;ERRID&amp;quot; = 1861 (hexadecimal 0x745). A new command resets &amp;quot;ERR&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| ERRID || DWORD || Contains the command-specific error code of the command executed last. A new command resets &amp;quot;ERRID&amp;quot;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
</feed>