<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.ibhsoftec.com/en/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jonas</id>
	<title>IBHsoftec Wiki English - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.ibhsoftec.com/en/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jonas"/>
	<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=Special:Contributions/Jonas"/>
	<updated>2026-05-14T09:53:06Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=OPCServer:IBH_OPC_Server_with_Siemens_S7-1200_and_S7-1500_PLCs&amp;diff=1428</id>
		<title>OPCServer:IBH OPC Server with Siemens S7-1200 and S7-1500 PLCs</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=OPCServer:IBH_OPC_Server_with_Siemens_S7-1200_and_S7-1500_PLCs&amp;diff=1428"/>
		<updated>2013-04-10T06:53:32Z</updated>

		<summary type="html">&lt;p&gt;Jonas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The PLCs of the S7-1200 and S7-1500 series are equipped with an ethernet port and support S7 communications over Ethernet. The text below describes the configuration settings required to communicate with the &#039;&#039;&#039;&#039;&#039;IBH OPC Server&#039;&#039;&#039;&#039;&#039; and the S7-1200 respectively S7-1500 PLCs.&lt;br /&gt;
&lt;br /&gt;
In the IBH OPC Editor settings dialog Rack=0 and Slot=1 must be chosen, assuming the setting has not been altered in the PLC project settings.&lt;br /&gt;
&lt;br /&gt;
The communication with the S7-1200 respectively S7-1500 is established with S7 connections over Ethernet. The following type of variables can be read or written from S7-1200 and S7-1500 PLCs:&lt;br /&gt;
&lt;br /&gt;
*Order number&lt;br /&gt;
*Inputs&lt;br /&gt;
*Outputs&lt;br /&gt;
*Flags&lt;br /&gt;
*Global DBs, the optimized access must be deactivated.&lt;br /&gt;
&lt;br /&gt;
[[Image:1500-properties-db.png|frame|none]]&lt;br /&gt;
&lt;br /&gt;
===For S7-1500 additional settings are required.===&lt;br /&gt;
&lt;br /&gt;
Additional security settings are necessary with S7-1500 to permit access from the IBH OPC Server. To do so, navigate to the PLC properties &#039;Protection&#039; section. There the Option: &#039;Connection mechanisms - Permit Access over PUT/GET communication from remote partner&#039; must be checked.&lt;br /&gt;
&lt;br /&gt;
[[Image:1500-properties-cpu.png|frame|none]]&lt;br /&gt;
&lt;br /&gt;
After all settings are made, the OPC Server can access the S7-1200 and S7-1500 PLCs.&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=OPCServer:IBH_OPC_Server_with_Siemens_S7-1200_and_S7-1500_PLCs&amp;diff=1427</id>
		<title>OPCServer:IBH OPC Server with Siemens S7-1200 and S7-1500 PLCs</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=OPCServer:IBH_OPC_Server_with_Siemens_S7-1200_and_S7-1500_PLCs&amp;diff=1427"/>
		<updated>2013-04-10T06:53:12Z</updated>

		<summary type="html">&lt;p&gt;Jonas: Created page with &amp;quot;The PLCs of the S7-1200 and S7-1500 series are equipped with an ethernet port and support S7 communications over Ethernet. The text below describes the configuration settings ...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The PLCs of the S7-1200 and S7-1500 series are equipped with an ethernet port and support S7 communications over Ethernet. The text below describes the configuration settings required to communicate with the &#039;&#039;&#039;&#039;&#039;IBH OPC Server&#039;&#039;&#039;&#039;&#039; and the S7-1200 respectively S7-1500 PLCs.&lt;br /&gt;
&lt;br /&gt;
In the IBH OPC Editor settings dialog Rack=0 and Slot=1 must be chosen, assuming the setting has not been altered in the PLC project settings.&lt;br /&gt;
&lt;br /&gt;
The communication with the S7-1200 respectively S7-1500 is established with S7 connections over Ethernet. The following type of variables can be read or written from S7-1200 and S7-1500 PLCs:&lt;br /&gt;
&lt;br /&gt;
*Order number&lt;br /&gt;
*Inputs&lt;br /&gt;
*Outputs&lt;br /&gt;
*Flags&lt;br /&gt;
*Global DBs, the optimized access must be deactivated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:1500-properties-db.png|frame|none]]&lt;br /&gt;
&lt;br /&gt;
===For S7-1500 additional settings are required.===&lt;br /&gt;
&lt;br /&gt;
Additional security settings are necessary with S7-1500 to permit access from the IBH OPC Server. To do so, navigate to the PLC properties &#039;Protection&#039; section. There the Option: &#039;Connection mechanisms - Permit Access over PUT/GET communication from remote partner&#039; must be checked.&lt;br /&gt;
&lt;br /&gt;
[[Image:1500-properties-cpu.png|frame|none]]&lt;br /&gt;
&lt;br /&gt;
After all settings are made, the OPC Server can access the S7-1200 and S7-1500 PLCs.&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=File:1500-properties-db.png&amp;diff=1426</id>
		<title>File:1500-properties-db.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=File:1500-properties-db.png&amp;diff=1426"/>
		<updated>2013-04-10T06:48:07Z</updated>

		<summary type="html">&lt;p&gt;Jonas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=File:1500-properties-cpu.png&amp;diff=1425</id>
		<title>File:1500-properties-cpu.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=File:1500-properties-cpu.png&amp;diff=1425"/>
		<updated>2013-04-10T06:47:46Z</updated>

		<summary type="html">&lt;p&gt;Jonas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=Main_Page&amp;diff=1424</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=Main_Page&amp;diff=1424"/>
		<updated>2013-04-10T06:46:38Z</updated>

		<summary type="html">&lt;p&gt;Jonas: /* OPC Server */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Welcome to the Wiki of IBHsoftec GmbH! [[http://www.ibhsoftec.com/ IBHsoftec GmbH]]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Germany.png|link=http://wiki.ibhsoftec.com/de/Hauptseite]]&amp;lt;br /&amp;gt;&lt;br /&gt;
== S5/S7 for Windows ==&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;1&amp;quot; class=&amp;quot;float-right&amp;quot;&amp;gt;&lt;br /&gt;
Image:10022.png|[http://www.ibhsoftec.com/S57W-Eng S5+S7 for Windows® Version 7]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
* [[S5/S7 for Windows:licensing|licensing]]&lt;br /&gt;
* [[S5/S7 for Windows:Handling of PLC backup archive files|Handling of PLC backup archive files xxx.arv]]&lt;br /&gt;
&lt;br /&gt;
== IBHLink S5++ ==&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;1&amp;quot; class=&amp;quot;float-right&amp;quot;&amp;gt;&lt;br /&gt;
Image:20284.png|[http://www.ibhsoftec.com/IBH-Link-S5-PP-Eng IBHLink S5++]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 for Windows®|Access to a SIMATIC® S5 with &#039;&#039;S5 for Windows®&#039;&#039; without IBH Net driver]]&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 TIA Portal V11 WinCC flexible|Access to a SIMATIC® S5 with TIA Portal V11 WinCC flexible over IBHLink S5++]]&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 WinCC flexible|Access to a SIMATIC® S5 with WinCC flexible over IBHLink S5++]]&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 PLC PcVue|Access to a SIMATIC® S5 with PcVue over IBHLink S5++]]&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 Elipse SCADA|Access to a SIMATIC® S5 with Elipse SCADA over IBHLink S5++]]&lt;br /&gt;
* [[IBHLink S7++:LOGO! with IBHLink S5++|LOGO! with IBHLink S5++]]&lt;br /&gt;
&lt;br /&gt;
== IBHLink S7++ ==&lt;br /&gt;
All listet articles are avlid for the [http://www.ibhsoftec.com/IBH-Link-S7-PP-Eng IBHLink S7++] (bus connector format) and for the [http://www.ibhsoftec.com/IBH-Link-S7-PP-HS-Eng IBHLink S7++ HS] (din rail mount)&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;2&amp;quot; class=&amp;quot;float-right&amp;quot;&amp;gt;&lt;br /&gt;
Image:20266.gif|[http://www.ibhsoftec.com/IBH-Link-S7-PP-Eng IBHLink S7++]&lt;br /&gt;
Image:20268.png|[http://www.ibhsoftec.com/IBH-Link-S7-PP-HS-Eng IBHLink S7++ HS]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
* [[IBHLink S7++:SIMATIC® S5 for Windows®|Access to a SIMATIC® S5 with &#039;&#039;S5 for Windows®&#039;&#039; via SINEC L2]]&lt;br /&gt;
* [[IBHLink S7++:S7-300/S7-400 TIA Portal WinCC flexible|Access to S7-300/S7-400 with TIA Portal V11 WinCC flexible over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:S7-300/S7-400 WinCC flexible|Access to S7-300/S7-400 with WinCC flexible over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:S7-200 WinCC flexible|Access to S7-200 with WinCC flexible over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:S7-300/S7-400 Elipse SCADA|Access to S7-300/S7-400 with Elipse SCADA over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:S7-300/S7-400 PcVue|Access to S7-300/S7-400 with PcVue over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:IBH Link S7++ with CommDTM|IBH Link S7++ with CommDTM]]&lt;br /&gt;
* [[IBHLink S7++:VEGASON IBHNetDTM|IBHNet DTM with PACTware]]&lt;br /&gt;
* [[IBHLink S7++:PLC-PLC communication|PLC-PLC communication]]&lt;br /&gt;
* [[IBHLink S7++:Time Synchronisation|Time Synchronisation]]&lt;br /&gt;
* [[IBHLink S7++:Time Synchronisation with NetPro|Time Synchronisation with NetPro]]&lt;br /&gt;
* [[IBHLink S7++:LOGO! with IBHLink S7++|LOGO! with IBHLink S7++]]&lt;br /&gt;
&lt;br /&gt;
== OPC Server ==&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;1&amp;quot; class=&amp;quot;float-right&amp;quot;&amp;gt;&lt;br /&gt;
Image:1150.png|[http://www.ibhsoftec.com/OPC-Eng IBH OPC Server]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
* [[OPCServer:Overview|Overview]]&lt;br /&gt;
* [[OPCServer:Licensing|Licensing]]&lt;br /&gt;
* [[OPCServer:Server Configuration|Server Configuration]]&lt;br /&gt;
* [[OPCServer:Variable Syntax|Variable Syntax]]&lt;br /&gt;
* [[OPCServer:Optimization|Optimization]]&lt;br /&gt;
* [[OPCServer:DCOM Configuration|DCOM Configuration]]&lt;br /&gt;
* [[OPCServer:Operation with User rights|Operation with User rights]]&lt;br /&gt;
* [[OPCServer:Pro Tool Pro V6|Pro Tool Pro V6]]&lt;br /&gt;
* [[OPCServer:WinCC|WinCC]]&lt;br /&gt;
* [[OPCServer:WinCC Flexible|WinCC Flexible]]&lt;br /&gt;
* [[OPCServer:Create Variables with Intouch FS Gateway|Create Variables with Intouch FS Gateway]]&lt;br /&gt;
* [[OPCServer:Create Variables manually with Intouch|Create Variables manually with Intouch]]&lt;br /&gt;
* [[OPCServer:Create Variables with Intouch TagCreator|Create Variables with Intouch TagCreator]]&lt;br /&gt;
* [[OPCServer:HPI Scada|HPI Scada]]&lt;br /&gt;
* [[OPCServer:Variables from LOGO! RCE|Variables from LOGO! RCE]]&lt;br /&gt;
* [[OPCServer:H1 with OPC Server|H1 with OPC Server]]&lt;br /&gt;
* [[OPCServer:IBH OPC Server with Siemens S7-1200 and S7-1500 PLCs|OPC Server with Siemens S7-1200 and S7-1500 PLCs]]&lt;br /&gt;
&lt;br /&gt;
== S7-SoftPLC ==&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;1&amp;quot; class=&amp;quot;float-right&amp;quot;&amp;gt;&lt;br /&gt;
Image:1302.png|[http://www.ibhsoftec.com/SoftPLC-Eng SoftPLC S7-416]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
* [[S7-SoftPLC:LOGO! with S7-SoftPLC|LOGO! with S7-SoftPLC]]&lt;br /&gt;
* Installation&lt;br /&gt;
** [[S7-SoftPLC:System requirements|System requirements]]&lt;br /&gt;
** [[S7-SoftPLC:Installing S7-SoftPLC|Installation]]&lt;br /&gt;
** [[S7-SoftPLC:Uninstalling S7-SoftPLC|Deinstallation]]&lt;br /&gt;
* Online&lt;br /&gt;
** [[S7-SoftPLC:S7-SoftPLC online functions|Functions]]&lt;br /&gt;
** [[S7-SoftPLC:Online with STEP®7|Online with STEP®7]]&lt;br /&gt;
** [[S7-SoftPLC:Online with S7 for Windows®|Online with S7 for Windows®]]&lt;br /&gt;
* [[S7-SoftPLC:Visualizations|Visualizations]]&lt;br /&gt;
** [[S7-SoftPLC:Using the IBH S7-SoftPLC with Intouch via RFC1006|Using with Intouch via RFC1006]]&lt;br /&gt;
* [[S7-SoftPLC:Data Interface|Data Interface]]&lt;br /&gt;
* User Interface&lt;br /&gt;
** [[S7-SoftPLC:Interface and Configuration|Interface and Configuration]]&lt;br /&gt;
** [[S7-SoftPLC:Classic View|Classic View]]&lt;br /&gt;
** [[S7-SoftPLC:Configuration View|Configuration View]]&lt;br /&gt;
* Menu&lt;br /&gt;
** [[S7-SoftPLC:File menu|File]]&lt;br /&gt;
** [[S7-SoftPLC:Edit menu|Edit]]&lt;br /&gt;
** [[S7-SoftPLC:View menu|View]]&lt;br /&gt;
** [[S7-SoftPLC:Help menu|Help]]&lt;br /&gt;
** [[S7-SoftPLC:Toolbar|Toolbar]]&lt;br /&gt;
** [[S7-SoftPLC:I/O monitor|I/O monitor]]&lt;br /&gt;
* Configuration&lt;br /&gt;
** CPU Parameters&lt;br /&gt;
*** [[S7-SoftPLC:CPU Parameters|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:CPU Parameters of S7-SoftPLC|PLC43.INI]]&lt;br /&gt;
** Driver&lt;br /&gt;
*** [[S7-SoftPLC:Add/remove drivers|Add/remove drivers]]&lt;br /&gt;
*** [[S7-SoftPLC:Add/remove drivers to S7-SoftPLC|Add/remove drivers to S7-SoftPLC]]&lt;br /&gt;
** Addidata&lt;br /&gt;
*** [[S7-SoftPLC:ADDI-DATA configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring the ADDI-DATA driver|Configuration of driver]]&lt;br /&gt;
*** [[S7-SoftPLC:ADDI-DATA driver for S7-SoftPLC|Driver for S7-SoftPLC]]&lt;br /&gt;
**Beckhoff TwinCAT I/O &lt;br /&gt;
*** [[S7-SoftPLC:Configuration TwinCAT I/O|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuration TwinCAT I/O drivers|Configuration of drivers]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuration TwinCAT I/O with PLC43:INI|Configuration with PLC43.INI]]&lt;br /&gt;
*** [[S7-SoftPLC:S7-SoftPLC Service and TwinCat|S7-SoftPLC Service and TwinCat]]&lt;br /&gt;
**CIF 30/50/60&lt;br /&gt;
*** [[S7-SoftPLC:Basic configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring the CIF-card with the SyCon System Configurator|Configuration with System Configurator]]&lt;br /&gt;
*** [[S7-SoftPLC:CIF 30/50/60 Settings|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:CIF 30/50/60 settings of S7-SoftPLC|PLC43.INI]]&lt;br /&gt;
*** [[S7-SoftPLC:PROFIBUS® configuration via S7 for Windows®/STEP®7|PROFIBUS® configuration via S7 for Windows®/STEP®7]]&lt;br /&gt;
** cifX&lt;br /&gt;
*** [[S7-SoftPLC:cifX Basic configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuration of cifX card with SYCON.NET|Configuration with SYCON.NET]]&lt;br /&gt;
*** [[S7-SoftPLC:cifX User Interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:cifX settings of IBHsoftec S7-SoftPLC|Settings of the IBHsoftec S7-SoftPLC]]&lt;br /&gt;
*** [[S7-SoftPLC:cifX PROFIBUS® configuration via S7 for Windows®/STEP®7|PROFIBUS® configuration via S7 for Windows®/STEP®7]]&lt;br /&gt;
** CP340/CP440&lt;br /&gt;
*** [[S7-SoftPLC:Configuring CP340/CP440 emulation|Emulation]]&lt;br /&gt;
*** [[S7-SoftPLC:Configure the CP340/CP440 emulation via user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring CP340/440 emulation in PLC43.INI|PLC43.INI]]&lt;br /&gt;
** CP343/CP443 &lt;br /&gt;
*** [[S7-SoftPLC:Configuring CP343/CP443 emulation|Emulation]]&lt;br /&gt;
*** [[S7-SoftPLC:Configure the CP343/CP443 emulation via user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring CP343/443 emulation in PLC43.INI|PLC43.INI]]&lt;br /&gt;
** I/O Port&lt;br /&gt;
*** [[S7-SoftPLC:Configuring PC hardware ports|Configuring PC hardware ports]]&lt;br /&gt;
*** [[S7-SoftPLC:Setting PC hardware port with user interface|User interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Setting PC hardware ports with PLC43.INI|PLC43.INI]]&lt;br /&gt;
** Modbus TCP&lt;br /&gt;
*** [[S7-SoftPLC:Modbus TCP configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring Modbus TCP with the user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring Modbus TCP with PLC43.INI|PLC43.INI]]&lt;br /&gt;
** NVRAM&lt;br /&gt;
*** [[S7-SoftPLC:NVRAM configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:NVRAM configuration with the user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:NVRAM configuration with the PLC43.INI|PLC43.INI]]&lt;br /&gt;
** Softnet PN IO&lt;br /&gt;
*** [[S7-SoftPLC:Softnet PN IO configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring SoftNet with the user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring SoftNet PN IO with PLC43.INI|PLC43.INI]]&lt;br /&gt;
** User SFC&lt;br /&gt;
*** [[S7-SoftPLC:User SFC configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Setting the User SFC&#039;s/FC&#039;s within the user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Setting the User SFC&#039;s/FC&#039;s within the PLC43.INI|PLC43.INI]]&lt;br /&gt;
* [[S7-SoftPLC:Technical data|Technical data]]&lt;br /&gt;
** [[S7-SoftPLC:Instruction set|Instruction set]]&lt;br /&gt;
** [[S7-SoftPLC:STEP®7 Hardwareconfiguration|STEP®7 Hardwareconfiguration]]&lt;br /&gt;
** [[S7-SoftPLC:Diagnostic buffer entries|Diagnostic buffer entries]]&lt;br /&gt;
** [[S7-SoftPLC:Differences between S7-SoftPLC and Hardware-PLC|Differences]]&lt;br /&gt;
** [[S7-SoftPLC:AppStarter|AppStarter]]&lt;br /&gt;
** [[S7-SoftPLC:Zero modem cable|Zero modem cable]]&lt;br /&gt;
&lt;br /&gt;
== S7-PCI315 ==&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;1&amp;quot; class=&amp;quot;float-right&amp;quot;&amp;gt;&lt;br /&gt;
Image:3100.png|[http://www.ibhsoftec.com/SoftPLC-Eng SoftPLC S7-416]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
* [[S7-PCI315:Documentation Overview|Documentation Overview]]&lt;br /&gt;
* [[S7-PCI315:Legal Notes|Legal Notes]]&lt;br /&gt;
* [[S7-PCI315:Licenses|Licenses]]&lt;br /&gt;
* [[S7-PCI315:Safety|Safety]]&lt;br /&gt;
* [[S7-PCI315:Description and Requirements|Description and Requirements]]&lt;br /&gt;
* [[S7-PCI315:Device Drawings|Device Drawings]]&lt;br /&gt;
* [[S7-PCI315:System Overview|System Overview]]&lt;br /&gt;
* [[S7-PCI315:Device Driver Setup|Device Driver Setup]]&lt;br /&gt;
* [[S7-PCI315:Firmware Update|Firmware Update]]&lt;br /&gt;
* [[S7-PCI315:USB driver installation|USB driver installation]]&lt;br /&gt;
* [[S7-PCI315:Install S7netPLCComm service|Install S7netPLCComm service]]&lt;br /&gt;
* [[S7-PCI315:Safety Advices|Safety Advices]]&lt;br /&gt;
* [[S7-PCI315:Installing Battery|Installing Battery]]&lt;br /&gt;
* [[S7-PCI315:Installing S7-PCI315 PLC|Installing S7-PCI315 PLC]]&lt;br /&gt;
* [[S7-PCI315:HMI/data access|HMI/data access]]&lt;br /&gt;
* [[S7-PCI315:S7netPLCComm service|S7netPLCComm service]]&lt;br /&gt;
* [[S7-PCI315:Service configuration|Service configuration]]&lt;br /&gt;
* [[S7-PCI315:Configuration user interface|Configuration user interface]]&lt;br /&gt;
* [[S7-PCI315:Configuration INI file|Configuration INI file]]&lt;br /&gt;
* [[S7-PCI315:WinCC Flexible local|WinCC Flexible local]]&lt;br /&gt;
* [[S7-PCI315:Programming|Programming]]&lt;br /&gt;
* [[S7-PCI315:Instruction set|Instruction set]]&lt;br /&gt;
* [[S7-PCI315:Integrated blocks|Integrated blocks]]&lt;br /&gt;
* [[S7-PCI315:Power Supply|Power Supply]]&lt;br /&gt;
* [[S7-PCI315:Reset Behaviour|Reset Behaviour]]&lt;br /&gt;
* [[S7-PCI315:RUN/STOP Switch|RUN/STOP Switch]]&lt;br /&gt;
* [[S7-PCI315:Battery|Battery]]&lt;br /&gt;
* [[S7-PCI315:Changing the Battery|Changing the Battery]]&lt;br /&gt;
* [[S7-PCI315:Battery Disposal|Battery Disposal]]&lt;br /&gt;
* [[S7-PCI315:LED|LED]]&lt;br /&gt;
* [[S7-PCI315:LED SYS|LED SYS]]&lt;br /&gt;
* [[S7-PCI315:LED APL|LED APL]]&lt;br /&gt;
* [[S7-PCI315:LED PROFIBUS DP-Master|LED PROFIBUS DP-Master]]&lt;br /&gt;
* [[S7-PCI315:Memory Card|Memory Card]]&lt;br /&gt;
* [[S7-PCI315:Storage Behaviour|Storage Behaviour]]&lt;br /&gt;
* [[S7-PCI315:Read State|Read State]]&lt;br /&gt;
* [[S7-PCI315:Dualport communication|Dualport communication]]&lt;br /&gt;
* [[S7-PCI315:Knowledge base|Knowledge base]]&lt;br /&gt;
* [[S7-PCI315:Troubleshooting|Troubleshooting]]&lt;br /&gt;
* [[S7-PCI315:Error Codes|Error Codes]]&lt;br /&gt;
* [[S7-PCI315:Technical Data|Technical Data]]&lt;br /&gt;
&lt;br /&gt;
== IBHNet ==&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;3&amp;quot; class=&amp;quot;float-right&amp;quot;&amp;gt;&lt;br /&gt;
Image:20284.png|[http://www.ibhsoftec.com/IBH-Link-S5-PP-Eng IBHLink S5++]&lt;br /&gt;
Image:20266.gif|[http://www.ibhsoftec.com/IBH-Link-S7-PP-Eng IBHLink S7++]&lt;br /&gt;
Image:20268.png|[http://www.ibhsoftec.com/IBH-Link-S7-PP-HS-Eng IBHLink S7++ HS]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
*[[IBHNet:Introduction|Introduction]]&lt;br /&gt;
*[[IBHNet:System Requirements|System Requirements]]&lt;br /&gt;
*[[IBHNet:Installation|Installation]]&lt;br /&gt;
*[[IBHNet:Local Operation|Local Operation]]&lt;br /&gt;
*[[IBHNet:Operation in a local area network|Operation in a local area network]]&lt;br /&gt;
*[[IBHNet:Operation via the Internet|Operation via the Internet]]&lt;br /&gt;
*[[IBHNet:IBH Link S7|IBH Link S7]]&lt;br /&gt;
*[[IBHNet:IBH Link S5++|IBH Link S5++]]&lt;br /&gt;
*[[IBHNet:IBH Link S5++ with STEP®5|IBH Link S5++ with STEP®5]]&lt;br /&gt;
*[[IBHNet:Defining access names to identify the PLCs|Defining access names to identify the PLCs]]&lt;br /&gt;
*[[IBHNet:Settings within STEP®7|Settings within STEP®7]]&lt;br /&gt;
*[[IBHNet:Settings within STEP®7 without IBHNet driver|Settings within STEP®7 without IBHNet driver]]&lt;br /&gt;
*[[IBHNet:Settings within STEP®7 MicroWin starting with V3.1 SP2|Settings within STEP®7 MicroWin starting with V3.1 SP2]]&lt;br /&gt;
*[[IBHNet:Settings within TIA®|Settings within TIA®]]&lt;br /&gt;
*[[IBHNet:Settings within TIA® without IBHNet driver|Settings within TIA® without IBHNet driver]]&lt;br /&gt;
*[[IBHNet:Using IBHNet with WinCC|Using IBHNet with WinCC]]&lt;br /&gt;
*[[IBHNet:Using IBHNet with ProTool|Using IBHNet with ProTool]]&lt;br /&gt;
*[[IBHNet:Using IBHNet with WinCC Flexible|Using IBHNet with WinCC Flexible]]&lt;br /&gt;
*[[IBHNet:Using the IBH Link S5++ with Intouch|Using the IBH Link S5++ with Intouch]]&lt;br /&gt;
*[[IBHNet:Using the IBH Link S7++ with Intouch|Using the IBH Link S7++ with Intouch]]&lt;br /&gt;
*[[IBHNet:Accessing PLC variables|Accessing PLC variables]]&lt;br /&gt;
*[[IBHNet:Fetch/Write|Fetch/Write]]&lt;br /&gt;
*[[IBHNet:Unprojected PLC-PLC communication|Unprojected PLC-PLC communication]]&lt;br /&gt;
*[[IBHNet:Projected PLC-PLC communication|Projected PLC-PLC communication]]&lt;br /&gt;
*[[IBHNet:RFC1006 Communication IBH Link S7/S7Plus|RFC1006 Communication IBH Link S7/S7Plus]]&lt;br /&gt;
*[[IBHNet:RFC1006 Communication IBH Link S7++/S7++HS|RFC1006 Communication IBH Link S7++/S7++HS]]&lt;br /&gt;
*[[IBHNet:Troubleshooting|Troubleshooting]]&lt;br /&gt;
*[[IBHNet:Reset/Factory settings|Reset/Factory settings]]&lt;br /&gt;
*[[IBHNet:Technical Data IBH Link S7|Technical Data IBH Link S7]]&lt;br /&gt;
*[[IBHNet:Technical Data IBH Link S7 Plus|Technical Data IBH Link S7 Plus]]&lt;br /&gt;
*[[IBHNet:Technical Data IBH Link S7++/S7++ HS|Technical Data IBH Link S7++/S7++ HS]]&lt;br /&gt;
*[[IBHNet:Technical Data IBH Link S5++|Technical Data IBH Link S5++]]&lt;br /&gt;
*[[IBHNet:IBH Link History|IBH Link History]]&lt;br /&gt;
*[[IBHNet:Revisions|Revisions]]&lt;br /&gt;
&lt;br /&gt;
==IBH USB-S5-Adapter==&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;2&amp;quot; class=&amp;quot;float-right&amp;quot;&amp;gt;&lt;br /&gt;
Image:IBH_USB_S5.gif|[http://www.ibhsoftec.com/IBH-USB-S5-Adapter-Eng IBH-USB-S5-Adapter]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
* [[IBH USB-S5-Adapter:SIMATIC® S5 for Windows®|Access to a SIMATIC® S5 with &#039;&#039;S5 for Windows®&#039;&#039;]]&lt;br /&gt;
* [[IBH USB-S5-Adapter:Maximum USB cable length|Maximum USB cable length]]&lt;br /&gt;
&lt;br /&gt;
==IBH S7-CX315/CX317==&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;1&amp;quot; class=&amp;quot;float-right&amp;quot;&amp;gt;&lt;br /&gt;
Image:S7_CX317.jpg|[http://www.ibhsoftec.com/S7-CX317-Eng IBH S7-CX317]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
* [[IBH S7-CX315/CX317:Task 2 SEQ converter|Task 2 SEQ converter]]&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=OPCServer:Overview&amp;diff=1423</id>
		<title>OPCServer:Overview</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=OPCServer:Overview&amp;diff=1423"/>
		<updated>2013-04-10T06:43:30Z</updated>

		<summary type="html">&lt;p&gt;Jonas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== IBH&#039;&#039;softec&#039;&#039; GmbH OPC Server V4.x ==&lt;br /&gt;
&lt;br /&gt;
The IBH OPC Server permits OPC client applications like SCADA systems, to connect to PLCs of the Siemens SIMATIC® S5 and the SIMATIC® S7 series. It is also possible to access data simultaneously from several PLC Controls. Even a mixed S5 and S7 operation is possible. All modern SCADA systems are usually designed to be an OPC client.&lt;br /&gt;
&lt;br /&gt;
PLCs may be accessed via the following protocols:&lt;br /&gt;
&lt;br /&gt;
SIMATIC&amp;lt;sup&amp;gt;&amp;amp;reg;&amp;lt;/sup&amp;gt; S5:&lt;br /&gt;
&lt;br /&gt;
*AS511 serial / USB&lt;br /&gt;
*IBHLink S5 TCP/IP and IBHLink S5++ TCP/IP&lt;br /&gt;
*IBHsoftec SoftPLC internal und external&lt;br /&gt;
*TCP/IP with Siemens and INAT protocol&lt;br /&gt;
*H1 with the OpenSource driver WinPcap&lt;br /&gt;
*SINEC L2 over an IBH Link S7++ (HS)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SIMATIC&amp;lt;sup&amp;gt;&amp;amp;reg;&amp;lt;/sup&amp;gt; S7-300/400:&lt;br /&gt;
&lt;br /&gt;
*MPI Adaptor serial / USB&lt;br /&gt;
*IBHLink S7 / IBHLink Plus / IBHLink S7++&lt;br /&gt;
*S7 TCP/IP to a CP343/443&lt;br /&gt;
*SimaticNet&amp;lt;sup&amp;gt;&amp;amp;reg;&amp;lt;/sup&amp;gt; (Set PG/PC Interface)&lt;br /&gt;
*IBHsoftec SoftPLC internal and external&lt;br /&gt;
*H1 with the OpenSource driver WinPcap&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SIMATIC&amp;lt;sup&amp;gt;&amp;amp;reg;&amp;lt;/sup&amp;gt; S7-200:&lt;br /&gt;
&lt;br /&gt;
*PPI Adaptor serial / USB&lt;br /&gt;
*IBHLink S7 / IBHLink Plus / IBHLink S7++&lt;br /&gt;
*S7 TCP/IP to a CP243&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SIMATIC&amp;lt;sup&amp;gt;&amp;amp;reg;&amp;lt;/sup&amp;gt; S7-1200:&lt;br /&gt;
&lt;br /&gt;
*S7 TCP/IP to the integrated CP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SIMATIC&amp;lt;sup&amp;gt;&amp;amp;reg;&amp;lt;/sup&amp;gt; S7-1500:&lt;br /&gt;
&lt;br /&gt;
*S7 TCP/IP to the integrated CP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LOGO!&amp;lt;sup&amp;gt;&amp;amp;reg;&amp;lt;/sup&amp;gt; (RCE versions)&lt;br /&gt;
&lt;br /&gt;
*S7 TCP/IP to the integrated CP&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The configuration of the Server is performed via the OPCEditor. A shortcut is installed on your PC.&lt;br /&gt;
&lt;br /&gt;
One of the special features of the &#039;&#039;&#039;&#039;&#039;IBH OPC Server&#039;&#039;&#039;&#039;&#039; is to allow direct use of the absolute PLC Variables without declaration. It is also possible to use symbolic addressing as defined in the PLC program (Symbolic Table). Even variables used in S7 Data Blocks can be accessed via the &#039;&#039;&#039;&#039;&#039;IBH OPC Server&#039;&#039;&#039;&#039;&#039; with their symbolic names. These features eliminate the need of double declarations. To do so, the PLC program is assigned with the &#039;&#039;&#039;&#039;&#039;IBH OPCEditor&#039;&#039;&#039;&#039;&#039; to the PLCName and the required variables are selected within the user interface.&lt;br /&gt;
&lt;br /&gt;
[[Server Configuration|Server Configuration]]&lt;br /&gt;
&lt;br /&gt;
[[Variable Syntax|Variable Syntax]]&lt;br /&gt;
&lt;br /&gt;
For symbolic addresses, PLC programs in following formats may be used.&lt;br /&gt;
&lt;br /&gt;
* SIMATIC® S5 (.S5D)&lt;br /&gt;
* SIMATIC® S7 (.S7P)&lt;br /&gt;
* S5/S7 for Windows® project (.S5P)&lt;br /&gt;
* S5/S7 for Windows® program file (.S5)&lt;br /&gt;
* Symbolic table (.SEQ)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Simatic, S7-200, S7-300, S7-400, WinCC, are trademarks of  Siemens AG.&lt;br /&gt;
&lt;br /&gt;
Windows, Visual Basic, Visual C und ActiveX are trademarks of Microsoft Corporation.&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=OPCServer:Licensing&amp;diff=1422</id>
		<title>OPCServer:Licensing</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=OPCServer:Licensing&amp;diff=1422"/>
		<updated>2013-04-10T06:18:02Z</updated>

		<summary type="html">&lt;p&gt;Jonas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installation and Licensing ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;&#039;&#039;IBH OPC Server&#039;&#039;&#039;&#039;&#039; starting with version 4.x can only be used with the Operating Systems Windows 2000, Windows XP, Windows 2003 Server, VISTA, Windows 7 and Windows 8 from Microsoft™. Please make sure that on Windows 2000 the Internet Explorer 5.5 (or a higher version) is installed to allow an errorless execution. Only version 5.5(or higher) has the required system files available.&lt;br /&gt;
&lt;br /&gt;
To install the &#039;&#039;&#039;&#039;&#039;IBH OPC Server&#039;&#039;&#039;&#039;&#039; please run the program &amp;amp;quot;IBHOPCSetup.exe&amp;amp;quot; and follow the instructions on the screen.&lt;br /&gt;
&lt;br /&gt;
During installation and registration, entries into the Windows Registry are done automatically. To allow these registry entries you must have full administrative rights, when you are installing the &#039;&#039;&#039;&#039;&#039;IBH OPC Server&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
After the installation is completed, the program &#039;&#039;&#039;&#039;&#039;IBH OPC Editor&#039;&#039;&#039;&#039;&#039; may be started.&lt;br /&gt;
&lt;br /&gt;
If no license has been entered, the &#039;&#039;&#039;&#039;&#039;IBH OPC Server&#039;&#039;&#039;&#039;&#039; is running in demo mode. A complete configuration and also the use with real PLCs is possible in demo mode. After 1/2 hour the communication with the PLC will be terminated and the &#039;&#039;&#039;&#039;&#039;IBH OPC Server&#039;&#039;&#039;&#039;&#039; exits. When connecting to a PLC, a demo screen is shown to the user.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To enter a &#039;&#039;&#039;License&#039;&#039;&#039; for the &#039;&#039;&#039;&#039;&#039;IBH OPC Server&#039;&#039;&#039;&#039;&#039; a &amp;amp;quot;Serial Number and &amp;amp;quot;PIN Code&amp;amp;quot; are required. These numbers can be found on the &amp;amp;quot;Product ID Card&amp;amp;quot; shipped with the IBH OPC Server.&lt;br /&gt;
&lt;br /&gt;
Run the program &#039;&#039;&#039;&#039;&#039;IBH OPC Editor&#039;&#039;&#039;&#039;&#039;. Via the menu item &amp;amp;quot;Help - License informationen / Enter license ...&amp;amp;quot; the license for the &#039;&#039;&#039;&#039;&#039;IBH OPC Server&#039;&#039;&#039;&#039;&#039; may be entered. Please note, that the software needs to be restarted after the license has been successfully entered.&lt;br /&gt;
&lt;br /&gt;
[[Image:OPC_Lizensierung_1-eng.gif|frame|none]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Via the menu item  &amp;amp;quot;Help - Remove license ...&amp;amp;quot; the license for the &#039;&#039;&#039;&#039;&#039;IBH OPC Server&#039;&#039;&#039;&#039;&#039; can also be removed from the PC. Please note, that a license can only be installed once on a specific PC. Installing the same license again on the same PC is not possible. After successful removal of the licese, the software needs to be restarted.&lt;br /&gt;
&lt;br /&gt;
[[Image:OPC_Lizensierung_2-eng.gif|frame|none]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To uninstall the &#039;&#039;&#039;&#039;&#039;IBH OPC Server&#039;&#039;&#039;&#039;&#039; use the Windows control panel &amp;amp;quot;Software&amp;amp;quot;, &amp;amp;quot;Install / Uninstall&amp;amp;quot;.&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=IBHNet:Revisions&amp;diff=1421</id>
		<title>IBHNet:Revisions</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=IBHNet:Revisions&amp;diff=1421"/>
		<updated>2013-04-09T10:50:57Z</updated>

		<summary type="html">&lt;p&gt;Jonas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Changes in version 1.04:&lt;br /&gt;
&lt;br /&gt;
* The orange LED of the &#039;&#039;&#039;&#039;&#039;IBH Link&#039;&#039;&#039;&#039;&#039; now shows instead of 10/100Mbit the link status (connected) of the network connection.&lt;br /&gt;
* Resetting the Simatic Manager to a PC-adaptor was only possible after a restart of the Simatic Manager.&lt;br /&gt;
* If no connection can be obtained, there was a &amp;amp;quot;System error&amp;amp;quot; message. Now the message makes more sense.&lt;br /&gt;
* Changes in communication have been applied for use with ProTool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.05:&lt;br /&gt;
&lt;br /&gt;
*Now the Profibus Parameter can be altered.&lt;br /&gt;
*The IBHNet-Object for variable access does not open message boxes any more It will return the following error codes:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Errorcode !! Description &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 6em&amp;quot;| 1 ||style=&amp;quot;width: 18em&amp;quot;| netpcomv.CreateInstance failed&lt;br /&gt;
|-&lt;br /&gt;
| 2 || netpcomv.MPI_open failed &lt;br /&gt;
|-&lt;br /&gt;
| 3 || netpcomv.MPI_ConnRequest failed&lt;br /&gt;
|-&lt;br /&gt;
| 4 || connection request to SoftPlc failed&lt;br /&gt;
|-&lt;br /&gt;
| 5 || netpcomv.MPI_close failed&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*If accessing a variable fails, still an exception will be raised.&lt;br /&gt;
*Erasing the entire PLC will not cause the driver to fail, if the user waits for the Error Message &amp;amp;quot;No reply on STEP7 telegram&amp;amp;quot; of the Simatic Manager.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.07:&lt;br /&gt;
&lt;br /&gt;
* The &amp;amp;quot;Save permanently&amp;amp;quot; Button is not initially deactivated any more.&lt;br /&gt;
* Problem with long telegrams to the SoftPLC fixed.&lt;br /&gt;
* The bus parameters are verified before saving now.&lt;br /&gt;
* In the preferences dialog of the Simatic Manager the list of PLCs is refreshed now.&lt;br /&gt;
* The driver now gives a warning, if the configuration is faulty.&lt;br /&gt;
* Blockwise variable access with the IBHNet object now also works for blocks, which are longer than a MPI telegram.&lt;br /&gt;
* The uninstallation procedure now removes all registry entries.&lt;br /&gt;
* Now &amp;amp;quot;SoftPLC internal&amp;amp;quot; can be selected for a fast variable access with the IBHNet object to the SoftPLC. This option replaces the PLC32.DLL.&lt;br /&gt;
* A &amp;amp;quot;Ping&amp;amp;quot; can now be sent, before the driver tries to go online. If there is a faulty network connection, the driver cancels the online request in time.&lt;br /&gt;
* If an IP address is to be used with the &#039;&#039;&#039;&#039;&#039;IBH Link&#039;&#039;&#039;&#039;&#039; that already exists, there is a warning now.&lt;br /&gt;
* Problems with CP343 fixed.&lt;br /&gt;
* Problems when erasing the complete CPU fixed.&lt;br /&gt;
* If &amp;amp;quot;Profile Profibus&amp;amp;quot; is selected, the &#039;&#039;&#039;&#039;&#039;IBH Link&#039;&#039;&#039;&#039;&#039; now shows up as a Profibus interface in the Simatic Manager.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.08:&lt;br /&gt;
&lt;br /&gt;
* Now different drivers for MPI and Profibus are displayed in the Simatic Manager. Assigning the IBHNet to MPI or Profibus networks is now possible.&lt;br /&gt;
* The user can now adjust the timeouts.&lt;br /&gt;
* Undefined Problems fixed, when different Windows of the Simatic Manager accessed the PLC.&lt;br /&gt;
* The Servicelab from Siemens also works now.&lt;br /&gt;
* Routing functions to MPI subnets are now possible.&lt;br /&gt;
* For HTML pages the IBHNet ActiveX is now marked as safe.&lt;br /&gt;
* The english version now shows a version information.&lt;br /&gt;
* For CPUs with selectable MPI/DP interface, now the baud rates 1.5, 3 and 12 MBit can be selected.&lt;br /&gt;
* The IBHNet ActiveX can now read also SZLs (SFC51), Key-Switch position, Life list and make a reset of the Adaptor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.09:&lt;br /&gt;
&lt;br /&gt;
* Support for FM353 added.&lt;br /&gt;
* Support for OP3 and C7-621 added.&lt;br /&gt;
* Support for S7-200 added.&lt;br /&gt;
* After changing parameters, the adaptor can be reset from the PC, there is no more need to disconnect and re-connect it any more.&lt;br /&gt;
* If the Adaptor is on the same hub, but in a different network segment, it can be accessed now in order to give it a different IP address.&lt;br /&gt;
* Now also 9.6 and 19.2 kBaud are with MPI/PPI possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.10:&lt;br /&gt;
&lt;br /&gt;
* The firmware and the driver now support 2 connections from 2 PCs at the same time.&lt;br /&gt;
* Project transfer for ProTool to a TP170 is now possible.&lt;br /&gt;
* Project transfer for ProTool to an OP25/OP27 is now possible.&lt;br /&gt;
* Speed for PLC connections increased.&lt;br /&gt;
* Better default parameter settings for profibus implemented.&lt;br /&gt;
* Problem with administrative rights fixed.&lt;br /&gt;
* Program crashes fixed, when in Step7 nothing was done for a couple of minutes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.11:&lt;br /&gt;
&lt;br /&gt;
* The Firmware now supports one Hilscher and one IBH connection at the same time.&lt;br /&gt;
* WinCC did not reconnect properly when the PLC was shut off.&lt;br /&gt;
* Problems with Step7 MicroWin V3.2 and new S7-200 CPUs eliminated.&lt;br /&gt;
* The speed with Step7 V5.2 has been increased.&lt;br /&gt;
* Problems with ProTool runtime fixed.&lt;br /&gt;
* Some big S7-300 PLCs sent unexpected confirmations, which caused problems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.12:&lt;br /&gt;
&lt;br /&gt;
* If using WinCC with multiple PLCs at the same time, the connection was not correctly re-established if the &#039;&#039;&#039;&#039;&#039;IBH Link&#039;&#039;&#039;&#039;&#039; was disconnected or one of the PLCs was switched off.&lt;br /&gt;
* The operation with the ProTool runtime has been significantly improved.&lt;br /&gt;
* If in S7 for Windows &amp;amp;quot;SimaticNET&amp;amp;quot; was chosen as online connection and in the Simatic online Interface &amp;amp;quot;IBHNet&amp;amp;quot; was chosen, it could crash.&lt;br /&gt;
* The function &amp;amp;quot;ReadVals&amp;amp;quot; did not always return correctly when the PLC was switched off during reading.&lt;br /&gt;
* It was not possible anymore to download configurations to Operator Panels.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.13:&lt;br /&gt;
&lt;br /&gt;
* Accessing 2 PLCs with ProTool Pro at the same time is possible now.&lt;br /&gt;
* The default parameters in the profibus-advanced dialog were incorrect.&lt;br /&gt;
* The IBHNet object was extended with .NET enabled functions.&lt;br /&gt;
* Routing into subnets of the PLC can now be performed.&lt;br /&gt;
* Timing Problems with S7-200 via a slow Internet connection fixed.&lt;br /&gt;
* Simotion did not work with V1.12 any more.&lt;br /&gt;
* &amp;amp;quot;Load Station into PG&amp;amp;quot; does now work with Step7 V5.1 again.&lt;br /&gt;
* ReadVals/WriteVals to a non-existing DB did not give an error.&lt;br /&gt;
* Status VAT works now also with a SAIA PLC via profibus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.14:&lt;br /&gt;
&lt;br /&gt;
* Support for IM151-7 added.&lt;br /&gt;
* Errors in communication are now reported in the ProTool runtime or WinCC only for the affected channel.&lt;br /&gt;
* If one of two connections is disconnected, the open connection stays now fast.&lt;br /&gt;
* The ProTool Runtime and Step7 can now be operated at the same time.&lt;br /&gt;
* If the IP address is known, the &#039;&#039;&#039;&#039;&#039;IBH Link&#039;&#039;&#039;&#039;&#039; does not need to be in the same subnet for configuration any more.&lt;br /&gt;
* The access point in the Siemens Software cannot be changed any more, when the driver is running.&lt;br /&gt;
* Login priorities (for Simatic HMI or PCS7) added.&lt;br /&gt;
* In block status and VAT more status lines are now possible.&lt;br /&gt;
* User language selection (during installation) added.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.15:&lt;br /&gt;
&lt;br /&gt;
* OEM Texts changed.&lt;br /&gt;
* Download to a TP170B stalled sometimes at the end.&lt;br /&gt;
* Configuration of a Micromaster 420 with &amp;amp;quot;Starter&amp;amp;quot; Software is now possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.16:&lt;br /&gt;
&lt;br /&gt;
* IBHNet.dll took approximately 30% CPU time with many variables. This is now fixed. Be careful: This change makes it necessary that your client software cannot call twice an IBHNet.dll function at the same time. This may be possible now, since Windows has now time to work until the PLC answer arrives!&lt;br /&gt;
* For an update it is not necessary anymore to uninstall first. The setup program senses this now automatically.&lt;br /&gt;
* 2 Byte offset with the protocol &amp;amp;quot;SoftPLC internal&amp;amp;quot; fixed.&lt;br /&gt;
* Variable requests &amp;amp;gt; Byte 4095 did not work with the IBHNet.dll&lt;br /&gt;
* Support for FM357 added.&lt;br /&gt;
* Sample program for VB.Net added.&lt;br /&gt;
* Now more than 12 lines of status are possible.&lt;br /&gt;
* Miscellaneous problems with S7-200 fixed.&lt;br /&gt;
* If installed under NT/2000/XP, the IBHNet driver can now be directly installed in the Siemens Dialog &amp;amp;quot;Add/Remove Interface&amp;amp;quot;. The installation of the PC Adaptor is only required with Win95/98/ME.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.17:&lt;br /&gt;
&lt;br /&gt;
* Configuration via batchfile enabled.&lt;br /&gt;
* Message &amp;amp;quot;Device stopped&amp;amp;quot; (Yellow triangle in Set PG/PC interface) eliminated. This occurred with Step7 V5.3 SP1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.18:&lt;br /&gt;
&lt;br /&gt;
* Conflict with an existing CP5611 eliminated.&lt;br /&gt;
* How to:&lt;br /&gt;
** Uninstall the IBHNet driver.&lt;br /&gt;
** Reinstall the CP via the Control Panel / System / Device Manager.&lt;br /&gt;
** Test the CP via &amp;amp;quot;Set PG/PC Interface&amp;amp;quot; Dialog Box.&lt;br /&gt;
** Reinstall the IBHNet driver.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.19:&lt;br /&gt;
&lt;br /&gt;
* Integration in Simatic&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; Software revised.&lt;br /&gt;
* Problems with parallel operation of S7 for Windows&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; and STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 fixed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.20:&lt;br /&gt;
&lt;br /&gt;
* The download of blocks or hardware configurations into CPUs of the S7-400 series from Siemens starting with firmware 4.03 did not work any more.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.21:&lt;br /&gt;
&lt;br /&gt;
* On some PCs the driver did not gain its maximum speed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.22:&lt;br /&gt;
&lt;br /&gt;
* Hardware download with a change of the CPUs MPI address did not work with Step7&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; V5.3 SP2 any more.&lt;br /&gt;
* The configuration dialog for the IP address of the &#039;&#039;&#039;&#039;&#039;IBH Link&#039;&#039;&#039;&#039;&#039; now also shows the serial number of the device.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.24:&lt;br /&gt;
&lt;br /&gt;
* Changing the MPI address of the PLC multiple times failed.&lt;br /&gt;
* Browsing for the PLC in &amp;amp;quot;Load station into the PG&amp;amp;quot; failed.&lt;br /&gt;
* Sample for Java.&lt;br /&gt;
* Behaviour of the driver on connection errors especially with high-level language access, ProTool, WinCC or OPC improved.&lt;br /&gt;
* Sporadic aborts when monitoring Block Status together with a variable table eliminated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.25:&lt;br /&gt;
&lt;br /&gt;
* Adaptations for the ProTool Runtime.&lt;br /&gt;
* Adaptations for project download on panels with WinCC Flexible.&lt;br /&gt;
* Download of SDB with MicroWin &amp;amp;gt; 3.2.108 worked only, if in SDB 187,5 kBaud was entered.&lt;br /&gt;
* IBHNet object supports now &#039;&#039;&#039;&#039;&#039;IBH Link S5&#039;&#039;&#039;&#039;&#039;. A licence number is required (contained in &#039;&#039;&#039;&#039;&#039;IBH Link S5&#039;&#039;&#039;&#039;&#039; scope of delivery).&lt;br /&gt;
* Language switching.&lt;br /&gt;
* The IBHNet object is now thread safe.&lt;br /&gt;
* User interface extended for &#039;&#039;&#039;&#039;&#039;IBH Link Plus&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;IBH Link S5&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.26:&lt;br /&gt;
&lt;br /&gt;
* In case of a disconnected network line, the &#039;&#039;&#039;&#039;&#039;IBH Link&#039;&#039;&#039;&#039;&#039; closes the PLC connection itself (Firmware download required).&lt;br /&gt;
* Driver ported to the latest Microsoft development environment.&lt;br /&gt;
* New Setup.&lt;br /&gt;
* Corrections for Windows Vista.&lt;br /&gt;
* Downloading the SDB into some S7-200 PLCs caused problems.&lt;br /&gt;
* In the configuration for the &#039;&#039;&#039;&#039;&#039;IBH Link&#039;&#039;&#039;&#039;&#039; station name now the network name or the IP address can be entered.&lt;br /&gt;
* Corrections for ProDave.&lt;br /&gt;
* Configured stations can now be imported and exported.&lt;br /&gt;
* Better behaviour when operating with different Siemens packages in parallel.&lt;br /&gt;
* In case on a PC-Adaptor in the MPI network, &amp;amp;quot;Load Station to PC&amp;amp;quot; did not work.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.27:&lt;br /&gt;
&lt;br /&gt;
* Starter version 4.0 did not work with Micromaster 440 via Profibus.&lt;br /&gt;
* S7-200 could not be reached via the profibus module EM277.&lt;br /&gt;
* Create / change station from the &#039;&#039;&#039;&#039;&#039;IBH Link&#039;&#039;&#039;&#039;&#039; search screen is now possible.&lt;br /&gt;
* The Profibus parameters can now be taken from the project, if the PU is assigned to a network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.28:&lt;br /&gt;
&lt;br /&gt;
* New firmware revisions for &#039;&#039;&#039;&#039;&#039;IBH Link&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;IBH Link Plus&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
* New firmware for &#039;&#039;&#039;&#039;&#039;IBH Link S5&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
* For the &#039;&#039;&#039;&#039;&#039;IBH Link&#039;&#039;&#039;&#039;&#039; and the &#039;&#039;&#039;&#039;&#039;IBH Link Plus&#039;&#039;&#039;&#039;&#039; DHCP can now be activated.&lt;br /&gt;
* Crash in file IBHNet.dll in combination with the &#039;&#039;&#039;&#039;&#039;IBH Link S5&#039;&#039;&#039;&#039;&#039; eliminated.&lt;br /&gt;
* In the API samples DBs &amp;amp;gt; 255 did not work.&lt;br /&gt;
* With some processors the Siemens driver caused a too high CPU load.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.29:&lt;br /&gt;
&lt;br /&gt;
* Added RFC1006 Server service for the HMI-PC for Visualiziation softwares.&lt;br /&gt;
* Block status and Operator panel project download did not work in parallel.&lt;br /&gt;
* Changes for the CNC-HMI software.&lt;br /&gt;
* Copying the IBHNet(MPI) entries into Stationname(MPI) is now permitted to create unique PLC assignments in the project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.30:&lt;br /&gt;
&lt;br /&gt;
* Support for the &#039;&#039;&#039;&#039;&#039;IBH Link S7++&#039;&#039;&#039;&#039;&#039; added.&lt;br /&gt;
* If one station was disconnected, another one could timeout.&lt;br /&gt;
* For VISTA SP1 the &#039;Ping&#039; was altered into a monitored &#039;Connect&#039;.&lt;br /&gt;
* In VISTA administrative rights are now requested, if required.&lt;br /&gt;
* Connecting to some S7-200 PLCs was not possible.&lt;br /&gt;
* The VB function &#039;Connect_DP&#039; works now also with S7-200.&lt;br /&gt;
* In the IP address fields now also the syntax &amp;amp;lt;IPAddress:Port&amp;amp;gt; is permitted.&lt;br /&gt;
* The button &#039;Diagnostics&#039; in &#039;Set PG/PC interface&#039; now has a function.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.31:&lt;br /&gt;
&lt;br /&gt;
* Firmware improvements in &#039;&#039;&#039;&#039;&#039;IBH Link S7++&#039;&#039;&#039;&#039;&#039; RFC1006 functionality.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.32:&lt;br /&gt;
&lt;br /&gt;
* Browsing in the hardware cofiguration did not work for higher addresses.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.33:&lt;br /&gt;
&lt;br /&gt;
* Online to a S7-200 which was busy with an OP was not possible.&lt;br /&gt;
* Changing the station name now deletes the old station.&lt;br /&gt;
* S5/S7 for Windows&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; Version 6 can now open IBHNet dialogs directly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.34:&lt;br /&gt;
&lt;br /&gt;
* SoftPLC V3.x could not be accessed any more.&lt;br /&gt;
* Support for &#039;&#039;&#039;&#039;&#039;IBH Link S5++&#039;&#039;&#039;&#039;&#039; added.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.35:&lt;br /&gt;
&lt;br /&gt;
* New firmware revision for &#039;&#039;&#039;&#039;&#039;IBH Link S5++&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
* Changes in the &#039;&#039;&#039;&#039;&#039;IBH Link S5++&#039;&#039;&#039;&#039;&#039; driver.&lt;br /&gt;
* Better optimization with &#039;&#039;&#039;&#039;&#039;IBH Link S5++&#039;&#039;&#039;&#039;&#039; and HMI Panels.&lt;br /&gt;
* Simocom did not work any more.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.36:&lt;br /&gt;
&lt;br /&gt;
* New firmware revision for &#039;&#039;&#039;&#039;&#039;IBH Link S5++&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
* Configuration via Router &#039;&#039;&#039;&#039;&#039;IBH Link S5++&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
* COM port numbers could not be selected for &#039;&#039;&#039;&#039;&#039;IBH Link S5++&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
* S7-CPs are now also possible with IBHNet.dll.&lt;br /&gt;
* API protocol is now also possible with IBHNet.dll.&lt;br /&gt;
* New firmware revision for &#039;&#039;&#039;&#039;&#039;IBH Link S7++&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.37:&lt;br /&gt;
&lt;br /&gt;
* Browsing did not always succeed with &#039;&#039;&#039;&#039;&#039;IBH Link S5++&#039;&#039;&#039;&#039;&#039; (new Firmware).&lt;br /&gt;
* Real values will now be converted from s5 to S7 (and vice versa) with &#039;&#039;&#039;&#039;&#039;IBH Link S5++&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
* Stations with a DNS name instead of an IP address did not show the names in the search list.&lt;br /&gt;
* Corrections in RFC1006 for PLCs of 400 series for &#039;&#039;&#039;&#039;&#039;IBH Link S7++&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
* Problems with multiple Instances of IBHNet.dll corrected.&lt;br /&gt;
* New firmware for &#039;&#039;&#039;&#039;&#039;IBH Link S7++&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.38:&lt;br /&gt;
&lt;br /&gt;
* The IBHNet.dll now also supports the S7-1200. In the &#039;Connect&#039; routine the MPI address 1 needs to be used. For the &#039;Connect_DP&#039; routine the slot 1 needs to be used.&lt;br /&gt;
* The &#039;&#039;&#039;&#039;&#039;IBH Link S5++&#039;&#039;&#039;&#039;&#039; now also works with WinCC V6 via S7 protocols.&lt;br /&gt;
* The &#039;&#039;&#039;&#039;&#039;IBH Link S5++&#039;&#039;&#039;&#039;&#039; now also supports S5 Fetch/Write via RFC1006 over any ASCII TSAP.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.39:&lt;br /&gt;
&lt;br /&gt;
* If the &#039;&#039;&#039;&#039;&#039;IBH Link S7&#039;&#039;&#039;&#039;&#039; had no connection to the PLC, WinCC stopped trying to reconnect after a while.&lt;br /&gt;
* ProDave crashed via the Java JNI interface with &#039;&#039;&#039;&#039;&#039;IBH Link S7&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
* New firmware for the &#039;&#039;&#039;&#039;&#039;IBH Link S5++&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.40:&lt;br /&gt;
&lt;br /&gt;
* The &#039;&#039;&#039;&#039;&#039;IBH Link S5++&#039;&#039;&#039;&#039;&#039; now also supports PU functions via RFC1006 and INAT TCP/IP.&lt;br /&gt;
* DHCP did not work with the &#039;&#039;&#039;&#039;&#039;IBH Link S5++&#039;&#039;&#039;&#039;&#039; any more.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.42:&lt;br /&gt;
&lt;br /&gt;
* Profibus Diagnostics implemented.&lt;br /&gt;
* More than one S7-200 can now be used at the same &#039;&#039;&#039;&#039;&#039;IBH Link&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
* More than 4 drives are now possible.&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;IBH Link S7++&#039;&#039;&#039;&#039;&#039;: Active connections from the CPU via SFC 67/68 are now possible.&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;IBH Link S7++&#039;&#039;&#039;&#039;&#039;: Routing support via RFC1006, i.e. via RFC1006 a PLC can be reached, if the &#039;&#039;&#039;&#039;&#039;IBH Link&#039;&#039;&#039;&#039;&#039; is connected to a Profibus-CP.&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;IBH Link S7++&#039;&#039;&#039;&#039;&#039;: Crash with Hilscher-API telegrams fixed.&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;IBH Link S7++&#039;&#039;&#039;&#039;&#039;: New watchdog timer now leads to an automatic reboot in case of a frimware crash.&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;IBH Link S7++&#039;&#039;&#039;&#039;&#039;: The most recent libraries from Hilscher for rcX, TCP/IP and Profibus are now used.&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;IBH Link S7++&#039;&#039;&#039;&#039;&#039;: Downloading blocks from STEP7 via RFC1006 is now possible.&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;IBH Link S7++&#039;&#039;&#039;&#039;&#039;: NetBIOS name service is now supported, the device can now be pinged with the devicename &amp;amp;quot;nl50mpi_&amp;amp;lt;serialnumber&amp;amp;gt;&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.43:&lt;br /&gt;
&lt;br /&gt;
* Under certain circumstances the &#039;&#039;&#039;&#039;&#039;IBH Link S7++&#039;&#039;&#039;&#039;&#039; Firmware could not be reached anymore with wrong IP addresses.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.44:&lt;br /&gt;
&lt;br /&gt;
* Network functions internally changed.&lt;br /&gt;
* The &#039;&#039;&#039;&#039;&#039;IBH Link S7++&#039;&#039;&#039;&#039;&#039; now has a Webserver.&lt;br /&gt;
* Support for the 64-Bit version of STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 added.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.45:&lt;br /&gt;
&lt;br /&gt;
* IP address checking in &#039;&#039;&#039;&#039;&#039;IBH Link S5++&#039;&#039;&#039;&#039;&#039; configurator.&lt;br /&gt;
* Error in &#039;&#039;&#039;&#039;&#039;IBH Link S7++&#039;&#039;&#039;&#039;&#039;, when setting from DHCP to static addresses, fixed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.46:&lt;br /&gt;
&lt;br /&gt;
* Accessing S7-200 with &#039;&#039;&#039;&#039;&#039;IBH Link S7++&#039;&#039;&#039;&#039;&#039; over API messages is now possible.&lt;br /&gt;
* With the &#039;&#039;&#039;&#039;&#039;IBH Link S7++&#039;&#039;&#039;&#039;&#039; Fetch/Write connections via RFC1006 (ISO-on-TCP) are possible to aktive and passive nodes&lt;br /&gt;
* With &#039;&#039;&#039;&#039;&#039;IBH Link S7++&#039;&#039;&#039;&#039;&#039; now also RFC1006 connections to passive nodes are possible.&lt;br /&gt;
* Accessing passive nodes with &#039;&#039;&#039;&#039;&#039;IBH Link S7++&#039;&#039;&#039;&#039;&#039; over API messages is now possible.&lt;br /&gt;
* Microwin did not work with the MPI protocol.&lt;br /&gt;
* Routed S7 connections now also work with &#039;&#039;&#039;&#039;&#039;IBH Link S5++&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
* The IBHNet driver now is fully functional with regular User permissions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.47:&lt;br /&gt;
&lt;br /&gt;
* S7-Technology did not work.&lt;br /&gt;
* Network card selection, when searching for &#039;&#039;&#039;&#039;&#039;IBH Link S7&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
* Tooltips in the &#039;&#039;&#039;&#039;&#039;IBH Link&#039;&#039;&#039;&#039;&#039; configurator.&lt;br /&gt;
* Administrative rights are only required during installation and the installation of the virtual COM port for S5.&lt;br /&gt;
* Reading of doublewords from DBs of word orientied PLCs with the S7 Protocol not always returned the correct values with the &#039;&#039;&#039;&#039;&#039;IBH Link S5++&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
* The &#039;&#039;&#039;&#039;&#039;IBH Link S7++&#039;&#039;&#039;&#039;&#039; firmware has following new functions:&lt;br /&gt;
** Time synchronisation with NTP servers.&lt;br /&gt;
** Address switch in &#039;&#039;&#039;&#039;&#039;IBH Link S7++ HS&#039;&#039;&#039;&#039;&#039; is used.&lt;br /&gt;
** Support for dataset routing.&lt;br /&gt;
** Configuration with NetPro&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; from SDBs.&lt;br /&gt;
** Time synchronisation can be configured with Browser.&lt;br /&gt;
** MAC address is shown in Browser.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.48:&lt;br /&gt;
&lt;br /&gt;
* Deleting the ARP cache did not work with user rights.&lt;br /&gt;
* Setting the password did not always work correctly.&lt;br /&gt;
* The &#039;&#039;&#039;&#039;&#039;IBH Link S7++&#039;&#039;&#039;&#039;&#039; firmware now supports dataset routing over routed S7-connections.&lt;br /&gt;
* The helpfile has been revised.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.49:&lt;br /&gt;
&lt;br /&gt;
* S7-200 can now be used in 64-Bit environment.&lt;br /&gt;
* Driver integration in the 64-Bit TIA Portal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.54:&lt;br /&gt;
&lt;br /&gt;
*In the IBHNet object, the RFC1006 port number can be set to user defined values.&lt;br /&gt;
*The IBHNet.dll now also supports the S7-1500. In the &#039;Connect&#039; routine the MPI address 1 needs to be used. For the &#039;Connect_DP&#039; routine the slot 1 needs to be used.&lt;br /&gt;
*The driver was tested and released for TIA V12.&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=IBHNet:Revisions&amp;diff=1420</id>
		<title>IBHNet:Revisions</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=IBHNet:Revisions&amp;diff=1420"/>
		<updated>2013-04-09T10:50:24Z</updated>

		<summary type="html">&lt;p&gt;Jonas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Changes in version 1.04:&lt;br /&gt;
&lt;br /&gt;
* The orange LED of the &#039;&#039;&#039;&#039;&#039;IBH Link&#039;&#039;&#039;&#039;&#039; now shows instead of 10/100Mbit the link status (connected) of the network connection.&lt;br /&gt;
* Resetting the Simatic Manager to a PC-adaptor was only possible after a restart of the Simatic Manager.&lt;br /&gt;
* If no connection can be obtained, there was a &amp;amp;quot;System error&amp;amp;quot; message. Now the message makes more sense.&lt;br /&gt;
* Changes in communication have been applied for use with ProTool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.05:&lt;br /&gt;
&lt;br /&gt;
*Now the Profibus Parameter can be altered.&lt;br /&gt;
*The IBHNet-Object for variable access does not open message boxes any more It will return the following error codes:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Errorcode !! Description &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 6em&amp;quot;| 1 ||style=&amp;quot;width: 18em&amp;quot;| netpcomv.CreateInstance failed&lt;br /&gt;
|-&lt;br /&gt;
| 2 || netpcomv.MPI_open failed &lt;br /&gt;
|-&lt;br /&gt;
| 3 || netpcomv.MPI_ConnRequest failed&lt;br /&gt;
|-&lt;br /&gt;
| 4 || connection request to SoftPlc failed&lt;br /&gt;
|-&lt;br /&gt;
| 5 || netpcomv.MPI_close failed&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*If accessing a variable fails, still an exception will be raised.&lt;br /&gt;
*Erasing the entire PLC will not cause the driver to fail, if the user waits for the Error Message &amp;amp;quot;No reply on STEP7 telegram&amp;amp;quot; of the Simatic Manager.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.07:&lt;br /&gt;
&lt;br /&gt;
* The &amp;amp;quot;Save permanently&amp;amp;quot; Button is not initially deactivated any more.&lt;br /&gt;
* Problem with long telegrams to the SoftPLC fixed.&lt;br /&gt;
* The bus parameters are verified before saving now.&lt;br /&gt;
* In the preferences dialog of the Simatic Manager the list of PLCs is refreshed now.&lt;br /&gt;
* The driver now gives a warning, if the configuration is faulty.&lt;br /&gt;
* Blockwise variable access with the IBHNet object now also works for blocks, which are longer than a MPI telegram.&lt;br /&gt;
* The uninstallation procedure now removes all registry entries.&lt;br /&gt;
* Now &amp;amp;quot;SoftPLC internal&amp;amp;quot; can be selected for a fast variable access with the IBHNet object to the SoftPLC. This option replaces the PLC32.DLL.&lt;br /&gt;
* A &amp;amp;quot;Ping&amp;amp;quot; can now be sent, before the driver tries to go online. If there is a faulty network connection, the driver cancels the online request in time.&lt;br /&gt;
* If an IP address is to be used with the &#039;&#039;&#039;&#039;&#039;IBH Link&#039;&#039;&#039;&#039;&#039; that already exists, there is a warning now.&lt;br /&gt;
* Problems with CP343 fixed.&lt;br /&gt;
* Problems when erasing the complete CPU fixed.&lt;br /&gt;
* If &amp;amp;quot;Profile Profibus&amp;amp;quot; is selected, the &#039;&#039;&#039;&#039;&#039;IBH Link&#039;&#039;&#039;&#039;&#039; now shows up as a Profibus interface in the Simatic Manager.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.08:&lt;br /&gt;
&lt;br /&gt;
* Now different drivers for MPI and Profibus are displayed in the Simatic Manager. Assigning the IBHNet to MPI or Profibus networks is now possible.&lt;br /&gt;
* The user can now adjust the timeouts.&lt;br /&gt;
* Undefined Problems fixed, when different Windows of the Simatic Manager accessed the PLC.&lt;br /&gt;
* The Servicelab from Siemens also works now.&lt;br /&gt;
* Routing functions to MPI subnets are now possible.&lt;br /&gt;
* For HTML pages the IBHNet ActiveX is now marked as safe.&lt;br /&gt;
* The english version now shows a version information.&lt;br /&gt;
* For CPUs with selectable MPI/DP interface, now the baud rates 1.5, 3 and 12 MBit can be selected.&lt;br /&gt;
* The IBHNet ActiveX can now read also SZLs (SFC51), Key-Switch position, Life list and make a reset of the Adaptor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.09:&lt;br /&gt;
&lt;br /&gt;
* Support for FM353 added.&lt;br /&gt;
* Support for OP3 and C7-621 added.&lt;br /&gt;
* Support for S7-200 added.&lt;br /&gt;
* After changing parameters, the adaptor can be reset from the PC, there is no more need to disconnect and re-connect it any more.&lt;br /&gt;
* If the Adaptor is on the same hub, but in a different network segment, it can be accessed now in order to give it a different IP address.&lt;br /&gt;
* Now also 9.6 and 19.2 kBaud are with MPI/PPI possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.10:&lt;br /&gt;
&lt;br /&gt;
* The firmware and the driver now support 2 connections from 2 PCs at the same time.&lt;br /&gt;
* Project transfer for ProTool to a TP170 is now possible.&lt;br /&gt;
* Project transfer for ProTool to an OP25/OP27 is now possible.&lt;br /&gt;
* Speed for PLC connections increased.&lt;br /&gt;
* Better default parameter settings for profibus implemented.&lt;br /&gt;
* Problem with administrative rights fixed.&lt;br /&gt;
* Program crashes fixed, when in Step7 nothing was done for a couple of minutes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.11:&lt;br /&gt;
&lt;br /&gt;
* The Firmware now supports one Hilscher and one IBH connection at the same time.&lt;br /&gt;
* WinCC did not reconnect properly when the PLC was shut off.&lt;br /&gt;
* Problems with Step7 MicroWin V3.2 and new S7-200 CPUs eliminated.&lt;br /&gt;
* The speed with Step7 V5.2 has been increased.&lt;br /&gt;
* Problems with ProTool runtime fixed.&lt;br /&gt;
* Some big S7-300 PLCs sent unexpected confirmations, which caused problems.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.12:&lt;br /&gt;
&lt;br /&gt;
* If using WinCC with multiple PLCs at the same time, the connection was not correctly re-established if the &#039;&#039;&#039;&#039;&#039;IBH Link&#039;&#039;&#039;&#039;&#039; was disconnected or one of the PLCs was switched off.&lt;br /&gt;
* The operation with the ProTool runtime has been significantly improved.&lt;br /&gt;
* If in S7 for Windows &amp;amp;quot;SimaticNET&amp;amp;quot; was chosen as online connection and in the Simatic online Interface &amp;amp;quot;IBHNet&amp;amp;quot; was chosen, it could crash.&lt;br /&gt;
* The function &amp;amp;quot;ReadVals&amp;amp;quot; did not always return correctly when the PLC was switched off during reading.&lt;br /&gt;
* It was not possible anymore to download configurations to Operator Panels.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.13:&lt;br /&gt;
&lt;br /&gt;
* Accessing 2 PLCs with ProTool Pro at the same time is possible now.&lt;br /&gt;
* The default parameters in the profibus-advanced dialog were incorrect.&lt;br /&gt;
* The IBHNet object was extended with .NET enabled functions.&lt;br /&gt;
* Routing into subnets of the PLC can now be performed.&lt;br /&gt;
* Timing Problems with S7-200 via a slow Internet connection fixed.&lt;br /&gt;
* Simotion did not work with V1.12 any more.&lt;br /&gt;
* &amp;amp;quot;Load Station into PG&amp;amp;quot; does now work with Step7 V5.1 again.&lt;br /&gt;
* ReadVals/WriteVals to a non-existing DB did not give an error.&lt;br /&gt;
* Status VAT works now also with a SAIA PLC via profibus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.14:&lt;br /&gt;
&lt;br /&gt;
* Support for IM151-7 added.&lt;br /&gt;
* Errors in communication are now reported in the ProTool runtime or WinCC only for the affected channel.&lt;br /&gt;
* If one of two connections is disconnected, the open connection stays now fast.&lt;br /&gt;
* The ProTool Runtime and Step7 can now be operated at the same time.&lt;br /&gt;
* If the IP address is known, the &#039;&#039;&#039;&#039;&#039;IBH Link&#039;&#039;&#039;&#039;&#039; does not need to be in the same subnet for configuration any more.&lt;br /&gt;
* The access point in the Siemens Software cannot be changed any more, when the driver is running.&lt;br /&gt;
* Login priorities (for Simatic HMI or PCS7) added.&lt;br /&gt;
* In block status and VAT more status lines are now possible.&lt;br /&gt;
* User language selection (during installation) added.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.15:&lt;br /&gt;
&lt;br /&gt;
* OEM Texts changed.&lt;br /&gt;
* Download to a TP170B stalled sometimes at the end.&lt;br /&gt;
* Configuration of a Micromaster 420 with &amp;amp;quot;Starter&amp;amp;quot; Software is now possible.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.16:&lt;br /&gt;
&lt;br /&gt;
* IBHNet.dll took approximately 30% CPU time with many variables. This is now fixed. Be careful: This change makes it necessary that your client software cannot call twice an IBHNet.dll function at the same time. This may be possible now, since Windows has now time to work until the PLC answer arrives!&lt;br /&gt;
* For an update it is not necessary anymore to uninstall first. The setup program senses this now automatically.&lt;br /&gt;
* 2 Byte offset with the protocol &amp;amp;quot;SoftPLC internal&amp;amp;quot; fixed.&lt;br /&gt;
* Variable requests &amp;amp;gt; Byte 4095 did not work with the IBHNet.dll&lt;br /&gt;
* Support for FM357 added.&lt;br /&gt;
* Sample program for VB.Net added.&lt;br /&gt;
* Now more than 12 lines of status are possible.&lt;br /&gt;
* Miscellaneous problems with S7-200 fixed.&lt;br /&gt;
* If installed under NT/2000/XP, the IBHNet driver can now be directly installed in the Siemens Dialog &amp;amp;quot;Add/Remove Interface&amp;amp;quot;. The installation of the PC Adaptor is only required with Win95/98/ME.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.17:&lt;br /&gt;
&lt;br /&gt;
* Configuration via batchfile enabled.&lt;br /&gt;
* Message &amp;amp;quot;Device stopped&amp;amp;quot; (Yellow triangle in Set PG/PC interface) eliminated. This occurred with Step7 V5.3 SP1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.18:&lt;br /&gt;
&lt;br /&gt;
* Conflict with an existing CP5611 eliminated.&lt;br /&gt;
* How to:&lt;br /&gt;
** Uninstall the IBHNet driver.&lt;br /&gt;
** Reinstall the CP via the Control Panel / System / Device Manager.&lt;br /&gt;
** Test the CP via &amp;amp;quot;Set PG/PC Interface&amp;amp;quot; Dialog Box.&lt;br /&gt;
** Reinstall the IBHNet driver.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.19:&lt;br /&gt;
&lt;br /&gt;
* Integration in Simatic&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; Software revised.&lt;br /&gt;
* Problems with parallel operation of S7 for Windows&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; and STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 fixed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.20:&lt;br /&gt;
&lt;br /&gt;
* The download of blocks or hardware configurations into CPUs of the S7-400 series from Siemens starting with firmware 4.03 did not work any more.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.21:&lt;br /&gt;
&lt;br /&gt;
* On some PCs the driver did not gain its maximum speed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.22:&lt;br /&gt;
&lt;br /&gt;
* Hardware download with a change of the CPUs MPI address did not work with Step7&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; V5.3 SP2 any more.&lt;br /&gt;
* The configuration dialog for the IP address of the &#039;&#039;&#039;&#039;&#039;IBH Link&#039;&#039;&#039;&#039;&#039; now also shows the serial number of the device.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.24:&lt;br /&gt;
&lt;br /&gt;
* Changing the MPI address of the PLC multiple times failed.&lt;br /&gt;
* Browsing for the PLC in &amp;amp;quot;Load station into the PG&amp;amp;quot; failed.&lt;br /&gt;
* Sample for Java.&lt;br /&gt;
* Behaviour of the driver on connection errors especially with high-level language access, ProTool, WinCC or OPC improved.&lt;br /&gt;
* Sporadic aborts when monitoring Block Status together with a variable table eliminated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.25:&lt;br /&gt;
&lt;br /&gt;
* Adaptations for the ProTool Runtime.&lt;br /&gt;
* Adaptations for project download on panels with WinCC Flexible.&lt;br /&gt;
* Download of SDB with MicroWin &amp;amp;gt; 3.2.108 worked only, if in SDB 187,5 kBaud was entered.&lt;br /&gt;
* IBHNet object supports now &#039;&#039;&#039;&#039;&#039;IBH Link S5&#039;&#039;&#039;&#039;&#039;. A licence number is required (contained in &#039;&#039;&#039;&#039;&#039;IBH Link S5&#039;&#039;&#039;&#039;&#039; scope of delivery).&lt;br /&gt;
* Language switching.&lt;br /&gt;
* The IBHNet object is now thread safe.&lt;br /&gt;
* User interface extended for &#039;&#039;&#039;&#039;&#039;IBH Link Plus&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;IBH Link S5&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.26:&lt;br /&gt;
&lt;br /&gt;
* In case of a disconnected network line, the &#039;&#039;&#039;&#039;&#039;IBH Link&#039;&#039;&#039;&#039;&#039; closes the PLC connection itself (Firmware download required).&lt;br /&gt;
* Driver ported to the latest Microsoft development environment.&lt;br /&gt;
* New Setup.&lt;br /&gt;
* Corrections for Windows Vista.&lt;br /&gt;
* Downloading the SDB into some S7-200 PLCs caused problems.&lt;br /&gt;
* In the configuration for the &#039;&#039;&#039;&#039;&#039;IBH Link&#039;&#039;&#039;&#039;&#039; station name now the network name or the IP address can be entered.&lt;br /&gt;
* Corrections for ProDave.&lt;br /&gt;
* Configured stations can now be imported and exported.&lt;br /&gt;
* Better behaviour when operating with different Siemens packages in parallel.&lt;br /&gt;
* In case on a PC-Adaptor in the MPI network, &amp;amp;quot;Load Station to PC&amp;amp;quot; did not work.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.27:&lt;br /&gt;
&lt;br /&gt;
* Starter version 4.0 did not work with Micromaster 440 via Profibus.&lt;br /&gt;
* S7-200 could not be reached via the profibus module EM277.&lt;br /&gt;
* Create / change station from the &#039;&#039;&#039;&#039;&#039;IBH Link&#039;&#039;&#039;&#039;&#039; search screen is now possible.&lt;br /&gt;
* The Profibus parameters can now be taken from the project, if the PU is assigned to a network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.28:&lt;br /&gt;
&lt;br /&gt;
* New firmware revisions for &#039;&#039;&#039;&#039;&#039;IBH Link&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;IBH Link Plus&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
* New firmware for &#039;&#039;&#039;&#039;&#039;IBH Link S5&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
* For the &#039;&#039;&#039;&#039;&#039;IBH Link&#039;&#039;&#039;&#039;&#039; and the &#039;&#039;&#039;&#039;&#039;IBH Link Plus&#039;&#039;&#039;&#039;&#039; DHCP can now be activated.&lt;br /&gt;
* Crash in file IBHNet.dll in combination with the &#039;&#039;&#039;&#039;&#039;IBH Link S5&#039;&#039;&#039;&#039;&#039; eliminated.&lt;br /&gt;
* In the API samples DBs &amp;amp;gt; 255 did not work.&lt;br /&gt;
* With some processors the Siemens driver caused a too high CPU load.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.29:&lt;br /&gt;
&lt;br /&gt;
* Added RFC1006 Server service for the HMI-PC for Visualiziation softwares.&lt;br /&gt;
* Block status and Operator panel project download did not work in parallel.&lt;br /&gt;
* Changes for the CNC-HMI software.&lt;br /&gt;
* Copying the IBHNet(MPI) entries into Stationname(MPI) is now permitted to create unique PLC assignments in the project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.30:&lt;br /&gt;
&lt;br /&gt;
* Support for the &#039;&#039;&#039;&#039;&#039;IBH Link S7++&#039;&#039;&#039;&#039;&#039; added.&lt;br /&gt;
* If one station was disconnected, another one could timeout.&lt;br /&gt;
* For VISTA SP1 the &#039;Ping&#039; was altered into a monitored &#039;Connect&#039;.&lt;br /&gt;
* In VISTA administrative rights are now requested, if required.&lt;br /&gt;
* Connecting to some S7-200 PLCs was not possible.&lt;br /&gt;
* The VB function &#039;Connect_DP&#039; works now also with S7-200.&lt;br /&gt;
* In the IP address fields now also the syntax &amp;amp;lt;IPAddress:Port&amp;amp;gt; is permitted.&lt;br /&gt;
* The button &#039;Diagnostics&#039; in &#039;Set PG/PC interface&#039; now has a function.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.31:&lt;br /&gt;
&lt;br /&gt;
* Firmware improvements in &#039;&#039;&#039;&#039;&#039;IBH Link S7++&#039;&#039;&#039;&#039;&#039; RFC1006 functionality.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.32:&lt;br /&gt;
&lt;br /&gt;
* Browsing in the hardware cofiguration did not work for higher addresses.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.33:&lt;br /&gt;
&lt;br /&gt;
* Online to a S7-200 which was busy with an OP was not possible.&lt;br /&gt;
* Changing the station name now deletes the old station.&lt;br /&gt;
* S5/S7 for Windows&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; Version 6 can now open IBHNet dialogs directly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.34:&lt;br /&gt;
&lt;br /&gt;
* SoftPLC V3.x could not be accessed any more.&lt;br /&gt;
* Support for &#039;&#039;&#039;&#039;&#039;IBH Link S5++&#039;&#039;&#039;&#039;&#039; added.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.35:&lt;br /&gt;
&lt;br /&gt;
* New firmware revision for &#039;&#039;&#039;&#039;&#039;IBH Link S5++&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
* Changes in the &#039;&#039;&#039;&#039;&#039;IBH Link S5++&#039;&#039;&#039;&#039;&#039; driver.&lt;br /&gt;
* Better optimization with &#039;&#039;&#039;&#039;&#039;IBH Link S5++&#039;&#039;&#039;&#039;&#039; and HMI Panels.&lt;br /&gt;
* Simocom did not work any more.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.36:&lt;br /&gt;
&lt;br /&gt;
* New firmware revision for &#039;&#039;&#039;&#039;&#039;IBH Link S5++&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
* Configuration via Router &#039;&#039;&#039;&#039;&#039;IBH Link S5++&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
* COM port numbers could not be selected for &#039;&#039;&#039;&#039;&#039;IBH Link S5++&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
* S7-CPs are now also possible with IBHNet.dll.&lt;br /&gt;
* API protocol is now also possible with IBHNet.dll.&lt;br /&gt;
* New firmware revision for &#039;&#039;&#039;&#039;&#039;IBH Link S7++&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.37:&lt;br /&gt;
&lt;br /&gt;
* Browsing did not always succeed with &#039;&#039;&#039;&#039;&#039;IBH Link S5++&#039;&#039;&#039;&#039;&#039; (new Firmware).&lt;br /&gt;
* Real values will now be converted from s5 to S7 (and vice versa) with &#039;&#039;&#039;&#039;&#039;IBH Link S5++&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
* Stations with a DNS name instead of an IP address did not show the names in the search list.&lt;br /&gt;
* Corrections in RFC1006 for PLCs of 400 series for &#039;&#039;&#039;&#039;&#039;IBH Link S7++&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
* Problems with multiple Instances of IBHNet.dll corrected.&lt;br /&gt;
* New firmware for &#039;&#039;&#039;&#039;&#039;IBH Link S7++&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.38:&lt;br /&gt;
&lt;br /&gt;
* The IBHNet.dll now also supports the S7-1200. In the &#039;Connect&#039; routine the MPI address 1 needs to be used. For the &#039;Connect_DP&#039; routine the slot 1 needs to be used.&lt;br /&gt;
* The &#039;&#039;&#039;&#039;&#039;IBH Link S5++&#039;&#039;&#039;&#039;&#039; now also works with WinCC V6 via S7 protocols.&lt;br /&gt;
* The &#039;&#039;&#039;&#039;&#039;IBH Link S5++&#039;&#039;&#039;&#039;&#039; now also supports S5 Fetch/Write via RFC1006 over any ASCII TSAP.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.39:&lt;br /&gt;
&lt;br /&gt;
* If the &#039;&#039;&#039;&#039;&#039;IBH Link S7&#039;&#039;&#039;&#039;&#039; had no connection to the PLC, WinCC stopped trying to reconnect after a while.&lt;br /&gt;
* ProDave crashed via the Java JNI interface with &#039;&#039;&#039;&#039;&#039;IBH Link S7&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
* New firmware for the &#039;&#039;&#039;&#039;&#039;IBH Link S5++&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.40:&lt;br /&gt;
&lt;br /&gt;
* The &#039;&#039;&#039;&#039;&#039;IBH Link S5++&#039;&#039;&#039;&#039;&#039; now also supports PU functions via RFC1006 and INAT TCP/IP.&lt;br /&gt;
* DHCP did not work with the &#039;&#039;&#039;&#039;&#039;IBH Link S5++&#039;&#039;&#039;&#039;&#039; any more.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.42:&lt;br /&gt;
&lt;br /&gt;
* Profibus Diagnostics implemented.&lt;br /&gt;
* More than one S7-200 can now be used at the same &#039;&#039;&#039;&#039;&#039;IBH Link&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
* More than 4 drives are now possible.&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;IBH Link S7++&#039;&#039;&#039;&#039;&#039;: Active connections from the CPU via SFC 67/68 are now possible.&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;IBH Link S7++&#039;&#039;&#039;&#039;&#039;: Routing support via RFC1006, i.e. via RFC1006 a PLC can be reached, if the &#039;&#039;&#039;&#039;&#039;IBH Link&#039;&#039;&#039;&#039;&#039; is connected to a Profibus-CP.&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;IBH Link S7++&#039;&#039;&#039;&#039;&#039;: Crash with Hilscher-API telegrams fixed.&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;IBH Link S7++&#039;&#039;&#039;&#039;&#039;: New watchdog timer now leads to an automatic reboot in case of a frimware crash.&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;IBH Link S7++&#039;&#039;&#039;&#039;&#039;: The most recent libraries from Hilscher for rcX, TCP/IP and Profibus are now used.&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;IBH Link S7++&#039;&#039;&#039;&#039;&#039;: Downloading blocks from STEP7 via RFC1006 is now possible.&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;IBH Link S7++&#039;&#039;&#039;&#039;&#039;: NetBIOS name service is now supported, the device can now be pinged with the devicename &amp;amp;quot;nl50mpi_&amp;amp;lt;serialnumber&amp;amp;gt;&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.43:&lt;br /&gt;
&lt;br /&gt;
* Under certain circumstances the &#039;&#039;&#039;&#039;&#039;IBH Link S7++&#039;&#039;&#039;&#039;&#039; Firmware could not be reached anymore with wrong IP addresses.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.44:&lt;br /&gt;
&lt;br /&gt;
* Network functions internally changed.&lt;br /&gt;
* The &#039;&#039;&#039;&#039;&#039;IBH Link S7++&#039;&#039;&#039;&#039;&#039; now has a Webserver.&lt;br /&gt;
* Support for the 64-Bit version of STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 added.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.45:&lt;br /&gt;
&lt;br /&gt;
* IP address checking in &#039;&#039;&#039;&#039;&#039;IBH Link S5++&#039;&#039;&#039;&#039;&#039; configurator.&lt;br /&gt;
* Error in &#039;&#039;&#039;&#039;&#039;IBH Link S7++&#039;&#039;&#039;&#039;&#039;, when setting from DHCP to static addresses, fixed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.46:&lt;br /&gt;
&lt;br /&gt;
* Accessing S7-200 with &#039;&#039;&#039;&#039;&#039;IBH Link S7++&#039;&#039;&#039;&#039;&#039; over API messages is now possible.&lt;br /&gt;
* With the &#039;&#039;&#039;&#039;&#039;IBH Link S7++&#039;&#039;&#039;&#039;&#039; Fetch/Write connections via RFC1006 (ISO-on-TCP) are possible to aktive and passive nodes&lt;br /&gt;
* With &#039;&#039;&#039;&#039;&#039;IBH Link S7++&#039;&#039;&#039;&#039;&#039; now also RFC1006 connections to passive nodes are possible.&lt;br /&gt;
* Accessing passive nodes with &#039;&#039;&#039;&#039;&#039;IBH Link S7++&#039;&#039;&#039;&#039;&#039; over API messages is now possible.&lt;br /&gt;
* Microwin did not work with the MPI protocol.&lt;br /&gt;
* Routed S7 connections now also work with &#039;&#039;&#039;&#039;&#039;IBH Link S5++&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
* The IBHNet driver now is fully functional with regular User permissions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.47:&lt;br /&gt;
&lt;br /&gt;
* S7-Technology did not work.&lt;br /&gt;
* Network card selection, when searching for &#039;&#039;&#039;&#039;&#039;IBH Link S7&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
* Tooltips in the &#039;&#039;&#039;&#039;&#039;IBH Link&#039;&#039;&#039;&#039;&#039; configurator.&lt;br /&gt;
* Administrative rights are only required during installation and the installation of the virtual COM port for S5.&lt;br /&gt;
* Reading of doublewords from DBs of word orientied PLCs with the S7 Protocol not always returned the correct values with the &#039;&#039;&#039;&#039;&#039;IBH Link S5++&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
* The &#039;&#039;&#039;&#039;&#039;IBH Link S7++&#039;&#039;&#039;&#039;&#039; firmware has following new functions:&lt;br /&gt;
** Time synchronisation with NTP servers.&lt;br /&gt;
** Address switch in &#039;&#039;&#039;&#039;&#039;IBH Link S7++ HS&#039;&#039;&#039;&#039;&#039; is used.&lt;br /&gt;
** Support for dataset routing.&lt;br /&gt;
** Configuration with NetPro&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; from SDBs.&lt;br /&gt;
** Time synchronisation can be configured with Browser.&lt;br /&gt;
** MAC address is shown in Browser.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.48:&lt;br /&gt;
&lt;br /&gt;
* Deleting the ARP cache did not work with user rights.&lt;br /&gt;
* Setting the password did not always work correctly.&lt;br /&gt;
* The &#039;&#039;&#039;&#039;&#039;IBH Link S7++&#039;&#039;&#039;&#039;&#039; firmware now supports dataset routing over routed S7-connections.&lt;br /&gt;
* The helpfile has been revised.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.49:&lt;br /&gt;
&lt;br /&gt;
* S7-200 can now be used in 64-Bit environment.&lt;br /&gt;
* Driver integration in the 64-Bit TIA Portal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Changes in version 1.54:&lt;br /&gt;
&lt;br /&gt;
*In the IBHNet object, the RFC1006 port number can be set to user defined values.&amp;lt;/li&amp;gt;&lt;br /&gt;
*The IBHNet.dll now also supports the S7-1500. In the &#039;Connect&#039; routine the MPI address 1 needs to be used. For the &#039;Connect_DP&#039; routine the slot 1 needs to be used.&lt;br /&gt;
*The driver was tested and released for TIA V12.&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=IBHNet:Introduction&amp;diff=1419</id>
		<title>IBHNet:Introduction</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=IBHNet:Introduction&amp;diff=1419"/>
		<updated>2013-04-09T10:48:15Z</updated>

		<summary type="html">&lt;p&gt;Jonas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
With the &#039;&#039;&#039;&#039;&#039;IBHNet&#039;&#039;&#039;&#039;&#039; driver for the &#039;&#039;&#039;&#039;&#039;IBH Link&#039;&#039;&#039;&#039;&#039;, the &#039;&#039;&#039;&#039;&#039;S7-SoftPLC&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;S7-CX&#039;&#039;&#039;&#039;&#039; PLC, controllers can be easily programmed and maintained via ethernet using the TCP/IP protocol. Besides programming and variable access, also monitoring the block status of the controller is possible via the &#039;&#039;&#039;&#039;&#039;IBHNet&#039;&#039;&#039;&#039;&#039; driver.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;&#039;&#039;IBHNet&#039;&#039;&#039;&#039;&#039; driver can be used in conjunction with &#039;&#039;&#039;&#039;&#039;S5/S7 for Windows&#039;&#039;&#039;&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;, with the &#039;&#039;&#039;&#039;&#039;IBH OPC Server&#039;&#039;&#039;&#039;&#039;, Simatic&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 an other applications. Also, the &#039;&#039;&#039;&#039;&#039;IBHNet&#039;&#039;&#039;&#039;&#039; driver enables you to gain a direct variable access via standard programming languages like Visual Basic or Delphi.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following PLC controllers can be accessed with the &#039;&#039;&#039;&#039;&#039;IBHNet&#039;&#039;&#039;&#039;&#039; driver:&lt;br /&gt;
&lt;br /&gt;
* An IBH&#039;&#039;softec&#039;&#039; &#039;&#039;&#039;&#039;&#039;S7-SoftPLC&#039;&#039;&#039;&#039;&#039;, operated on the same PLC.&lt;br /&gt;
* An IBH&#039;&#039;softec&#039;&#039; &#039;&#039;&#039;&#039;&#039;S7-SoftPLC&#039;&#039;&#039;&#039;&#039;, connected via a local area network, via an Intranet or via the Internet.&lt;br /&gt;
* An IBH&#039;&#039;softec&#039;&#039; &#039;&#039;&#039;&#039;&#039;S7-PCI315&#039;&#039;&#039;&#039;&#039;, operated in the same PLC.&lt;br /&gt;
* An IBH&#039;&#039;softec&#039;&#039; &#039;&#039;&#039;&#039;&#039;S7-PCI315&#039;&#039;&#039;&#039;&#039;, connected via a local area network, via an Intranet or via the Internet.&lt;br /&gt;
* An IBH&#039;&#039;softec&#039;&#039; &#039;&#039;&#039;&#039;&#039;S7-CX&#039;&#039;&#039;&#039;&#039; PLC, connected via a local area network, via an Intranet or via the Internet.&lt;br /&gt;
* Any Simatic&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; S7-200&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;, S7-1200&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;, S7-1500&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;, S7-300&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; or S7-400&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; PLCs, connected via a local area network, via an Intranet or via the Internet. To establish a connection of a Simatic&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; S7-200&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;, S7-300&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; or S7-400&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; PLC with the ethernet network, the communication adaptor &#039;&#039;&#039;&#039;&#039;IBH Link&#039;&#039;&#039;&#039;&#039; is required.&lt;br /&gt;
* Simatic&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; S5 PLCs, connected via a local area network, via an Intranet or via the Internet. To establish a connection of a Simatic&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; S5 PLC with the ethernet network, the communication adaptor &#039;&#039;&#039;&#039;&#039;IBH Link S5&#039;&#039;&#039;&#039;&#039; is required.&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=IBHNet:Accessing_PLC_variables&amp;diff=1418</id>
		<title>IBHNet:Accessing PLC variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=IBHNet:Accessing_PLC_variables&amp;diff=1418"/>
		<updated>2013-04-09T10:45:17Z</updated>

		<summary type="html">&lt;p&gt;Jonas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Accessing PLC variables ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;&#039;&#039;IBHNet&#039;&#039;&#039;&#039;&#039; network driver ships with an object, which allows access to variables of the PLC. This COM-Server can be used in any programming language, such as VisualBasic, Delphi a.s.o..&lt;br /&gt;
&lt;br /&gt;
Its interface name is IIIBHnet. In VisualBasic for instance, it is presented as IBHNet 1.0 Type Library from the menu &amp;amp;quot;Project – References&amp;amp;quot;. The RFC1006 protocol should be always used to read and write variables, if possible. Only obsolete devices may require other protocols. To access variables from the PLC the methods and properties listed below are available:&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! &#039;&#039;&#039;Functions of the Interface IIIBHnet&#039;&#039;&#039;&lt;br /&gt;
!style=&amp;quot;width: 5em&amp;quot; align=&amp;quot;center&amp;quot;| S5 &lt;br /&gt;
!style=&amp;quot;width: 5em&amp;quot; align=&amp;quot;center&amp;quot;| S7 &amp;lt;br/&amp;gt; 300/400 &lt;br /&gt;
!style=&amp;quot;width: 5em&amp;quot; align=&amp;quot;center&amp;quot;| SoftSPS &amp;lt;br/&amp;gt; and &amp;lt;br/&amp;gt; S7-CX &lt;br /&gt;
!style=&amp;quot;width: 5em&amp;quot; align=&amp;quot;center&amp;quot;| S7 &amp;lt;br/&amp;gt; 200&lt;br /&gt;
|-&lt;br /&gt;
|Search first configured station&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT FirstStation(BSTR* pVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;pVal: First Station found&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, if no station exists, S_FALSE is returned.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X&lt;br /&gt;
|-&lt;br /&gt;
|Search further configured stations&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT NextStation(BSTR* pVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;pVal: Station name&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK&amp;lt;br /&amp;gt;If no further station exists, S_FALSE is returned.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Set up PLC connection&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT Connect([in, string] BSTR Station,[in] long MPIAdr)&#039;&#039;&#039;&amp;lt;br /&amp;gt;Station: Station Name&amp;lt;br /&amp;gt;MPIAdr: MPI Addrerss&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL or the sequence number if failed.&amp;lt;br /&amp;gt;The function Connect_DP of the interface IIIBHNet3 should be preferred to set up a connection, because it returns always an exception in programming languages like VisualBasic or C#, if failed.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X&lt;br /&gt;
|-&lt;br /&gt;
|PLC Disconnect&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT Disconnect()&#039;&#039;&#039;&amp;lt;br /&amp;gt;Parameters: None&amp;lt;br /&amp;gt;Return Value: Always S_OK.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X&lt;br /&gt;
|-&lt;br /&gt;
|Reads a single value from the PLC&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT ReadVal(long typ, long nr, long DBNr, long size, long *val)&#039;&#039;&#039;&amp;lt;br /&amp;gt;typ : &#039;E&#039; = Input = 69d, &#039;A&#039; Output = 65d, &#039;M&#039; Flags = 77d, &#039;D&#039; Datablock = 68d&amp;lt;br /&amp;gt;nr: Start offset for Input/Output/Flags, for D the start offset within the DB&amp;lt;br /&amp;gt;DBNr: Datablock number for typ = &#039;D&#039; (68d), for Input/Output/Flags 0&amp;lt;br /&amp;gt;size: 0..7 = The bit number within the byte read, 8 = Byte, 16 = Word, 32 = Doubleword&amp;lt;br /&amp;gt;val: The value read from the PLC&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors, E_ABORT if the PLC denies access or E_INVALIDARG if the desination Area in the PLC does not exist or is too small.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X&lt;br /&gt;
|-&lt;br /&gt;
|Reads an array of values from the PLC&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT ReadVals(long typ, long nr, long DBNr, long size, SAFEARRAY(unsigned char) vals)&#039;&#039;&#039;&amp;lt;br /&amp;gt;typ: &#039;E&#039; = Input = 69d, &#039;A&#039; Output = 65d, &#039;M&#039; Flags = 77d, &#039;D&#039; Datablock = 68d&amp;lt;br /&amp;gt;nr: Start offset for Input/Output/Flags, for D the start offset within the DB&amp;lt;br /&amp;gt;DBNr: Datablock number for typ = &#039;D&#039; (68d), for Input/Output/Flags 0&amp;lt;br /&amp;gt;size: Number of Bytes to read&amp;lt;br /&amp;gt;vals: The array with the values read from the PLC&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors, E_ABORT if the PLC denies access or E_INVALIDARG if the desination Area in the PLC does not exist or is too small.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;ReadVals returns the data in a SAFEARRAY from type Byte. DotNetReadVals returns the data in a VARIANT variable, that contains a SAFEARRAY of type Byte. In the .Net languages the vals parameter is an object. If the destination area in the PLC does nor exist or is too small, the PLC reports this to the driver and the function will return E_INVALIDARG. The connection to the PLC stays established. For this type of error there is no need do disconnect from the PLC.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X&lt;br /&gt;
|-&lt;br /&gt;
|Writes a single value from the PLC&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT WriteVal(long typ, long nr, long DBNr, long size, long val)&#039;&#039;&#039;&amp;lt;br /&amp;gt;typ: &#039;E&#039; = Input = 69d, &#039;A&#039; Output = 65d, &#039;M&#039; Flags = 77d, &#039;D&#039; Datablock = 68d&amp;lt;br /&amp;gt;nr: Start offset for Input/Output/Flags, for D the start offset within the DB&amp;lt;br /&amp;gt;DBNr: Datablock number for typ = &#039;D&#039; (68d), for Input/Output/Flags 0&amp;lt;br /&amp;gt;size: 0..7 = The bit number within the byte read, 8 = Byte, 16 = Word, 32 = Doubleword&amp;lt;br /&amp;gt;val: The value to be written to the PLC&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors, E_ABORT if the PLC denies access or E_INVALIDARG if the desination Area in the PLC does not exist or is too small.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X&lt;br /&gt;
|-&lt;br /&gt;
|Writes an array of values to the PLC&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT WriteVals(long typ, long nr, long DBNr, long size,SAFEARRAY(unsigned char) vals)&#039;&#039;&#039;&amp;lt;br /&amp;gt;typ: &#039;E&#039; = Input = 69d, &#039;A&#039; Output = 65d, &#039;M&#039; Flags = 77d, &#039;D&#039; Datablock = 68d&amp;lt;br /&amp;gt;nr: Start offset for Input/Output/Flags, for D the start offset within the DB&amp;lt;br /&amp;gt;DBNr: Datablock number for typ = &#039;D&#039; (68d), for Input/Output/Flags 0&amp;lt;br /&amp;gt;size: Number of Bytes to read&amp;lt;br /&amp;gt;vals: The array with the values to write to the PLC&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors, E_ABORT if the PLC denies access or E_INVALIDARG if the desination Area in the PLC does not exist or is too small.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;WriteVals passes the data in a SAFEARRAY from type Byte. DotNetWriteVals passes the data in a VARIANT variable, that contains a SAFEARRAY of type Byte. In the .Net languages the vals parameter is an object. If the destination area in the PLC does nor exist or is too small, the PLC reports this to the driver and the function will return E_INVALIDARG. The connection to the PLC stays established. For this type of error there is no need do disconnect from the PLC.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X&lt;br /&gt;
|-&lt;br /&gt;
|Writes the .bin file of the SoftPLC, containing the PLC Program.&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT PLC_Store()&#039;&#039;&#039;&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors. E_NOTIMPL will be returned, if the connected PLC does not support the function.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| -&lt;br /&gt;
|-&lt;br /&gt;
|Reads the .bin file of the SoftPLC, containing the PLC Program.&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT PLC_Restore()&#039;&#039;&#039;&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors. E_NOTIMPL will be returned, if the connected PLC does not support the function.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| -&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;!-- x--&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;Properties of the interface IIIBHnet&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| S5 &lt;br /&gt;
!align=&amp;quot;center&amp;quot;| S7 &amp;lt;br/&amp;gt; 300/400 &lt;br /&gt;
!align=&amp;quot;center&amp;quot;| SoftSPS &amp;lt;br/&amp;gt; and &amp;lt;br/&amp;gt; S7-CX &lt;br /&gt;
!align=&amp;quot;center&amp;quot;| S7 &amp;lt;br/&amp;gt; 200&lt;br /&gt;
|-&lt;br /&gt;
|Reads the operational state of the PLC.&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT PLC_Run([out, retval] BOOL *pVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;pVal: TRUE = Run, FALSE = Stop&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors. E_NOTIMPL will be returned, if the connected PLC does not support the function.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| -&lt;br /&gt;
|-&lt;br /&gt;
|Reads the revision of the SoftPLC.&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT PLC_Version([out, retval] long *pVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;pVal: reports the revision.&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors. E_NOTIMPL will be returned, if the connected PLC does not support the function.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| -&lt;br /&gt;
|-&lt;br /&gt;
|Reads the number of cyles of the SoftPLC.&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT PLC_Cycles([out, retval] long *pVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;pVal: reports the current count.&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors. E_NOTIMPL will be returned, if the connected PLC does not support the function.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| -&lt;br /&gt;
|-&lt;br /&gt;
|Switches the PLC to Stop mode.&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT PLC_Stop([in] BOOL newVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;The parameter newVal is reserved and must be always FALSE.&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors. E_NOTIMPL will be returned, if the connected PLC does not support the function.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| -&lt;br /&gt;
|-&lt;br /&gt;
|Warm Restart of the PLC.&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT PLC_Run_OB100([in] BOOL newVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;The parameter newVal is reserved and must be always TRUE.&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors. E_NOTIMPL will be returned, if the connected PLC does not support the function.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| -&lt;br /&gt;
|-&lt;br /&gt;
|Hot Restart of the PLC.&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT PLC_Run_OB101([in] BOOL newVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;The parameter newVal is reserved and must be always TRUE.&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors. E_NOTIMPL will be returned, if the connected PLC does not support the function.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| -&lt;br /&gt;
|-&lt;br /&gt;
|Terminates the SoftPLC.&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT PLC_Terminate([in] BOOL newVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;The parameter newVal is reserved and must be always FALSE.&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors. E_NOTIMPL will be returned, if the connected PLC does not support the function.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| -&lt;br /&gt;
|-&lt;br /&gt;
|Reads the serial number of the SoftPLC.&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT PLC_SerialNr([out, retval] BSTR *pVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;pVal: returns the serial number.&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors. E_NOTIMPL will be returned, if the connected PLC does not support the function.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| -&lt;br /&gt;
|-&lt;br /&gt;
|Reads the user name of the SoftPLC.&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT PLC_Name([out, retval] BSTR *pVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;pVal: returns the user name.&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors. E_NOTIMPL will be returned, if the connected PLC does not support the function.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| -&lt;br /&gt;
|-&lt;br /&gt;
|Reads the company name of the SoftPLC.&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT PLC_Firma([out, retval] BSTR *pVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;pVal returns the company name.&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors. E_NOTIMPL will be returned, if the connected PLC does not support the function.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| -&lt;br /&gt;
|-&lt;br /&gt;
|Reads the order number of the PLC.&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT PLC_Mlfb([out, retval] BSTR *pVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;pVal: returns the company name.&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors. E_NOTIMPL will be returned, if the connected PLC does not support the function.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| -&lt;br /&gt;
|-&lt;br /&gt;
|Reads the current scan cycle time of the SoftPLC.&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT PLC_CycleAct([out, retval] long *pVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;pVal returns the cycle time.&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors. E_NOTIMPL will be returned, if the connected PLC does not support the function.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| -&lt;br /&gt;
|-&lt;br /&gt;
|Reads the minimum scan cycle time of the SoftPLC.&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT PLC_CycleMin([out, retval] long *pVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;pVal: returns the minimum cycle time.&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors. E_NOTIMPL will be returned, if the connected PLC does not support the function.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| -&lt;br /&gt;
|-&lt;br /&gt;
|Reads the maximum scan cycle time of the SoftPLC.&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT PLC_CycleMax([out, retval] long *pVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;pVal returns the maximum cycle time.&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors. E_NOTIMPL will be returned, if the connected PLC does not support the function.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| -&lt;br /&gt;
|-&lt;br /&gt;
|Reads the maximum jitter of the SoftPLC.&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT PLC_JitterMax([out, retval] long *pVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;pVal: returns the maximum jitter.&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors. E_NOTIMPL will be returned, if the connected PLC does not support the function.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| -&lt;br /&gt;
|-&lt;br /&gt;
|Reads the current jitter of the SoftPLC.&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT PLC_JitterAct([out, retval] long *pVal))&#039;&#039;&#039;&amp;lt;br /&amp;gt;pVal: returns the current jitter.&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors. E_NOTIMPL will be returned, if the connected PLC does not support the function.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| -&lt;br /&gt;
|-&lt;br /&gt;
|Starts the SoftPLC.&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT PLC_Load([in] long newVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;newVal: 0 = As Process, 1 = As Service, 2 = As AutoStart Service, 3 = As DemandStart Service.&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors. E_NOTIMPL will be returned, if the connected PLC does not support the function.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| -&lt;br /&gt;
|-&lt;br /&gt;
|Path to the configuration file PLC43.ini of the SoftPLC.&amp;lt;br /&amp;gt; &#039;&#039;&#039;HRESULT PLC_InitPath([out, retval] BSTR *pVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;pVal: returns the path.&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors. E_NOTIMPL will be returned, if the connected PLC does not support the function.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| -&lt;br /&gt;
|-&lt;br /&gt;
|Reads the SoftPLCs memory size.&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT PLC_MemTotal([out, retval] long *pVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;pVal: returns the memory size.&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors. E_NOTIMPL will be returned, if the connected PLC does not support the function.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| -&lt;br /&gt;
|-&lt;br /&gt;
|Reads the SoftPLCs free memory size.&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT PLC_MemFree([out, retval] long *pVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;pVal: returns the free memory size.&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors. E_NOTIMPL will be returned, if the connected PLC does not support the function.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| -&lt;br /&gt;
|-&lt;br /&gt;
|Get configured station by index.&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT Station(long Nr, [out, retval] BSTR* pVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;Nr: Station index&amp;lt;br /&amp;gt;pVal: If the station is not found, an empty name name is returned. Return Value: Successful operation returns S_OK, if the station does not exist, S_FALSE is returned.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| -&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;!-- x--&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;Properties for PLC variable access&#039;&#039;&#039;&lt;br /&gt;
Each of the functions listed below initiates a full read respectively write sequence with the PLC. It should be mentioned that reading or writing entire arrays of variables take only a negligible amount of time longer than reading/writing single variables. For this reason, it should be considered to collect all data in a single area of the PLC. This way complete array can be read/written, which may dramatically increase performance.&lt;br /&gt;
&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| S5 &lt;br /&gt;
!align=&amp;quot;center&amp;quot;| S7 &amp;lt;br/&amp;gt; 300/400 &lt;br /&gt;
!align=&amp;quot;center&amp;quot;| SoftSPS &amp;lt;br/&amp;gt; and &amp;lt;br/&amp;gt; S7-CX &lt;br /&gt;
!align=&amp;quot;center&amp;quot;| S7 &amp;lt;br/&amp;gt; 200&lt;br /&gt;
|-&lt;br /&gt;
|Reads a flag doubleword&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT MD(long nr, [out, retval] long *pVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;nr: Number of the flag doubleword&amp;lt;br /&amp;gt;pVal: Read value&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors, E_ABORT if the PLC denies access or E_INVALIDARG if the desination Area in the PLC is too small.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Writes a flag doubleword&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT MD(long nr, [in] long newVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;nr: Number of the flag doubleword&amp;lt;br /&amp;gt;newVal: Value to write&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors, E_ABORT if the PLC denies access or E_INVALIDARG if the desination Area in the PLC is too small.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X&lt;br /&gt;
|-&lt;br /&gt;
|Reads a flag word&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT MW(long nr, [out, retval] long *pVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;nr: Number of the flag word&amp;lt;br /&amp;gt;pVal: Read value&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors, E_ABORT if the PLC denies access or E_INVALIDARG if the desination Area in the PLC is too small.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Writes a flag word&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT MW(long nr, [in] long newVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;nr: Number of the flag word&amp;lt;br /&amp;gt;newVal: Value to write&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors, E_ABORT if the PLC denies access or E_INVALIDARG if the desination Area in the PLC is too small.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X&lt;br /&gt;
|-&lt;br /&gt;
|Reads a flag byte&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT MB(long nr, [out, retval] long *pVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;nr: Number of the flag byte &amp;lt;br /&amp;gt;pVal: Read value&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors, E_ABORT if the PLC denies access or E_INVALIDARG if the desination Area in the PLC is too small.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Writes a flag byte&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT MB(long nr, [in] long newVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;nr: Number of the flag byte&amp;lt;br /&amp;gt;newVal: Value to write&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors, E_ABORT if the PLC denies access or E_INVALIDARG if the desination Area in the PLC is too small.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X&lt;br /&gt;
|-&lt;br /&gt;
|Reads a flag&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT M(long nr,long bit, [out, retval] BOOL *pVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;nr: Number of the flag byte&amp;lt;br /&amp;gt;bit: Bit number in the flag byte&amp;lt;br /&amp;gt;pVal: Read value&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors, E_ABORT if the PLC denies access or E_INVALIDARG if the desination Area in the PLC is too small. &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Writes a flag&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT M(long nr,long bit, [in] BOOL newVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;nr: Number of the flag byte&amp;lt;br /&amp;gt;bit: Bit number in the flag byte&amp;lt;br /&amp;gt;newVal: Value to write &amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors, E_ABORT if the PLC denies access or E_INVALIDARG if the desination Area in the PLC is too small.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X&lt;br /&gt;
|-&lt;br /&gt;
|Reads a input doubleword&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT ED(long nr, [out, retval] long *pVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;nr: Number of the input doubleword&amp;lt;br /&amp;gt;pVal: Read value&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors, E_ABORT if the PLC denies access or E_INVALIDARG if the desination Area in the PLC is too small.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Writes a input doubleword&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT ED(long nr, [in] long newVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;nr: Number of the input doubleword&amp;lt;br /&amp;gt;newVal: Value to write&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors, E_ABORT if the PLC denies access or E_INVALIDARG if the desination Area in the PLC is too small.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X&lt;br /&gt;
|-&lt;br /&gt;
|Reads a input word&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT EW(long nr, [out, retval] long *pVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;nr: Number of the input word&amp;lt;br /&amp;gt;pVal: Read value&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors, E_ABORT if the PLC denies access or E_INVALIDARG if the desination Area in the PLC is too small.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Writes a input word&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT EW(long nr, [in] long newVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;nr: Number of the input word&amp;lt;br /&amp;gt;newVal: Value to write&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors, E_ABORT if the PLC denies access or E_INVALIDARG if the desination Area in the PLC is too small.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X&lt;br /&gt;
|-&lt;br /&gt;
|Reads a input byte&amp;lt;br /&amp;gt;&#039;&#039;&#039;EB(long nr, [out, retval] long *pVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;nr: Number of the input byte&amp;lt;br /&amp;gt;pVal: Read value&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors, E_ABORT if the PLC denies access or E_INVALIDARG if the desination Area in the PLC is too small.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Writes a input byte&amp;lt;br /&amp;gt;&#039;&#039;&#039;EB(long nr, [in] long newVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;nr: Number of the input byte&amp;lt;br /&amp;gt;newVal: Value to write&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors, E_ABORT if the PLC denies access or E_INVALIDARG if the desination Area in the PLC is too small.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X&lt;br /&gt;
|-&lt;br /&gt;
|Reads an input&amp;lt;br /&amp;gt;&#039;&#039;&#039;E(long nr,long bit, [out, retval] BOOL *pVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;nr: Number of the input byte&amp;lt;br /&amp;gt;bit: Bit number in the input byte&amp;lt;br /&amp;gt;pVal: Read value&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors, E_ABORT if the PLC denies access or E_INVALIDARG if the desination Area in the PLC is too small.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Writes an input&amp;lt;br /&amp;gt;&#039;&#039;&#039;E(long nr,long bit, [in] BOOL newVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;nr: Number of the input byte&amp;lt;br /&amp;gt;bit: Bit number in the input byte&amp;lt;br /&amp;gt;newVal: Value to write&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors, E_ABORT if the PLC denies access or E_INVALIDARG if the desination Area in the PLC is too small.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X&lt;br /&gt;
|-&lt;br /&gt;
|Reads a output doubleword&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT AD(long nr, [out, retval] long *pVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;nr: Number of the output doubleword&amp;lt;br /&amp;gt;pVal: Read value&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors, E_ABORT if the PLC denies access or E_INVALIDARG if the desination Area in the PLC is too small.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Writes a output doubleword&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT AD(long nr, [in] long newVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;nr: Number of the output doubleword&amp;lt;br /&amp;gt;newVal: Value to write&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors, E_ABORT if the PLC denies access or E_INVALIDARG if the desination Area in the PLC is too small.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Reads a output word&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT AW(long nr, [out, retval] long *pVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;nr: Number of the output word&amp;lt;br /&amp;gt;pVal: Read value&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors, E_ABORT if the PLC denies access or E_INVALIDARG if the desination Area in the PLC is too small.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Writes a output word&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT AW(long nr, [in] long newVal&#039;&#039;&#039;)&amp;lt;br /&amp;gt;nr: Number of the output word&amp;lt;br /&amp;gt;newVal: Value to write&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors, E_ABORT if the PLC denies access or E_INVALIDARG if the desination Area in the PLC is too small.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X&lt;br /&gt;
|-&lt;br /&gt;
|Reads a output byte&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT AB(long nr, [out, retval] long *pVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;nr: Number of the output byte&amp;lt;br /&amp;gt;pVal: Read value&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors, E_ABORT if the PLC denies access or E_INVALIDARG if the desination Area in the PLC is too small.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Writes a output byte&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT AB(long nr, [in] long newVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;nr: Number of the output byte&amp;lt;br /&amp;gt;newVal: Value to write&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors, E_ABORT if the PLC denies access or E_INVALIDARG if the desination Area in the PLC is too small.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X&lt;br /&gt;
|-&lt;br /&gt;
|Reads an output&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT A(long nr,long bit, [out, retval] BOOL *pVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;nr: Number of the output byte&amp;lt;br /&amp;gt;bit: Bit number in the output byte&amp;lt;br /&amp;gt;pVal: Read value&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors, E_ABORT if the PLC denies access or E_INVALIDARG if the desination Area in the PLC is too small.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Writes an output&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT A(long nr,long bit, [in] BOOL newVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;nr: Number of the output byte&amp;lt;br /&amp;gt;bit: Bit number in the output byte&amp;lt;br /&amp;gt;newVal: Value to write&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors, E_ABORT if the PLC denies access or E_INVALIDARG if the desination Area in the PLC is too small.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X&lt;br /&gt;
|-&lt;br /&gt;
|Reads a data doubleword&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT DD(long DBNr,long nr, [out, retval] long *pVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;DBNr: Number of the data block&amp;lt;br /&amp;gt;nr: Byte offset within the data block&amp;lt;br /&amp;gt;pVal: Read value&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors, E_ABORT if the PLC denies access or E_INVALIDARG if the desination Area in the PLC does not exist or is too small.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Writes a data doubleword&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT DD(long DBNr,long nr, [in] long newVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;DBNr: Number of the data block&amp;lt;br /&amp;gt;nr: Byte offset within the data block&amp;lt;br /&amp;gt;newVal: Value to write&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors, E_ABORT if the PLC denies access or E_INVALIDARG if the desination Area in the PLC does not exist or is too small.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X&lt;br /&gt;
|-&lt;br /&gt;
|Reads a data word&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT DW(long DBNr,long nr, [out, retval] long *pVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;DBNr: Number of the data block&amp;lt;br /&amp;gt;nr: Byte offset within the data block&amp;lt;br /&amp;gt;pVal: Read value&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors, E_ABORT if the PLC denies access or E_INVALIDARG if the desination Area in the PLC does not exist or is too small.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Writes a data word&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT DW(long DBNr,long nr, [in] long newVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;DBNr: Number of the data block&amp;lt;br /&amp;gt;nr: Byte offset within the data block&amp;lt;br /&amp;gt;newVal: Value to write&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors, E_ABORT if the PLC denies access or E_INVALIDARG if the desination Area in the PLC does not exist or is too small.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X&lt;br /&gt;
|-&lt;br /&gt;
|Reads a data byte&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT DB(long DBNr,long nr, [out, retval] long *pVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;DBNr: Number of the data block&amp;lt;br /&amp;gt;nr: Byte offset within the data block&amp;lt;br /&amp;gt;pVal: Read value&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors, E_ABORT if the PLC denies access or E_INVALIDARG if the desination Area in the PLC does not exist or is too small.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Writes a data byte&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT DB(long DBNr,long nr, [in] long newVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;DBNr: Number of the data block&amp;lt;br /&amp;gt;nr: Byte offset within the data block&amp;lt;br /&amp;gt;newVal: Value to write&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors, E_ABORT if the PLC denies access or E_INVALIDARG if the desination Area in the PLC does not exist or is too small.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X&lt;br /&gt;
|-&lt;br /&gt;
|Reads a data bit&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT D(long DBNr,long nr,long bit, [out, retval] BOOL *pVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;DBNr: Number of the data block&amp;lt;br /&amp;gt;nr: Byte offset within the data block&amp;lt;br /&amp;gt;bit: Bit number within the data byte&amp;lt;br /&amp;gt;pVal: Read value&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors, E_ABORT if the PLC denies access or E_INVALIDARG if the desination Area in the PLC does not exist or is too small.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Writes a data bit&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT D(long DBNr,long nr,long bit, [in] BOOL newVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;DBNr: Number of the data block&amp;lt;br /&amp;gt;nr: Byte offset within the data block&amp;lt;br /&amp;gt;bit: Bit number within the data byte&amp;lt;br /&amp;gt;newVal: Value to write&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors, E_ABORT if the PLC denies access or E_INVALIDARG if the desination Area in the PLC does not exist or is too small.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;!-- x--&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;System Functions of the Interface IIIBHnet2&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| S5 &lt;br /&gt;
!align=&amp;quot;center&amp;quot;| S7 &amp;lt;br/&amp;gt; 300/400 &lt;br /&gt;
!align=&amp;quot;center&amp;quot;| SoftSPS &amp;lt;br/&amp;gt; and &amp;lt;br/&amp;gt; S7-CX &lt;br /&gt;
!align=&amp;quot;center&amp;quot;| S7 &amp;lt;br/&amp;gt; 200&lt;br /&gt;
|-&lt;br /&gt;
|Reboot of the IBH Link.&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT ResetDevice(BSTR device)&#039;&#039;&#039;&amp;lt;br /&amp;gt;device: Station name.&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors. E_NOTIMPL will be returned, if the connected module does not support the function.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X&lt;br /&gt;
|-&lt;br /&gt;
|Reads the key switch position of the PLC.&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT Key_Position([out, retval] long *pVal)&#039;&#039;&#039;&amp;lt;br /&amp;gt;pVal: returns the key switch position.&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors. E_NOTIMPL will be returned, if the connected PLC does not support the function.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| -&lt;br /&gt;
|-&lt;br /&gt;
|Reads the available nodes on the bus.&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT LifeList(BSTR device, VARIANT * lifelist)&#039;&#039;&#039;&amp;lt;br /&amp;gt;lifelist: contains a list with the nodes.&amp;lt;br /&amp;gt;0x30 = Active, 0x20 = Active Ready, 0x10 = Not existing, 0x00 = Passive&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors. E_NOTIMPL will be returned, if the connected PLC does not support the function.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X&lt;br /&gt;
|-&lt;br /&gt;
|Reads the System Status Lists (SSL) from the PLC.&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT SZ_List(long SZL_ID, long INDEX, VARIANT * SZ_List)&#039;&#039;&#039;&amp;lt;br /&amp;gt;For more information please consult the Siemens dokumentation for the SFC51. Installation folder: C:\Program Files\Siemens\Dokumentation\English\STEP 7 - System and Standard Functions for S7-300 and S7-400 Chapter: System Status Lists (SSL).&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors. E_NOTIMPL will be returned, if the connected PLC does not support the function.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| -&lt;br /&gt;
|-&lt;br /&gt;
|Terminates the driver IBH_NetPcom.exe.&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT TerminateDriver()&#039;&#039;&#039;&amp;lt;br /&amp;gt;Return Value: Always S_OK.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;For the Protocols RFC1006, API or 1200 irrelevant.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;!-- x--&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;Advanced functions and .NET of the Interface IIIBHnet3&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;center&amp;quot;| S5 &lt;br /&gt;
!align=&amp;quot;center&amp;quot;| S7 &amp;lt;br/&amp;gt; 300/400 &lt;br /&gt;
!align=&amp;quot;center&amp;quot;| SoftSPS &amp;lt;br/&amp;gt; and &amp;lt;br/&amp;gt; S7-CX &lt;br /&gt;
!align=&amp;quot;center&amp;quot;| S7 &amp;lt;br/&amp;gt; 200&lt;br /&gt;
|-&lt;br /&gt;
|Set up PLC connection.&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT Connect_DP(BSTR Station, long DPAdr, long Rack, long Slot)&#039;&#039;&#039;&amp;lt;br /&amp;gt;Station: Station name&amp;lt;br /&amp;gt;DPAdr: MPI&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; or Profibus address&amp;lt;br /&amp;gt;Rack: Rack number (normally 0)&amp;lt;br /&amp;gt;Slot: Slot number. For MPI normally 0, for Profibus the slot number of the CPU inside the rack.&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL if failed.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;The function Connect_DP of the interface IIIBHNet3 should be preferred to set up a connection, because it returns always an exception in programming languages like VisualBasic or C#, if failed.&amp;lt;br /&amp;gt;If the protocol RFC1006 is chosen in the IBHNet station, the parameter DPAdr is irrelevant. For connections to a Siemens CP, only the parameters Rack and Slot are regarded. With an IBH Link S7++, the MPI/Profibusaddress is a combination from the lower 5 Bit of the parameter Slot and the lower 3 Bit of the parameter Rack.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| -&lt;br /&gt;
|-&lt;br /&gt;
|Set up a routed PLC connection to a PLC in a MPI/Profibus subnet, if the CPU supports it.&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT Subnet_Connect_DP(BSTR Station, long MPIStart, long MPIZiel, long RackZiel, long SlotZiel, long Subnet_HH, long Subnet_LL)&#039;&#039;&#039;&amp;lt;br /&amp;gt;Station: Station name&amp;lt;br /&amp;gt;MPIStart: MPI&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; or Profibus address, the IBH Link is connected to.&amp;lt;br /&amp;gt;MPIZiel: Destination MPI&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; or Profibus address inside the subnet.&amp;lt;br /&amp;gt;RackZiel: Destination rack number in the subnet (normally 0).&amp;lt;br /&amp;gt;SlotZiel: Destination slot number in the subnet (normally 2).&amp;lt;br /&amp;gt;Subnet_HH: Subnet ID HighWord, from Project.&amp;lt;br /&amp;gt;Subnet_LL: Subnet ID LowWord, from Project.&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL if failed.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;The function Connect_DP of the interface IIIBHNet3 should be preferred to set up a connection, because it returns always an exception in programming languages like VisualBasic or C#, if failed.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| -&lt;br /&gt;
|-&lt;br /&gt;
|Set up a routed PLC connection to a PLC in a TCP/IP subnet, if the CPU supports it.&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT Subnet_Connect_IP(BSTR Station, long MPIStart, BSTR IPZiel, long RackZiel, long SlotZiel, long Subnet_HH, long Subnet_LL)&#039;&#039;&#039;&amp;lt;br /&amp;gt;Station: Station name&amp;lt;br /&amp;gt;MPIStart: MPI&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; or Profibus address, the IBH Link is connected to.&amp;lt;br /&amp;gt;IPZiel: Destination TCP/IP address inside the subnet.&amp;lt;br /&amp;gt;RackZiel: Destination rack number in the subnet (normally 0).&amp;lt;br /&amp;gt;SlotZiel: Destination slot number in the subnet (normally 2).&amp;lt;br /&amp;gt;Subnet_HH: Subnet ID HighWord, from Project.&amp;lt;br /&amp;gt;Subnet_LL: Subnet ID LowWord, from Project.&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL if failed.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;The function Connect_DP of the interface IIIBHNet3 should be preferred to set up a connection, because it returns always an exception in programming languages like VisualBasic or C#, if failed.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| -&lt;br /&gt;
|-&lt;br /&gt;
|Set up a routed PLC connection to a PLC in a H1 subnet, if the CPU supports it.&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT SubnetConnectH1(BSTR Station, long MPIStart, BSTR H1Ziel, long RackZiel, long SlotZiel, long Subnet_HH, long Subnet_LL)&#039;&#039;&#039;&amp;lt;br /&amp;gt;Station: Station name&amp;lt;br /&amp;gt;MPIStart: MPI&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; or Profibus address, the IBH Link is connected to.&amp;lt;br /&amp;gt;H1Ziel: Destination H1 address inside the subnet.&amp;lt;br /&amp;gt;RackZiel: Destination rack number in the subnet (normally 0).&amp;lt;br /&amp;gt;SlotZiel: Destination slot number in the subnet (normally 2).&amp;lt;br /&amp;gt;Subnet_HH: Subnet ID HighWord, from Project.&amp;lt;br /&amp;gt;Subnet_LL: Subnet ID LowWord, from Project.&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL if failed.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;The function Connect_DP of the interface IIIBHNet3 should be preferred to set up a connection, because it returns always an exception in programming languages like VisualBasic or C#, if failed.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| - &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| -&lt;br /&gt;
|-&lt;br /&gt;
|Reads the raw contents of a datablock from the PLC.&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT ReadDB(long DBNr, VARIANT*DB, long * Len)&#039;&#039;&#039;&amp;lt;br /&amp;gt;DBNr: Data block number&amp;lt;br /&amp;gt;DB: VARIANT variable, that contains a SAFEARRAY of type Byte containing the block.&amp;lt;br /&amp;gt;Len: Block length&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors, E_INVALIDARG if the datablock does not exist.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;To use this function, detailled internal knowledge of S7 blocks is required. For legal reasons this information can not be published by IBHsoftec.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| -&lt;br /&gt;
|-&lt;br /&gt;
|Writes the raw contents of a datablock to a PLC.&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT WriteDB(long DBNr, VARIANT DB, long Len)&#039;&#039;&#039;&amp;lt;br /&amp;gt;DBNr: Data block number&amp;lt;br /&amp;gt;DB: VARIANT variable, that contains a SAFEARRAY of type Byte containing the block.&amp;lt;br /&amp;gt;Len: Block length&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors, E_INVALIDARG if the datablock does not exist. &amp;lt;br /&amp;gt;To use this function, detailled internal knowledge of S7 blocks is required. For legal reasons this information can not be published by IBHsoftec.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| -&lt;br /&gt;
|-&lt;br /&gt;
|Reads an array of values from the PLC&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT DotNetReadVals(long typ, long nr, long DBNr, long size, VARIANT * vals)&#039;&#039;&#039;&amp;lt;br /&amp;gt;typ: &#039;E&#039; = Input = 69d, &#039;A&#039; Output = 65d, &#039;M&#039; Flags = 77d, &#039;D&#039; Datablock = 68d&amp;lt;br /&amp;gt;nr: Start offset for Input/Output/Flags, for D the start offset within the DB&amp;lt;br /&amp;gt;DBNr: Datablock number for typ = &#039;D&#039; (68d), for Input/Output/Flags 0&amp;lt;br /&amp;gt;size: Number of Bytes to read&amp;lt;br /&amp;gt;vals: VARIANT variable, that contains a SAFEARRAY of type Byte containing the values read from the PLC.&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors, E_ABORT if the PLC denies access or E_INVALIDARG if the desination Area in the PLC does not exist or is too small.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;In the .Net languages the vals parameter is an object. If the destination area in the PLC does nor exist or is too small, the PLC reports this to the driver and the function will return E_INVALIDARG. The connection to the PLC stays established. For this type of error there is no need do disconnect from the PLC.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X&lt;br /&gt;
|-&lt;br /&gt;
|Writes an array of values to the PLC&amp;lt;br /&amp;gt;&#039;&#039;&#039;HRESULT DotNetWriteVals(long typ, long nr, long DBNr, long size, VARIANT vals)&#039;&#039;&#039;&amp;lt;br /&amp;gt;typ: &#039;E&#039; = Input = 69d, &#039;A&#039; Output = 65d, &#039;M&#039; Flags = 77d, &#039;D&#039; Datablock = 68d&amp;lt;br /&amp;gt;nr: Start offset for Input/Output/Flags, for D the start offset within the DB&amp;lt;br /&amp;gt;DBNr: Datablock number for typ = &#039;D&#039; (68d), for Input/Output/Flags 0&amp;lt;br /&amp;gt;size: Number of Bytes to read&amp;lt;br /&amp;gt;vals: VARIANT variable, that contains a SAFEARRAY of type Byte with the values to write to the PLC&amp;lt;br /&amp;gt;Return Value: Successful operation returns S_OK, E_FAIL on Errors, E_ABORT if the PLC denies access or E_INVALIDARG if the desination Area in the PLC does not exist or is too small.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;DotNetWriteVals passes the data in a VARIANT variable, that contains a SAFEARRAY of type Byte. In the .Net languages the vals parameter is an object. If the destination area in the PLC does nor exist or is too small, the PLC reports this to the driver and the function will return E_INVALIDARG. The connection to the PLC stays established. For this type of error there is no need do disconnect from the PLC.&lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X &lt;br /&gt;
|align=&amp;quot;center&amp;quot;| X&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
In the installation folder of the &#039;&#039;&#039;&#039;&#039;IBHNet&#039;&#039;&#039;&#039;&#039; driver, samples for Visual Basic 6 can be found. The samples are commented. Samples for other programming languages will follow. Contact our product support to ask for more samples.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|class=&amp;quot;hintergrundfarbe5&amp;quot;|&#039;&#039;&#039;Attention: If multiple threads need to access the same IBHNet object, the access functions to the IBHNet object need to be locked from each other. Suitable mechanisms are for instance Critical Sections, Semaphores or Mutexes. A simple locking with variables is not suitable to securely avoid race conditions.&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Following error codes will be returned:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Errorcode&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|netpcomv.CreateInstance failed&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|netpcomv.MPI_open failed&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|netpcomv.MPI_ConnRequest failed&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|connection request to SoftPlc failed&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|netpcomv.MPI_close failed&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If accessing a variable fails, still an exception will be raised.&lt;br /&gt;
&lt;br /&gt;
It is also possible to access the LOGO! RCE versions via RFC1006. In this case the MPI address 128 has to be used in the function Connect(), for Connect_DP() the slot 128 has to be used. MPI address and rack need to be 0. The possible variables are inputs, outputs, flags, the DB1 and the order number.&lt;br /&gt;
&lt;br /&gt;
Additional security settings are necessary with S7-1500 to permit access from IBHNet. To do so, navigate to the PLC properties &#039;Protection&#039; section. There the Option: &#039;Connection   mechanisms - Permit Access over PUT/GET communication from remote partner&#039; must be checked.&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Setting_the_User_SFC%27s/FC%27s_within_the_PLC43.INI&amp;diff=1167</id>
		<title>S7-SoftPLC:Setting the User SFC&#039;s/FC&#039;s within the PLC43.INI</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Setting_the_User_SFC%27s/FC%27s_within_the_PLC43.INI&amp;diff=1167"/>
		<updated>2013-01-23T12:25:33Z</updated>

		<summary type="html">&lt;p&gt;Jonas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In the section [SF] there is the possibility to add user defined SFC&#039;s/SFB&#039;s to &#039;&#039;S7-SoftPLC&#039;&#039;. &#039;&#039;S7-SoftPLC&#039;&#039; allows the user to use up to 100 DLLs with user defined system functions (SFC) or functions (FC). Every DLL can contain multiple SFCs or FCs. These SFC/FC can be created by the user in C++, if a certain specification is kept.&lt;br /&gt;
&lt;br /&gt;
By integrating own SFC/FC, the function pool can be expanded by own application specific code parts (technology functions, know-how protection, special hardware components). If the blocks are transferred with the PU to the PLC, the PLC keeps the C++ created internal blocks.&lt;br /&gt;
&lt;br /&gt;
Examples for creating own SFC/FC-DLLs are available at the IBH&#039;&#039;softec&#039;&#039; support.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Keyname !! Value area !! Default value !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| SF00 ||style=&amp;quot;width: 7em&amp;quot;| SFCnnn.DLL ||style=&amp;quot;width: 5em&amp;quot;| --- ||style=&amp;quot;width: 25em&amp;quot;| File name of user defined SFC/FC&lt;br /&gt;
|-&lt;br /&gt;
| SF01 || SFCnnn.DLL || --- || File name of user defined SFC/FCC&lt;br /&gt;
|-&lt;br /&gt;
| SF02 || SFCnnn.DLL || --- || File name of user defined SFC/FC&lt;br /&gt;
|-&lt;br /&gt;
| ... ||  ||  ||&lt;br /&gt;
|-&lt;br /&gt;
| SF99 || SFCnnn.DLL || --- || File name of user defined SFC/FC&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Enable hardware ports ==&lt;br /&gt;
&lt;br /&gt;
If a user SFC/FC accesses a hardware port of the PC directly, it has to be mentioned, that no direct access of the PC hardware is allowed with Windows&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; 2000 and Windows&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; XP. To allow direct hardware access, the drivers of &#039;&#039;S7-SoftPLC&#039;&#039; can obtain the permission from the operating system. To do so, the section [IO-PORTS] has to be added in the file PLC43.INI.&lt;br /&gt;
&lt;br /&gt;
Below, beginning with the address 0x0378, normally the printer port, 4 ports are enabled for direct port access.&lt;br /&gt;
&lt;br /&gt;
 [IO-PORTS]&lt;br /&gt;
 378=4&lt;br /&gt;
&lt;br /&gt;
For the serial port COM1, normally at address 0x03F8 with a lenght of 8 bytes, the entry would look like this:&lt;br /&gt;
&lt;br /&gt;
 [IO-PORTS]&lt;br /&gt;
 3F8=8&lt;br /&gt;
&lt;br /&gt;
Alternatively the I/O-port driver (ioport.dll) can be used as well.&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Setting_the_User_SFC%27s/FC%27s_within_the_PLC43.INI&amp;diff=1166</id>
		<title>S7-SoftPLC:Setting the User SFC&#039;s/FC&#039;s within the PLC43.INI</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Setting_the_User_SFC%27s/FC%27s_within_the_PLC43.INI&amp;diff=1166"/>
		<updated>2013-01-23T12:25:16Z</updated>

		<summary type="html">&lt;p&gt;Jonas: Created page with &amp;quot;In the section [SF] there is the possibility to add user defined SFC&amp;#039;s/SFB&amp;#039;s to &amp;#039;&amp;#039;S7-SoftPLC&amp;#039;&amp;#039;. &amp;#039;&amp;#039;S7-SoftPLC&amp;#039;&amp;#039; allows the user to use up to 100 DLLs with user defined system f...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In the section [SF] there is the possibility to add user defined SFC&#039;s/SFB&#039;s to &#039;&#039;S7-SoftPLC&#039;&#039;. &#039;&#039;S7-SoftPLC&#039;&#039; allows the user to use up to 100 DLLs with user defined system functions (SFC) or functions (FC). Every DLL can contain multiple SFCs or FCs. These SFC/FC can be created by the user in C++, if a certain specification is kept.&lt;br /&gt;
&lt;br /&gt;
By integrating own SFC/FC, the function pool can be expanded by own application specific code parts (technology functions, know-how protection, special hardware components). If the blocks are transferred with the PU to the PLC, the PLC keeps the C++ created internal blocks.&lt;br /&gt;
&lt;br /&gt;
Examples for creating own SFC/FC-DLLs are available at the IBH&#039;&#039;softec&#039;&#039; support.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Keyname !! Value area !! Default value !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| SF00 ||style=&amp;quot;width: 7em&amp;quot;| SFCnnn.DLL ||style=&amp;quot;width: 5em&amp;quot;| --- ||style=&amp;quot;width: 25em&amp;quot;| File name of user defined SFC/FC&lt;br /&gt;
|-&lt;br /&gt;
| SF01 || SFCnnn.DLL || --- || File name of user defined SFC/FCC&lt;br /&gt;
|-&lt;br /&gt;
| SF02 || SFCnnn.DLL || --- || File name of user defined SFC/FC&lt;br /&gt;
|-&lt;br /&gt;
| ... ||  ||  ||&lt;br /&gt;
|-&lt;br /&gt;
| SF99 || SFCnnn.DLL || --- || File name of user defined SFC/FC&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Enable hardware ports ==&lt;br /&gt;
&lt;br /&gt;
If a user SFC/FC accesses a hardware port of the PC directly, it has to be mentioned, that no direct access of the PC hardware is allowed with Windows&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; 2000 and Windows&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; XP. To allow direct hardware access, the drivers of &#039;&#039;S7-SoftPLC&#039;&#039; can obtain the permission from the operating system. To do so, the section [IO-PORTS] has to be added in the file PLC43.INI.&lt;br /&gt;
&lt;br /&gt;
Below, beginning with the address 0x0378, normally the printer port, 4 ports are enabled for direct port access.&lt;br /&gt;
&lt;br /&gt;
 [IO-PORTS]&lt;br /&gt;
 378=4&lt;br /&gt;
&lt;br /&gt;
For the serial port COM1, normally at address 0x03F8 with a lenght of 8 bytes, the entry would look like this:&lt;br /&gt;
&lt;br /&gt;
 [IO-PORTS]&lt;br /&gt;
 3F8=8&lt;br /&gt;
&lt;br /&gt;
Alternatively the I/O-port driver (ioport.dll) can be used as well.&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=Main_Page&amp;diff=1165</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=Main_Page&amp;diff=1165"/>
		<updated>2013-01-23T12:23:26Z</updated>

		<summary type="html">&lt;p&gt;Jonas: /* S7-SoftPLC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Welcome to the Wiki of IBHsoftec GmbH! [[http://www.ibhsoftec.com/ IBHsoftec GmbH]]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Germany.png|link=http://wiki.ibhsoftec.com/de/Hauptseite]]&amp;lt;br /&amp;gt;&lt;br /&gt;
== S5/S7 for Windows ==&lt;br /&gt;
* [[S5/S7 for Windows:licensing|licensing]]&lt;br /&gt;
&lt;br /&gt;
== IBHLink S5++ ==&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 for Windows®|Access to a SIMATIC® S5 with &#039;&#039;S5 for Windows®&#039;&#039; without IBH Net driver]]&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 TIA Portal V11 WinCC flexible|Access to a SIMATIC® S5 with TIA Portal V11 WinCC flexible over IBHLink S5++]]&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 WinCC flexible|Access to a SIMATIC® S5 with WinCC flexible over IBHLink S5++]]&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 PLC PcVue|Access to a SIMATIC® S5 with PcVue over IBHLink S5++]]&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 Elipse SCADA|Access to a SIMATIC® S5 with Elipse SCADA over IBHLink S5++]]&lt;br /&gt;
&lt;br /&gt;
== IBHLink S7++ ==&lt;br /&gt;
* [[IBHLink S7++:SIMATIC® S5 for Windows®|Access to a SIMATIC® S5 with &#039;&#039;S5 for Windows®&#039;&#039; via SINEC L2]]&lt;br /&gt;
* [[IBHLink S7++:S7-300/S7-400 TIA Portal WinCC flexible|Access to S7-300/S7-400 with TIA Portal V11 WinCC flexible over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:S7-300/S7-400 WinCC flexible|Access to S7-300/S7-400 with WinCC flexible over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:S7-200 WinCC flexible|Access to S7-200 with WinCC flexible over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:S7-300/S7-400 Elipse SCADA|Access to S7-300/S7-400 with Elipse SCADA over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:S7-300/S7-400 PcVue|Access to S7-300/S7-400 with PcVue over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:IBH Link S7++ with CommDTM|IBH Link S7++ with CommDTM]]&lt;br /&gt;
* [[IBHLink S7++:VEGASON IBHNetDTM|IBHNet DTM with PACTware]]&lt;br /&gt;
* [[IBHLink S7++:Time Synchronisation|Time Synchronisation]]&lt;br /&gt;
* [[IBHLink S7++:Time Synchronisation with NetPro|Time Synchronisation with NetPro]]&lt;br /&gt;
&lt;br /&gt;
== OPC Server ==&lt;br /&gt;
* [[OPCServer:Overview|Overview]]&lt;br /&gt;
* [[OPCServer:Licensing|Licensing]]&lt;br /&gt;
* [[OPCServer:Server Configuration|Server Configuration]]&lt;br /&gt;
* [[OPCServer:Variable Syntax|Variable Syntax]]&lt;br /&gt;
* [[OPCServer:Optimization|Optimization]]&lt;br /&gt;
* [[OPCServer:DCOM Configuration|DCOM Configuration]]&lt;br /&gt;
* [[OPCServer:Operation with User rights|Operation with User rights]]&lt;br /&gt;
* [[OPCServer:Pro Tool Pro V6|Pro Tool Pro V6]]&lt;br /&gt;
* [[OPCServer:WinCC|WinCC]]&lt;br /&gt;
* [[OPCServer:WinCC Flexible|WinCC Flexible]]&lt;br /&gt;
* [[OPCServer:Create Variables with Intouch FS Gateway|Create Variables with Intouch FS Gateway]]&lt;br /&gt;
* [[OPCServer:Create Variables manually with Intouch|Create Variables manually with Intouch]]&lt;br /&gt;
* [[OPCServer:Create Variables with Intouch TagCreator|Create Variables with Intouch TagCreator]]&lt;br /&gt;
* [[OPCServer:HPI Scada|HPI Scada]]&lt;br /&gt;
* [[OPCServer:Variables from LOGO! RCE|Variables from LOGO! RCE]]&lt;br /&gt;
&lt;br /&gt;
== S7-SoftPLC ==&lt;br /&gt;
* Installation&lt;br /&gt;
** [[S7-SoftPLC:System requirements|System requirements]]&lt;br /&gt;
** [[S7-SoftPLC:Installing S7-SoftPLC|Installation]]&lt;br /&gt;
** [[S7-SoftPLC:Uninstalling S7-SoftPLC|Deinstallation]]&lt;br /&gt;
* Online&lt;br /&gt;
** [[S7-SoftPLC:S7-SoftPLC online functions|Functions]]&lt;br /&gt;
** [[S7-SoftPLC:Online with STEP®7|Online with STEP®7]]&lt;br /&gt;
** [[S7-SoftPLC:Online with S7 for Windows®|Online with S7 for Windows®]]&lt;br /&gt;
* [[S7-SoftPLC:Visualizations|Visualizations]]&lt;br /&gt;
** [[S7-SoftPLC:Using the IBH S7-SoftPLC with Intouch via RFC1006|Using with Intouch via RFC1006]]&lt;br /&gt;
* [[S7-SoftPLC:Data Interface|Data Interface]]&lt;br /&gt;
* User Interface&lt;br /&gt;
** [[S7-SoftPLC:Interface and Configuration|Interface and Configuration]]&lt;br /&gt;
** [[S7-SoftPLC:Classic View|Classic View]]&lt;br /&gt;
** [[S7-SoftPLC:Configuration View|Configuration View]]&lt;br /&gt;
* Menu&lt;br /&gt;
** [[S7-SoftPLC:File menu|File]]&lt;br /&gt;
** [[S7-SoftPLC:Edit menu|Edit]]&lt;br /&gt;
** [[S7-SoftPLC:View menu|View]]&lt;br /&gt;
** [[S7-SoftPLC:Help menu|Help]]&lt;br /&gt;
** [[S7-SoftPLC:Toolbar|Toolbar]]&lt;br /&gt;
** [[S7-SoftPLC:I/O monitor|I/O monitor]]&lt;br /&gt;
* Configuration&lt;br /&gt;
** CPU Parameters&lt;br /&gt;
*** [[S7-SoftPLC:CPU Parameters|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:CPU Parameters of S7-SoftPLC|PLC43.INI]]&lt;br /&gt;
** Driver&lt;br /&gt;
*** [[S7-SoftPLC:Add/remove drivers|Add/remove drivers]]&lt;br /&gt;
*** [[S7-SoftPLC:Add/remove drivers to S7-SoftPLC|Add/remove drivers to S7-SoftPLC]]&lt;br /&gt;
** Addidata&lt;br /&gt;
*** [[S7-SoftPLC:ADDI-DATA configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring the ADDI-DATA driver|Configuration of driver]]&lt;br /&gt;
*** [[S7-SoftPLC:ADDI-DATA driver for S7-SoftPLC|Driver for S7-SoftPLC]]&lt;br /&gt;
**Beckhoff TwinCAT I/O &lt;br /&gt;
*** [[S7-SoftPLC:Configuration TwinCAT I/O|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuration TwinCAT I/O drivers|Configuration of drivers]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuration TwinCAT I/O with PLC43:INI|Configuration with PLC43.INI]]&lt;br /&gt;
*** [[S7-SoftPLC:S7-SoftPLC Service and TwinCat|S7-SoftPLC Service and TwinCat]]&lt;br /&gt;
**CIF 30/50/60&lt;br /&gt;
*** [[S7-SoftPLC:Basic configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring the CIF-card with the SyCon System Configurator|Configuration with System Configurator]]&lt;br /&gt;
*** [[S7-SoftPLC:CIF 30/50/60 Settings|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:CIF 30/50/60 settings of S7-SoftPLC|PLC43.INI]]&lt;br /&gt;
*** [[S7-SoftPLC:PROFIBUS® configuration via S7 for Windows®/STEP®7|PROFIBUS® configuration via S7 for Windows®/STEP®7]]&lt;br /&gt;
** cifX&lt;br /&gt;
*** [[S7-SoftPLC:cifX Basic configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuration of cifX card with SYCON.NET|Configuration with SYCON.NET]]&lt;br /&gt;
*** [[S7-SoftPLC:cifX User Interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:cifX settings of IBHsoftec S7-SoftPLC|Settings of the IBHsoftec S7-SoftPLC]]&lt;br /&gt;
*** [[S7-SoftPLC:cifX PROFIBUS® configuration via S7 for Windows®/STEP®7|PROFIBUS® configuration via S7 for Windows®/STEP®7]]&lt;br /&gt;
** CP340/CP440&lt;br /&gt;
*** [[S7-SoftPLC:Configuring CP340/CP440 emulation|Emulation]]&lt;br /&gt;
*** [[S7-SoftPLC:Configure the CP340/CP440 emulation via user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring CP340/440 emulation in PLC43.INI|PLC43.INI]]&lt;br /&gt;
** CP343/CP443 &lt;br /&gt;
*** [[S7-SoftPLC:Configuring CP343/CP443 emulation|Emulation]]&lt;br /&gt;
*** [[S7-SoftPLC:Configure the CP343/CP443 emulation via user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring CP343/443 emulation in PLC43.INI|PLC43.INI]]&lt;br /&gt;
** I/O Port&lt;br /&gt;
*** [[S7-SoftPLC:Configuring PC hardware ports|Configuring PC hardware ports]]&lt;br /&gt;
*** [[S7-SoftPLC:Setting PC hardware port with user interface|User interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Setting PC hardware ports with PLC43.INI|PLC43.INI]]&lt;br /&gt;
** Modbus TCP&lt;br /&gt;
*** [[S7-SoftPLC:Modbus TCP configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring Modbus TCP with the user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring Modbus TCP with PLC43.INI|PLC43.INI]]&lt;br /&gt;
** NVRAM&lt;br /&gt;
*** [[S7-SoftPLC:NVRAM configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:NVRAM configuration with the user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:NVRAM configuration with the PLC43.INI|PLC43.INI]]&lt;br /&gt;
** Softnet PN IO&lt;br /&gt;
*** [[S7-SoftPLC:Softnet PN IO configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring SoftNet with the user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring SoftNet PN IO with PLC43.INI|PLC43.INI]]&lt;br /&gt;
** User SFC&lt;br /&gt;
*** [[S7-SoftPLC:User SFC configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Setting the User SFC&#039;s/FC&#039;s within the user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Setting the User SFC&#039;s/FC&#039;s within the PLC43.INI|PLC43.INI]]&lt;br /&gt;
* [[S7-SoftPLC:Technical data|Technical data]]&lt;br /&gt;
** [[S7-SoftPLC:Instruction set|Instruction set]]&lt;br /&gt;
** [[S7-SoftPLC:STEP®7 Hardwareconfiguration|STEP®7 Hardwareconfiguration]]&lt;br /&gt;
** [[S7-SoftPLC:Diagnostic buffer entries|Diagnostic buffer entries]]&lt;br /&gt;
** [[S7-SoftPLC:Differences between S7-SoftPLC and Hardware-PLC|Differences]]&lt;br /&gt;
** [[S7-SoftPLC:AppStarter|AppStarter]]&lt;br /&gt;
** [[S7-SoftPLC:Zero modem cable|Zero modem cable]]&lt;br /&gt;
&lt;br /&gt;
== S7-PCI315 ==&lt;br /&gt;
* [[S7-PCI315:Documentation Overview|Documentation Overview]]&lt;br /&gt;
* [[S7-PCI315:Legal Notes|Legal Notes]]&lt;br /&gt;
* [[S7-PCI315:Licenses|Licenses]]&lt;br /&gt;
* [[S7-PCI315:Safety|Safety]]&lt;br /&gt;
* [[S7-PCI315:Description and Requirements|Description and Requirements]]&lt;br /&gt;
* [[S7-PCI315:Device Drawings|Device Drawings]]&lt;br /&gt;
* [[S7-PCI315:System Overview|System Overview]]&lt;br /&gt;
* [[S7-PCI315:Device Driver Setup|Device Driver Setup]]&lt;br /&gt;
* [[S7-PCI315:Firmware Update|Firmware Update]]&lt;br /&gt;
* [[S7-PCI315:USB driver installation|USB driver installation]]&lt;br /&gt;
* [[S7-PCI315:Install S7netPLCComm service|Install S7netPLCComm service]]&lt;br /&gt;
* [[S7-PCI315:Safety Advices|Safety Advices]]&lt;br /&gt;
* [[S7-PCI315:Installing Battery|Installing Battery]]&lt;br /&gt;
* [[S7-PCI315:Installing S7-PCI315 PLC|Installing S7-PCI315 PLC]]&lt;br /&gt;
* [[S7-PCI315:HMI/data access|HMI/data access]]&lt;br /&gt;
* [[S7-PCI315:S7netPLCComm service|S7netPLCComm service]]&lt;br /&gt;
* [[S7-PCI315:Service configuration|Service configuration]]&lt;br /&gt;
* [[S7-PCI315:Configuration user interface|Configuration user interface]]&lt;br /&gt;
* [[S7-PCI315:Configuration INI file|Configuration INI file]]&lt;br /&gt;
* [[S7-PCI315:WinCC Flexible local|WinCC Flexible local]]&lt;br /&gt;
* [[S7-PCI315:Programming|Programming]]&lt;br /&gt;
* [[S7-PCI315:Instruction set|Instruction set]]&lt;br /&gt;
* [[S7-PCI315:Integrated blocks|Integrated blocks]]&lt;br /&gt;
* [[S7-PCI315:Power Supply|Power Supply]]&lt;br /&gt;
* [[S7-PCI315:Reset Behaviour|Reset Behaviour]]&lt;br /&gt;
* [[S7-PCI315:RUN/STOP Switch|RUN/STOP Switch]]&lt;br /&gt;
* [[S7-PCI315:Battery|Battery]]&lt;br /&gt;
* [[S7-PCI315:Changing the Battery|Changing the Battery]]&lt;br /&gt;
* [[S7-PCI315:Battery Disposal|Battery Disposal]]&lt;br /&gt;
* [[S7-PCI315:LED|LED]]&lt;br /&gt;
* [[S7-PCI315:LED SYS|LED SYS]]&lt;br /&gt;
* [[S7-PCI315:LED APL|LED APL]]&lt;br /&gt;
* [[S7-PCI315:LED PROFIBUS DP-Master|LED PROFIBUS DP-Master]]&lt;br /&gt;
* [[S7-PCI315:Memory Card|Memory Card]]&lt;br /&gt;
* [[S7-PCI315:Read State|Read State]]&lt;br /&gt;
* [[S7-PCI315:Dualport communication|Dualport communication]]&lt;br /&gt;
* [[S7-PCI315:Knowledge base|Knowledge base]]&lt;br /&gt;
* [[S7-PCI315:Troubleshooting|Troubleshooting]]&lt;br /&gt;
* [[S7-PCI315:Error Codes|Error Codes]]&lt;br /&gt;
* [[S7-PCI315:Technical Data|Technical Data]]&lt;br /&gt;
&lt;br /&gt;
== IBHNet ==&lt;br /&gt;
*[[IBHNet:Introduction|Introduction]]&lt;br /&gt;
*[[IBHNet:System Requirements|System Requirements]]&lt;br /&gt;
*[[IBHNet:Installation|Installation]]&lt;br /&gt;
*[[IBHNet:Local Operation|Local Operation]]&lt;br /&gt;
*[[IBHNet:Operation in a local area network|Operation in a local area network]]&lt;br /&gt;
*[[IBHNet:Operation via the Internet|Operation via the Internet]]&lt;br /&gt;
*[[IBHNet:IBH Link S7|IBH Link S7]]&lt;br /&gt;
*[[IBHNet:IBH Link S5++|IBH Link S5++]]&lt;br /&gt;
*[[IBHNet:IBH Link S5++ with STEP®5|IBH Link S5++ with STEP®5]]&lt;br /&gt;
*[[IBHNet:Defining access names to identify the PLCs|Defining access names to identify the PLCs]]&lt;br /&gt;
*[[IBHNet:Settings within STEP®7|Settings within STEP®7]]&lt;br /&gt;
*[[IBHNet:Settings within STEP®7 without IBHNet driver|Settings within STEP®7 without IBHNet driver]]&lt;br /&gt;
*[[IBHNet:Settings within STEP®7 MicroWin starting with V3.1 SP2|Settings within STEP®7 MicroWin starting with V3.1 SP2]]&lt;br /&gt;
*[[IBHNet:Settings within TIA®|Settings within TIA®]]&lt;br /&gt;
*[[IBHNet:Settings within TIA® without IBHNet driver|Settings within TIA® without IBHNet driver]]&lt;br /&gt;
*[[IBHNet:Using IBHNet with WinCC|Using IBHNet with WinCC]]&lt;br /&gt;
*[[IBHNet:Using IBHNet with ProTool|Using IBHNet with ProTool]]&lt;br /&gt;
*[[IBHNet:Using IBHNet with WinCC Flexible|Using IBHNet with WinCC Flexible]]&lt;br /&gt;
*[[IBHNet:Using the IBH Link S5++ with Intouch|Using the IBH Link S5++ with Intouch]]&lt;br /&gt;
*[[IBHNet:Using the IBH Link S7++ with Intouch|Using the IBH Link S7++ with Intouch]]&lt;br /&gt;
*[[IBHNet:Accessing PLC variables|Accessing PLC variables]]&lt;br /&gt;
*[[IBHNet:Fetch/Write|Fetch/Write]]&lt;br /&gt;
*[[IBHNet:Unprojected PLC-PLC communication|Unprojected PLC-PLC communication]]&lt;br /&gt;
*[[IBHNet:Projected PLC-PLC communication|Projected PLC-PLC communication]]&lt;br /&gt;
*[[IBHNet:RFC1006 Communication IBH Link S7/S7Plus|RFC1006 Communication IBH Link S7/S7Plus]]&lt;br /&gt;
*[[IBHNet:RFC1006 Communication IBH Link S7++/S7++HS|RFC1006 Communication IBH Link S7++/S7++HS]]&lt;br /&gt;
*[[IBHNet:Troubleshooting|Troubleshooting]]&lt;br /&gt;
*[[IBHNet:Reset/Factory settings|Reset/Factory settings]]&lt;br /&gt;
*[[IBHNet:Technical Data IBH Link S7|Technical Data IBH Link S7]]&lt;br /&gt;
*[[IBHNet:Technical Data IBH Link S7 Plus|Technical Data IBH Link S7 Plus]]&lt;br /&gt;
*[[IBHNet:Technical Data IBH Link S7++/S7++ HS|Technical Data IBH Link S7++/S7++ HS]]&lt;br /&gt;
*[[IBHNet:Technical Data IBH Link S5++|Technical Data IBH Link S5++]]&lt;br /&gt;
*[[IBHNet:IBH Link History|IBH Link History]]&lt;br /&gt;
*[[IBHNet:Revisions|Revisions]]&lt;br /&gt;
==IBH USB-S5-Adapter==&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;2&amp;quot; class=&amp;quot;float-right&amp;quot;&amp;gt;&lt;br /&gt;
Image:IBH_USB_S5.gif|[http://www.ibhsoftec.com/IBH-USB-S5-Adapter-Eng IBH-USB-S5-Adapter]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
* [[IBH USB-S5-Adapter:SIMATIC® S5 for Windows®|Access to a SIMATIC® S5 with &#039;&#039;S5 for Windows®&#039;&#039;]]&lt;br /&gt;
* [[IBH USB-S5-Adapter:Maximum USB cable length|Maximum USB cable length]]&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Zero_modem_cable&amp;diff=1164</id>
		<title>S7-SoftPLC:Zero modem cable</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Zero_modem_cable&amp;diff=1164"/>
		<updated>2013-01-23T12:17:00Z</updated>

		<summary type="html">&lt;p&gt;Jonas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;| Sub.-D case ||  ||colspan=&amp;quot;2&amp;quot;| Sub.-D case&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;| Connector ||  ||colspan=&amp;quot;2&amp;quot;| Connector&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;width: 6em&amp;quot;| 9 Pin ||style=&amp;quot;width: 6em&amp;quot;| 25 Pin ||style=&amp;quot;width: 14em&amp;quot;|  ||style=&amp;quot;width: 7em&amp;quot;| 9 Pin ||style=&amp;quot;width: 7em&amp;quot;| 25 Pin&lt;br /&gt;
|-&lt;br /&gt;
| 1 || --- || -----------no connection----------- || 1 || ---&lt;br /&gt;
|- &lt;br /&gt;
| 2 || 3 || ----------------------------------------- || 3 || 2&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 2 || ----------------------------------------- || 2 || 3&lt;br /&gt;
|- &lt;br /&gt;
| 4 || 20 || ----------------------------------------- || 6 || 6&lt;br /&gt;
|-&lt;br /&gt;
| 5 || 7 || ----------------------------------------- || 5 || 7&lt;br /&gt;
|- &lt;br /&gt;
| 6 || 6 || ----------------------------------------- || 4 || 20&lt;br /&gt;
|-&lt;br /&gt;
| 7 || 4 || ----------------------------------------- || 8 || 5&lt;br /&gt;
|- &lt;br /&gt;
| 8 || 5 || ----------------------------------------- || 7 || 4&lt;br /&gt;
|-&lt;br /&gt;
| 9 || --- || -----------no connection----------- || 9 || ---&lt;br /&gt;
|-&lt;br /&gt;
| housing || housing || ----------------shield---------------- || housing || housing&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Zero_modem_cable&amp;diff=1163</id>
		<title>S7-SoftPLC:Zero modem cable</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Zero_modem_cable&amp;diff=1163"/>
		<updated>2013-01-23T12:16:35Z</updated>

		<summary type="html">&lt;p&gt;Jonas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;| Sub.-D case ||  ||colspan=&amp;quot;2&amp;quot;| Sub.-D case&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;| Connector ||  ||colspan=&amp;quot;2&amp;quot;| Connector&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;width: 6em&amp;quot;| 9 Pin ||style=&amp;quot;width: 6em&amp;quot;| 25 Pin ||style=&amp;quot;width: 14em&amp;quot;|  ||style=&amp;quot;width: 7em&amp;quot;| 9 Pin ||style=&amp;quot;width: 7em&amp;quot;| 25 Pin&lt;br /&gt;
|-&lt;br /&gt;
| 1 || --- || -----------no connection----------- || 1 || ---&lt;br /&gt;
|- &lt;br /&gt;
| 2 || 3 || ----------------------------------------- || 3 || 2&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 2 || ----------------------------------------- || 2 || 3&lt;br /&gt;
|- &lt;br /&gt;
| 4 || 20 || ----------------------------------------- || 6 || 6&lt;br /&gt;
|-&lt;br /&gt;
| 5 || 7 || ----------------------------------------- || 5 || 7&lt;br /&gt;
|- &lt;br /&gt;
| 6 || 6 || ----------------------------------------- || 4 || 20&lt;br /&gt;
|-&lt;br /&gt;
| 7 || 4 || ----------------------------------------- || 8 || 5&lt;br /&gt;
|- &lt;br /&gt;
| 8 || 5 || ----------------------------------------- || 7 || 4&lt;br /&gt;
|-&lt;br /&gt;
| 9 || --- || ------------no connection------------ || 9 || ---&lt;br /&gt;
|-&lt;br /&gt;
| housing || housing || ----------------shield---------------- || housing || housing&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Zero_modem_cable&amp;diff=1162</id>
		<title>S7-SoftPLC:Zero modem cable</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Zero_modem_cable&amp;diff=1162"/>
		<updated>2013-01-23T12:16:20Z</updated>

		<summary type="html">&lt;p&gt;Jonas: Created page with &amp;quot;{| class=&amp;quot;wikitable&amp;quot; |- |colspan=&amp;quot;2&amp;quot;| Sub.-D case ||  ||colspan=&amp;quot;2&amp;quot;| Sub.-D case |- |colspan=&amp;quot;2&amp;quot;| Connector ||  ||colspan=&amp;quot;2&amp;quot;| Connector |-  |style=&amp;quot;width: 6em&amp;quot;| 9 Pin ||style...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;| Sub.-D case ||  ||colspan=&amp;quot;2&amp;quot;| Sub.-D case&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;| Connector ||  ||colspan=&amp;quot;2&amp;quot;| Connector&lt;br /&gt;
|- &lt;br /&gt;
|style=&amp;quot;width: 6em&amp;quot;| 9 Pin ||style=&amp;quot;width: 6em&amp;quot;| 25 Pin ||style=&amp;quot;width: 14em&amp;quot;|  ||style=&amp;quot;width: 7em&amp;quot;| 9 Pin ||style=&amp;quot;width: 7em&amp;quot;| 25 Pin&lt;br /&gt;
|-&lt;br /&gt;
| 1 || --- || ----------no connection---------- || 1 || ---&lt;br /&gt;
|- &lt;br /&gt;
| 2 || 3 || ----------------------------------------- || 3 || 2&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 2 || ----------------------------------------- || 2 || 3&lt;br /&gt;
|- &lt;br /&gt;
| 4 || 20 || ----------------------------------------- || 6 || 6&lt;br /&gt;
|-&lt;br /&gt;
| 5 || 7 || ----------------------------------------- || 5 || 7&lt;br /&gt;
|- &lt;br /&gt;
| 6 || 6 || ----------------------------------------- || 4 || 20&lt;br /&gt;
|-&lt;br /&gt;
| 7 || 4 || ----------------------------------------- || 8 || 5&lt;br /&gt;
|- &lt;br /&gt;
| 8 || 5 || ----------------------------------------- || 7 || 4&lt;br /&gt;
|-&lt;br /&gt;
| 9 || --- || ----------no connection---------- || 9 || ---&lt;br /&gt;
|-&lt;br /&gt;
| housing || housing || ----------------shield---------------- || housing || housing&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=Main_Page&amp;diff=1161</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=Main_Page&amp;diff=1161"/>
		<updated>2013-01-23T12:14:30Z</updated>

		<summary type="html">&lt;p&gt;Jonas: /* S7-SoftPLC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Welcome to the Wiki of IBHsoftec GmbH! [[http://www.ibhsoftec.com/ IBHsoftec GmbH]]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Germany.png|link=http://wiki.ibhsoftec.com/de/Hauptseite]]&amp;lt;br /&amp;gt;&lt;br /&gt;
== S5/S7 for Windows ==&lt;br /&gt;
* [[S5/S7 for Windows:licensing|licensing]]&lt;br /&gt;
&lt;br /&gt;
== IBHLink S5++ ==&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 for Windows®|Access to a SIMATIC® S5 with &#039;&#039;S5 for Windows®&#039;&#039; without IBH Net driver]]&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 TIA Portal V11 WinCC flexible|Access to a SIMATIC® S5 with TIA Portal V11 WinCC flexible over IBHLink S5++]]&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 WinCC flexible|Access to a SIMATIC® S5 with WinCC flexible over IBHLink S5++]]&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 PLC PcVue|Access to a SIMATIC® S5 with PcVue over IBHLink S5++]]&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 Elipse SCADA|Access to a SIMATIC® S5 with Elipse SCADA over IBHLink S5++]]&lt;br /&gt;
&lt;br /&gt;
== IBHLink S7++ ==&lt;br /&gt;
* [[IBHLink S7++:SIMATIC® S5 for Windows®|Access to a SIMATIC® S5 with &#039;&#039;S5 for Windows®&#039;&#039; via SINEC L2]]&lt;br /&gt;
* [[IBHLink S7++:S7-300/S7-400 TIA Portal WinCC flexible|Access to S7-300/S7-400 with TIA Portal V11 WinCC flexible over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:S7-300/S7-400 WinCC flexible|Access to S7-300/S7-400 with WinCC flexible over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:S7-200 WinCC flexible|Access to S7-200 with WinCC flexible over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:S7-300/S7-400 Elipse SCADA|Access to S7-300/S7-400 with Elipse SCADA over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:S7-300/S7-400 PcVue|Access to S7-300/S7-400 with PcVue over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:IBH Link S7++ with CommDTM|IBH Link S7++ with CommDTM]]&lt;br /&gt;
* [[IBHLink S7++:VEGASON IBHNetDTM|IBHNet DTM with PACTware]]&lt;br /&gt;
* [[IBHLink S7++:Time Synchronisation|Time Synchronisation]]&lt;br /&gt;
* [[IBHLink S7++:Time Synchronisation with NetPro|Time Synchronisation with NetPro]]&lt;br /&gt;
&lt;br /&gt;
== OPC Server ==&lt;br /&gt;
* [[OPCServer:Overview|Overview]]&lt;br /&gt;
* [[OPCServer:Licensing|Licensing]]&lt;br /&gt;
* [[OPCServer:Server Configuration|Server Configuration]]&lt;br /&gt;
* [[OPCServer:Variable Syntax|Variable Syntax]]&lt;br /&gt;
* [[OPCServer:Optimization|Optimization]]&lt;br /&gt;
* [[OPCServer:DCOM Configuration|DCOM Configuration]]&lt;br /&gt;
* [[OPCServer:Operation with User rights|Operation with User rights]]&lt;br /&gt;
* [[OPCServer:Pro Tool Pro V6|Pro Tool Pro V6]]&lt;br /&gt;
* [[OPCServer:WinCC|WinCC]]&lt;br /&gt;
* [[OPCServer:WinCC Flexible|WinCC Flexible]]&lt;br /&gt;
* [[OPCServer:Create Variables with Intouch FS Gateway|Create Variables with Intouch FS Gateway]]&lt;br /&gt;
* [[OPCServer:Create Variables manually with Intouch|Create Variables manually with Intouch]]&lt;br /&gt;
* [[OPCServer:Create Variables with Intouch TagCreator|Create Variables with Intouch TagCreator]]&lt;br /&gt;
* [[OPCServer:HPI Scada|HPI Scada]]&lt;br /&gt;
* [[OPCServer:Variables from LOGO! RCE|Variables from LOGO! RCE]]&lt;br /&gt;
&lt;br /&gt;
== S7-SoftPLC ==&lt;br /&gt;
* Installation&lt;br /&gt;
** [[S7-SoftPLC:System requirements|System requirements]]&lt;br /&gt;
** [[S7-SoftPLC:Installing S7-SoftPLC|Installation]]&lt;br /&gt;
** [[S7-SoftPLC:Uninstalling S7-SoftPLC|Deinstallation]]&lt;br /&gt;
* Online&lt;br /&gt;
** [[S7-SoftPLC:S7-SoftPLC online functions|Functions]]&lt;br /&gt;
** [[S7-SoftPLC:Online with STEP®7|Online with STEP®7]]&lt;br /&gt;
** [[S7-SoftPLC:Online with S7 for Windows®|Online with S7 for Windows®]]&lt;br /&gt;
* [[S7-SoftPLC:Visualizations|Visualizations]]&lt;br /&gt;
** [[S7-SoftPLC:Using the IBH S7-SoftPLC with Intouch via RFC1006|Using with Intouch via RFC1006]]&lt;br /&gt;
* [[S7-SoftPLC:Data Interface|Data Interface]]&lt;br /&gt;
* User Interface&lt;br /&gt;
** [[S7-SoftPLC:Interface and Configuration|Interface and Configuration]]&lt;br /&gt;
** [[S7-SoftPLC:Classic View|Classic View]]&lt;br /&gt;
** [[S7-SoftPLC:Configuration View|Configuration View]]&lt;br /&gt;
* Menu&lt;br /&gt;
** [[S7-SoftPLC:File menu|File]]&lt;br /&gt;
** [[S7-SoftPLC:Edit menu|Edit]]&lt;br /&gt;
** [[S7-SoftPLC:View menu|View]]&lt;br /&gt;
** [[S7-SoftPLC:Help menu|Help]]&lt;br /&gt;
** [[S7-SoftPLC:Toolbar|Toolbar]]&lt;br /&gt;
** [[S7-SoftPLC:I/O monitor|I/O monitor]]&lt;br /&gt;
* Configuration&lt;br /&gt;
** CPU Parameters&lt;br /&gt;
*** [[S7-SoftPLC:CPU Parameters|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:CPU Parameters of S7-SoftPLC|PLC43.INI]]&lt;br /&gt;
** Driver&lt;br /&gt;
*** [[S7-SoftPLC:Add/remove drivers|Add/remove drivers]]&lt;br /&gt;
*** [[S7-SoftPLC:Add/remove drivers to S7-SoftPLC|Add/remove drivers to S7-SoftPLC]]&lt;br /&gt;
** Addidata&lt;br /&gt;
*** [[S7-SoftPLC:ADDI-DATA configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring the ADDI-DATA driver|Configuration of driver]]&lt;br /&gt;
*** [[S7-SoftPLC:ADDI-DATA driver for S7-SoftPLC|Driver for S7-SoftPLC]]&lt;br /&gt;
**Beckhoff TwinCAT I/O &lt;br /&gt;
*** [[S7-SoftPLC:Configuration TwinCAT I/O|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuration TwinCAT I/O drivers|Configuration of drivers]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuration TwinCAT I/O with PLC43:INI|Configuration with PLC43.INI]]&lt;br /&gt;
*** [[S7-SoftPLC:S7-SoftPLC Service and TwinCat|S7-SoftPLC Service and TwinCat]]&lt;br /&gt;
**CIF 30/50/60&lt;br /&gt;
*** [[S7-SoftPLC:Basic configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring the CIF-card with the SyCon System Configurator|Configuration with System Configurator]]&lt;br /&gt;
*** [[S7-SoftPLC:CIF 30/50/60 Settings|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:CIF 30/50/60 settings of S7-SoftPLC|PLC43.INI]]&lt;br /&gt;
*** [[S7-SoftPLC:PROFIBUS® configuration via S7 for Windows®/STEP®7|PROFIBUS® configuration via S7 for Windows®/STEP®7]]&lt;br /&gt;
** cifX&lt;br /&gt;
*** [[S7-SoftPLC:cifX Basic configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuration of cifX card with SYCON.NET|Configuration with SYCON.NET]]&lt;br /&gt;
*** [[S7-SoftPLC:cifX User Interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:cifX settings of IBHsoftec S7-SoftPLC|Settings of the IBHsoftec S7-SoftPLC]]&lt;br /&gt;
*** [[S7-SoftPLC:cifX PROFIBUS® configuration via S7 for Windows®/STEP®7|PROFIBUS® configuration via S7 for Windows®/STEP®7]]&lt;br /&gt;
** CP340/CP440&lt;br /&gt;
*** [[S7-SoftPLC:Configuring CP340/CP440 emulation|Emulation]]&lt;br /&gt;
*** [[S7-SoftPLC:Configure the CP340/CP440 emulation via user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring CP340/440 emulation in PLC43.INI|PLC43.INI]]&lt;br /&gt;
** CP343/CP443 &lt;br /&gt;
*** [[S7-SoftPLC:Configuring CP343/CP443 emulation|Emulation]]&lt;br /&gt;
*** [[S7-SoftPLC:Configure the CP343/CP443 emulation via user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring CP343/443 emulation in PLC43.INI|PLC43.INI]]&lt;br /&gt;
** I/O Port&lt;br /&gt;
*** [[S7-SoftPLC:Configuring PC hardware ports|Configuring PC hardware ports]]&lt;br /&gt;
*** [[S7-SoftPLC:Setting PC hardware port with user interface|User interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Setting PC hardware ports with PLC43.INI|PLC43.INI]]&lt;br /&gt;
** Modbus TCP&lt;br /&gt;
*** [[S7-SoftPLC:Modbus TCP configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring Modbus TCP with the user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring Modbus TCP with PLC43.INI|PLC43.INI]]&lt;br /&gt;
** NVRAM&lt;br /&gt;
*** [[S7-SoftPLC:NVRAM configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:NVRAM configuration with the user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:NVRAM configuration with the PLC43.INI|PLC43.INI]]&lt;br /&gt;
** Softnet PN IO&lt;br /&gt;
*** [[S7-SoftPLC:Softnet PN IO configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring SoftNet with the user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring SoftNet PN IO with PLC43.INI|PLC43.INI]]&lt;br /&gt;
** User SFC&lt;br /&gt;
*** [[S7-SoftPLC:User SFC configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Setting the User SFC&#039;s/FC&#039;s within the user interface|User Interface]]&lt;br /&gt;
* [[S7-SoftPLC:Technical data|Technical data]]&lt;br /&gt;
** [[S7-SoftPLC:Instruction set|Instruction set]]&lt;br /&gt;
** [[S7-SoftPLC:STEP®7 Hardwareconfiguration|STEP®7 Hardwareconfiguration]]&lt;br /&gt;
** [[S7-SoftPLC:Diagnostic buffer entries|Diagnostic buffer entries]]&lt;br /&gt;
** [[S7-SoftPLC:Differences between S7-SoftPLC and Hardware-PLC|Differences]]&lt;br /&gt;
** [[S7-SoftPLC:AppStarter|AppStarter]]&lt;br /&gt;
** [[S7-SoftPLC:Zero modem cable|Zero modem cable]]&lt;br /&gt;
&lt;br /&gt;
== S7-PCI315 ==&lt;br /&gt;
* [[S7-PCI315:Documentation Overview|Documentation Overview]]&lt;br /&gt;
* [[S7-PCI315:Legal Notes|Legal Notes]]&lt;br /&gt;
* [[S7-PCI315:Licenses|Licenses]]&lt;br /&gt;
* [[S7-PCI315:Safety|Safety]]&lt;br /&gt;
* [[S7-PCI315:Description and Requirements|Description and Requirements]]&lt;br /&gt;
* [[S7-PCI315:Device Drawings|Device Drawings]]&lt;br /&gt;
* [[S7-PCI315:System Overview|System Overview]]&lt;br /&gt;
* [[S7-PCI315:Device Driver Setup|Device Driver Setup]]&lt;br /&gt;
* [[S7-PCI315:Firmware Update|Firmware Update]]&lt;br /&gt;
* [[S7-PCI315:USB driver installation|USB driver installation]]&lt;br /&gt;
* [[S7-PCI315:Install S7netPLCComm service|Install S7netPLCComm service]]&lt;br /&gt;
* [[S7-PCI315:Safety Advices|Safety Advices]]&lt;br /&gt;
* [[S7-PCI315:Installing Battery|Installing Battery]]&lt;br /&gt;
* [[S7-PCI315:Installing S7-PCI315 PLC|Installing S7-PCI315 PLC]]&lt;br /&gt;
* [[S7-PCI315:HMI/data access|HMI/data access]]&lt;br /&gt;
* [[S7-PCI315:S7netPLCComm service|S7netPLCComm service]]&lt;br /&gt;
* [[S7-PCI315:Service configuration|Service configuration]]&lt;br /&gt;
* [[S7-PCI315:Configuration user interface|Configuration user interface]]&lt;br /&gt;
* [[S7-PCI315:Configuration INI file|Configuration INI file]]&lt;br /&gt;
* [[S7-PCI315:WinCC Flexible local|WinCC Flexible local]]&lt;br /&gt;
* [[S7-PCI315:Programming|Programming]]&lt;br /&gt;
* [[S7-PCI315:Instruction set|Instruction set]]&lt;br /&gt;
* [[S7-PCI315:Integrated blocks|Integrated blocks]]&lt;br /&gt;
* [[S7-PCI315:Power Supply|Power Supply]]&lt;br /&gt;
* [[S7-PCI315:Reset Behaviour|Reset Behaviour]]&lt;br /&gt;
* [[S7-PCI315:RUN/STOP Switch|RUN/STOP Switch]]&lt;br /&gt;
* [[S7-PCI315:Battery|Battery]]&lt;br /&gt;
* [[S7-PCI315:Changing the Battery|Changing the Battery]]&lt;br /&gt;
* [[S7-PCI315:Battery Disposal|Battery Disposal]]&lt;br /&gt;
* [[S7-PCI315:LED|LED]]&lt;br /&gt;
* [[S7-PCI315:LED SYS|LED SYS]]&lt;br /&gt;
* [[S7-PCI315:LED APL|LED APL]]&lt;br /&gt;
* [[S7-PCI315:LED PROFIBUS DP-Master|LED PROFIBUS DP-Master]]&lt;br /&gt;
* [[S7-PCI315:Memory Card|Memory Card]]&lt;br /&gt;
* [[S7-PCI315:Read State|Read State]]&lt;br /&gt;
* [[S7-PCI315:Dualport communication|Dualport communication]]&lt;br /&gt;
* [[S7-PCI315:Knowledge base|Knowledge base]]&lt;br /&gt;
* [[S7-PCI315:Troubleshooting|Troubleshooting]]&lt;br /&gt;
* [[S7-PCI315:Error Codes|Error Codes]]&lt;br /&gt;
* [[S7-PCI315:Technical Data|Technical Data]]&lt;br /&gt;
&lt;br /&gt;
== IBHNet ==&lt;br /&gt;
*[[IBHNet:Introduction|Introduction]]&lt;br /&gt;
*[[IBHNet:System Requirements|System Requirements]]&lt;br /&gt;
*[[IBHNet:Installation|Installation]]&lt;br /&gt;
*[[IBHNet:Local Operation|Local Operation]]&lt;br /&gt;
*[[IBHNet:Operation in a local area network|Operation in a local area network]]&lt;br /&gt;
*[[IBHNet:Operation via the Internet|Operation via the Internet]]&lt;br /&gt;
*[[IBHNet:IBH Link S7|IBH Link S7]]&lt;br /&gt;
*[[IBHNet:IBH Link S5++|IBH Link S5++]]&lt;br /&gt;
*[[IBHNet:IBH Link S5++ with STEP®5|IBH Link S5++ with STEP®5]]&lt;br /&gt;
*[[IBHNet:Defining access names to identify the PLCs|Defining access names to identify the PLCs]]&lt;br /&gt;
*[[IBHNet:Settings within STEP®7|Settings within STEP®7]]&lt;br /&gt;
*[[IBHNet:Settings within STEP®7 without IBHNet driver|Settings within STEP®7 without IBHNet driver]]&lt;br /&gt;
*[[IBHNet:Settings within STEP®7 MicroWin starting with V3.1 SP2|Settings within STEP®7 MicroWin starting with V3.1 SP2]]&lt;br /&gt;
*[[IBHNet:Settings within TIA®|Settings within TIA®]]&lt;br /&gt;
*[[IBHNet:Settings within TIA® without IBHNet driver|Settings within TIA® without IBHNet driver]]&lt;br /&gt;
*[[IBHNet:Using IBHNet with WinCC|Using IBHNet with WinCC]]&lt;br /&gt;
*[[IBHNet:Using IBHNet with ProTool|Using IBHNet with ProTool]]&lt;br /&gt;
*[[IBHNet:Using IBHNet with WinCC Flexible|Using IBHNet with WinCC Flexible]]&lt;br /&gt;
*[[IBHNet:Using the IBH Link S5++ with Intouch|Using the IBH Link S5++ with Intouch]]&lt;br /&gt;
*[[IBHNet:Using the IBH Link S7++ with Intouch|Using the IBH Link S7++ with Intouch]]&lt;br /&gt;
*[[IBHNet:Accessing PLC variables|Accessing PLC variables]]&lt;br /&gt;
*[[IBHNet:Fetch/Write|Fetch/Write]]&lt;br /&gt;
*[[IBHNet:Unprojected PLC-PLC communication|Unprojected PLC-PLC communication]]&lt;br /&gt;
*[[IBHNet:Projected PLC-PLC communication|Projected PLC-PLC communication]]&lt;br /&gt;
*[[IBHNet:RFC1006 Communication IBH Link S7/S7Plus|RFC1006 Communication IBH Link S7/S7Plus]]&lt;br /&gt;
*[[IBHNet:RFC1006 Communication IBH Link S7++/S7++HS|RFC1006 Communication IBH Link S7++/S7++HS]]&lt;br /&gt;
*[[IBHNet:Troubleshooting|Troubleshooting]]&lt;br /&gt;
*[[IBHNet:Reset/Factory settings|Reset/Factory settings]]&lt;br /&gt;
*[[IBHNet:Technical Data IBH Link S7|Technical Data IBH Link S7]]&lt;br /&gt;
*[[IBHNet:Technical Data IBH Link S7 Plus|Technical Data IBH Link S7 Plus]]&lt;br /&gt;
*[[IBHNet:Technical Data IBH Link S7++/S7++ HS|Technical Data IBH Link S7++/S7++ HS]]&lt;br /&gt;
*[[IBHNet:Technical Data IBH Link S5++|Technical Data IBH Link S5++]]&lt;br /&gt;
*[[IBHNet:IBH Link History|IBH Link History]]&lt;br /&gt;
*[[IBHNet:Revisions|Revisions]]&lt;br /&gt;
==IBH USB-S5-Adapter==&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;2&amp;quot; class=&amp;quot;float-right&amp;quot;&amp;gt;&lt;br /&gt;
Image:IBH_USB_S5.gif|[http://www.ibhsoftec.com/IBH-USB-S5-Adapter-Eng IBH-USB-S5-Adapter]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
* [[IBH USB-S5-Adapter:SIMATIC® S5 for Windows®|Access to a SIMATIC® S5 with &#039;&#039;S5 for Windows®&#039;&#039;]]&lt;br /&gt;
* [[IBH USB-S5-Adapter:Maximum USB cable length|Maximum USB cable length]]&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:AppStarter&amp;diff=1160</id>
		<title>S7-SoftPLC:AppStarter</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:AppStarter&amp;diff=1160"/>
		<updated>2013-01-23T12:13:10Z</updated>

		<summary type="html">&lt;p&gt;Jonas: Created page with &amp;quot;With the application starter it is possible to start software applications, such as the &amp;#039;&amp;#039;S7-SoftPLC&amp;#039;&amp;#039; or an OPC server, in a defined order and delay, determined by the user. ...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;With the application starter it is possible to start software applications, such as the &#039;&#039;S7-SoftPLC&#039;&#039; or an OPC server, in a defined order and delay, determined by the user. The application starter is started with the &amp;amp;quot;AppStarter.exe&amp;amp;quot; file from the installation folder of the &#039;&#039;S7-SoftPLC&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
WARNING: THE APPLICATION STARTER REQUIRES A WINDOWS USER LOGIN WITH ADMINISTRATIVE RIGHTS FOR CONFIGURATION.&lt;br /&gt;
&lt;br /&gt;
As soon as App.Starter.exe is executed, the infomation dialog appears.&lt;br /&gt;
&lt;br /&gt;
[[Image:App_Starter.png|frame|none]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Application&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Shows which application is started next.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delay&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Shows the remaining time until the start of the next application in milliseconds.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Status&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Shows the status of the last started application.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Settings&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Opens the settings dialog.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exit&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Closes the application starter&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Setting up AppStarter&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The application starter is configured in the setting dialog.&lt;br /&gt;
&lt;br /&gt;
[[Image:App_Launch.png|frame|none]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Launch sequence&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The &amp;amp;quot;Launch sequence&amp;amp;quot; lists the sequence of applications to be started. The applications are started, beginning from top, in the sequence as shown.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Delay [ms]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Time in milliseconds until the start of the application. The time until the start of the first application elapses, as soon as the application starter is started. The time until the start of the next application elapses, as soon as the previous application is started.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Full qualified application path&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Full qualified path and file, that is to be executed, in order to start the application.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;...&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Browsing function for the file, that is to be executed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Adopts the settings and closes the setting dialog.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cancel&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Discards the changes and closes the setting dialog.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NOTE: &amp;amp;quot;REGISTER IN AUTOSTART&amp;amp;quot; AND &amp;amp;quot;REMOVE FROM AUTOSTART&amp;amp;quot; IS PERFORMED DIRECTLY AND INDEPENDENTLY OF OK/CANCEL.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Register in Autostart&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The settings are saved in the Windows&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; registry. After starting Windows, the application starter and therefore the listed applications are started.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remove from Autostart&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The auto start settings are removed from the Windows&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; registry. The application starter is not automatically executed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Windows&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; registry entry:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=Main_Page&amp;diff=1159</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=Main_Page&amp;diff=1159"/>
		<updated>2013-01-23T12:11:14Z</updated>

		<summary type="html">&lt;p&gt;Jonas: /* S7-SoftPLC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Welcome to the Wiki of IBHsoftec GmbH! [[http://www.ibhsoftec.com/ IBHsoftec GmbH]]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Germany.png|link=http://wiki.ibhsoftec.com/de/Hauptseite]]&amp;lt;br /&amp;gt;&lt;br /&gt;
== S5/S7 for Windows ==&lt;br /&gt;
* [[S5/S7 for Windows:licensing|licensing]]&lt;br /&gt;
&lt;br /&gt;
== IBHLink S5++ ==&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 for Windows®|Access to a SIMATIC® S5 with &#039;&#039;S5 for Windows®&#039;&#039; without IBH Net driver]]&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 TIA Portal V11 WinCC flexible|Access to a SIMATIC® S5 with TIA Portal V11 WinCC flexible over IBHLink S5++]]&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 WinCC flexible|Access to a SIMATIC® S5 with WinCC flexible over IBHLink S5++]]&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 PLC PcVue|Access to a SIMATIC® S5 with PcVue over IBHLink S5++]]&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 Elipse SCADA|Access to a SIMATIC® S5 with Elipse SCADA over IBHLink S5++]]&lt;br /&gt;
&lt;br /&gt;
== IBHLink S7++ ==&lt;br /&gt;
* [[IBHLink S7++:SIMATIC® S5 for Windows®|Access to a SIMATIC® S5 with &#039;&#039;S5 for Windows®&#039;&#039; via SINEC L2]]&lt;br /&gt;
* [[IBHLink S7++:S7-300/S7-400 TIA Portal WinCC flexible|Access to S7-300/S7-400 with TIA Portal V11 WinCC flexible over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:S7-300/S7-400 WinCC flexible|Access to S7-300/S7-400 with WinCC flexible over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:S7-200 WinCC flexible|Access to S7-200 with WinCC flexible over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:S7-300/S7-400 Elipse SCADA|Access to S7-300/S7-400 with Elipse SCADA over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:S7-300/S7-400 PcVue|Access to S7-300/S7-400 with PcVue over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:IBH Link S7++ with CommDTM|IBH Link S7++ with CommDTM]]&lt;br /&gt;
* [[IBHLink S7++:VEGASON IBHNetDTM|IBHNet DTM with PACTware]]&lt;br /&gt;
* [[IBHLink S7++:Time Synchronisation|Time Synchronisation]]&lt;br /&gt;
* [[IBHLink S7++:Time Synchronisation with NetPro|Time Synchronisation with NetPro]]&lt;br /&gt;
&lt;br /&gt;
== OPC Server ==&lt;br /&gt;
* [[OPCServer:Overview|Overview]]&lt;br /&gt;
* [[OPCServer:Licensing|Licensing]]&lt;br /&gt;
* [[OPCServer:Server Configuration|Server Configuration]]&lt;br /&gt;
* [[OPCServer:Variable Syntax|Variable Syntax]]&lt;br /&gt;
* [[OPCServer:Optimization|Optimization]]&lt;br /&gt;
* [[OPCServer:DCOM Configuration|DCOM Configuration]]&lt;br /&gt;
* [[OPCServer:Operation with User rights|Operation with User rights]]&lt;br /&gt;
* [[OPCServer:Pro Tool Pro V6|Pro Tool Pro V6]]&lt;br /&gt;
* [[OPCServer:WinCC|WinCC]]&lt;br /&gt;
* [[OPCServer:WinCC Flexible|WinCC Flexible]]&lt;br /&gt;
* [[OPCServer:Create Variables with Intouch FS Gateway|Create Variables with Intouch FS Gateway]]&lt;br /&gt;
* [[OPCServer:Create Variables manually with Intouch|Create Variables manually with Intouch]]&lt;br /&gt;
* [[OPCServer:Create Variables with Intouch TagCreator|Create Variables with Intouch TagCreator]]&lt;br /&gt;
* [[OPCServer:HPI Scada|HPI Scada]]&lt;br /&gt;
* [[OPCServer:Variables from LOGO! RCE|Variables from LOGO! RCE]]&lt;br /&gt;
&lt;br /&gt;
== S7-SoftPLC ==&lt;br /&gt;
* Installation&lt;br /&gt;
** [[S7-SoftPLC:System requirements|System requirements]]&lt;br /&gt;
** [[S7-SoftPLC:Installing S7-SoftPLC|Installation]]&lt;br /&gt;
** [[S7-SoftPLC:Uninstalling S7-SoftPLC|Deinstallation]]&lt;br /&gt;
* Online&lt;br /&gt;
** [[S7-SoftPLC:S7-SoftPLC online functions|Functions]]&lt;br /&gt;
** [[S7-SoftPLC:Online with STEP®7|Online with STEP®7]]&lt;br /&gt;
** [[S7-SoftPLC:Online with S7 for Windows®|Online with S7 for Windows®]]&lt;br /&gt;
* [[S7-SoftPLC:Visualizations|Visualizations]]&lt;br /&gt;
** [[S7-SoftPLC:Using the IBH S7-SoftPLC with Intouch via RFC1006|Using with Intouch via RFC1006]]&lt;br /&gt;
* [[S7-SoftPLC:Data Interface|Data Interface]]&lt;br /&gt;
* User Interface&lt;br /&gt;
** [[S7-SoftPLC:Interface and Configuration|Interface and Configuration]]&lt;br /&gt;
** [[S7-SoftPLC:Classic View|Classic View]]&lt;br /&gt;
** [[S7-SoftPLC:Configuration View|Configuration View]]&lt;br /&gt;
* Menu&lt;br /&gt;
** [[S7-SoftPLC:File menu|File]]&lt;br /&gt;
** [[S7-SoftPLC:Edit menu|Edit]]&lt;br /&gt;
** [[S7-SoftPLC:View menu|View]]&lt;br /&gt;
** [[S7-SoftPLC:Help menu|Help]]&lt;br /&gt;
** [[S7-SoftPLC:Toolbar|Toolbar]]&lt;br /&gt;
** [[S7-SoftPLC:I/O monitor|I/O monitor]]&lt;br /&gt;
* Configuration&lt;br /&gt;
** CPU Parameters&lt;br /&gt;
*** [[S7-SoftPLC:CPU Parameters|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:CPU Parameters of S7-SoftPLC|PLC43.INI]]&lt;br /&gt;
** Driver&lt;br /&gt;
*** [[S7-SoftPLC:Add/remove drivers|Add/remove drivers]]&lt;br /&gt;
*** [[S7-SoftPLC:Add/remove drivers to S7-SoftPLC|Add/remove drivers to S7-SoftPLC]]&lt;br /&gt;
** Addidata&lt;br /&gt;
*** [[S7-SoftPLC:ADDI-DATA configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring the ADDI-DATA driver|Configuration of driver]]&lt;br /&gt;
*** [[S7-SoftPLC:ADDI-DATA driver for S7-SoftPLC|Driver for S7-SoftPLC]]&lt;br /&gt;
**Beckhoff TwinCAT I/O &lt;br /&gt;
*** [[S7-SoftPLC:Configuration TwinCAT I/O|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuration TwinCAT I/O drivers|Configuration of drivers]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuration TwinCAT I/O with PLC43:INI|Configuration with PLC43.INI]]&lt;br /&gt;
*** [[S7-SoftPLC:S7-SoftPLC Service and TwinCat|S7-SoftPLC Service and TwinCat]]&lt;br /&gt;
**CIF 30/50/60&lt;br /&gt;
*** [[S7-SoftPLC:Basic configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring the CIF-card with the SyCon System Configurator|Configuration with System Configurator]]&lt;br /&gt;
*** [[S7-SoftPLC:CIF 30/50/60 Settings|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:CIF 30/50/60 settings of S7-SoftPLC|PLC43.INI]]&lt;br /&gt;
*** [[S7-SoftPLC:PROFIBUS® configuration via S7 for Windows®/STEP®7|PROFIBUS® configuration via S7 for Windows®/STEP®7]]&lt;br /&gt;
** cifX&lt;br /&gt;
*** [[S7-SoftPLC:cifX Basic configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuration of cifX card with SYCON.NET|Configuration with SYCON.NET]]&lt;br /&gt;
*** [[S7-SoftPLC:cifX User Interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:cifX settings of IBHsoftec S7-SoftPLC|Settings of the IBHsoftec S7-SoftPLC]]&lt;br /&gt;
*** [[S7-SoftPLC:cifX PROFIBUS® configuration via S7 for Windows®/STEP®7|PROFIBUS® configuration via S7 for Windows®/STEP®7]]&lt;br /&gt;
** CP340/CP440&lt;br /&gt;
*** [[S7-SoftPLC:Configuring CP340/CP440 emulation|Emulation]]&lt;br /&gt;
*** [[S7-SoftPLC:Configure the CP340/CP440 emulation via user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring CP340/440 emulation in PLC43.INI|PLC43.INI]]&lt;br /&gt;
** CP343/CP443 &lt;br /&gt;
*** [[S7-SoftPLC:Configuring CP343/CP443 emulation|Emulation]]&lt;br /&gt;
*** [[S7-SoftPLC:Configure the CP343/CP443 emulation via user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring CP343/443 emulation in PLC43.INI|PLC43.INI]]&lt;br /&gt;
** I/O Port&lt;br /&gt;
*** [[S7-SoftPLC:Configuring PC hardware ports|Configuring PC hardware ports]]&lt;br /&gt;
*** [[S7-SoftPLC:Setting PC hardware port with user interface|User interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Setting PC hardware ports with PLC43.INI|PLC43.INI]]&lt;br /&gt;
** Modbus TCP&lt;br /&gt;
*** [[S7-SoftPLC:Modbus TCP configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring Modbus TCP with the user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring Modbus TCP with PLC43.INI|PLC43.INI]]&lt;br /&gt;
** NVRAM&lt;br /&gt;
*** [[S7-SoftPLC:NVRAM configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:NVRAM configuration with the user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:NVRAM configuration with the PLC43.INI|PLC43.INI]]&lt;br /&gt;
** Softnet PN IO&lt;br /&gt;
*** [[S7-SoftPLC:Softnet PN IO configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring SoftNet with the user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring SoftNet PN IO with PLC43.INI|PLC43.INI]]&lt;br /&gt;
** User SFC&lt;br /&gt;
*** [[S7-SoftPLC:User SFC configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Setting the User SFC&#039;s/FC&#039;s within the user interface|User Interface]]&lt;br /&gt;
* [[S7-SoftPLC:Technical data|Technical data]]&lt;br /&gt;
** [[S7-SoftPLC:Instruction set|Instruction set]]&lt;br /&gt;
** [[S7-SoftPLC:STEP®7 Hardwareconfiguration|STEP®7 Hardwareconfiguration]]&lt;br /&gt;
** [[S7-SoftPLC:Diagnostic buffer entries|Diagnostic buffer entries]]&lt;br /&gt;
** [[S7-SoftPLC:Differences between S7-SoftPLC and Hardware-PLC|Differences]]&lt;br /&gt;
** [[S7-SoftPLC:AppStarter|AppStarter]]&lt;br /&gt;
&lt;br /&gt;
== S7-PCI315 ==&lt;br /&gt;
* [[S7-PCI315:Documentation Overview|Documentation Overview]]&lt;br /&gt;
* [[S7-PCI315:Legal Notes|Legal Notes]]&lt;br /&gt;
* [[S7-PCI315:Licenses|Licenses]]&lt;br /&gt;
* [[S7-PCI315:Safety|Safety]]&lt;br /&gt;
* [[S7-PCI315:Description and Requirements|Description and Requirements]]&lt;br /&gt;
* [[S7-PCI315:Device Drawings|Device Drawings]]&lt;br /&gt;
* [[S7-PCI315:System Overview|System Overview]]&lt;br /&gt;
* [[S7-PCI315:Device Driver Setup|Device Driver Setup]]&lt;br /&gt;
* [[S7-PCI315:Firmware Update|Firmware Update]]&lt;br /&gt;
* [[S7-PCI315:USB driver installation|USB driver installation]]&lt;br /&gt;
* [[S7-PCI315:Install S7netPLCComm service|Install S7netPLCComm service]]&lt;br /&gt;
* [[S7-PCI315:Safety Advices|Safety Advices]]&lt;br /&gt;
* [[S7-PCI315:Installing Battery|Installing Battery]]&lt;br /&gt;
* [[S7-PCI315:Installing S7-PCI315 PLC|Installing S7-PCI315 PLC]]&lt;br /&gt;
* [[S7-PCI315:HMI/data access|HMI/data access]]&lt;br /&gt;
* [[S7-PCI315:S7netPLCComm service|S7netPLCComm service]]&lt;br /&gt;
* [[S7-PCI315:Service configuration|Service configuration]]&lt;br /&gt;
* [[S7-PCI315:Configuration user interface|Configuration user interface]]&lt;br /&gt;
* [[S7-PCI315:Configuration INI file|Configuration INI file]]&lt;br /&gt;
* [[S7-PCI315:WinCC Flexible local|WinCC Flexible local]]&lt;br /&gt;
* [[S7-PCI315:Programming|Programming]]&lt;br /&gt;
* [[S7-PCI315:Instruction set|Instruction set]]&lt;br /&gt;
* [[S7-PCI315:Integrated blocks|Integrated blocks]]&lt;br /&gt;
* [[S7-PCI315:Power Supply|Power Supply]]&lt;br /&gt;
* [[S7-PCI315:Reset Behaviour|Reset Behaviour]]&lt;br /&gt;
* [[S7-PCI315:RUN/STOP Switch|RUN/STOP Switch]]&lt;br /&gt;
* [[S7-PCI315:Battery|Battery]]&lt;br /&gt;
* [[S7-PCI315:Changing the Battery|Changing the Battery]]&lt;br /&gt;
* [[S7-PCI315:Battery Disposal|Battery Disposal]]&lt;br /&gt;
* [[S7-PCI315:LED|LED]]&lt;br /&gt;
* [[S7-PCI315:LED SYS|LED SYS]]&lt;br /&gt;
* [[S7-PCI315:LED APL|LED APL]]&lt;br /&gt;
* [[S7-PCI315:LED PROFIBUS DP-Master|LED PROFIBUS DP-Master]]&lt;br /&gt;
* [[S7-PCI315:Memory Card|Memory Card]]&lt;br /&gt;
* [[S7-PCI315:Read State|Read State]]&lt;br /&gt;
* [[S7-PCI315:Dualport communication|Dualport communication]]&lt;br /&gt;
* [[S7-PCI315:Knowledge base|Knowledge base]]&lt;br /&gt;
* [[S7-PCI315:Troubleshooting|Troubleshooting]]&lt;br /&gt;
* [[S7-PCI315:Error Codes|Error Codes]]&lt;br /&gt;
* [[S7-PCI315:Technical Data|Technical Data]]&lt;br /&gt;
&lt;br /&gt;
== IBHNet ==&lt;br /&gt;
*[[IBHNet:Introduction|Introduction]]&lt;br /&gt;
*[[IBHNet:System Requirements|System Requirements]]&lt;br /&gt;
*[[IBHNet:Installation|Installation]]&lt;br /&gt;
*[[IBHNet:Local Operation|Local Operation]]&lt;br /&gt;
*[[IBHNet:Operation in a local area network|Operation in a local area network]]&lt;br /&gt;
*[[IBHNet:Operation via the Internet|Operation via the Internet]]&lt;br /&gt;
*[[IBHNet:IBH Link S7|IBH Link S7]]&lt;br /&gt;
*[[IBHNet:IBH Link S5++|IBH Link S5++]]&lt;br /&gt;
*[[IBHNet:IBH Link S5++ with STEP®5|IBH Link S5++ with STEP®5]]&lt;br /&gt;
*[[IBHNet:Defining access names to identify the PLCs|Defining access names to identify the PLCs]]&lt;br /&gt;
*[[IBHNet:Settings within STEP®7|Settings within STEP®7]]&lt;br /&gt;
*[[IBHNet:Settings within STEP®7 without IBHNet driver|Settings within STEP®7 without IBHNet driver]]&lt;br /&gt;
*[[IBHNet:Settings within STEP®7 MicroWin starting with V3.1 SP2|Settings within STEP®7 MicroWin starting with V3.1 SP2]]&lt;br /&gt;
*[[IBHNet:Settings within TIA®|Settings within TIA®]]&lt;br /&gt;
*[[IBHNet:Settings within TIA® without IBHNet driver|Settings within TIA® without IBHNet driver]]&lt;br /&gt;
*[[IBHNet:Using IBHNet with WinCC|Using IBHNet with WinCC]]&lt;br /&gt;
*[[IBHNet:Using IBHNet with ProTool|Using IBHNet with ProTool]]&lt;br /&gt;
*[[IBHNet:Using IBHNet with WinCC Flexible|Using IBHNet with WinCC Flexible]]&lt;br /&gt;
*[[IBHNet:Using the IBH Link S5++ with Intouch|Using the IBH Link S5++ with Intouch]]&lt;br /&gt;
*[[IBHNet:Using the IBH Link S7++ with Intouch|Using the IBH Link S7++ with Intouch]]&lt;br /&gt;
*[[IBHNet:Accessing PLC variables|Accessing PLC variables]]&lt;br /&gt;
*[[IBHNet:Fetch/Write|Fetch/Write]]&lt;br /&gt;
*[[IBHNet:Unprojected PLC-PLC communication|Unprojected PLC-PLC communication]]&lt;br /&gt;
*[[IBHNet:Projected PLC-PLC communication|Projected PLC-PLC communication]]&lt;br /&gt;
*[[IBHNet:RFC1006 Communication IBH Link S7/S7Plus|RFC1006 Communication IBH Link S7/S7Plus]]&lt;br /&gt;
*[[IBHNet:RFC1006 Communication IBH Link S7++/S7++HS|RFC1006 Communication IBH Link S7++/S7++HS]]&lt;br /&gt;
*[[IBHNet:Troubleshooting|Troubleshooting]]&lt;br /&gt;
*[[IBHNet:Reset/Factory settings|Reset/Factory settings]]&lt;br /&gt;
*[[IBHNet:Technical Data IBH Link S7|Technical Data IBH Link S7]]&lt;br /&gt;
*[[IBHNet:Technical Data IBH Link S7 Plus|Technical Data IBH Link S7 Plus]]&lt;br /&gt;
*[[IBHNet:Technical Data IBH Link S7++/S7++ HS|Technical Data IBH Link S7++/S7++ HS]]&lt;br /&gt;
*[[IBHNet:Technical Data IBH Link S5++|Technical Data IBH Link S5++]]&lt;br /&gt;
*[[IBHNet:IBH Link History|IBH Link History]]&lt;br /&gt;
*[[IBHNet:Revisions|Revisions]]&lt;br /&gt;
==IBH USB-S5-Adapter==&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;2&amp;quot; class=&amp;quot;float-right&amp;quot;&amp;gt;&lt;br /&gt;
Image:IBH_USB_S5.gif|[http://www.ibhsoftec.com/IBH-USB-S5-Adapter-Eng IBH-USB-S5-Adapter]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
* [[IBH USB-S5-Adapter:SIMATIC® S5 for Windows®|Access to a SIMATIC® S5 with &#039;&#039;S5 for Windows®&#039;&#039;]]&lt;br /&gt;
* [[IBH USB-S5-Adapter:Maximum USB cable length|Maximum USB cable length]]&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Instruction_set&amp;diff=1158</id>
		<title>S7-SoftPLC:Instruction set</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Instruction_set&amp;diff=1158"/>
		<updated>2013-01-23T12:01:00Z</updated>

		<summary type="html">&lt;p&gt;Jonas: /* Program display and null operation instructions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The programming language of the IBH&#039;&#039;softec&#039;&#039; &#039;&#039;S7-SoftPLC 315&#039;&#039;and &#039;&#039;S7-SoftPLC 416&#039;&#039; controls is STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 and can be made with the programming tools &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; or STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 from Siemens. The complete instruction set of the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 language is supported.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;S7-SoftPLC 315&#039;&#039; has the complete instruction set of the SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; S7-315 CPU.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;S7-SoftPLC 416&#039;&#039; has the complete instruction set of the SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; S7-416 CPU.&lt;br /&gt;
&lt;br /&gt;
== Bit logic instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Instruction !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| A ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AND with a scan to &amp;quot;1&amp;quot;“&lt;br /&gt;
|-&lt;br /&gt;
| AN ||  || AND with a scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| O ||  || OR with scan to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| ON ||  || OR with scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| X ||  || Exclusive-OR with a scan to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| XN ||  || Exclusive-OR with a scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|  || I || of an input&lt;br /&gt;
|-&lt;br /&gt;
|  || Q || of an output&lt;br /&gt;
|-&lt;br /&gt;
|  || M || of a memory&lt;br /&gt;
|-&lt;br /&gt;
|  || L || of a local data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || T || of a timer&lt;br /&gt;
|-&lt;br /&gt;
|  || C || of a counter&lt;br /&gt;
|-&lt;br /&gt;
|  || DBX || of a data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || DIX || of an instant data bit&lt;br /&gt;
|-&lt;br /&gt;
| ==0 ||  || result equal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;0 ||  || result unequal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;0 ||  || result greater than zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=0 ||  || result greater or equal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;0 ||  || result less than zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=0 ||  || result less or equal zero&lt;br /&gt;
|-&lt;br /&gt;
| UO ||  || invalid result&lt;br /&gt;
|-&lt;br /&gt;
| OV ||  || overflow&lt;br /&gt;
|-&lt;br /&gt;
| OS ||  || overflow (saving)&lt;br /&gt;
|-&lt;br /&gt;
| BR ||  || binary result&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other boolean logic instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| A( ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AND left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| AN( ||  || AND NOT left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| O( ||  || OR left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| ON( ||  || OR NOT left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| X( ||  || Exclusive OR left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| XN( ||  || Exclusive OR NOT left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| ) ||  || Right parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| O ||  || OR-ing AND operations &lt;br /&gt;
|-&lt;br /&gt;
| NOT ||  || Negate RLO&lt;br /&gt;
|-&lt;br /&gt;
| SET ||  || Set RLO to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| CLR ||  || Set RLO to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| SAVE ||  || Save RLO to the BR bit&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| = ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Assign value of RLO&lt;br /&gt;
|-&lt;br /&gt;
| S ||  || Set&lt;br /&gt;
|-&lt;br /&gt;
| R ||  || Reset&lt;br /&gt;
|-&lt;br /&gt;
| FP ||  || Positive edge detection&lt;br /&gt;
|-&lt;br /&gt;
| FN ||  || Negative edge detection&lt;br /&gt;
|-&lt;br /&gt;
|  || I || of an input bit&lt;br /&gt;
|-&lt;br /&gt;
|  || Q || of an output bit&lt;br /&gt;
|-&lt;br /&gt;
|  || M || of a memory bit&lt;br /&gt;
|-&lt;br /&gt;
|  || L || of a local data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || DBX || of a data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || DIX || of a instance data bit&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Master Control Relay ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| MCRA ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Activate MCR&lt;br /&gt;
|-&lt;br /&gt;
| MCRD ||  || Deactivate MCR&lt;br /&gt;
|-&lt;br /&gt;
| MCR( ||  || Open MCR zone&lt;br /&gt;
|-&lt;br /&gt;
| )MCR ||  || Close MCR zone&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Load / Transfer instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| L ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Load operand&lt;br /&gt;
|-&lt;br /&gt;
| T ||  || Transfer operand&lt;br /&gt;
|-&lt;br /&gt;
|  || IB || Input byte&lt;br /&gt;
|-&lt;br /&gt;
|  || IW || Input word&lt;br /&gt;
|-&lt;br /&gt;
|  || ID || Input double word&lt;br /&gt;
|-&lt;br /&gt;
|  || QB || Output byte&lt;br /&gt;
|-&lt;br /&gt;
|  || QW || Output word&lt;br /&gt;
|-&lt;br /&gt;
|  || QD || Ouput double word&lt;br /&gt;
|-&lt;br /&gt;
|  || MB || Memory byte&lt;br /&gt;
|-&lt;br /&gt;
|  || MW || Memory word&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || Memory double word&lt;br /&gt;
|-&lt;br /&gt;
|  || LB || Local data byte&lt;br /&gt;
|-&lt;br /&gt;
|  || LW || Local data word&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || Local data double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBB || Data block byte&lt;br /&gt;
|-&lt;br /&gt;
|  || DBW || Data block word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || Data block double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DIB || Instance data block byte&lt;br /&gt;
|-&lt;br /&gt;
|  || DIW || Instance data block word&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || Instance data block double word&lt;br /&gt;
|-&lt;br /&gt;
|  || STW || Status word&lt;br /&gt;
|-&lt;br /&gt;
| L || const || Load constant value&lt;br /&gt;
|-&lt;br /&gt;
| L || #Pointer || Load pointer&lt;br /&gt;
|-&lt;br /&gt;
| L || T || Timer&lt;br /&gt;
|-&lt;br /&gt;
| LC || T || Timer (BCD coded)&lt;br /&gt;
|-&lt;br /&gt;
| L || Z || Counter&lt;br /&gt;
|-&lt;br /&gt;
| LC || Z || Counter (BCD coded)&lt;br /&gt;
|-&lt;br /&gt;
| L || DBNO || Data block number&lt;br /&gt;
|-&lt;br /&gt;
| L || DBLG || Data block length&lt;br /&gt;
|-&lt;br /&gt;
| L || DINO || Instance data block number&lt;br /&gt;
|-&lt;br /&gt;
| L || DILG || Instance data block length&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Peripheral access instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| L ||style=&amp;quot;width: 5em&amp;quot;| PIB ||style=&amp;quot;width: 22em&amp;quot;| Load peripheral input byte&lt;br /&gt;
|-&lt;br /&gt;
| L || PIW || Load peripheral input word&lt;br /&gt;
|-&lt;br /&gt;
| L || PID || Load peripheral input double word&lt;br /&gt;
|-&lt;br /&gt;
| T || PQB || Transfer peripheral output byte&lt;br /&gt;
|-&lt;br /&gt;
| T || PQW || Transfer peripheral output word&lt;br /&gt;
|-&lt;br /&gt;
| T || PQD || Transfer peripheral output double word&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Accumulator instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| PUSH ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Push accumulators upwards&lt;br /&gt;
|-&lt;br /&gt;
| POP ||  || Push accumulators downwards&lt;br /&gt;
|-&lt;br /&gt;
| ENT ||  || Push accumulators (without A1) A2-&amp;gt;A3, A3-&amp;gt;A4&lt;br /&gt;
|-&lt;br /&gt;
| LEAVE ||  || Push accumulators (without A1) A4-&amp;gt;A3, A3-&amp;gt;A2&lt;br /&gt;
|-&lt;br /&gt;
| TAK ||  || Change ACCU1 with ACCU2&lt;br /&gt;
|-&lt;br /&gt;
| CAW ||  || Change ACCU1 bytes 0 and 1&lt;br /&gt;
|-&lt;br /&gt;
| CAD ||  || Change ACCU1 bytes 0 and 3, 1 and 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Shift and rotating instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| SLW ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 23em&amp;quot;| Shift ACCU1-L left (word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SLD ||  || Shift ACCU1 left (double word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SRW ||  || Shift ACCU1-L right (word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SRD ||  || Shift ACCU1 right (double word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SSI ||  || Shift ACCU1-L right (word shift with sign)&lt;br /&gt;
|-&lt;br /&gt;
| SSD ||  || Shift ACCU1 right (double word shift with sign)&lt;br /&gt;
|-&lt;br /&gt;
| RLD ||  || Rotate ACCU1 left (double word)&lt;br /&gt;
|-&lt;br /&gt;
| RLDA ||  || Rotate ACCU1 left through CC1&lt;br /&gt;
|-&lt;br /&gt;
| RRDA ||  || Rotate ACCU1 right through CC1&lt;br /&gt;
|-&lt;br /&gt;
| RRD ||  || Rotate ACCU1 right (double word)&lt;br /&gt;
|-&lt;br /&gt;
|  || const || Number of places to shift/rotate&lt;br /&gt;
|-&lt;br /&gt;
|  || - || Number of places to shift/rotate located in ACCU2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Timer instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| SP ||style=&amp;quot;width: 5em&amp;quot;| T ||style=&amp;quot;width: 22em&amp;quot;| Start as impulse&lt;br /&gt;
|-&lt;br /&gt;
| SE || T || Start as extendet impulse&lt;br /&gt;
|-&lt;br /&gt;
| SD || T || Start as ON-delay&lt;br /&gt;
|-&lt;br /&gt;
| SS || T || Start as saving ON-delay&lt;br /&gt;
|-&lt;br /&gt;
| SF || T || Start as OFF-delay&lt;br /&gt;
|-&lt;br /&gt;
| R || T || Reset timer&lt;br /&gt;
|-&lt;br /&gt;
| FR || T || Enable timer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Counter instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| CU ||style=&amp;quot;width: 5em&amp;quot;| C ||style=&amp;quot;width: 22em&amp;quot;| Count up (increment)&lt;br /&gt;
|-&lt;br /&gt;
| CD || C || Count down (decrement)&lt;br /&gt;
|-&lt;br /&gt;
| S || C || Set counter&lt;br /&gt;
|-&lt;br /&gt;
| R || C || Reset counter&lt;br /&gt;
|-&lt;br /&gt;
| FR || C || Enable counter&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Word instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| AW ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AND ACCU1-L (AND word)&lt;br /&gt;
|-&lt;br /&gt;
| AD ||  || AND ACCU1 (AND double word)&lt;br /&gt;
|-&lt;br /&gt;
| OW ||  || OR ACCU1-L (OR word)&lt;br /&gt;
|-&lt;br /&gt;
| OD ||  || OR ACCU1 (OR double word)&lt;br /&gt;
|-&lt;br /&gt;
| XOW ||  || Exclusive-OR ACCU (XOR word)&lt;br /&gt;
|-&lt;br /&gt;
| XOD ||  || Exclusive-OR ACCU (XOR double word)&lt;br /&gt;
|-&lt;br /&gt;
|  || const || with a word or double word constant&lt;br /&gt;
|-&lt;br /&gt;
|  || - || with ACCU2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Arithmetic instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| ==I ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Integer values equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;I ||  || Integer values unequal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;I ||  || Integer values greater&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=I ||  || Integer values greather or equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;I ||  || Integer values less&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=I ||  || Integer values less or equal&lt;br /&gt;
|-&lt;br /&gt;
| ==D ||  || Double integer values equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;D ||  || Double integer values unequal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;D ||  || Double integer values greater&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=D ||  || Double integer values greater or equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;D ||  || Double integer values less&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=D ||  || Double integer values less or equal&lt;br /&gt;
|-&lt;br /&gt;
| ==R ||  || Real values equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;R ||  || Real values unequal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;R ||  || Real values greater&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=R ||  || Real values greater or equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;R ||  || Real values less&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=R ||  || Real values less or equal&lt;br /&gt;
|-&lt;br /&gt;
| SIN ||  || Sine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| COS ||  || Cosine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| TAN ||  || Tangent of a real value&lt;br /&gt;
|-&lt;br /&gt;
| ASIN ||  || Arcsine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| ACOS ||  || Arccosine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| ATAN ||  || Arctangent of a real value&lt;br /&gt;
|-&lt;br /&gt;
| SQR ||  || Square a real value&lt;br /&gt;
|-&lt;br /&gt;
| SQRT ||  || Square root a real value&lt;br /&gt;
|-&lt;br /&gt;
| EXP ||  || e to the power of a real value&lt;br /&gt;
|-&lt;br /&gt;
| LN ||  || Natural logarithm of a real value&lt;br /&gt;
|-&lt;br /&gt;
| +I ||  || Integer addition&lt;br /&gt;
|-&lt;br /&gt;
| -I ||  || Integer subtraction&lt;br /&gt;
|-&lt;br /&gt;
| *I ||  || Integer multiplication&lt;br /&gt;
|-&lt;br /&gt;
| /I ||  || Integer division&lt;br /&gt;
|-&lt;br /&gt;
| +D ||  || Double-integer addition&lt;br /&gt;
|-&lt;br /&gt;
| -D ||  || Double-integer subtraction&lt;br /&gt;
|-&lt;br /&gt;
| *D ||  || Double-integer multiplication&lt;br /&gt;
|-&lt;br /&gt;
| /D ||  || Double-integer division&lt;br /&gt;
|-&lt;br /&gt;
| +R ||  || Real addition&lt;br /&gt;
|-&lt;br /&gt;
| -R ||  || Real subtraction&lt;br /&gt;
|-&lt;br /&gt;
| *R ||  || Real multiplication&lt;br /&gt;
|-&lt;br /&gt;
| /R ||  || Real division&lt;br /&gt;
|-&lt;br /&gt;
| MOD ||  || Double integer division (modulo)&lt;br /&gt;
|-&lt;br /&gt;
| + || const || Add a constant&lt;br /&gt;
|-&lt;br /&gt;
| +P# || const || Add a pointer&lt;br /&gt;
|-&lt;br /&gt;
| DEC ||  || dekrement ACCU1-LL (one byte)&lt;br /&gt;
|-&lt;br /&gt;
| INC ||  || inkrement ACCU1-LL (one byte)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Data type conversion instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| ITD ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Convert integer to double integer&lt;br /&gt;
|-&lt;br /&gt;
| ITB ||  || Convert integer to BCD&lt;br /&gt;
|-&lt;br /&gt;
| DTB ||  || Convert double integer to BCD&lt;br /&gt;
|-&lt;br /&gt;
| DTR ||  || Convert double integer to real&lt;br /&gt;
|-&lt;br /&gt;
| BTI ||  || Convert BCD to integer&lt;br /&gt;
|-&lt;br /&gt;
| BTD ||  || Convert BCD to double integer&lt;br /&gt;
|-&lt;br /&gt;
| RND ||  || Convert real to double integer (round)&lt;br /&gt;
|-&lt;br /&gt;
| RND+ ||  || Convert real to double integer (round up)&lt;br /&gt;
|-&lt;br /&gt;
| RND- ||  || Convert real to double integer (round down)&lt;br /&gt;
|-&lt;br /&gt;
| TRUNC ||  || Convert real to double integer (truncate)&lt;br /&gt;
|-&lt;br /&gt;
| INVI ||  || Invert ACCU1-L (integer)&lt;br /&gt;
|-&lt;br /&gt;
| INVD ||  || Invert ACCU1 (double integer)&lt;br /&gt;
|-&lt;br /&gt;
| NEGI ||  || Negate ACCU1-L (integer)&lt;br /&gt;
|-&lt;br /&gt;
| NEGD ||  || Negate ACCU1 (double integer)&lt;br /&gt;
|-&lt;br /&gt;
| NEGR ||  || Negate ACCU1 (real)&lt;br /&gt;
|-&lt;br /&gt;
| ABS ||  || Absolute value (real)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Jump instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| JU ||style=&amp;quot;width: 5em&amp;quot;| goal ||style=&amp;quot;width: 26em&amp;quot;| Jump unconditional&lt;br /&gt;
|-&lt;br /&gt;
| JC || goal || Jump if RLO = 1&lt;br /&gt;
|-&lt;br /&gt;
| JCB || goal || Jump if RLO = 1 (save RLO)&lt;br /&gt;
|-&lt;br /&gt;
| JCN || goal || Jump if RLO = 0&lt;br /&gt;
|-&lt;br /&gt;
| JNB || goal || Jump if RLO = 0 (save RLO)&lt;br /&gt;
|-&lt;br /&gt;
| JBI || goal || Jump if BR = 1&lt;br /&gt;
|-&lt;br /&gt;
| JNBI || goal || Jump if BR = 0&lt;br /&gt;
|-&lt;br /&gt;
| JZ || goal || Jump if compare result = 0&lt;br /&gt;
|-&lt;br /&gt;
| JN || goal || Jump if compare result != 0&lt;br /&gt;
|-&lt;br /&gt;
| JP || goal || Jump if compare result &amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| JPZ || goal || Jump if compare result &amp;gt;= 0&lt;br /&gt;
|-&lt;br /&gt;
| JM || goal || Jump if compare result &amp;lt; 0&lt;br /&gt;
|-&lt;br /&gt;
| JMZ || goal || Jump if compare result &amp;lt;= 0&lt;br /&gt;
|-&lt;br /&gt;
| JUO || goal || Jump if compare result &amp;quot;Unordered Math Instruction&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| JO || goal || Jump on overflow&lt;br /&gt;
|-&lt;br /&gt;
| JOS || goal || Jump on saving overflow&lt;br /&gt;
|-&lt;br /&gt;
| JL || goal || Jump distributor&lt;br /&gt;
|-&lt;br /&gt;
| LOOP || goal || Loop programming (decrement ACCU1-L and jump if != 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Block call instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| CALL FB ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 26em&amp;quot;| Unconditional call of an FB with parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CALL FC ||  || Unconditional call of an FC with parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CALL SFB ||  || Unconditional call of an SFB with parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CALL SFC ||  || Unconditional call of an SFC with parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| UC FB ||  || Unconditional call of an FB without parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CC FB ||  || Conditional call of an FB without parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| UC FC ||  || Unconditional call of an FC without parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CC FC ||  || Conditional call of an FC without parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| BEU ||  || End block unconditionally&lt;br /&gt;
|-&lt;br /&gt;
| BEC ||  || End block conditionally (RLO = 1)&lt;br /&gt;
|-&lt;br /&gt;
| BE ||  || End block&lt;br /&gt;
|-&lt;br /&gt;
| OPN || ||&lt;br /&gt;
|-&lt;br /&gt;
|  || DB || Open data block&lt;br /&gt;
|-&lt;br /&gt;
|  || DI || Open instance data block&lt;br /&gt;
|-&lt;br /&gt;
| TDB ||  || Exchange data block registers&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Indirect adressing instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| LAR1/LAR2 ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Load AR1/AR2&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || with memory double word&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || with local data double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || with datablock double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || with instance data block double word&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 || - || Load AR1 with ACCU1&lt;br /&gt;
|-&lt;br /&gt;
| LAR2 || - || Laod AR2 with ACCU1&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 || AR2 || Load AR1 with AR2&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 || P# || Load AR1 with pointer&lt;br /&gt;
|-&lt;br /&gt;
| LAR2 || P# || Load AR2 with pointer&lt;br /&gt;
|-&lt;br /&gt;
| TAR1/TAR2 ||  || Transfer in AR1/AR2&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || in memory double word&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || in local data double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || in datablock double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || in instance data block double word&lt;br /&gt;
|-&lt;br /&gt;
| TAR1 || - || Transfer AR1 in ACCU1&lt;br /&gt;
|-&lt;br /&gt;
| TAR2 || - || Transfer AR2 in ACCU1&lt;br /&gt;
|-&lt;br /&gt;
| TAR1 || AR2 || Transfer AR1 in AR2&lt;br /&gt;
|-&lt;br /&gt;
| TAR ||  || Swap AR1 with AR2&lt;br /&gt;
|-&lt;br /&gt;
| +AR1 ||  || Add ACCU1 to AR1&lt;br /&gt;
|-&lt;br /&gt;
| +AR2 ||  || Add ACCU1 to AR2&lt;br /&gt;
|-&lt;br /&gt;
| +AR1 || P# || Add pointer to AR1&lt;br /&gt;
|-&lt;br /&gt;
| +AR2 || P# || Add pointer to AR2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Program display and null operation instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| NOP ||style=&amp;quot;width: 5em&amp;quot;| 0 ||style=&amp;quot;width: 22em&amp;quot;| Null operation instruction&lt;br /&gt;
|-&lt;br /&gt;
| NOP || 1 || Null operation instruction&lt;br /&gt;
|-&lt;br /&gt;
| BLD || const || Program display instruction (null operation)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Layout of &#039;&#039;S7-SoftPLC&#039;&#039; memory&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The memory of &#039;&#039;S7-SoftPLC 315&#039;&#039; and &#039;&#039;S7-SoftPLC 416&#039;&#039; is compatible to the memory of SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;-control S7-315 or S7-416.&lt;br /&gt;
&lt;br /&gt;
Please note, that the low-order byte has to be interchanged with the high-order byte when accessing this memory with Windows programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Layout of SoftPLC system data&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The layout of the system data in the system data is compatible to the system data of SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;-control S7-315 or S7-416.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated organisation blocks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The organisation blocks, listed in the chart below, are executed, if they are programmed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! OB no !! Short Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:14em&amp;quot;| OB 1 ||style=&amp;quot;width:14em&amp;quot;| Main programm&lt;br /&gt;
|-&lt;br /&gt;
| OB 10 – OB 17 || Time alarm&lt;br /&gt;
|-&lt;br /&gt;
| OB 20 – OB 23 || Delay alarm&lt;br /&gt;
|-&lt;br /&gt;
| OB 30 – OB 38 || Time blocks (cyclic call)&lt;br /&gt;
|-&lt;br /&gt;
| OB 80 – OB 87 || Error blocks&lt;br /&gt;
|-&lt;br /&gt;
| OB 90 || Background execution&lt;br /&gt;
|-&lt;br /&gt;
| OB 100/OB 101 || Warm or hot restart&lt;br /&gt;
|-&lt;br /&gt;
| OB 121/OB 122 || Programming faults&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated system functions&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
All system functions (SFC) relevant for a Software PLC are integrated in &#039;&#039;S7-SoftPLC&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The chart below shows the available SFCs(in numeric listing)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! SFC no !! SF name !! Short Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:7em&amp;quot;| SFC 0 ||style=&amp;quot;width:8em&amp;quot;| SET_CLK || Set system clock&lt;br /&gt;
|-&lt;br /&gt;
| SFC 1 || READ_CLK || Read system clock&lt;br /&gt;
|-&lt;br /&gt;
| SFC 5  (3) || GADR_LGC || Detect the logic basis address of a component&lt;br /&gt;
|-&lt;br /&gt;
| SFC 6 || RD_SINFO || Read out start information of actual OBs&lt;br /&gt;
|-&lt;br /&gt;
| SFC 13 (1) || DPNRM_DG || Slave-Diagnosis of a DP-slave&lt;br /&gt;
|-&lt;br /&gt;
| SFC 14 (2) || DPRD_DAT || Read consistent data of a DP-norm slave&lt;br /&gt;
|-&lt;br /&gt;
| SFC 15 (2) || DPWR_DAT || Write data consistent on DP-norm slave&lt;br /&gt;
|-&lt;br /&gt;
| SFC 20 || BLKMOV || Copy PLC-variable in target-area&lt;br /&gt;
|-&lt;br /&gt;
| SFC 21 || FILL || Preoccupy PLC-variable in target-area&lt;br /&gt;
|-&lt;br /&gt;
| SFC 22 || CREAT_DB || Create data block&lt;br /&gt;
|-&lt;br /&gt;
| SFC 23 || DEL_DB || Delete data block&lt;br /&gt;
|-&lt;br /&gt;
| SFC 24 || TEST_DB || Test attributes of a data block&lt;br /&gt;
|-&lt;br /&gt;
| SFC 25 || COMPRESS || Compress load memory&lt;br /&gt;
|-&lt;br /&gt;
| SFC 28 || SET_TINT || Set time alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 29 || CAN_TINT || Stop time alarm (do not execute)&lt;br /&gt;
|-&lt;br /&gt;
| SFC 30 || ACT_TINT || Enable time alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 31 || QRY_TINT || Status of time alarm &lt;br /&gt;
|-&lt;br /&gt;
| SFC 32 || SRT_DINT || Start delay alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 33 || CAN_DINT || Stop delay alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 34 || QRY_DINT || Status query of delay alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 36 || MSK_FLT || Mask a synchron error occurrence&lt;br /&gt;
|-&lt;br /&gt;
| SFC 37 || DMSK_FLT || Demask a synchron error occurrence&lt;br /&gt;
|-&lt;br /&gt;
| SFC 38 || READ_ERR || Read out the occurrence status register&lt;br /&gt;
|-&lt;br /&gt;
| SFC 39 || DIS_IRT || Locking the asynchron and alarm error processing&lt;br /&gt;
|-&lt;br /&gt;
| SFC 40 || EN_IRT || Enable the asynchron and alarm error processing&lt;br /&gt;
|-&lt;br /&gt;
| SFC 41 || DIS_AIRT || Delay high-priority asynchron and alarm error processing&lt;br /&gt;
|-&lt;br /&gt;
| SFC 42 || EN_AIRT || Enable high-priority asynchron and alarm error processing&lt;br /&gt;
|-&lt;br /&gt;
| SFC 43 || RE_TRIGR || Retrigger the Watchdog&lt;br /&gt;
|-&lt;br /&gt;
| SFC 46 || STP || CPU operating state STOP&lt;br /&gt;
|-&lt;br /&gt;
| SFC 49 (3) || LGC_GADR || Detect the solt of a logic address&lt;br /&gt;
|-&lt;br /&gt;
| SFC 50 (3) || RD_LAGADR || Detect all logic addresses of a component&lt;br /&gt;
|-&lt;br /&gt;
| SFC 51 || RDSYST || Read out system status list (SSL)&lt;br /&gt;
|-&lt;br /&gt;
| SFC 64 || TIME_TCK || Timer Tick&lt;br /&gt;
|-&lt;br /&gt;
| SFC 81 || UBLKMOV || Block Move, that can not be stopped&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(1)The SFC 13 is available only, when the driver Cifcfg.dll is loaded. Furthermore it can only return valid results, if the PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; configuration has been created via the &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; hardware configuration or the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration. This is only possible when using the driver CIFCFG.DLL.&lt;br /&gt;
&lt;br /&gt;
(2)The SFC 14 and SFC 15 are available only, if they are loaded via the driver CIF30D0.DLL or the driver CIFCFG.DLL.&lt;br /&gt;
&lt;br /&gt;
(3)The SFCs can only return valid results, if the PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 configuration has been created via the &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration or the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration. This is only possible when using the driver CIFCFG.DLL.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated system blocks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The system blocks (SFB) relevant for a software PLC are integrated in &#039;&#039;S7-SoftPLC&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The following system function blocks are supported:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! SFB no !! SFB name !! Short Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:7em&amp;quot;| SFB 0 ||style=&amp;quot;width:7em&amp;quot;| CTU || Count up&lt;br /&gt;
|-&lt;br /&gt;
| SFB 1 || CTD || Count down&lt;br /&gt;
|-&lt;br /&gt;
| SFB 2 || CTUD || Count up and down&lt;br /&gt;
|-&lt;br /&gt;
| SFB 3 || TP || Generate pulse&lt;br /&gt;
|-&lt;br /&gt;
| SFB 4 || TON || Generate ON-delay&lt;br /&gt;
|-&lt;br /&gt;
| SFB 5 || TOF || Generate OFF-delay&lt;br /&gt;
|-&lt;br /&gt;
| SFB 32 || DRUM || Implement sequencer&lt;br /&gt;
|-&lt;br /&gt;
| SFB 52 (4) || RDREC_DP || Read data record&lt;br /&gt;
|-&lt;br /&gt;
| SFB 53 (4) || WRREC_DP || Write data record&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(4)The SFB 52 and SFB 53 are only available if the driver CIFCFG.DLL is loaded and the entry DPV1=1 is set.&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Instruction_set&amp;diff=1157</id>
		<title>S7-SoftPLC:Instruction set</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Instruction_set&amp;diff=1157"/>
		<updated>2013-01-23T11:59:56Z</updated>

		<summary type="html">&lt;p&gt;Jonas: /* Indirect adressing instructions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The programming language of the IBH&#039;&#039;softec&#039;&#039; &#039;&#039;S7-SoftPLC 315&#039;&#039;and &#039;&#039;S7-SoftPLC 416&#039;&#039; controls is STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 and can be made with the programming tools &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; or STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 from Siemens. The complete instruction set of the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 language is supported.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;S7-SoftPLC 315&#039;&#039; has the complete instruction set of the SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; S7-315 CPU.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;S7-SoftPLC 416&#039;&#039; has the complete instruction set of the SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; S7-416 CPU.&lt;br /&gt;
&lt;br /&gt;
== Bit logic instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Instruction !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| A ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AND with a scan to &amp;quot;1&amp;quot;“&lt;br /&gt;
|-&lt;br /&gt;
| AN ||  || AND with a scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| O ||  || OR with scan to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| ON ||  || OR with scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| X ||  || Exclusive-OR with a scan to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| XN ||  || Exclusive-OR with a scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|  || I || of an input&lt;br /&gt;
|-&lt;br /&gt;
|  || Q || of an output&lt;br /&gt;
|-&lt;br /&gt;
|  || M || of a memory&lt;br /&gt;
|-&lt;br /&gt;
|  || L || of a local data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || T || of a timer&lt;br /&gt;
|-&lt;br /&gt;
|  || C || of a counter&lt;br /&gt;
|-&lt;br /&gt;
|  || DBX || of a data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || DIX || of an instant data bit&lt;br /&gt;
|-&lt;br /&gt;
| ==0 ||  || result equal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;0 ||  || result unequal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;0 ||  || result greater than zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=0 ||  || result greater or equal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;0 ||  || result less than zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=0 ||  || result less or equal zero&lt;br /&gt;
|-&lt;br /&gt;
| UO ||  || invalid result&lt;br /&gt;
|-&lt;br /&gt;
| OV ||  || overflow&lt;br /&gt;
|-&lt;br /&gt;
| OS ||  || overflow (saving)&lt;br /&gt;
|-&lt;br /&gt;
| BR ||  || binary result&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other boolean logic instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| A( ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AND left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| AN( ||  || AND NOT left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| O( ||  || OR left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| ON( ||  || OR NOT left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| X( ||  || Exclusive OR left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| XN( ||  || Exclusive OR NOT left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| ) ||  || Right parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| O ||  || OR-ing AND operations &lt;br /&gt;
|-&lt;br /&gt;
| NOT ||  || Negate RLO&lt;br /&gt;
|-&lt;br /&gt;
| SET ||  || Set RLO to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| CLR ||  || Set RLO to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| SAVE ||  || Save RLO to the BR bit&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| = ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Assign value of RLO&lt;br /&gt;
|-&lt;br /&gt;
| S ||  || Set&lt;br /&gt;
|-&lt;br /&gt;
| R ||  || Reset&lt;br /&gt;
|-&lt;br /&gt;
| FP ||  || Positive edge detection&lt;br /&gt;
|-&lt;br /&gt;
| FN ||  || Negative edge detection&lt;br /&gt;
|-&lt;br /&gt;
|  || I || of an input bit&lt;br /&gt;
|-&lt;br /&gt;
|  || Q || of an output bit&lt;br /&gt;
|-&lt;br /&gt;
|  || M || of a memory bit&lt;br /&gt;
|-&lt;br /&gt;
|  || L || of a local data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || DBX || of a data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || DIX || of a instance data bit&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Master Control Relay ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| MCRA ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Activate MCR&lt;br /&gt;
|-&lt;br /&gt;
| MCRD ||  || Deactivate MCR&lt;br /&gt;
|-&lt;br /&gt;
| MCR( ||  || Open MCR zone&lt;br /&gt;
|-&lt;br /&gt;
| )MCR ||  || Close MCR zone&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Load / Transfer instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| L ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Load operand&lt;br /&gt;
|-&lt;br /&gt;
| T ||  || Transfer operand&lt;br /&gt;
|-&lt;br /&gt;
|  || IB || Input byte&lt;br /&gt;
|-&lt;br /&gt;
|  || IW || Input word&lt;br /&gt;
|-&lt;br /&gt;
|  || ID || Input double word&lt;br /&gt;
|-&lt;br /&gt;
|  || QB || Output byte&lt;br /&gt;
|-&lt;br /&gt;
|  || QW || Output word&lt;br /&gt;
|-&lt;br /&gt;
|  || QD || Ouput double word&lt;br /&gt;
|-&lt;br /&gt;
|  || MB || Memory byte&lt;br /&gt;
|-&lt;br /&gt;
|  || MW || Memory word&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || Memory double word&lt;br /&gt;
|-&lt;br /&gt;
|  || LB || Local data byte&lt;br /&gt;
|-&lt;br /&gt;
|  || LW || Local data word&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || Local data double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBB || Data block byte&lt;br /&gt;
|-&lt;br /&gt;
|  || DBW || Data block word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || Data block double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DIB || Instance data block byte&lt;br /&gt;
|-&lt;br /&gt;
|  || DIW || Instance data block word&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || Instance data block double word&lt;br /&gt;
|-&lt;br /&gt;
|  || STW || Status word&lt;br /&gt;
|-&lt;br /&gt;
| L || const || Load constant value&lt;br /&gt;
|-&lt;br /&gt;
| L || #Pointer || Load pointer&lt;br /&gt;
|-&lt;br /&gt;
| L || T || Timer&lt;br /&gt;
|-&lt;br /&gt;
| LC || T || Timer (BCD coded)&lt;br /&gt;
|-&lt;br /&gt;
| L || Z || Counter&lt;br /&gt;
|-&lt;br /&gt;
| LC || Z || Counter (BCD coded)&lt;br /&gt;
|-&lt;br /&gt;
| L || DBNO || Data block number&lt;br /&gt;
|-&lt;br /&gt;
| L || DBLG || Data block length&lt;br /&gt;
|-&lt;br /&gt;
| L || DINO || Instance data block number&lt;br /&gt;
|-&lt;br /&gt;
| L || DILG || Instance data block length&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Peripheral access instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| L ||style=&amp;quot;width: 5em&amp;quot;| PIB ||style=&amp;quot;width: 22em&amp;quot;| Load peripheral input byte&lt;br /&gt;
|-&lt;br /&gt;
| L || PIW || Load peripheral input word&lt;br /&gt;
|-&lt;br /&gt;
| L || PID || Load peripheral input double word&lt;br /&gt;
|-&lt;br /&gt;
| T || PQB || Transfer peripheral output byte&lt;br /&gt;
|-&lt;br /&gt;
| T || PQW || Transfer peripheral output word&lt;br /&gt;
|-&lt;br /&gt;
| T || PQD || Transfer peripheral output double word&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Accumulator instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| PUSH ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Push accumulators upwards&lt;br /&gt;
|-&lt;br /&gt;
| POP ||  || Push accumulators downwards&lt;br /&gt;
|-&lt;br /&gt;
| ENT ||  || Push accumulators (without A1) A2-&amp;gt;A3, A3-&amp;gt;A4&lt;br /&gt;
|-&lt;br /&gt;
| LEAVE ||  || Push accumulators (without A1) A4-&amp;gt;A3, A3-&amp;gt;A2&lt;br /&gt;
|-&lt;br /&gt;
| TAK ||  || Change ACCU1 with ACCU2&lt;br /&gt;
|-&lt;br /&gt;
| CAW ||  || Change ACCU1 bytes 0 and 1&lt;br /&gt;
|-&lt;br /&gt;
| CAD ||  || Change ACCU1 bytes 0 and 3, 1 and 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Shift and rotating instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| SLW ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 23em&amp;quot;| Shift ACCU1-L left (word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SLD ||  || Shift ACCU1 left (double word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SRW ||  || Shift ACCU1-L right (word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SRD ||  || Shift ACCU1 right (double word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SSI ||  || Shift ACCU1-L right (word shift with sign)&lt;br /&gt;
|-&lt;br /&gt;
| SSD ||  || Shift ACCU1 right (double word shift with sign)&lt;br /&gt;
|-&lt;br /&gt;
| RLD ||  || Rotate ACCU1 left (double word)&lt;br /&gt;
|-&lt;br /&gt;
| RLDA ||  || Rotate ACCU1 left through CC1&lt;br /&gt;
|-&lt;br /&gt;
| RRDA ||  || Rotate ACCU1 right through CC1&lt;br /&gt;
|-&lt;br /&gt;
| RRD ||  || Rotate ACCU1 right (double word)&lt;br /&gt;
|-&lt;br /&gt;
|  || const || Number of places to shift/rotate&lt;br /&gt;
|-&lt;br /&gt;
|  || - || Number of places to shift/rotate located in ACCU2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Timer instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| SP ||style=&amp;quot;width: 5em&amp;quot;| T ||style=&amp;quot;width: 22em&amp;quot;| Start as impulse&lt;br /&gt;
|-&lt;br /&gt;
| SE || T || Start as extendet impulse&lt;br /&gt;
|-&lt;br /&gt;
| SD || T || Start as ON-delay&lt;br /&gt;
|-&lt;br /&gt;
| SS || T || Start as saving ON-delay&lt;br /&gt;
|-&lt;br /&gt;
| SF || T || Start as OFF-delay&lt;br /&gt;
|-&lt;br /&gt;
| R || T || Reset timer&lt;br /&gt;
|-&lt;br /&gt;
| FR || T || Enable timer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Counter instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| CU ||style=&amp;quot;width: 5em&amp;quot;| C ||style=&amp;quot;width: 22em&amp;quot;| Count up (increment)&lt;br /&gt;
|-&lt;br /&gt;
| CD || C || Count down (decrement)&lt;br /&gt;
|-&lt;br /&gt;
| S || C || Set counter&lt;br /&gt;
|-&lt;br /&gt;
| R || C || Reset counter&lt;br /&gt;
|-&lt;br /&gt;
| FR || C || Enable counter&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Word instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| AW ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AND ACCU1-L (AND word)&lt;br /&gt;
|-&lt;br /&gt;
| AD ||  || AND ACCU1 (AND double word)&lt;br /&gt;
|-&lt;br /&gt;
| OW ||  || OR ACCU1-L (OR word)&lt;br /&gt;
|-&lt;br /&gt;
| OD ||  || OR ACCU1 (OR double word)&lt;br /&gt;
|-&lt;br /&gt;
| XOW ||  || Exclusive-OR ACCU (XOR word)&lt;br /&gt;
|-&lt;br /&gt;
| XOD ||  || Exclusive-OR ACCU (XOR double word)&lt;br /&gt;
|-&lt;br /&gt;
|  || const || with a word or double word constant&lt;br /&gt;
|-&lt;br /&gt;
|  || - || with ACCU2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Arithmetic instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| ==I ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Integer values equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;I ||  || Integer values unequal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;I ||  || Integer values greater&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=I ||  || Integer values greather or equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;I ||  || Integer values less&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=I ||  || Integer values less or equal&lt;br /&gt;
|-&lt;br /&gt;
| ==D ||  || Double integer values equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;D ||  || Double integer values unequal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;D ||  || Double integer values greater&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=D ||  || Double integer values greater or equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;D ||  || Double integer values less&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=D ||  || Double integer values less or equal&lt;br /&gt;
|-&lt;br /&gt;
| ==R ||  || Real values equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;R ||  || Real values unequal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;R ||  || Real values greater&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=R ||  || Real values greater or equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;R ||  || Real values less&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=R ||  || Real values less or equal&lt;br /&gt;
|-&lt;br /&gt;
| SIN ||  || Sine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| COS ||  || Cosine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| TAN ||  || Tangent of a real value&lt;br /&gt;
|-&lt;br /&gt;
| ASIN ||  || Arcsine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| ACOS ||  || Arccosine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| ATAN ||  || Arctangent of a real value&lt;br /&gt;
|-&lt;br /&gt;
| SQR ||  || Square a real value&lt;br /&gt;
|-&lt;br /&gt;
| SQRT ||  || Square root a real value&lt;br /&gt;
|-&lt;br /&gt;
| EXP ||  || e to the power of a real value&lt;br /&gt;
|-&lt;br /&gt;
| LN ||  || Natural logarithm of a real value&lt;br /&gt;
|-&lt;br /&gt;
| +I ||  || Integer addition&lt;br /&gt;
|-&lt;br /&gt;
| -I ||  || Integer subtraction&lt;br /&gt;
|-&lt;br /&gt;
| *I ||  || Integer multiplication&lt;br /&gt;
|-&lt;br /&gt;
| /I ||  || Integer division&lt;br /&gt;
|-&lt;br /&gt;
| +D ||  || Double-integer addition&lt;br /&gt;
|-&lt;br /&gt;
| -D ||  || Double-integer subtraction&lt;br /&gt;
|-&lt;br /&gt;
| *D ||  || Double-integer multiplication&lt;br /&gt;
|-&lt;br /&gt;
| /D ||  || Double-integer division&lt;br /&gt;
|-&lt;br /&gt;
| +R ||  || Real addition&lt;br /&gt;
|-&lt;br /&gt;
| -R ||  || Real subtraction&lt;br /&gt;
|-&lt;br /&gt;
| *R ||  || Real multiplication&lt;br /&gt;
|-&lt;br /&gt;
| /R ||  || Real division&lt;br /&gt;
|-&lt;br /&gt;
| MOD ||  || Double integer division (modulo)&lt;br /&gt;
|-&lt;br /&gt;
| + || const || Add a constant&lt;br /&gt;
|-&lt;br /&gt;
| +P# || const || Add a pointer&lt;br /&gt;
|-&lt;br /&gt;
| DEC ||  || dekrement ACCU1-LL (one byte)&lt;br /&gt;
|-&lt;br /&gt;
| INC ||  || inkrement ACCU1-LL (one byte)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Data type conversion instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| ITD ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Convert integer to double integer&lt;br /&gt;
|-&lt;br /&gt;
| ITB ||  || Convert integer to BCD&lt;br /&gt;
|-&lt;br /&gt;
| DTB ||  || Convert double integer to BCD&lt;br /&gt;
|-&lt;br /&gt;
| DTR ||  || Convert double integer to real&lt;br /&gt;
|-&lt;br /&gt;
| BTI ||  || Convert BCD to integer&lt;br /&gt;
|-&lt;br /&gt;
| BTD ||  || Convert BCD to double integer&lt;br /&gt;
|-&lt;br /&gt;
| RND ||  || Convert real to double integer (round)&lt;br /&gt;
|-&lt;br /&gt;
| RND+ ||  || Convert real to double integer (round up)&lt;br /&gt;
|-&lt;br /&gt;
| RND- ||  || Convert real to double integer (round down)&lt;br /&gt;
|-&lt;br /&gt;
| TRUNC ||  || Convert real to double integer (truncate)&lt;br /&gt;
|-&lt;br /&gt;
| INVI ||  || Invert ACCU1-L (integer)&lt;br /&gt;
|-&lt;br /&gt;
| INVD ||  || Invert ACCU1 (double integer)&lt;br /&gt;
|-&lt;br /&gt;
| NEGI ||  || Negate ACCU1-L (integer)&lt;br /&gt;
|-&lt;br /&gt;
| NEGD ||  || Negate ACCU1 (double integer)&lt;br /&gt;
|-&lt;br /&gt;
| NEGR ||  || Negate ACCU1 (real)&lt;br /&gt;
|-&lt;br /&gt;
| ABS ||  || Absolute value (real)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Jump instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| JU ||style=&amp;quot;width: 5em&amp;quot;| goal ||style=&amp;quot;width: 26em&amp;quot;| Jump unconditional&lt;br /&gt;
|-&lt;br /&gt;
| JC || goal || Jump if RLO = 1&lt;br /&gt;
|-&lt;br /&gt;
| JCB || goal || Jump if RLO = 1 (save RLO)&lt;br /&gt;
|-&lt;br /&gt;
| JCN || goal || Jump if RLO = 0&lt;br /&gt;
|-&lt;br /&gt;
| JNB || goal || Jump if RLO = 0 (save RLO)&lt;br /&gt;
|-&lt;br /&gt;
| JBI || goal || Jump if BR = 1&lt;br /&gt;
|-&lt;br /&gt;
| JNBI || goal || Jump if BR = 0&lt;br /&gt;
|-&lt;br /&gt;
| JZ || goal || Jump if compare result = 0&lt;br /&gt;
|-&lt;br /&gt;
| JN || goal || Jump if compare result != 0&lt;br /&gt;
|-&lt;br /&gt;
| JP || goal || Jump if compare result &amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| JPZ || goal || Jump if compare result &amp;gt;= 0&lt;br /&gt;
|-&lt;br /&gt;
| JM || goal || Jump if compare result &amp;lt; 0&lt;br /&gt;
|-&lt;br /&gt;
| JMZ || goal || Jump if compare result &amp;lt;= 0&lt;br /&gt;
|-&lt;br /&gt;
| JUO || goal || Jump if compare result &amp;quot;Unordered Math Instruction&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| JO || goal || Jump on overflow&lt;br /&gt;
|-&lt;br /&gt;
| JOS || goal || Jump on saving overflow&lt;br /&gt;
|-&lt;br /&gt;
| JL || goal || Jump distributor&lt;br /&gt;
|-&lt;br /&gt;
| LOOP || goal || Loop programming (decrement ACCU1-L and jump if != 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Block call instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| CALL FB ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 26em&amp;quot;| Unconditional call of an FB with parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CALL FC ||  || Unconditional call of an FC with parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CALL SFB ||  || Unconditional call of an SFB with parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CALL SFC ||  || Unconditional call of an SFC with parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| UC FB ||  || Unconditional call of an FB without parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CC FB ||  || Conditional call of an FB without parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| UC FC ||  || Unconditional call of an FC without parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CC FC ||  || Conditional call of an FC without parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| BEU ||  || End block unconditionally&lt;br /&gt;
|-&lt;br /&gt;
| BEC ||  || End block conditionally (RLO = 1)&lt;br /&gt;
|-&lt;br /&gt;
| BE ||  || End block&lt;br /&gt;
|-&lt;br /&gt;
| OPN || ||&lt;br /&gt;
|-&lt;br /&gt;
|  || DB || Open data block&lt;br /&gt;
|-&lt;br /&gt;
|  || DI || Open instance data block&lt;br /&gt;
|-&lt;br /&gt;
| TDB ||  || Exchange data block registers&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Indirect adressing instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| LAR1/LAR2 ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Load AR1/AR2&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || with memory double word&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || with local data double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || with datablock double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || with instance data block double word&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 || - || Load AR1 with ACCU1&lt;br /&gt;
|-&lt;br /&gt;
| LAR2 || - || Laod AR2 with ACCU1&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 || AR2 || Load AR1 with AR2&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 || P# || Load AR1 with pointer&lt;br /&gt;
|-&lt;br /&gt;
| LAR2 || P# || Load AR2 with pointer&lt;br /&gt;
|-&lt;br /&gt;
| TAR1/TAR2 ||  || Transfer in AR1/AR2&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || in memory double word&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || in local data double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || in datablock double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || in instance data block double word&lt;br /&gt;
|-&lt;br /&gt;
| TAR1 || - || Transfer AR1 in ACCU1&lt;br /&gt;
|-&lt;br /&gt;
| TAR2 || - || Transfer AR2 in ACCU1&lt;br /&gt;
|-&lt;br /&gt;
| TAR1 || AR2 || Transfer AR1 in AR2&lt;br /&gt;
|-&lt;br /&gt;
| TAR ||  || Swap AR1 with AR2&lt;br /&gt;
|-&lt;br /&gt;
| +AR1 ||  || Add ACCU1 to AR1&lt;br /&gt;
|-&lt;br /&gt;
| +AR2 ||  || Add ACCU1 to AR2&lt;br /&gt;
|-&lt;br /&gt;
| +AR1 || P# || Add pointer to AR1&lt;br /&gt;
|-&lt;br /&gt;
| +AR2 || P# || Add pointer to AR2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Program display and null operation instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| NOP ||style=&amp;quot;width: 5em&amp;quot;| 0 ||style=&amp;quot;width: 22em&amp;quot;| Null operation instruction&lt;br /&gt;
|-&lt;br /&gt;
| NOP || 1 || Null operation instruction&lt;br /&gt;
|-&lt;br /&gt;
| BLD || const || Program display instruction (null operation)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Layout of &#039;&#039;S7-SoftPLC&#039;&#039; memory&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The memory of &#039;&#039;S7-SoftPLC 315&#039;&#039; and &#039;&#039;S7-SoftPLC 416&#039;&#039; is compatible to the memory of SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;-control S7-315 or S7-416.&lt;br /&gt;
&lt;br /&gt;
Please note, that the low-order byte has to be interchanged with the high-order byte when accessing this memory with Windows programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Layout of SoftPLC system data&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The layout of the system data in the system data is compatible to the system data of SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;-control S7-315 or S7-416.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated organisation blocks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The organisation blocks, listed in the chart below, are executed, if they are programmed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! OB no !! Short Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:14em&amp;quot;| OB 1 ||style=&amp;quot;width:14em&amp;quot;| Main programm&lt;br /&gt;
|-&lt;br /&gt;
| OB 10 – OB 17 || Time alarm&lt;br /&gt;
|-&lt;br /&gt;
| OB 20 – OB 23 || Delay alarm&lt;br /&gt;
|-&lt;br /&gt;
| OB 30 – OB 38 || Time blocks (cyclic call)&lt;br /&gt;
|-&lt;br /&gt;
| OB 80 – OB 87 || Error blocks&lt;br /&gt;
|-&lt;br /&gt;
| OB 90 || Background execution&lt;br /&gt;
|-&lt;br /&gt;
| OB 100/OB 101 || Warm or hot restart&lt;br /&gt;
|-&lt;br /&gt;
| OB 121/OB 122 || Programming faults&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated system functions&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
All system functions (SFC) relevant for a Software PLC are integrated in &#039;&#039;S7-SoftPLC&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The chart below shows the available SFCs(in numeric listing)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! SFC no !! SF name !! Short Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:7em&amp;quot;| SFC 0 ||style=&amp;quot;width:8em&amp;quot;| SET_CLK || Set system clock&lt;br /&gt;
|-&lt;br /&gt;
| SFC 1 || READ_CLK || Read system clock&lt;br /&gt;
|-&lt;br /&gt;
| SFC 5  (3) || GADR_LGC || Detect the logic basis address of a component&lt;br /&gt;
|-&lt;br /&gt;
| SFC 6 || RD_SINFO || Read out start information of actual OBs&lt;br /&gt;
|-&lt;br /&gt;
| SFC 13 (1) || DPNRM_DG || Slave-Diagnosis of a DP-slave&lt;br /&gt;
|-&lt;br /&gt;
| SFC 14 (2) || DPRD_DAT || Read consistent data of a DP-norm slave&lt;br /&gt;
|-&lt;br /&gt;
| SFC 15 (2) || DPWR_DAT || Write data consistent on DP-norm slave&lt;br /&gt;
|-&lt;br /&gt;
| SFC 20 || BLKMOV || Copy PLC-variable in target-area&lt;br /&gt;
|-&lt;br /&gt;
| SFC 21 || FILL || Preoccupy PLC-variable in target-area&lt;br /&gt;
|-&lt;br /&gt;
| SFC 22 || CREAT_DB || Create data block&lt;br /&gt;
|-&lt;br /&gt;
| SFC 23 || DEL_DB || Delete data block&lt;br /&gt;
|-&lt;br /&gt;
| SFC 24 || TEST_DB || Test attributes of a data block&lt;br /&gt;
|-&lt;br /&gt;
| SFC 25 || COMPRESS || Compress load memory&lt;br /&gt;
|-&lt;br /&gt;
| SFC 28 || SET_TINT || Set time alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 29 || CAN_TINT || Stop time alarm (do not execute)&lt;br /&gt;
|-&lt;br /&gt;
| SFC 30 || ACT_TINT || Enable time alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 31 || QRY_TINT || Status of time alarm &lt;br /&gt;
|-&lt;br /&gt;
| SFC 32 || SRT_DINT || Start delay alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 33 || CAN_DINT || Stop delay alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 34 || QRY_DINT || Status query of delay alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 36 || MSK_FLT || Mask a synchron error occurrence&lt;br /&gt;
|-&lt;br /&gt;
| SFC 37 || DMSK_FLT || Demask a synchron error occurrence&lt;br /&gt;
|-&lt;br /&gt;
| SFC 38 || READ_ERR || Read out the occurrence status register&lt;br /&gt;
|-&lt;br /&gt;
| SFC 39 || DIS_IRT || Locking the asynchron and alarm error processing&lt;br /&gt;
|-&lt;br /&gt;
| SFC 40 || EN_IRT || Enable the asynchron and alarm error processing&lt;br /&gt;
|-&lt;br /&gt;
| SFC 41 || DIS_AIRT || Delay high-priority asynchron and alarm error processing&lt;br /&gt;
|-&lt;br /&gt;
| SFC 42 || EN_AIRT || Enable high-priority asynchron and alarm error processing&lt;br /&gt;
|-&lt;br /&gt;
| SFC 43 || RE_TRIGR || Retrigger the Watchdog&lt;br /&gt;
|-&lt;br /&gt;
| SFC 46 || STP || CPU operating state STOP&lt;br /&gt;
|-&lt;br /&gt;
| SFC 49 (3) || LGC_GADR || Detect the solt of a logic address&lt;br /&gt;
|-&lt;br /&gt;
| SFC 50 (3) || RD_LAGADR || Detect all logic addresses of a component&lt;br /&gt;
|-&lt;br /&gt;
| SFC 51 || RDSYST || Read out system status list (SSL)&lt;br /&gt;
|-&lt;br /&gt;
| SFC 64 || TIME_TCK || Timer Tick&lt;br /&gt;
|-&lt;br /&gt;
| SFC 81 || UBLKMOV || Block Move, that can not be stopped&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(1)The SFC 13 is available only, when the driver Cifcfg.dll is loaded. Furthermore it can only return valid results, if the PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; configuration has been created via the &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; hardware configuration or the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration. This is only possible when using the driver CIFCFG.DLL.&lt;br /&gt;
&lt;br /&gt;
(2)The SFC 14 and SFC 15 are available only, if they are loaded via the driver CIF30D0.DLL or the driver CIFCFG.DLL.&lt;br /&gt;
&lt;br /&gt;
(3)The SFCs can only return valid results, if the PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 configuration has been created via the &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration or the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration. This is only possible when using the driver CIFCFG.DLL.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated system blocks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The system blocks (SFB) relevant for a software PLC are integrated in &#039;&#039;S7-SoftPLC&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The following system function blocks are supported:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! SFB no !! SFB name !! Short Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:7em&amp;quot;| SFB 0 ||style=&amp;quot;width:7em&amp;quot;| CTU || Count up&lt;br /&gt;
|-&lt;br /&gt;
| SFB 1 || CTD || Count down&lt;br /&gt;
|-&lt;br /&gt;
| SFB 2 || CTUD || Count up and down&lt;br /&gt;
|-&lt;br /&gt;
| SFB 3 || TP || Generate pulse&lt;br /&gt;
|-&lt;br /&gt;
| SFB 4 || TON || Generate ON-delay&lt;br /&gt;
|-&lt;br /&gt;
| SFB 5 || TOF || Generate OFF-delay&lt;br /&gt;
|-&lt;br /&gt;
| SFB 32 || DRUM || Implement sequencer&lt;br /&gt;
|-&lt;br /&gt;
| SFB 52 (4) || RDREC_DP || Read data record&lt;br /&gt;
|-&lt;br /&gt;
| SFB 53 (4) || WRREC_DP || Write data record&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(4)The SFB 52 and SFB 53 are only available if the driver CIFCFG.DLL is loaded and the entry DPV1=1 is set.&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Instruction_set&amp;diff=1156</id>
		<title>S7-SoftPLC:Instruction set</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Instruction_set&amp;diff=1156"/>
		<updated>2013-01-23T11:59:02Z</updated>

		<summary type="html">&lt;p&gt;Jonas: /* Block call instructions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The programming language of the IBH&#039;&#039;softec&#039;&#039; &#039;&#039;S7-SoftPLC 315&#039;&#039;and &#039;&#039;S7-SoftPLC 416&#039;&#039; controls is STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 and can be made with the programming tools &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; or STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 from Siemens. The complete instruction set of the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 language is supported.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;S7-SoftPLC 315&#039;&#039; has the complete instruction set of the SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; S7-315 CPU.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;S7-SoftPLC 416&#039;&#039; has the complete instruction set of the SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; S7-416 CPU.&lt;br /&gt;
&lt;br /&gt;
== Bit logic instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Instruction !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| A ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AND with a scan to &amp;quot;1&amp;quot;“&lt;br /&gt;
|-&lt;br /&gt;
| AN ||  || AND with a scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| O ||  || OR with scan to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| ON ||  || OR with scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| X ||  || Exclusive-OR with a scan to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| XN ||  || Exclusive-OR with a scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|  || I || of an input&lt;br /&gt;
|-&lt;br /&gt;
|  || Q || of an output&lt;br /&gt;
|-&lt;br /&gt;
|  || M || of a memory&lt;br /&gt;
|-&lt;br /&gt;
|  || L || of a local data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || T || of a timer&lt;br /&gt;
|-&lt;br /&gt;
|  || C || of a counter&lt;br /&gt;
|-&lt;br /&gt;
|  || DBX || of a data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || DIX || of an instant data bit&lt;br /&gt;
|-&lt;br /&gt;
| ==0 ||  || result equal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;0 ||  || result unequal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;0 ||  || result greater than zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=0 ||  || result greater or equal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;0 ||  || result less than zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=0 ||  || result less or equal zero&lt;br /&gt;
|-&lt;br /&gt;
| UO ||  || invalid result&lt;br /&gt;
|-&lt;br /&gt;
| OV ||  || overflow&lt;br /&gt;
|-&lt;br /&gt;
| OS ||  || overflow (saving)&lt;br /&gt;
|-&lt;br /&gt;
| BR ||  || binary result&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other boolean logic instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| A( ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AND left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| AN( ||  || AND NOT left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| O( ||  || OR left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| ON( ||  || OR NOT left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| X( ||  || Exclusive OR left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| XN( ||  || Exclusive OR NOT left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| ) ||  || Right parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| O ||  || OR-ing AND operations &lt;br /&gt;
|-&lt;br /&gt;
| NOT ||  || Negate RLO&lt;br /&gt;
|-&lt;br /&gt;
| SET ||  || Set RLO to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| CLR ||  || Set RLO to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| SAVE ||  || Save RLO to the BR bit&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| = ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Assign value of RLO&lt;br /&gt;
|-&lt;br /&gt;
| S ||  || Set&lt;br /&gt;
|-&lt;br /&gt;
| R ||  || Reset&lt;br /&gt;
|-&lt;br /&gt;
| FP ||  || Positive edge detection&lt;br /&gt;
|-&lt;br /&gt;
| FN ||  || Negative edge detection&lt;br /&gt;
|-&lt;br /&gt;
|  || I || of an input bit&lt;br /&gt;
|-&lt;br /&gt;
|  || Q || of an output bit&lt;br /&gt;
|-&lt;br /&gt;
|  || M || of a memory bit&lt;br /&gt;
|-&lt;br /&gt;
|  || L || of a local data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || DBX || of a data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || DIX || of a instance data bit&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Master Control Relay ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| MCRA ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Activate MCR&lt;br /&gt;
|-&lt;br /&gt;
| MCRD ||  || Deactivate MCR&lt;br /&gt;
|-&lt;br /&gt;
| MCR( ||  || Open MCR zone&lt;br /&gt;
|-&lt;br /&gt;
| )MCR ||  || Close MCR zone&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Load / Transfer instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| L ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Load operand&lt;br /&gt;
|-&lt;br /&gt;
| T ||  || Transfer operand&lt;br /&gt;
|-&lt;br /&gt;
|  || IB || Input byte&lt;br /&gt;
|-&lt;br /&gt;
|  || IW || Input word&lt;br /&gt;
|-&lt;br /&gt;
|  || ID || Input double word&lt;br /&gt;
|-&lt;br /&gt;
|  || QB || Output byte&lt;br /&gt;
|-&lt;br /&gt;
|  || QW || Output word&lt;br /&gt;
|-&lt;br /&gt;
|  || QD || Ouput double word&lt;br /&gt;
|-&lt;br /&gt;
|  || MB || Memory byte&lt;br /&gt;
|-&lt;br /&gt;
|  || MW || Memory word&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || Memory double word&lt;br /&gt;
|-&lt;br /&gt;
|  || LB || Local data byte&lt;br /&gt;
|-&lt;br /&gt;
|  || LW || Local data word&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || Local data double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBB || Data block byte&lt;br /&gt;
|-&lt;br /&gt;
|  || DBW || Data block word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || Data block double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DIB || Instance data block byte&lt;br /&gt;
|-&lt;br /&gt;
|  || DIW || Instance data block word&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || Instance data block double word&lt;br /&gt;
|-&lt;br /&gt;
|  || STW || Status word&lt;br /&gt;
|-&lt;br /&gt;
| L || const || Load constant value&lt;br /&gt;
|-&lt;br /&gt;
| L || #Pointer || Load pointer&lt;br /&gt;
|-&lt;br /&gt;
| L || T || Timer&lt;br /&gt;
|-&lt;br /&gt;
| LC || T || Timer (BCD coded)&lt;br /&gt;
|-&lt;br /&gt;
| L || Z || Counter&lt;br /&gt;
|-&lt;br /&gt;
| LC || Z || Counter (BCD coded)&lt;br /&gt;
|-&lt;br /&gt;
| L || DBNO || Data block number&lt;br /&gt;
|-&lt;br /&gt;
| L || DBLG || Data block length&lt;br /&gt;
|-&lt;br /&gt;
| L || DINO || Instance data block number&lt;br /&gt;
|-&lt;br /&gt;
| L || DILG || Instance data block length&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Peripheral access instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| L ||style=&amp;quot;width: 5em&amp;quot;| PIB ||style=&amp;quot;width: 22em&amp;quot;| Load peripheral input byte&lt;br /&gt;
|-&lt;br /&gt;
| L || PIW || Load peripheral input word&lt;br /&gt;
|-&lt;br /&gt;
| L || PID || Load peripheral input double word&lt;br /&gt;
|-&lt;br /&gt;
| T || PQB || Transfer peripheral output byte&lt;br /&gt;
|-&lt;br /&gt;
| T || PQW || Transfer peripheral output word&lt;br /&gt;
|-&lt;br /&gt;
| T || PQD || Transfer peripheral output double word&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Accumulator instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| PUSH ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Push accumulators upwards&lt;br /&gt;
|-&lt;br /&gt;
| POP ||  || Push accumulators downwards&lt;br /&gt;
|-&lt;br /&gt;
| ENT ||  || Push accumulators (without A1) A2-&amp;gt;A3, A3-&amp;gt;A4&lt;br /&gt;
|-&lt;br /&gt;
| LEAVE ||  || Push accumulators (without A1) A4-&amp;gt;A3, A3-&amp;gt;A2&lt;br /&gt;
|-&lt;br /&gt;
| TAK ||  || Change ACCU1 with ACCU2&lt;br /&gt;
|-&lt;br /&gt;
| CAW ||  || Change ACCU1 bytes 0 and 1&lt;br /&gt;
|-&lt;br /&gt;
| CAD ||  || Change ACCU1 bytes 0 and 3, 1 and 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Shift and rotating instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| SLW ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 23em&amp;quot;| Shift ACCU1-L left (word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SLD ||  || Shift ACCU1 left (double word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SRW ||  || Shift ACCU1-L right (word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SRD ||  || Shift ACCU1 right (double word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SSI ||  || Shift ACCU1-L right (word shift with sign)&lt;br /&gt;
|-&lt;br /&gt;
| SSD ||  || Shift ACCU1 right (double word shift with sign)&lt;br /&gt;
|-&lt;br /&gt;
| RLD ||  || Rotate ACCU1 left (double word)&lt;br /&gt;
|-&lt;br /&gt;
| RLDA ||  || Rotate ACCU1 left through CC1&lt;br /&gt;
|-&lt;br /&gt;
| RRDA ||  || Rotate ACCU1 right through CC1&lt;br /&gt;
|-&lt;br /&gt;
| RRD ||  || Rotate ACCU1 right (double word)&lt;br /&gt;
|-&lt;br /&gt;
|  || const || Number of places to shift/rotate&lt;br /&gt;
|-&lt;br /&gt;
|  || - || Number of places to shift/rotate located in ACCU2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Timer instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| SP ||style=&amp;quot;width: 5em&amp;quot;| T ||style=&amp;quot;width: 22em&amp;quot;| Start as impulse&lt;br /&gt;
|-&lt;br /&gt;
| SE || T || Start as extendet impulse&lt;br /&gt;
|-&lt;br /&gt;
| SD || T || Start as ON-delay&lt;br /&gt;
|-&lt;br /&gt;
| SS || T || Start as saving ON-delay&lt;br /&gt;
|-&lt;br /&gt;
| SF || T || Start as OFF-delay&lt;br /&gt;
|-&lt;br /&gt;
| R || T || Reset timer&lt;br /&gt;
|-&lt;br /&gt;
| FR || T || Enable timer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Counter instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| CU ||style=&amp;quot;width: 5em&amp;quot;| C ||style=&amp;quot;width: 22em&amp;quot;| Count up (increment)&lt;br /&gt;
|-&lt;br /&gt;
| CD || C || Count down (decrement)&lt;br /&gt;
|-&lt;br /&gt;
| S || C || Set counter&lt;br /&gt;
|-&lt;br /&gt;
| R || C || Reset counter&lt;br /&gt;
|-&lt;br /&gt;
| FR || C || Enable counter&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Word instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| AW ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AND ACCU1-L (AND word)&lt;br /&gt;
|-&lt;br /&gt;
| AD ||  || AND ACCU1 (AND double word)&lt;br /&gt;
|-&lt;br /&gt;
| OW ||  || OR ACCU1-L (OR word)&lt;br /&gt;
|-&lt;br /&gt;
| OD ||  || OR ACCU1 (OR double word)&lt;br /&gt;
|-&lt;br /&gt;
| XOW ||  || Exclusive-OR ACCU (XOR word)&lt;br /&gt;
|-&lt;br /&gt;
| XOD ||  || Exclusive-OR ACCU (XOR double word)&lt;br /&gt;
|-&lt;br /&gt;
|  || const || with a word or double word constant&lt;br /&gt;
|-&lt;br /&gt;
|  || - || with ACCU2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Arithmetic instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| ==I ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Integer values equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;I ||  || Integer values unequal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;I ||  || Integer values greater&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=I ||  || Integer values greather or equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;I ||  || Integer values less&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=I ||  || Integer values less or equal&lt;br /&gt;
|-&lt;br /&gt;
| ==D ||  || Double integer values equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;D ||  || Double integer values unequal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;D ||  || Double integer values greater&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=D ||  || Double integer values greater or equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;D ||  || Double integer values less&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=D ||  || Double integer values less or equal&lt;br /&gt;
|-&lt;br /&gt;
| ==R ||  || Real values equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;R ||  || Real values unequal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;R ||  || Real values greater&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=R ||  || Real values greater or equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;R ||  || Real values less&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=R ||  || Real values less or equal&lt;br /&gt;
|-&lt;br /&gt;
| SIN ||  || Sine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| COS ||  || Cosine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| TAN ||  || Tangent of a real value&lt;br /&gt;
|-&lt;br /&gt;
| ASIN ||  || Arcsine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| ACOS ||  || Arccosine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| ATAN ||  || Arctangent of a real value&lt;br /&gt;
|-&lt;br /&gt;
| SQR ||  || Square a real value&lt;br /&gt;
|-&lt;br /&gt;
| SQRT ||  || Square root a real value&lt;br /&gt;
|-&lt;br /&gt;
| EXP ||  || e to the power of a real value&lt;br /&gt;
|-&lt;br /&gt;
| LN ||  || Natural logarithm of a real value&lt;br /&gt;
|-&lt;br /&gt;
| +I ||  || Integer addition&lt;br /&gt;
|-&lt;br /&gt;
| -I ||  || Integer subtraction&lt;br /&gt;
|-&lt;br /&gt;
| *I ||  || Integer multiplication&lt;br /&gt;
|-&lt;br /&gt;
| /I ||  || Integer division&lt;br /&gt;
|-&lt;br /&gt;
| +D ||  || Double-integer addition&lt;br /&gt;
|-&lt;br /&gt;
| -D ||  || Double-integer subtraction&lt;br /&gt;
|-&lt;br /&gt;
| *D ||  || Double-integer multiplication&lt;br /&gt;
|-&lt;br /&gt;
| /D ||  || Double-integer division&lt;br /&gt;
|-&lt;br /&gt;
| +R ||  || Real addition&lt;br /&gt;
|-&lt;br /&gt;
| -R ||  || Real subtraction&lt;br /&gt;
|-&lt;br /&gt;
| *R ||  || Real multiplication&lt;br /&gt;
|-&lt;br /&gt;
| /R ||  || Real division&lt;br /&gt;
|-&lt;br /&gt;
| MOD ||  || Double integer division (modulo)&lt;br /&gt;
|-&lt;br /&gt;
| + || const || Add a constant&lt;br /&gt;
|-&lt;br /&gt;
| +P# || const || Add a pointer&lt;br /&gt;
|-&lt;br /&gt;
| DEC ||  || dekrement ACCU1-LL (one byte)&lt;br /&gt;
|-&lt;br /&gt;
| INC ||  || inkrement ACCU1-LL (one byte)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Data type conversion instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| ITD ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Convert integer to double integer&lt;br /&gt;
|-&lt;br /&gt;
| ITB ||  || Convert integer to BCD&lt;br /&gt;
|-&lt;br /&gt;
| DTB ||  || Convert double integer to BCD&lt;br /&gt;
|-&lt;br /&gt;
| DTR ||  || Convert double integer to real&lt;br /&gt;
|-&lt;br /&gt;
| BTI ||  || Convert BCD to integer&lt;br /&gt;
|-&lt;br /&gt;
| BTD ||  || Convert BCD to double integer&lt;br /&gt;
|-&lt;br /&gt;
| RND ||  || Convert real to double integer (round)&lt;br /&gt;
|-&lt;br /&gt;
| RND+ ||  || Convert real to double integer (round up)&lt;br /&gt;
|-&lt;br /&gt;
| RND- ||  || Convert real to double integer (round down)&lt;br /&gt;
|-&lt;br /&gt;
| TRUNC ||  || Convert real to double integer (truncate)&lt;br /&gt;
|-&lt;br /&gt;
| INVI ||  || Invert ACCU1-L (integer)&lt;br /&gt;
|-&lt;br /&gt;
| INVD ||  || Invert ACCU1 (double integer)&lt;br /&gt;
|-&lt;br /&gt;
| NEGI ||  || Negate ACCU1-L (integer)&lt;br /&gt;
|-&lt;br /&gt;
| NEGD ||  || Negate ACCU1 (double integer)&lt;br /&gt;
|-&lt;br /&gt;
| NEGR ||  || Negate ACCU1 (real)&lt;br /&gt;
|-&lt;br /&gt;
| ABS ||  || Absolute value (real)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Jump instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| JU ||style=&amp;quot;width: 5em&amp;quot;| goal ||style=&amp;quot;width: 26em&amp;quot;| Jump unconditional&lt;br /&gt;
|-&lt;br /&gt;
| JC || goal || Jump if RLO = 1&lt;br /&gt;
|-&lt;br /&gt;
| JCB || goal || Jump if RLO = 1 (save RLO)&lt;br /&gt;
|-&lt;br /&gt;
| JCN || goal || Jump if RLO = 0&lt;br /&gt;
|-&lt;br /&gt;
| JNB || goal || Jump if RLO = 0 (save RLO)&lt;br /&gt;
|-&lt;br /&gt;
| JBI || goal || Jump if BR = 1&lt;br /&gt;
|-&lt;br /&gt;
| JNBI || goal || Jump if BR = 0&lt;br /&gt;
|-&lt;br /&gt;
| JZ || goal || Jump if compare result = 0&lt;br /&gt;
|-&lt;br /&gt;
| JN || goal || Jump if compare result != 0&lt;br /&gt;
|-&lt;br /&gt;
| JP || goal || Jump if compare result &amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| JPZ || goal || Jump if compare result &amp;gt;= 0&lt;br /&gt;
|-&lt;br /&gt;
| JM || goal || Jump if compare result &amp;lt; 0&lt;br /&gt;
|-&lt;br /&gt;
| JMZ || goal || Jump if compare result &amp;lt;= 0&lt;br /&gt;
|-&lt;br /&gt;
| JUO || goal || Jump if compare result &amp;quot;Unordered Math Instruction&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| JO || goal || Jump on overflow&lt;br /&gt;
|-&lt;br /&gt;
| JOS || goal || Jump on saving overflow&lt;br /&gt;
|-&lt;br /&gt;
| JL || goal || Jump distributor&lt;br /&gt;
|-&lt;br /&gt;
| LOOP || goal || Loop programming (decrement ACCU1-L and jump if != 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Block call instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| CALL FB ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 26em&amp;quot;| Unconditional call of an FB with parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CALL FC ||  || Unconditional call of an FC with parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CALL SFB ||  || Unconditional call of an SFB with parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CALL SFC ||  || Unconditional call of an SFC with parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| UC FB ||  || Unconditional call of an FB without parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CC FB ||  || Conditional call of an FB without parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| UC FC ||  || Unconditional call of an FC without parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CC FC ||  || Conditional call of an FC without parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| BEU ||  || End block unconditionally&lt;br /&gt;
|-&lt;br /&gt;
| BEC ||  || End block conditionally (RLO = 1)&lt;br /&gt;
|-&lt;br /&gt;
| BE ||  || End block&lt;br /&gt;
|-&lt;br /&gt;
| OPN || ||&lt;br /&gt;
|-&lt;br /&gt;
|  || DB || Open data block&lt;br /&gt;
|-&lt;br /&gt;
|  || DI || Open instance data block&lt;br /&gt;
|-&lt;br /&gt;
| TDB ||  || Exchange data block registers&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Indirect adressing instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| LAR1/LAR2 ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Load AR1/AR2&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || with memory double word&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || with local data double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || with datablock double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || with instance data block double word&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 || - || Load AR1 with ACCU1&lt;br /&gt;
|-&lt;br /&gt;
| LAR2 || - || Laod AR2 with ACCU1&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 || AR2 || Load AR1 with AR2&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 || P# || Load AR1 with pointer&lt;br /&gt;
|-&lt;br /&gt;
| LAR2 || P# || Load AR2 with pointer&lt;br /&gt;
|-&lt;br /&gt;
| TAR1/TAR2 ||  || Transfer in AR1/AR2&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || in memory double word&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || in local data double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || in datablock double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || in instance data block double word&lt;br /&gt;
|-&lt;br /&gt;
| TAR1 || - || Transfer AR1 in ACCU1&lt;br /&gt;
|-&lt;br /&gt;
| TAR2 || - || Transfer AR2 in ACCU1&lt;br /&gt;
|-&lt;br /&gt;
| TAR1 || AR2 || Transfer AR1 in AR2&lt;br /&gt;
|-&lt;br /&gt;
| TAR ||  || Swap AR1 with AR2&lt;br /&gt;
|-&lt;br /&gt;
| +AR1 ||  || Add ACCU1 to AR1&lt;br /&gt;
|-&lt;br /&gt;
| +AR2 ||  || Add ACCU1 to AR2&lt;br /&gt;
|-&lt;br /&gt;
| +AR1 || P# || Add pointer to AR1&lt;br /&gt;
|-&lt;br /&gt;
| +AR2 || P# || Add pointer to AR2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Program display and null operation instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| NOP ||style=&amp;quot;width: 5em&amp;quot;| 0 ||style=&amp;quot;width: 22em&amp;quot;| Null operation instruction&lt;br /&gt;
|-&lt;br /&gt;
| NOP || 1 || Null operation instruction&lt;br /&gt;
|-&lt;br /&gt;
| BLD || const || Program display instruction (null operation)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Layout of &#039;&#039;S7-SoftPLC&#039;&#039; memory&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The memory of &#039;&#039;S7-SoftPLC 315&#039;&#039; and &#039;&#039;S7-SoftPLC 416&#039;&#039; is compatible to the memory of SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;-control S7-315 or S7-416.&lt;br /&gt;
&lt;br /&gt;
Please note, that the low-order byte has to be interchanged with the high-order byte when accessing this memory with Windows programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Layout of SoftPLC system data&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The layout of the system data in the system data is compatible to the system data of SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;-control S7-315 or S7-416.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated organisation blocks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The organisation blocks, listed in the chart below, are executed, if they are programmed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! OB no !! Short Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:14em&amp;quot;| OB 1 ||style=&amp;quot;width:14em&amp;quot;| Main programm&lt;br /&gt;
|-&lt;br /&gt;
| OB 10 – OB 17 || Time alarm&lt;br /&gt;
|-&lt;br /&gt;
| OB 20 – OB 23 || Delay alarm&lt;br /&gt;
|-&lt;br /&gt;
| OB 30 – OB 38 || Time blocks (cyclic call)&lt;br /&gt;
|-&lt;br /&gt;
| OB 80 – OB 87 || Error blocks&lt;br /&gt;
|-&lt;br /&gt;
| OB 90 || Background execution&lt;br /&gt;
|-&lt;br /&gt;
| OB 100/OB 101 || Warm or hot restart&lt;br /&gt;
|-&lt;br /&gt;
| OB 121/OB 122 || Programming faults&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated system functions&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
All system functions (SFC) relevant for a Software PLC are integrated in &#039;&#039;S7-SoftPLC&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The chart below shows the available SFCs(in numeric listing)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! SFC no !! SF name !! Short Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:7em&amp;quot;| SFC 0 ||style=&amp;quot;width:8em&amp;quot;| SET_CLK || Set system clock&lt;br /&gt;
|-&lt;br /&gt;
| SFC 1 || READ_CLK || Read system clock&lt;br /&gt;
|-&lt;br /&gt;
| SFC 5  (3) || GADR_LGC || Detect the logic basis address of a component&lt;br /&gt;
|-&lt;br /&gt;
| SFC 6 || RD_SINFO || Read out start information of actual OBs&lt;br /&gt;
|-&lt;br /&gt;
| SFC 13 (1) || DPNRM_DG || Slave-Diagnosis of a DP-slave&lt;br /&gt;
|-&lt;br /&gt;
| SFC 14 (2) || DPRD_DAT || Read consistent data of a DP-norm slave&lt;br /&gt;
|-&lt;br /&gt;
| SFC 15 (2) || DPWR_DAT || Write data consistent on DP-norm slave&lt;br /&gt;
|-&lt;br /&gt;
| SFC 20 || BLKMOV || Copy PLC-variable in target-area&lt;br /&gt;
|-&lt;br /&gt;
| SFC 21 || FILL || Preoccupy PLC-variable in target-area&lt;br /&gt;
|-&lt;br /&gt;
| SFC 22 || CREAT_DB || Create data block&lt;br /&gt;
|-&lt;br /&gt;
| SFC 23 || DEL_DB || Delete data block&lt;br /&gt;
|-&lt;br /&gt;
| SFC 24 || TEST_DB || Test attributes of a data block&lt;br /&gt;
|-&lt;br /&gt;
| SFC 25 || COMPRESS || Compress load memory&lt;br /&gt;
|-&lt;br /&gt;
| SFC 28 || SET_TINT || Set time alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 29 || CAN_TINT || Stop time alarm (do not execute)&lt;br /&gt;
|-&lt;br /&gt;
| SFC 30 || ACT_TINT || Enable time alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 31 || QRY_TINT || Status of time alarm &lt;br /&gt;
|-&lt;br /&gt;
| SFC 32 || SRT_DINT || Start delay alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 33 || CAN_DINT || Stop delay alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 34 || QRY_DINT || Status query of delay alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 36 || MSK_FLT || Mask a synchron error occurrence&lt;br /&gt;
|-&lt;br /&gt;
| SFC 37 || DMSK_FLT || Demask a synchron error occurrence&lt;br /&gt;
|-&lt;br /&gt;
| SFC 38 || READ_ERR || Read out the occurrence status register&lt;br /&gt;
|-&lt;br /&gt;
| SFC 39 || DIS_IRT || Locking the asynchron and alarm error processing&lt;br /&gt;
|-&lt;br /&gt;
| SFC 40 || EN_IRT || Enable the asynchron and alarm error processing&lt;br /&gt;
|-&lt;br /&gt;
| SFC 41 || DIS_AIRT || Delay high-priority asynchron and alarm error processing&lt;br /&gt;
|-&lt;br /&gt;
| SFC 42 || EN_AIRT || Enable high-priority asynchron and alarm error processing&lt;br /&gt;
|-&lt;br /&gt;
| SFC 43 || RE_TRIGR || Retrigger the Watchdog&lt;br /&gt;
|-&lt;br /&gt;
| SFC 46 || STP || CPU operating state STOP&lt;br /&gt;
|-&lt;br /&gt;
| SFC 49 (3) || LGC_GADR || Detect the solt of a logic address&lt;br /&gt;
|-&lt;br /&gt;
| SFC 50 (3) || RD_LAGADR || Detect all logic addresses of a component&lt;br /&gt;
|-&lt;br /&gt;
| SFC 51 || RDSYST || Read out system status list (SSL)&lt;br /&gt;
|-&lt;br /&gt;
| SFC 64 || TIME_TCK || Timer Tick&lt;br /&gt;
|-&lt;br /&gt;
| SFC 81 || UBLKMOV || Block Move, that can not be stopped&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(1)The SFC 13 is available only, when the driver Cifcfg.dll is loaded. Furthermore it can only return valid results, if the PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; configuration has been created via the &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; hardware configuration or the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration. This is only possible when using the driver CIFCFG.DLL.&lt;br /&gt;
&lt;br /&gt;
(2)The SFC 14 and SFC 15 are available only, if they are loaded via the driver CIF30D0.DLL or the driver CIFCFG.DLL.&lt;br /&gt;
&lt;br /&gt;
(3)The SFCs can only return valid results, if the PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 configuration has been created via the &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration or the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration. This is only possible when using the driver CIFCFG.DLL.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated system blocks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The system blocks (SFB) relevant for a software PLC are integrated in &#039;&#039;S7-SoftPLC&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The following system function blocks are supported:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! SFB no !! SFB name !! Short Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:7em&amp;quot;| SFB 0 ||style=&amp;quot;width:7em&amp;quot;| CTU || Count up&lt;br /&gt;
|-&lt;br /&gt;
| SFB 1 || CTD || Count down&lt;br /&gt;
|-&lt;br /&gt;
| SFB 2 || CTUD || Count up and down&lt;br /&gt;
|-&lt;br /&gt;
| SFB 3 || TP || Generate pulse&lt;br /&gt;
|-&lt;br /&gt;
| SFB 4 || TON || Generate ON-delay&lt;br /&gt;
|-&lt;br /&gt;
| SFB 5 || TOF || Generate OFF-delay&lt;br /&gt;
|-&lt;br /&gt;
| SFB 32 || DRUM || Implement sequencer&lt;br /&gt;
|-&lt;br /&gt;
| SFB 52 (4) || RDREC_DP || Read data record&lt;br /&gt;
|-&lt;br /&gt;
| SFB 53 (4) || WRREC_DP || Write data record&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(4)The SFB 52 and SFB 53 are only available if the driver CIFCFG.DLL is loaded and the entry DPV1=1 is set.&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Instruction_set&amp;diff=1155</id>
		<title>S7-SoftPLC:Instruction set</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Instruction_set&amp;diff=1155"/>
		<updated>2013-01-23T11:58:52Z</updated>

		<summary type="html">&lt;p&gt;Jonas: /* Block call instructions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The programming language of the IBH&#039;&#039;softec&#039;&#039; &#039;&#039;S7-SoftPLC 315&#039;&#039;and &#039;&#039;S7-SoftPLC 416&#039;&#039; controls is STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 and can be made with the programming tools &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; or STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 from Siemens. The complete instruction set of the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 language is supported.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;S7-SoftPLC 315&#039;&#039; has the complete instruction set of the SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; S7-315 CPU.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;S7-SoftPLC 416&#039;&#039; has the complete instruction set of the SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; S7-416 CPU.&lt;br /&gt;
&lt;br /&gt;
== Bit logic instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Instruction !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| A ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AND with a scan to &amp;quot;1&amp;quot;“&lt;br /&gt;
|-&lt;br /&gt;
| AN ||  || AND with a scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| O ||  || OR with scan to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| ON ||  || OR with scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| X ||  || Exclusive-OR with a scan to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| XN ||  || Exclusive-OR with a scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|  || I || of an input&lt;br /&gt;
|-&lt;br /&gt;
|  || Q || of an output&lt;br /&gt;
|-&lt;br /&gt;
|  || M || of a memory&lt;br /&gt;
|-&lt;br /&gt;
|  || L || of a local data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || T || of a timer&lt;br /&gt;
|-&lt;br /&gt;
|  || C || of a counter&lt;br /&gt;
|-&lt;br /&gt;
|  || DBX || of a data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || DIX || of an instant data bit&lt;br /&gt;
|-&lt;br /&gt;
| ==0 ||  || result equal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;0 ||  || result unequal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;0 ||  || result greater than zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=0 ||  || result greater or equal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;0 ||  || result less than zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=0 ||  || result less or equal zero&lt;br /&gt;
|-&lt;br /&gt;
| UO ||  || invalid result&lt;br /&gt;
|-&lt;br /&gt;
| OV ||  || overflow&lt;br /&gt;
|-&lt;br /&gt;
| OS ||  || overflow (saving)&lt;br /&gt;
|-&lt;br /&gt;
| BR ||  || binary result&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other boolean logic instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| A( ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AND left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| AN( ||  || AND NOT left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| O( ||  || OR left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| ON( ||  || OR NOT left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| X( ||  || Exclusive OR left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| XN( ||  || Exclusive OR NOT left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| ) ||  || Right parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| O ||  || OR-ing AND operations &lt;br /&gt;
|-&lt;br /&gt;
| NOT ||  || Negate RLO&lt;br /&gt;
|-&lt;br /&gt;
| SET ||  || Set RLO to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| CLR ||  || Set RLO to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| SAVE ||  || Save RLO to the BR bit&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| = ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Assign value of RLO&lt;br /&gt;
|-&lt;br /&gt;
| S ||  || Set&lt;br /&gt;
|-&lt;br /&gt;
| R ||  || Reset&lt;br /&gt;
|-&lt;br /&gt;
| FP ||  || Positive edge detection&lt;br /&gt;
|-&lt;br /&gt;
| FN ||  || Negative edge detection&lt;br /&gt;
|-&lt;br /&gt;
|  || I || of an input bit&lt;br /&gt;
|-&lt;br /&gt;
|  || Q || of an output bit&lt;br /&gt;
|-&lt;br /&gt;
|  || M || of a memory bit&lt;br /&gt;
|-&lt;br /&gt;
|  || L || of a local data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || DBX || of a data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || DIX || of a instance data bit&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Master Control Relay ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| MCRA ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Activate MCR&lt;br /&gt;
|-&lt;br /&gt;
| MCRD ||  || Deactivate MCR&lt;br /&gt;
|-&lt;br /&gt;
| MCR( ||  || Open MCR zone&lt;br /&gt;
|-&lt;br /&gt;
| )MCR ||  || Close MCR zone&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Load / Transfer instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| L ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Load operand&lt;br /&gt;
|-&lt;br /&gt;
| T ||  || Transfer operand&lt;br /&gt;
|-&lt;br /&gt;
|  || IB || Input byte&lt;br /&gt;
|-&lt;br /&gt;
|  || IW || Input word&lt;br /&gt;
|-&lt;br /&gt;
|  || ID || Input double word&lt;br /&gt;
|-&lt;br /&gt;
|  || QB || Output byte&lt;br /&gt;
|-&lt;br /&gt;
|  || QW || Output word&lt;br /&gt;
|-&lt;br /&gt;
|  || QD || Ouput double word&lt;br /&gt;
|-&lt;br /&gt;
|  || MB || Memory byte&lt;br /&gt;
|-&lt;br /&gt;
|  || MW || Memory word&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || Memory double word&lt;br /&gt;
|-&lt;br /&gt;
|  || LB || Local data byte&lt;br /&gt;
|-&lt;br /&gt;
|  || LW || Local data word&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || Local data double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBB || Data block byte&lt;br /&gt;
|-&lt;br /&gt;
|  || DBW || Data block word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || Data block double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DIB || Instance data block byte&lt;br /&gt;
|-&lt;br /&gt;
|  || DIW || Instance data block word&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || Instance data block double word&lt;br /&gt;
|-&lt;br /&gt;
|  || STW || Status word&lt;br /&gt;
|-&lt;br /&gt;
| L || const || Load constant value&lt;br /&gt;
|-&lt;br /&gt;
| L || #Pointer || Load pointer&lt;br /&gt;
|-&lt;br /&gt;
| L || T || Timer&lt;br /&gt;
|-&lt;br /&gt;
| LC || T || Timer (BCD coded)&lt;br /&gt;
|-&lt;br /&gt;
| L || Z || Counter&lt;br /&gt;
|-&lt;br /&gt;
| LC || Z || Counter (BCD coded)&lt;br /&gt;
|-&lt;br /&gt;
| L || DBNO || Data block number&lt;br /&gt;
|-&lt;br /&gt;
| L || DBLG || Data block length&lt;br /&gt;
|-&lt;br /&gt;
| L || DINO || Instance data block number&lt;br /&gt;
|-&lt;br /&gt;
| L || DILG || Instance data block length&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Peripheral access instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| L ||style=&amp;quot;width: 5em&amp;quot;| PIB ||style=&amp;quot;width: 22em&amp;quot;| Load peripheral input byte&lt;br /&gt;
|-&lt;br /&gt;
| L || PIW || Load peripheral input word&lt;br /&gt;
|-&lt;br /&gt;
| L || PID || Load peripheral input double word&lt;br /&gt;
|-&lt;br /&gt;
| T || PQB || Transfer peripheral output byte&lt;br /&gt;
|-&lt;br /&gt;
| T || PQW || Transfer peripheral output word&lt;br /&gt;
|-&lt;br /&gt;
| T || PQD || Transfer peripheral output double word&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Accumulator instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| PUSH ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Push accumulators upwards&lt;br /&gt;
|-&lt;br /&gt;
| POP ||  || Push accumulators downwards&lt;br /&gt;
|-&lt;br /&gt;
| ENT ||  || Push accumulators (without A1) A2-&amp;gt;A3, A3-&amp;gt;A4&lt;br /&gt;
|-&lt;br /&gt;
| LEAVE ||  || Push accumulators (without A1) A4-&amp;gt;A3, A3-&amp;gt;A2&lt;br /&gt;
|-&lt;br /&gt;
| TAK ||  || Change ACCU1 with ACCU2&lt;br /&gt;
|-&lt;br /&gt;
| CAW ||  || Change ACCU1 bytes 0 and 1&lt;br /&gt;
|-&lt;br /&gt;
| CAD ||  || Change ACCU1 bytes 0 and 3, 1 and 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Shift and rotating instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| SLW ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 23em&amp;quot;| Shift ACCU1-L left (word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SLD ||  || Shift ACCU1 left (double word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SRW ||  || Shift ACCU1-L right (word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SRD ||  || Shift ACCU1 right (double word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SSI ||  || Shift ACCU1-L right (word shift with sign)&lt;br /&gt;
|-&lt;br /&gt;
| SSD ||  || Shift ACCU1 right (double word shift with sign)&lt;br /&gt;
|-&lt;br /&gt;
| RLD ||  || Rotate ACCU1 left (double word)&lt;br /&gt;
|-&lt;br /&gt;
| RLDA ||  || Rotate ACCU1 left through CC1&lt;br /&gt;
|-&lt;br /&gt;
| RRDA ||  || Rotate ACCU1 right through CC1&lt;br /&gt;
|-&lt;br /&gt;
| RRD ||  || Rotate ACCU1 right (double word)&lt;br /&gt;
|-&lt;br /&gt;
|  || const || Number of places to shift/rotate&lt;br /&gt;
|-&lt;br /&gt;
|  || - || Number of places to shift/rotate located in ACCU2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Timer instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| SP ||style=&amp;quot;width: 5em&amp;quot;| T ||style=&amp;quot;width: 22em&amp;quot;| Start as impulse&lt;br /&gt;
|-&lt;br /&gt;
| SE || T || Start as extendet impulse&lt;br /&gt;
|-&lt;br /&gt;
| SD || T || Start as ON-delay&lt;br /&gt;
|-&lt;br /&gt;
| SS || T || Start as saving ON-delay&lt;br /&gt;
|-&lt;br /&gt;
| SF || T || Start as OFF-delay&lt;br /&gt;
|-&lt;br /&gt;
| R || T || Reset timer&lt;br /&gt;
|-&lt;br /&gt;
| FR || T || Enable timer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Counter instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| CU ||style=&amp;quot;width: 5em&amp;quot;| C ||style=&amp;quot;width: 22em&amp;quot;| Count up (increment)&lt;br /&gt;
|-&lt;br /&gt;
| CD || C || Count down (decrement)&lt;br /&gt;
|-&lt;br /&gt;
| S || C || Set counter&lt;br /&gt;
|-&lt;br /&gt;
| R || C || Reset counter&lt;br /&gt;
|-&lt;br /&gt;
| FR || C || Enable counter&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Word instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| AW ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AND ACCU1-L (AND word)&lt;br /&gt;
|-&lt;br /&gt;
| AD ||  || AND ACCU1 (AND double word)&lt;br /&gt;
|-&lt;br /&gt;
| OW ||  || OR ACCU1-L (OR word)&lt;br /&gt;
|-&lt;br /&gt;
| OD ||  || OR ACCU1 (OR double word)&lt;br /&gt;
|-&lt;br /&gt;
| XOW ||  || Exclusive-OR ACCU (XOR word)&lt;br /&gt;
|-&lt;br /&gt;
| XOD ||  || Exclusive-OR ACCU (XOR double word)&lt;br /&gt;
|-&lt;br /&gt;
|  || const || with a word or double word constant&lt;br /&gt;
|-&lt;br /&gt;
|  || - || with ACCU2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Arithmetic instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| ==I ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Integer values equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;I ||  || Integer values unequal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;I ||  || Integer values greater&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=I ||  || Integer values greather or equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;I ||  || Integer values less&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=I ||  || Integer values less or equal&lt;br /&gt;
|-&lt;br /&gt;
| ==D ||  || Double integer values equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;D ||  || Double integer values unequal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;D ||  || Double integer values greater&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=D ||  || Double integer values greater or equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;D ||  || Double integer values less&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=D ||  || Double integer values less or equal&lt;br /&gt;
|-&lt;br /&gt;
| ==R ||  || Real values equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;R ||  || Real values unequal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;R ||  || Real values greater&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=R ||  || Real values greater or equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;R ||  || Real values less&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=R ||  || Real values less or equal&lt;br /&gt;
|-&lt;br /&gt;
| SIN ||  || Sine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| COS ||  || Cosine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| TAN ||  || Tangent of a real value&lt;br /&gt;
|-&lt;br /&gt;
| ASIN ||  || Arcsine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| ACOS ||  || Arccosine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| ATAN ||  || Arctangent of a real value&lt;br /&gt;
|-&lt;br /&gt;
| SQR ||  || Square a real value&lt;br /&gt;
|-&lt;br /&gt;
| SQRT ||  || Square root a real value&lt;br /&gt;
|-&lt;br /&gt;
| EXP ||  || e to the power of a real value&lt;br /&gt;
|-&lt;br /&gt;
| LN ||  || Natural logarithm of a real value&lt;br /&gt;
|-&lt;br /&gt;
| +I ||  || Integer addition&lt;br /&gt;
|-&lt;br /&gt;
| -I ||  || Integer subtraction&lt;br /&gt;
|-&lt;br /&gt;
| *I ||  || Integer multiplication&lt;br /&gt;
|-&lt;br /&gt;
| /I ||  || Integer division&lt;br /&gt;
|-&lt;br /&gt;
| +D ||  || Double-integer addition&lt;br /&gt;
|-&lt;br /&gt;
| -D ||  || Double-integer subtraction&lt;br /&gt;
|-&lt;br /&gt;
| *D ||  || Double-integer multiplication&lt;br /&gt;
|-&lt;br /&gt;
| /D ||  || Double-integer division&lt;br /&gt;
|-&lt;br /&gt;
| +R ||  || Real addition&lt;br /&gt;
|-&lt;br /&gt;
| -R ||  || Real subtraction&lt;br /&gt;
|-&lt;br /&gt;
| *R ||  || Real multiplication&lt;br /&gt;
|-&lt;br /&gt;
| /R ||  || Real division&lt;br /&gt;
|-&lt;br /&gt;
| MOD ||  || Double integer division (modulo)&lt;br /&gt;
|-&lt;br /&gt;
| + || const || Add a constant&lt;br /&gt;
|-&lt;br /&gt;
| +P# || const || Add a pointer&lt;br /&gt;
|-&lt;br /&gt;
| DEC ||  || dekrement ACCU1-LL (one byte)&lt;br /&gt;
|-&lt;br /&gt;
| INC ||  || inkrement ACCU1-LL (one byte)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Data type conversion instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| ITD ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Convert integer to double integer&lt;br /&gt;
|-&lt;br /&gt;
| ITB ||  || Convert integer to BCD&lt;br /&gt;
|-&lt;br /&gt;
| DTB ||  || Convert double integer to BCD&lt;br /&gt;
|-&lt;br /&gt;
| DTR ||  || Convert double integer to real&lt;br /&gt;
|-&lt;br /&gt;
| BTI ||  || Convert BCD to integer&lt;br /&gt;
|-&lt;br /&gt;
| BTD ||  || Convert BCD to double integer&lt;br /&gt;
|-&lt;br /&gt;
| RND ||  || Convert real to double integer (round)&lt;br /&gt;
|-&lt;br /&gt;
| RND+ ||  || Convert real to double integer (round up)&lt;br /&gt;
|-&lt;br /&gt;
| RND- ||  || Convert real to double integer (round down)&lt;br /&gt;
|-&lt;br /&gt;
| TRUNC ||  || Convert real to double integer (truncate)&lt;br /&gt;
|-&lt;br /&gt;
| INVI ||  || Invert ACCU1-L (integer)&lt;br /&gt;
|-&lt;br /&gt;
| INVD ||  || Invert ACCU1 (double integer)&lt;br /&gt;
|-&lt;br /&gt;
| NEGI ||  || Negate ACCU1-L (integer)&lt;br /&gt;
|-&lt;br /&gt;
| NEGD ||  || Negate ACCU1 (double integer)&lt;br /&gt;
|-&lt;br /&gt;
| NEGR ||  || Negate ACCU1 (real)&lt;br /&gt;
|-&lt;br /&gt;
| ABS ||  || Absolute value (real)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Jump instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| JU ||style=&amp;quot;width: 5em&amp;quot;| goal ||style=&amp;quot;width: 26em&amp;quot;| Jump unconditional&lt;br /&gt;
|-&lt;br /&gt;
| JC || goal || Jump if RLO = 1&lt;br /&gt;
|-&lt;br /&gt;
| JCB || goal || Jump if RLO = 1 (save RLO)&lt;br /&gt;
|-&lt;br /&gt;
| JCN || goal || Jump if RLO = 0&lt;br /&gt;
|-&lt;br /&gt;
| JNB || goal || Jump if RLO = 0 (save RLO)&lt;br /&gt;
|-&lt;br /&gt;
| JBI || goal || Jump if BR = 1&lt;br /&gt;
|-&lt;br /&gt;
| JNBI || goal || Jump if BR = 0&lt;br /&gt;
|-&lt;br /&gt;
| JZ || goal || Jump if compare result = 0&lt;br /&gt;
|-&lt;br /&gt;
| JN || goal || Jump if compare result != 0&lt;br /&gt;
|-&lt;br /&gt;
| JP || goal || Jump if compare result &amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| JPZ || goal || Jump if compare result &amp;gt;= 0&lt;br /&gt;
|-&lt;br /&gt;
| JM || goal || Jump if compare result &amp;lt; 0&lt;br /&gt;
|-&lt;br /&gt;
| JMZ || goal || Jump if compare result &amp;lt;= 0&lt;br /&gt;
|-&lt;br /&gt;
| JUO || goal || Jump if compare result &amp;quot;Unordered Math Instruction&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| JO || goal || Jump on overflow&lt;br /&gt;
|-&lt;br /&gt;
| JOS || goal || Jump on saving overflow&lt;br /&gt;
|-&lt;br /&gt;
| JL || goal || Jump distributor&lt;br /&gt;
|-&lt;br /&gt;
| LOOP || goal || Loop programming (decrement ACCU1-L and jump if != 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Block call instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| CALL FB ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 24em&amp;quot;| Unconditional call of an FB with parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CALL FC ||  || Unconditional call of an FC with parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CALL SFB ||  || Unconditional call of an SFB with parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CALL SFC ||  || Unconditional call of an SFC with parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| UC FB ||  || Unconditional call of an FB without parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CC FB ||  || Conditional call of an FB without parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| UC FC ||  || Unconditional call of an FC without parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CC FC ||  || Conditional call of an FC without parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| BEU ||  || End block unconditionally&lt;br /&gt;
|-&lt;br /&gt;
| BEC ||  || End block conditionally (RLO = 1)&lt;br /&gt;
|-&lt;br /&gt;
| BE ||  || End block&lt;br /&gt;
|-&lt;br /&gt;
| OPN || ||&lt;br /&gt;
|-&lt;br /&gt;
|  || DB || Open data block&lt;br /&gt;
|-&lt;br /&gt;
|  || DI || Open instance data block&lt;br /&gt;
|-&lt;br /&gt;
| TDB ||  || Exchange data block registers&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Indirect adressing instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| LAR1/LAR2 ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Load AR1/AR2&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || with memory double word&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || with local data double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || with datablock double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || with instance data block double word&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 || - || Load AR1 with ACCU1&lt;br /&gt;
|-&lt;br /&gt;
| LAR2 || - || Laod AR2 with ACCU1&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 || AR2 || Load AR1 with AR2&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 || P# || Load AR1 with pointer&lt;br /&gt;
|-&lt;br /&gt;
| LAR2 || P# || Load AR2 with pointer&lt;br /&gt;
|-&lt;br /&gt;
| TAR1/TAR2 ||  || Transfer in AR1/AR2&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || in memory double word&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || in local data double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || in datablock double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || in instance data block double word&lt;br /&gt;
|-&lt;br /&gt;
| TAR1 || - || Transfer AR1 in ACCU1&lt;br /&gt;
|-&lt;br /&gt;
| TAR2 || - || Transfer AR2 in ACCU1&lt;br /&gt;
|-&lt;br /&gt;
| TAR1 || AR2 || Transfer AR1 in AR2&lt;br /&gt;
|-&lt;br /&gt;
| TAR ||  || Swap AR1 with AR2&lt;br /&gt;
|-&lt;br /&gt;
| +AR1 ||  || Add ACCU1 to AR1&lt;br /&gt;
|-&lt;br /&gt;
| +AR2 ||  || Add ACCU1 to AR2&lt;br /&gt;
|-&lt;br /&gt;
| +AR1 || P# || Add pointer to AR1&lt;br /&gt;
|-&lt;br /&gt;
| +AR2 || P# || Add pointer to AR2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Program display and null operation instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| NOP ||style=&amp;quot;width: 5em&amp;quot;| 0 ||style=&amp;quot;width: 22em&amp;quot;| Null operation instruction&lt;br /&gt;
|-&lt;br /&gt;
| NOP || 1 || Null operation instruction&lt;br /&gt;
|-&lt;br /&gt;
| BLD || const || Program display instruction (null operation)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Layout of &#039;&#039;S7-SoftPLC&#039;&#039; memory&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The memory of &#039;&#039;S7-SoftPLC 315&#039;&#039; and &#039;&#039;S7-SoftPLC 416&#039;&#039; is compatible to the memory of SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;-control S7-315 or S7-416.&lt;br /&gt;
&lt;br /&gt;
Please note, that the low-order byte has to be interchanged with the high-order byte when accessing this memory with Windows programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Layout of SoftPLC system data&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The layout of the system data in the system data is compatible to the system data of SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;-control S7-315 or S7-416.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated organisation blocks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The organisation blocks, listed in the chart below, are executed, if they are programmed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! OB no !! Short Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:14em&amp;quot;| OB 1 ||style=&amp;quot;width:14em&amp;quot;| Main programm&lt;br /&gt;
|-&lt;br /&gt;
| OB 10 – OB 17 || Time alarm&lt;br /&gt;
|-&lt;br /&gt;
| OB 20 – OB 23 || Delay alarm&lt;br /&gt;
|-&lt;br /&gt;
| OB 30 – OB 38 || Time blocks (cyclic call)&lt;br /&gt;
|-&lt;br /&gt;
| OB 80 – OB 87 || Error blocks&lt;br /&gt;
|-&lt;br /&gt;
| OB 90 || Background execution&lt;br /&gt;
|-&lt;br /&gt;
| OB 100/OB 101 || Warm or hot restart&lt;br /&gt;
|-&lt;br /&gt;
| OB 121/OB 122 || Programming faults&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated system functions&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
All system functions (SFC) relevant for a Software PLC are integrated in &#039;&#039;S7-SoftPLC&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The chart below shows the available SFCs(in numeric listing)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! SFC no !! SF name !! Short Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:7em&amp;quot;| SFC 0 ||style=&amp;quot;width:8em&amp;quot;| SET_CLK || Set system clock&lt;br /&gt;
|-&lt;br /&gt;
| SFC 1 || READ_CLK || Read system clock&lt;br /&gt;
|-&lt;br /&gt;
| SFC 5  (3) || GADR_LGC || Detect the logic basis address of a component&lt;br /&gt;
|-&lt;br /&gt;
| SFC 6 || RD_SINFO || Read out start information of actual OBs&lt;br /&gt;
|-&lt;br /&gt;
| SFC 13 (1) || DPNRM_DG || Slave-Diagnosis of a DP-slave&lt;br /&gt;
|-&lt;br /&gt;
| SFC 14 (2) || DPRD_DAT || Read consistent data of a DP-norm slave&lt;br /&gt;
|-&lt;br /&gt;
| SFC 15 (2) || DPWR_DAT || Write data consistent on DP-norm slave&lt;br /&gt;
|-&lt;br /&gt;
| SFC 20 || BLKMOV || Copy PLC-variable in target-area&lt;br /&gt;
|-&lt;br /&gt;
| SFC 21 || FILL || Preoccupy PLC-variable in target-area&lt;br /&gt;
|-&lt;br /&gt;
| SFC 22 || CREAT_DB || Create data block&lt;br /&gt;
|-&lt;br /&gt;
| SFC 23 || DEL_DB || Delete data block&lt;br /&gt;
|-&lt;br /&gt;
| SFC 24 || TEST_DB || Test attributes of a data block&lt;br /&gt;
|-&lt;br /&gt;
| SFC 25 || COMPRESS || Compress load memory&lt;br /&gt;
|-&lt;br /&gt;
| SFC 28 || SET_TINT || Set time alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 29 || CAN_TINT || Stop time alarm (do not execute)&lt;br /&gt;
|-&lt;br /&gt;
| SFC 30 || ACT_TINT || Enable time alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 31 || QRY_TINT || Status of time alarm &lt;br /&gt;
|-&lt;br /&gt;
| SFC 32 || SRT_DINT || Start delay alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 33 || CAN_DINT || Stop delay alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 34 || QRY_DINT || Status query of delay alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 36 || MSK_FLT || Mask a synchron error occurrence&lt;br /&gt;
|-&lt;br /&gt;
| SFC 37 || DMSK_FLT || Demask a synchron error occurrence&lt;br /&gt;
|-&lt;br /&gt;
| SFC 38 || READ_ERR || Read out the occurrence status register&lt;br /&gt;
|-&lt;br /&gt;
| SFC 39 || DIS_IRT || Locking the asynchron and alarm error processing&lt;br /&gt;
|-&lt;br /&gt;
| SFC 40 || EN_IRT || Enable the asynchron and alarm error processing&lt;br /&gt;
|-&lt;br /&gt;
| SFC 41 || DIS_AIRT || Delay high-priority asynchron and alarm error processing&lt;br /&gt;
|-&lt;br /&gt;
| SFC 42 || EN_AIRT || Enable high-priority asynchron and alarm error processing&lt;br /&gt;
|-&lt;br /&gt;
| SFC 43 || RE_TRIGR || Retrigger the Watchdog&lt;br /&gt;
|-&lt;br /&gt;
| SFC 46 || STP || CPU operating state STOP&lt;br /&gt;
|-&lt;br /&gt;
| SFC 49 (3) || LGC_GADR || Detect the solt of a logic address&lt;br /&gt;
|-&lt;br /&gt;
| SFC 50 (3) || RD_LAGADR || Detect all logic addresses of a component&lt;br /&gt;
|-&lt;br /&gt;
| SFC 51 || RDSYST || Read out system status list (SSL)&lt;br /&gt;
|-&lt;br /&gt;
| SFC 64 || TIME_TCK || Timer Tick&lt;br /&gt;
|-&lt;br /&gt;
| SFC 81 || UBLKMOV || Block Move, that can not be stopped&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(1)The SFC 13 is available only, when the driver Cifcfg.dll is loaded. Furthermore it can only return valid results, if the PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; configuration has been created via the &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; hardware configuration or the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration. This is only possible when using the driver CIFCFG.DLL.&lt;br /&gt;
&lt;br /&gt;
(2)The SFC 14 and SFC 15 are available only, if they are loaded via the driver CIF30D0.DLL or the driver CIFCFG.DLL.&lt;br /&gt;
&lt;br /&gt;
(3)The SFCs can only return valid results, if the PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 configuration has been created via the &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration or the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration. This is only possible when using the driver CIFCFG.DLL.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated system blocks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The system blocks (SFB) relevant for a software PLC are integrated in &#039;&#039;S7-SoftPLC&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The following system function blocks are supported:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! SFB no !! SFB name !! Short Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:7em&amp;quot;| SFB 0 ||style=&amp;quot;width:7em&amp;quot;| CTU || Count up&lt;br /&gt;
|-&lt;br /&gt;
| SFB 1 || CTD || Count down&lt;br /&gt;
|-&lt;br /&gt;
| SFB 2 || CTUD || Count up and down&lt;br /&gt;
|-&lt;br /&gt;
| SFB 3 || TP || Generate pulse&lt;br /&gt;
|-&lt;br /&gt;
| SFB 4 || TON || Generate ON-delay&lt;br /&gt;
|-&lt;br /&gt;
| SFB 5 || TOF || Generate OFF-delay&lt;br /&gt;
|-&lt;br /&gt;
| SFB 32 || DRUM || Implement sequencer&lt;br /&gt;
|-&lt;br /&gt;
| SFB 52 (4) || RDREC_DP || Read data record&lt;br /&gt;
|-&lt;br /&gt;
| SFB 53 (4) || WRREC_DP || Write data record&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(4)The SFB 52 and SFB 53 are only available if the driver CIFCFG.DLL is loaded and the entry DPV1=1 is set.&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Instruction_set&amp;diff=1154</id>
		<title>S7-SoftPLC:Instruction set</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Instruction_set&amp;diff=1154"/>
		<updated>2013-01-23T11:58:35Z</updated>

		<summary type="html">&lt;p&gt;Jonas: /* Block call instructions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The programming language of the IBH&#039;&#039;softec&#039;&#039; &#039;&#039;S7-SoftPLC 315&#039;&#039;and &#039;&#039;S7-SoftPLC 416&#039;&#039; controls is STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 and can be made with the programming tools &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; or STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 from Siemens. The complete instruction set of the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 language is supported.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;S7-SoftPLC 315&#039;&#039; has the complete instruction set of the SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; S7-315 CPU.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;S7-SoftPLC 416&#039;&#039; has the complete instruction set of the SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; S7-416 CPU.&lt;br /&gt;
&lt;br /&gt;
== Bit logic instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Instruction !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| A ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AND with a scan to &amp;quot;1&amp;quot;“&lt;br /&gt;
|-&lt;br /&gt;
| AN ||  || AND with a scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| O ||  || OR with scan to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| ON ||  || OR with scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| X ||  || Exclusive-OR with a scan to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| XN ||  || Exclusive-OR with a scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|  || I || of an input&lt;br /&gt;
|-&lt;br /&gt;
|  || Q || of an output&lt;br /&gt;
|-&lt;br /&gt;
|  || M || of a memory&lt;br /&gt;
|-&lt;br /&gt;
|  || L || of a local data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || T || of a timer&lt;br /&gt;
|-&lt;br /&gt;
|  || C || of a counter&lt;br /&gt;
|-&lt;br /&gt;
|  || DBX || of a data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || DIX || of an instant data bit&lt;br /&gt;
|-&lt;br /&gt;
| ==0 ||  || result equal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;0 ||  || result unequal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;0 ||  || result greater than zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=0 ||  || result greater or equal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;0 ||  || result less than zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=0 ||  || result less or equal zero&lt;br /&gt;
|-&lt;br /&gt;
| UO ||  || invalid result&lt;br /&gt;
|-&lt;br /&gt;
| OV ||  || overflow&lt;br /&gt;
|-&lt;br /&gt;
| OS ||  || overflow (saving)&lt;br /&gt;
|-&lt;br /&gt;
| BR ||  || binary result&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other boolean logic instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| A( ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AND left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| AN( ||  || AND NOT left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| O( ||  || OR left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| ON( ||  || OR NOT left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| X( ||  || Exclusive OR left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| XN( ||  || Exclusive OR NOT left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| ) ||  || Right parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| O ||  || OR-ing AND operations &lt;br /&gt;
|-&lt;br /&gt;
| NOT ||  || Negate RLO&lt;br /&gt;
|-&lt;br /&gt;
| SET ||  || Set RLO to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| CLR ||  || Set RLO to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| SAVE ||  || Save RLO to the BR bit&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| = ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Assign value of RLO&lt;br /&gt;
|-&lt;br /&gt;
| S ||  || Set&lt;br /&gt;
|-&lt;br /&gt;
| R ||  || Reset&lt;br /&gt;
|-&lt;br /&gt;
| FP ||  || Positive edge detection&lt;br /&gt;
|-&lt;br /&gt;
| FN ||  || Negative edge detection&lt;br /&gt;
|-&lt;br /&gt;
|  || I || of an input bit&lt;br /&gt;
|-&lt;br /&gt;
|  || Q || of an output bit&lt;br /&gt;
|-&lt;br /&gt;
|  || M || of a memory bit&lt;br /&gt;
|-&lt;br /&gt;
|  || L || of a local data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || DBX || of a data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || DIX || of a instance data bit&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Master Control Relay ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| MCRA ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Activate MCR&lt;br /&gt;
|-&lt;br /&gt;
| MCRD ||  || Deactivate MCR&lt;br /&gt;
|-&lt;br /&gt;
| MCR( ||  || Open MCR zone&lt;br /&gt;
|-&lt;br /&gt;
| )MCR ||  || Close MCR zone&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Load / Transfer instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| L ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Load operand&lt;br /&gt;
|-&lt;br /&gt;
| T ||  || Transfer operand&lt;br /&gt;
|-&lt;br /&gt;
|  || IB || Input byte&lt;br /&gt;
|-&lt;br /&gt;
|  || IW || Input word&lt;br /&gt;
|-&lt;br /&gt;
|  || ID || Input double word&lt;br /&gt;
|-&lt;br /&gt;
|  || QB || Output byte&lt;br /&gt;
|-&lt;br /&gt;
|  || QW || Output word&lt;br /&gt;
|-&lt;br /&gt;
|  || QD || Ouput double word&lt;br /&gt;
|-&lt;br /&gt;
|  || MB || Memory byte&lt;br /&gt;
|-&lt;br /&gt;
|  || MW || Memory word&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || Memory double word&lt;br /&gt;
|-&lt;br /&gt;
|  || LB || Local data byte&lt;br /&gt;
|-&lt;br /&gt;
|  || LW || Local data word&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || Local data double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBB || Data block byte&lt;br /&gt;
|-&lt;br /&gt;
|  || DBW || Data block word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || Data block double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DIB || Instance data block byte&lt;br /&gt;
|-&lt;br /&gt;
|  || DIW || Instance data block word&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || Instance data block double word&lt;br /&gt;
|-&lt;br /&gt;
|  || STW || Status word&lt;br /&gt;
|-&lt;br /&gt;
| L || const || Load constant value&lt;br /&gt;
|-&lt;br /&gt;
| L || #Pointer || Load pointer&lt;br /&gt;
|-&lt;br /&gt;
| L || T || Timer&lt;br /&gt;
|-&lt;br /&gt;
| LC || T || Timer (BCD coded)&lt;br /&gt;
|-&lt;br /&gt;
| L || Z || Counter&lt;br /&gt;
|-&lt;br /&gt;
| LC || Z || Counter (BCD coded)&lt;br /&gt;
|-&lt;br /&gt;
| L || DBNO || Data block number&lt;br /&gt;
|-&lt;br /&gt;
| L || DBLG || Data block length&lt;br /&gt;
|-&lt;br /&gt;
| L || DINO || Instance data block number&lt;br /&gt;
|-&lt;br /&gt;
| L || DILG || Instance data block length&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Peripheral access instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| L ||style=&amp;quot;width: 5em&amp;quot;| PIB ||style=&amp;quot;width: 22em&amp;quot;| Load peripheral input byte&lt;br /&gt;
|-&lt;br /&gt;
| L || PIW || Load peripheral input word&lt;br /&gt;
|-&lt;br /&gt;
| L || PID || Load peripheral input double word&lt;br /&gt;
|-&lt;br /&gt;
| T || PQB || Transfer peripheral output byte&lt;br /&gt;
|-&lt;br /&gt;
| T || PQW || Transfer peripheral output word&lt;br /&gt;
|-&lt;br /&gt;
| T || PQD || Transfer peripheral output double word&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Accumulator instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| PUSH ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Push accumulators upwards&lt;br /&gt;
|-&lt;br /&gt;
| POP ||  || Push accumulators downwards&lt;br /&gt;
|-&lt;br /&gt;
| ENT ||  || Push accumulators (without A1) A2-&amp;gt;A3, A3-&amp;gt;A4&lt;br /&gt;
|-&lt;br /&gt;
| LEAVE ||  || Push accumulators (without A1) A4-&amp;gt;A3, A3-&amp;gt;A2&lt;br /&gt;
|-&lt;br /&gt;
| TAK ||  || Change ACCU1 with ACCU2&lt;br /&gt;
|-&lt;br /&gt;
| CAW ||  || Change ACCU1 bytes 0 and 1&lt;br /&gt;
|-&lt;br /&gt;
| CAD ||  || Change ACCU1 bytes 0 and 3, 1 and 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Shift and rotating instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| SLW ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 23em&amp;quot;| Shift ACCU1-L left (word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SLD ||  || Shift ACCU1 left (double word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SRW ||  || Shift ACCU1-L right (word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SRD ||  || Shift ACCU1 right (double word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SSI ||  || Shift ACCU1-L right (word shift with sign)&lt;br /&gt;
|-&lt;br /&gt;
| SSD ||  || Shift ACCU1 right (double word shift with sign)&lt;br /&gt;
|-&lt;br /&gt;
| RLD ||  || Rotate ACCU1 left (double word)&lt;br /&gt;
|-&lt;br /&gt;
| RLDA ||  || Rotate ACCU1 left through CC1&lt;br /&gt;
|-&lt;br /&gt;
| RRDA ||  || Rotate ACCU1 right through CC1&lt;br /&gt;
|-&lt;br /&gt;
| RRD ||  || Rotate ACCU1 right (double word)&lt;br /&gt;
|-&lt;br /&gt;
|  || const || Number of places to shift/rotate&lt;br /&gt;
|-&lt;br /&gt;
|  || - || Number of places to shift/rotate located in ACCU2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Timer instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| SP ||style=&amp;quot;width: 5em&amp;quot;| T ||style=&amp;quot;width: 22em&amp;quot;| Start as impulse&lt;br /&gt;
|-&lt;br /&gt;
| SE || T || Start as extendet impulse&lt;br /&gt;
|-&lt;br /&gt;
| SD || T || Start as ON-delay&lt;br /&gt;
|-&lt;br /&gt;
| SS || T || Start as saving ON-delay&lt;br /&gt;
|-&lt;br /&gt;
| SF || T || Start as OFF-delay&lt;br /&gt;
|-&lt;br /&gt;
| R || T || Reset timer&lt;br /&gt;
|-&lt;br /&gt;
| FR || T || Enable timer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Counter instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| CU ||style=&amp;quot;width: 5em&amp;quot;| C ||style=&amp;quot;width: 22em&amp;quot;| Count up (increment)&lt;br /&gt;
|-&lt;br /&gt;
| CD || C || Count down (decrement)&lt;br /&gt;
|-&lt;br /&gt;
| S || C || Set counter&lt;br /&gt;
|-&lt;br /&gt;
| R || C || Reset counter&lt;br /&gt;
|-&lt;br /&gt;
| FR || C || Enable counter&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Word instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| AW ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AND ACCU1-L (AND word)&lt;br /&gt;
|-&lt;br /&gt;
| AD ||  || AND ACCU1 (AND double word)&lt;br /&gt;
|-&lt;br /&gt;
| OW ||  || OR ACCU1-L (OR word)&lt;br /&gt;
|-&lt;br /&gt;
| OD ||  || OR ACCU1 (OR double word)&lt;br /&gt;
|-&lt;br /&gt;
| XOW ||  || Exclusive-OR ACCU (XOR word)&lt;br /&gt;
|-&lt;br /&gt;
| XOD ||  || Exclusive-OR ACCU (XOR double word)&lt;br /&gt;
|-&lt;br /&gt;
|  || const || with a word or double word constant&lt;br /&gt;
|-&lt;br /&gt;
|  || - || with ACCU2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Arithmetic instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| ==I ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Integer values equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;I ||  || Integer values unequal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;I ||  || Integer values greater&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=I ||  || Integer values greather or equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;I ||  || Integer values less&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=I ||  || Integer values less or equal&lt;br /&gt;
|-&lt;br /&gt;
| ==D ||  || Double integer values equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;D ||  || Double integer values unequal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;D ||  || Double integer values greater&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=D ||  || Double integer values greater or equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;D ||  || Double integer values less&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=D ||  || Double integer values less or equal&lt;br /&gt;
|-&lt;br /&gt;
| ==R ||  || Real values equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;R ||  || Real values unequal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;R ||  || Real values greater&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=R ||  || Real values greater or equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;R ||  || Real values less&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=R ||  || Real values less or equal&lt;br /&gt;
|-&lt;br /&gt;
| SIN ||  || Sine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| COS ||  || Cosine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| TAN ||  || Tangent of a real value&lt;br /&gt;
|-&lt;br /&gt;
| ASIN ||  || Arcsine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| ACOS ||  || Arccosine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| ATAN ||  || Arctangent of a real value&lt;br /&gt;
|-&lt;br /&gt;
| SQR ||  || Square a real value&lt;br /&gt;
|-&lt;br /&gt;
| SQRT ||  || Square root a real value&lt;br /&gt;
|-&lt;br /&gt;
| EXP ||  || e to the power of a real value&lt;br /&gt;
|-&lt;br /&gt;
| LN ||  || Natural logarithm of a real value&lt;br /&gt;
|-&lt;br /&gt;
| +I ||  || Integer addition&lt;br /&gt;
|-&lt;br /&gt;
| -I ||  || Integer subtraction&lt;br /&gt;
|-&lt;br /&gt;
| *I ||  || Integer multiplication&lt;br /&gt;
|-&lt;br /&gt;
| /I ||  || Integer division&lt;br /&gt;
|-&lt;br /&gt;
| +D ||  || Double-integer addition&lt;br /&gt;
|-&lt;br /&gt;
| -D ||  || Double-integer subtraction&lt;br /&gt;
|-&lt;br /&gt;
| *D ||  || Double-integer multiplication&lt;br /&gt;
|-&lt;br /&gt;
| /D ||  || Double-integer division&lt;br /&gt;
|-&lt;br /&gt;
| +R ||  || Real addition&lt;br /&gt;
|-&lt;br /&gt;
| -R ||  || Real subtraction&lt;br /&gt;
|-&lt;br /&gt;
| *R ||  || Real multiplication&lt;br /&gt;
|-&lt;br /&gt;
| /R ||  || Real division&lt;br /&gt;
|-&lt;br /&gt;
| MOD ||  || Double integer division (modulo)&lt;br /&gt;
|-&lt;br /&gt;
| + || const || Add a constant&lt;br /&gt;
|-&lt;br /&gt;
| +P# || const || Add a pointer&lt;br /&gt;
|-&lt;br /&gt;
| DEC ||  || dekrement ACCU1-LL (one byte)&lt;br /&gt;
|-&lt;br /&gt;
| INC ||  || inkrement ACCU1-LL (one byte)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Data type conversion instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| ITD ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Convert integer to double integer&lt;br /&gt;
|-&lt;br /&gt;
| ITB ||  || Convert integer to BCD&lt;br /&gt;
|-&lt;br /&gt;
| DTB ||  || Convert double integer to BCD&lt;br /&gt;
|-&lt;br /&gt;
| DTR ||  || Convert double integer to real&lt;br /&gt;
|-&lt;br /&gt;
| BTI ||  || Convert BCD to integer&lt;br /&gt;
|-&lt;br /&gt;
| BTD ||  || Convert BCD to double integer&lt;br /&gt;
|-&lt;br /&gt;
| RND ||  || Convert real to double integer (round)&lt;br /&gt;
|-&lt;br /&gt;
| RND+ ||  || Convert real to double integer (round up)&lt;br /&gt;
|-&lt;br /&gt;
| RND- ||  || Convert real to double integer (round down)&lt;br /&gt;
|-&lt;br /&gt;
| TRUNC ||  || Convert real to double integer (truncate)&lt;br /&gt;
|-&lt;br /&gt;
| INVI ||  || Invert ACCU1-L (integer)&lt;br /&gt;
|-&lt;br /&gt;
| INVD ||  || Invert ACCU1 (double integer)&lt;br /&gt;
|-&lt;br /&gt;
| NEGI ||  || Negate ACCU1-L (integer)&lt;br /&gt;
|-&lt;br /&gt;
| NEGD ||  || Negate ACCU1 (double integer)&lt;br /&gt;
|-&lt;br /&gt;
| NEGR ||  || Negate ACCU1 (real)&lt;br /&gt;
|-&lt;br /&gt;
| ABS ||  || Absolute value (real)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Jump instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| JU ||style=&amp;quot;width: 5em&amp;quot;| goal ||style=&amp;quot;width: 26em&amp;quot;| Jump unconditional&lt;br /&gt;
|-&lt;br /&gt;
| JC || goal || Jump if RLO = 1&lt;br /&gt;
|-&lt;br /&gt;
| JCB || goal || Jump if RLO = 1 (save RLO)&lt;br /&gt;
|-&lt;br /&gt;
| JCN || goal || Jump if RLO = 0&lt;br /&gt;
|-&lt;br /&gt;
| JNB || goal || Jump if RLO = 0 (save RLO)&lt;br /&gt;
|-&lt;br /&gt;
| JBI || goal || Jump if BR = 1&lt;br /&gt;
|-&lt;br /&gt;
| JNBI || goal || Jump if BR = 0&lt;br /&gt;
|-&lt;br /&gt;
| JZ || goal || Jump if compare result = 0&lt;br /&gt;
|-&lt;br /&gt;
| JN || goal || Jump if compare result != 0&lt;br /&gt;
|-&lt;br /&gt;
| JP || goal || Jump if compare result &amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| JPZ || goal || Jump if compare result &amp;gt;= 0&lt;br /&gt;
|-&lt;br /&gt;
| JM || goal || Jump if compare result &amp;lt; 0&lt;br /&gt;
|-&lt;br /&gt;
| JMZ || goal || Jump if compare result &amp;lt;= 0&lt;br /&gt;
|-&lt;br /&gt;
| JUO || goal || Jump if compare result &amp;quot;Unordered Math Instruction&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| JO || goal || Jump on overflow&lt;br /&gt;
|-&lt;br /&gt;
| JOS || goal || Jump on saving overflow&lt;br /&gt;
|-&lt;br /&gt;
| JL || goal || Jump distributor&lt;br /&gt;
|-&lt;br /&gt;
| LOOP || goal || Loop programming (decrement ACCU1-L and jump if != 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Block call instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| CALL FB ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Unconditional call of an FB with parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CALL FC ||  || Unconditional call of an FC with parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CALL SFB ||  || Unconditional call of an SFB with parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CALL SFC ||  || Unconditional call of an SFC with parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| UC FB ||  || Unconditional call of an FB without parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CC FB ||  || Conditional call of an FB without parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| UC FC ||  || Unconditional call of an FC without parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CC FC ||  || Conditional call of an FC without parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| BEU ||  || End block unconditionally&lt;br /&gt;
|-&lt;br /&gt;
| BEC ||  || End block conditionally (RLO = 1)&lt;br /&gt;
|-&lt;br /&gt;
| BE ||  || End block&lt;br /&gt;
|-&lt;br /&gt;
| OPN || ||&lt;br /&gt;
|-&lt;br /&gt;
|  || DB || Open data block&lt;br /&gt;
|-&lt;br /&gt;
|  || DI || Open instance data block&lt;br /&gt;
|-&lt;br /&gt;
| TDB ||  || Exchange data block registers&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Indirect adressing instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| LAR1/LAR2 ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Load AR1/AR2&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || with memory double word&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || with local data double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || with datablock double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || with instance data block double word&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 || - || Load AR1 with ACCU1&lt;br /&gt;
|-&lt;br /&gt;
| LAR2 || - || Laod AR2 with ACCU1&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 || AR2 || Load AR1 with AR2&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 || P# || Load AR1 with pointer&lt;br /&gt;
|-&lt;br /&gt;
| LAR2 || P# || Load AR2 with pointer&lt;br /&gt;
|-&lt;br /&gt;
| TAR1/TAR2 ||  || Transfer in AR1/AR2&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || in memory double word&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || in local data double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || in datablock double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || in instance data block double word&lt;br /&gt;
|-&lt;br /&gt;
| TAR1 || - || Transfer AR1 in ACCU1&lt;br /&gt;
|-&lt;br /&gt;
| TAR2 || - || Transfer AR2 in ACCU1&lt;br /&gt;
|-&lt;br /&gt;
| TAR1 || AR2 || Transfer AR1 in AR2&lt;br /&gt;
|-&lt;br /&gt;
| TAR ||  || Swap AR1 with AR2&lt;br /&gt;
|-&lt;br /&gt;
| +AR1 ||  || Add ACCU1 to AR1&lt;br /&gt;
|-&lt;br /&gt;
| +AR2 ||  || Add ACCU1 to AR2&lt;br /&gt;
|-&lt;br /&gt;
| +AR1 || P# || Add pointer to AR1&lt;br /&gt;
|-&lt;br /&gt;
| +AR2 || P# || Add pointer to AR2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Program display and null operation instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| NOP ||style=&amp;quot;width: 5em&amp;quot;| 0 ||style=&amp;quot;width: 22em&amp;quot;| Null operation instruction&lt;br /&gt;
|-&lt;br /&gt;
| NOP || 1 || Null operation instruction&lt;br /&gt;
|-&lt;br /&gt;
| BLD || const || Program display instruction (null operation)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Layout of &#039;&#039;S7-SoftPLC&#039;&#039; memory&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The memory of &#039;&#039;S7-SoftPLC 315&#039;&#039; and &#039;&#039;S7-SoftPLC 416&#039;&#039; is compatible to the memory of SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;-control S7-315 or S7-416.&lt;br /&gt;
&lt;br /&gt;
Please note, that the low-order byte has to be interchanged with the high-order byte when accessing this memory with Windows programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Layout of SoftPLC system data&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The layout of the system data in the system data is compatible to the system data of SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;-control S7-315 or S7-416.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated organisation blocks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The organisation blocks, listed in the chart below, are executed, if they are programmed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! OB no !! Short Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:14em&amp;quot;| OB 1 ||style=&amp;quot;width:14em&amp;quot;| Main programm&lt;br /&gt;
|-&lt;br /&gt;
| OB 10 – OB 17 || Time alarm&lt;br /&gt;
|-&lt;br /&gt;
| OB 20 – OB 23 || Delay alarm&lt;br /&gt;
|-&lt;br /&gt;
| OB 30 – OB 38 || Time blocks (cyclic call)&lt;br /&gt;
|-&lt;br /&gt;
| OB 80 – OB 87 || Error blocks&lt;br /&gt;
|-&lt;br /&gt;
| OB 90 || Background execution&lt;br /&gt;
|-&lt;br /&gt;
| OB 100/OB 101 || Warm or hot restart&lt;br /&gt;
|-&lt;br /&gt;
| OB 121/OB 122 || Programming faults&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated system functions&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
All system functions (SFC) relevant for a Software PLC are integrated in &#039;&#039;S7-SoftPLC&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The chart below shows the available SFCs(in numeric listing)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! SFC no !! SF name !! Short Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:7em&amp;quot;| SFC 0 ||style=&amp;quot;width:8em&amp;quot;| SET_CLK || Set system clock&lt;br /&gt;
|-&lt;br /&gt;
| SFC 1 || READ_CLK || Read system clock&lt;br /&gt;
|-&lt;br /&gt;
| SFC 5  (3) || GADR_LGC || Detect the logic basis address of a component&lt;br /&gt;
|-&lt;br /&gt;
| SFC 6 || RD_SINFO || Read out start information of actual OBs&lt;br /&gt;
|-&lt;br /&gt;
| SFC 13 (1) || DPNRM_DG || Slave-Diagnosis of a DP-slave&lt;br /&gt;
|-&lt;br /&gt;
| SFC 14 (2) || DPRD_DAT || Read consistent data of a DP-norm slave&lt;br /&gt;
|-&lt;br /&gt;
| SFC 15 (2) || DPWR_DAT || Write data consistent on DP-norm slave&lt;br /&gt;
|-&lt;br /&gt;
| SFC 20 || BLKMOV || Copy PLC-variable in target-area&lt;br /&gt;
|-&lt;br /&gt;
| SFC 21 || FILL || Preoccupy PLC-variable in target-area&lt;br /&gt;
|-&lt;br /&gt;
| SFC 22 || CREAT_DB || Create data block&lt;br /&gt;
|-&lt;br /&gt;
| SFC 23 || DEL_DB || Delete data block&lt;br /&gt;
|-&lt;br /&gt;
| SFC 24 || TEST_DB || Test attributes of a data block&lt;br /&gt;
|-&lt;br /&gt;
| SFC 25 || COMPRESS || Compress load memory&lt;br /&gt;
|-&lt;br /&gt;
| SFC 28 || SET_TINT || Set time alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 29 || CAN_TINT || Stop time alarm (do not execute)&lt;br /&gt;
|-&lt;br /&gt;
| SFC 30 || ACT_TINT || Enable time alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 31 || QRY_TINT || Status of time alarm &lt;br /&gt;
|-&lt;br /&gt;
| SFC 32 || SRT_DINT || Start delay alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 33 || CAN_DINT || Stop delay alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 34 || QRY_DINT || Status query of delay alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 36 || MSK_FLT || Mask a synchron error occurrence&lt;br /&gt;
|-&lt;br /&gt;
| SFC 37 || DMSK_FLT || Demask a synchron error occurrence&lt;br /&gt;
|-&lt;br /&gt;
| SFC 38 || READ_ERR || Read out the occurrence status register&lt;br /&gt;
|-&lt;br /&gt;
| SFC 39 || DIS_IRT || Locking the asynchron and alarm error processing&lt;br /&gt;
|-&lt;br /&gt;
| SFC 40 || EN_IRT || Enable the asynchron and alarm error processing&lt;br /&gt;
|-&lt;br /&gt;
| SFC 41 || DIS_AIRT || Delay high-priority asynchron and alarm error processing&lt;br /&gt;
|-&lt;br /&gt;
| SFC 42 || EN_AIRT || Enable high-priority asynchron and alarm error processing&lt;br /&gt;
|-&lt;br /&gt;
| SFC 43 || RE_TRIGR || Retrigger the Watchdog&lt;br /&gt;
|-&lt;br /&gt;
| SFC 46 || STP || CPU operating state STOP&lt;br /&gt;
|-&lt;br /&gt;
| SFC 49 (3) || LGC_GADR || Detect the solt of a logic address&lt;br /&gt;
|-&lt;br /&gt;
| SFC 50 (3) || RD_LAGADR || Detect all logic addresses of a component&lt;br /&gt;
|-&lt;br /&gt;
| SFC 51 || RDSYST || Read out system status list (SSL)&lt;br /&gt;
|-&lt;br /&gt;
| SFC 64 || TIME_TCK || Timer Tick&lt;br /&gt;
|-&lt;br /&gt;
| SFC 81 || UBLKMOV || Block Move, that can not be stopped&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(1)The SFC 13 is available only, when the driver Cifcfg.dll is loaded. Furthermore it can only return valid results, if the PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; configuration has been created via the &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; hardware configuration or the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration. This is only possible when using the driver CIFCFG.DLL.&lt;br /&gt;
&lt;br /&gt;
(2)The SFC 14 and SFC 15 are available only, if they are loaded via the driver CIF30D0.DLL or the driver CIFCFG.DLL.&lt;br /&gt;
&lt;br /&gt;
(3)The SFCs can only return valid results, if the PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 configuration has been created via the &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration or the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration. This is only possible when using the driver CIFCFG.DLL.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated system blocks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The system blocks (SFB) relevant for a software PLC are integrated in &#039;&#039;S7-SoftPLC&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The following system function blocks are supported:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! SFB no !! SFB name !! Short Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:7em&amp;quot;| SFB 0 ||style=&amp;quot;width:7em&amp;quot;| CTU || Count up&lt;br /&gt;
|-&lt;br /&gt;
| SFB 1 || CTD || Count down&lt;br /&gt;
|-&lt;br /&gt;
| SFB 2 || CTUD || Count up and down&lt;br /&gt;
|-&lt;br /&gt;
| SFB 3 || TP || Generate pulse&lt;br /&gt;
|-&lt;br /&gt;
| SFB 4 || TON || Generate ON-delay&lt;br /&gt;
|-&lt;br /&gt;
| SFB 5 || TOF || Generate OFF-delay&lt;br /&gt;
|-&lt;br /&gt;
| SFB 32 || DRUM || Implement sequencer&lt;br /&gt;
|-&lt;br /&gt;
| SFB 52 (4) || RDREC_DP || Read data record&lt;br /&gt;
|-&lt;br /&gt;
| SFB 53 (4) || WRREC_DP || Write data record&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(4)The SFB 52 and SFB 53 are only available if the driver CIFCFG.DLL is loaded and the entry DPV1=1 is set.&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Instruction_set&amp;diff=1153</id>
		<title>S7-SoftPLC:Instruction set</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Instruction_set&amp;diff=1153"/>
		<updated>2013-01-23T11:58:21Z</updated>

		<summary type="html">&lt;p&gt;Jonas: /* Jump instructions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The programming language of the IBH&#039;&#039;softec&#039;&#039; &#039;&#039;S7-SoftPLC 315&#039;&#039;and &#039;&#039;S7-SoftPLC 416&#039;&#039; controls is STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 and can be made with the programming tools &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; or STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 from Siemens. The complete instruction set of the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 language is supported.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;S7-SoftPLC 315&#039;&#039; has the complete instruction set of the SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; S7-315 CPU.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;S7-SoftPLC 416&#039;&#039; has the complete instruction set of the SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; S7-416 CPU.&lt;br /&gt;
&lt;br /&gt;
== Bit logic instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Instruction !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| A ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AND with a scan to &amp;quot;1&amp;quot;“&lt;br /&gt;
|-&lt;br /&gt;
| AN ||  || AND with a scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| O ||  || OR with scan to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| ON ||  || OR with scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| X ||  || Exclusive-OR with a scan to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| XN ||  || Exclusive-OR with a scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|  || I || of an input&lt;br /&gt;
|-&lt;br /&gt;
|  || Q || of an output&lt;br /&gt;
|-&lt;br /&gt;
|  || M || of a memory&lt;br /&gt;
|-&lt;br /&gt;
|  || L || of a local data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || T || of a timer&lt;br /&gt;
|-&lt;br /&gt;
|  || C || of a counter&lt;br /&gt;
|-&lt;br /&gt;
|  || DBX || of a data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || DIX || of an instant data bit&lt;br /&gt;
|-&lt;br /&gt;
| ==0 ||  || result equal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;0 ||  || result unequal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;0 ||  || result greater than zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=0 ||  || result greater or equal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;0 ||  || result less than zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=0 ||  || result less or equal zero&lt;br /&gt;
|-&lt;br /&gt;
| UO ||  || invalid result&lt;br /&gt;
|-&lt;br /&gt;
| OV ||  || overflow&lt;br /&gt;
|-&lt;br /&gt;
| OS ||  || overflow (saving)&lt;br /&gt;
|-&lt;br /&gt;
| BR ||  || binary result&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other boolean logic instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| A( ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AND left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| AN( ||  || AND NOT left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| O( ||  || OR left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| ON( ||  || OR NOT left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| X( ||  || Exclusive OR left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| XN( ||  || Exclusive OR NOT left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| ) ||  || Right parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| O ||  || OR-ing AND operations &lt;br /&gt;
|-&lt;br /&gt;
| NOT ||  || Negate RLO&lt;br /&gt;
|-&lt;br /&gt;
| SET ||  || Set RLO to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| CLR ||  || Set RLO to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| SAVE ||  || Save RLO to the BR bit&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| = ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Assign value of RLO&lt;br /&gt;
|-&lt;br /&gt;
| S ||  || Set&lt;br /&gt;
|-&lt;br /&gt;
| R ||  || Reset&lt;br /&gt;
|-&lt;br /&gt;
| FP ||  || Positive edge detection&lt;br /&gt;
|-&lt;br /&gt;
| FN ||  || Negative edge detection&lt;br /&gt;
|-&lt;br /&gt;
|  || I || of an input bit&lt;br /&gt;
|-&lt;br /&gt;
|  || Q || of an output bit&lt;br /&gt;
|-&lt;br /&gt;
|  || M || of a memory bit&lt;br /&gt;
|-&lt;br /&gt;
|  || L || of a local data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || DBX || of a data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || DIX || of a instance data bit&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Master Control Relay ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| MCRA ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Activate MCR&lt;br /&gt;
|-&lt;br /&gt;
| MCRD ||  || Deactivate MCR&lt;br /&gt;
|-&lt;br /&gt;
| MCR( ||  || Open MCR zone&lt;br /&gt;
|-&lt;br /&gt;
| )MCR ||  || Close MCR zone&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Load / Transfer instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| L ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Load operand&lt;br /&gt;
|-&lt;br /&gt;
| T ||  || Transfer operand&lt;br /&gt;
|-&lt;br /&gt;
|  || IB || Input byte&lt;br /&gt;
|-&lt;br /&gt;
|  || IW || Input word&lt;br /&gt;
|-&lt;br /&gt;
|  || ID || Input double word&lt;br /&gt;
|-&lt;br /&gt;
|  || QB || Output byte&lt;br /&gt;
|-&lt;br /&gt;
|  || QW || Output word&lt;br /&gt;
|-&lt;br /&gt;
|  || QD || Ouput double word&lt;br /&gt;
|-&lt;br /&gt;
|  || MB || Memory byte&lt;br /&gt;
|-&lt;br /&gt;
|  || MW || Memory word&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || Memory double word&lt;br /&gt;
|-&lt;br /&gt;
|  || LB || Local data byte&lt;br /&gt;
|-&lt;br /&gt;
|  || LW || Local data word&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || Local data double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBB || Data block byte&lt;br /&gt;
|-&lt;br /&gt;
|  || DBW || Data block word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || Data block double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DIB || Instance data block byte&lt;br /&gt;
|-&lt;br /&gt;
|  || DIW || Instance data block word&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || Instance data block double word&lt;br /&gt;
|-&lt;br /&gt;
|  || STW || Status word&lt;br /&gt;
|-&lt;br /&gt;
| L || const || Load constant value&lt;br /&gt;
|-&lt;br /&gt;
| L || #Pointer || Load pointer&lt;br /&gt;
|-&lt;br /&gt;
| L || T || Timer&lt;br /&gt;
|-&lt;br /&gt;
| LC || T || Timer (BCD coded)&lt;br /&gt;
|-&lt;br /&gt;
| L || Z || Counter&lt;br /&gt;
|-&lt;br /&gt;
| LC || Z || Counter (BCD coded)&lt;br /&gt;
|-&lt;br /&gt;
| L || DBNO || Data block number&lt;br /&gt;
|-&lt;br /&gt;
| L || DBLG || Data block length&lt;br /&gt;
|-&lt;br /&gt;
| L || DINO || Instance data block number&lt;br /&gt;
|-&lt;br /&gt;
| L || DILG || Instance data block length&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Peripheral access instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| L ||style=&amp;quot;width: 5em&amp;quot;| PIB ||style=&amp;quot;width: 22em&amp;quot;| Load peripheral input byte&lt;br /&gt;
|-&lt;br /&gt;
| L || PIW || Load peripheral input word&lt;br /&gt;
|-&lt;br /&gt;
| L || PID || Load peripheral input double word&lt;br /&gt;
|-&lt;br /&gt;
| T || PQB || Transfer peripheral output byte&lt;br /&gt;
|-&lt;br /&gt;
| T || PQW || Transfer peripheral output word&lt;br /&gt;
|-&lt;br /&gt;
| T || PQD || Transfer peripheral output double word&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Accumulator instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| PUSH ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Push accumulators upwards&lt;br /&gt;
|-&lt;br /&gt;
| POP ||  || Push accumulators downwards&lt;br /&gt;
|-&lt;br /&gt;
| ENT ||  || Push accumulators (without A1) A2-&amp;gt;A3, A3-&amp;gt;A4&lt;br /&gt;
|-&lt;br /&gt;
| LEAVE ||  || Push accumulators (without A1) A4-&amp;gt;A3, A3-&amp;gt;A2&lt;br /&gt;
|-&lt;br /&gt;
| TAK ||  || Change ACCU1 with ACCU2&lt;br /&gt;
|-&lt;br /&gt;
| CAW ||  || Change ACCU1 bytes 0 and 1&lt;br /&gt;
|-&lt;br /&gt;
| CAD ||  || Change ACCU1 bytes 0 and 3, 1 and 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Shift and rotating instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| SLW ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 23em&amp;quot;| Shift ACCU1-L left (word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SLD ||  || Shift ACCU1 left (double word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SRW ||  || Shift ACCU1-L right (word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SRD ||  || Shift ACCU1 right (double word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SSI ||  || Shift ACCU1-L right (word shift with sign)&lt;br /&gt;
|-&lt;br /&gt;
| SSD ||  || Shift ACCU1 right (double word shift with sign)&lt;br /&gt;
|-&lt;br /&gt;
| RLD ||  || Rotate ACCU1 left (double word)&lt;br /&gt;
|-&lt;br /&gt;
| RLDA ||  || Rotate ACCU1 left through CC1&lt;br /&gt;
|-&lt;br /&gt;
| RRDA ||  || Rotate ACCU1 right through CC1&lt;br /&gt;
|-&lt;br /&gt;
| RRD ||  || Rotate ACCU1 right (double word)&lt;br /&gt;
|-&lt;br /&gt;
|  || const || Number of places to shift/rotate&lt;br /&gt;
|-&lt;br /&gt;
|  || - || Number of places to shift/rotate located in ACCU2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Timer instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| SP ||style=&amp;quot;width: 5em&amp;quot;| T ||style=&amp;quot;width: 22em&amp;quot;| Start as impulse&lt;br /&gt;
|-&lt;br /&gt;
| SE || T || Start as extendet impulse&lt;br /&gt;
|-&lt;br /&gt;
| SD || T || Start as ON-delay&lt;br /&gt;
|-&lt;br /&gt;
| SS || T || Start as saving ON-delay&lt;br /&gt;
|-&lt;br /&gt;
| SF || T || Start as OFF-delay&lt;br /&gt;
|-&lt;br /&gt;
| R || T || Reset timer&lt;br /&gt;
|-&lt;br /&gt;
| FR || T || Enable timer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Counter instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| CU ||style=&amp;quot;width: 5em&amp;quot;| C ||style=&amp;quot;width: 22em&amp;quot;| Count up (increment)&lt;br /&gt;
|-&lt;br /&gt;
| CD || C || Count down (decrement)&lt;br /&gt;
|-&lt;br /&gt;
| S || C || Set counter&lt;br /&gt;
|-&lt;br /&gt;
| R || C || Reset counter&lt;br /&gt;
|-&lt;br /&gt;
| FR || C || Enable counter&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Word instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| AW ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AND ACCU1-L (AND word)&lt;br /&gt;
|-&lt;br /&gt;
| AD ||  || AND ACCU1 (AND double word)&lt;br /&gt;
|-&lt;br /&gt;
| OW ||  || OR ACCU1-L (OR word)&lt;br /&gt;
|-&lt;br /&gt;
| OD ||  || OR ACCU1 (OR double word)&lt;br /&gt;
|-&lt;br /&gt;
| XOW ||  || Exclusive-OR ACCU (XOR word)&lt;br /&gt;
|-&lt;br /&gt;
| XOD ||  || Exclusive-OR ACCU (XOR double word)&lt;br /&gt;
|-&lt;br /&gt;
|  || const || with a word or double word constant&lt;br /&gt;
|-&lt;br /&gt;
|  || - || with ACCU2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Arithmetic instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| ==I ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Integer values equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;I ||  || Integer values unequal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;I ||  || Integer values greater&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=I ||  || Integer values greather or equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;I ||  || Integer values less&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=I ||  || Integer values less or equal&lt;br /&gt;
|-&lt;br /&gt;
| ==D ||  || Double integer values equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;D ||  || Double integer values unequal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;D ||  || Double integer values greater&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=D ||  || Double integer values greater or equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;D ||  || Double integer values less&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=D ||  || Double integer values less or equal&lt;br /&gt;
|-&lt;br /&gt;
| ==R ||  || Real values equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;R ||  || Real values unequal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;R ||  || Real values greater&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=R ||  || Real values greater or equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;R ||  || Real values less&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=R ||  || Real values less or equal&lt;br /&gt;
|-&lt;br /&gt;
| SIN ||  || Sine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| COS ||  || Cosine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| TAN ||  || Tangent of a real value&lt;br /&gt;
|-&lt;br /&gt;
| ASIN ||  || Arcsine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| ACOS ||  || Arccosine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| ATAN ||  || Arctangent of a real value&lt;br /&gt;
|-&lt;br /&gt;
| SQR ||  || Square a real value&lt;br /&gt;
|-&lt;br /&gt;
| SQRT ||  || Square root a real value&lt;br /&gt;
|-&lt;br /&gt;
| EXP ||  || e to the power of a real value&lt;br /&gt;
|-&lt;br /&gt;
| LN ||  || Natural logarithm of a real value&lt;br /&gt;
|-&lt;br /&gt;
| +I ||  || Integer addition&lt;br /&gt;
|-&lt;br /&gt;
| -I ||  || Integer subtraction&lt;br /&gt;
|-&lt;br /&gt;
| *I ||  || Integer multiplication&lt;br /&gt;
|-&lt;br /&gt;
| /I ||  || Integer division&lt;br /&gt;
|-&lt;br /&gt;
| +D ||  || Double-integer addition&lt;br /&gt;
|-&lt;br /&gt;
| -D ||  || Double-integer subtraction&lt;br /&gt;
|-&lt;br /&gt;
| *D ||  || Double-integer multiplication&lt;br /&gt;
|-&lt;br /&gt;
| /D ||  || Double-integer division&lt;br /&gt;
|-&lt;br /&gt;
| +R ||  || Real addition&lt;br /&gt;
|-&lt;br /&gt;
| -R ||  || Real subtraction&lt;br /&gt;
|-&lt;br /&gt;
| *R ||  || Real multiplication&lt;br /&gt;
|-&lt;br /&gt;
| /R ||  || Real division&lt;br /&gt;
|-&lt;br /&gt;
| MOD ||  || Double integer division (modulo)&lt;br /&gt;
|-&lt;br /&gt;
| + || const || Add a constant&lt;br /&gt;
|-&lt;br /&gt;
| +P# || const || Add a pointer&lt;br /&gt;
|-&lt;br /&gt;
| DEC ||  || dekrement ACCU1-LL (one byte)&lt;br /&gt;
|-&lt;br /&gt;
| INC ||  || inkrement ACCU1-LL (one byte)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Data type conversion instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| ITD ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Convert integer to double integer&lt;br /&gt;
|-&lt;br /&gt;
| ITB ||  || Convert integer to BCD&lt;br /&gt;
|-&lt;br /&gt;
| DTB ||  || Convert double integer to BCD&lt;br /&gt;
|-&lt;br /&gt;
| DTR ||  || Convert double integer to real&lt;br /&gt;
|-&lt;br /&gt;
| BTI ||  || Convert BCD to integer&lt;br /&gt;
|-&lt;br /&gt;
| BTD ||  || Convert BCD to double integer&lt;br /&gt;
|-&lt;br /&gt;
| RND ||  || Convert real to double integer (round)&lt;br /&gt;
|-&lt;br /&gt;
| RND+ ||  || Convert real to double integer (round up)&lt;br /&gt;
|-&lt;br /&gt;
| RND- ||  || Convert real to double integer (round down)&lt;br /&gt;
|-&lt;br /&gt;
| TRUNC ||  || Convert real to double integer (truncate)&lt;br /&gt;
|-&lt;br /&gt;
| INVI ||  || Invert ACCU1-L (integer)&lt;br /&gt;
|-&lt;br /&gt;
| INVD ||  || Invert ACCU1 (double integer)&lt;br /&gt;
|-&lt;br /&gt;
| NEGI ||  || Negate ACCU1-L (integer)&lt;br /&gt;
|-&lt;br /&gt;
| NEGD ||  || Negate ACCU1 (double integer)&lt;br /&gt;
|-&lt;br /&gt;
| NEGR ||  || Negate ACCU1 (real)&lt;br /&gt;
|-&lt;br /&gt;
| ABS ||  || Absolute value (real)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Jump instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| JU ||style=&amp;quot;width: 5em&amp;quot;| goal ||style=&amp;quot;width: 26em&amp;quot;| Jump unconditional&lt;br /&gt;
|-&lt;br /&gt;
| JC || goal || Jump if RLO = 1&lt;br /&gt;
|-&lt;br /&gt;
| JCB || goal || Jump if RLO = 1 (save RLO)&lt;br /&gt;
|-&lt;br /&gt;
| JCN || goal || Jump if RLO = 0&lt;br /&gt;
|-&lt;br /&gt;
| JNB || goal || Jump if RLO = 0 (save RLO)&lt;br /&gt;
|-&lt;br /&gt;
| JBI || goal || Jump if BR = 1&lt;br /&gt;
|-&lt;br /&gt;
| JNBI || goal || Jump if BR = 0&lt;br /&gt;
|-&lt;br /&gt;
| JZ || goal || Jump if compare result = 0&lt;br /&gt;
|-&lt;br /&gt;
| JN || goal || Jump if compare result != 0&lt;br /&gt;
|-&lt;br /&gt;
| JP || goal || Jump if compare result &amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| JPZ || goal || Jump if compare result &amp;gt;= 0&lt;br /&gt;
|-&lt;br /&gt;
| JM || goal || Jump if compare result &amp;lt; 0&lt;br /&gt;
|-&lt;br /&gt;
| JMZ || goal || Jump if compare result &amp;lt;= 0&lt;br /&gt;
|-&lt;br /&gt;
| JUO || goal || Jump if compare result &amp;quot;Unordered Math Instruction&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| JO || goal || Jump on overflow&lt;br /&gt;
|-&lt;br /&gt;
| JOS || goal || Jump on saving overflow&lt;br /&gt;
|-&lt;br /&gt;
| JL || goal || Jump distributor&lt;br /&gt;
|-&lt;br /&gt;
| LOOP || goal || Loop programming (decrement ACCU1-L and jump if != 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Block call instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| CALL FB ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Unconditional call of an FB with parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CALL FC ||  || Unconditional call of an FC with parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CALL SFB ||  || Unconditional call of an SFB with parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CALL SFC ||  || Unconditional call of an SFC with parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| UC FB ||  || Unconditional call of an FB without parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CC FB ||  || Conditional call of an FB without parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| UC FC ||  || Unconditional call of an FC without parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CC FC ||  || Conditional call of an FC without parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| BEU ||  || End block unconditionally&lt;br /&gt;
|-&lt;br /&gt;
| BEC ||  || End block conditionally (RLO = 1)&lt;br /&gt;
|-&lt;br /&gt;
| BE ||  || End block&lt;br /&gt;
|-&lt;br /&gt;
| OPN || ||&lt;br /&gt;
|-&lt;br /&gt;
|  || DB || Open data block&lt;br /&gt;
|-&lt;br /&gt;
|  || DI || Open instance data block&lt;br /&gt;
|-&lt;br /&gt;
| TDB ||  || Exchange data block registers&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Indirect adressing instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| LAR1/LAR2 ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Load AR1/AR2&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || with memory double word&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || with local data double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || with datablock double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || with instance data block double word&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 || - || Load AR1 with ACCU1&lt;br /&gt;
|-&lt;br /&gt;
| LAR2 || - || Laod AR2 with ACCU1&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 || AR2 || Load AR1 with AR2&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 || P# || Load AR1 with pointer&lt;br /&gt;
|-&lt;br /&gt;
| LAR2 || P# || Load AR2 with pointer&lt;br /&gt;
|-&lt;br /&gt;
| TAR1/TAR2 ||  || Transfer in AR1/AR2&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || in memory double word&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || in local data double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || in datablock double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || in instance data block double word&lt;br /&gt;
|-&lt;br /&gt;
| TAR1 || - || Transfer AR1 in ACCU1&lt;br /&gt;
|-&lt;br /&gt;
| TAR2 || - || Transfer AR2 in ACCU1&lt;br /&gt;
|-&lt;br /&gt;
| TAR1 || AR2 || Transfer AR1 in AR2&lt;br /&gt;
|-&lt;br /&gt;
| TAR ||  || Swap AR1 with AR2&lt;br /&gt;
|-&lt;br /&gt;
| +AR1 ||  || Add ACCU1 to AR1&lt;br /&gt;
|-&lt;br /&gt;
| +AR2 ||  || Add ACCU1 to AR2&lt;br /&gt;
|-&lt;br /&gt;
| +AR1 || P# || Add pointer to AR1&lt;br /&gt;
|-&lt;br /&gt;
| +AR2 || P# || Add pointer to AR2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Program display and null operation instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| NOP ||style=&amp;quot;width: 5em&amp;quot;| 0 ||style=&amp;quot;width: 22em&amp;quot;| Null operation instruction&lt;br /&gt;
|-&lt;br /&gt;
| NOP || 1 || Null operation instruction&lt;br /&gt;
|-&lt;br /&gt;
| BLD || const || Program display instruction (null operation)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Layout of &#039;&#039;S7-SoftPLC&#039;&#039; memory&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The memory of &#039;&#039;S7-SoftPLC 315&#039;&#039; and &#039;&#039;S7-SoftPLC 416&#039;&#039; is compatible to the memory of SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;-control S7-315 or S7-416.&lt;br /&gt;
&lt;br /&gt;
Please note, that the low-order byte has to be interchanged with the high-order byte when accessing this memory with Windows programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Layout of SoftPLC system data&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The layout of the system data in the system data is compatible to the system data of SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;-control S7-315 or S7-416.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated organisation blocks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The organisation blocks, listed in the chart below, are executed, if they are programmed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! OB no !! Short Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:14em&amp;quot;| OB 1 ||style=&amp;quot;width:14em&amp;quot;| Main programm&lt;br /&gt;
|-&lt;br /&gt;
| OB 10 – OB 17 || Time alarm&lt;br /&gt;
|-&lt;br /&gt;
| OB 20 – OB 23 || Delay alarm&lt;br /&gt;
|-&lt;br /&gt;
| OB 30 – OB 38 || Time blocks (cyclic call)&lt;br /&gt;
|-&lt;br /&gt;
| OB 80 – OB 87 || Error blocks&lt;br /&gt;
|-&lt;br /&gt;
| OB 90 || Background execution&lt;br /&gt;
|-&lt;br /&gt;
| OB 100/OB 101 || Warm or hot restart&lt;br /&gt;
|-&lt;br /&gt;
| OB 121/OB 122 || Programming faults&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated system functions&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
All system functions (SFC) relevant for a Software PLC are integrated in &#039;&#039;S7-SoftPLC&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The chart below shows the available SFCs(in numeric listing)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! SFC no !! SF name !! Short Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:7em&amp;quot;| SFC 0 ||style=&amp;quot;width:8em&amp;quot;| SET_CLK || Set system clock&lt;br /&gt;
|-&lt;br /&gt;
| SFC 1 || READ_CLK || Read system clock&lt;br /&gt;
|-&lt;br /&gt;
| SFC 5  (3) || GADR_LGC || Detect the logic basis address of a component&lt;br /&gt;
|-&lt;br /&gt;
| SFC 6 || RD_SINFO || Read out start information of actual OBs&lt;br /&gt;
|-&lt;br /&gt;
| SFC 13 (1) || DPNRM_DG || Slave-Diagnosis of a DP-slave&lt;br /&gt;
|-&lt;br /&gt;
| SFC 14 (2) || DPRD_DAT || Read consistent data of a DP-norm slave&lt;br /&gt;
|-&lt;br /&gt;
| SFC 15 (2) || DPWR_DAT || Write data consistent on DP-norm slave&lt;br /&gt;
|-&lt;br /&gt;
| SFC 20 || BLKMOV || Copy PLC-variable in target-area&lt;br /&gt;
|-&lt;br /&gt;
| SFC 21 || FILL || Preoccupy PLC-variable in target-area&lt;br /&gt;
|-&lt;br /&gt;
| SFC 22 || CREAT_DB || Create data block&lt;br /&gt;
|-&lt;br /&gt;
| SFC 23 || DEL_DB || Delete data block&lt;br /&gt;
|-&lt;br /&gt;
| SFC 24 || TEST_DB || Test attributes of a data block&lt;br /&gt;
|-&lt;br /&gt;
| SFC 25 || COMPRESS || Compress load memory&lt;br /&gt;
|-&lt;br /&gt;
| SFC 28 || SET_TINT || Set time alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 29 || CAN_TINT || Stop time alarm (do not execute)&lt;br /&gt;
|-&lt;br /&gt;
| SFC 30 || ACT_TINT || Enable time alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 31 || QRY_TINT || Status of time alarm &lt;br /&gt;
|-&lt;br /&gt;
| SFC 32 || SRT_DINT || Start delay alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 33 || CAN_DINT || Stop delay alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 34 || QRY_DINT || Status query of delay alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 36 || MSK_FLT || Mask a synchron error occurrence&lt;br /&gt;
|-&lt;br /&gt;
| SFC 37 || DMSK_FLT || Demask a synchron error occurrence&lt;br /&gt;
|-&lt;br /&gt;
| SFC 38 || READ_ERR || Read out the occurrence status register&lt;br /&gt;
|-&lt;br /&gt;
| SFC 39 || DIS_IRT || Locking the asynchron and alarm error processing&lt;br /&gt;
|-&lt;br /&gt;
| SFC 40 || EN_IRT || Enable the asynchron and alarm error processing&lt;br /&gt;
|-&lt;br /&gt;
| SFC 41 || DIS_AIRT || Delay high-priority asynchron and alarm error processing&lt;br /&gt;
|-&lt;br /&gt;
| SFC 42 || EN_AIRT || Enable high-priority asynchron and alarm error processing&lt;br /&gt;
|-&lt;br /&gt;
| SFC 43 || RE_TRIGR || Retrigger the Watchdog&lt;br /&gt;
|-&lt;br /&gt;
| SFC 46 || STP || CPU operating state STOP&lt;br /&gt;
|-&lt;br /&gt;
| SFC 49 (3) || LGC_GADR || Detect the solt of a logic address&lt;br /&gt;
|-&lt;br /&gt;
| SFC 50 (3) || RD_LAGADR || Detect all logic addresses of a component&lt;br /&gt;
|-&lt;br /&gt;
| SFC 51 || RDSYST || Read out system status list (SSL)&lt;br /&gt;
|-&lt;br /&gt;
| SFC 64 || TIME_TCK || Timer Tick&lt;br /&gt;
|-&lt;br /&gt;
| SFC 81 || UBLKMOV || Block Move, that can not be stopped&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(1)The SFC 13 is available only, when the driver Cifcfg.dll is loaded. Furthermore it can only return valid results, if the PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; configuration has been created via the &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; hardware configuration or the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration. This is only possible when using the driver CIFCFG.DLL.&lt;br /&gt;
&lt;br /&gt;
(2)The SFC 14 and SFC 15 are available only, if they are loaded via the driver CIF30D0.DLL or the driver CIFCFG.DLL.&lt;br /&gt;
&lt;br /&gt;
(3)The SFCs can only return valid results, if the PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 configuration has been created via the &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration or the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration. This is only possible when using the driver CIFCFG.DLL.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated system blocks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The system blocks (SFB) relevant for a software PLC are integrated in &#039;&#039;S7-SoftPLC&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The following system function blocks are supported:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! SFB no !! SFB name !! Short Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:7em&amp;quot;| SFB 0 ||style=&amp;quot;width:7em&amp;quot;| CTU || Count up&lt;br /&gt;
|-&lt;br /&gt;
| SFB 1 || CTD || Count down&lt;br /&gt;
|-&lt;br /&gt;
| SFB 2 || CTUD || Count up and down&lt;br /&gt;
|-&lt;br /&gt;
| SFB 3 || TP || Generate pulse&lt;br /&gt;
|-&lt;br /&gt;
| SFB 4 || TON || Generate ON-delay&lt;br /&gt;
|-&lt;br /&gt;
| SFB 5 || TOF || Generate OFF-delay&lt;br /&gt;
|-&lt;br /&gt;
| SFB 32 || DRUM || Implement sequencer&lt;br /&gt;
|-&lt;br /&gt;
| SFB 52 (4) || RDREC_DP || Read data record&lt;br /&gt;
|-&lt;br /&gt;
| SFB 53 (4) || WRREC_DP || Write data record&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(4)The SFB 52 and SFB 53 are only available if the driver CIFCFG.DLL is loaded and the entry DPV1=1 is set.&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Instruction_set&amp;diff=1152</id>
		<title>S7-SoftPLC:Instruction set</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Instruction_set&amp;diff=1152"/>
		<updated>2013-01-23T11:57:16Z</updated>

		<summary type="html">&lt;p&gt;Jonas: /* Data type conversion instructions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The programming language of the IBH&#039;&#039;softec&#039;&#039; &#039;&#039;S7-SoftPLC 315&#039;&#039;and &#039;&#039;S7-SoftPLC 416&#039;&#039; controls is STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 and can be made with the programming tools &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; or STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 from Siemens. The complete instruction set of the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 language is supported.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;S7-SoftPLC 315&#039;&#039; has the complete instruction set of the SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; S7-315 CPU.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;S7-SoftPLC 416&#039;&#039; has the complete instruction set of the SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; S7-416 CPU.&lt;br /&gt;
&lt;br /&gt;
== Bit logic instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Instruction !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| A ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AND with a scan to &amp;quot;1&amp;quot;“&lt;br /&gt;
|-&lt;br /&gt;
| AN ||  || AND with a scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| O ||  || OR with scan to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| ON ||  || OR with scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| X ||  || Exclusive-OR with a scan to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| XN ||  || Exclusive-OR with a scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|  || I || of an input&lt;br /&gt;
|-&lt;br /&gt;
|  || Q || of an output&lt;br /&gt;
|-&lt;br /&gt;
|  || M || of a memory&lt;br /&gt;
|-&lt;br /&gt;
|  || L || of a local data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || T || of a timer&lt;br /&gt;
|-&lt;br /&gt;
|  || C || of a counter&lt;br /&gt;
|-&lt;br /&gt;
|  || DBX || of a data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || DIX || of an instant data bit&lt;br /&gt;
|-&lt;br /&gt;
| ==0 ||  || result equal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;0 ||  || result unequal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;0 ||  || result greater than zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=0 ||  || result greater or equal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;0 ||  || result less than zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=0 ||  || result less or equal zero&lt;br /&gt;
|-&lt;br /&gt;
| UO ||  || invalid result&lt;br /&gt;
|-&lt;br /&gt;
| OV ||  || overflow&lt;br /&gt;
|-&lt;br /&gt;
| OS ||  || overflow (saving)&lt;br /&gt;
|-&lt;br /&gt;
| BR ||  || binary result&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other boolean logic instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| A( ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AND left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| AN( ||  || AND NOT left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| O( ||  || OR left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| ON( ||  || OR NOT left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| X( ||  || Exclusive OR left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| XN( ||  || Exclusive OR NOT left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| ) ||  || Right parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| O ||  || OR-ing AND operations &lt;br /&gt;
|-&lt;br /&gt;
| NOT ||  || Negate RLO&lt;br /&gt;
|-&lt;br /&gt;
| SET ||  || Set RLO to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| CLR ||  || Set RLO to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| SAVE ||  || Save RLO to the BR bit&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| = ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Assign value of RLO&lt;br /&gt;
|-&lt;br /&gt;
| S ||  || Set&lt;br /&gt;
|-&lt;br /&gt;
| R ||  || Reset&lt;br /&gt;
|-&lt;br /&gt;
| FP ||  || Positive edge detection&lt;br /&gt;
|-&lt;br /&gt;
| FN ||  || Negative edge detection&lt;br /&gt;
|-&lt;br /&gt;
|  || I || of an input bit&lt;br /&gt;
|-&lt;br /&gt;
|  || Q || of an output bit&lt;br /&gt;
|-&lt;br /&gt;
|  || M || of a memory bit&lt;br /&gt;
|-&lt;br /&gt;
|  || L || of a local data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || DBX || of a data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || DIX || of a instance data bit&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Master Control Relay ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| MCRA ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Activate MCR&lt;br /&gt;
|-&lt;br /&gt;
| MCRD ||  || Deactivate MCR&lt;br /&gt;
|-&lt;br /&gt;
| MCR( ||  || Open MCR zone&lt;br /&gt;
|-&lt;br /&gt;
| )MCR ||  || Close MCR zone&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Load / Transfer instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| L ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Load operand&lt;br /&gt;
|-&lt;br /&gt;
| T ||  || Transfer operand&lt;br /&gt;
|-&lt;br /&gt;
|  || IB || Input byte&lt;br /&gt;
|-&lt;br /&gt;
|  || IW || Input word&lt;br /&gt;
|-&lt;br /&gt;
|  || ID || Input double word&lt;br /&gt;
|-&lt;br /&gt;
|  || QB || Output byte&lt;br /&gt;
|-&lt;br /&gt;
|  || QW || Output word&lt;br /&gt;
|-&lt;br /&gt;
|  || QD || Ouput double word&lt;br /&gt;
|-&lt;br /&gt;
|  || MB || Memory byte&lt;br /&gt;
|-&lt;br /&gt;
|  || MW || Memory word&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || Memory double word&lt;br /&gt;
|-&lt;br /&gt;
|  || LB || Local data byte&lt;br /&gt;
|-&lt;br /&gt;
|  || LW || Local data word&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || Local data double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBB || Data block byte&lt;br /&gt;
|-&lt;br /&gt;
|  || DBW || Data block word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || Data block double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DIB || Instance data block byte&lt;br /&gt;
|-&lt;br /&gt;
|  || DIW || Instance data block word&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || Instance data block double word&lt;br /&gt;
|-&lt;br /&gt;
|  || STW || Status word&lt;br /&gt;
|-&lt;br /&gt;
| L || const || Load constant value&lt;br /&gt;
|-&lt;br /&gt;
| L || #Pointer || Load pointer&lt;br /&gt;
|-&lt;br /&gt;
| L || T || Timer&lt;br /&gt;
|-&lt;br /&gt;
| LC || T || Timer (BCD coded)&lt;br /&gt;
|-&lt;br /&gt;
| L || Z || Counter&lt;br /&gt;
|-&lt;br /&gt;
| LC || Z || Counter (BCD coded)&lt;br /&gt;
|-&lt;br /&gt;
| L || DBNO || Data block number&lt;br /&gt;
|-&lt;br /&gt;
| L || DBLG || Data block length&lt;br /&gt;
|-&lt;br /&gt;
| L || DINO || Instance data block number&lt;br /&gt;
|-&lt;br /&gt;
| L || DILG || Instance data block length&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Peripheral access instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| L ||style=&amp;quot;width: 5em&amp;quot;| PIB ||style=&amp;quot;width: 22em&amp;quot;| Load peripheral input byte&lt;br /&gt;
|-&lt;br /&gt;
| L || PIW || Load peripheral input word&lt;br /&gt;
|-&lt;br /&gt;
| L || PID || Load peripheral input double word&lt;br /&gt;
|-&lt;br /&gt;
| T || PQB || Transfer peripheral output byte&lt;br /&gt;
|-&lt;br /&gt;
| T || PQW || Transfer peripheral output word&lt;br /&gt;
|-&lt;br /&gt;
| T || PQD || Transfer peripheral output double word&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Accumulator instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| PUSH ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Push accumulators upwards&lt;br /&gt;
|-&lt;br /&gt;
| POP ||  || Push accumulators downwards&lt;br /&gt;
|-&lt;br /&gt;
| ENT ||  || Push accumulators (without A1) A2-&amp;gt;A3, A3-&amp;gt;A4&lt;br /&gt;
|-&lt;br /&gt;
| LEAVE ||  || Push accumulators (without A1) A4-&amp;gt;A3, A3-&amp;gt;A2&lt;br /&gt;
|-&lt;br /&gt;
| TAK ||  || Change ACCU1 with ACCU2&lt;br /&gt;
|-&lt;br /&gt;
| CAW ||  || Change ACCU1 bytes 0 and 1&lt;br /&gt;
|-&lt;br /&gt;
| CAD ||  || Change ACCU1 bytes 0 and 3, 1 and 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Shift and rotating instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| SLW ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 23em&amp;quot;| Shift ACCU1-L left (word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SLD ||  || Shift ACCU1 left (double word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SRW ||  || Shift ACCU1-L right (word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SRD ||  || Shift ACCU1 right (double word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SSI ||  || Shift ACCU1-L right (word shift with sign)&lt;br /&gt;
|-&lt;br /&gt;
| SSD ||  || Shift ACCU1 right (double word shift with sign)&lt;br /&gt;
|-&lt;br /&gt;
| RLD ||  || Rotate ACCU1 left (double word)&lt;br /&gt;
|-&lt;br /&gt;
| RLDA ||  || Rotate ACCU1 left through CC1&lt;br /&gt;
|-&lt;br /&gt;
| RRDA ||  || Rotate ACCU1 right through CC1&lt;br /&gt;
|-&lt;br /&gt;
| RRD ||  || Rotate ACCU1 right (double word)&lt;br /&gt;
|-&lt;br /&gt;
|  || const || Number of places to shift/rotate&lt;br /&gt;
|-&lt;br /&gt;
|  || - || Number of places to shift/rotate located in ACCU2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Timer instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| SP ||style=&amp;quot;width: 5em&amp;quot;| T ||style=&amp;quot;width: 22em&amp;quot;| Start as impulse&lt;br /&gt;
|-&lt;br /&gt;
| SE || T || Start as extendet impulse&lt;br /&gt;
|-&lt;br /&gt;
| SD || T || Start as ON-delay&lt;br /&gt;
|-&lt;br /&gt;
| SS || T || Start as saving ON-delay&lt;br /&gt;
|-&lt;br /&gt;
| SF || T || Start as OFF-delay&lt;br /&gt;
|-&lt;br /&gt;
| R || T || Reset timer&lt;br /&gt;
|-&lt;br /&gt;
| FR || T || Enable timer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Counter instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| CU ||style=&amp;quot;width: 5em&amp;quot;| C ||style=&amp;quot;width: 22em&amp;quot;| Count up (increment)&lt;br /&gt;
|-&lt;br /&gt;
| CD || C || Count down (decrement)&lt;br /&gt;
|-&lt;br /&gt;
| S || C || Set counter&lt;br /&gt;
|-&lt;br /&gt;
| R || C || Reset counter&lt;br /&gt;
|-&lt;br /&gt;
| FR || C || Enable counter&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Word instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| AW ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AND ACCU1-L (AND word)&lt;br /&gt;
|-&lt;br /&gt;
| AD ||  || AND ACCU1 (AND double word)&lt;br /&gt;
|-&lt;br /&gt;
| OW ||  || OR ACCU1-L (OR word)&lt;br /&gt;
|-&lt;br /&gt;
| OD ||  || OR ACCU1 (OR double word)&lt;br /&gt;
|-&lt;br /&gt;
| XOW ||  || Exclusive-OR ACCU (XOR word)&lt;br /&gt;
|-&lt;br /&gt;
| XOD ||  || Exclusive-OR ACCU (XOR double word)&lt;br /&gt;
|-&lt;br /&gt;
|  || const || with a word or double word constant&lt;br /&gt;
|-&lt;br /&gt;
|  || - || with ACCU2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Arithmetic instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| ==I ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Integer values equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;I ||  || Integer values unequal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;I ||  || Integer values greater&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=I ||  || Integer values greather or equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;I ||  || Integer values less&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=I ||  || Integer values less or equal&lt;br /&gt;
|-&lt;br /&gt;
| ==D ||  || Double integer values equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;D ||  || Double integer values unequal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;D ||  || Double integer values greater&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=D ||  || Double integer values greater or equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;D ||  || Double integer values less&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=D ||  || Double integer values less or equal&lt;br /&gt;
|-&lt;br /&gt;
| ==R ||  || Real values equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;R ||  || Real values unequal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;R ||  || Real values greater&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=R ||  || Real values greater or equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;R ||  || Real values less&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=R ||  || Real values less or equal&lt;br /&gt;
|-&lt;br /&gt;
| SIN ||  || Sine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| COS ||  || Cosine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| TAN ||  || Tangent of a real value&lt;br /&gt;
|-&lt;br /&gt;
| ASIN ||  || Arcsine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| ACOS ||  || Arccosine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| ATAN ||  || Arctangent of a real value&lt;br /&gt;
|-&lt;br /&gt;
| SQR ||  || Square a real value&lt;br /&gt;
|-&lt;br /&gt;
| SQRT ||  || Square root a real value&lt;br /&gt;
|-&lt;br /&gt;
| EXP ||  || e to the power of a real value&lt;br /&gt;
|-&lt;br /&gt;
| LN ||  || Natural logarithm of a real value&lt;br /&gt;
|-&lt;br /&gt;
| +I ||  || Integer addition&lt;br /&gt;
|-&lt;br /&gt;
| -I ||  || Integer subtraction&lt;br /&gt;
|-&lt;br /&gt;
| *I ||  || Integer multiplication&lt;br /&gt;
|-&lt;br /&gt;
| /I ||  || Integer division&lt;br /&gt;
|-&lt;br /&gt;
| +D ||  || Double-integer addition&lt;br /&gt;
|-&lt;br /&gt;
| -D ||  || Double-integer subtraction&lt;br /&gt;
|-&lt;br /&gt;
| *D ||  || Double-integer multiplication&lt;br /&gt;
|-&lt;br /&gt;
| /D ||  || Double-integer division&lt;br /&gt;
|-&lt;br /&gt;
| +R ||  || Real addition&lt;br /&gt;
|-&lt;br /&gt;
| -R ||  || Real subtraction&lt;br /&gt;
|-&lt;br /&gt;
| *R ||  || Real multiplication&lt;br /&gt;
|-&lt;br /&gt;
| /R ||  || Real division&lt;br /&gt;
|-&lt;br /&gt;
| MOD ||  || Double integer division (modulo)&lt;br /&gt;
|-&lt;br /&gt;
| + || const || Add a constant&lt;br /&gt;
|-&lt;br /&gt;
| +P# || const || Add a pointer&lt;br /&gt;
|-&lt;br /&gt;
| DEC ||  || dekrement ACCU1-LL (one byte)&lt;br /&gt;
|-&lt;br /&gt;
| INC ||  || inkrement ACCU1-LL (one byte)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Data type conversion instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| ITD ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Convert integer to double integer&lt;br /&gt;
|-&lt;br /&gt;
| ITB ||  || Convert integer to BCD&lt;br /&gt;
|-&lt;br /&gt;
| DTB ||  || Convert double integer to BCD&lt;br /&gt;
|-&lt;br /&gt;
| DTR ||  || Convert double integer to real&lt;br /&gt;
|-&lt;br /&gt;
| BTI ||  || Convert BCD to integer&lt;br /&gt;
|-&lt;br /&gt;
| BTD ||  || Convert BCD to double integer&lt;br /&gt;
|-&lt;br /&gt;
| RND ||  || Convert real to double integer (round)&lt;br /&gt;
|-&lt;br /&gt;
| RND+ ||  || Convert real to double integer (round up)&lt;br /&gt;
|-&lt;br /&gt;
| RND- ||  || Convert real to double integer (round down)&lt;br /&gt;
|-&lt;br /&gt;
| TRUNC ||  || Convert real to double integer (truncate)&lt;br /&gt;
|-&lt;br /&gt;
| INVI ||  || Invert ACCU1-L (integer)&lt;br /&gt;
|-&lt;br /&gt;
| INVD ||  || Invert ACCU1 (double integer)&lt;br /&gt;
|-&lt;br /&gt;
| NEGI ||  || Negate ACCU1-L (integer)&lt;br /&gt;
|-&lt;br /&gt;
| NEGD ||  || Negate ACCU1 (double integer)&lt;br /&gt;
|-&lt;br /&gt;
| NEGR ||  || Negate ACCU1 (real)&lt;br /&gt;
|-&lt;br /&gt;
| ABS ||  || Absolute value (real)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Jump instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| JU ||style=&amp;quot;width: 5em&amp;quot;| goal ||style=&amp;quot;width: 22em&amp;quot;| Jump unconditional&lt;br /&gt;
|-&lt;br /&gt;
| JC || goal || Jump if RLO = 1&lt;br /&gt;
|-&lt;br /&gt;
| JCB || goal || Jump if RLO = 1 (save RLO)&lt;br /&gt;
|-&lt;br /&gt;
| JCN || goal || Jump if RLO = 0&lt;br /&gt;
|-&lt;br /&gt;
| JNB || goal || Jump if RLO = 0 (save RLO)&lt;br /&gt;
|-&lt;br /&gt;
| JBI || goal || Jump if BR = 1&lt;br /&gt;
|-&lt;br /&gt;
| JNBI || goal || Jump if BR = 0&lt;br /&gt;
|-&lt;br /&gt;
| JZ || goal || Jump if compare result = 0&lt;br /&gt;
|-&lt;br /&gt;
| JN || goal || Jump if compare result != 0&lt;br /&gt;
|-&lt;br /&gt;
| JP || goal || Jump if compare result &amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| JPZ || goal || Jump if compare result &amp;gt;= 0&lt;br /&gt;
|-&lt;br /&gt;
| JM || goal || Jump if compare result &amp;lt; 0&lt;br /&gt;
|-&lt;br /&gt;
| JMZ || goal || Jump if compare result &amp;lt;= 0&lt;br /&gt;
|-&lt;br /&gt;
| JUO || goal || Jump if compare result &amp;quot;Unordered Math Instruction&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| JO || goal || Jump on overflow&lt;br /&gt;
|-&lt;br /&gt;
| JOS || goal || Jump on saving overflow&lt;br /&gt;
|-&lt;br /&gt;
| JL || goal || Jump distributor&lt;br /&gt;
|-&lt;br /&gt;
| LOOP || goal || Loop programming (decrement ACCU1-L and jump if != 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Block call instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| CALL FB ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Unconditional call of an FB with parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CALL FC ||  || Unconditional call of an FC with parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CALL SFB ||  || Unconditional call of an SFB with parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CALL SFC ||  || Unconditional call of an SFC with parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| UC FB ||  || Unconditional call of an FB without parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CC FB ||  || Conditional call of an FB without parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| UC FC ||  || Unconditional call of an FC without parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CC FC ||  || Conditional call of an FC without parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| BEU ||  || End block unconditionally&lt;br /&gt;
|-&lt;br /&gt;
| BEC ||  || End block conditionally (RLO = 1)&lt;br /&gt;
|-&lt;br /&gt;
| BE ||  || End block&lt;br /&gt;
|-&lt;br /&gt;
| OPN || ||&lt;br /&gt;
|-&lt;br /&gt;
|  || DB || Open data block&lt;br /&gt;
|-&lt;br /&gt;
|  || DI || Open instance data block&lt;br /&gt;
|-&lt;br /&gt;
| TDB ||  || Exchange data block registers&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Indirect adressing instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| LAR1/LAR2 ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Load AR1/AR2&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || with memory double word&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || with local data double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || with datablock double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || with instance data block double word&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 || - || Load AR1 with ACCU1&lt;br /&gt;
|-&lt;br /&gt;
| LAR2 || - || Laod AR2 with ACCU1&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 || AR2 || Load AR1 with AR2&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 || P# || Load AR1 with pointer&lt;br /&gt;
|-&lt;br /&gt;
| LAR2 || P# || Load AR2 with pointer&lt;br /&gt;
|-&lt;br /&gt;
| TAR1/TAR2 ||  || Transfer in AR1/AR2&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || in memory double word&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || in local data double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || in datablock double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || in instance data block double word&lt;br /&gt;
|-&lt;br /&gt;
| TAR1 || - || Transfer AR1 in ACCU1&lt;br /&gt;
|-&lt;br /&gt;
| TAR2 || - || Transfer AR2 in ACCU1&lt;br /&gt;
|-&lt;br /&gt;
| TAR1 || AR2 || Transfer AR1 in AR2&lt;br /&gt;
|-&lt;br /&gt;
| TAR ||  || Swap AR1 with AR2&lt;br /&gt;
|-&lt;br /&gt;
| +AR1 ||  || Add ACCU1 to AR1&lt;br /&gt;
|-&lt;br /&gt;
| +AR2 ||  || Add ACCU1 to AR2&lt;br /&gt;
|-&lt;br /&gt;
| +AR1 || P# || Add pointer to AR1&lt;br /&gt;
|-&lt;br /&gt;
| +AR2 || P# || Add pointer to AR2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Program display and null operation instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| NOP ||style=&amp;quot;width: 5em&amp;quot;| 0 ||style=&amp;quot;width: 22em&amp;quot;| Null operation instruction&lt;br /&gt;
|-&lt;br /&gt;
| NOP || 1 || Null operation instruction&lt;br /&gt;
|-&lt;br /&gt;
| BLD || const || Program display instruction (null operation)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Layout of &#039;&#039;S7-SoftPLC&#039;&#039; memory&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The memory of &#039;&#039;S7-SoftPLC 315&#039;&#039; and &#039;&#039;S7-SoftPLC 416&#039;&#039; is compatible to the memory of SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;-control S7-315 or S7-416.&lt;br /&gt;
&lt;br /&gt;
Please note, that the low-order byte has to be interchanged with the high-order byte when accessing this memory with Windows programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Layout of SoftPLC system data&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The layout of the system data in the system data is compatible to the system data of SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;-control S7-315 or S7-416.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated organisation blocks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The organisation blocks, listed in the chart below, are executed, if they are programmed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! OB no !! Short Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:14em&amp;quot;| OB 1 ||style=&amp;quot;width:14em&amp;quot;| Main programm&lt;br /&gt;
|-&lt;br /&gt;
| OB 10 – OB 17 || Time alarm&lt;br /&gt;
|-&lt;br /&gt;
| OB 20 – OB 23 || Delay alarm&lt;br /&gt;
|-&lt;br /&gt;
| OB 30 – OB 38 || Time blocks (cyclic call)&lt;br /&gt;
|-&lt;br /&gt;
| OB 80 – OB 87 || Error blocks&lt;br /&gt;
|-&lt;br /&gt;
| OB 90 || Background execution&lt;br /&gt;
|-&lt;br /&gt;
| OB 100/OB 101 || Warm or hot restart&lt;br /&gt;
|-&lt;br /&gt;
| OB 121/OB 122 || Programming faults&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated system functions&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
All system functions (SFC) relevant for a Software PLC are integrated in &#039;&#039;S7-SoftPLC&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The chart below shows the available SFCs(in numeric listing)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! SFC no !! SF name !! Short Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:7em&amp;quot;| SFC 0 ||style=&amp;quot;width:8em&amp;quot;| SET_CLK || Set system clock&lt;br /&gt;
|-&lt;br /&gt;
| SFC 1 || READ_CLK || Read system clock&lt;br /&gt;
|-&lt;br /&gt;
| SFC 5  (3) || GADR_LGC || Detect the logic basis address of a component&lt;br /&gt;
|-&lt;br /&gt;
| SFC 6 || RD_SINFO || Read out start information of actual OBs&lt;br /&gt;
|-&lt;br /&gt;
| SFC 13 (1) || DPNRM_DG || Slave-Diagnosis of a DP-slave&lt;br /&gt;
|-&lt;br /&gt;
| SFC 14 (2) || DPRD_DAT || Read consistent data of a DP-norm slave&lt;br /&gt;
|-&lt;br /&gt;
| SFC 15 (2) || DPWR_DAT || Write data consistent on DP-norm slave&lt;br /&gt;
|-&lt;br /&gt;
| SFC 20 || BLKMOV || Copy PLC-variable in target-area&lt;br /&gt;
|-&lt;br /&gt;
| SFC 21 || FILL || Preoccupy PLC-variable in target-area&lt;br /&gt;
|-&lt;br /&gt;
| SFC 22 || CREAT_DB || Create data block&lt;br /&gt;
|-&lt;br /&gt;
| SFC 23 || DEL_DB || Delete data block&lt;br /&gt;
|-&lt;br /&gt;
| SFC 24 || TEST_DB || Test attributes of a data block&lt;br /&gt;
|-&lt;br /&gt;
| SFC 25 || COMPRESS || Compress load memory&lt;br /&gt;
|-&lt;br /&gt;
| SFC 28 || SET_TINT || Set time alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 29 || CAN_TINT || Stop time alarm (do not execute)&lt;br /&gt;
|-&lt;br /&gt;
| SFC 30 || ACT_TINT || Enable time alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 31 || QRY_TINT || Status of time alarm &lt;br /&gt;
|-&lt;br /&gt;
| SFC 32 || SRT_DINT || Start delay alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 33 || CAN_DINT || Stop delay alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 34 || QRY_DINT || Status query of delay alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 36 || MSK_FLT || Mask a synchron error occurrence&lt;br /&gt;
|-&lt;br /&gt;
| SFC 37 || DMSK_FLT || Demask a synchron error occurrence&lt;br /&gt;
|-&lt;br /&gt;
| SFC 38 || READ_ERR || Read out the occurrence status register&lt;br /&gt;
|-&lt;br /&gt;
| SFC 39 || DIS_IRT || Locking the asynchron and alarm error processing&lt;br /&gt;
|-&lt;br /&gt;
| SFC 40 || EN_IRT || Enable the asynchron and alarm error processing&lt;br /&gt;
|-&lt;br /&gt;
| SFC 41 || DIS_AIRT || Delay high-priority asynchron and alarm error processing&lt;br /&gt;
|-&lt;br /&gt;
| SFC 42 || EN_AIRT || Enable high-priority asynchron and alarm error processing&lt;br /&gt;
|-&lt;br /&gt;
| SFC 43 || RE_TRIGR || Retrigger the Watchdog&lt;br /&gt;
|-&lt;br /&gt;
| SFC 46 || STP || CPU operating state STOP&lt;br /&gt;
|-&lt;br /&gt;
| SFC 49 (3) || LGC_GADR || Detect the solt of a logic address&lt;br /&gt;
|-&lt;br /&gt;
| SFC 50 (3) || RD_LAGADR || Detect all logic addresses of a component&lt;br /&gt;
|-&lt;br /&gt;
| SFC 51 || RDSYST || Read out system status list (SSL)&lt;br /&gt;
|-&lt;br /&gt;
| SFC 64 || TIME_TCK || Timer Tick&lt;br /&gt;
|-&lt;br /&gt;
| SFC 81 || UBLKMOV || Block Move, that can not be stopped&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(1)The SFC 13 is available only, when the driver Cifcfg.dll is loaded. Furthermore it can only return valid results, if the PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; configuration has been created via the &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; hardware configuration or the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration. This is only possible when using the driver CIFCFG.DLL.&lt;br /&gt;
&lt;br /&gt;
(2)The SFC 14 and SFC 15 are available only, if they are loaded via the driver CIF30D0.DLL or the driver CIFCFG.DLL.&lt;br /&gt;
&lt;br /&gt;
(3)The SFCs can only return valid results, if the PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 configuration has been created via the &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration or the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration. This is only possible when using the driver CIFCFG.DLL.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated system blocks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The system blocks (SFB) relevant for a software PLC are integrated in &#039;&#039;S7-SoftPLC&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The following system function blocks are supported:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! SFB no !! SFB name !! Short Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:7em&amp;quot;| SFB 0 ||style=&amp;quot;width:7em&amp;quot;| CTU || Count up&lt;br /&gt;
|-&lt;br /&gt;
| SFB 1 || CTD || Count down&lt;br /&gt;
|-&lt;br /&gt;
| SFB 2 || CTUD || Count up and down&lt;br /&gt;
|-&lt;br /&gt;
| SFB 3 || TP || Generate pulse&lt;br /&gt;
|-&lt;br /&gt;
| SFB 4 || TON || Generate ON-delay&lt;br /&gt;
|-&lt;br /&gt;
| SFB 5 || TOF || Generate OFF-delay&lt;br /&gt;
|-&lt;br /&gt;
| SFB 32 || DRUM || Implement sequencer&lt;br /&gt;
|-&lt;br /&gt;
| SFB 52 (4) || RDREC_DP || Read data record&lt;br /&gt;
|-&lt;br /&gt;
| SFB 53 (4) || WRREC_DP || Write data record&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(4)The SFB 52 and SFB 53 are only available if the driver CIFCFG.DLL is loaded and the entry DPV1=1 is set.&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Instruction_set&amp;diff=1151</id>
		<title>S7-SoftPLC:Instruction set</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Instruction_set&amp;diff=1151"/>
		<updated>2013-01-23T11:54:43Z</updated>

		<summary type="html">&lt;p&gt;Jonas: /* Shift and rotating instructions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The programming language of the IBH&#039;&#039;softec&#039;&#039; &#039;&#039;S7-SoftPLC 315&#039;&#039;and &#039;&#039;S7-SoftPLC 416&#039;&#039; controls is STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 and can be made with the programming tools &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; or STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 from Siemens. The complete instruction set of the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 language is supported.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;S7-SoftPLC 315&#039;&#039; has the complete instruction set of the SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; S7-315 CPU.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;S7-SoftPLC 416&#039;&#039; has the complete instruction set of the SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; S7-416 CPU.&lt;br /&gt;
&lt;br /&gt;
== Bit logic instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Instruction !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| A ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AND with a scan to &amp;quot;1&amp;quot;“&lt;br /&gt;
|-&lt;br /&gt;
| AN ||  || AND with a scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| O ||  || OR with scan to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| ON ||  || OR with scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| X ||  || Exclusive-OR with a scan to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| XN ||  || Exclusive-OR with a scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|  || I || of an input&lt;br /&gt;
|-&lt;br /&gt;
|  || Q || of an output&lt;br /&gt;
|-&lt;br /&gt;
|  || M || of a memory&lt;br /&gt;
|-&lt;br /&gt;
|  || L || of a local data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || T || of a timer&lt;br /&gt;
|-&lt;br /&gt;
|  || C || of a counter&lt;br /&gt;
|-&lt;br /&gt;
|  || DBX || of a data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || DIX || of an instant data bit&lt;br /&gt;
|-&lt;br /&gt;
| ==0 ||  || result equal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;0 ||  || result unequal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;0 ||  || result greater than zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=0 ||  || result greater or equal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;0 ||  || result less than zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=0 ||  || result less or equal zero&lt;br /&gt;
|-&lt;br /&gt;
| UO ||  || invalid result&lt;br /&gt;
|-&lt;br /&gt;
| OV ||  || overflow&lt;br /&gt;
|-&lt;br /&gt;
| OS ||  || overflow (saving)&lt;br /&gt;
|-&lt;br /&gt;
| BR ||  || binary result&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other boolean logic instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| A( ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AND left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| AN( ||  || AND NOT left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| O( ||  || OR left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| ON( ||  || OR NOT left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| X( ||  || Exclusive OR left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| XN( ||  || Exclusive OR NOT left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| ) ||  || Right parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| O ||  || OR-ing AND operations &lt;br /&gt;
|-&lt;br /&gt;
| NOT ||  || Negate RLO&lt;br /&gt;
|-&lt;br /&gt;
| SET ||  || Set RLO to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| CLR ||  || Set RLO to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| SAVE ||  || Save RLO to the BR bit&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| = ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Assign value of RLO&lt;br /&gt;
|-&lt;br /&gt;
| S ||  || Set&lt;br /&gt;
|-&lt;br /&gt;
| R ||  || Reset&lt;br /&gt;
|-&lt;br /&gt;
| FP ||  || Positive edge detection&lt;br /&gt;
|-&lt;br /&gt;
| FN ||  || Negative edge detection&lt;br /&gt;
|-&lt;br /&gt;
|  || I || of an input bit&lt;br /&gt;
|-&lt;br /&gt;
|  || Q || of an output bit&lt;br /&gt;
|-&lt;br /&gt;
|  || M || of a memory bit&lt;br /&gt;
|-&lt;br /&gt;
|  || L || of a local data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || DBX || of a data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || DIX || of a instance data bit&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Master Control Relay ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| MCRA ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Activate MCR&lt;br /&gt;
|-&lt;br /&gt;
| MCRD ||  || Deactivate MCR&lt;br /&gt;
|-&lt;br /&gt;
| MCR( ||  || Open MCR zone&lt;br /&gt;
|-&lt;br /&gt;
| )MCR ||  || Close MCR zone&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Load / Transfer instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| L ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Load operand&lt;br /&gt;
|-&lt;br /&gt;
| T ||  || Transfer operand&lt;br /&gt;
|-&lt;br /&gt;
|  || IB || Input byte&lt;br /&gt;
|-&lt;br /&gt;
|  || IW || Input word&lt;br /&gt;
|-&lt;br /&gt;
|  || ID || Input double word&lt;br /&gt;
|-&lt;br /&gt;
|  || QB || Output byte&lt;br /&gt;
|-&lt;br /&gt;
|  || QW || Output word&lt;br /&gt;
|-&lt;br /&gt;
|  || QD || Ouput double word&lt;br /&gt;
|-&lt;br /&gt;
|  || MB || Memory byte&lt;br /&gt;
|-&lt;br /&gt;
|  || MW || Memory word&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || Memory double word&lt;br /&gt;
|-&lt;br /&gt;
|  || LB || Local data byte&lt;br /&gt;
|-&lt;br /&gt;
|  || LW || Local data word&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || Local data double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBB || Data block byte&lt;br /&gt;
|-&lt;br /&gt;
|  || DBW || Data block word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || Data block double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DIB || Instance data block byte&lt;br /&gt;
|-&lt;br /&gt;
|  || DIW || Instance data block word&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || Instance data block double word&lt;br /&gt;
|-&lt;br /&gt;
|  || STW || Status word&lt;br /&gt;
|-&lt;br /&gt;
| L || const || Load constant value&lt;br /&gt;
|-&lt;br /&gt;
| L || #Pointer || Load pointer&lt;br /&gt;
|-&lt;br /&gt;
| L || T || Timer&lt;br /&gt;
|-&lt;br /&gt;
| LC || T || Timer (BCD coded)&lt;br /&gt;
|-&lt;br /&gt;
| L || Z || Counter&lt;br /&gt;
|-&lt;br /&gt;
| LC || Z || Counter (BCD coded)&lt;br /&gt;
|-&lt;br /&gt;
| L || DBNO || Data block number&lt;br /&gt;
|-&lt;br /&gt;
| L || DBLG || Data block length&lt;br /&gt;
|-&lt;br /&gt;
| L || DINO || Instance data block number&lt;br /&gt;
|-&lt;br /&gt;
| L || DILG || Instance data block length&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Peripheral access instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| L ||style=&amp;quot;width: 5em&amp;quot;| PIB ||style=&amp;quot;width: 22em&amp;quot;| Load peripheral input byte&lt;br /&gt;
|-&lt;br /&gt;
| L || PIW || Load peripheral input word&lt;br /&gt;
|-&lt;br /&gt;
| L || PID || Load peripheral input double word&lt;br /&gt;
|-&lt;br /&gt;
| T || PQB || Transfer peripheral output byte&lt;br /&gt;
|-&lt;br /&gt;
| T || PQW || Transfer peripheral output word&lt;br /&gt;
|-&lt;br /&gt;
| T || PQD || Transfer peripheral output double word&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Accumulator instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| PUSH ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Push accumulators upwards&lt;br /&gt;
|-&lt;br /&gt;
| POP ||  || Push accumulators downwards&lt;br /&gt;
|-&lt;br /&gt;
| ENT ||  || Push accumulators (without A1) A2-&amp;gt;A3, A3-&amp;gt;A4&lt;br /&gt;
|-&lt;br /&gt;
| LEAVE ||  || Push accumulators (without A1) A4-&amp;gt;A3, A3-&amp;gt;A2&lt;br /&gt;
|-&lt;br /&gt;
| TAK ||  || Change ACCU1 with ACCU2&lt;br /&gt;
|-&lt;br /&gt;
| CAW ||  || Change ACCU1 bytes 0 and 1&lt;br /&gt;
|-&lt;br /&gt;
| CAD ||  || Change ACCU1 bytes 0 and 3, 1 and 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Shift and rotating instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| SLW ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 23em&amp;quot;| Shift ACCU1-L left (word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SLD ||  || Shift ACCU1 left (double word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SRW ||  || Shift ACCU1-L right (word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SRD ||  || Shift ACCU1 right (double word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SSI ||  || Shift ACCU1-L right (word shift with sign)&lt;br /&gt;
|-&lt;br /&gt;
| SSD ||  || Shift ACCU1 right (double word shift with sign)&lt;br /&gt;
|-&lt;br /&gt;
| RLD ||  || Rotate ACCU1 left (double word)&lt;br /&gt;
|-&lt;br /&gt;
| RLDA ||  || Rotate ACCU1 left through CC1&lt;br /&gt;
|-&lt;br /&gt;
| RRDA ||  || Rotate ACCU1 right through CC1&lt;br /&gt;
|-&lt;br /&gt;
| RRD ||  || Rotate ACCU1 right (double word)&lt;br /&gt;
|-&lt;br /&gt;
|  || const || Number of places to shift/rotate&lt;br /&gt;
|-&lt;br /&gt;
|  || - || Number of places to shift/rotate located in ACCU2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Timer instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| SP ||style=&amp;quot;width: 5em&amp;quot;| T ||style=&amp;quot;width: 22em&amp;quot;| Start as impulse&lt;br /&gt;
|-&lt;br /&gt;
| SE || T || Start as extendet impulse&lt;br /&gt;
|-&lt;br /&gt;
| SD || T || Start as ON-delay&lt;br /&gt;
|-&lt;br /&gt;
| SS || T || Start as saving ON-delay&lt;br /&gt;
|-&lt;br /&gt;
| SF || T || Start as OFF-delay&lt;br /&gt;
|-&lt;br /&gt;
| R || T || Reset timer&lt;br /&gt;
|-&lt;br /&gt;
| FR || T || Enable timer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Counter instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| CU ||style=&amp;quot;width: 5em&amp;quot;| C ||style=&amp;quot;width: 22em&amp;quot;| Count up (increment)&lt;br /&gt;
|-&lt;br /&gt;
| CD || C || Count down (decrement)&lt;br /&gt;
|-&lt;br /&gt;
| S || C || Set counter&lt;br /&gt;
|-&lt;br /&gt;
| R || C || Reset counter&lt;br /&gt;
|-&lt;br /&gt;
| FR || C || Enable counter&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Word instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| AW ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AND ACCU1-L (AND word)&lt;br /&gt;
|-&lt;br /&gt;
| AD ||  || AND ACCU1 (AND double word)&lt;br /&gt;
|-&lt;br /&gt;
| OW ||  || OR ACCU1-L (OR word)&lt;br /&gt;
|-&lt;br /&gt;
| OD ||  || OR ACCU1 (OR double word)&lt;br /&gt;
|-&lt;br /&gt;
| XOW ||  || Exclusive-OR ACCU (XOR word)&lt;br /&gt;
|-&lt;br /&gt;
| XOD ||  || Exclusive-OR ACCU (XOR double word)&lt;br /&gt;
|-&lt;br /&gt;
|  || const || with a word or double word constant&lt;br /&gt;
|-&lt;br /&gt;
|  || - || with ACCU2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Arithmetic instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| ==I ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Integer values equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;I ||  || Integer values unequal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;I ||  || Integer values greater&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=I ||  || Integer values greather or equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;I ||  || Integer values less&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=I ||  || Integer values less or equal&lt;br /&gt;
|-&lt;br /&gt;
| ==D ||  || Double integer values equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;D ||  || Double integer values unequal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;D ||  || Double integer values greater&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=D ||  || Double integer values greater or equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;D ||  || Double integer values less&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=D ||  || Double integer values less or equal&lt;br /&gt;
|-&lt;br /&gt;
| ==R ||  || Real values equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;R ||  || Real values unequal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;R ||  || Real values greater&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=R ||  || Real values greater or equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;R ||  || Real values less&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=R ||  || Real values less or equal&lt;br /&gt;
|-&lt;br /&gt;
| SIN ||  || Sine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| COS ||  || Cosine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| TAN ||  || Tangent of a real value&lt;br /&gt;
|-&lt;br /&gt;
| ASIN ||  || Arcsine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| ACOS ||  || Arccosine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| ATAN ||  || Arctangent of a real value&lt;br /&gt;
|-&lt;br /&gt;
| SQR ||  || Square a real value&lt;br /&gt;
|-&lt;br /&gt;
| SQRT ||  || Square root a real value&lt;br /&gt;
|-&lt;br /&gt;
| EXP ||  || e to the power of a real value&lt;br /&gt;
|-&lt;br /&gt;
| LN ||  || Natural logarithm of a real value&lt;br /&gt;
|-&lt;br /&gt;
| +I ||  || Integer addition&lt;br /&gt;
|-&lt;br /&gt;
| -I ||  || Integer subtraction&lt;br /&gt;
|-&lt;br /&gt;
| *I ||  || Integer multiplication&lt;br /&gt;
|-&lt;br /&gt;
| /I ||  || Integer division&lt;br /&gt;
|-&lt;br /&gt;
| +D ||  || Double-integer addition&lt;br /&gt;
|-&lt;br /&gt;
| -D ||  || Double-integer subtraction&lt;br /&gt;
|-&lt;br /&gt;
| *D ||  || Double-integer multiplication&lt;br /&gt;
|-&lt;br /&gt;
| /D ||  || Double-integer division&lt;br /&gt;
|-&lt;br /&gt;
| +R ||  || Real addition&lt;br /&gt;
|-&lt;br /&gt;
| -R ||  || Real subtraction&lt;br /&gt;
|-&lt;br /&gt;
| *R ||  || Real multiplication&lt;br /&gt;
|-&lt;br /&gt;
| /R ||  || Real division&lt;br /&gt;
|-&lt;br /&gt;
| MOD ||  || Double integer division (modulo)&lt;br /&gt;
|-&lt;br /&gt;
| + || const || Add a constant&lt;br /&gt;
|-&lt;br /&gt;
| +P# || const || Add a pointer&lt;br /&gt;
|-&lt;br /&gt;
| DEC ||  || dekrement ACCU1-LL (one byte)&lt;br /&gt;
|-&lt;br /&gt;
| INC ||  || inkrement ACCU1-LL (one byte)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Data type conversion instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| ITD ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Convert integer to double integer&lt;br /&gt;
|-&lt;br /&gt;
| ITB ||  || Convert integer to BCD&lt;br /&gt;
|-&lt;br /&gt;
| DTB ||  || Convert double integer to BCD&lt;br /&gt;
|-&lt;br /&gt;
| DTR ||  || Convert double integer to real&lt;br /&gt;
|-&lt;br /&gt;
| BTI ||  || Convert BCD to integer&lt;br /&gt;
|-&lt;br /&gt;
| BTD ||  || Convert BCD to double integer&lt;br /&gt;
|-&lt;br /&gt;
| RND ||  || Convert real to double integer (round)&lt;br /&gt;
|-&lt;br /&gt;
| RND+ ||  || Convert real to double integer (round up)&lt;br /&gt;
|-&lt;br /&gt;
| RND- ||  || Convert real to double integer (round down)&lt;br /&gt;
|-&lt;br /&gt;
| TRUNC ||  || Convert reeal to double integer (truncate)&lt;br /&gt;
|-&lt;br /&gt;
| INVI ||  || Invert ACCU1-L (integer)&lt;br /&gt;
|-&lt;br /&gt;
| INVD ||  || Invert ACCU1 (double integer)&lt;br /&gt;
|-&lt;br /&gt;
| NEGI ||  || Negate ACCU1-L (integer)&lt;br /&gt;
|-&lt;br /&gt;
| NEGD ||  || Negate ACCU1 (double integer)&lt;br /&gt;
|-&lt;br /&gt;
| NEGR ||  || Negate ACCU1 (real)&lt;br /&gt;
|-&lt;br /&gt;
| ABS ||  || Absolute value (real)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Jump instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| JU ||style=&amp;quot;width: 5em&amp;quot;| goal ||style=&amp;quot;width: 22em&amp;quot;| Jump unconditional&lt;br /&gt;
|-&lt;br /&gt;
| JC || goal || Jump if RLO = 1&lt;br /&gt;
|-&lt;br /&gt;
| JCB || goal || Jump if RLO = 1 (save RLO)&lt;br /&gt;
|-&lt;br /&gt;
| JCN || goal || Jump if RLO = 0&lt;br /&gt;
|-&lt;br /&gt;
| JNB || goal || Jump if RLO = 0 (save RLO)&lt;br /&gt;
|-&lt;br /&gt;
| JBI || goal || Jump if BR = 1&lt;br /&gt;
|-&lt;br /&gt;
| JNBI || goal || Jump if BR = 0&lt;br /&gt;
|-&lt;br /&gt;
| JZ || goal || Jump if compare result = 0&lt;br /&gt;
|-&lt;br /&gt;
| JN || goal || Jump if compare result != 0&lt;br /&gt;
|-&lt;br /&gt;
| JP || goal || Jump if compare result &amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| JPZ || goal || Jump if compare result &amp;gt;= 0&lt;br /&gt;
|-&lt;br /&gt;
| JM || goal || Jump if compare result &amp;lt; 0&lt;br /&gt;
|-&lt;br /&gt;
| JMZ || goal || Jump if compare result &amp;lt;= 0&lt;br /&gt;
|-&lt;br /&gt;
| JUO || goal || Jump if compare result &amp;quot;Unordered Math Instruction&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| JO || goal || Jump on overflow&lt;br /&gt;
|-&lt;br /&gt;
| JOS || goal || Jump on saving overflow&lt;br /&gt;
|-&lt;br /&gt;
| JL || goal || Jump distributor&lt;br /&gt;
|-&lt;br /&gt;
| LOOP || goal || Loop programming (decrement ACCU1-L and jump if != 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Block call instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| CALL FB ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Unconditional call of an FB with parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CALL FC ||  || Unconditional call of an FC with parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CALL SFB ||  || Unconditional call of an SFB with parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CALL SFC ||  || Unconditional call of an SFC with parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| UC FB ||  || Unconditional call of an FB without parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CC FB ||  || Conditional call of an FB without parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| UC FC ||  || Unconditional call of an FC without parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CC FC ||  || Conditional call of an FC without parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| BEU ||  || End block unconditionally&lt;br /&gt;
|-&lt;br /&gt;
| BEC ||  || End block conditionally (RLO = 1)&lt;br /&gt;
|-&lt;br /&gt;
| BE ||  || End block&lt;br /&gt;
|-&lt;br /&gt;
| OPN || ||&lt;br /&gt;
|-&lt;br /&gt;
|  || DB || Open data block&lt;br /&gt;
|-&lt;br /&gt;
|  || DI || Open instance data block&lt;br /&gt;
|-&lt;br /&gt;
| TDB ||  || Exchange data block registers&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Indirect adressing instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| LAR1/LAR2 ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Load AR1/AR2&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || with memory double word&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || with local data double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || with datablock double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || with instance data block double word&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 || - || Load AR1 with ACCU1&lt;br /&gt;
|-&lt;br /&gt;
| LAR2 || - || Laod AR2 with ACCU1&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 || AR2 || Load AR1 with AR2&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 || P# || Load AR1 with pointer&lt;br /&gt;
|-&lt;br /&gt;
| LAR2 || P# || Load AR2 with pointer&lt;br /&gt;
|-&lt;br /&gt;
| TAR1/TAR2 ||  || Transfer in AR1/AR2&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || in memory double word&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || in local data double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || in datablock double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || in instance data block double word&lt;br /&gt;
|-&lt;br /&gt;
| TAR1 || - || Transfer AR1 in ACCU1&lt;br /&gt;
|-&lt;br /&gt;
| TAR2 || - || Transfer AR2 in ACCU1&lt;br /&gt;
|-&lt;br /&gt;
| TAR1 || AR2 || Transfer AR1 in AR2&lt;br /&gt;
|-&lt;br /&gt;
| TAR ||  || Swap AR1 with AR2&lt;br /&gt;
|-&lt;br /&gt;
| +AR1 ||  || Add ACCU1 to AR1&lt;br /&gt;
|-&lt;br /&gt;
| +AR2 ||  || Add ACCU1 to AR2&lt;br /&gt;
|-&lt;br /&gt;
| +AR1 || P# || Add pointer to AR1&lt;br /&gt;
|-&lt;br /&gt;
| +AR2 || P# || Add pointer to AR2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Program display and null operation instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| NOP ||style=&amp;quot;width: 5em&amp;quot;| 0 ||style=&amp;quot;width: 22em&amp;quot;| Null operation instruction&lt;br /&gt;
|-&lt;br /&gt;
| NOP || 1 || Null operation instruction&lt;br /&gt;
|-&lt;br /&gt;
| BLD || const || Program display instruction (null operation)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Layout of &#039;&#039;S7-SoftPLC&#039;&#039; memory&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The memory of &#039;&#039;S7-SoftPLC 315&#039;&#039; and &#039;&#039;S7-SoftPLC 416&#039;&#039; is compatible to the memory of SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;-control S7-315 or S7-416.&lt;br /&gt;
&lt;br /&gt;
Please note, that the low-order byte has to be interchanged with the high-order byte when accessing this memory with Windows programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Layout of SoftPLC system data&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The layout of the system data in the system data is compatible to the system data of SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;-control S7-315 or S7-416.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated organisation blocks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The organisation blocks, listed in the chart below, are executed, if they are programmed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! OB no !! Short Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:14em&amp;quot;| OB 1 ||style=&amp;quot;width:14em&amp;quot;| Main programm&lt;br /&gt;
|-&lt;br /&gt;
| OB 10 – OB 17 || Time alarm&lt;br /&gt;
|-&lt;br /&gt;
| OB 20 – OB 23 || Delay alarm&lt;br /&gt;
|-&lt;br /&gt;
| OB 30 – OB 38 || Time blocks (cyclic call)&lt;br /&gt;
|-&lt;br /&gt;
| OB 80 – OB 87 || Error blocks&lt;br /&gt;
|-&lt;br /&gt;
| OB 90 || Background execution&lt;br /&gt;
|-&lt;br /&gt;
| OB 100/OB 101 || Warm or hot restart&lt;br /&gt;
|-&lt;br /&gt;
| OB 121/OB 122 || Programming faults&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated system functions&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
All system functions (SFC) relevant for a Software PLC are integrated in &#039;&#039;S7-SoftPLC&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The chart below shows the available SFCs(in numeric listing)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! SFC no !! SF name !! Short Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:7em&amp;quot;| SFC 0 ||style=&amp;quot;width:8em&amp;quot;| SET_CLK || Set system clock&lt;br /&gt;
|-&lt;br /&gt;
| SFC 1 || READ_CLK || Read system clock&lt;br /&gt;
|-&lt;br /&gt;
| SFC 5  (3) || GADR_LGC || Detect the logic basis address of a component&lt;br /&gt;
|-&lt;br /&gt;
| SFC 6 || RD_SINFO || Read out start information of actual OBs&lt;br /&gt;
|-&lt;br /&gt;
| SFC 13 (1) || DPNRM_DG || Slave-Diagnosis of a DP-slave&lt;br /&gt;
|-&lt;br /&gt;
| SFC 14 (2) || DPRD_DAT || Read consistent data of a DP-norm slave&lt;br /&gt;
|-&lt;br /&gt;
| SFC 15 (2) || DPWR_DAT || Write data consistent on DP-norm slave&lt;br /&gt;
|-&lt;br /&gt;
| SFC 20 || BLKMOV || Copy PLC-variable in target-area&lt;br /&gt;
|-&lt;br /&gt;
| SFC 21 || FILL || Preoccupy PLC-variable in target-area&lt;br /&gt;
|-&lt;br /&gt;
| SFC 22 || CREAT_DB || Create data block&lt;br /&gt;
|-&lt;br /&gt;
| SFC 23 || DEL_DB || Delete data block&lt;br /&gt;
|-&lt;br /&gt;
| SFC 24 || TEST_DB || Test attributes of a data block&lt;br /&gt;
|-&lt;br /&gt;
| SFC 25 || COMPRESS || Compress load memory&lt;br /&gt;
|-&lt;br /&gt;
| SFC 28 || SET_TINT || Set time alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 29 || CAN_TINT || Stop time alarm (do not execute)&lt;br /&gt;
|-&lt;br /&gt;
| SFC 30 || ACT_TINT || Enable time alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 31 || QRY_TINT || Status of time alarm &lt;br /&gt;
|-&lt;br /&gt;
| SFC 32 || SRT_DINT || Start delay alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 33 || CAN_DINT || Stop delay alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 34 || QRY_DINT || Status query of delay alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 36 || MSK_FLT || Mask a synchron error occurrence&lt;br /&gt;
|-&lt;br /&gt;
| SFC 37 || DMSK_FLT || Demask a synchron error occurrence&lt;br /&gt;
|-&lt;br /&gt;
| SFC 38 || READ_ERR || Read out the occurrence status register&lt;br /&gt;
|-&lt;br /&gt;
| SFC 39 || DIS_IRT || Locking the asynchron and alarm error processing&lt;br /&gt;
|-&lt;br /&gt;
| SFC 40 || EN_IRT || Enable the asynchron and alarm error processing&lt;br /&gt;
|-&lt;br /&gt;
| SFC 41 || DIS_AIRT || Delay high-priority asynchron and alarm error processing&lt;br /&gt;
|-&lt;br /&gt;
| SFC 42 || EN_AIRT || Enable high-priority asynchron and alarm error processing&lt;br /&gt;
|-&lt;br /&gt;
| SFC 43 || RE_TRIGR || Retrigger the Watchdog&lt;br /&gt;
|-&lt;br /&gt;
| SFC 46 || STP || CPU operating state STOP&lt;br /&gt;
|-&lt;br /&gt;
| SFC 49 (3) || LGC_GADR || Detect the solt of a logic address&lt;br /&gt;
|-&lt;br /&gt;
| SFC 50 (3) || RD_LAGADR || Detect all logic addresses of a component&lt;br /&gt;
|-&lt;br /&gt;
| SFC 51 || RDSYST || Read out system status list (SSL)&lt;br /&gt;
|-&lt;br /&gt;
| SFC 64 || TIME_TCK || Timer Tick&lt;br /&gt;
|-&lt;br /&gt;
| SFC 81 || UBLKMOV || Block Move, that can not be stopped&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(1)The SFC 13 is available only, when the driver Cifcfg.dll is loaded. Furthermore it can only return valid results, if the PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; configuration has been created via the &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; hardware configuration or the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration. This is only possible when using the driver CIFCFG.DLL.&lt;br /&gt;
&lt;br /&gt;
(2)The SFC 14 and SFC 15 are available only, if they are loaded via the driver CIF30D0.DLL or the driver CIFCFG.DLL.&lt;br /&gt;
&lt;br /&gt;
(3)The SFCs can only return valid results, if the PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 configuration has been created via the &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration or the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration. This is only possible when using the driver CIFCFG.DLL.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated system blocks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The system blocks (SFB) relevant for a software PLC are integrated in &#039;&#039;S7-SoftPLC&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The following system function blocks are supported:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! SFB no !! SFB name !! Short Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:7em&amp;quot;| SFB 0 ||style=&amp;quot;width:7em&amp;quot;| CTU || Count up&lt;br /&gt;
|-&lt;br /&gt;
| SFB 1 || CTD || Count down&lt;br /&gt;
|-&lt;br /&gt;
| SFB 2 || CTUD || Count up and down&lt;br /&gt;
|-&lt;br /&gt;
| SFB 3 || TP || Generate pulse&lt;br /&gt;
|-&lt;br /&gt;
| SFB 4 || TON || Generate ON-delay&lt;br /&gt;
|-&lt;br /&gt;
| SFB 5 || TOF || Generate OFF-delay&lt;br /&gt;
|-&lt;br /&gt;
| SFB 32 || DRUM || Implement sequencer&lt;br /&gt;
|-&lt;br /&gt;
| SFB 52 (4) || RDREC_DP || Read data record&lt;br /&gt;
|-&lt;br /&gt;
| SFB 53 (4) || WRREC_DP || Write data record&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(4)The SFB 52 and SFB 53 are only available if the driver CIFCFG.DLL is loaded and the entry DPV1=1 is set.&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Instruction_set&amp;diff=1150</id>
		<title>S7-SoftPLC:Instruction set</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Instruction_set&amp;diff=1150"/>
		<updated>2013-01-23T11:52:45Z</updated>

		<summary type="html">&lt;p&gt;Jonas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The programming language of the IBH&#039;&#039;softec&#039;&#039; &#039;&#039;S7-SoftPLC 315&#039;&#039;and &#039;&#039;S7-SoftPLC 416&#039;&#039; controls is STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 and can be made with the programming tools &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; or STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 from Siemens. The complete instruction set of the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 language is supported.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;S7-SoftPLC 315&#039;&#039; has the complete instruction set of the SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; S7-315 CPU.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;S7-SoftPLC 416&#039;&#039; has the complete instruction set of the SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; S7-416 CPU.&lt;br /&gt;
&lt;br /&gt;
== Bit logic instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Instruction !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| A ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AND with a scan to &amp;quot;1&amp;quot;“&lt;br /&gt;
|-&lt;br /&gt;
| AN ||  || AND with a scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| O ||  || OR with scan to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| ON ||  || OR with scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| X ||  || Exclusive-OR with a scan to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| XN ||  || Exclusive-OR with a scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|  || I || of an input&lt;br /&gt;
|-&lt;br /&gt;
|  || Q || of an output&lt;br /&gt;
|-&lt;br /&gt;
|  || M || of a memory&lt;br /&gt;
|-&lt;br /&gt;
|  || L || of a local data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || T || of a timer&lt;br /&gt;
|-&lt;br /&gt;
|  || C || of a counter&lt;br /&gt;
|-&lt;br /&gt;
|  || DBX || of a data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || DIX || of an instant data bit&lt;br /&gt;
|-&lt;br /&gt;
| ==0 ||  || result equal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;0 ||  || result unequal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;0 ||  || result greater than zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=0 ||  || result greater or equal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;0 ||  || result less than zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=0 ||  || result less or equal zero&lt;br /&gt;
|-&lt;br /&gt;
| UO ||  || invalid result&lt;br /&gt;
|-&lt;br /&gt;
| OV ||  || overflow&lt;br /&gt;
|-&lt;br /&gt;
| OS ||  || overflow (saving)&lt;br /&gt;
|-&lt;br /&gt;
| BR ||  || binary result&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other boolean logic instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| A( ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AND left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| AN( ||  || AND NOT left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| O( ||  || OR left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| ON( ||  || OR NOT left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| X( ||  || Exclusive OR left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| XN( ||  || Exclusive OR NOT left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| ) ||  || Right parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| O ||  || OR-ing AND operations &lt;br /&gt;
|-&lt;br /&gt;
| NOT ||  || Negate RLO&lt;br /&gt;
|-&lt;br /&gt;
| SET ||  || Set RLO to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| CLR ||  || Set RLO to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| SAVE ||  || Save RLO to the BR bit&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| = ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Assign value of RLO&lt;br /&gt;
|-&lt;br /&gt;
| S ||  || Set&lt;br /&gt;
|-&lt;br /&gt;
| R ||  || Reset&lt;br /&gt;
|-&lt;br /&gt;
| FP ||  || Positive edge detection&lt;br /&gt;
|-&lt;br /&gt;
| FN ||  || Negative edge detection&lt;br /&gt;
|-&lt;br /&gt;
|  || I || of an input bit&lt;br /&gt;
|-&lt;br /&gt;
|  || Q || of an output bit&lt;br /&gt;
|-&lt;br /&gt;
|  || M || of a memory bit&lt;br /&gt;
|-&lt;br /&gt;
|  || L || of a local data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || DBX || of a data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || DIX || of a instance data bit&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Master Control Relay ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| MCRA ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Activate MCR&lt;br /&gt;
|-&lt;br /&gt;
| MCRD ||  || Deactivate MCR&lt;br /&gt;
|-&lt;br /&gt;
| MCR( ||  || Open MCR zone&lt;br /&gt;
|-&lt;br /&gt;
| )MCR ||  || Close MCR zone&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Load / Transfer instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| L ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Load operand&lt;br /&gt;
|-&lt;br /&gt;
| T ||  || Transfer operand&lt;br /&gt;
|-&lt;br /&gt;
|  || IB || Input byte&lt;br /&gt;
|-&lt;br /&gt;
|  || IW || Input word&lt;br /&gt;
|-&lt;br /&gt;
|  || ID || Input double word&lt;br /&gt;
|-&lt;br /&gt;
|  || QB || Output byte&lt;br /&gt;
|-&lt;br /&gt;
|  || QW || Output word&lt;br /&gt;
|-&lt;br /&gt;
|  || QD || Ouput double word&lt;br /&gt;
|-&lt;br /&gt;
|  || MB || Memory byte&lt;br /&gt;
|-&lt;br /&gt;
|  || MW || Memory word&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || Memory double word&lt;br /&gt;
|-&lt;br /&gt;
|  || LB || Local data byte&lt;br /&gt;
|-&lt;br /&gt;
|  || LW || Local data word&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || Local data double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBB || Data block byte&lt;br /&gt;
|-&lt;br /&gt;
|  || DBW || Data block word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || Data block double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DIB || Instance data block byte&lt;br /&gt;
|-&lt;br /&gt;
|  || DIW || Instance data block word&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || Instance data block double word&lt;br /&gt;
|-&lt;br /&gt;
|  || STW || Status word&lt;br /&gt;
|-&lt;br /&gt;
| L || const || Load constant value&lt;br /&gt;
|-&lt;br /&gt;
| L || #Pointer || Load pointer&lt;br /&gt;
|-&lt;br /&gt;
| L || T || Timer&lt;br /&gt;
|-&lt;br /&gt;
| LC || T || Timer (BCD coded)&lt;br /&gt;
|-&lt;br /&gt;
| L || Z || Counter&lt;br /&gt;
|-&lt;br /&gt;
| LC || Z || Counter (BCD coded)&lt;br /&gt;
|-&lt;br /&gt;
| L || DBNO || Data block number&lt;br /&gt;
|-&lt;br /&gt;
| L || DBLG || Data block length&lt;br /&gt;
|-&lt;br /&gt;
| L || DINO || Instance data block number&lt;br /&gt;
|-&lt;br /&gt;
| L || DILG || Instance data block length&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Peripheral access instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| L ||style=&amp;quot;width: 5em&amp;quot;| PIB ||style=&amp;quot;width: 22em&amp;quot;| Load peripheral input byte&lt;br /&gt;
|-&lt;br /&gt;
| L || PIW || Load peripheral input word&lt;br /&gt;
|-&lt;br /&gt;
| L || PID || Load peripheral input double word&lt;br /&gt;
|-&lt;br /&gt;
| T || PQB || Transfer peripheral output byte&lt;br /&gt;
|-&lt;br /&gt;
| T || PQW || Transfer peripheral output word&lt;br /&gt;
|-&lt;br /&gt;
| T || PQD || Transfer peripheral output double word&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Accumulator instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| PUSH ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Push accumulators upwards&lt;br /&gt;
|-&lt;br /&gt;
| POP ||  || Push accumulators downwards&lt;br /&gt;
|-&lt;br /&gt;
| ENT ||  || Push accumulators (without A1) A2-&amp;gt;A3, A3-&amp;gt;A4&lt;br /&gt;
|-&lt;br /&gt;
| LEAVE ||  || Push accumulators (without A1) A4-&amp;gt;A3, A3-&amp;gt;A2&lt;br /&gt;
|-&lt;br /&gt;
| TAK ||  || Change ACCU1 with ACCU2&lt;br /&gt;
|-&lt;br /&gt;
| CAW ||  || Change ACCU1 bytes 0 and 1&lt;br /&gt;
|-&lt;br /&gt;
| CAD ||  || Change ACCU1 bytes 0 and 3, 1 and 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Shift and rotating instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| SLW ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Shift ACCU1-L left (word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SLD ||  || Shift ACCU1 left (double word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SRW ||  || Shift ACCU1-L right (word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SRD ||  || Shift ACCU1 right (double word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SSI ||  || Shift ACCU1-L right (word shift with sign)&lt;br /&gt;
|-&lt;br /&gt;
| SSD ||  || Shift ACCU1 right (double word shift with sign)&lt;br /&gt;
|-&lt;br /&gt;
| RLD ||  || Rotate ACCU1 left (double word)&lt;br /&gt;
|-&lt;br /&gt;
| RLDA ||  || Rotate ACCU1 left through CC1&lt;br /&gt;
|-&lt;br /&gt;
| RRDA ||  || Rotate ACCU1 right through CC1&lt;br /&gt;
|-&lt;br /&gt;
| RRD ||  || Rotate ACCU1 right (double word)&lt;br /&gt;
|-&lt;br /&gt;
|  || const || Number of places to shift/rotate&lt;br /&gt;
|-&lt;br /&gt;
|  || - || Number of places to shift/rotate located in ACCU2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Timer instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| SP ||style=&amp;quot;width: 5em&amp;quot;| T ||style=&amp;quot;width: 22em&amp;quot;| Start as impulse&lt;br /&gt;
|-&lt;br /&gt;
| SE || T || Start as extendet impulse&lt;br /&gt;
|-&lt;br /&gt;
| SD || T || Start as ON-delay&lt;br /&gt;
|-&lt;br /&gt;
| SS || T || Start as saving ON-delay&lt;br /&gt;
|-&lt;br /&gt;
| SF || T || Start as OFF-delay&lt;br /&gt;
|-&lt;br /&gt;
| R || T || Reset timer&lt;br /&gt;
|-&lt;br /&gt;
| FR || T || Enable timer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Counter instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| CU ||style=&amp;quot;width: 5em&amp;quot;| C ||style=&amp;quot;width: 22em&amp;quot;| Count up (increment)&lt;br /&gt;
|-&lt;br /&gt;
| CD || C || Count down (decrement)&lt;br /&gt;
|-&lt;br /&gt;
| S || C || Set counter&lt;br /&gt;
|-&lt;br /&gt;
| R || C || Reset counter&lt;br /&gt;
|-&lt;br /&gt;
| FR || C || Enable counter&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Word instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| AW ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AND ACCU1-L (AND word)&lt;br /&gt;
|-&lt;br /&gt;
| AD ||  || AND ACCU1 (AND double word)&lt;br /&gt;
|-&lt;br /&gt;
| OW ||  || OR ACCU1-L (OR word)&lt;br /&gt;
|-&lt;br /&gt;
| OD ||  || OR ACCU1 (OR double word)&lt;br /&gt;
|-&lt;br /&gt;
| XOW ||  || Exclusive-OR ACCU (XOR word)&lt;br /&gt;
|-&lt;br /&gt;
| XOD ||  || Exclusive-OR ACCU (XOR double word)&lt;br /&gt;
|-&lt;br /&gt;
|  || const || with a word or double word constant&lt;br /&gt;
|-&lt;br /&gt;
|  || - || with ACCU2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Arithmetic instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| ==I ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Integer values equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;I ||  || Integer values unequal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;I ||  || Integer values greater&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=I ||  || Integer values greather or equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;I ||  || Integer values less&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=I ||  || Integer values less or equal&lt;br /&gt;
|-&lt;br /&gt;
| ==D ||  || Double integer values equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;D ||  || Double integer values unequal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;D ||  || Double integer values greater&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=D ||  || Double integer values greater or equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;D ||  || Double integer values less&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=D ||  || Double integer values less or equal&lt;br /&gt;
|-&lt;br /&gt;
| ==R ||  || Real values equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;R ||  || Real values unequal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;R ||  || Real values greater&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=R ||  || Real values greater or equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;R ||  || Real values less&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=R ||  || Real values less or equal&lt;br /&gt;
|-&lt;br /&gt;
| SIN ||  || Sine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| COS ||  || Cosine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| TAN ||  || Tangent of a real value&lt;br /&gt;
|-&lt;br /&gt;
| ASIN ||  || Arcsine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| ACOS ||  || Arccosine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| ATAN ||  || Arctangent of a real value&lt;br /&gt;
|-&lt;br /&gt;
| SQR ||  || Square a real value&lt;br /&gt;
|-&lt;br /&gt;
| SQRT ||  || Square root a real value&lt;br /&gt;
|-&lt;br /&gt;
| EXP ||  || e to the power of a real value&lt;br /&gt;
|-&lt;br /&gt;
| LN ||  || Natural logarithm of a real value&lt;br /&gt;
|-&lt;br /&gt;
| +I ||  || Integer addition&lt;br /&gt;
|-&lt;br /&gt;
| -I ||  || Integer subtraction&lt;br /&gt;
|-&lt;br /&gt;
| *I ||  || Integer multiplication&lt;br /&gt;
|-&lt;br /&gt;
| /I ||  || Integer division&lt;br /&gt;
|-&lt;br /&gt;
| +D ||  || Double-integer addition&lt;br /&gt;
|-&lt;br /&gt;
| -D ||  || Double-integer subtraction&lt;br /&gt;
|-&lt;br /&gt;
| *D ||  || Double-integer multiplication&lt;br /&gt;
|-&lt;br /&gt;
| /D ||  || Double-integer division&lt;br /&gt;
|-&lt;br /&gt;
| +R ||  || Real addition&lt;br /&gt;
|-&lt;br /&gt;
| -R ||  || Real subtraction&lt;br /&gt;
|-&lt;br /&gt;
| *R ||  || Real multiplication&lt;br /&gt;
|-&lt;br /&gt;
| /R ||  || Real division&lt;br /&gt;
|-&lt;br /&gt;
| MOD ||  || Double integer division (modulo)&lt;br /&gt;
|-&lt;br /&gt;
| + || const || Add a constant&lt;br /&gt;
|-&lt;br /&gt;
| +P# || const || Add a pointer&lt;br /&gt;
|-&lt;br /&gt;
| DEC ||  || dekrement ACCU1-LL (one byte)&lt;br /&gt;
|-&lt;br /&gt;
| INC ||  || inkrement ACCU1-LL (one byte)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Data type conversion instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| ITD ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Convert integer to double integer&lt;br /&gt;
|-&lt;br /&gt;
| ITB ||  || Convert integer to BCD&lt;br /&gt;
|-&lt;br /&gt;
| DTB ||  || Convert double integer to BCD&lt;br /&gt;
|-&lt;br /&gt;
| DTR ||  || Convert double integer to real&lt;br /&gt;
|-&lt;br /&gt;
| BTI ||  || Convert BCD to integer&lt;br /&gt;
|-&lt;br /&gt;
| BTD ||  || Convert BCD to double integer&lt;br /&gt;
|-&lt;br /&gt;
| RND ||  || Convert real to double integer (round)&lt;br /&gt;
|-&lt;br /&gt;
| RND+ ||  || Convert real to double integer (round up)&lt;br /&gt;
|-&lt;br /&gt;
| RND- ||  || Convert real to double integer (round down)&lt;br /&gt;
|-&lt;br /&gt;
| TRUNC ||  || Convert reeal to double integer (truncate)&lt;br /&gt;
|-&lt;br /&gt;
| INVI ||  || Invert ACCU1-L (integer)&lt;br /&gt;
|-&lt;br /&gt;
| INVD ||  || Invert ACCU1 (double integer)&lt;br /&gt;
|-&lt;br /&gt;
| NEGI ||  || Negate ACCU1-L (integer)&lt;br /&gt;
|-&lt;br /&gt;
| NEGD ||  || Negate ACCU1 (double integer)&lt;br /&gt;
|-&lt;br /&gt;
| NEGR ||  || Negate ACCU1 (real)&lt;br /&gt;
|-&lt;br /&gt;
| ABS ||  || Absolute value (real)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Jump instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| JU ||style=&amp;quot;width: 5em&amp;quot;| goal ||style=&amp;quot;width: 22em&amp;quot;| Jump unconditional&lt;br /&gt;
|-&lt;br /&gt;
| JC || goal || Jump if RLO = 1&lt;br /&gt;
|-&lt;br /&gt;
| JCB || goal || Jump if RLO = 1 (save RLO)&lt;br /&gt;
|-&lt;br /&gt;
| JCN || goal || Jump if RLO = 0&lt;br /&gt;
|-&lt;br /&gt;
| JNB || goal || Jump if RLO = 0 (save RLO)&lt;br /&gt;
|-&lt;br /&gt;
| JBI || goal || Jump if BR = 1&lt;br /&gt;
|-&lt;br /&gt;
| JNBI || goal || Jump if BR = 0&lt;br /&gt;
|-&lt;br /&gt;
| JZ || goal || Jump if compare result = 0&lt;br /&gt;
|-&lt;br /&gt;
| JN || goal || Jump if compare result != 0&lt;br /&gt;
|-&lt;br /&gt;
| JP || goal || Jump if compare result &amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| JPZ || goal || Jump if compare result &amp;gt;= 0&lt;br /&gt;
|-&lt;br /&gt;
| JM || goal || Jump if compare result &amp;lt; 0&lt;br /&gt;
|-&lt;br /&gt;
| JMZ || goal || Jump if compare result &amp;lt;= 0&lt;br /&gt;
|-&lt;br /&gt;
| JUO || goal || Jump if compare result &amp;quot;Unordered Math Instruction&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| JO || goal || Jump on overflow&lt;br /&gt;
|-&lt;br /&gt;
| JOS || goal || Jump on saving overflow&lt;br /&gt;
|-&lt;br /&gt;
| JL || goal || Jump distributor&lt;br /&gt;
|-&lt;br /&gt;
| LOOP || goal || Loop programming (decrement ACCU1-L and jump if != 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Block call instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| CALL FB ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Unconditional call of an FB with parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CALL FC ||  || Unconditional call of an FC with parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CALL SFB ||  || Unconditional call of an SFB with parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CALL SFC ||  || Unconditional call of an SFC with parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| UC FB ||  || Unconditional call of an FB without parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CC FB ||  || Conditional call of an FB without parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| UC FC ||  || Unconditional call of an FC without parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CC FC ||  || Conditional call of an FC without parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| BEU ||  || End block unconditionally&lt;br /&gt;
|-&lt;br /&gt;
| BEC ||  || End block conditionally (RLO = 1)&lt;br /&gt;
|-&lt;br /&gt;
| BE ||  || End block&lt;br /&gt;
|-&lt;br /&gt;
| OPN || ||&lt;br /&gt;
|-&lt;br /&gt;
|  || DB || Open data block&lt;br /&gt;
|-&lt;br /&gt;
|  || DI || Open instance data block&lt;br /&gt;
|-&lt;br /&gt;
| TDB ||  || Exchange data block registers&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Indirect adressing instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| LAR1/LAR2 ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Load AR1/AR2&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || with memory double word&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || with local data double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || with datablock double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || with instance data block double word&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 || - || Load AR1 with ACCU1&lt;br /&gt;
|-&lt;br /&gt;
| LAR2 || - || Laod AR2 with ACCU1&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 || AR2 || Load AR1 with AR2&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 || P# || Load AR1 with pointer&lt;br /&gt;
|-&lt;br /&gt;
| LAR2 || P# || Load AR2 with pointer&lt;br /&gt;
|-&lt;br /&gt;
| TAR1/TAR2 ||  || Transfer in AR1/AR2&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || in memory double word&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || in local data double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || in datablock double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || in instance data block double word&lt;br /&gt;
|-&lt;br /&gt;
| TAR1 || - || Transfer AR1 in ACCU1&lt;br /&gt;
|-&lt;br /&gt;
| TAR2 || - || Transfer AR2 in ACCU1&lt;br /&gt;
|-&lt;br /&gt;
| TAR1 || AR2 || Transfer AR1 in AR2&lt;br /&gt;
|-&lt;br /&gt;
| TAR ||  || Swap AR1 with AR2&lt;br /&gt;
|-&lt;br /&gt;
| +AR1 ||  || Add ACCU1 to AR1&lt;br /&gt;
|-&lt;br /&gt;
| +AR2 ||  || Add ACCU1 to AR2&lt;br /&gt;
|-&lt;br /&gt;
| +AR1 || P# || Add pointer to AR1&lt;br /&gt;
|-&lt;br /&gt;
| +AR2 || P# || Add pointer to AR2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Program display and null operation instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| NOP ||style=&amp;quot;width: 5em&amp;quot;| 0 ||style=&amp;quot;width: 22em&amp;quot;| Null operation instruction&lt;br /&gt;
|-&lt;br /&gt;
| NOP || 1 || Null operation instruction&lt;br /&gt;
|-&lt;br /&gt;
| BLD || const || Program display instruction (null operation)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Layout of &#039;&#039;S7-SoftPLC&#039;&#039; memory&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The memory of &#039;&#039;S7-SoftPLC 315&#039;&#039; and &#039;&#039;S7-SoftPLC 416&#039;&#039; is compatible to the memory of SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;-control S7-315 or S7-416.&lt;br /&gt;
&lt;br /&gt;
Please note, that the low-order byte has to be interchanged with the high-order byte when accessing this memory with Windows programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Layout of SoftPLC system data&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The layout of the system data in the system data is compatible to the system data of SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;-control S7-315 or S7-416.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated organisation blocks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The organisation blocks, listed in the chart below, are executed, if they are programmed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! OB no !! Short Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:14em&amp;quot;| OB 1 ||style=&amp;quot;width:14em&amp;quot;| Main programm&lt;br /&gt;
|-&lt;br /&gt;
| OB 10 – OB 17 || Time alarm&lt;br /&gt;
|-&lt;br /&gt;
| OB 20 – OB 23 || Delay alarm&lt;br /&gt;
|-&lt;br /&gt;
| OB 30 – OB 38 || Time blocks (cyclic call)&lt;br /&gt;
|-&lt;br /&gt;
| OB 80 – OB 87 || Error blocks&lt;br /&gt;
|-&lt;br /&gt;
| OB 90 || Background execution&lt;br /&gt;
|-&lt;br /&gt;
| OB 100/OB 101 || Warm or hot restart&lt;br /&gt;
|-&lt;br /&gt;
| OB 121/OB 122 || Programming faults&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated system functions&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
All system functions (SFC) relevant for a Software PLC are integrated in &#039;&#039;S7-SoftPLC&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The chart below shows the available SFCs(in numeric listing)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! SFC no !! SF name !! Short Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:7em&amp;quot;| SFC 0 ||style=&amp;quot;width:8em&amp;quot;| SET_CLK || Set system clock&lt;br /&gt;
|-&lt;br /&gt;
| SFC 1 || READ_CLK || Read system clock&lt;br /&gt;
|-&lt;br /&gt;
| SFC 5  (3) || GADR_LGC || Detect the logic basis address of a component&lt;br /&gt;
|-&lt;br /&gt;
| SFC 6 || RD_SINFO || Read out start information of actual OBs&lt;br /&gt;
|-&lt;br /&gt;
| SFC 13 (1) || DPNRM_DG || Slave-Diagnosis of a DP-slave&lt;br /&gt;
|-&lt;br /&gt;
| SFC 14 (2) || DPRD_DAT || Read consistent data of a DP-norm slave&lt;br /&gt;
|-&lt;br /&gt;
| SFC 15 (2) || DPWR_DAT || Write data consistent on DP-norm slave&lt;br /&gt;
|-&lt;br /&gt;
| SFC 20 || BLKMOV || Copy PLC-variable in target-area&lt;br /&gt;
|-&lt;br /&gt;
| SFC 21 || FILL || Preoccupy PLC-variable in target-area&lt;br /&gt;
|-&lt;br /&gt;
| SFC 22 || CREAT_DB || Create data block&lt;br /&gt;
|-&lt;br /&gt;
| SFC 23 || DEL_DB || Delete data block&lt;br /&gt;
|-&lt;br /&gt;
| SFC 24 || TEST_DB || Test attributes of a data block&lt;br /&gt;
|-&lt;br /&gt;
| SFC 25 || COMPRESS || Compress load memory&lt;br /&gt;
|-&lt;br /&gt;
| SFC 28 || SET_TINT || Set time alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 29 || CAN_TINT || Stop time alarm (do not execute)&lt;br /&gt;
|-&lt;br /&gt;
| SFC 30 || ACT_TINT || Enable time alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 31 || QRY_TINT || Status of time alarm &lt;br /&gt;
|-&lt;br /&gt;
| SFC 32 || SRT_DINT || Start delay alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 33 || CAN_DINT || Stop delay alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 34 || QRY_DINT || Status query of delay alarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 36 || MSK_FLT || Mask a synchron error occurrence&lt;br /&gt;
|-&lt;br /&gt;
| SFC 37 || DMSK_FLT || Demask a synchron error occurrence&lt;br /&gt;
|-&lt;br /&gt;
| SFC 38 || READ_ERR || Read out the occurrence status register&lt;br /&gt;
|-&lt;br /&gt;
| SFC 39 || DIS_IRT || Locking the asynchron and alarm error processing&lt;br /&gt;
|-&lt;br /&gt;
| SFC 40 || EN_IRT || Enable the asynchron and alarm error processing&lt;br /&gt;
|-&lt;br /&gt;
| SFC 41 || DIS_AIRT || Delay high-priority asynchron and alarm error processing&lt;br /&gt;
|-&lt;br /&gt;
| SFC 42 || EN_AIRT || Enable high-priority asynchron and alarm error processing&lt;br /&gt;
|-&lt;br /&gt;
| SFC 43 || RE_TRIGR || Retrigger the Watchdog&lt;br /&gt;
|-&lt;br /&gt;
| SFC 46 || STP || CPU operating state STOP&lt;br /&gt;
|-&lt;br /&gt;
| SFC 49 (3) || LGC_GADR || Detect the solt of a logic address&lt;br /&gt;
|-&lt;br /&gt;
| SFC 50 (3) || RD_LAGADR || Detect all logic addresses of a component&lt;br /&gt;
|-&lt;br /&gt;
| SFC 51 || RDSYST || Read out system status list (SSL)&lt;br /&gt;
|-&lt;br /&gt;
| SFC 64 || TIME_TCK || Timer Tick&lt;br /&gt;
|-&lt;br /&gt;
| SFC 81 || UBLKMOV || Block Move, that can not be stopped&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(1)The SFC 13 is available only, when the driver Cifcfg.dll is loaded. Furthermore it can only return valid results, if the PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; configuration has been created via the &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; hardware configuration or the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration. This is only possible when using the driver CIFCFG.DLL.&lt;br /&gt;
&lt;br /&gt;
(2)The SFC 14 and SFC 15 are available only, if they are loaded via the driver CIF30D0.DLL or the driver CIFCFG.DLL.&lt;br /&gt;
&lt;br /&gt;
(3)The SFCs can only return valid results, if the PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 configuration has been created via the &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration or the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration. This is only possible when using the driver CIFCFG.DLL.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated system blocks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The system blocks (SFB) relevant for a software PLC are integrated in &#039;&#039;S7-SoftPLC&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The following system function blocks are supported:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! SFB no !! SFB name !! Short Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:7em&amp;quot;| SFB 0 ||style=&amp;quot;width:7em&amp;quot;| CTU || Count up&lt;br /&gt;
|-&lt;br /&gt;
| SFB 1 || CTD || Count down&lt;br /&gt;
|-&lt;br /&gt;
| SFB 2 || CTUD || Count up and down&lt;br /&gt;
|-&lt;br /&gt;
| SFB 3 || TP || Generate pulse&lt;br /&gt;
|-&lt;br /&gt;
| SFB 4 || TON || Generate ON-delay&lt;br /&gt;
|-&lt;br /&gt;
| SFB 5 || TOF || Generate OFF-delay&lt;br /&gt;
|-&lt;br /&gt;
| SFB 32 || DRUM || Implement sequencer&lt;br /&gt;
|-&lt;br /&gt;
| SFB 52 (4) || RDREC_DP || Read data record&lt;br /&gt;
|-&lt;br /&gt;
| SFB 53 (4) || WRREC_DP || Write data record&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
(4)The SFB 52 and SFB 53 are only available if the driver CIFCFG.DLL is loaded and the entry DPV1=1 is set.&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Instruction_set&amp;diff=1149</id>
		<title>S7-SoftPLC:Instruction set</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Instruction_set&amp;diff=1149"/>
		<updated>2013-01-23T11:32:49Z</updated>

		<summary type="html">&lt;p&gt;Jonas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The programming language of the IBH&#039;&#039;softec&#039;&#039; &#039;&#039;S7-SoftPLC 315&#039;&#039;and &#039;&#039;S7-SoftPLC 416&#039;&#039; controls is STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 and can be made with the programming tools &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; or STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 from Siemens. The complete instruction set of the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 language is supported.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;S7-SoftPLC 315&#039;&#039; has the complete instruction set of the SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; S7-315 CPU.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;S7-SoftPLC 416&#039;&#039; has the complete instruction set of the SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; S7-416 CPU.&lt;br /&gt;
&lt;br /&gt;
== Bit logic instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Instruction !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| A ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AND with a scan to &amp;quot;1&amp;quot;“&lt;br /&gt;
|-&lt;br /&gt;
| AN ||  || AND with a scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| O ||  || OR with scan to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| ON ||  || OR with scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| X ||  || Exclusive-OR with a scan to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| XN ||  || Exclusive-OR with a scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|  || I || of an input&lt;br /&gt;
|-&lt;br /&gt;
|  || Q || of an output&lt;br /&gt;
|-&lt;br /&gt;
|  || M || of a memory&lt;br /&gt;
|-&lt;br /&gt;
|  || L || of a local data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || T || of a timer&lt;br /&gt;
|-&lt;br /&gt;
|  || C || of a counter&lt;br /&gt;
|-&lt;br /&gt;
|  || DBX || of a data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || DIX || of an instant data bit&lt;br /&gt;
|-&lt;br /&gt;
| ==0 ||  || result equal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;0 ||  || result unequal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;0 ||  || result greater than zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=0 ||  || result greater or equal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;0 ||  || result less than zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=0 ||  || result less or equal zero&lt;br /&gt;
|-&lt;br /&gt;
| UO ||  || invalid result&lt;br /&gt;
|-&lt;br /&gt;
| OV ||  || overflow&lt;br /&gt;
|-&lt;br /&gt;
| OS ||  || overflow (saving)&lt;br /&gt;
|-&lt;br /&gt;
| BR ||  || binary result&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other boolean logic instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| A( ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AND left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| AN( ||  || AND NOT left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| O( ||  || OR left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| ON( ||  || OR NOT left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| X( ||  || Exclusive OR left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| XN( ||  || Exclusive OR NOT left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| ) ||  || Right parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| O ||  || OR-ing AND operations &lt;br /&gt;
|-&lt;br /&gt;
| NOT ||  || Negate RLO&lt;br /&gt;
|-&lt;br /&gt;
| SET ||  || Set RLO to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| CLR ||  || Set RLO to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| SAVE ||  || Save RLO to the BR bit&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| = ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Assign value of RLO&lt;br /&gt;
|-&lt;br /&gt;
| S ||  || Set&lt;br /&gt;
|-&lt;br /&gt;
| R ||  || Reset&lt;br /&gt;
|-&lt;br /&gt;
| FP ||  || Positive edge detection&lt;br /&gt;
|-&lt;br /&gt;
| FN ||  || Negative edge detection&lt;br /&gt;
|-&lt;br /&gt;
|  || I || of an input bit&lt;br /&gt;
|-&lt;br /&gt;
|  || Q || of an output bit&lt;br /&gt;
|-&lt;br /&gt;
|  || M || of a memory bit&lt;br /&gt;
|-&lt;br /&gt;
|  || L || of a local data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || DBX || of a data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || DIX || of a instance data bit&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Master Control Relay ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| MCRA ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Activate MCR&lt;br /&gt;
|-&lt;br /&gt;
| MCRD ||  || Deactivate MCR&lt;br /&gt;
|-&lt;br /&gt;
| MCR( ||  || Open MCR zone&lt;br /&gt;
|-&lt;br /&gt;
| )MCR ||  || Close MCR zone&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Load / Transfer instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| L ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Load operand&lt;br /&gt;
|-&lt;br /&gt;
| T ||  || Transfer operand&lt;br /&gt;
|-&lt;br /&gt;
|  || IB || Input byte&lt;br /&gt;
|-&lt;br /&gt;
|  || IW || Input word&lt;br /&gt;
|-&lt;br /&gt;
|  || ID || Input double word&lt;br /&gt;
|-&lt;br /&gt;
|  || QB || Output byte&lt;br /&gt;
|-&lt;br /&gt;
|  || QW || Output word&lt;br /&gt;
|-&lt;br /&gt;
|  || QD || Ouput double word&lt;br /&gt;
|-&lt;br /&gt;
|  || MB || Memory byte&lt;br /&gt;
|-&lt;br /&gt;
|  || MW || Memory word&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || Memory double word&lt;br /&gt;
|-&lt;br /&gt;
|  || LB || Local data byte&lt;br /&gt;
|-&lt;br /&gt;
|  || LW || Local data word&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || Local data double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBB || Data block byte&lt;br /&gt;
|-&lt;br /&gt;
|  || DBW || Data block word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || Data block double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DIB || Instance data block byte&lt;br /&gt;
|-&lt;br /&gt;
|  || DIW || Instance data block word&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || Instance data block double word&lt;br /&gt;
|-&lt;br /&gt;
|  || STW || Status word&lt;br /&gt;
|-&lt;br /&gt;
| L || const || Load constant value&lt;br /&gt;
|-&lt;br /&gt;
| L || #Pointer || Load pointer&lt;br /&gt;
|-&lt;br /&gt;
| L || T || Timer&lt;br /&gt;
|-&lt;br /&gt;
| LC || T || Timer (BCD coded)&lt;br /&gt;
|-&lt;br /&gt;
| L || Z || Counter&lt;br /&gt;
|-&lt;br /&gt;
| LC || Z || Counter (BCD coded)&lt;br /&gt;
|-&lt;br /&gt;
| L || DBNO || Data block number&lt;br /&gt;
|-&lt;br /&gt;
| L || DBLG || Data block length&lt;br /&gt;
|-&lt;br /&gt;
| L || DINO || Instance data block number&lt;br /&gt;
|-&lt;br /&gt;
| L || DILG || Instance data block length&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Peripheral access instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| L ||style=&amp;quot;width: 5em&amp;quot;| PIB ||style=&amp;quot;width: 22em&amp;quot;| Load peripheral input byte&lt;br /&gt;
|-&lt;br /&gt;
| L || PIW || Load peripheral input word&lt;br /&gt;
|-&lt;br /&gt;
| L || PID || Load peripheral input double word&lt;br /&gt;
|-&lt;br /&gt;
| T || PQB || Transfer peripheral output byte&lt;br /&gt;
|-&lt;br /&gt;
| T || PQW || Transfer peripheral output word&lt;br /&gt;
|-&lt;br /&gt;
| T || PQD || Transfer peripheral output double word&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Accumulator instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| PUSH ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Push accumulators upwards&lt;br /&gt;
|-&lt;br /&gt;
| POP ||  || Push accumulators downwards&lt;br /&gt;
|-&lt;br /&gt;
| ENT ||  || Push accumulators (without A1) A2-&amp;gt;A3, A3-&amp;gt;A4&lt;br /&gt;
|-&lt;br /&gt;
| LEAVE ||  || Push accumulators (without A1) A4-&amp;gt;A3, A3-&amp;gt;A2&lt;br /&gt;
|-&lt;br /&gt;
| TAK ||  || Change ACCU1 with ACCU2&lt;br /&gt;
|-&lt;br /&gt;
| CAW ||  || Change ACCU1 bytes 0 and 1&lt;br /&gt;
|-&lt;br /&gt;
| CAD ||  || Change ACCU1 bytes 0 and 3, 1 and 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Shift and rotating instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| SLW ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Shift ACCU1-L left (word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SLD ||  || Shift ACCU1 left (double word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SRW ||  || Shift ACCU1-L right (word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SRD ||  || Shift ACCU1 right (double word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SSI ||  || Shift ACCU1-L right (word shift with sign)&lt;br /&gt;
|-&lt;br /&gt;
| SSD ||  || Shift ACCU1 right (double word shift with sign)&lt;br /&gt;
|-&lt;br /&gt;
| RLD ||  || Rotate ACCU1 left (double word)&lt;br /&gt;
|-&lt;br /&gt;
| RLDA ||  || Rotate ACCU1 left through CC1&lt;br /&gt;
|-&lt;br /&gt;
| RRDA ||  || Rotate ACCU1 right through CC1&lt;br /&gt;
|-&lt;br /&gt;
| RRD ||  || Rotate ACCU1 right (double word)&lt;br /&gt;
|-&lt;br /&gt;
|  || const || Number of places to shift/rotate&lt;br /&gt;
|-&lt;br /&gt;
|  || - || Number of places to shift/rotate located in ACCU2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Timer instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| SP ||style=&amp;quot;width: 5em&amp;quot;| T ||style=&amp;quot;width: 22em&amp;quot;| Start as impulse&lt;br /&gt;
|-&lt;br /&gt;
| SE || T || Start as extendet impulse&lt;br /&gt;
|-&lt;br /&gt;
| SD || T || Start as ON-delay&lt;br /&gt;
|-&lt;br /&gt;
| SS || T || Start as saving ON-delay&lt;br /&gt;
|-&lt;br /&gt;
| SF || T || Start as OFF-delay&lt;br /&gt;
|-&lt;br /&gt;
| R || T || Reset timer&lt;br /&gt;
|-&lt;br /&gt;
| FR || T || Enable timer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Counter instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| CU ||style=&amp;quot;width: 5em&amp;quot;| C ||style=&amp;quot;width: 22em&amp;quot;| Count up (increment)&lt;br /&gt;
|-&lt;br /&gt;
| CD || C || Count down (decrement)&lt;br /&gt;
|-&lt;br /&gt;
| S || C || Set counter&lt;br /&gt;
|-&lt;br /&gt;
| R || C || Reset counter&lt;br /&gt;
|-&lt;br /&gt;
| FR || C || Enable counter&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Word instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| AW ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AND ACCU1-L (AND word)&lt;br /&gt;
|-&lt;br /&gt;
| AD ||  || AND ACCU1 (AND double word)&lt;br /&gt;
|-&lt;br /&gt;
| OW ||  || OR ACCU1-L (OR word)&lt;br /&gt;
|-&lt;br /&gt;
| OD ||  || OR ACCU1 (OR double word)&lt;br /&gt;
|-&lt;br /&gt;
| XOW ||  || Exclusive-OR ACCU (XOR word)&lt;br /&gt;
|-&lt;br /&gt;
| XOD ||  || Exclusive-OR ACCU (XOR double word)&lt;br /&gt;
|-&lt;br /&gt;
|  || const || with a word or double word constant&lt;br /&gt;
|-&lt;br /&gt;
|  || - || with ACCU2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Arithmetic instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| ==I ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Integer values equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;I ||  || Integer values unequal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;I ||  || Integer values greater&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=I ||  || Integer values greather or equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;I ||  || Integer values less&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=I ||  || Integer values less or equal&lt;br /&gt;
|-&lt;br /&gt;
| ==D ||  || Double integer values equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;D ||  || Double integer values unequal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;D ||  || Double integer values greater&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=D ||  || Double integer values greater or equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;D ||  || Double integer values less&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=D ||  || Double integer values less or equal&lt;br /&gt;
|-&lt;br /&gt;
| ==R ||  || Real values equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;R ||  || Real values unequal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;R ||  || Real values greater&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=R ||  || Real values greater or equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;R ||  || Real values less&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=R ||  || Real values less or equal&lt;br /&gt;
|-&lt;br /&gt;
| SIN ||  || Sine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| COS ||  || Cosine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| TAN ||  || Tangent of a real value&lt;br /&gt;
|-&lt;br /&gt;
| ASIN ||  || Arcsine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| ACOS ||  || Arccosine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| ATAN ||  || Arctangent of a real value&lt;br /&gt;
|-&lt;br /&gt;
| SQR ||  || Square a real value&lt;br /&gt;
|-&lt;br /&gt;
| SQRT ||  || Square root a real value&lt;br /&gt;
|-&lt;br /&gt;
| EXP ||  || e to the power of a real value&lt;br /&gt;
|-&lt;br /&gt;
| LN ||  || Natural logarithm of a real value&lt;br /&gt;
|-&lt;br /&gt;
| +I ||  || Integer addition&lt;br /&gt;
|-&lt;br /&gt;
| -I ||  || Integer subtraction&lt;br /&gt;
|-&lt;br /&gt;
| *I ||  || Integer multiplication&lt;br /&gt;
|-&lt;br /&gt;
| /I ||  || Integer division&lt;br /&gt;
|-&lt;br /&gt;
| +D ||  || Double-integer addition&lt;br /&gt;
|-&lt;br /&gt;
| -D ||  || Double-integer subtraction&lt;br /&gt;
|-&lt;br /&gt;
| *D ||  || Double-integer multiplication&lt;br /&gt;
|-&lt;br /&gt;
| /D ||  || Double-integer division&lt;br /&gt;
|-&lt;br /&gt;
| +R ||  || Real addition&lt;br /&gt;
|-&lt;br /&gt;
| -R ||  || Real subtraction&lt;br /&gt;
|-&lt;br /&gt;
| *R ||  || Real multiplication&lt;br /&gt;
|-&lt;br /&gt;
| /R ||  || Real division&lt;br /&gt;
|-&lt;br /&gt;
| MOD ||  || Double integer division (modulo)&lt;br /&gt;
|-&lt;br /&gt;
| + || const || Add a constant&lt;br /&gt;
|-&lt;br /&gt;
| +P# || const || Add a pointer&lt;br /&gt;
|-&lt;br /&gt;
| DEC ||  || dekrement ACCU1-LL (one byte)&lt;br /&gt;
|-&lt;br /&gt;
| INC ||  || inkrement ACCU1-LL (one byte)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Data type conversion instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| ITD ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Convert integer to double integer&lt;br /&gt;
|-&lt;br /&gt;
| ITB ||  || Convert integer to BCD&lt;br /&gt;
|-&lt;br /&gt;
| DTB ||  || Convert double integer to BCD&lt;br /&gt;
|-&lt;br /&gt;
| DTR ||  || Convert double integer to real&lt;br /&gt;
|-&lt;br /&gt;
| BTI ||  || Convert BCD to integer&lt;br /&gt;
|-&lt;br /&gt;
| BTD ||  || Convert BCD to double integer&lt;br /&gt;
|-&lt;br /&gt;
| RND ||  || Convert real to double integer (round)&lt;br /&gt;
|-&lt;br /&gt;
| RND+ ||  || Convert real to double integer (round up)&lt;br /&gt;
|-&lt;br /&gt;
| RND- ||  || Convert real to double integer (round down)&lt;br /&gt;
|-&lt;br /&gt;
| TRUNC ||  || Convert reeal to double integer (truncate)&lt;br /&gt;
|-&lt;br /&gt;
| INVI ||  || Invert ACCU1-L (integer)&lt;br /&gt;
|-&lt;br /&gt;
| INVD ||  || Invert ACCU1 (double integer)&lt;br /&gt;
|-&lt;br /&gt;
| NEGI ||  || Negate ACCU1-L (integer)&lt;br /&gt;
|-&lt;br /&gt;
| NEGD ||  || Negate ACCU1 (double integer)&lt;br /&gt;
|-&lt;br /&gt;
| NEGR ||  || Negate ACCU1 (real)&lt;br /&gt;
|-&lt;br /&gt;
| ABS ||  || Absolute value (real)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Jump instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| JU ||style=&amp;quot;width: 5em&amp;quot;| goal ||style=&amp;quot;width: 22em&amp;quot;| Jump unconditional&lt;br /&gt;
|-&lt;br /&gt;
| JC || goal || Jump if RLO = 1&lt;br /&gt;
|-&lt;br /&gt;
| JCB || goal || Jump if RLO = 1 (save RLO)&lt;br /&gt;
|-&lt;br /&gt;
| JCN || goal || Jump if RLO = 0&lt;br /&gt;
|-&lt;br /&gt;
| JNB || goal || Jump if RLO = 0 (save RLO)&lt;br /&gt;
|-&lt;br /&gt;
| JBI || goal || Jump if BR = 1&lt;br /&gt;
|-&lt;br /&gt;
| JNBI || goal || Jump if BR = 0&lt;br /&gt;
|-&lt;br /&gt;
| JZ || goal || Jump if compare result = 0&lt;br /&gt;
|-&lt;br /&gt;
| JN || goal || Jump if compare result != 0&lt;br /&gt;
|-&lt;br /&gt;
| JP || goal || Jump if compare result &amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| JPZ || goal || Jump if compare result &amp;gt;= 0&lt;br /&gt;
|-&lt;br /&gt;
| JM || goal || Jump if compare result &amp;lt; 0&lt;br /&gt;
|-&lt;br /&gt;
| JMZ || goal || Jump if compare result &amp;lt;= 0&lt;br /&gt;
|-&lt;br /&gt;
| JUO || goal || Jump if compare result &amp;quot;Unordered Math Instruction&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| JO || goal || Jump on overflow&lt;br /&gt;
|-&lt;br /&gt;
| JOS || goal || Jump on saving overflow&lt;br /&gt;
|-&lt;br /&gt;
| JL || goal || Jump distributor&lt;br /&gt;
|-&lt;br /&gt;
| LOOP || goal || Loop programming (decrement ACCU1-L and jump if != 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Block call instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| CALL FB ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Unconditional call of an FB with parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CALL FC ||  || Unconditional call of an FC with parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CALL SFB ||  || Unconditional call of an SFB with parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CALL SFC ||  || Unconditional call of an SFC with parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| UC FB ||  || Unconditional call of an FB without parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CC FB ||  || Conditional call of an FB without parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| UC FC ||  || Unconditional call of an FC without parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| CC FC ||  || Conditional call of an FC without parameter transfer&lt;br /&gt;
|-&lt;br /&gt;
| BEU ||  || End block unconditionally&lt;br /&gt;
|-&lt;br /&gt;
| BEC ||  || End block conditionally (RLO = 1)&lt;br /&gt;
|-&lt;br /&gt;
| BE ||  || End block&lt;br /&gt;
|-&lt;br /&gt;
| OPN || ||&lt;br /&gt;
|-&lt;br /&gt;
|  || DB || Open data block&lt;br /&gt;
|-&lt;br /&gt;
|  || DI || Open instance data block&lt;br /&gt;
|-&lt;br /&gt;
| TDB ||  || Exchange data block registers&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Indirect adressing instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| LAR1 ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AR1 laden&lt;br /&gt;
|-&lt;br /&gt;
| LAR2 ||  || AR2 laden&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || mit Merkerdoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || mit Lokaldatendoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || mit Datenbausteindoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || mit Instanz-Datenbausteindoppelwort&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 ||  || AR1 laden mit Inhalt aus Akku1&lt;br /&gt;
|-&lt;br /&gt;
| LAR2 ||  || AR2 laden mit Inhalt aus Akku1&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 || AR2 || AR1 laden mit Inhalt aus A2&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 || P# || AR1 laden mit Zeiger&lt;br /&gt;
|-&lt;br /&gt;
| LAR2 || P# || AR2 laden mit Zeiger&lt;br /&gt;
|-&lt;br /&gt;
| TAR1 ||  || Schreibe AR1&lt;br /&gt;
|-&lt;br /&gt;
| TAR2 ||  || Schreibe AR2&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || in Merkerdoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || in Lokaldatendoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || in Datenbausteindoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || in Instanz-Datenbausteindoppelwort&lt;br /&gt;
|-&lt;br /&gt;
| TAR1 ||  || Schreibe AR1 in Akku1&lt;br /&gt;
|-&lt;br /&gt;
| TAR2 ||  || Schreibe AR2 in Akku1&lt;br /&gt;
|-&lt;br /&gt;
| TAR1 || AR2 || AR1 nach AR2 transferieren&lt;br /&gt;
|-&lt;br /&gt;
| TAR ||  || AR1 mit AR2 tauschen&lt;br /&gt;
|-&lt;br /&gt;
| +AR1 ||  || Addiere Akku1 zu AR1&lt;br /&gt;
|-&lt;br /&gt;
| +AR2 ||  || Addiere Akku1 zu AR2&lt;br /&gt;
|-&lt;br /&gt;
| +AR1 || P# || Addiere Pointer zu AR1&lt;br /&gt;
|-&lt;br /&gt;
| +AR2 || P# || Addiere Pointer zu AR2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Program display and null operation instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| NOP ||style=&amp;quot;width: 5em&amp;quot;| 0 ||style=&amp;quot;width: 22em&amp;quot;| Nulloperation&lt;br /&gt;
|-&lt;br /&gt;
| NOP || 1 || Nulloperation&lt;br /&gt;
|-&lt;br /&gt;
| BLD || konst || Bildaufbau&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Layout of &#039;&#039;S7-SoftPLC&#039;&#039; memory&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
 The memory of &#039;&#039;S7-SoftPLC 315&#039;&#039; and &#039;&#039;S7-SoftPLC 416&#039;&#039; is compatible to the memory of SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;-control S7-315 or S7-416.&amp;lt;br /&amp;gt;&lt;br /&gt;
 Please note, that the low-order byte has to be interchanged with the high-order byte when accessing this memory with Windows programs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Layout of SoftPLC system data&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
 The layout of the system data in the system data is compatible to the system data of SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;-control S7-315 or S7-416.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated organisation blocks&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
 The organisation blocks, listed in the chart below, are executed, if they are programmed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! OB-Nr !! Kurzbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:14em&amp;quot;| OB 1 ||style=&amp;quot;width:14em&amp;quot;| Hauptprogramm&lt;br /&gt;
|-&lt;br /&gt;
| OB 10 – OB 17 || Uhrzeitalarm&lt;br /&gt;
|-&lt;br /&gt;
| OB 20 – OB 23 || Verzögerungsalarm&lt;br /&gt;
|-&lt;br /&gt;
| OB 30 – OB 38 || Zeitbausteine (zyklischer Aufruf)&lt;br /&gt;
|-&lt;br /&gt;
| OB 80 – OB 87 || Fehlerbausteine&lt;br /&gt;
|-&lt;br /&gt;
| OB 90 || Hintergrundbearbeitung &lt;br /&gt;
|-&lt;br /&gt;
| OB 100/OB 101 || Neustart bzw. Wiederanlauf&lt;br /&gt;
|-&lt;br /&gt;
| OB 121/OB 122 || Programmierfehler&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated system functions&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
 All system functions (SFC) relevant for a Software PLC are integrated in &#039;&#039;S7-SoftPLC&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
 The chart below shows the available SFCs(in numeric listing)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! SFC-Nr !! SFC-Name !! Kurzbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:7em&amp;quot;| SFC 0 ||style=&amp;quot;width:8em&amp;quot;| SET_CLK || Setzen der Systemzeit&lt;br /&gt;
|-&lt;br /&gt;
| SFC 1 || READ_CLK || Lesen der Systemzeit&lt;br /&gt;
|-&lt;br /&gt;
| SFC 5  (3) || GADR_LGC || Logische Basisadresse einer Baugruppe ermitteln&lt;br /&gt;
|-&lt;br /&gt;
| SFC 6 || RD_SINFO || Startinformation des aktuellen OBs auslesen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 13 (1) || DPNRM_DG || Slave-Diagnose eines DP-Slaves&lt;br /&gt;
|-&lt;br /&gt;
| SFC 14 (2) || DPRD_DAT || Konsistente Daten eines DP-Normslaves lesen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 15 (2) || DPWR_DAT || Daten konsistent auf DP-Normslave schreiben&lt;br /&gt;
|-&lt;br /&gt;
| SFC 20 || BLKMOV || SPS-Variable in Zielbereich kopieren&lt;br /&gt;
|-&lt;br /&gt;
| SFC 21 || FILL || SPS-Variable in Zielbereich vorbesetzen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 22 || CREAT_DB || Anlegen von Datenbausteinen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 23 || DEL_DB || Datenbaustein löschen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 24 || TEST_DB || Attribute eines Datenbausteins testen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 25 || COMPRESS || Ladespeicher komprimieren&lt;br /&gt;
|-&lt;br /&gt;
| SFC 28 || SET_TINT || Stellen eines Uhrzeitalarms&lt;br /&gt;
|-&lt;br /&gt;
| SFC 29 || CAN_TINT || Uhrzeitalarm anhalten (nicht ausführen)&lt;br /&gt;
|-&lt;br /&gt;
| SFC 30 || ACT_TINT || Uhrzeitalarm freigeben&lt;br /&gt;
|-&lt;br /&gt;
| SFC 31 || QRY_TINT || Status des Uhrzeitalarms&lt;br /&gt;
|-&lt;br /&gt;
| SFC 32 || SRT_DINT || Starte Verzögerungsalarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 33 || CAN_DINT || Unterbreche Verzögerungsalarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 34 || QRY_DINT || Statusabfrage des Verzögerungsalarms&lt;br /&gt;
|-&lt;br /&gt;
| SFC 36 || MSK_FLT || Maskieren eines synchronen Fehlerereignisses&lt;br /&gt;
|-&lt;br /&gt;
| SFC 37 || DMSK_FLT || Demaskieren eines synchronen Fehlerereignisses&lt;br /&gt;
|-&lt;br /&gt;
| SFC 38 || READ_ERR || Auslesen des Ereignisstatusregister&lt;br /&gt;
|-&lt;br /&gt;
| SFC 39 || DIS_IRT || Sperren der Asynchron- und Alarmfehlerbearbeitung&lt;br /&gt;
|-&lt;br /&gt;
| SFC 40 || EN_IRT || Freigeben der Asynchron- und Alarmfehlerbearbeitung&lt;br /&gt;
|-&lt;br /&gt;
| SFC 41 || DIS_AIRT || Verzögerung höherpriorer Asynchron- und Alarmfehlerbearbeitung&lt;br /&gt;
|-&lt;br /&gt;
| SFC 42 || EN_AIRT || Freigabe höherpriorer Asynchron- und Alarmfehlerbearbeitung&lt;br /&gt;
|-&lt;br /&gt;
| SFC 43 || RE_TRIGR || Nachtriggern des Watchdogs&lt;br /&gt;
|-&lt;br /&gt;
| SFC 46 || STP || CPU Betriebszustand STOP&lt;br /&gt;
|-&lt;br /&gt;
| SFC 49 (3) || LGC_GADR || Ermitteln des Steckplatzes einer logischen Adresse&lt;br /&gt;
|-&lt;br /&gt;
| SFC 50 (3) || RD_LAGADR || Ermitteln aller logischer Adressen einer Baugruppe&lt;br /&gt;
|-&lt;br /&gt;
| SFC 51 || RDSYST || Systemzustandsliste (SZL) auslesen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 64 || TIME_TCK || Timer Tick&lt;br /&gt;
|-&lt;br /&gt;
| SFC 81 || UBLKMOV || Block Move der nicht unterbrochen werden kann&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1)The SFC 13 is available only, when the driver Cifcfg.dll is loaded. Furthermore it can only return valid results, if the PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; configuration has been created via the &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; hardware configuration or the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration. This is only possible when using the driver CIFCFG.DLL.&amp;lt;br /&amp;gt;&lt;br /&gt;
 2)The SFC 14 and SFC 15 are available only, if they are loaded via the driver CIF30D0.DLL or the driver CIFCFG.DLL.&amp;lt;br /&amp;gt;&lt;br /&gt;
 3)The SFCs can only return valid results, if the PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 configuration has been created via the &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration or the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration. This is only possible when using the driver CIFCFG.DLL.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated system blocks&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
 The system blocks (SFB) relevant for a software PLC are integrated in &#039;&#039;S7-SoftPLC&#039;&#039;. &amp;lt;br /&amp;gt;&lt;br /&gt;
 The following system function blocks are supported:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! SFB-Nr !! SFB-Name !! Kurzbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:7em&amp;quot;| SFB 0 ||style=&amp;quot;width:7em&amp;quot;| CTU || Vorwärtszähler (Counter Up)&lt;br /&gt;
|-&lt;br /&gt;
| SFB 1 || CTD || Rückwärtszähler (Counter Down)&lt;br /&gt;
|-&lt;br /&gt;
| SFB 2 || CTUD || Vorwärts- und Rückwärtszähler&lt;br /&gt;
|-&lt;br /&gt;
| SFB 3 || TP || Zeitimpuls&lt;br /&gt;
|-&lt;br /&gt;
| SFB 4 || TON || Einschaltverzögerung&lt;br /&gt;
|-&lt;br /&gt;
| SFB 5 || TOF || Ausschaltverzögerung&lt;br /&gt;
|-&lt;br /&gt;
| SFB 32 || DRUM || Schaltwerk zur Steuerung von Schrittketten&lt;br /&gt;
|-&lt;br /&gt;
| SFB 52 (4) || RDREC_DP || Datensatz lesen&lt;br /&gt;
|-&lt;br /&gt;
| SFB 53 (4) || WRREC_DP || Datensatz schreiben&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4)The SFB 52 and SFB 53 are only available if the driver CIFCFG.DLL is loaded and the entry DPV1=1 is set.&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Instruction_set&amp;diff=1148</id>
		<title>S7-SoftPLC:Instruction set</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Instruction_set&amp;diff=1148"/>
		<updated>2013-01-23T11:25:53Z</updated>

		<summary type="html">&lt;p&gt;Jonas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The programming language of the IBH&#039;&#039;softec&#039;&#039; &#039;&#039;S7-SoftPLC 315&#039;&#039;and &#039;&#039;S7-SoftPLC 416&#039;&#039; controls is STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 and can be made with the programming tools &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; or STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 from Siemens. The complete instruction set of the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 language is supported.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;S7-SoftPLC 315&#039;&#039; has the complete instruction set of the SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; S7-315 CPU.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;S7-SoftPLC 416&#039;&#039; has the complete instruction set of the SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; S7-416 CPU.&lt;br /&gt;
&lt;br /&gt;
== Bit logic instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Instruction !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| A ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AND with a scan to &amp;quot;1&amp;quot;“&lt;br /&gt;
|-&lt;br /&gt;
| AN ||  || AND with a scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| O ||  || OR with scan to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| ON ||  || OR with scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| X ||  || Exclusive-OR with a scan to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| XN ||  || Exclusive-OR with a scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|  || I || of an input&lt;br /&gt;
|-&lt;br /&gt;
|  || Q || of an output&lt;br /&gt;
|-&lt;br /&gt;
|  || M || of a memory&lt;br /&gt;
|-&lt;br /&gt;
|  || L || of a local data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || T || of a timer&lt;br /&gt;
|-&lt;br /&gt;
|  || C || of a counter&lt;br /&gt;
|-&lt;br /&gt;
|  || DBX || of a data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || DIX || of an instant data bit&lt;br /&gt;
|-&lt;br /&gt;
| ==0 ||  || result equal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;0 ||  || result unequal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;0 ||  || result greater than zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=0 ||  || result greater or equal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;0 ||  || result less than zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=0 ||  || result less or equal zero&lt;br /&gt;
|-&lt;br /&gt;
| UO ||  || invalid result&lt;br /&gt;
|-&lt;br /&gt;
| OV ||  || overflow&lt;br /&gt;
|-&lt;br /&gt;
| OS ||  || overflow (saving)&lt;br /&gt;
|-&lt;br /&gt;
| BR ||  || binary result&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other boolean logic instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| A( ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AND left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| AN( ||  || AND NOT left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| O( ||  || OR left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| ON( ||  || OR NOT left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| X( ||  || Exclusive OR left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| XN( ||  || Exclusive OR NOT left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| ) ||  || Right parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| O ||  || OR-ing AND operations &lt;br /&gt;
|-&lt;br /&gt;
| NOT ||  || Negate RLO&lt;br /&gt;
|-&lt;br /&gt;
| SET ||  || Set RLO to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| CLR ||  || Set RLO to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| SAVE ||  || Save RLO to the BR bit&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| = ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Assign value of RLO&lt;br /&gt;
|-&lt;br /&gt;
| S ||  || Set&lt;br /&gt;
|-&lt;br /&gt;
| R ||  || Reset&lt;br /&gt;
|-&lt;br /&gt;
| FP ||  || Positive edge detection&lt;br /&gt;
|-&lt;br /&gt;
| FN ||  || Negative edge detection&lt;br /&gt;
|-&lt;br /&gt;
|  || I || of an input bit&lt;br /&gt;
|-&lt;br /&gt;
|  || Q || of an output bit&lt;br /&gt;
|-&lt;br /&gt;
|  || M || of a memory bit&lt;br /&gt;
|-&lt;br /&gt;
|  || L || of a local data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || DBX || of a data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || DIX || of a instance data bit&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Master Control Relay ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| MCRA ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Activate MCR&lt;br /&gt;
|-&lt;br /&gt;
| MCRD ||  || Deactivate MCR&lt;br /&gt;
|-&lt;br /&gt;
| MCR( ||  || Open MCR zone&lt;br /&gt;
|-&lt;br /&gt;
| )MCR ||  || Close MCR zone&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Load / Transfer instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| L ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Load operand&lt;br /&gt;
|-&lt;br /&gt;
| T ||  || Transfer operand&lt;br /&gt;
|-&lt;br /&gt;
|  || IB || Input byte&lt;br /&gt;
|-&lt;br /&gt;
|  || IW || Input word&lt;br /&gt;
|-&lt;br /&gt;
|  || ID || Input double word&lt;br /&gt;
|-&lt;br /&gt;
|  || QB || Output byte&lt;br /&gt;
|-&lt;br /&gt;
|  || QW || Output word&lt;br /&gt;
|-&lt;br /&gt;
|  || QD || Ouput double word&lt;br /&gt;
|-&lt;br /&gt;
|  || MB || Memory byte&lt;br /&gt;
|-&lt;br /&gt;
|  || MW || Memory word&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || Memory double word&lt;br /&gt;
|-&lt;br /&gt;
|  || LB || Local data byte&lt;br /&gt;
|-&lt;br /&gt;
|  || LW || Local data word&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || Local data double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBB || Data block byte&lt;br /&gt;
|-&lt;br /&gt;
|  || DBW || Data block word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || Data block double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DIB || Instance data block byte&lt;br /&gt;
|-&lt;br /&gt;
|  || DIW || Instance data block word&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || Instance data block double word&lt;br /&gt;
|-&lt;br /&gt;
|  || STW || Status word&lt;br /&gt;
|-&lt;br /&gt;
| L || const || Load constant value&lt;br /&gt;
|-&lt;br /&gt;
| L || #Pointer || Load pointer&lt;br /&gt;
|-&lt;br /&gt;
| L || T || Timer&lt;br /&gt;
|-&lt;br /&gt;
| LC || T || Timer (BCD coded)&lt;br /&gt;
|-&lt;br /&gt;
| L || Z || Counter&lt;br /&gt;
|-&lt;br /&gt;
| LC || Z || Counter (BCD coded)&lt;br /&gt;
|-&lt;br /&gt;
| L || DBNO || Data block number&lt;br /&gt;
|-&lt;br /&gt;
| L || DBLG || Data block length&lt;br /&gt;
|-&lt;br /&gt;
| L || DINO || Instance data block number&lt;br /&gt;
|-&lt;br /&gt;
| L || DILG || Instance data block length&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Peripheral access instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| L ||style=&amp;quot;width: 5em&amp;quot;| PIB ||style=&amp;quot;width: 22em&amp;quot;| Load peripheral input byte&lt;br /&gt;
|-&lt;br /&gt;
| L || PIW || Load peripheral input word&lt;br /&gt;
|-&lt;br /&gt;
| L || PID || Load peripheral input double word&lt;br /&gt;
|-&lt;br /&gt;
| T || PQB || Transfer peripheral output byte&lt;br /&gt;
|-&lt;br /&gt;
| T || PQW || Transfer peripheral output word&lt;br /&gt;
|-&lt;br /&gt;
| T || PQD || Transfer peripheral output double word&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Accumulator instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| PUSH ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Push accumulators upwards&lt;br /&gt;
|-&lt;br /&gt;
| POP ||  || Push accumulators downwards&lt;br /&gt;
|-&lt;br /&gt;
| ENT ||  || Push accumulators (without A1) A2-&amp;gt;A3, A3-&amp;gt;A4&lt;br /&gt;
|-&lt;br /&gt;
| LEAVE ||  || Push accumulators (without A1) A4-&amp;gt;A3, A3-&amp;gt;A2&lt;br /&gt;
|-&lt;br /&gt;
| TAK ||  || Change ACCU1 with ACCU2&lt;br /&gt;
|-&lt;br /&gt;
| CAW ||  || Change ACCU1 bytes 0 and 1&lt;br /&gt;
|-&lt;br /&gt;
| CAD ||  || Change ACCU1 bytes 0 and 3, 1 and 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Shift and rotating instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| SLW ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Shift ACCU1-L left (word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SLD ||  || Shift ACCU1 left (double word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SRW ||  || Shift ACCU1-L right (word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SRD ||  || Shift ACCU1 right (double word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SSI ||  || Shift ACCU1-L right (word shift with sign)&lt;br /&gt;
|-&lt;br /&gt;
| SSD ||  || Shift ACCU1 right (double word shift with sign)&lt;br /&gt;
|-&lt;br /&gt;
| RLD ||  || Rotate ACCU1 left (double word)&lt;br /&gt;
|-&lt;br /&gt;
| RLDA ||  || Rotate ACCU1 left through CC1&lt;br /&gt;
|-&lt;br /&gt;
| RRDA ||  || Rotate ACCU1 right through CC1&lt;br /&gt;
|-&lt;br /&gt;
| RRD ||  || Rotate ACCU1 right (double word)&lt;br /&gt;
|-&lt;br /&gt;
|  || const || Number of places to shift/rotate&lt;br /&gt;
|-&lt;br /&gt;
|  || - || Number of places to shift/rotate located in ACCU2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Timer instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| SP ||style=&amp;quot;width: 5em&amp;quot;| T ||style=&amp;quot;width: 22em&amp;quot;| Start as impulse&lt;br /&gt;
|-&lt;br /&gt;
| SE || T || Start as extendet impulse&lt;br /&gt;
|-&lt;br /&gt;
| SD || T || Start as ON-delay&lt;br /&gt;
|-&lt;br /&gt;
| SS || T || Start as saving ON-delay&lt;br /&gt;
|-&lt;br /&gt;
| SF || T || Start as OFF-delay&lt;br /&gt;
|-&lt;br /&gt;
| R || T || Reset timer&lt;br /&gt;
|-&lt;br /&gt;
| FR || T || Enable timer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Counter instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| CU ||style=&amp;quot;width: 5em&amp;quot;| C ||style=&amp;quot;width: 22em&amp;quot;| Count up (increment)&lt;br /&gt;
|-&lt;br /&gt;
| CD || C || Count down (decrement)&lt;br /&gt;
|-&lt;br /&gt;
| S || C || Set counter&lt;br /&gt;
|-&lt;br /&gt;
| R || C || Reset counter&lt;br /&gt;
|-&lt;br /&gt;
| FR || C || Enable counter&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Word instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| AW ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AND ACCU1-L (AND word)&lt;br /&gt;
|-&lt;br /&gt;
| AD ||  || AND ACCU1 (AND double word)&lt;br /&gt;
|-&lt;br /&gt;
| OW ||  || OR ACCU1-L (OR word)&lt;br /&gt;
|-&lt;br /&gt;
| OD ||  || OR ACCU1 (OR double word)&lt;br /&gt;
|-&lt;br /&gt;
| XOW ||  || Exclusive-OR ACCU (XOR word)&lt;br /&gt;
|-&lt;br /&gt;
| XOD ||  || Exclusive-OR ACCU (XOR double word)&lt;br /&gt;
|-&lt;br /&gt;
|  || const || with a word or double word constant&lt;br /&gt;
|-&lt;br /&gt;
|  || - || with ACCU2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Arithmetic instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| ==I ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Integer values equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;I ||  || Integer values unequal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;I ||  || Integer values greater&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=I ||  || Integer values greather or equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;I ||  || Integer values less&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=I ||  || Integer values less or equal&lt;br /&gt;
|-&lt;br /&gt;
| ==D ||  || Double integer values equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;D ||  || Double integer values unequal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;D ||  || Double integer values greater&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=D ||  || Double integer values greater or equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;D ||  || Double integer values less&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=D ||  || Double integer values less or equal&lt;br /&gt;
|-&lt;br /&gt;
| ==R ||  || Real values equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;R ||  || Real values unequal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;R ||  || Real values greater&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=R ||  || Real values greater or equal&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;R ||  || Real values less&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=R ||  || Real values less or equal&lt;br /&gt;
|-&lt;br /&gt;
| SIN ||  || Sine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| COS ||  || Cosine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| TAN ||  || Tangent of a real value&lt;br /&gt;
|-&lt;br /&gt;
| ASIN ||  || Arcsine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| ACOS ||  || Arccosine of a real value&lt;br /&gt;
|-&lt;br /&gt;
| ATAN ||  || Arctangent of a real value&lt;br /&gt;
|-&lt;br /&gt;
| SQR ||  || Square a real value&lt;br /&gt;
|-&lt;br /&gt;
| SQRT ||  || Square root a real value&lt;br /&gt;
|-&lt;br /&gt;
| EXP ||  || e to the power of a real value&lt;br /&gt;
|-&lt;br /&gt;
| LN ||  || Natural logarithm of a real value&lt;br /&gt;
|-&lt;br /&gt;
| +I ||  || Integer addition&lt;br /&gt;
|-&lt;br /&gt;
| -I ||  || Integer subtraction&lt;br /&gt;
|-&lt;br /&gt;
| *I ||  || Integer multiplication&lt;br /&gt;
|-&lt;br /&gt;
| /I ||  || Integer division&lt;br /&gt;
|-&lt;br /&gt;
| +D ||  || Double-integer addition&lt;br /&gt;
|-&lt;br /&gt;
| -D ||  || Double-integer subtraction&lt;br /&gt;
|-&lt;br /&gt;
| *D ||  || Double-integer multiplication&lt;br /&gt;
|-&lt;br /&gt;
| /D ||  || Double-integer division&lt;br /&gt;
|-&lt;br /&gt;
| +R ||  || Real addition&lt;br /&gt;
|-&lt;br /&gt;
| -R ||  || Real subtraction&lt;br /&gt;
|-&lt;br /&gt;
| *R ||  || Real multiplication&lt;br /&gt;
|-&lt;br /&gt;
| /R ||  || Real division&lt;br /&gt;
|-&lt;br /&gt;
| MOD ||  || Double integer division (modulo)&lt;br /&gt;
|-&lt;br /&gt;
| + || const || Add a constant&lt;br /&gt;
|-&lt;br /&gt;
| +P# || const || Add a pointer&lt;br /&gt;
|-&lt;br /&gt;
| DEC ||  || dekrement ACCU1-LL (one byte)&lt;br /&gt;
|-&lt;br /&gt;
| INC ||  || inkrement ACCU1-LL (one byte)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Data type conversion instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| ITD ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Convert integer to double integer&lt;br /&gt;
|-&lt;br /&gt;
| ITB ||  || Convert integer to BCD&lt;br /&gt;
|-&lt;br /&gt;
| DTB ||  || Convert double integer to BCD&lt;br /&gt;
|-&lt;br /&gt;
| DTR ||  || Convert double integer to real&lt;br /&gt;
|-&lt;br /&gt;
| BTI ||  || Convert BCD to integer&lt;br /&gt;
|-&lt;br /&gt;
| BTD ||  || Convert BCD to double integer&lt;br /&gt;
|-&lt;br /&gt;
| RND ||  || Convert real to double integer (round)&lt;br /&gt;
|-&lt;br /&gt;
| RND+ ||  || Convert real to double integer (round up)&lt;br /&gt;
|-&lt;br /&gt;
| RND- ||  || Convert real to double integer (round down)&lt;br /&gt;
|-&lt;br /&gt;
| TRUNC ||  || Convert reeal to double integer (truncate)&lt;br /&gt;
|-&lt;br /&gt;
| INVI ||  || Invert ACCU1-L (integer)&lt;br /&gt;
|-&lt;br /&gt;
| INVD ||  || Invert ACCU1 (double integer)&lt;br /&gt;
|-&lt;br /&gt;
| NEGI ||  || Negate ACCU1-L (integer)&lt;br /&gt;
|-&lt;br /&gt;
| NEGD ||  || Negate ACCU1 (double integer)&lt;br /&gt;
|-&lt;br /&gt;
| NEGR ||  || Negate ACCU1 (real)&lt;br /&gt;
|-&lt;br /&gt;
| ABS ||  || Absolute value (real)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Jump instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| SPA ||style=&amp;quot;width: 5em&amp;quot;| Ziel ||style=&amp;quot;width: 22em&amp;quot;| Sprung absolut (unbedingt)&lt;br /&gt;
|-&lt;br /&gt;
| SPB || Ziel || Sprung wenn VKE = 1&lt;br /&gt;
|-&lt;br /&gt;
| SPBB || Ziel || Sprung wenn VKE = 1 (VKE speichern)&lt;br /&gt;
|-&lt;br /&gt;
| SPBN || Ziel || Sprung wenn VKE = 0&lt;br /&gt;
|-&lt;br /&gt;
| SPBNB || Ziel || Sprung wenn VKE = 0 (VKE speichern)&lt;br /&gt;
|-&lt;br /&gt;
| SPBI || Ziel || Sprung wenn BIE = 1&lt;br /&gt;
|-&lt;br /&gt;
| SPBIN || Ziel || Sprung wenn BIE = 0&lt;br /&gt;
|-&lt;br /&gt;
| SPZ || Ziel || Sprung bei Vergleichsergebnis = 0&lt;br /&gt;
|-&lt;br /&gt;
| SPN || Ziel || Sprung bei Vergleichsergebnis ≠ 0&lt;br /&gt;
|-&lt;br /&gt;
| SPP || Ziel || Sprung bei Vergleichsergebnis &amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| SPPZ || Ziel || Sprung bei Vergleichsergebnis &amp;gt;= 0&lt;br /&gt;
|-&lt;br /&gt;
| SPM || Ziel || Sprung bei Vergleichsergebnis &amp;lt; 0&lt;br /&gt;
|-&lt;br /&gt;
| SPMZ || Ziel || Sprung bei Vergleichsergebnis &amp;lt;= 0&lt;br /&gt;
|-&lt;br /&gt;
| SPU || Ziel || Sprung bei Vergleichsergebnis ungültig&lt;br /&gt;
|-&lt;br /&gt;
| SPO || Ziel || Sprung bei Overflow&lt;br /&gt;
|-&lt;br /&gt;
| SPS || Ziel || Sprung bei speicherndem Overflow&lt;br /&gt;
|-&lt;br /&gt;
| SPL || Ziel || Sprungverteiler&lt;br /&gt;
|-&lt;br /&gt;
| LOOP || Ziel || Schleife&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Block call instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| CALL FB ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Sprung zum Funktionsbaustein&lt;br /&gt;
|-&lt;br /&gt;
| CALL FC ||  || Sprung zur Funktion&lt;br /&gt;
|-&lt;br /&gt;
| CALL SFB ||  || Sprung zum System-Funktionsbaustein&lt;br /&gt;
|-&lt;br /&gt;
| CALL SFC ||  || Sprung zur System-Funktion&lt;br /&gt;
|-&lt;br /&gt;
| UC FB ||  || Funktionsbaustein absolut aufrufen&lt;br /&gt;
|-&lt;br /&gt;
| CC FB ||  || Funktionsbaustein bedingt aufrufen&lt;br /&gt;
|-&lt;br /&gt;
| UC FC ||  || Funktion absolut aufrufen&lt;br /&gt;
|-&lt;br /&gt;
| CC FC ||  || Funktion bedingt aufrufen&lt;br /&gt;
|-&lt;br /&gt;
| BEA ||  || Bausteinende absolut&lt;br /&gt;
|-&lt;br /&gt;
| BEB ||  || Bausteinende bedingt&lt;br /&gt;
|-&lt;br /&gt;
| BE ||  || Bausteinende&lt;br /&gt;
|-&lt;br /&gt;
| AUF || DB || Datenbaustein öffnen&lt;br /&gt;
|-&lt;br /&gt;
|  || DI || Instanz-Datenbaustein öffnen&lt;br /&gt;
|-&lt;br /&gt;
| TDB ||  || Datenbausteinregister tauschen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Indirect adressing instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| LAR1 ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AR1 laden&lt;br /&gt;
|-&lt;br /&gt;
| LAR2 ||  || AR2 laden&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || mit Merkerdoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || mit Lokaldatendoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || mit Datenbausteindoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || mit Instanz-Datenbausteindoppelwort&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 ||  || AR1 laden mit Inhalt aus Akku1&lt;br /&gt;
|-&lt;br /&gt;
| LAR2 ||  || AR2 laden mit Inhalt aus Akku1&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 || AR2 || AR1 laden mit Inhalt aus A2&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 || P# || AR1 laden mit Zeiger&lt;br /&gt;
|-&lt;br /&gt;
| LAR2 || P# || AR2 laden mit Zeiger&lt;br /&gt;
|-&lt;br /&gt;
| TAR1 ||  || Schreibe AR1&lt;br /&gt;
|-&lt;br /&gt;
| TAR2 ||  || Schreibe AR2&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || in Merkerdoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || in Lokaldatendoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || in Datenbausteindoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || in Instanz-Datenbausteindoppelwort&lt;br /&gt;
|-&lt;br /&gt;
| TAR1 ||  || Schreibe AR1 in Akku1&lt;br /&gt;
|-&lt;br /&gt;
| TAR2 ||  || Schreibe AR2 in Akku1&lt;br /&gt;
|-&lt;br /&gt;
| TAR1 || AR2 || AR1 nach AR2 transferieren&lt;br /&gt;
|-&lt;br /&gt;
| TAR ||  || AR1 mit AR2 tauschen&lt;br /&gt;
|-&lt;br /&gt;
| +AR1 ||  || Addiere Akku1 zu AR1&lt;br /&gt;
|-&lt;br /&gt;
| +AR2 ||  || Addiere Akku1 zu AR2&lt;br /&gt;
|-&lt;br /&gt;
| +AR1 || P# || Addiere Pointer zu AR1&lt;br /&gt;
|-&lt;br /&gt;
| +AR2 || P# || Addiere Pointer zu AR2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Program display and null operation instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| NOP ||style=&amp;quot;width: 5em&amp;quot;| 0 ||style=&amp;quot;width: 22em&amp;quot;| Nulloperation&lt;br /&gt;
|-&lt;br /&gt;
| NOP || 1 || Nulloperation&lt;br /&gt;
|-&lt;br /&gt;
| BLD || konst || Bildaufbau&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Layout of &#039;&#039;S7-SoftPLC&#039;&#039; memory&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
 The memory of &#039;&#039;S7-SoftPLC 315&#039;&#039; and &#039;&#039;S7-SoftPLC 416&#039;&#039; is compatible to the memory of SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;-control S7-315 or S7-416.&amp;lt;br /&amp;gt;&lt;br /&gt;
 Please note, that the low-order byte has to be interchanged with the high-order byte when accessing this memory with Windows programs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Layout of SoftPLC system data&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
 The layout of the system data in the system data is compatible to the system data of SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;-control S7-315 or S7-416.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated organisation blocks&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
 The organisation blocks, listed in the chart below, are executed, if they are programmed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! OB-Nr !! Kurzbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:14em&amp;quot;| OB 1 ||style=&amp;quot;width:14em&amp;quot;| Hauptprogramm&lt;br /&gt;
|-&lt;br /&gt;
| OB 10 – OB 17 || Uhrzeitalarm&lt;br /&gt;
|-&lt;br /&gt;
| OB 20 – OB 23 || Verzögerungsalarm&lt;br /&gt;
|-&lt;br /&gt;
| OB 30 – OB 38 || Zeitbausteine (zyklischer Aufruf)&lt;br /&gt;
|-&lt;br /&gt;
| OB 80 – OB 87 || Fehlerbausteine&lt;br /&gt;
|-&lt;br /&gt;
| OB 90 || Hintergrundbearbeitung &lt;br /&gt;
|-&lt;br /&gt;
| OB 100/OB 101 || Neustart bzw. Wiederanlauf&lt;br /&gt;
|-&lt;br /&gt;
| OB 121/OB 122 || Programmierfehler&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated system functions&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
 All system functions (SFC) relevant for a Software PLC are integrated in &#039;&#039;S7-SoftPLC&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
 The chart below shows the available SFCs(in numeric listing)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! SFC-Nr !! SFC-Name !! Kurzbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:7em&amp;quot;| SFC 0 ||style=&amp;quot;width:8em&amp;quot;| SET_CLK || Setzen der Systemzeit&lt;br /&gt;
|-&lt;br /&gt;
| SFC 1 || READ_CLK || Lesen der Systemzeit&lt;br /&gt;
|-&lt;br /&gt;
| SFC 5  (3) || GADR_LGC || Logische Basisadresse einer Baugruppe ermitteln&lt;br /&gt;
|-&lt;br /&gt;
| SFC 6 || RD_SINFO || Startinformation des aktuellen OBs auslesen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 13 (1) || DPNRM_DG || Slave-Diagnose eines DP-Slaves&lt;br /&gt;
|-&lt;br /&gt;
| SFC 14 (2) || DPRD_DAT || Konsistente Daten eines DP-Normslaves lesen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 15 (2) || DPWR_DAT || Daten konsistent auf DP-Normslave schreiben&lt;br /&gt;
|-&lt;br /&gt;
| SFC 20 || BLKMOV || SPS-Variable in Zielbereich kopieren&lt;br /&gt;
|-&lt;br /&gt;
| SFC 21 || FILL || SPS-Variable in Zielbereich vorbesetzen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 22 || CREAT_DB || Anlegen von Datenbausteinen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 23 || DEL_DB || Datenbaustein löschen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 24 || TEST_DB || Attribute eines Datenbausteins testen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 25 || COMPRESS || Ladespeicher komprimieren&lt;br /&gt;
|-&lt;br /&gt;
| SFC 28 || SET_TINT || Stellen eines Uhrzeitalarms&lt;br /&gt;
|-&lt;br /&gt;
| SFC 29 || CAN_TINT || Uhrzeitalarm anhalten (nicht ausführen)&lt;br /&gt;
|-&lt;br /&gt;
| SFC 30 || ACT_TINT || Uhrzeitalarm freigeben&lt;br /&gt;
|-&lt;br /&gt;
| SFC 31 || QRY_TINT || Status des Uhrzeitalarms&lt;br /&gt;
|-&lt;br /&gt;
| SFC 32 || SRT_DINT || Starte Verzögerungsalarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 33 || CAN_DINT || Unterbreche Verzögerungsalarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 34 || QRY_DINT || Statusabfrage des Verzögerungsalarms&lt;br /&gt;
|-&lt;br /&gt;
| SFC 36 || MSK_FLT || Maskieren eines synchronen Fehlerereignisses&lt;br /&gt;
|-&lt;br /&gt;
| SFC 37 || DMSK_FLT || Demaskieren eines synchronen Fehlerereignisses&lt;br /&gt;
|-&lt;br /&gt;
| SFC 38 || READ_ERR || Auslesen des Ereignisstatusregister&lt;br /&gt;
|-&lt;br /&gt;
| SFC 39 || DIS_IRT || Sperren der Asynchron- und Alarmfehlerbearbeitung&lt;br /&gt;
|-&lt;br /&gt;
| SFC 40 || EN_IRT || Freigeben der Asynchron- und Alarmfehlerbearbeitung&lt;br /&gt;
|-&lt;br /&gt;
| SFC 41 || DIS_AIRT || Verzögerung höherpriorer Asynchron- und Alarmfehlerbearbeitung&lt;br /&gt;
|-&lt;br /&gt;
| SFC 42 || EN_AIRT || Freigabe höherpriorer Asynchron- und Alarmfehlerbearbeitung&lt;br /&gt;
|-&lt;br /&gt;
| SFC 43 || RE_TRIGR || Nachtriggern des Watchdogs&lt;br /&gt;
|-&lt;br /&gt;
| SFC 46 || STP || CPU Betriebszustand STOP&lt;br /&gt;
|-&lt;br /&gt;
| SFC 49 (3) || LGC_GADR || Ermitteln des Steckplatzes einer logischen Adresse&lt;br /&gt;
|-&lt;br /&gt;
| SFC 50 (3) || RD_LAGADR || Ermitteln aller logischer Adressen einer Baugruppe&lt;br /&gt;
|-&lt;br /&gt;
| SFC 51 || RDSYST || Systemzustandsliste (SZL) auslesen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 64 || TIME_TCK || Timer Tick&lt;br /&gt;
|-&lt;br /&gt;
| SFC 81 || UBLKMOV || Block Move der nicht unterbrochen werden kann&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1)The SFC 13 is available only, when the driver Cifcfg.dll is loaded. Furthermore it can only return valid results, if the PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; configuration has been created via the &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; hardware configuration or the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration. This is only possible when using the driver CIFCFG.DLL.&amp;lt;br /&amp;gt;&lt;br /&gt;
 2)The SFC 14 and SFC 15 are available only, if they are loaded via the driver CIF30D0.DLL or the driver CIFCFG.DLL.&amp;lt;br /&amp;gt;&lt;br /&gt;
 3)The SFCs can only return valid results, if the PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 configuration has been created via the &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration or the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration. This is only possible when using the driver CIFCFG.DLL.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated system blocks&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
 The system blocks (SFB) relevant for a software PLC are integrated in &#039;&#039;S7-SoftPLC&#039;&#039;. &amp;lt;br /&amp;gt;&lt;br /&gt;
 The following system function blocks are supported:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! SFB-Nr !! SFB-Name !! Kurzbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:7em&amp;quot;| SFB 0 ||style=&amp;quot;width:7em&amp;quot;| CTU || Vorwärtszähler (Counter Up)&lt;br /&gt;
|-&lt;br /&gt;
| SFB 1 || CTD || Rückwärtszähler (Counter Down)&lt;br /&gt;
|-&lt;br /&gt;
| SFB 2 || CTUD || Vorwärts- und Rückwärtszähler&lt;br /&gt;
|-&lt;br /&gt;
| SFB 3 || TP || Zeitimpuls&lt;br /&gt;
|-&lt;br /&gt;
| SFB 4 || TON || Einschaltverzögerung&lt;br /&gt;
|-&lt;br /&gt;
| SFB 5 || TOF || Ausschaltverzögerung&lt;br /&gt;
|-&lt;br /&gt;
| SFB 32 || DRUM || Schaltwerk zur Steuerung von Schrittketten&lt;br /&gt;
|-&lt;br /&gt;
| SFB 52 (4) || RDREC_DP || Datensatz lesen&lt;br /&gt;
|-&lt;br /&gt;
| SFB 53 (4) || WRREC_DP || Datensatz schreiben&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4)The SFB 52 and SFB 53 are only available if the driver CIFCFG.DLL is loaded and the entry DPV1=1 is set.&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Instruction_set&amp;diff=1147</id>
		<title>S7-SoftPLC:Instruction set</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Instruction_set&amp;diff=1147"/>
		<updated>2013-01-23T11:18:36Z</updated>

		<summary type="html">&lt;p&gt;Jonas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The programming language of the IBH&#039;&#039;softec&#039;&#039; &#039;&#039;S7-SoftPLC 315&#039;&#039;and &#039;&#039;S7-SoftPLC 416&#039;&#039; controls is STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 and can be made with the programming tools &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; or STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 from Siemens. The complete instruction set of the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 language is supported.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;S7-SoftPLC 315&#039;&#039; has the complete instruction set of the SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; S7-315 CPU.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;S7-SoftPLC 416&#039;&#039; has the complete instruction set of the SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; S7-416 CPU.&lt;br /&gt;
&lt;br /&gt;
== Bit logic instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Instruction !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| A ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AND with a scan to &amp;quot;1&amp;quot;“&lt;br /&gt;
|-&lt;br /&gt;
| AN ||  || AND with a scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| O ||  || OR with scan to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| ON ||  || OR with scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| X ||  || Exclusive-OR with a scan to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| XN ||  || Exclusive-OR with a scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|  || I || of an input&lt;br /&gt;
|-&lt;br /&gt;
|  || Q || of an output&lt;br /&gt;
|-&lt;br /&gt;
|  || M || of a memory&lt;br /&gt;
|-&lt;br /&gt;
|  || L || of a local data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || T || of a timer&lt;br /&gt;
|-&lt;br /&gt;
|  || C || of a counter&lt;br /&gt;
|-&lt;br /&gt;
|  || DBX || of a data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || DIX || of an instant data bit&lt;br /&gt;
|-&lt;br /&gt;
| ==0 ||  || result equal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;0 ||  || result unequal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;0 ||  || result greater than zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=0 ||  || result greater or equal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;0 ||  || result less than zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=0 ||  || result less or equal zero&lt;br /&gt;
|-&lt;br /&gt;
| UO ||  || invalid result&lt;br /&gt;
|-&lt;br /&gt;
| OV ||  || overflow&lt;br /&gt;
|-&lt;br /&gt;
| OS ||  || overflow (saving)&lt;br /&gt;
|-&lt;br /&gt;
| BR ||  || binary result&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other boolean logic instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| A( ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AND left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| AN( ||  || AND NOT left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| O( ||  || OR left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| ON( ||  || OR NOT left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| X( ||  || Exclusive OR left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| XN( ||  || Exclusive OR NOT left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| ) ||  || Right parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| O ||  || OR-ing AND operations &lt;br /&gt;
|-&lt;br /&gt;
| NOT ||  || Negate RLO&lt;br /&gt;
|-&lt;br /&gt;
| SET ||  || Set RLO to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| CLR ||  || Set RLO to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| SAVE ||  || Save RLO to the BR bit&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| = ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Assign value of RLO&lt;br /&gt;
|-&lt;br /&gt;
| S ||  || Set&lt;br /&gt;
|-&lt;br /&gt;
| R ||  || Reset&lt;br /&gt;
|-&lt;br /&gt;
| FP ||  || Positive edge detection&lt;br /&gt;
|-&lt;br /&gt;
| FN ||  || Negative edge detection&lt;br /&gt;
|-&lt;br /&gt;
|  || I || of an input bit&lt;br /&gt;
|-&lt;br /&gt;
|  || Q || of an output bit&lt;br /&gt;
|-&lt;br /&gt;
|  || M || of a memory bit&lt;br /&gt;
|-&lt;br /&gt;
|  || L || of a local data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || DBX || of a data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || DIX || of a instance data bit&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Master Control Relay ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| MCRA ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Activate MCR&lt;br /&gt;
|-&lt;br /&gt;
| MCRD ||  || Deactivate MCR&lt;br /&gt;
|-&lt;br /&gt;
| MCR( ||  || Open MCR zone&lt;br /&gt;
|-&lt;br /&gt;
| )MCR ||  || Close MCR zone&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Load / Transfer instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| L ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Load operand&lt;br /&gt;
|-&lt;br /&gt;
| T ||  || Transfer operand&lt;br /&gt;
|-&lt;br /&gt;
|  || IB || Input byte&lt;br /&gt;
|-&lt;br /&gt;
|  || IW || Input word&lt;br /&gt;
|-&lt;br /&gt;
|  || ID || Input double word&lt;br /&gt;
|-&lt;br /&gt;
|  || QB || Output byte&lt;br /&gt;
|-&lt;br /&gt;
|  || QW || Output word&lt;br /&gt;
|-&lt;br /&gt;
|  || QD || Ouput double word&lt;br /&gt;
|-&lt;br /&gt;
|  || MB || Memory byte&lt;br /&gt;
|-&lt;br /&gt;
|  || MW || Memory word&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || Memory double word&lt;br /&gt;
|-&lt;br /&gt;
|  || LB || Local data byte&lt;br /&gt;
|-&lt;br /&gt;
|  || LW || Local data word&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || Local data double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBB || Data block byte&lt;br /&gt;
|-&lt;br /&gt;
|  || DBW || Data block word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || Data block double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DIB || Instance data block byte&lt;br /&gt;
|-&lt;br /&gt;
|  || DIW || Instance data block word&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || Instance data block double word&lt;br /&gt;
|-&lt;br /&gt;
|  || STW || Status word&lt;br /&gt;
|-&lt;br /&gt;
| L || const || Load constant value&lt;br /&gt;
|-&lt;br /&gt;
| L || #Pointer || Load pointer&lt;br /&gt;
|-&lt;br /&gt;
| L || T || Timer&lt;br /&gt;
|-&lt;br /&gt;
| LC || T || Timer (BCD coded)&lt;br /&gt;
|-&lt;br /&gt;
| L || Z || Counter&lt;br /&gt;
|-&lt;br /&gt;
| LC || Z || Counter (BCD coded)&lt;br /&gt;
|-&lt;br /&gt;
| L || DBNO || Data block number&lt;br /&gt;
|-&lt;br /&gt;
| L || DBLG || Data block length&lt;br /&gt;
|-&lt;br /&gt;
| L || DINO || Instance data block number&lt;br /&gt;
|-&lt;br /&gt;
| L || DILG || Instance data block length&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Peripheral access instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| L ||style=&amp;quot;width: 5em&amp;quot;| PIB ||style=&amp;quot;width: 22em&amp;quot;| Load peripheral input byte&lt;br /&gt;
|-&lt;br /&gt;
| L || PIW || Load peripheral input word&lt;br /&gt;
|-&lt;br /&gt;
| L || PID || Load peripheral input double word&lt;br /&gt;
|-&lt;br /&gt;
| T || PQB || Transfer peripheral output byte&lt;br /&gt;
|-&lt;br /&gt;
| T || PQW || Transfer peripheral output word&lt;br /&gt;
|-&lt;br /&gt;
| T || PQD || Transfer peripheral output double word&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Accumulator instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| PUSH ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Push accumulators upwards&lt;br /&gt;
|-&lt;br /&gt;
| POP ||  || Push accumulators downwards&lt;br /&gt;
|-&lt;br /&gt;
| ENT ||  || Push accumulators (without A1) A2-&amp;gt;A3, A3-&amp;gt;A4&lt;br /&gt;
|-&lt;br /&gt;
| LEAVE ||  || Push accumulators (without A1) A4-&amp;gt;A3, A3-&amp;gt;A2&lt;br /&gt;
|-&lt;br /&gt;
| TAK ||  || Change ACCU1 with ACCU2&lt;br /&gt;
|-&lt;br /&gt;
| CAW ||  || Change ACCU1 bytes 0 and 1&lt;br /&gt;
|-&lt;br /&gt;
| CAD ||  || Change ACCU1 bytes 0 and 3, 1 and 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Shift and rotating instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| SLW ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Shift ACCU1-L left (word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SLD ||  || Shift ACCU1 left (double word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SRW ||  || Shift ACCU1-L right (word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SRD ||  || Shift ACCU1 right (double word shift)&lt;br /&gt;
|-&lt;br /&gt;
| SSI ||  || Shift ACCU1-L right (word shift with sign)&lt;br /&gt;
|-&lt;br /&gt;
| SSD ||  || Shift ACCU1 right (double word shift with sign)&lt;br /&gt;
|-&lt;br /&gt;
| RLD ||  || Rotate ACCU1 left (double word)&lt;br /&gt;
|-&lt;br /&gt;
| RLDA ||  || Rotate ACCU1 left through CC1&lt;br /&gt;
|-&lt;br /&gt;
| RRDA ||  || Rotate ACCU1 right through CC1&lt;br /&gt;
|-&lt;br /&gt;
| RRD ||  || Rotate ACCU1 right (double word)&lt;br /&gt;
|-&lt;br /&gt;
|  || const || Number of places to shift/rotate&lt;br /&gt;
|-&lt;br /&gt;
|  || - || Number of places to shift/rotate located in ACCU2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Timer instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| SP ||style=&amp;quot;width: 5em&amp;quot;| T ||style=&amp;quot;width: 22em&amp;quot;| Start as impulse&lt;br /&gt;
|-&lt;br /&gt;
| SE || T || Start as extendet impulse&lt;br /&gt;
|-&lt;br /&gt;
| SD || T || Start as ON-delay&lt;br /&gt;
|-&lt;br /&gt;
| SS || T || Start as saving ON-delay&lt;br /&gt;
|-&lt;br /&gt;
| SF || T || Start as OFF-delay&lt;br /&gt;
|-&lt;br /&gt;
| R || T || Reset timer&lt;br /&gt;
|-&lt;br /&gt;
| FR || T || Enable timer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Counter instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| CU ||style=&amp;quot;width: 5em&amp;quot;| C ||style=&amp;quot;width: 22em&amp;quot;| Count up (increment)&lt;br /&gt;
|-&lt;br /&gt;
| CD || C || Count down (decrement)&lt;br /&gt;
|-&lt;br /&gt;
| S || C || Set counter&lt;br /&gt;
|-&lt;br /&gt;
| R || C || Reset counter&lt;br /&gt;
|-&lt;br /&gt;
| FR || C || Enable counter&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Word instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| AW ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AND ACCU1-L (AND word)&lt;br /&gt;
|-&lt;br /&gt;
| AD ||  || AND ACCU1 (AND double word)&lt;br /&gt;
|-&lt;br /&gt;
| OW ||  || OR ACCU1-L (OR word)&lt;br /&gt;
|-&lt;br /&gt;
| OD ||  || OR ACCU1 (OR double word)&lt;br /&gt;
|-&lt;br /&gt;
| XOW ||  || Exclusive-OR ACCU (XOR word)&lt;br /&gt;
|-&lt;br /&gt;
| XOD ||  || Exclusive-OR ACCU (XOR double word)&lt;br /&gt;
|-&lt;br /&gt;
|  || const || with a word or double word constant&lt;br /&gt;
|-&lt;br /&gt;
|  || - || with ACCU2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Arithmetic instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| ==I ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Integervergleich GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;I ||  || Integervergleich UNGLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;I ||  || Integervergleich GRÖSSER&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=I ||  || Integervergleich GRÖSSER GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;I ||  || Integervergleich KLEINER&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=I ||  || Integervergleich KLEINER GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| ==D ||  || Doppel-Integervergleich GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;D ||  || Doppel-Integervergleich UNGLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;D ||  || Doppel-Integervergleich GRÖSSER&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=D ||  || Doppel-Integervergleich GRÖSSER GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;D ||  || Doppel-Integervergleich KLEINER&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=D ||  || Doppel-Integervergleich KLEINER GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| ==R ||  || REAL-Zahl Vergleich GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;R ||  || REAL-Zahl Vergleich UNGLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;R ||  || REAL-Zahl Vergleich GRÖSSER&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=R ||  || REAL-Zahl Vergleich GRÖSSER GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;R ||  || REAL-Zahl Vergleich KLEINER&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=R ||  || REAL-Zahl Vergleich KLEINER GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| SIN ||  || Sinus&lt;br /&gt;
|-&lt;br /&gt;
| COS ||  || Cosinus&lt;br /&gt;
|-&lt;br /&gt;
| TAN ||  || Tangens&lt;br /&gt;
|-&lt;br /&gt;
| ASIN ||  || Arcussinus&lt;br /&gt;
|-&lt;br /&gt;
| ACOS ||  || Arcuscosinus&lt;br /&gt;
|-&lt;br /&gt;
| ATAN ||  || Arcustangens&lt;br /&gt;
|-&lt;br /&gt;
| SQR ||  || Quadrieren&lt;br /&gt;
|-&lt;br /&gt;
| SQRT ||  || Wurzel (Radizieren)&lt;br /&gt;
|-&lt;br /&gt;
| EXP ||  || Exponent zur Basis e&lt;br /&gt;
|-&lt;br /&gt;
| LN ||  || Natürlicher Logarithmus&lt;br /&gt;
|-&lt;br /&gt;
| +I ||  || Integer Addition&lt;br /&gt;
|-&lt;br /&gt;
| -I ||  || Integer Subtraktion&lt;br /&gt;
|-&lt;br /&gt;
| *I ||  || Integer Multiplikation&lt;br /&gt;
|-&lt;br /&gt;
| /I ||  || Integer Division&lt;br /&gt;
|-&lt;br /&gt;
| +D ||  || Doppel-Integer Addition&lt;br /&gt;
|-&lt;br /&gt;
| -D ||  || Doppel-Integer Subtraktion&lt;br /&gt;
|-&lt;br /&gt;
| *D ||  || Doppel-Integer Multiplikation&lt;br /&gt;
|-&lt;br /&gt;
| /D ||  || Doppel-Integer Division&lt;br /&gt;
|-&lt;br /&gt;
| +R ||  || Realzahl Addition&lt;br /&gt;
|-&lt;br /&gt;
| -R ||  || Realzahl Subtraktion&lt;br /&gt;
|-&lt;br /&gt;
| *R ||  || Realzahl Multiplikation&lt;br /&gt;
|-&lt;br /&gt;
| /R ||  || Realzahl Division&lt;br /&gt;
|-&lt;br /&gt;
| MOD ||  || Doppel-Integer Division (Rest)&lt;br /&gt;
|-&lt;br /&gt;
| + || konst || Addieren einer Konstante&lt;br /&gt;
|-&lt;br /&gt;
| +P# || konst || Addieren eines Zeigers&lt;br /&gt;
|-&lt;br /&gt;
| DEC ||  || Dekrementieren&lt;br /&gt;
|-&lt;br /&gt;
| INC ||  || Inkrementieren&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Data type conversion instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| ITD ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Wandlung INT nach DINT&lt;br /&gt;
|-&lt;br /&gt;
| ITB ||  || Wandlung INT nach BCD&lt;br /&gt;
|-&lt;br /&gt;
| DTB ||  || Wandlung DINT nach BCD&lt;br /&gt;
|-&lt;br /&gt;
| DTR ||  || Wandlung DINT nach REAL&lt;br /&gt;
|-&lt;br /&gt;
| BTI ||  || Wandlung BCD nach INT&lt;br /&gt;
|-&lt;br /&gt;
| BTD ||  || Wandlung BCD nach DINT&lt;br /&gt;
|-&lt;br /&gt;
| RND ||  || Rundung zur nächsten ganzen Zahl&lt;br /&gt;
|-&lt;br /&gt;
| RND+ ||  || Rundung zur nächstgrößeren Zahl&lt;br /&gt;
|-&lt;br /&gt;
| RND- ||  || Rundung zur nächstkleineren Zahl&lt;br /&gt;
|-&lt;br /&gt;
| TRUNC ||  || ohne Rundung&lt;br /&gt;
|-&lt;br /&gt;
| INVI ||  || INT-Einerkomplement&lt;br /&gt;
|-&lt;br /&gt;
| INVD ||  || DINT-Einerkomplement&lt;br /&gt;
|-&lt;br /&gt;
| NEGI ||  || INT-Negation&lt;br /&gt;
|-&lt;br /&gt;
| NEGD ||  || DINT-Negation&lt;br /&gt;
|-&lt;br /&gt;
| NEGR ||  || REAL-Negation&lt;br /&gt;
|-&lt;br /&gt;
| ABS ||  || REAL-Betragsbildung&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Jump instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| SPA ||style=&amp;quot;width: 5em&amp;quot;| Ziel ||style=&amp;quot;width: 22em&amp;quot;| Sprung absolut (unbedingt)&lt;br /&gt;
|-&lt;br /&gt;
| SPB || Ziel || Sprung wenn VKE = 1&lt;br /&gt;
|-&lt;br /&gt;
| SPBB || Ziel || Sprung wenn VKE = 1 (VKE speichern)&lt;br /&gt;
|-&lt;br /&gt;
| SPBN || Ziel || Sprung wenn VKE = 0&lt;br /&gt;
|-&lt;br /&gt;
| SPBNB || Ziel || Sprung wenn VKE = 0 (VKE speichern)&lt;br /&gt;
|-&lt;br /&gt;
| SPBI || Ziel || Sprung wenn BIE = 1&lt;br /&gt;
|-&lt;br /&gt;
| SPBIN || Ziel || Sprung wenn BIE = 0&lt;br /&gt;
|-&lt;br /&gt;
| SPZ || Ziel || Sprung bei Vergleichsergebnis = 0&lt;br /&gt;
|-&lt;br /&gt;
| SPN || Ziel || Sprung bei Vergleichsergebnis ≠ 0&lt;br /&gt;
|-&lt;br /&gt;
| SPP || Ziel || Sprung bei Vergleichsergebnis &amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| SPPZ || Ziel || Sprung bei Vergleichsergebnis &amp;gt;= 0&lt;br /&gt;
|-&lt;br /&gt;
| SPM || Ziel || Sprung bei Vergleichsergebnis &amp;lt; 0&lt;br /&gt;
|-&lt;br /&gt;
| SPMZ || Ziel || Sprung bei Vergleichsergebnis &amp;lt;= 0&lt;br /&gt;
|-&lt;br /&gt;
| SPU || Ziel || Sprung bei Vergleichsergebnis ungültig&lt;br /&gt;
|-&lt;br /&gt;
| SPO || Ziel || Sprung bei Overflow&lt;br /&gt;
|-&lt;br /&gt;
| SPS || Ziel || Sprung bei speicherndem Overflow&lt;br /&gt;
|-&lt;br /&gt;
| SPL || Ziel || Sprungverteiler&lt;br /&gt;
|-&lt;br /&gt;
| LOOP || Ziel || Schleife&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Block call instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| CALL FB ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Sprung zum Funktionsbaustein&lt;br /&gt;
|-&lt;br /&gt;
| CALL FC ||  || Sprung zur Funktion&lt;br /&gt;
|-&lt;br /&gt;
| CALL SFB ||  || Sprung zum System-Funktionsbaustein&lt;br /&gt;
|-&lt;br /&gt;
| CALL SFC ||  || Sprung zur System-Funktion&lt;br /&gt;
|-&lt;br /&gt;
| UC FB ||  || Funktionsbaustein absolut aufrufen&lt;br /&gt;
|-&lt;br /&gt;
| CC FB ||  || Funktionsbaustein bedingt aufrufen&lt;br /&gt;
|-&lt;br /&gt;
| UC FC ||  || Funktion absolut aufrufen&lt;br /&gt;
|-&lt;br /&gt;
| CC FC ||  || Funktion bedingt aufrufen&lt;br /&gt;
|-&lt;br /&gt;
| BEA ||  || Bausteinende absolut&lt;br /&gt;
|-&lt;br /&gt;
| BEB ||  || Bausteinende bedingt&lt;br /&gt;
|-&lt;br /&gt;
| BE ||  || Bausteinende&lt;br /&gt;
|-&lt;br /&gt;
| AUF || DB || Datenbaustein öffnen&lt;br /&gt;
|-&lt;br /&gt;
|  || DI || Instanz-Datenbaustein öffnen&lt;br /&gt;
|-&lt;br /&gt;
| TDB ||  || Datenbausteinregister tauschen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Indirect adressing instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| LAR1 ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AR1 laden&lt;br /&gt;
|-&lt;br /&gt;
| LAR2 ||  || AR2 laden&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || mit Merkerdoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || mit Lokaldatendoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || mit Datenbausteindoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || mit Instanz-Datenbausteindoppelwort&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 ||  || AR1 laden mit Inhalt aus Akku1&lt;br /&gt;
|-&lt;br /&gt;
| LAR2 ||  || AR2 laden mit Inhalt aus Akku1&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 || AR2 || AR1 laden mit Inhalt aus A2&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 || P# || AR1 laden mit Zeiger&lt;br /&gt;
|-&lt;br /&gt;
| LAR2 || P# || AR2 laden mit Zeiger&lt;br /&gt;
|-&lt;br /&gt;
| TAR1 ||  || Schreibe AR1&lt;br /&gt;
|-&lt;br /&gt;
| TAR2 ||  || Schreibe AR2&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || in Merkerdoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || in Lokaldatendoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || in Datenbausteindoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || in Instanz-Datenbausteindoppelwort&lt;br /&gt;
|-&lt;br /&gt;
| TAR1 ||  || Schreibe AR1 in Akku1&lt;br /&gt;
|-&lt;br /&gt;
| TAR2 ||  || Schreibe AR2 in Akku1&lt;br /&gt;
|-&lt;br /&gt;
| TAR1 || AR2 || AR1 nach AR2 transferieren&lt;br /&gt;
|-&lt;br /&gt;
| TAR ||  || AR1 mit AR2 tauschen&lt;br /&gt;
|-&lt;br /&gt;
| +AR1 ||  || Addiere Akku1 zu AR1&lt;br /&gt;
|-&lt;br /&gt;
| +AR2 ||  || Addiere Akku1 zu AR2&lt;br /&gt;
|-&lt;br /&gt;
| +AR1 || P# || Addiere Pointer zu AR1&lt;br /&gt;
|-&lt;br /&gt;
| +AR2 || P# || Addiere Pointer zu AR2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Program display and null operation instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| NOP ||style=&amp;quot;width: 5em&amp;quot;| 0 ||style=&amp;quot;width: 22em&amp;quot;| Nulloperation&lt;br /&gt;
|-&lt;br /&gt;
| NOP || 1 || Nulloperation&lt;br /&gt;
|-&lt;br /&gt;
| BLD || konst || Bildaufbau&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Layout of &#039;&#039;S7-SoftPLC&#039;&#039; memory&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
 The memory of &#039;&#039;S7-SoftPLC 315&#039;&#039; and &#039;&#039;S7-SoftPLC 416&#039;&#039; is compatible to the memory of SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;-control S7-315 or S7-416.&amp;lt;br /&amp;gt;&lt;br /&gt;
 Please note, that the low-order byte has to be interchanged with the high-order byte when accessing this memory with Windows programs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Layout of SoftPLC system data&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
 The layout of the system data in the system data is compatible to the system data of SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;-control S7-315 or S7-416.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated organisation blocks&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
 The organisation blocks, listed in the chart below, are executed, if they are programmed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! OB-Nr !! Kurzbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:14em&amp;quot;| OB 1 ||style=&amp;quot;width:14em&amp;quot;| Hauptprogramm&lt;br /&gt;
|-&lt;br /&gt;
| OB 10 – OB 17 || Uhrzeitalarm&lt;br /&gt;
|-&lt;br /&gt;
| OB 20 – OB 23 || Verzögerungsalarm&lt;br /&gt;
|-&lt;br /&gt;
| OB 30 – OB 38 || Zeitbausteine (zyklischer Aufruf)&lt;br /&gt;
|-&lt;br /&gt;
| OB 80 – OB 87 || Fehlerbausteine&lt;br /&gt;
|-&lt;br /&gt;
| OB 90 || Hintergrundbearbeitung &lt;br /&gt;
|-&lt;br /&gt;
| OB 100/OB 101 || Neustart bzw. Wiederanlauf&lt;br /&gt;
|-&lt;br /&gt;
| OB 121/OB 122 || Programmierfehler&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated system functions&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
 All system functions (SFC) relevant for a Software PLC are integrated in &#039;&#039;S7-SoftPLC&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
 The chart below shows the available SFCs(in numeric listing)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! SFC-Nr !! SFC-Name !! Kurzbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:7em&amp;quot;| SFC 0 ||style=&amp;quot;width:8em&amp;quot;| SET_CLK || Setzen der Systemzeit&lt;br /&gt;
|-&lt;br /&gt;
| SFC 1 || READ_CLK || Lesen der Systemzeit&lt;br /&gt;
|-&lt;br /&gt;
| SFC 5  (3) || GADR_LGC || Logische Basisadresse einer Baugruppe ermitteln&lt;br /&gt;
|-&lt;br /&gt;
| SFC 6 || RD_SINFO || Startinformation des aktuellen OBs auslesen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 13 (1) || DPNRM_DG || Slave-Diagnose eines DP-Slaves&lt;br /&gt;
|-&lt;br /&gt;
| SFC 14 (2) || DPRD_DAT || Konsistente Daten eines DP-Normslaves lesen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 15 (2) || DPWR_DAT || Daten konsistent auf DP-Normslave schreiben&lt;br /&gt;
|-&lt;br /&gt;
| SFC 20 || BLKMOV || SPS-Variable in Zielbereich kopieren&lt;br /&gt;
|-&lt;br /&gt;
| SFC 21 || FILL || SPS-Variable in Zielbereich vorbesetzen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 22 || CREAT_DB || Anlegen von Datenbausteinen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 23 || DEL_DB || Datenbaustein löschen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 24 || TEST_DB || Attribute eines Datenbausteins testen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 25 || COMPRESS || Ladespeicher komprimieren&lt;br /&gt;
|-&lt;br /&gt;
| SFC 28 || SET_TINT || Stellen eines Uhrzeitalarms&lt;br /&gt;
|-&lt;br /&gt;
| SFC 29 || CAN_TINT || Uhrzeitalarm anhalten (nicht ausführen)&lt;br /&gt;
|-&lt;br /&gt;
| SFC 30 || ACT_TINT || Uhrzeitalarm freigeben&lt;br /&gt;
|-&lt;br /&gt;
| SFC 31 || QRY_TINT || Status des Uhrzeitalarms&lt;br /&gt;
|-&lt;br /&gt;
| SFC 32 || SRT_DINT || Starte Verzögerungsalarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 33 || CAN_DINT || Unterbreche Verzögerungsalarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 34 || QRY_DINT || Statusabfrage des Verzögerungsalarms&lt;br /&gt;
|-&lt;br /&gt;
| SFC 36 || MSK_FLT || Maskieren eines synchronen Fehlerereignisses&lt;br /&gt;
|-&lt;br /&gt;
| SFC 37 || DMSK_FLT || Demaskieren eines synchronen Fehlerereignisses&lt;br /&gt;
|-&lt;br /&gt;
| SFC 38 || READ_ERR || Auslesen des Ereignisstatusregister&lt;br /&gt;
|-&lt;br /&gt;
| SFC 39 || DIS_IRT || Sperren der Asynchron- und Alarmfehlerbearbeitung&lt;br /&gt;
|-&lt;br /&gt;
| SFC 40 || EN_IRT || Freigeben der Asynchron- und Alarmfehlerbearbeitung&lt;br /&gt;
|-&lt;br /&gt;
| SFC 41 || DIS_AIRT || Verzögerung höherpriorer Asynchron- und Alarmfehlerbearbeitung&lt;br /&gt;
|-&lt;br /&gt;
| SFC 42 || EN_AIRT || Freigabe höherpriorer Asynchron- und Alarmfehlerbearbeitung&lt;br /&gt;
|-&lt;br /&gt;
| SFC 43 || RE_TRIGR || Nachtriggern des Watchdogs&lt;br /&gt;
|-&lt;br /&gt;
| SFC 46 || STP || CPU Betriebszustand STOP&lt;br /&gt;
|-&lt;br /&gt;
| SFC 49 (3) || LGC_GADR || Ermitteln des Steckplatzes einer logischen Adresse&lt;br /&gt;
|-&lt;br /&gt;
| SFC 50 (3) || RD_LAGADR || Ermitteln aller logischer Adressen einer Baugruppe&lt;br /&gt;
|-&lt;br /&gt;
| SFC 51 || RDSYST || Systemzustandsliste (SZL) auslesen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 64 || TIME_TCK || Timer Tick&lt;br /&gt;
|-&lt;br /&gt;
| SFC 81 || UBLKMOV || Block Move der nicht unterbrochen werden kann&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1)The SFC 13 is available only, when the driver Cifcfg.dll is loaded. Furthermore it can only return valid results, if the PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; configuration has been created via the &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; hardware configuration or the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration. This is only possible when using the driver CIFCFG.DLL.&amp;lt;br /&amp;gt;&lt;br /&gt;
 2)The SFC 14 and SFC 15 are available only, if they are loaded via the driver CIF30D0.DLL or the driver CIFCFG.DLL.&amp;lt;br /&amp;gt;&lt;br /&gt;
 3)The SFCs can only return valid results, if the PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 configuration has been created via the &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration or the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration. This is only possible when using the driver CIFCFG.DLL.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated system blocks&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
 The system blocks (SFB) relevant for a software PLC are integrated in &#039;&#039;S7-SoftPLC&#039;&#039;. &amp;lt;br /&amp;gt;&lt;br /&gt;
 The following system function blocks are supported:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! SFB-Nr !! SFB-Name !! Kurzbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:7em&amp;quot;| SFB 0 ||style=&amp;quot;width:7em&amp;quot;| CTU || Vorwärtszähler (Counter Up)&lt;br /&gt;
|-&lt;br /&gt;
| SFB 1 || CTD || Rückwärtszähler (Counter Down)&lt;br /&gt;
|-&lt;br /&gt;
| SFB 2 || CTUD || Vorwärts- und Rückwärtszähler&lt;br /&gt;
|-&lt;br /&gt;
| SFB 3 || TP || Zeitimpuls&lt;br /&gt;
|-&lt;br /&gt;
| SFB 4 || TON || Einschaltverzögerung&lt;br /&gt;
|-&lt;br /&gt;
| SFB 5 || TOF || Ausschaltverzögerung&lt;br /&gt;
|-&lt;br /&gt;
| SFB 32 || DRUM || Schaltwerk zur Steuerung von Schrittketten&lt;br /&gt;
|-&lt;br /&gt;
| SFB 52 (4) || RDREC_DP || Datensatz lesen&lt;br /&gt;
|-&lt;br /&gt;
| SFB 53 (4) || WRREC_DP || Datensatz schreiben&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4)The SFB 52 and SFB 53 are only available if the driver CIFCFG.DLL is loaded and the entry DPV1=1 is set.&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Instruction_set&amp;diff=1146</id>
		<title>S7-SoftPLC:Instruction set</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Instruction_set&amp;diff=1146"/>
		<updated>2013-01-23T11:05:40Z</updated>

		<summary type="html">&lt;p&gt;Jonas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The programming language of the IBH&#039;&#039;softec&#039;&#039; &#039;&#039;S7-SoftPLC 315&#039;&#039;and &#039;&#039;S7-SoftPLC 416&#039;&#039; controls is STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 and can be made with the programming tools &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; or STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 from Siemens. The complete instruction set of the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 language is supported.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;S7-SoftPLC 315&#039;&#039; has the complete instruction set of the SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; S7-315 CPU.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;S7-SoftPLC 416&#039;&#039; has the complete instruction set of the SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; S7-416 CPU.&lt;br /&gt;
&lt;br /&gt;
== Bit logic instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Instruction !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| A ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AND with a scan to &amp;quot;1&amp;quot;“&lt;br /&gt;
|-&lt;br /&gt;
| AN ||  || AND with a scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| O ||  || OR with scan to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| ON ||  || OR with scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| X ||  || Exclusive-OR with a scan to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| XN ||  || Exclusive-OR with a scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|  || I || of an input&lt;br /&gt;
|-&lt;br /&gt;
|  || Q || of an output&lt;br /&gt;
|-&lt;br /&gt;
|  || M || of a memory&lt;br /&gt;
|-&lt;br /&gt;
|  || L || of a local data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || T || of a timer&lt;br /&gt;
|-&lt;br /&gt;
|  || C || of a counter&lt;br /&gt;
|-&lt;br /&gt;
|  || DBX || of a data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || DIX || of an instant data bit&lt;br /&gt;
|-&lt;br /&gt;
| ==0 ||  || result equal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;0 ||  || result unequal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;0 ||  || result greater than zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=0 ||  || result greater or equal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;0 ||  || result less than zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=0 ||  || result less or equal zero&lt;br /&gt;
|-&lt;br /&gt;
| UO ||  || invalid result&lt;br /&gt;
|-&lt;br /&gt;
| OV ||  || overflow&lt;br /&gt;
|-&lt;br /&gt;
| OS ||  || overflow (saving)&lt;br /&gt;
|-&lt;br /&gt;
| BR ||  || binary result&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other boolean logic instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| A( ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AND left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| AN( ||  || AND NOT left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| O( ||  || OR left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| ON( ||  || OR NOT left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| X( ||  || Exclusive OR left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| XN( ||  || Exclusive OR NOT left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| ) ||  || Right parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| O ||  || OR-ing AND operations &lt;br /&gt;
|-&lt;br /&gt;
| NOT ||  || Negate RLO&lt;br /&gt;
|-&lt;br /&gt;
| SET ||  || Set RLO to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| CLR ||  || Set RLO to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| SAVE ||  || Save RLO to the BR bit&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| = ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Assign value of RLO&lt;br /&gt;
|-&lt;br /&gt;
| S ||  || Set&lt;br /&gt;
|-&lt;br /&gt;
| R ||  || Reset&lt;br /&gt;
|-&lt;br /&gt;
| FP ||  || Positive edge detection&lt;br /&gt;
|-&lt;br /&gt;
| FN ||  || Negative edge detection&lt;br /&gt;
|-&lt;br /&gt;
|  || I || of an input bit&lt;br /&gt;
|-&lt;br /&gt;
|  || Q || of an output bit&lt;br /&gt;
|-&lt;br /&gt;
|  || M || of a memory bit&lt;br /&gt;
|-&lt;br /&gt;
|  || L || of a local data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || DBX || of a data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || DIX || of a instance data bit&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Master Control Relay ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| MCRA ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Activate MCR&lt;br /&gt;
|-&lt;br /&gt;
| MCRD ||  || Deactivate MCR&lt;br /&gt;
|-&lt;br /&gt;
| MCR( ||  || Open MCR zone&lt;br /&gt;
|-&lt;br /&gt;
| )MCR ||  || Close MCR zone&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Load / Transfer instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| L ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Load operand&lt;br /&gt;
|-&lt;br /&gt;
| T ||  || Transfer operand&lt;br /&gt;
|-&lt;br /&gt;
|  || IB || Input byte&lt;br /&gt;
|-&lt;br /&gt;
|  || IW || Input word&lt;br /&gt;
|-&lt;br /&gt;
|  || ID || Input double word&lt;br /&gt;
|-&lt;br /&gt;
|  || QB || Output byte&lt;br /&gt;
|-&lt;br /&gt;
|  || QW || Output word&lt;br /&gt;
|-&lt;br /&gt;
|  || QD || Ouput double word&lt;br /&gt;
|-&lt;br /&gt;
|  || MB || Memory byte&lt;br /&gt;
|-&lt;br /&gt;
|  || MW || Memory word&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || Memory double word&lt;br /&gt;
|-&lt;br /&gt;
|  || LB || Local data byte&lt;br /&gt;
|-&lt;br /&gt;
|  || LW || Local data word&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || Local data double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBB || Data block byte&lt;br /&gt;
|-&lt;br /&gt;
|  || DBW || Data block word&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || Data block double word&lt;br /&gt;
|-&lt;br /&gt;
|  || DIB || Instance data block byte&lt;br /&gt;
|-&lt;br /&gt;
|  || DIW || Instance data block word&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || Instance data block double word&lt;br /&gt;
|-&lt;br /&gt;
|  || STW || Status word&lt;br /&gt;
|-&lt;br /&gt;
| L || const || Load constant value&lt;br /&gt;
|-&lt;br /&gt;
| L || #Pointer || Load pointer&lt;br /&gt;
|-&lt;br /&gt;
| L || T || Timer&lt;br /&gt;
|-&lt;br /&gt;
| LC || T || Timer (BCD coded)&lt;br /&gt;
|-&lt;br /&gt;
| L || Z || Counter&lt;br /&gt;
|-&lt;br /&gt;
| LC || Z || Counter (BCD coded)&lt;br /&gt;
|-&lt;br /&gt;
| L || DBNO || Data block number&lt;br /&gt;
|-&lt;br /&gt;
| L || DBLG || Data block length&lt;br /&gt;
|-&lt;br /&gt;
| L || DINO || Instance data block number&lt;br /&gt;
|-&lt;br /&gt;
| L || DILG || Instance data block length&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Peripheral access instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| L ||style=&amp;quot;width: 5em&amp;quot;| PIB ||style=&amp;quot;width: 22em&amp;quot;| Load peripheral input byte&lt;br /&gt;
|-&lt;br /&gt;
| L || PIW || Load peripheral input word&lt;br /&gt;
|-&lt;br /&gt;
| L || PID || Load peripheral input double word&lt;br /&gt;
|-&lt;br /&gt;
| T || PQB || Transfer peripheral output byte&lt;br /&gt;
|-&lt;br /&gt;
| T || PQW || Transfer peripheral output word&lt;br /&gt;
|-&lt;br /&gt;
| T || PQD || Transfer peripheral output double word&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Accumulator instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| PUSH ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Push accumulators upwards&lt;br /&gt;
|-&lt;br /&gt;
| POP ||  || Push accumulators downwards&lt;br /&gt;
|-&lt;br /&gt;
| ENT ||  || Push accumulators (without A1) A2-&amp;gt;A3, A3-&amp;gt;A4&lt;br /&gt;
|-&lt;br /&gt;
| LEAVE ||  || Push accumulators (without A1) A4-&amp;gt;A3, A3-&amp;gt;A2&lt;br /&gt;
|-&lt;br /&gt;
| TAK ||  || Change ACCU1 with ACCU2&lt;br /&gt;
|-&lt;br /&gt;
| CAW ||  || Change ACCU1 bytes 0 and 1&lt;br /&gt;
|-&lt;br /&gt;
| CAD ||  || Change ACCU1 bytes 0 and 3, 1 and 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Shift and rotating instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| SLW ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Schieben links wortweise&lt;br /&gt;
|-&lt;br /&gt;
| SLD ||  || Schieben links doppelwortweise&lt;br /&gt;
|-&lt;br /&gt;
| SRW ||  || Schieben rechts wortweise&lt;br /&gt;
|-&lt;br /&gt;
| SRD ||  || Schieben rechts doppelwortweise&lt;br /&gt;
|-&lt;br /&gt;
| SSI ||  || Schieben mit Vorzeichen wortweise&lt;br /&gt;
|-&lt;br /&gt;
| SSD ||  || Schieben mit Vorzeichen doppelwortweise&lt;br /&gt;
|-&lt;br /&gt;
| RLD ||  || Rotieren links doppelwortweise&lt;br /&gt;
|-&lt;br /&gt;
| RLDA ||  || Rotieren links durch Al&lt;br /&gt;
|-&lt;br /&gt;
| RRDA ||  || Rotieren rechts durch Al&lt;br /&gt;
|-&lt;br /&gt;
| RRD ||  || Rotieren rechts doppelwort­weise&lt;br /&gt;
|-&lt;br /&gt;
|  || konst || um feste Anzahl von Bits&lt;br /&gt;
|-&lt;br /&gt;
|  ||  || Schiebezahl im Akku 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Timer instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| SI ||style=&amp;quot;width: 5em&amp;quot;| T ||style=&amp;quot;width: 22em&amp;quot;| Starten als Impuls&lt;br /&gt;
|-&lt;br /&gt;
| SV || T || Starten als verlängerter Impuls&lt;br /&gt;
|-&lt;br /&gt;
| SE || T || Starten als Einschaltverzögerung&lt;br /&gt;
|-&lt;br /&gt;
| SS || T || Starten als speichernde Einschaltverzögerung&lt;br /&gt;
|-&lt;br /&gt;
| SA || T || Starten als Ausschaltverzögerung&lt;br /&gt;
|-&lt;br /&gt;
| R || T || Zeitfunktion rücksetzen&lt;br /&gt;
|-&lt;br /&gt;
| FR || T || Zeitfunktion freigeben&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Counter instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| ZV ||style=&amp;quot;width: 5em&amp;quot;| Z ||style=&amp;quot;width: 22em&amp;quot;| Zählfunktion vorwärtszählen&lt;br /&gt;
|-&lt;br /&gt;
| ZR || Z || Zählfunktion rückwärtszählen&lt;br /&gt;
|-&lt;br /&gt;
| S || Z || Zählfunktion setzen&lt;br /&gt;
|-&lt;br /&gt;
| R || Z || Zählfunktion rücksetzen&lt;br /&gt;
|-&lt;br /&gt;
| FR || Z || Zählfunktion freigeben&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Word instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| UW ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| UND wortweise&lt;br /&gt;
|-&lt;br /&gt;
| UD ||  || UND doppelwortweise&lt;br /&gt;
|-&lt;br /&gt;
| OW ||  || ODER wortweise&lt;br /&gt;
|-&lt;br /&gt;
| OD ||  || ODER doppelwortweise&lt;br /&gt;
|-&lt;br /&gt;
| XOW ||  || Exklusiv-ODER wortweise&lt;br /&gt;
|-&lt;br /&gt;
| XOD ||  || Exklusiv-ODER doppelwortweise&lt;br /&gt;
|-&lt;br /&gt;
|  || konst || Mit einer Wort- bzw. Doppelwortkonstanten&lt;br /&gt;
|-&lt;br /&gt;
|  ||  || mit dem Inhalt von Akku 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Arithmetic instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| ==I ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Integervergleich GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;I ||  || Integervergleich UNGLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;I ||  || Integervergleich GRÖSSER&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=I ||  || Integervergleich GRÖSSER GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;I ||  || Integervergleich KLEINER&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=I ||  || Integervergleich KLEINER GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| ==D ||  || Doppel-Integervergleich GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;D ||  || Doppel-Integervergleich UNGLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;D ||  || Doppel-Integervergleich GRÖSSER&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=D ||  || Doppel-Integervergleich GRÖSSER GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;D ||  || Doppel-Integervergleich KLEINER&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=D ||  || Doppel-Integervergleich KLEINER GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| ==R ||  || REAL-Zahl Vergleich GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;R ||  || REAL-Zahl Vergleich UNGLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;R ||  || REAL-Zahl Vergleich GRÖSSER&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=R ||  || REAL-Zahl Vergleich GRÖSSER GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;R ||  || REAL-Zahl Vergleich KLEINER&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=R ||  || REAL-Zahl Vergleich KLEINER GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| SIN ||  || Sinus&lt;br /&gt;
|-&lt;br /&gt;
| COS ||  || Cosinus&lt;br /&gt;
|-&lt;br /&gt;
| TAN ||  || Tangens&lt;br /&gt;
|-&lt;br /&gt;
| ASIN ||  || Arcussinus&lt;br /&gt;
|-&lt;br /&gt;
| ACOS ||  || Arcuscosinus&lt;br /&gt;
|-&lt;br /&gt;
| ATAN ||  || Arcustangens&lt;br /&gt;
|-&lt;br /&gt;
| SQR ||  || Quadrieren&lt;br /&gt;
|-&lt;br /&gt;
| SQRT ||  || Wurzel (Radizieren)&lt;br /&gt;
|-&lt;br /&gt;
| EXP ||  || Exponent zur Basis e&lt;br /&gt;
|-&lt;br /&gt;
| LN ||  || Natürlicher Logarithmus&lt;br /&gt;
|-&lt;br /&gt;
| +I ||  || Integer Addition&lt;br /&gt;
|-&lt;br /&gt;
| -I ||  || Integer Subtraktion&lt;br /&gt;
|-&lt;br /&gt;
| *I ||  || Integer Multiplikation&lt;br /&gt;
|-&lt;br /&gt;
| /I ||  || Integer Division&lt;br /&gt;
|-&lt;br /&gt;
| +D ||  || Doppel-Integer Addition&lt;br /&gt;
|-&lt;br /&gt;
| -D ||  || Doppel-Integer Subtraktion&lt;br /&gt;
|-&lt;br /&gt;
| *D ||  || Doppel-Integer Multiplikation&lt;br /&gt;
|-&lt;br /&gt;
| /D ||  || Doppel-Integer Division&lt;br /&gt;
|-&lt;br /&gt;
| +R ||  || Realzahl Addition&lt;br /&gt;
|-&lt;br /&gt;
| -R ||  || Realzahl Subtraktion&lt;br /&gt;
|-&lt;br /&gt;
| *R ||  || Realzahl Multiplikation&lt;br /&gt;
|-&lt;br /&gt;
| /R ||  || Realzahl Division&lt;br /&gt;
|-&lt;br /&gt;
| MOD ||  || Doppel-Integer Division (Rest)&lt;br /&gt;
|-&lt;br /&gt;
| + || konst || Addieren einer Konstante&lt;br /&gt;
|-&lt;br /&gt;
| +P# || konst || Addieren eines Zeigers&lt;br /&gt;
|-&lt;br /&gt;
| DEC ||  || Dekrementieren&lt;br /&gt;
|-&lt;br /&gt;
| INC ||  || Inkrementieren&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Data type conversion instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| ITD ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Wandlung INT nach DINT&lt;br /&gt;
|-&lt;br /&gt;
| ITB ||  || Wandlung INT nach BCD&lt;br /&gt;
|-&lt;br /&gt;
| DTB ||  || Wandlung DINT nach BCD&lt;br /&gt;
|-&lt;br /&gt;
| DTR ||  || Wandlung DINT nach REAL&lt;br /&gt;
|-&lt;br /&gt;
| BTI ||  || Wandlung BCD nach INT&lt;br /&gt;
|-&lt;br /&gt;
| BTD ||  || Wandlung BCD nach DINT&lt;br /&gt;
|-&lt;br /&gt;
| RND ||  || Rundung zur nächsten ganzen Zahl&lt;br /&gt;
|-&lt;br /&gt;
| RND+ ||  || Rundung zur nächstgrößeren Zahl&lt;br /&gt;
|-&lt;br /&gt;
| RND- ||  || Rundung zur nächstkleineren Zahl&lt;br /&gt;
|-&lt;br /&gt;
| TRUNC ||  || ohne Rundung&lt;br /&gt;
|-&lt;br /&gt;
| INVI ||  || INT-Einerkomplement&lt;br /&gt;
|-&lt;br /&gt;
| INVD ||  || DINT-Einerkomplement&lt;br /&gt;
|-&lt;br /&gt;
| NEGI ||  || INT-Negation&lt;br /&gt;
|-&lt;br /&gt;
| NEGD ||  || DINT-Negation&lt;br /&gt;
|-&lt;br /&gt;
| NEGR ||  || REAL-Negation&lt;br /&gt;
|-&lt;br /&gt;
| ABS ||  || REAL-Betragsbildung&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Jump instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| SPA ||style=&amp;quot;width: 5em&amp;quot;| Ziel ||style=&amp;quot;width: 22em&amp;quot;| Sprung absolut (unbedingt)&lt;br /&gt;
|-&lt;br /&gt;
| SPB || Ziel || Sprung wenn VKE = 1&lt;br /&gt;
|-&lt;br /&gt;
| SPBB || Ziel || Sprung wenn VKE = 1 (VKE speichern)&lt;br /&gt;
|-&lt;br /&gt;
| SPBN || Ziel || Sprung wenn VKE = 0&lt;br /&gt;
|-&lt;br /&gt;
| SPBNB || Ziel || Sprung wenn VKE = 0 (VKE speichern)&lt;br /&gt;
|-&lt;br /&gt;
| SPBI || Ziel || Sprung wenn BIE = 1&lt;br /&gt;
|-&lt;br /&gt;
| SPBIN || Ziel || Sprung wenn BIE = 0&lt;br /&gt;
|-&lt;br /&gt;
| SPZ || Ziel || Sprung bei Vergleichsergebnis = 0&lt;br /&gt;
|-&lt;br /&gt;
| SPN || Ziel || Sprung bei Vergleichsergebnis ≠ 0&lt;br /&gt;
|-&lt;br /&gt;
| SPP || Ziel || Sprung bei Vergleichsergebnis &amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| SPPZ || Ziel || Sprung bei Vergleichsergebnis &amp;gt;= 0&lt;br /&gt;
|-&lt;br /&gt;
| SPM || Ziel || Sprung bei Vergleichsergebnis &amp;lt; 0&lt;br /&gt;
|-&lt;br /&gt;
| SPMZ || Ziel || Sprung bei Vergleichsergebnis &amp;lt;= 0&lt;br /&gt;
|-&lt;br /&gt;
| SPU || Ziel || Sprung bei Vergleichsergebnis ungültig&lt;br /&gt;
|-&lt;br /&gt;
| SPO || Ziel || Sprung bei Overflow&lt;br /&gt;
|-&lt;br /&gt;
| SPS || Ziel || Sprung bei speicherndem Overflow&lt;br /&gt;
|-&lt;br /&gt;
| SPL || Ziel || Sprungverteiler&lt;br /&gt;
|-&lt;br /&gt;
| LOOP || Ziel || Schleife&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Block call instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| CALL FB ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Sprung zum Funktionsbaustein&lt;br /&gt;
|-&lt;br /&gt;
| CALL FC ||  || Sprung zur Funktion&lt;br /&gt;
|-&lt;br /&gt;
| CALL SFB ||  || Sprung zum System-Funktionsbaustein&lt;br /&gt;
|-&lt;br /&gt;
| CALL SFC ||  || Sprung zur System-Funktion&lt;br /&gt;
|-&lt;br /&gt;
| UC FB ||  || Funktionsbaustein absolut aufrufen&lt;br /&gt;
|-&lt;br /&gt;
| CC FB ||  || Funktionsbaustein bedingt aufrufen&lt;br /&gt;
|-&lt;br /&gt;
| UC FC ||  || Funktion absolut aufrufen&lt;br /&gt;
|-&lt;br /&gt;
| CC FC ||  || Funktion bedingt aufrufen&lt;br /&gt;
|-&lt;br /&gt;
| BEA ||  || Bausteinende absolut&lt;br /&gt;
|-&lt;br /&gt;
| BEB ||  || Bausteinende bedingt&lt;br /&gt;
|-&lt;br /&gt;
| BE ||  || Bausteinende&lt;br /&gt;
|-&lt;br /&gt;
| AUF || DB || Datenbaustein öffnen&lt;br /&gt;
|-&lt;br /&gt;
|  || DI || Instanz-Datenbaustein öffnen&lt;br /&gt;
|-&lt;br /&gt;
| TDB ||  || Datenbausteinregister tauschen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Indirect adressing instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| LAR1 ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AR1 laden&lt;br /&gt;
|-&lt;br /&gt;
| LAR2 ||  || AR2 laden&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || mit Merkerdoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || mit Lokaldatendoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || mit Datenbausteindoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || mit Instanz-Datenbausteindoppelwort&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 ||  || AR1 laden mit Inhalt aus Akku1&lt;br /&gt;
|-&lt;br /&gt;
| LAR2 ||  || AR2 laden mit Inhalt aus Akku1&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 || AR2 || AR1 laden mit Inhalt aus A2&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 || P# || AR1 laden mit Zeiger&lt;br /&gt;
|-&lt;br /&gt;
| LAR2 || P# || AR2 laden mit Zeiger&lt;br /&gt;
|-&lt;br /&gt;
| TAR1 ||  || Schreibe AR1&lt;br /&gt;
|-&lt;br /&gt;
| TAR2 ||  || Schreibe AR2&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || in Merkerdoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || in Lokaldatendoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || in Datenbausteindoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || in Instanz-Datenbausteindoppelwort&lt;br /&gt;
|-&lt;br /&gt;
| TAR1 ||  || Schreibe AR1 in Akku1&lt;br /&gt;
|-&lt;br /&gt;
| TAR2 ||  || Schreibe AR2 in Akku1&lt;br /&gt;
|-&lt;br /&gt;
| TAR1 || AR2 || AR1 nach AR2 transferieren&lt;br /&gt;
|-&lt;br /&gt;
| TAR ||  || AR1 mit AR2 tauschen&lt;br /&gt;
|-&lt;br /&gt;
| +AR1 ||  || Addiere Akku1 zu AR1&lt;br /&gt;
|-&lt;br /&gt;
| +AR2 ||  || Addiere Akku1 zu AR2&lt;br /&gt;
|-&lt;br /&gt;
| +AR1 || P# || Addiere Pointer zu AR1&lt;br /&gt;
|-&lt;br /&gt;
| +AR2 || P# || Addiere Pointer zu AR2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Program display and null operation instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| NOP ||style=&amp;quot;width: 5em&amp;quot;| 0 ||style=&amp;quot;width: 22em&amp;quot;| Nulloperation&lt;br /&gt;
|-&lt;br /&gt;
| NOP || 1 || Nulloperation&lt;br /&gt;
|-&lt;br /&gt;
| BLD || konst || Bildaufbau&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Layout of &#039;&#039;S7-SoftPLC&#039;&#039; memory&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
 The memory of &#039;&#039;S7-SoftPLC 315&#039;&#039; and &#039;&#039;S7-SoftPLC 416&#039;&#039; is compatible to the memory of SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;-control S7-315 or S7-416.&amp;lt;br /&amp;gt;&lt;br /&gt;
 Please note, that the low-order byte has to be interchanged with the high-order byte when accessing this memory with Windows programs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Layout of SoftPLC system data&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
 The layout of the system data in the system data is compatible to the system data of SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;-control S7-315 or S7-416.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated organisation blocks&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
 The organisation blocks, listed in the chart below, are executed, if they are programmed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! OB-Nr !! Kurzbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:14em&amp;quot;| OB 1 ||style=&amp;quot;width:14em&amp;quot;| Hauptprogramm&lt;br /&gt;
|-&lt;br /&gt;
| OB 10 – OB 17 || Uhrzeitalarm&lt;br /&gt;
|-&lt;br /&gt;
| OB 20 – OB 23 || Verzögerungsalarm&lt;br /&gt;
|-&lt;br /&gt;
| OB 30 – OB 38 || Zeitbausteine (zyklischer Aufruf)&lt;br /&gt;
|-&lt;br /&gt;
| OB 80 – OB 87 || Fehlerbausteine&lt;br /&gt;
|-&lt;br /&gt;
| OB 90 || Hintergrundbearbeitung &lt;br /&gt;
|-&lt;br /&gt;
| OB 100/OB 101 || Neustart bzw. Wiederanlauf&lt;br /&gt;
|-&lt;br /&gt;
| OB 121/OB 122 || Programmierfehler&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated system functions&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
 All system functions (SFC) relevant for a Software PLC are integrated in &#039;&#039;S7-SoftPLC&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
 The chart below shows the available SFCs(in numeric listing)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! SFC-Nr !! SFC-Name !! Kurzbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:7em&amp;quot;| SFC 0 ||style=&amp;quot;width:8em&amp;quot;| SET_CLK || Setzen der Systemzeit&lt;br /&gt;
|-&lt;br /&gt;
| SFC 1 || READ_CLK || Lesen der Systemzeit&lt;br /&gt;
|-&lt;br /&gt;
| SFC 5  (3) || GADR_LGC || Logische Basisadresse einer Baugruppe ermitteln&lt;br /&gt;
|-&lt;br /&gt;
| SFC 6 || RD_SINFO || Startinformation des aktuellen OBs auslesen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 13 (1) || DPNRM_DG || Slave-Diagnose eines DP-Slaves&lt;br /&gt;
|-&lt;br /&gt;
| SFC 14 (2) || DPRD_DAT || Konsistente Daten eines DP-Normslaves lesen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 15 (2) || DPWR_DAT || Daten konsistent auf DP-Normslave schreiben&lt;br /&gt;
|-&lt;br /&gt;
| SFC 20 || BLKMOV || SPS-Variable in Zielbereich kopieren&lt;br /&gt;
|-&lt;br /&gt;
| SFC 21 || FILL || SPS-Variable in Zielbereich vorbesetzen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 22 || CREAT_DB || Anlegen von Datenbausteinen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 23 || DEL_DB || Datenbaustein löschen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 24 || TEST_DB || Attribute eines Datenbausteins testen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 25 || COMPRESS || Ladespeicher komprimieren&lt;br /&gt;
|-&lt;br /&gt;
| SFC 28 || SET_TINT || Stellen eines Uhrzeitalarms&lt;br /&gt;
|-&lt;br /&gt;
| SFC 29 || CAN_TINT || Uhrzeitalarm anhalten (nicht ausführen)&lt;br /&gt;
|-&lt;br /&gt;
| SFC 30 || ACT_TINT || Uhrzeitalarm freigeben&lt;br /&gt;
|-&lt;br /&gt;
| SFC 31 || QRY_TINT || Status des Uhrzeitalarms&lt;br /&gt;
|-&lt;br /&gt;
| SFC 32 || SRT_DINT || Starte Verzögerungsalarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 33 || CAN_DINT || Unterbreche Verzögerungsalarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 34 || QRY_DINT || Statusabfrage des Verzögerungsalarms&lt;br /&gt;
|-&lt;br /&gt;
| SFC 36 || MSK_FLT || Maskieren eines synchronen Fehlerereignisses&lt;br /&gt;
|-&lt;br /&gt;
| SFC 37 || DMSK_FLT || Demaskieren eines synchronen Fehlerereignisses&lt;br /&gt;
|-&lt;br /&gt;
| SFC 38 || READ_ERR || Auslesen des Ereignisstatusregister&lt;br /&gt;
|-&lt;br /&gt;
| SFC 39 || DIS_IRT || Sperren der Asynchron- und Alarmfehlerbearbeitung&lt;br /&gt;
|-&lt;br /&gt;
| SFC 40 || EN_IRT || Freigeben der Asynchron- und Alarmfehlerbearbeitung&lt;br /&gt;
|-&lt;br /&gt;
| SFC 41 || DIS_AIRT || Verzögerung höherpriorer Asynchron- und Alarmfehlerbearbeitung&lt;br /&gt;
|-&lt;br /&gt;
| SFC 42 || EN_AIRT || Freigabe höherpriorer Asynchron- und Alarmfehlerbearbeitung&lt;br /&gt;
|-&lt;br /&gt;
| SFC 43 || RE_TRIGR || Nachtriggern des Watchdogs&lt;br /&gt;
|-&lt;br /&gt;
| SFC 46 || STP || CPU Betriebszustand STOP&lt;br /&gt;
|-&lt;br /&gt;
| SFC 49 (3) || LGC_GADR || Ermitteln des Steckplatzes einer logischen Adresse&lt;br /&gt;
|-&lt;br /&gt;
| SFC 50 (3) || RD_LAGADR || Ermitteln aller logischer Adressen einer Baugruppe&lt;br /&gt;
|-&lt;br /&gt;
| SFC 51 || RDSYST || Systemzustandsliste (SZL) auslesen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 64 || TIME_TCK || Timer Tick&lt;br /&gt;
|-&lt;br /&gt;
| SFC 81 || UBLKMOV || Block Move der nicht unterbrochen werden kann&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1)The SFC 13 is available only, when the driver Cifcfg.dll is loaded. Furthermore it can only return valid results, if the PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; configuration has been created via the &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; hardware configuration or the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration. This is only possible when using the driver CIFCFG.DLL.&amp;lt;br /&amp;gt;&lt;br /&gt;
 2)The SFC 14 and SFC 15 are available only, if they are loaded via the driver CIF30D0.DLL or the driver CIFCFG.DLL.&amp;lt;br /&amp;gt;&lt;br /&gt;
 3)The SFCs can only return valid results, if the PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 configuration has been created via the &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration or the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration. This is only possible when using the driver CIFCFG.DLL.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated system blocks&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
 The system blocks (SFB) relevant for a software PLC are integrated in &#039;&#039;S7-SoftPLC&#039;&#039;. &amp;lt;br /&amp;gt;&lt;br /&gt;
 The following system function blocks are supported:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! SFB-Nr !! SFB-Name !! Kurzbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:7em&amp;quot;| SFB 0 ||style=&amp;quot;width:7em&amp;quot;| CTU || Vorwärtszähler (Counter Up)&lt;br /&gt;
|-&lt;br /&gt;
| SFB 1 || CTD || Rückwärtszähler (Counter Down)&lt;br /&gt;
|-&lt;br /&gt;
| SFB 2 || CTUD || Vorwärts- und Rückwärtszähler&lt;br /&gt;
|-&lt;br /&gt;
| SFB 3 || TP || Zeitimpuls&lt;br /&gt;
|-&lt;br /&gt;
| SFB 4 || TON || Einschaltverzögerung&lt;br /&gt;
|-&lt;br /&gt;
| SFB 5 || TOF || Ausschaltverzögerung&lt;br /&gt;
|-&lt;br /&gt;
| SFB 32 || DRUM || Schaltwerk zur Steuerung von Schrittketten&lt;br /&gt;
|-&lt;br /&gt;
| SFB 52 (4) || RDREC_DP || Datensatz lesen&lt;br /&gt;
|-&lt;br /&gt;
| SFB 53 (4) || WRREC_DP || Datensatz schreiben&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4)The SFB 52 and SFB 53 are only available if the driver CIFCFG.DLL is loaded and the entry DPV1=1 is set.&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Instruction_set&amp;diff=1145</id>
		<title>S7-SoftPLC:Instruction set</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Instruction_set&amp;diff=1145"/>
		<updated>2013-01-23T10:58:28Z</updated>

		<summary type="html">&lt;p&gt;Jonas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The programming language of the IBH&#039;&#039;softec&#039;&#039; &#039;&#039;S7-SoftPLC 315&#039;&#039;and &#039;&#039;S7-SoftPLC 416&#039;&#039; controls is STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 and can be made with the programming tools &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; or STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 from Siemens. The complete instruction set of the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 language is supported.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;S7-SoftPLC 315&#039;&#039; has the complete instruction set of the SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; S7-315 CPU.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;S7-SoftPLC 416&#039;&#039; has the complete instruction set of the SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; S7-416 CPU.&lt;br /&gt;
&lt;br /&gt;
== Bit logic instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Instruction !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| A ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AND with a scan to &amp;quot;1&amp;quot;“&lt;br /&gt;
|-&lt;br /&gt;
| AN ||  || AND with a scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| O ||  || OR with scan to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| ON ||  || OR with scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| X ||  || Exclusive-OR with a scan to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| XN ||  || Exclusive-OR with a scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|  || I || of an input&lt;br /&gt;
|-&lt;br /&gt;
|  || Q || of an output&lt;br /&gt;
|-&lt;br /&gt;
|  || M || of a memory&lt;br /&gt;
|-&lt;br /&gt;
|  || L || of a local data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || T || of a timer&lt;br /&gt;
|-&lt;br /&gt;
|  || C || of a counter&lt;br /&gt;
|-&lt;br /&gt;
|  || DBX || of a data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || DIX || of an instant data bit&lt;br /&gt;
|-&lt;br /&gt;
| ==0 ||  || result equal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;0 ||  || result unequal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;0 ||  || result greater than zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=0 ||  || result greater or equal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;0 ||  || result less than zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=0 ||  || result less or equal zero&lt;br /&gt;
|-&lt;br /&gt;
| UO ||  || invalid result&lt;br /&gt;
|-&lt;br /&gt;
| OV ||  || overflow&lt;br /&gt;
|-&lt;br /&gt;
| OS ||  || overflow (saving)&lt;br /&gt;
|-&lt;br /&gt;
| BR ||  || binary result&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other boolean logic instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| A( ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AND left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| AN( ||  || AND NOT left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| O( ||  || OR left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| ON( ||  || OR NOT left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| X( ||  || Exclusive OR left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| XN( ||  || Exclusive OR NOT left parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| ) ||  || Right parenthesis&lt;br /&gt;
|-&lt;br /&gt;
| O ||  || OR-ing AND operations &lt;br /&gt;
|-&lt;br /&gt;
| NOT ||  || Negate RLO&lt;br /&gt;
|-&lt;br /&gt;
| SET ||  || Set RLO to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| CLR ||  || Set RLO to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| SAVE ||  || Save RLO to the BR bit&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| = ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Assign value of RLO&lt;br /&gt;
|-&lt;br /&gt;
| S ||  || Set&lt;br /&gt;
|-&lt;br /&gt;
| R ||  || Reset&lt;br /&gt;
|-&lt;br /&gt;
| FP ||  || Positive edge detection&lt;br /&gt;
|-&lt;br /&gt;
| FN ||  || Negative edge detection&lt;br /&gt;
|-&lt;br /&gt;
|  || I || of an input bit&lt;br /&gt;
|-&lt;br /&gt;
|  || Q || of an output bit&lt;br /&gt;
|-&lt;br /&gt;
|  || M || of a memory bit&lt;br /&gt;
|-&lt;br /&gt;
|  || L || of a local data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || DBX || of a data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || DIX || of a instance data bit&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Master Control Relay ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| MCRA ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Activate MCR&lt;br /&gt;
|-&lt;br /&gt;
| MCRD ||  || Deactivate MCR&lt;br /&gt;
|-&lt;br /&gt;
| MCR( ||  || Open MCR zone&lt;br /&gt;
|-&lt;br /&gt;
| )MCR ||  || Close MCR zone&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Load / Transfer instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| L ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Operand laden&lt;br /&gt;
|-&lt;br /&gt;
| T ||  || Operand transferieren&lt;br /&gt;
|-&lt;br /&gt;
|  || EB || Eingangsbyte&lt;br /&gt;
|-&lt;br /&gt;
|  || EW || Eingangswort&lt;br /&gt;
|-&lt;br /&gt;
|  || ED || Eingangsdoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || AB || Ausgangsbyte&lt;br /&gt;
|-&lt;br /&gt;
|  || AW || Ausgangswort&lt;br /&gt;
|-&lt;br /&gt;
|  || AD || Ausgangsdoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || MB || Merkerbyte&lt;br /&gt;
|-&lt;br /&gt;
|  || MW || Merkerwort&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || Merkerdoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || LB || Lokaldatenbyte&lt;br /&gt;
|-&lt;br /&gt;
|  || LW || Lokaldatenwort&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || Lokaldatendoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || DBB || Datenbausteinbyte&lt;br /&gt;
|-&lt;br /&gt;
|  || DBW || Datenbausteinwort&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || Datenbausteindoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || DIB || Instanz-Datenbausteinbyte&lt;br /&gt;
|-&lt;br /&gt;
|  || DIW || Instanz-Datenbausteinwort&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || Instanz-Datenbausteindoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || STW || Statuswort&lt;br /&gt;
|-&lt;br /&gt;
| L || konst || Laden einer Konstanten&lt;br /&gt;
|-&lt;br /&gt;
| L || #Pointer || Laden eines Zeigers&lt;br /&gt;
|-&lt;br /&gt;
| L || T || Zeitwert&lt;br /&gt;
|-&lt;br /&gt;
| LC || T || Zeitwert (BCD codiert)&lt;br /&gt;
|-&lt;br /&gt;
| L || Z || Zähler&lt;br /&gt;
|-&lt;br /&gt;
| LC || Z || Zähler (BCD codiert)&lt;br /&gt;
|-&lt;br /&gt;
| L || DBNO || Lade Datenbausteinnummer&lt;br /&gt;
|-&lt;br /&gt;
| L || DBLG || Lade Datenbausteinlänge&lt;br /&gt;
|-&lt;br /&gt;
| L || DINO || Lade Datenbausteinnummer (Instanz-DB)&lt;br /&gt;
|-&lt;br /&gt;
| L || DILG || Lade Datenbausteinlänge (Instanz-DB)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Peripheral access instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| L ||style=&amp;quot;width: 5em&amp;quot;| PEB ||style=&amp;quot;width: 22em&amp;quot;| Peripherieeingangsbyte&lt;br /&gt;
|-&lt;br /&gt;
| L || PEW || Peripherieeingangswort&lt;br /&gt;
|-&lt;br /&gt;
| L || PED || Peripherieeingangsdoppelwort&lt;br /&gt;
|-&lt;br /&gt;
| T || PAB || Peripherieausgangsbyte&lt;br /&gt;
|-&lt;br /&gt;
| T || PAW || Peripherieausgangswort&lt;br /&gt;
|-&lt;br /&gt;
| T || PAD || Peripherieausgangsdoppelwort&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Accumulator instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| PUSH ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Akkus ,,nach oben“ schieben&lt;br /&gt;
|-&lt;br /&gt;
| POP ||  || Akkus ,,nach unten“ schieben&lt;br /&gt;
|-&lt;br /&gt;
| ENT ||  || Akkus schieben (ohne Al) A2-&amp;gt;A3, A3-&amp;gt;A4&lt;br /&gt;
|-&lt;br /&gt;
| LEAVE ||  || Akkus schieben (ohne Al) A4-&amp;gt;A3, A3-&amp;gt;A2&lt;br /&gt;
|-&lt;br /&gt;
| TAK ||  || Akku 1 und Akku 2 tauschen&lt;br /&gt;
|-&lt;br /&gt;
| TAW ||  || Akku 1 Bytes 0 und 1 tauschen&lt;br /&gt;
|-&lt;br /&gt;
| TAD ||  || Akku 1 alle Bytes tauschen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Shift and rotating instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| SLW ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Schieben links wortweise&lt;br /&gt;
|-&lt;br /&gt;
| SLD ||  || Schieben links doppelwortweise&lt;br /&gt;
|-&lt;br /&gt;
| SRW ||  || Schieben rechts wortweise&lt;br /&gt;
|-&lt;br /&gt;
| SRD ||  || Schieben rechts doppelwortweise&lt;br /&gt;
|-&lt;br /&gt;
| SSI ||  || Schieben mit Vorzeichen wortweise&lt;br /&gt;
|-&lt;br /&gt;
| SSD ||  || Schieben mit Vorzeichen doppelwortweise&lt;br /&gt;
|-&lt;br /&gt;
| RLD ||  || Rotieren links doppelwortweise&lt;br /&gt;
|-&lt;br /&gt;
| RLDA ||  || Rotieren links durch Al&lt;br /&gt;
|-&lt;br /&gt;
| RRDA ||  || Rotieren rechts durch Al&lt;br /&gt;
|-&lt;br /&gt;
| RRD ||  || Rotieren rechts doppelwort­weise&lt;br /&gt;
|-&lt;br /&gt;
|  || konst || um feste Anzahl von Bits&lt;br /&gt;
|-&lt;br /&gt;
|  ||  || Schiebezahl im Akku 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Timer instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| SI ||style=&amp;quot;width: 5em&amp;quot;| T ||style=&amp;quot;width: 22em&amp;quot;| Starten als Impuls&lt;br /&gt;
|-&lt;br /&gt;
| SV || T || Starten als verlängerter Impuls&lt;br /&gt;
|-&lt;br /&gt;
| SE || T || Starten als Einschaltverzögerung&lt;br /&gt;
|-&lt;br /&gt;
| SS || T || Starten als speichernde Einschaltverzögerung&lt;br /&gt;
|-&lt;br /&gt;
| SA || T || Starten als Ausschaltverzögerung&lt;br /&gt;
|-&lt;br /&gt;
| R || T || Zeitfunktion rücksetzen&lt;br /&gt;
|-&lt;br /&gt;
| FR || T || Zeitfunktion freigeben&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Counter instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| ZV ||style=&amp;quot;width: 5em&amp;quot;| Z ||style=&amp;quot;width: 22em&amp;quot;| Zählfunktion vorwärtszählen&lt;br /&gt;
|-&lt;br /&gt;
| ZR || Z || Zählfunktion rückwärtszählen&lt;br /&gt;
|-&lt;br /&gt;
| S || Z || Zählfunktion setzen&lt;br /&gt;
|-&lt;br /&gt;
| R || Z || Zählfunktion rücksetzen&lt;br /&gt;
|-&lt;br /&gt;
| FR || Z || Zählfunktion freigeben&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Word instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| UW ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| UND wortweise&lt;br /&gt;
|-&lt;br /&gt;
| UD ||  || UND doppelwortweise&lt;br /&gt;
|-&lt;br /&gt;
| OW ||  || ODER wortweise&lt;br /&gt;
|-&lt;br /&gt;
| OD ||  || ODER doppelwortweise&lt;br /&gt;
|-&lt;br /&gt;
| XOW ||  || Exklusiv-ODER wortweise&lt;br /&gt;
|-&lt;br /&gt;
| XOD ||  || Exklusiv-ODER doppelwortweise&lt;br /&gt;
|-&lt;br /&gt;
|  || konst || Mit einer Wort- bzw. Doppelwortkonstanten&lt;br /&gt;
|-&lt;br /&gt;
|  ||  || mit dem Inhalt von Akku 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Arithmetic instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| ==I ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Integervergleich GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;I ||  || Integervergleich UNGLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;I ||  || Integervergleich GRÖSSER&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=I ||  || Integervergleich GRÖSSER GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;I ||  || Integervergleich KLEINER&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=I ||  || Integervergleich KLEINER GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| ==D ||  || Doppel-Integervergleich GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;D ||  || Doppel-Integervergleich UNGLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;D ||  || Doppel-Integervergleich GRÖSSER&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=D ||  || Doppel-Integervergleich GRÖSSER GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;D ||  || Doppel-Integervergleich KLEINER&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=D ||  || Doppel-Integervergleich KLEINER GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| ==R ||  || REAL-Zahl Vergleich GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;R ||  || REAL-Zahl Vergleich UNGLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;R ||  || REAL-Zahl Vergleich GRÖSSER&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=R ||  || REAL-Zahl Vergleich GRÖSSER GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;R ||  || REAL-Zahl Vergleich KLEINER&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=R ||  || REAL-Zahl Vergleich KLEINER GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| SIN ||  || Sinus&lt;br /&gt;
|-&lt;br /&gt;
| COS ||  || Cosinus&lt;br /&gt;
|-&lt;br /&gt;
| TAN ||  || Tangens&lt;br /&gt;
|-&lt;br /&gt;
| ASIN ||  || Arcussinus&lt;br /&gt;
|-&lt;br /&gt;
| ACOS ||  || Arcuscosinus&lt;br /&gt;
|-&lt;br /&gt;
| ATAN ||  || Arcustangens&lt;br /&gt;
|-&lt;br /&gt;
| SQR ||  || Quadrieren&lt;br /&gt;
|-&lt;br /&gt;
| SQRT ||  || Wurzel (Radizieren)&lt;br /&gt;
|-&lt;br /&gt;
| EXP ||  || Exponent zur Basis e&lt;br /&gt;
|-&lt;br /&gt;
| LN ||  || Natürlicher Logarithmus&lt;br /&gt;
|-&lt;br /&gt;
| +I ||  || Integer Addition&lt;br /&gt;
|-&lt;br /&gt;
| -I ||  || Integer Subtraktion&lt;br /&gt;
|-&lt;br /&gt;
| *I ||  || Integer Multiplikation&lt;br /&gt;
|-&lt;br /&gt;
| /I ||  || Integer Division&lt;br /&gt;
|-&lt;br /&gt;
| +D ||  || Doppel-Integer Addition&lt;br /&gt;
|-&lt;br /&gt;
| -D ||  || Doppel-Integer Subtraktion&lt;br /&gt;
|-&lt;br /&gt;
| *D ||  || Doppel-Integer Multiplikation&lt;br /&gt;
|-&lt;br /&gt;
| /D ||  || Doppel-Integer Division&lt;br /&gt;
|-&lt;br /&gt;
| +R ||  || Realzahl Addition&lt;br /&gt;
|-&lt;br /&gt;
| -R ||  || Realzahl Subtraktion&lt;br /&gt;
|-&lt;br /&gt;
| *R ||  || Realzahl Multiplikation&lt;br /&gt;
|-&lt;br /&gt;
| /R ||  || Realzahl Division&lt;br /&gt;
|-&lt;br /&gt;
| MOD ||  || Doppel-Integer Division (Rest)&lt;br /&gt;
|-&lt;br /&gt;
| + || konst || Addieren einer Konstante&lt;br /&gt;
|-&lt;br /&gt;
| +P# || konst || Addieren eines Zeigers&lt;br /&gt;
|-&lt;br /&gt;
| DEC ||  || Dekrementieren&lt;br /&gt;
|-&lt;br /&gt;
| INC ||  || Inkrementieren&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Data type conversion instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| ITD ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Wandlung INT nach DINT&lt;br /&gt;
|-&lt;br /&gt;
| ITB ||  || Wandlung INT nach BCD&lt;br /&gt;
|-&lt;br /&gt;
| DTB ||  || Wandlung DINT nach BCD&lt;br /&gt;
|-&lt;br /&gt;
| DTR ||  || Wandlung DINT nach REAL&lt;br /&gt;
|-&lt;br /&gt;
| BTI ||  || Wandlung BCD nach INT&lt;br /&gt;
|-&lt;br /&gt;
| BTD ||  || Wandlung BCD nach DINT&lt;br /&gt;
|-&lt;br /&gt;
| RND ||  || Rundung zur nächsten ganzen Zahl&lt;br /&gt;
|-&lt;br /&gt;
| RND+ ||  || Rundung zur nächstgrößeren Zahl&lt;br /&gt;
|-&lt;br /&gt;
| RND- ||  || Rundung zur nächstkleineren Zahl&lt;br /&gt;
|-&lt;br /&gt;
| TRUNC ||  || ohne Rundung&lt;br /&gt;
|-&lt;br /&gt;
| INVI ||  || INT-Einerkomplement&lt;br /&gt;
|-&lt;br /&gt;
| INVD ||  || DINT-Einerkomplement&lt;br /&gt;
|-&lt;br /&gt;
| NEGI ||  || INT-Negation&lt;br /&gt;
|-&lt;br /&gt;
| NEGD ||  || DINT-Negation&lt;br /&gt;
|-&lt;br /&gt;
| NEGR ||  || REAL-Negation&lt;br /&gt;
|-&lt;br /&gt;
| ABS ||  || REAL-Betragsbildung&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Jump instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| SPA ||style=&amp;quot;width: 5em&amp;quot;| Ziel ||style=&amp;quot;width: 22em&amp;quot;| Sprung absolut (unbedingt)&lt;br /&gt;
|-&lt;br /&gt;
| SPB || Ziel || Sprung wenn VKE = 1&lt;br /&gt;
|-&lt;br /&gt;
| SPBB || Ziel || Sprung wenn VKE = 1 (VKE speichern)&lt;br /&gt;
|-&lt;br /&gt;
| SPBN || Ziel || Sprung wenn VKE = 0&lt;br /&gt;
|-&lt;br /&gt;
| SPBNB || Ziel || Sprung wenn VKE = 0 (VKE speichern)&lt;br /&gt;
|-&lt;br /&gt;
| SPBI || Ziel || Sprung wenn BIE = 1&lt;br /&gt;
|-&lt;br /&gt;
| SPBIN || Ziel || Sprung wenn BIE = 0&lt;br /&gt;
|-&lt;br /&gt;
| SPZ || Ziel || Sprung bei Vergleichsergebnis = 0&lt;br /&gt;
|-&lt;br /&gt;
| SPN || Ziel || Sprung bei Vergleichsergebnis ≠ 0&lt;br /&gt;
|-&lt;br /&gt;
| SPP || Ziel || Sprung bei Vergleichsergebnis &amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| SPPZ || Ziel || Sprung bei Vergleichsergebnis &amp;gt;= 0&lt;br /&gt;
|-&lt;br /&gt;
| SPM || Ziel || Sprung bei Vergleichsergebnis &amp;lt; 0&lt;br /&gt;
|-&lt;br /&gt;
| SPMZ || Ziel || Sprung bei Vergleichsergebnis &amp;lt;= 0&lt;br /&gt;
|-&lt;br /&gt;
| SPU || Ziel || Sprung bei Vergleichsergebnis ungültig&lt;br /&gt;
|-&lt;br /&gt;
| SPO || Ziel || Sprung bei Overflow&lt;br /&gt;
|-&lt;br /&gt;
| SPS || Ziel || Sprung bei speicherndem Overflow&lt;br /&gt;
|-&lt;br /&gt;
| SPL || Ziel || Sprungverteiler&lt;br /&gt;
|-&lt;br /&gt;
| LOOP || Ziel || Schleife&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Block call instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| CALL FB ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Sprung zum Funktionsbaustein&lt;br /&gt;
|-&lt;br /&gt;
| CALL FC ||  || Sprung zur Funktion&lt;br /&gt;
|-&lt;br /&gt;
| CALL SFB ||  || Sprung zum System-Funktionsbaustein&lt;br /&gt;
|-&lt;br /&gt;
| CALL SFC ||  || Sprung zur System-Funktion&lt;br /&gt;
|-&lt;br /&gt;
| UC FB ||  || Funktionsbaustein absolut aufrufen&lt;br /&gt;
|-&lt;br /&gt;
| CC FB ||  || Funktionsbaustein bedingt aufrufen&lt;br /&gt;
|-&lt;br /&gt;
| UC FC ||  || Funktion absolut aufrufen&lt;br /&gt;
|-&lt;br /&gt;
| CC FC ||  || Funktion bedingt aufrufen&lt;br /&gt;
|-&lt;br /&gt;
| BEA ||  || Bausteinende absolut&lt;br /&gt;
|-&lt;br /&gt;
| BEB ||  || Bausteinende bedingt&lt;br /&gt;
|-&lt;br /&gt;
| BE ||  || Bausteinende&lt;br /&gt;
|-&lt;br /&gt;
| AUF || DB || Datenbaustein öffnen&lt;br /&gt;
|-&lt;br /&gt;
|  || DI || Instanz-Datenbaustein öffnen&lt;br /&gt;
|-&lt;br /&gt;
| TDB ||  || Datenbausteinregister tauschen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Indirect adressing instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| LAR1 ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AR1 laden&lt;br /&gt;
|-&lt;br /&gt;
| LAR2 ||  || AR2 laden&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || mit Merkerdoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || mit Lokaldatendoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || mit Datenbausteindoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || mit Instanz-Datenbausteindoppelwort&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 ||  || AR1 laden mit Inhalt aus Akku1&lt;br /&gt;
|-&lt;br /&gt;
| LAR2 ||  || AR2 laden mit Inhalt aus Akku1&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 || AR2 || AR1 laden mit Inhalt aus A2&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 || P# || AR1 laden mit Zeiger&lt;br /&gt;
|-&lt;br /&gt;
| LAR2 || P# || AR2 laden mit Zeiger&lt;br /&gt;
|-&lt;br /&gt;
| TAR1 ||  || Schreibe AR1&lt;br /&gt;
|-&lt;br /&gt;
| TAR2 ||  || Schreibe AR2&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || in Merkerdoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || in Lokaldatendoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || in Datenbausteindoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || in Instanz-Datenbausteindoppelwort&lt;br /&gt;
|-&lt;br /&gt;
| TAR1 ||  || Schreibe AR1 in Akku1&lt;br /&gt;
|-&lt;br /&gt;
| TAR2 ||  || Schreibe AR2 in Akku1&lt;br /&gt;
|-&lt;br /&gt;
| TAR1 || AR2 || AR1 nach AR2 transferieren&lt;br /&gt;
|-&lt;br /&gt;
| TAR ||  || AR1 mit AR2 tauschen&lt;br /&gt;
|-&lt;br /&gt;
| +AR1 ||  || Addiere Akku1 zu AR1&lt;br /&gt;
|-&lt;br /&gt;
| +AR2 ||  || Addiere Akku1 zu AR2&lt;br /&gt;
|-&lt;br /&gt;
| +AR1 || P# || Addiere Pointer zu AR1&lt;br /&gt;
|-&lt;br /&gt;
| +AR2 || P# || Addiere Pointer zu AR2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Program display and null operation instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| NOP ||style=&amp;quot;width: 5em&amp;quot;| 0 ||style=&amp;quot;width: 22em&amp;quot;| Nulloperation&lt;br /&gt;
|-&lt;br /&gt;
| NOP || 1 || Nulloperation&lt;br /&gt;
|-&lt;br /&gt;
| BLD || konst || Bildaufbau&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Layout of &#039;&#039;S7-SoftPLC&#039;&#039; memory&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
 The memory of &#039;&#039;S7-SoftPLC 315&#039;&#039; and &#039;&#039;S7-SoftPLC 416&#039;&#039; is compatible to the memory of SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;-control S7-315 or S7-416.&amp;lt;br /&amp;gt;&lt;br /&gt;
 Please note, that the low-order byte has to be interchanged with the high-order byte when accessing this memory with Windows programs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Layout of SoftPLC system data&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
 The layout of the system data in the system data is compatible to the system data of SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;-control S7-315 or S7-416.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated organisation blocks&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
 The organisation blocks, listed in the chart below, are executed, if they are programmed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! OB-Nr !! Kurzbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:14em&amp;quot;| OB 1 ||style=&amp;quot;width:14em&amp;quot;| Hauptprogramm&lt;br /&gt;
|-&lt;br /&gt;
| OB 10 – OB 17 || Uhrzeitalarm&lt;br /&gt;
|-&lt;br /&gt;
| OB 20 – OB 23 || Verzögerungsalarm&lt;br /&gt;
|-&lt;br /&gt;
| OB 30 – OB 38 || Zeitbausteine (zyklischer Aufruf)&lt;br /&gt;
|-&lt;br /&gt;
| OB 80 – OB 87 || Fehlerbausteine&lt;br /&gt;
|-&lt;br /&gt;
| OB 90 || Hintergrundbearbeitung &lt;br /&gt;
|-&lt;br /&gt;
| OB 100/OB 101 || Neustart bzw. Wiederanlauf&lt;br /&gt;
|-&lt;br /&gt;
| OB 121/OB 122 || Programmierfehler&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated system functions&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
 All system functions (SFC) relevant for a Software PLC are integrated in &#039;&#039;S7-SoftPLC&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
 The chart below shows the available SFCs(in numeric listing)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! SFC-Nr !! SFC-Name !! Kurzbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:7em&amp;quot;| SFC 0 ||style=&amp;quot;width:8em&amp;quot;| SET_CLK || Setzen der Systemzeit&lt;br /&gt;
|-&lt;br /&gt;
| SFC 1 || READ_CLK || Lesen der Systemzeit&lt;br /&gt;
|-&lt;br /&gt;
| SFC 5  (3) || GADR_LGC || Logische Basisadresse einer Baugruppe ermitteln&lt;br /&gt;
|-&lt;br /&gt;
| SFC 6 || RD_SINFO || Startinformation des aktuellen OBs auslesen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 13 (1) || DPNRM_DG || Slave-Diagnose eines DP-Slaves&lt;br /&gt;
|-&lt;br /&gt;
| SFC 14 (2) || DPRD_DAT || Konsistente Daten eines DP-Normslaves lesen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 15 (2) || DPWR_DAT || Daten konsistent auf DP-Normslave schreiben&lt;br /&gt;
|-&lt;br /&gt;
| SFC 20 || BLKMOV || SPS-Variable in Zielbereich kopieren&lt;br /&gt;
|-&lt;br /&gt;
| SFC 21 || FILL || SPS-Variable in Zielbereich vorbesetzen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 22 || CREAT_DB || Anlegen von Datenbausteinen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 23 || DEL_DB || Datenbaustein löschen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 24 || TEST_DB || Attribute eines Datenbausteins testen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 25 || COMPRESS || Ladespeicher komprimieren&lt;br /&gt;
|-&lt;br /&gt;
| SFC 28 || SET_TINT || Stellen eines Uhrzeitalarms&lt;br /&gt;
|-&lt;br /&gt;
| SFC 29 || CAN_TINT || Uhrzeitalarm anhalten (nicht ausführen)&lt;br /&gt;
|-&lt;br /&gt;
| SFC 30 || ACT_TINT || Uhrzeitalarm freigeben&lt;br /&gt;
|-&lt;br /&gt;
| SFC 31 || QRY_TINT || Status des Uhrzeitalarms&lt;br /&gt;
|-&lt;br /&gt;
| SFC 32 || SRT_DINT || Starte Verzögerungsalarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 33 || CAN_DINT || Unterbreche Verzögerungsalarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 34 || QRY_DINT || Statusabfrage des Verzögerungsalarms&lt;br /&gt;
|-&lt;br /&gt;
| SFC 36 || MSK_FLT || Maskieren eines synchronen Fehlerereignisses&lt;br /&gt;
|-&lt;br /&gt;
| SFC 37 || DMSK_FLT || Demaskieren eines synchronen Fehlerereignisses&lt;br /&gt;
|-&lt;br /&gt;
| SFC 38 || READ_ERR || Auslesen des Ereignisstatusregister&lt;br /&gt;
|-&lt;br /&gt;
| SFC 39 || DIS_IRT || Sperren der Asynchron- und Alarmfehlerbearbeitung&lt;br /&gt;
|-&lt;br /&gt;
| SFC 40 || EN_IRT || Freigeben der Asynchron- und Alarmfehlerbearbeitung&lt;br /&gt;
|-&lt;br /&gt;
| SFC 41 || DIS_AIRT || Verzögerung höherpriorer Asynchron- und Alarmfehlerbearbeitung&lt;br /&gt;
|-&lt;br /&gt;
| SFC 42 || EN_AIRT || Freigabe höherpriorer Asynchron- und Alarmfehlerbearbeitung&lt;br /&gt;
|-&lt;br /&gt;
| SFC 43 || RE_TRIGR || Nachtriggern des Watchdogs&lt;br /&gt;
|-&lt;br /&gt;
| SFC 46 || STP || CPU Betriebszustand STOP&lt;br /&gt;
|-&lt;br /&gt;
| SFC 49 (3) || LGC_GADR || Ermitteln des Steckplatzes einer logischen Adresse&lt;br /&gt;
|-&lt;br /&gt;
| SFC 50 (3) || RD_LAGADR || Ermitteln aller logischer Adressen einer Baugruppe&lt;br /&gt;
|-&lt;br /&gt;
| SFC 51 || RDSYST || Systemzustandsliste (SZL) auslesen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 64 || TIME_TCK || Timer Tick&lt;br /&gt;
|-&lt;br /&gt;
| SFC 81 || UBLKMOV || Block Move der nicht unterbrochen werden kann&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1)The SFC 13 is available only, when the driver Cifcfg.dll is loaded. Furthermore it can only return valid results, if the PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; configuration has been created via the &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; hardware configuration or the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration. This is only possible when using the driver CIFCFG.DLL.&amp;lt;br /&amp;gt;&lt;br /&gt;
 2)The SFC 14 and SFC 15 are available only, if they are loaded via the driver CIF30D0.DLL or the driver CIFCFG.DLL.&amp;lt;br /&amp;gt;&lt;br /&gt;
 3)The SFCs can only return valid results, if the PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 configuration has been created via the &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration or the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration. This is only possible when using the driver CIFCFG.DLL.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated system blocks&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
 The system blocks (SFB) relevant for a software PLC are integrated in &#039;&#039;S7-SoftPLC&#039;&#039;. &amp;lt;br /&amp;gt;&lt;br /&gt;
 The following system function blocks are supported:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! SFB-Nr !! SFB-Name !! Kurzbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:7em&amp;quot;| SFB 0 ||style=&amp;quot;width:7em&amp;quot;| CTU || Vorwärtszähler (Counter Up)&lt;br /&gt;
|-&lt;br /&gt;
| SFB 1 || CTD || Rückwärtszähler (Counter Down)&lt;br /&gt;
|-&lt;br /&gt;
| SFB 2 || CTUD || Vorwärts- und Rückwärtszähler&lt;br /&gt;
|-&lt;br /&gt;
| SFB 3 || TP || Zeitimpuls&lt;br /&gt;
|-&lt;br /&gt;
| SFB 4 || TON || Einschaltverzögerung&lt;br /&gt;
|-&lt;br /&gt;
| SFB 5 || TOF || Ausschaltverzögerung&lt;br /&gt;
|-&lt;br /&gt;
| SFB 32 || DRUM || Schaltwerk zur Steuerung von Schrittketten&lt;br /&gt;
|-&lt;br /&gt;
| SFB 52 (4) || RDREC_DP || Datensatz lesen&lt;br /&gt;
|-&lt;br /&gt;
| SFB 53 (4) || WRREC_DP || Datensatz schreiben&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4)The SFB 52 and SFB 53 are only available if the driver CIFCFG.DLL is loaded and the entry DPV1=1 is set.&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Instruction_set&amp;diff=1144</id>
		<title>S7-SoftPLC:Instruction set</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Instruction_set&amp;diff=1144"/>
		<updated>2013-01-23T10:52:56Z</updated>

		<summary type="html">&lt;p&gt;Jonas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The programming language of the IBH&#039;&#039;softec&#039;&#039; &#039;&#039;S7-SoftPLC 315&#039;&#039;and &#039;&#039;S7-SoftPLC 416&#039;&#039; controls is STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 and can be made with the programming tools &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; or STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 from Siemens. The complete instruction set of the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 language is supported.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;S7-SoftPLC 315&#039;&#039; has the complete instruction set of the SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; S7-315 CPU.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;S7-SoftPLC 416&#039;&#039; has the complete instruction set of the SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; S7-416 CPU.&lt;br /&gt;
&lt;br /&gt;
== Bit logic instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation !! Operand !! Funktionsbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| A ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AND with a scan to &amp;quot;1&amp;quot;“&lt;br /&gt;
|-&lt;br /&gt;
| AN ||  || AND with a scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| O ||  || OR with scan to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| ON ||  || OR with scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| X ||  || Exclusive-OR with a scan to &amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| XN ||  || Exclusive-OR with a scan to &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|  || I || of an input&lt;br /&gt;
|-&lt;br /&gt;
|  || O || of an output&lt;br /&gt;
|-&lt;br /&gt;
|  || M || of a memory&lt;br /&gt;
|-&lt;br /&gt;
|  || L || of a local data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || T || of a timer&lt;br /&gt;
|-&lt;br /&gt;
|  || C || of a counter&lt;br /&gt;
|-&lt;br /&gt;
|  || DBX || of a data bit&lt;br /&gt;
|-&lt;br /&gt;
|  || DIX || of an instant data bit&lt;br /&gt;
|-&lt;br /&gt;
| ==0 ||  || result equal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;0 ||  || result unequal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;0 ||  || result greater than zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=0 ||  || result greater or equal zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;0 ||  || result less than zero&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=0 ||  || result less or equal zero&lt;br /&gt;
|-&lt;br /&gt;
| UO ||  || invalid result&lt;br /&gt;
|-&lt;br /&gt;
| OV ||  || overflow&lt;br /&gt;
|-&lt;br /&gt;
| OS ||  || overflow (saving)&lt;br /&gt;
|-&lt;br /&gt;
| BR ||  || binary result&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other boolean logic instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation !! Operand !! Funktionsbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| U( ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| UND Klammer auf&lt;br /&gt;
|-&lt;br /&gt;
| UN( ||  || UND-NICHT Klammer auf&lt;br /&gt;
|-&lt;br /&gt;
| O( ||  || ODER Klammer auf&lt;br /&gt;
|-&lt;br /&gt;
| ON( ||  || ODER-NICHT Klammer auf&lt;br /&gt;
|-&lt;br /&gt;
| X( ||  || Exklusiv-ODER Klammer auf&lt;br /&gt;
|-&lt;br /&gt;
| XN( ||  || Exklusiv-ODER-NICHT Klammer auf&lt;br /&gt;
|-&lt;br /&gt;
| ) ||  || Klammer zu&lt;br /&gt;
|-&lt;br /&gt;
| O ||  || ODER-Verknüpfung von UND&lt;br /&gt;
|-&lt;br /&gt;
| NOT ||  || VKE negieren&lt;br /&gt;
|-&lt;br /&gt;
| SET ||  || VKE setzen&lt;br /&gt;
|-&lt;br /&gt;
| CLR ||  || VKE rücksetzen&lt;br /&gt;
|-&lt;br /&gt;
| SAVE ||  || VKE ins BIE retten&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Funktionsbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| = ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Zuweisung&lt;br /&gt;
|-&lt;br /&gt;
| S ||  || Setze&lt;br /&gt;
|-&lt;br /&gt;
| R ||  || Rücksetze&lt;br /&gt;
|-&lt;br /&gt;
| FP ||  || Positive Flanke&lt;br /&gt;
|-&lt;br /&gt;
| FN ||  || Negative Flanke&lt;br /&gt;
|-&lt;br /&gt;
|  || E || eines Eingangsbits&lt;br /&gt;
|-&lt;br /&gt;
|  || A || eines Ausgangsbits&lt;br /&gt;
|-&lt;br /&gt;
|  || M || eines Merkerbits&lt;br /&gt;
|-&lt;br /&gt;
|  || L || eines Lokaldatenbits&lt;br /&gt;
|-&lt;br /&gt;
|  || DBX || eines Datenbits&lt;br /&gt;
|-&lt;br /&gt;
|  || DIX || eines Instanz-Datenbits&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Master Control Relay ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Funktionsbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| MCRA ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| MCR-Bereich aktivieren&lt;br /&gt;
|-&lt;br /&gt;
| MCRD ||  || MCR-Bereich deaktivieren&lt;br /&gt;
|-&lt;br /&gt;
| MCR( ||  || MCR-Zone öffnen&lt;br /&gt;
|-&lt;br /&gt;
| )MCR ||  || MCR-Zone schließen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Load / Transfer instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Funktionsbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| L ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Operand laden&lt;br /&gt;
|-&lt;br /&gt;
| T ||  || Operand transferieren&lt;br /&gt;
|-&lt;br /&gt;
|  || EB || Eingangsbyte&lt;br /&gt;
|-&lt;br /&gt;
|  || EW || Eingangswort&lt;br /&gt;
|-&lt;br /&gt;
|  || ED || Eingangsdoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || AB || Ausgangsbyte&lt;br /&gt;
|-&lt;br /&gt;
|  || AW || Ausgangswort&lt;br /&gt;
|-&lt;br /&gt;
|  || AD || Ausgangsdoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || MB || Merkerbyte&lt;br /&gt;
|-&lt;br /&gt;
|  || MW || Merkerwort&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || Merkerdoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || LB || Lokaldatenbyte&lt;br /&gt;
|-&lt;br /&gt;
|  || LW || Lokaldatenwort&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || Lokaldatendoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || DBB || Datenbausteinbyte&lt;br /&gt;
|-&lt;br /&gt;
|  || DBW || Datenbausteinwort&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || Datenbausteindoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || DIB || Instanz-Datenbausteinbyte&lt;br /&gt;
|-&lt;br /&gt;
|  || DIW || Instanz-Datenbausteinwort&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || Instanz-Datenbausteindoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || STW || Statuswort&lt;br /&gt;
|-&lt;br /&gt;
| L || konst || Laden einer Konstanten&lt;br /&gt;
|-&lt;br /&gt;
| L || #Pointer || Laden eines Zeigers&lt;br /&gt;
|-&lt;br /&gt;
| L || T || Zeitwert&lt;br /&gt;
|-&lt;br /&gt;
| LC || T || Zeitwert (BCD codiert)&lt;br /&gt;
|-&lt;br /&gt;
| L || Z || Zähler&lt;br /&gt;
|-&lt;br /&gt;
| LC || Z || Zähler (BCD codiert)&lt;br /&gt;
|-&lt;br /&gt;
| L || DBNO || Lade Datenbausteinnummer&lt;br /&gt;
|-&lt;br /&gt;
| L || DBLG || Lade Datenbausteinlänge&lt;br /&gt;
|-&lt;br /&gt;
| L || DINO || Lade Datenbausteinnummer (Instanz-DB)&lt;br /&gt;
|-&lt;br /&gt;
| L || DILG || Lade Datenbausteinlänge (Instanz-DB)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Peripheral access instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Funktionsbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| L ||style=&amp;quot;width: 5em&amp;quot;| PEB ||style=&amp;quot;width: 22em&amp;quot;| Peripherieeingangsbyte&lt;br /&gt;
|-&lt;br /&gt;
| L || PEW || Peripherieeingangswort&lt;br /&gt;
|-&lt;br /&gt;
| L || PED || Peripherieeingangsdoppelwort&lt;br /&gt;
|-&lt;br /&gt;
| T || PAB || Peripherieausgangsbyte&lt;br /&gt;
|-&lt;br /&gt;
| T || PAW || Peripherieausgangswort&lt;br /&gt;
|-&lt;br /&gt;
| T || PAD || Peripherieausgangsdoppelwort&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Accumulator instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Funktionsbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| PUSH ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Akkus ,,nach oben“ schieben&lt;br /&gt;
|-&lt;br /&gt;
| POP ||  || Akkus ,,nach unten“ schieben&lt;br /&gt;
|-&lt;br /&gt;
| ENT ||  || Akkus schieben (ohne Al) A2-&amp;gt;A3, A3-&amp;gt;A4&lt;br /&gt;
|-&lt;br /&gt;
| LEAVE ||  || Akkus schieben (ohne Al) A4-&amp;gt;A3, A3-&amp;gt;A2&lt;br /&gt;
|-&lt;br /&gt;
| TAK ||  || Akku 1 und Akku 2 tauschen&lt;br /&gt;
|-&lt;br /&gt;
| TAW ||  || Akku 1 Bytes 0 und 1 tauschen&lt;br /&gt;
|-&lt;br /&gt;
| TAD ||  || Akku 1 alle Bytes tauschen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Shift and rotating instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Funktionsbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| SLW ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Schieben links wortweise&lt;br /&gt;
|-&lt;br /&gt;
| SLD ||  || Schieben links doppelwortweise&lt;br /&gt;
|-&lt;br /&gt;
| SRW ||  || Schieben rechts wortweise&lt;br /&gt;
|-&lt;br /&gt;
| SRD ||  || Schieben rechts doppelwortweise&lt;br /&gt;
|-&lt;br /&gt;
| SSI ||  || Schieben mit Vorzeichen wortweise&lt;br /&gt;
|-&lt;br /&gt;
| SSD ||  || Schieben mit Vorzeichen doppelwortweise&lt;br /&gt;
|-&lt;br /&gt;
| RLD ||  || Rotieren links doppelwortweise&lt;br /&gt;
|-&lt;br /&gt;
| RLDA ||  || Rotieren links durch Al&lt;br /&gt;
|-&lt;br /&gt;
| RRDA ||  || Rotieren rechts durch Al&lt;br /&gt;
|-&lt;br /&gt;
| RRD ||  || Rotieren rechts doppelwort­weise&lt;br /&gt;
|-&lt;br /&gt;
|  || konst || um feste Anzahl von Bits&lt;br /&gt;
|-&lt;br /&gt;
|  ||  || Schiebezahl im Akku 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Timer instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Funktionsbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| SI ||style=&amp;quot;width: 5em&amp;quot;| T ||style=&amp;quot;width: 22em&amp;quot;| Starten als Impuls&lt;br /&gt;
|-&lt;br /&gt;
| SV || T || Starten als verlängerter Impuls&lt;br /&gt;
|-&lt;br /&gt;
| SE || T || Starten als Einschaltverzögerung&lt;br /&gt;
|-&lt;br /&gt;
| SS || T || Starten als speichernde Einschaltverzögerung&lt;br /&gt;
|-&lt;br /&gt;
| SA || T || Starten als Ausschaltverzögerung&lt;br /&gt;
|-&lt;br /&gt;
| R || T || Zeitfunktion rücksetzen&lt;br /&gt;
|-&lt;br /&gt;
| FR || T || Zeitfunktion freigeben&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Counter instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Funktionsbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| ZV ||style=&amp;quot;width: 5em&amp;quot;| Z ||style=&amp;quot;width: 22em&amp;quot;| Zählfunktion vorwärtszählen&lt;br /&gt;
|-&lt;br /&gt;
| ZR || Z || Zählfunktion rückwärtszählen&lt;br /&gt;
|-&lt;br /&gt;
| S || Z || Zählfunktion setzen&lt;br /&gt;
|-&lt;br /&gt;
| R || Z || Zählfunktion rücksetzen&lt;br /&gt;
|-&lt;br /&gt;
| FR || Z || Zählfunktion freigeben&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Word instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Funktionsbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| UW ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| UND wortweise&lt;br /&gt;
|-&lt;br /&gt;
| UD ||  || UND doppelwortweise&lt;br /&gt;
|-&lt;br /&gt;
| OW ||  || ODER wortweise&lt;br /&gt;
|-&lt;br /&gt;
| OD ||  || ODER doppelwortweise&lt;br /&gt;
|-&lt;br /&gt;
| XOW ||  || Exklusiv-ODER wortweise&lt;br /&gt;
|-&lt;br /&gt;
| XOD ||  || Exklusiv-ODER doppelwortweise&lt;br /&gt;
|-&lt;br /&gt;
|  || konst || Mit einer Wort- bzw. Doppelwortkonstanten&lt;br /&gt;
|-&lt;br /&gt;
|  ||  || mit dem Inhalt von Akku 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Arithmetic instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Funktionsbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| ==I ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Integervergleich GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;I ||  || Integervergleich UNGLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;I ||  || Integervergleich GRÖSSER&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=I ||  || Integervergleich GRÖSSER GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;I ||  || Integervergleich KLEINER&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=I ||  || Integervergleich KLEINER GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| ==D ||  || Doppel-Integervergleich GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;D ||  || Doppel-Integervergleich UNGLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;D ||  || Doppel-Integervergleich GRÖSSER&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=D ||  || Doppel-Integervergleich GRÖSSER GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;D ||  || Doppel-Integervergleich KLEINER&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=D ||  || Doppel-Integervergleich KLEINER GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| ==R ||  || REAL-Zahl Vergleich GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;R ||  || REAL-Zahl Vergleich UNGLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;R ||  || REAL-Zahl Vergleich GRÖSSER&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=R ||  || REAL-Zahl Vergleich GRÖSSER GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;R ||  || REAL-Zahl Vergleich KLEINER&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=R ||  || REAL-Zahl Vergleich KLEINER GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| SIN ||  || Sinus&lt;br /&gt;
|-&lt;br /&gt;
| COS ||  || Cosinus&lt;br /&gt;
|-&lt;br /&gt;
| TAN ||  || Tangens&lt;br /&gt;
|-&lt;br /&gt;
| ASIN ||  || Arcussinus&lt;br /&gt;
|-&lt;br /&gt;
| ACOS ||  || Arcuscosinus&lt;br /&gt;
|-&lt;br /&gt;
| ATAN ||  || Arcustangens&lt;br /&gt;
|-&lt;br /&gt;
| SQR ||  || Quadrieren&lt;br /&gt;
|-&lt;br /&gt;
| SQRT ||  || Wurzel (Radizieren)&lt;br /&gt;
|-&lt;br /&gt;
| EXP ||  || Exponent zur Basis e&lt;br /&gt;
|-&lt;br /&gt;
| LN ||  || Natürlicher Logarithmus&lt;br /&gt;
|-&lt;br /&gt;
| +I ||  || Integer Addition&lt;br /&gt;
|-&lt;br /&gt;
| -I ||  || Integer Subtraktion&lt;br /&gt;
|-&lt;br /&gt;
| *I ||  || Integer Multiplikation&lt;br /&gt;
|-&lt;br /&gt;
| /I ||  || Integer Division&lt;br /&gt;
|-&lt;br /&gt;
| +D ||  || Doppel-Integer Addition&lt;br /&gt;
|-&lt;br /&gt;
| -D ||  || Doppel-Integer Subtraktion&lt;br /&gt;
|-&lt;br /&gt;
| *D ||  || Doppel-Integer Multiplikation&lt;br /&gt;
|-&lt;br /&gt;
| /D ||  || Doppel-Integer Division&lt;br /&gt;
|-&lt;br /&gt;
| +R ||  || Realzahl Addition&lt;br /&gt;
|-&lt;br /&gt;
| -R ||  || Realzahl Subtraktion&lt;br /&gt;
|-&lt;br /&gt;
| *R ||  || Realzahl Multiplikation&lt;br /&gt;
|-&lt;br /&gt;
| /R ||  || Realzahl Division&lt;br /&gt;
|-&lt;br /&gt;
| MOD ||  || Doppel-Integer Division (Rest)&lt;br /&gt;
|-&lt;br /&gt;
| + || konst || Addieren einer Konstante&lt;br /&gt;
|-&lt;br /&gt;
| +P# || konst || Addieren eines Zeigers&lt;br /&gt;
|-&lt;br /&gt;
| DEC ||  || Dekrementieren&lt;br /&gt;
|-&lt;br /&gt;
| INC ||  || Inkrementieren&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Data type conversion instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Funktionsbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| ITD ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Wandlung INT nach DINT&lt;br /&gt;
|-&lt;br /&gt;
| ITB ||  || Wandlung INT nach BCD&lt;br /&gt;
|-&lt;br /&gt;
| DTB ||  || Wandlung DINT nach BCD&lt;br /&gt;
|-&lt;br /&gt;
| DTR ||  || Wandlung DINT nach REAL&lt;br /&gt;
|-&lt;br /&gt;
| BTI ||  || Wandlung BCD nach INT&lt;br /&gt;
|-&lt;br /&gt;
| BTD ||  || Wandlung BCD nach DINT&lt;br /&gt;
|-&lt;br /&gt;
| RND ||  || Rundung zur nächsten ganzen Zahl&lt;br /&gt;
|-&lt;br /&gt;
| RND+ ||  || Rundung zur nächstgrößeren Zahl&lt;br /&gt;
|-&lt;br /&gt;
| RND- ||  || Rundung zur nächstkleineren Zahl&lt;br /&gt;
|-&lt;br /&gt;
| TRUNC ||  || ohne Rundung&lt;br /&gt;
|-&lt;br /&gt;
| INVI ||  || INT-Einerkomplement&lt;br /&gt;
|-&lt;br /&gt;
| INVD ||  || DINT-Einerkomplement&lt;br /&gt;
|-&lt;br /&gt;
| NEGI ||  || INT-Negation&lt;br /&gt;
|-&lt;br /&gt;
| NEGD ||  || DINT-Negation&lt;br /&gt;
|-&lt;br /&gt;
| NEGR ||  || REAL-Negation&lt;br /&gt;
|-&lt;br /&gt;
| ABS ||  || REAL-Betragsbildung&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Jump instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Funktionsbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| SPA ||style=&amp;quot;width: 5em&amp;quot;| Ziel ||style=&amp;quot;width: 22em&amp;quot;| Sprung absolut (unbedingt)&lt;br /&gt;
|-&lt;br /&gt;
| SPB || Ziel || Sprung wenn VKE = 1&lt;br /&gt;
|-&lt;br /&gt;
| SPBB || Ziel || Sprung wenn VKE = 1 (VKE speichern)&lt;br /&gt;
|-&lt;br /&gt;
| SPBN || Ziel || Sprung wenn VKE = 0&lt;br /&gt;
|-&lt;br /&gt;
| SPBNB || Ziel || Sprung wenn VKE = 0 (VKE speichern)&lt;br /&gt;
|-&lt;br /&gt;
| SPBI || Ziel || Sprung wenn BIE = 1&lt;br /&gt;
|-&lt;br /&gt;
| SPBIN || Ziel || Sprung wenn BIE = 0&lt;br /&gt;
|-&lt;br /&gt;
| SPZ || Ziel || Sprung bei Vergleichsergebnis = 0&lt;br /&gt;
|-&lt;br /&gt;
| SPN || Ziel || Sprung bei Vergleichsergebnis ≠ 0&lt;br /&gt;
|-&lt;br /&gt;
| SPP || Ziel || Sprung bei Vergleichsergebnis &amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| SPPZ || Ziel || Sprung bei Vergleichsergebnis &amp;gt;= 0&lt;br /&gt;
|-&lt;br /&gt;
| SPM || Ziel || Sprung bei Vergleichsergebnis &amp;lt; 0&lt;br /&gt;
|-&lt;br /&gt;
| SPMZ || Ziel || Sprung bei Vergleichsergebnis &amp;lt;= 0&lt;br /&gt;
|-&lt;br /&gt;
| SPU || Ziel || Sprung bei Vergleichsergebnis ungültig&lt;br /&gt;
|-&lt;br /&gt;
| SPO || Ziel || Sprung bei Overflow&lt;br /&gt;
|-&lt;br /&gt;
| SPS || Ziel || Sprung bei speicherndem Overflow&lt;br /&gt;
|-&lt;br /&gt;
| SPL || Ziel || Sprungverteiler&lt;br /&gt;
|-&lt;br /&gt;
| LOOP || Ziel || Schleife&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Block call instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Funktionsbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| CALL FB ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Sprung zum Funktionsbaustein&lt;br /&gt;
|-&lt;br /&gt;
| CALL FC ||  || Sprung zur Funktion&lt;br /&gt;
|-&lt;br /&gt;
| CALL SFB ||  || Sprung zum System-Funktionsbaustein&lt;br /&gt;
|-&lt;br /&gt;
| CALL SFC ||  || Sprung zur System-Funktion&lt;br /&gt;
|-&lt;br /&gt;
| UC FB ||  || Funktionsbaustein absolut aufrufen&lt;br /&gt;
|-&lt;br /&gt;
| CC FB ||  || Funktionsbaustein bedingt aufrufen&lt;br /&gt;
|-&lt;br /&gt;
| UC FC ||  || Funktion absolut aufrufen&lt;br /&gt;
|-&lt;br /&gt;
| CC FC ||  || Funktion bedingt aufrufen&lt;br /&gt;
|-&lt;br /&gt;
| BEA ||  || Bausteinende absolut&lt;br /&gt;
|-&lt;br /&gt;
| BEB ||  || Bausteinende bedingt&lt;br /&gt;
|-&lt;br /&gt;
| BE ||  || Bausteinende&lt;br /&gt;
|-&lt;br /&gt;
| AUF || DB || Datenbaustein öffnen&lt;br /&gt;
|-&lt;br /&gt;
|  || DI || Instanz-Datenbaustein öffnen&lt;br /&gt;
|-&lt;br /&gt;
| TDB ||  || Datenbausteinregister tauschen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Indirect adressing instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Funktionsbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| LAR1 ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AR1 laden&lt;br /&gt;
|-&lt;br /&gt;
| LAR2 ||  || AR2 laden&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || mit Merkerdoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || mit Lokaldatendoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || mit Datenbausteindoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || mit Instanz-Datenbausteindoppelwort&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 ||  || AR1 laden mit Inhalt aus Akku1&lt;br /&gt;
|-&lt;br /&gt;
| LAR2 ||  || AR2 laden mit Inhalt aus Akku1&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 || AR2 || AR1 laden mit Inhalt aus A2&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 || P# || AR1 laden mit Zeiger&lt;br /&gt;
|-&lt;br /&gt;
| LAR2 || P# || AR2 laden mit Zeiger&lt;br /&gt;
|-&lt;br /&gt;
| TAR1 ||  || Schreibe AR1&lt;br /&gt;
|-&lt;br /&gt;
| TAR2 ||  || Schreibe AR2&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || in Merkerdoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || in Lokaldatendoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || in Datenbausteindoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || in Instanz-Datenbausteindoppelwort&lt;br /&gt;
|-&lt;br /&gt;
| TAR1 ||  || Schreibe AR1 in Akku1&lt;br /&gt;
|-&lt;br /&gt;
| TAR2 ||  || Schreibe AR2 in Akku1&lt;br /&gt;
|-&lt;br /&gt;
| TAR1 || AR2 || AR1 nach AR2 transferieren&lt;br /&gt;
|-&lt;br /&gt;
| TAR ||  || AR1 mit AR2 tauschen&lt;br /&gt;
|-&lt;br /&gt;
| +AR1 ||  || Addiere Akku1 zu AR1&lt;br /&gt;
|-&lt;br /&gt;
| +AR2 ||  || Addiere Akku1 zu AR2&lt;br /&gt;
|-&lt;br /&gt;
| +AR1 || P# || Addiere Pointer zu AR1&lt;br /&gt;
|-&lt;br /&gt;
| +AR2 || P# || Addiere Pointer zu AR2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Program display and null operation instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Funktionsbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| NOP ||style=&amp;quot;width: 5em&amp;quot;| 0 ||style=&amp;quot;width: 22em&amp;quot;| Nulloperation&lt;br /&gt;
|-&lt;br /&gt;
| NOP || 1 || Nulloperation&lt;br /&gt;
|-&lt;br /&gt;
| BLD || konst || Bildaufbau&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Layout of &#039;&#039;S7-SoftPLC&#039;&#039; memory&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
 The memory of &#039;&#039;S7-SoftPLC 315&#039;&#039; and &#039;&#039;S7-SoftPLC 416&#039;&#039; is compatible to the memory of SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;-control S7-315 or S7-416.&amp;lt;br /&amp;gt;&lt;br /&gt;
 Please note, that the low-order byte has to be interchanged with the high-order byte when accessing this memory with Windows programs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Layout of SoftPLC system data&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
 The layout of the system data in the system data is compatible to the system data of SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;-control S7-315 or S7-416.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated organisation blocks&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
 The organisation blocks, listed in the chart below, are executed, if they are programmed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! OB-Nr !! Kurzbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:14em&amp;quot;| OB 1 ||style=&amp;quot;width:14em&amp;quot;| Hauptprogramm&lt;br /&gt;
|-&lt;br /&gt;
| OB 10 – OB 17 || Uhrzeitalarm&lt;br /&gt;
|-&lt;br /&gt;
| OB 20 – OB 23 || Verzögerungsalarm&lt;br /&gt;
|-&lt;br /&gt;
| OB 30 – OB 38 || Zeitbausteine (zyklischer Aufruf)&lt;br /&gt;
|-&lt;br /&gt;
| OB 80 – OB 87 || Fehlerbausteine&lt;br /&gt;
|-&lt;br /&gt;
| OB 90 || Hintergrundbearbeitung &lt;br /&gt;
|-&lt;br /&gt;
| OB 100/OB 101 || Neustart bzw. Wiederanlauf&lt;br /&gt;
|-&lt;br /&gt;
| OB 121/OB 122 || Programmierfehler&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated system functions&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
 All system functions (SFC) relevant for a Software PLC are integrated in &#039;&#039;S7-SoftPLC&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
 The chart below shows the available SFCs(in numeric listing)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! SFC-Nr !! SFC-Name !! Kurzbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:7em&amp;quot;| SFC 0 ||style=&amp;quot;width:8em&amp;quot;| SET_CLK || Setzen der Systemzeit&lt;br /&gt;
|-&lt;br /&gt;
| SFC 1 || READ_CLK || Lesen der Systemzeit&lt;br /&gt;
|-&lt;br /&gt;
| SFC 5  (3) || GADR_LGC || Logische Basisadresse einer Baugruppe ermitteln&lt;br /&gt;
|-&lt;br /&gt;
| SFC 6 || RD_SINFO || Startinformation des aktuellen OBs auslesen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 13 (1) || DPNRM_DG || Slave-Diagnose eines DP-Slaves&lt;br /&gt;
|-&lt;br /&gt;
| SFC 14 (2) || DPRD_DAT || Konsistente Daten eines DP-Normslaves lesen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 15 (2) || DPWR_DAT || Daten konsistent auf DP-Normslave schreiben&lt;br /&gt;
|-&lt;br /&gt;
| SFC 20 || BLKMOV || SPS-Variable in Zielbereich kopieren&lt;br /&gt;
|-&lt;br /&gt;
| SFC 21 || FILL || SPS-Variable in Zielbereich vorbesetzen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 22 || CREAT_DB || Anlegen von Datenbausteinen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 23 || DEL_DB || Datenbaustein löschen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 24 || TEST_DB || Attribute eines Datenbausteins testen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 25 || COMPRESS || Ladespeicher komprimieren&lt;br /&gt;
|-&lt;br /&gt;
| SFC 28 || SET_TINT || Stellen eines Uhrzeitalarms&lt;br /&gt;
|-&lt;br /&gt;
| SFC 29 || CAN_TINT || Uhrzeitalarm anhalten (nicht ausführen)&lt;br /&gt;
|-&lt;br /&gt;
| SFC 30 || ACT_TINT || Uhrzeitalarm freigeben&lt;br /&gt;
|-&lt;br /&gt;
| SFC 31 || QRY_TINT || Status des Uhrzeitalarms&lt;br /&gt;
|-&lt;br /&gt;
| SFC 32 || SRT_DINT || Starte Verzögerungsalarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 33 || CAN_DINT || Unterbreche Verzögerungsalarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 34 || QRY_DINT || Statusabfrage des Verzögerungsalarms&lt;br /&gt;
|-&lt;br /&gt;
| SFC 36 || MSK_FLT || Maskieren eines synchronen Fehlerereignisses&lt;br /&gt;
|-&lt;br /&gt;
| SFC 37 || DMSK_FLT || Demaskieren eines synchronen Fehlerereignisses&lt;br /&gt;
|-&lt;br /&gt;
| SFC 38 || READ_ERR || Auslesen des Ereignisstatusregister&lt;br /&gt;
|-&lt;br /&gt;
| SFC 39 || DIS_IRT || Sperren der Asynchron- und Alarmfehlerbearbeitung&lt;br /&gt;
|-&lt;br /&gt;
| SFC 40 || EN_IRT || Freigeben der Asynchron- und Alarmfehlerbearbeitung&lt;br /&gt;
|-&lt;br /&gt;
| SFC 41 || DIS_AIRT || Verzögerung höherpriorer Asynchron- und Alarmfehlerbearbeitung&lt;br /&gt;
|-&lt;br /&gt;
| SFC 42 || EN_AIRT || Freigabe höherpriorer Asynchron- und Alarmfehlerbearbeitung&lt;br /&gt;
|-&lt;br /&gt;
| SFC 43 || RE_TRIGR || Nachtriggern des Watchdogs&lt;br /&gt;
|-&lt;br /&gt;
| SFC 46 || STP || CPU Betriebszustand STOP&lt;br /&gt;
|-&lt;br /&gt;
| SFC 49 (3) || LGC_GADR || Ermitteln des Steckplatzes einer logischen Adresse&lt;br /&gt;
|-&lt;br /&gt;
| SFC 50 (3) || RD_LAGADR || Ermitteln aller logischer Adressen einer Baugruppe&lt;br /&gt;
|-&lt;br /&gt;
| SFC 51 || RDSYST || Systemzustandsliste (SZL) auslesen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 64 || TIME_TCK || Timer Tick&lt;br /&gt;
|-&lt;br /&gt;
| SFC 81 || UBLKMOV || Block Move der nicht unterbrochen werden kann&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1)The SFC 13 is available only, when the driver Cifcfg.dll is loaded. Furthermore it can only return valid results, if the PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; configuration has been created via the &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; hardware configuration or the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration. This is only possible when using the driver CIFCFG.DLL.&amp;lt;br /&amp;gt;&lt;br /&gt;
 2)The SFC 14 and SFC 15 are available only, if they are loaded via the driver CIF30D0.DLL or the driver CIFCFG.DLL.&amp;lt;br /&amp;gt;&lt;br /&gt;
 3)The SFCs can only return valid results, if the PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 configuration has been created via the &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration or the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration. This is only possible when using the driver CIFCFG.DLL.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated system blocks&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
 The system blocks (SFB) relevant for a software PLC are integrated in &#039;&#039;S7-SoftPLC&#039;&#039;. &amp;lt;br /&amp;gt;&lt;br /&gt;
 The following system function blocks are supported:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! SFB-Nr !! SFB-Name !! Kurzbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:7em&amp;quot;| SFB 0 ||style=&amp;quot;width:7em&amp;quot;| CTU || Vorwärtszähler (Counter Up)&lt;br /&gt;
|-&lt;br /&gt;
| SFB 1 || CTD || Rückwärtszähler (Counter Down)&lt;br /&gt;
|-&lt;br /&gt;
| SFB 2 || CTUD || Vorwärts- und Rückwärtszähler&lt;br /&gt;
|-&lt;br /&gt;
| SFB 3 || TP || Zeitimpuls&lt;br /&gt;
|-&lt;br /&gt;
| SFB 4 || TON || Einschaltverzögerung&lt;br /&gt;
|-&lt;br /&gt;
| SFB 5 || TOF || Ausschaltverzögerung&lt;br /&gt;
|-&lt;br /&gt;
| SFB 32 || DRUM || Schaltwerk zur Steuerung von Schrittketten&lt;br /&gt;
|-&lt;br /&gt;
| SFB 52 (4) || RDREC_DP || Datensatz lesen&lt;br /&gt;
|-&lt;br /&gt;
| SFB 53 (4) || WRREC_DP || Datensatz schreiben&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4)The SFB 52 and SFB 53 are only available if the driver CIFCFG.DLL is loaded and the entry DPV1=1 is set.&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Instruction_set&amp;diff=1143</id>
		<title>S7-SoftPLC:Instruction set</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Instruction_set&amp;diff=1143"/>
		<updated>2013-01-23T10:49:41Z</updated>

		<summary type="html">&lt;p&gt;Jonas: Created page with &amp;quot;The programming language of the IBH&amp;#039;&amp;#039;softec&amp;#039;&amp;#039; &amp;#039;&amp;#039;S7-SoftPLC 315&amp;#039;&amp;#039;and &amp;#039;&amp;#039;S7-SoftPLC 416&amp;#039;&amp;#039; controls is STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 and can be made with the programming tools &amp;#039;&amp;#039;S7 for Windo...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The programming language of the IBH&#039;&#039;softec&#039;&#039; &#039;&#039;S7-SoftPLC 315&#039;&#039;and &#039;&#039;S7-SoftPLC 416&#039;&#039; controls is STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 and can be made with the programming tools &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; or STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 from Siemens. The complete instruction set of the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 language is supported.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;S7-SoftPLC 315&#039;&#039; has the complete instruction set of the SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; S7-315 CPU.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;S7-SoftPLC 416&#039;&#039; has the complete instruction set of the SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; S7-416 CPU.&lt;br /&gt;
&lt;br /&gt;
== Bit logic instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation !! Operand !! Funktionsbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| U ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| UND mit Abfrage auf ,,1“&lt;br /&gt;
|-&lt;br /&gt;
| UN ||  || UND mit Abfrage auf ,,0“&lt;br /&gt;
|-&lt;br /&gt;
| O ||  || ODER mit Abfrage auf ,,1“&lt;br /&gt;
|-&lt;br /&gt;
| ON ||  || ODER mit Abfrage auf ,,0“&lt;br /&gt;
|-&lt;br /&gt;
| X ||  || Exklusiv-ODER mit Abfrage auf ,,1“&lt;br /&gt;
|-&lt;br /&gt;
| XN ||  || Exklusiv-ODER mit Abfrage auf ,,0“&lt;br /&gt;
|-&lt;br /&gt;
|  || E || eines Eingangs&lt;br /&gt;
|-&lt;br /&gt;
|  || A || eines Ausgangs&lt;br /&gt;
|-&lt;br /&gt;
|  || M || eines Merkers&lt;br /&gt;
|-&lt;br /&gt;
|  || L || eines Lokaldatenbits&lt;br /&gt;
|-&lt;br /&gt;
|  || T || einer Zeitfunktion&lt;br /&gt;
|-&lt;br /&gt;
|  || Z || einer Zählfunktion&lt;br /&gt;
|-&lt;br /&gt;
|  || DBX || eines Globaldatenbits&lt;br /&gt;
|-&lt;br /&gt;
|  || DIX || eines Instanzdatenbits&lt;br /&gt;
|-&lt;br /&gt;
| ==0 ||  || Ergebnis gleich Null&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;0 ||  || Ergebnis ungleich Null&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;0 ||  || Ergebnis größer Null&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=0 ||  || Ergebnis größer-gleich Null&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;0 ||  || Ergebnis kleiner Null&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=0 ||  || Ergebnis kleiner-gleich Null&lt;br /&gt;
|-&lt;br /&gt;
| UO ||  || ungültiges Ergebnis&lt;br /&gt;
|-&lt;br /&gt;
| OV ||  || Overflow&lt;br /&gt;
|-&lt;br /&gt;
| OS ||  || Überlauf (speichernd)&lt;br /&gt;
|-&lt;br /&gt;
| BIE ||  || Binärergebnis&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other boolean logic instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation !! Operand !! Funktionsbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| U( ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| UND Klammer auf&lt;br /&gt;
|-&lt;br /&gt;
| UN( ||  || UND-NICHT Klammer auf&lt;br /&gt;
|-&lt;br /&gt;
| O( ||  || ODER Klammer auf&lt;br /&gt;
|-&lt;br /&gt;
| ON( ||  || ODER-NICHT Klammer auf&lt;br /&gt;
|-&lt;br /&gt;
| X( ||  || Exklusiv-ODER Klammer auf&lt;br /&gt;
|-&lt;br /&gt;
| XN( ||  || Exklusiv-ODER-NICHT Klammer auf&lt;br /&gt;
|-&lt;br /&gt;
| ) ||  || Klammer zu&lt;br /&gt;
|-&lt;br /&gt;
| O ||  || ODER-Verknüpfung von UND&lt;br /&gt;
|-&lt;br /&gt;
| NOT ||  || VKE negieren&lt;br /&gt;
|-&lt;br /&gt;
| SET ||  || VKE setzen&lt;br /&gt;
|-&lt;br /&gt;
| CLR ||  || VKE rücksetzen&lt;br /&gt;
|-&lt;br /&gt;
| SAVE ||  || VKE ins BIE retten&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Funktionsbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| = ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Zuweisung&lt;br /&gt;
|-&lt;br /&gt;
| S ||  || Setze&lt;br /&gt;
|-&lt;br /&gt;
| R ||  || Rücksetze&lt;br /&gt;
|-&lt;br /&gt;
| FP ||  || Positive Flanke&lt;br /&gt;
|-&lt;br /&gt;
| FN ||  || Negative Flanke&lt;br /&gt;
|-&lt;br /&gt;
|  || E || eines Eingangsbits&lt;br /&gt;
|-&lt;br /&gt;
|  || A || eines Ausgangsbits&lt;br /&gt;
|-&lt;br /&gt;
|  || M || eines Merkerbits&lt;br /&gt;
|-&lt;br /&gt;
|  || L || eines Lokaldatenbits&lt;br /&gt;
|-&lt;br /&gt;
|  || DBX || eines Datenbits&lt;br /&gt;
|-&lt;br /&gt;
|  || DIX || eines Instanz-Datenbits&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Master Control Relay ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Funktionsbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| MCRA ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| MCR-Bereich aktivieren&lt;br /&gt;
|-&lt;br /&gt;
| MCRD ||  || MCR-Bereich deaktivieren&lt;br /&gt;
|-&lt;br /&gt;
| MCR( ||  || MCR-Zone öffnen&lt;br /&gt;
|-&lt;br /&gt;
| )MCR ||  || MCR-Zone schließen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Load / Transfer instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Funktionsbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| L ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Operand laden&lt;br /&gt;
|-&lt;br /&gt;
| T ||  || Operand transferieren&lt;br /&gt;
|-&lt;br /&gt;
|  || EB || Eingangsbyte&lt;br /&gt;
|-&lt;br /&gt;
|  || EW || Eingangswort&lt;br /&gt;
|-&lt;br /&gt;
|  || ED || Eingangsdoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || AB || Ausgangsbyte&lt;br /&gt;
|-&lt;br /&gt;
|  || AW || Ausgangswort&lt;br /&gt;
|-&lt;br /&gt;
|  || AD || Ausgangsdoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || MB || Merkerbyte&lt;br /&gt;
|-&lt;br /&gt;
|  || MW || Merkerwort&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || Merkerdoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || LB || Lokaldatenbyte&lt;br /&gt;
|-&lt;br /&gt;
|  || LW || Lokaldatenwort&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || Lokaldatendoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || DBB || Datenbausteinbyte&lt;br /&gt;
|-&lt;br /&gt;
|  || DBW || Datenbausteinwort&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || Datenbausteindoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || DIB || Instanz-Datenbausteinbyte&lt;br /&gt;
|-&lt;br /&gt;
|  || DIW || Instanz-Datenbausteinwort&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || Instanz-Datenbausteindoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || STW || Statuswort&lt;br /&gt;
|-&lt;br /&gt;
| L || konst || Laden einer Konstanten&lt;br /&gt;
|-&lt;br /&gt;
| L || #Pointer || Laden eines Zeigers&lt;br /&gt;
|-&lt;br /&gt;
| L || T || Zeitwert&lt;br /&gt;
|-&lt;br /&gt;
| LC || T || Zeitwert (BCD codiert)&lt;br /&gt;
|-&lt;br /&gt;
| L || Z || Zähler&lt;br /&gt;
|-&lt;br /&gt;
| LC || Z || Zähler (BCD codiert)&lt;br /&gt;
|-&lt;br /&gt;
| L || DBNO || Lade Datenbausteinnummer&lt;br /&gt;
|-&lt;br /&gt;
| L || DBLG || Lade Datenbausteinlänge&lt;br /&gt;
|-&lt;br /&gt;
| L || DINO || Lade Datenbausteinnummer (Instanz-DB)&lt;br /&gt;
|-&lt;br /&gt;
| L || DILG || Lade Datenbausteinlänge (Instanz-DB)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Peripheral access instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Funktionsbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| L ||style=&amp;quot;width: 5em&amp;quot;| PEB ||style=&amp;quot;width: 22em&amp;quot;| Peripherieeingangsbyte&lt;br /&gt;
|-&lt;br /&gt;
| L || PEW || Peripherieeingangswort&lt;br /&gt;
|-&lt;br /&gt;
| L || PED || Peripherieeingangsdoppelwort&lt;br /&gt;
|-&lt;br /&gt;
| T || PAB || Peripherieausgangsbyte&lt;br /&gt;
|-&lt;br /&gt;
| T || PAW || Peripherieausgangswort&lt;br /&gt;
|-&lt;br /&gt;
| T || PAD || Peripherieausgangsdoppelwort&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Accumulator instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Funktionsbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| PUSH ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Akkus ,,nach oben“ schieben&lt;br /&gt;
|-&lt;br /&gt;
| POP ||  || Akkus ,,nach unten“ schieben&lt;br /&gt;
|-&lt;br /&gt;
| ENT ||  || Akkus schieben (ohne Al) A2-&amp;gt;A3, A3-&amp;gt;A4&lt;br /&gt;
|-&lt;br /&gt;
| LEAVE ||  || Akkus schieben (ohne Al) A4-&amp;gt;A3, A3-&amp;gt;A2&lt;br /&gt;
|-&lt;br /&gt;
| TAK ||  || Akku 1 und Akku 2 tauschen&lt;br /&gt;
|-&lt;br /&gt;
| TAW ||  || Akku 1 Bytes 0 und 1 tauschen&lt;br /&gt;
|-&lt;br /&gt;
| TAD ||  || Akku 1 alle Bytes tauschen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Shift and rotating instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Funktionsbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| SLW ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Schieben links wortweise&lt;br /&gt;
|-&lt;br /&gt;
| SLD ||  || Schieben links doppelwortweise&lt;br /&gt;
|-&lt;br /&gt;
| SRW ||  || Schieben rechts wortweise&lt;br /&gt;
|-&lt;br /&gt;
| SRD ||  || Schieben rechts doppelwortweise&lt;br /&gt;
|-&lt;br /&gt;
| SSI ||  || Schieben mit Vorzeichen wortweise&lt;br /&gt;
|-&lt;br /&gt;
| SSD ||  || Schieben mit Vorzeichen doppelwortweise&lt;br /&gt;
|-&lt;br /&gt;
| RLD ||  || Rotieren links doppelwortweise&lt;br /&gt;
|-&lt;br /&gt;
| RLDA ||  || Rotieren links durch Al&lt;br /&gt;
|-&lt;br /&gt;
| RRDA ||  || Rotieren rechts durch Al&lt;br /&gt;
|-&lt;br /&gt;
| RRD ||  || Rotieren rechts doppelwort­weise&lt;br /&gt;
|-&lt;br /&gt;
|  || konst || um feste Anzahl von Bits&lt;br /&gt;
|-&lt;br /&gt;
|  ||  || Schiebezahl im Akku 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Timer instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Funktionsbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| SI ||style=&amp;quot;width: 5em&amp;quot;| T ||style=&amp;quot;width: 22em&amp;quot;| Starten als Impuls&lt;br /&gt;
|-&lt;br /&gt;
| SV || T || Starten als verlängerter Impuls&lt;br /&gt;
|-&lt;br /&gt;
| SE || T || Starten als Einschaltverzögerung&lt;br /&gt;
|-&lt;br /&gt;
| SS || T || Starten als speichernde Einschaltverzögerung&lt;br /&gt;
|-&lt;br /&gt;
| SA || T || Starten als Ausschaltverzögerung&lt;br /&gt;
|-&lt;br /&gt;
| R || T || Zeitfunktion rücksetzen&lt;br /&gt;
|-&lt;br /&gt;
| FR || T || Zeitfunktion freigeben&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Counter instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Funktionsbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| ZV ||style=&amp;quot;width: 5em&amp;quot;| Z ||style=&amp;quot;width: 22em&amp;quot;| Zählfunktion vorwärtszählen&lt;br /&gt;
|-&lt;br /&gt;
| ZR || Z || Zählfunktion rückwärtszählen&lt;br /&gt;
|-&lt;br /&gt;
| S || Z || Zählfunktion setzen&lt;br /&gt;
|-&lt;br /&gt;
| R || Z || Zählfunktion rücksetzen&lt;br /&gt;
|-&lt;br /&gt;
| FR || Z || Zählfunktion freigeben&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Word instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Funktionsbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| UW ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| UND wortweise&lt;br /&gt;
|-&lt;br /&gt;
| UD ||  || UND doppelwortweise&lt;br /&gt;
|-&lt;br /&gt;
| OW ||  || ODER wortweise&lt;br /&gt;
|-&lt;br /&gt;
| OD ||  || ODER doppelwortweise&lt;br /&gt;
|-&lt;br /&gt;
| XOW ||  || Exklusiv-ODER wortweise&lt;br /&gt;
|-&lt;br /&gt;
| XOD ||  || Exklusiv-ODER doppelwortweise&lt;br /&gt;
|-&lt;br /&gt;
|  || konst || Mit einer Wort- bzw. Doppelwortkonstanten&lt;br /&gt;
|-&lt;br /&gt;
|  ||  || mit dem Inhalt von Akku 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Arithmetic instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Funktionsbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| ==I ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Integervergleich GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;I ||  || Integervergleich UNGLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;I ||  || Integervergleich GRÖSSER&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=I ||  || Integervergleich GRÖSSER GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;I ||  || Integervergleich KLEINER&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=I ||  || Integervergleich KLEINER GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| ==D ||  || Doppel-Integervergleich GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;D ||  || Doppel-Integervergleich UNGLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;D ||  || Doppel-Integervergleich GRÖSSER&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=D ||  || Doppel-Integervergleich GRÖSSER GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;D ||  || Doppel-Integervergleich KLEINER&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=D ||  || Doppel-Integervergleich KLEINER GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| ==R ||  || REAL-Zahl Vergleich GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;&amp;gt;R ||  || REAL-Zahl Vergleich UNGLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;R ||  || REAL-Zahl Vergleich GRÖSSER&lt;br /&gt;
|-&lt;br /&gt;
| &amp;gt;=R ||  || REAL-Zahl Vergleich GRÖSSER GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;R ||  || REAL-Zahl Vergleich KLEINER&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;=R ||  || REAL-Zahl Vergleich KLEINER GLEICH&lt;br /&gt;
|-&lt;br /&gt;
| SIN ||  || Sinus&lt;br /&gt;
|-&lt;br /&gt;
| COS ||  || Cosinus&lt;br /&gt;
|-&lt;br /&gt;
| TAN ||  || Tangens&lt;br /&gt;
|-&lt;br /&gt;
| ASIN ||  || Arcussinus&lt;br /&gt;
|-&lt;br /&gt;
| ACOS ||  || Arcuscosinus&lt;br /&gt;
|-&lt;br /&gt;
| ATAN ||  || Arcustangens&lt;br /&gt;
|-&lt;br /&gt;
| SQR ||  || Quadrieren&lt;br /&gt;
|-&lt;br /&gt;
| SQRT ||  || Wurzel (Radizieren)&lt;br /&gt;
|-&lt;br /&gt;
| EXP ||  || Exponent zur Basis e&lt;br /&gt;
|-&lt;br /&gt;
| LN ||  || Natürlicher Logarithmus&lt;br /&gt;
|-&lt;br /&gt;
| +I ||  || Integer Addition&lt;br /&gt;
|-&lt;br /&gt;
| -I ||  || Integer Subtraktion&lt;br /&gt;
|-&lt;br /&gt;
| *I ||  || Integer Multiplikation&lt;br /&gt;
|-&lt;br /&gt;
| /I ||  || Integer Division&lt;br /&gt;
|-&lt;br /&gt;
| +D ||  || Doppel-Integer Addition&lt;br /&gt;
|-&lt;br /&gt;
| -D ||  || Doppel-Integer Subtraktion&lt;br /&gt;
|-&lt;br /&gt;
| *D ||  || Doppel-Integer Multiplikation&lt;br /&gt;
|-&lt;br /&gt;
| /D ||  || Doppel-Integer Division&lt;br /&gt;
|-&lt;br /&gt;
| +R ||  || Realzahl Addition&lt;br /&gt;
|-&lt;br /&gt;
| -R ||  || Realzahl Subtraktion&lt;br /&gt;
|-&lt;br /&gt;
| *R ||  || Realzahl Multiplikation&lt;br /&gt;
|-&lt;br /&gt;
| /R ||  || Realzahl Division&lt;br /&gt;
|-&lt;br /&gt;
| MOD ||  || Doppel-Integer Division (Rest)&lt;br /&gt;
|-&lt;br /&gt;
| + || konst || Addieren einer Konstante&lt;br /&gt;
|-&lt;br /&gt;
| +P# || konst || Addieren eines Zeigers&lt;br /&gt;
|-&lt;br /&gt;
| DEC ||  || Dekrementieren&lt;br /&gt;
|-&lt;br /&gt;
| INC ||  || Inkrementieren&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Data type conversion instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Funktionsbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| ITD ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Wandlung INT nach DINT&lt;br /&gt;
|-&lt;br /&gt;
| ITB ||  || Wandlung INT nach BCD&lt;br /&gt;
|-&lt;br /&gt;
| DTB ||  || Wandlung DINT nach BCD&lt;br /&gt;
|-&lt;br /&gt;
| DTR ||  || Wandlung DINT nach REAL&lt;br /&gt;
|-&lt;br /&gt;
| BTI ||  || Wandlung BCD nach INT&lt;br /&gt;
|-&lt;br /&gt;
| BTD ||  || Wandlung BCD nach DINT&lt;br /&gt;
|-&lt;br /&gt;
| RND ||  || Rundung zur nächsten ganzen Zahl&lt;br /&gt;
|-&lt;br /&gt;
| RND+ ||  || Rundung zur nächstgrößeren Zahl&lt;br /&gt;
|-&lt;br /&gt;
| RND- ||  || Rundung zur nächstkleineren Zahl&lt;br /&gt;
|-&lt;br /&gt;
| TRUNC ||  || ohne Rundung&lt;br /&gt;
|-&lt;br /&gt;
| INVI ||  || INT-Einerkomplement&lt;br /&gt;
|-&lt;br /&gt;
| INVD ||  || DINT-Einerkomplement&lt;br /&gt;
|-&lt;br /&gt;
| NEGI ||  || INT-Negation&lt;br /&gt;
|-&lt;br /&gt;
| NEGD ||  || DINT-Negation&lt;br /&gt;
|-&lt;br /&gt;
| NEGR ||  || REAL-Negation&lt;br /&gt;
|-&lt;br /&gt;
| ABS ||  || REAL-Betragsbildung&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Jump instructions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Funktionsbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| SPA ||style=&amp;quot;width: 5em&amp;quot;| Ziel ||style=&amp;quot;width: 22em&amp;quot;| Sprung absolut (unbedingt)&lt;br /&gt;
|-&lt;br /&gt;
| SPB || Ziel || Sprung wenn VKE = 1&lt;br /&gt;
|-&lt;br /&gt;
| SPBB || Ziel || Sprung wenn VKE = 1 (VKE speichern)&lt;br /&gt;
|-&lt;br /&gt;
| SPBN || Ziel || Sprung wenn VKE = 0&lt;br /&gt;
|-&lt;br /&gt;
| SPBNB || Ziel || Sprung wenn VKE = 0 (VKE speichern)&lt;br /&gt;
|-&lt;br /&gt;
| SPBI || Ziel || Sprung wenn BIE = 1&lt;br /&gt;
|-&lt;br /&gt;
| SPBIN || Ziel || Sprung wenn BIE = 0&lt;br /&gt;
|-&lt;br /&gt;
| SPZ || Ziel || Sprung bei Vergleichsergebnis = 0&lt;br /&gt;
|-&lt;br /&gt;
| SPN || Ziel || Sprung bei Vergleichsergebnis ≠ 0&lt;br /&gt;
|-&lt;br /&gt;
| SPP || Ziel || Sprung bei Vergleichsergebnis &amp;gt; 0&lt;br /&gt;
|-&lt;br /&gt;
| SPPZ || Ziel || Sprung bei Vergleichsergebnis &amp;gt;= 0&lt;br /&gt;
|-&lt;br /&gt;
| SPM || Ziel || Sprung bei Vergleichsergebnis &amp;lt; 0&lt;br /&gt;
|-&lt;br /&gt;
| SPMZ || Ziel || Sprung bei Vergleichsergebnis &amp;lt;= 0&lt;br /&gt;
|-&lt;br /&gt;
| SPU || Ziel || Sprung bei Vergleichsergebnis ungültig&lt;br /&gt;
|-&lt;br /&gt;
| SPO || Ziel || Sprung bei Overflow&lt;br /&gt;
|-&lt;br /&gt;
| SPS || Ziel || Sprung bei speicherndem Overflow&lt;br /&gt;
|-&lt;br /&gt;
| SPL || Ziel || Sprungverteiler&lt;br /&gt;
|-&lt;br /&gt;
| LOOP || Ziel || Schleife&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Block call instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Funktionsbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| CALL FB ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| Sprung zum Funktionsbaustein&lt;br /&gt;
|-&lt;br /&gt;
| CALL FC ||  || Sprung zur Funktion&lt;br /&gt;
|-&lt;br /&gt;
| CALL SFB ||  || Sprung zum System-Funktionsbaustein&lt;br /&gt;
|-&lt;br /&gt;
| CALL SFC ||  || Sprung zur System-Funktion&lt;br /&gt;
|-&lt;br /&gt;
| UC FB ||  || Funktionsbaustein absolut aufrufen&lt;br /&gt;
|-&lt;br /&gt;
| CC FB ||  || Funktionsbaustein bedingt aufrufen&lt;br /&gt;
|-&lt;br /&gt;
| UC FC ||  || Funktion absolut aufrufen&lt;br /&gt;
|-&lt;br /&gt;
| CC FC ||  || Funktion bedingt aufrufen&lt;br /&gt;
|-&lt;br /&gt;
| BEA ||  || Bausteinende absolut&lt;br /&gt;
|-&lt;br /&gt;
| BEB ||  || Bausteinende bedingt&lt;br /&gt;
|-&lt;br /&gt;
| BE ||  || Bausteinende&lt;br /&gt;
|-&lt;br /&gt;
| AUF || DB || Datenbaustein öffnen&lt;br /&gt;
|-&lt;br /&gt;
|  || DI || Instanz-Datenbaustein öffnen&lt;br /&gt;
|-&lt;br /&gt;
| TDB ||  || Datenbausteinregister tauschen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Indirect adressing instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Funktionsbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| LAR1 ||style=&amp;quot;width: 5em&amp;quot;|  ||style=&amp;quot;width: 22em&amp;quot;| AR1 laden&lt;br /&gt;
|-&lt;br /&gt;
| LAR2 ||  || AR2 laden&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || mit Merkerdoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || mit Lokaldatendoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || mit Datenbausteindoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || mit Instanz-Datenbausteindoppelwort&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 ||  || AR1 laden mit Inhalt aus Akku1&lt;br /&gt;
|-&lt;br /&gt;
| LAR2 ||  || AR2 laden mit Inhalt aus Akku1&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 || AR2 || AR1 laden mit Inhalt aus A2&lt;br /&gt;
|-&lt;br /&gt;
| LAR1 || P# || AR1 laden mit Zeiger&lt;br /&gt;
|-&lt;br /&gt;
| LAR2 || P# || AR2 laden mit Zeiger&lt;br /&gt;
|-&lt;br /&gt;
| TAR1 ||  || Schreibe AR1&lt;br /&gt;
|-&lt;br /&gt;
| TAR2 ||  || Schreibe AR2&lt;br /&gt;
|-&lt;br /&gt;
|  || MD || in Merkerdoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || LD || in Lokaldatendoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || DBD || in Datenbausteindoppelwort&lt;br /&gt;
|-&lt;br /&gt;
|  || DID || in Instanz-Datenbausteindoppelwort&lt;br /&gt;
|-&lt;br /&gt;
| TAR1 ||  || Schreibe AR1 in Akku1&lt;br /&gt;
|-&lt;br /&gt;
| TAR2 ||  || Schreibe AR2 in Akku1&lt;br /&gt;
|-&lt;br /&gt;
| TAR1 || AR2 || AR1 nach AR2 transferieren&lt;br /&gt;
|-&lt;br /&gt;
| TAR ||  || AR1 mit AR2 tauschen&lt;br /&gt;
|-&lt;br /&gt;
| +AR1 ||  || Addiere Akku1 zu AR1&lt;br /&gt;
|-&lt;br /&gt;
| +AR2 ||  || Addiere Akku1 zu AR2&lt;br /&gt;
|-&lt;br /&gt;
| +AR1 || P# || Addiere Pointer zu AR1&lt;br /&gt;
|-&lt;br /&gt;
| +AR2 || P# || Addiere Pointer zu AR2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Program display and null operation instructions ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operation  !! Operand !! Funktionsbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 5em&amp;quot;| NOP ||style=&amp;quot;width: 5em&amp;quot;| 0 ||style=&amp;quot;width: 22em&amp;quot;| Nulloperation&lt;br /&gt;
|-&lt;br /&gt;
| NOP || 1 || Nulloperation&lt;br /&gt;
|-&lt;br /&gt;
| BLD || konst || Bildaufbau&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Layout of &#039;&#039;S7-SoftPLC&#039;&#039; memory&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
 The memory of &#039;&#039;S7-SoftPLC 315&#039;&#039; and &#039;&#039;S7-SoftPLC 416&#039;&#039; is compatible to the memory of SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;-control S7-315 or S7-416.&amp;lt;br /&amp;gt;&lt;br /&gt;
 Please note, that the low-order byte has to be interchanged with the high-order byte when accessing this memory with Windows programs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Layout of SoftPLC system data&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
 The layout of the system data in the system data is compatible to the system data of SIMATIC&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;-control S7-315 or S7-416.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated organisation blocks&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
 The organisation blocks, listed in the chart below, are executed, if they are programmed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! OB-Nr !! Kurzbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:14em&amp;quot;| OB 1 ||style=&amp;quot;width:14em&amp;quot;| Hauptprogramm&lt;br /&gt;
|-&lt;br /&gt;
| OB 10 – OB 17 || Uhrzeitalarm&lt;br /&gt;
|-&lt;br /&gt;
| OB 20 – OB 23 || Verzögerungsalarm&lt;br /&gt;
|-&lt;br /&gt;
| OB 30 – OB 38 || Zeitbausteine (zyklischer Aufruf)&lt;br /&gt;
|-&lt;br /&gt;
| OB 80 – OB 87 || Fehlerbausteine&lt;br /&gt;
|-&lt;br /&gt;
| OB 90 || Hintergrundbearbeitung &lt;br /&gt;
|-&lt;br /&gt;
| OB 100/OB 101 || Neustart bzw. Wiederanlauf&lt;br /&gt;
|-&lt;br /&gt;
| OB 121/OB 122 || Programmierfehler&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated system functions&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
 All system functions (SFC) relevant for a Software PLC are integrated in &#039;&#039;S7-SoftPLC&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
 The chart below shows the available SFCs(in numeric listing)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! SFC-Nr !! SFC-Name !! Kurzbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:7em&amp;quot;| SFC 0 ||style=&amp;quot;width:8em&amp;quot;| SET_CLK || Setzen der Systemzeit&lt;br /&gt;
|-&lt;br /&gt;
| SFC 1 || READ_CLK || Lesen der Systemzeit&lt;br /&gt;
|-&lt;br /&gt;
| SFC 5  (3) || GADR_LGC || Logische Basisadresse einer Baugruppe ermitteln&lt;br /&gt;
|-&lt;br /&gt;
| SFC 6 || RD_SINFO || Startinformation des aktuellen OBs auslesen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 13 (1) || DPNRM_DG || Slave-Diagnose eines DP-Slaves&lt;br /&gt;
|-&lt;br /&gt;
| SFC 14 (2) || DPRD_DAT || Konsistente Daten eines DP-Normslaves lesen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 15 (2) || DPWR_DAT || Daten konsistent auf DP-Normslave schreiben&lt;br /&gt;
|-&lt;br /&gt;
| SFC 20 || BLKMOV || SPS-Variable in Zielbereich kopieren&lt;br /&gt;
|-&lt;br /&gt;
| SFC 21 || FILL || SPS-Variable in Zielbereich vorbesetzen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 22 || CREAT_DB || Anlegen von Datenbausteinen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 23 || DEL_DB || Datenbaustein löschen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 24 || TEST_DB || Attribute eines Datenbausteins testen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 25 || COMPRESS || Ladespeicher komprimieren&lt;br /&gt;
|-&lt;br /&gt;
| SFC 28 || SET_TINT || Stellen eines Uhrzeitalarms&lt;br /&gt;
|-&lt;br /&gt;
| SFC 29 || CAN_TINT || Uhrzeitalarm anhalten (nicht ausführen)&lt;br /&gt;
|-&lt;br /&gt;
| SFC 30 || ACT_TINT || Uhrzeitalarm freigeben&lt;br /&gt;
|-&lt;br /&gt;
| SFC 31 || QRY_TINT || Status des Uhrzeitalarms&lt;br /&gt;
|-&lt;br /&gt;
| SFC 32 || SRT_DINT || Starte Verzögerungsalarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 33 || CAN_DINT || Unterbreche Verzögerungsalarm&lt;br /&gt;
|-&lt;br /&gt;
| SFC 34 || QRY_DINT || Statusabfrage des Verzögerungsalarms&lt;br /&gt;
|-&lt;br /&gt;
| SFC 36 || MSK_FLT || Maskieren eines synchronen Fehlerereignisses&lt;br /&gt;
|-&lt;br /&gt;
| SFC 37 || DMSK_FLT || Demaskieren eines synchronen Fehlerereignisses&lt;br /&gt;
|-&lt;br /&gt;
| SFC 38 || READ_ERR || Auslesen des Ereignisstatusregister&lt;br /&gt;
|-&lt;br /&gt;
| SFC 39 || DIS_IRT || Sperren der Asynchron- und Alarmfehlerbearbeitung&lt;br /&gt;
|-&lt;br /&gt;
| SFC 40 || EN_IRT || Freigeben der Asynchron- und Alarmfehlerbearbeitung&lt;br /&gt;
|-&lt;br /&gt;
| SFC 41 || DIS_AIRT || Verzögerung höherpriorer Asynchron- und Alarmfehlerbearbeitung&lt;br /&gt;
|-&lt;br /&gt;
| SFC 42 || EN_AIRT || Freigabe höherpriorer Asynchron- und Alarmfehlerbearbeitung&lt;br /&gt;
|-&lt;br /&gt;
| SFC 43 || RE_TRIGR || Nachtriggern des Watchdogs&lt;br /&gt;
|-&lt;br /&gt;
| SFC 46 || STP || CPU Betriebszustand STOP&lt;br /&gt;
|-&lt;br /&gt;
| SFC 49 (3) || LGC_GADR || Ermitteln des Steckplatzes einer logischen Adresse&lt;br /&gt;
|-&lt;br /&gt;
| SFC 50 (3) || RD_LAGADR || Ermitteln aller logischer Adressen einer Baugruppe&lt;br /&gt;
|-&lt;br /&gt;
| SFC 51 || RDSYST || Systemzustandsliste (SZL) auslesen&lt;br /&gt;
|-&lt;br /&gt;
| SFC 64 || TIME_TCK || Timer Tick&lt;br /&gt;
|-&lt;br /&gt;
| SFC 81 || UBLKMOV || Block Move der nicht unterbrochen werden kann&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1)The SFC 13 is available only, when the driver Cifcfg.dll is loaded. Furthermore it can only return valid results, if the PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; configuration has been created via the &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; hardware configuration or the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration. This is only possible when using the driver CIFCFG.DLL.&amp;lt;br /&amp;gt;&lt;br /&gt;
 2)The SFC 14 and SFC 15 are available only, if they are loaded via the driver CIF30D0.DLL or the driver CIFCFG.DLL.&amp;lt;br /&amp;gt;&lt;br /&gt;
 3)The SFCs can only return valid results, if the PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 configuration has been created via the &#039;&#039;S7 for Windows&#039;&#039;&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration or the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration. This is only possible when using the driver CIFCFG.DLL.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Integrated system blocks&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
 The system blocks (SFB) relevant for a software PLC are integrated in &#039;&#039;S7-SoftPLC&#039;&#039;. &amp;lt;br /&amp;gt;&lt;br /&gt;
 The following system function blocks are supported:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! SFB-Nr !! SFB-Name !! Kurzbeschreibung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width:7em&amp;quot;| SFB 0 ||style=&amp;quot;width:7em&amp;quot;| CTU || Vorwärtszähler (Counter Up)&lt;br /&gt;
|-&lt;br /&gt;
| SFB 1 || CTD || Rückwärtszähler (Counter Down)&lt;br /&gt;
|-&lt;br /&gt;
| SFB 2 || CTUD || Vorwärts- und Rückwärtszähler&lt;br /&gt;
|-&lt;br /&gt;
| SFB 3 || TP || Zeitimpuls&lt;br /&gt;
|-&lt;br /&gt;
| SFB 4 || TON || Einschaltverzögerung&lt;br /&gt;
|-&lt;br /&gt;
| SFB 5 || TOF || Ausschaltverzögerung&lt;br /&gt;
|-&lt;br /&gt;
| SFB 32 || DRUM || Schaltwerk zur Steuerung von Schrittketten&lt;br /&gt;
|-&lt;br /&gt;
| SFB 52 (4) || RDREC_DP || Datensatz lesen&lt;br /&gt;
|-&lt;br /&gt;
| SFB 53 (4) || WRREC_DP || Datensatz schreiben&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4)The SFB 52 and SFB 53 are only available if the driver CIFCFG.DLL is loaded and the entry DPV1=1 is set.&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=Main_Page&amp;diff=1142</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=Main_Page&amp;diff=1142"/>
		<updated>2013-01-23T10:40:09Z</updated>

		<summary type="html">&lt;p&gt;Jonas: /* S7-SoftPLC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Welcome to the Wiki of IBHsoftec GmbH! [[http://www.ibhsoftec.com/ IBHsoftec GmbH]]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Germany.png|link=http://wiki.ibhsoftec.com/de/Hauptseite]]&amp;lt;br /&amp;gt;&lt;br /&gt;
== S5/S7 for Windows ==&lt;br /&gt;
* [[S5/S7 for Windows:licensing|licensing]]&lt;br /&gt;
&lt;br /&gt;
== IBHLink S5++ ==&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 for Windows®|Access to a SIMATIC® S5 with &#039;&#039;S5 for Windows®&#039;&#039; without IBH Net driver]]&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 TIA Portal V11 WinCC flexible|Access to a SIMATIC® S5 with TIA Portal V11 WinCC flexible over IBHLink S5++]]&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 WinCC flexible|Access to a SIMATIC® S5 with WinCC flexible over IBHLink S5++]]&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 PLC PcVue|Access to a SIMATIC® S5 with PcVue over IBHLink S5++]]&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 Elipse SCADA|Access to a SIMATIC® S5 with Elipse SCADA over IBHLink S5++]]&lt;br /&gt;
&lt;br /&gt;
== IBHLink S7++ ==&lt;br /&gt;
* [[IBHLink S7++:SIMATIC® S5 for Windows®|Access to a SIMATIC® S5 with &#039;&#039;S5 for Windows®&#039;&#039; via SINEC L2]]&lt;br /&gt;
* [[IBHLink S7++:S7-300/S7-400 TIA Portal WinCC flexible|Access to S7-300/S7-400 with TIA Portal V11 WinCC flexible over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:S7-300/S7-400 WinCC flexible|Access to S7-300/S7-400 with WinCC flexible over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:S7-200 WinCC flexible|Access to S7-200 with WinCC flexible over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:S7-300/S7-400 Elipse SCADA|Access to S7-300/S7-400 with Elipse SCADA over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:S7-300/S7-400 PcVue|Access to S7-300/S7-400 with PcVue over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:IBH Link S7++ with CommDTM|IBH Link S7++ with CommDTM]]&lt;br /&gt;
* [[IBHLink S7++:VEGASON IBHNetDTM|IBHNet DTM with PACTware]]&lt;br /&gt;
* [[IBHLink S7++:Time Synchronisation|Time Synchronisation]]&lt;br /&gt;
* [[IBHLink S7++:Time Synchronisation with NetPro|Time Synchronisation with NetPro]]&lt;br /&gt;
&lt;br /&gt;
== OPC Server ==&lt;br /&gt;
* [[OPCServer:Overview|Overview]]&lt;br /&gt;
* [[OPCServer:Licensing|Licensing]]&lt;br /&gt;
* [[OPCServer:Server Configuration|Server Configuration]]&lt;br /&gt;
* [[OPCServer:Variable Syntax|Variable Syntax]]&lt;br /&gt;
* [[OPCServer:Optimization|Optimization]]&lt;br /&gt;
* [[OPCServer:DCOM Configuration|DCOM Configuration]]&lt;br /&gt;
* [[OPCServer:Operation with User rights|Operation with User rights]]&lt;br /&gt;
* [[OPCServer:Pro Tool Pro V6|Pro Tool Pro V6]]&lt;br /&gt;
* [[OPCServer:WinCC|WinCC]]&lt;br /&gt;
* [[OPCServer:WinCC Flexible|WinCC Flexible]]&lt;br /&gt;
* [[OPCServer:Create Variables with Intouch FS Gateway|Create Variables with Intouch FS Gateway]]&lt;br /&gt;
* [[OPCServer:Create Variables manually with Intouch|Create Variables manually with Intouch]]&lt;br /&gt;
* [[OPCServer:Create Variables with Intouch TagCreator|Create Variables with Intouch TagCreator]]&lt;br /&gt;
* [[OPCServer:HPI Scada|HPI Scada]]&lt;br /&gt;
* [[OPCServer:Variables from LOGO! RCE|Variables from LOGO! RCE]]&lt;br /&gt;
&lt;br /&gt;
== S7-SoftPLC ==&lt;br /&gt;
* Installation&lt;br /&gt;
** [[S7-SoftPLC:System requirements|System requirements]]&lt;br /&gt;
** [[S7-SoftPLC:Installing S7-SoftPLC|Installation]]&lt;br /&gt;
** [[S7-SoftPLC:Uninstalling S7-SoftPLC|Deinstallation]]&lt;br /&gt;
* Online&lt;br /&gt;
** [[S7-SoftPLC:S7-SoftPLC online functions|Functions]]&lt;br /&gt;
** [[S7-SoftPLC:Online with STEP®7|Online with STEP®7]]&lt;br /&gt;
** [[S7-SoftPLC:Online with S7 for Windows®|Online with S7 for Windows®]]&lt;br /&gt;
* [[S7-SoftPLC:Visualizations|Visualizations]]&lt;br /&gt;
** [[S7-SoftPLC:Using the IBH S7-SoftPLC with Intouch via RFC1006|Using with Intouch via RFC1006]]&lt;br /&gt;
* [[S7-SoftPLC:Data Interface|Data Interface]]&lt;br /&gt;
* User Interface&lt;br /&gt;
** [[S7-SoftPLC:Interface and Configuration|Interface and Configuration]]&lt;br /&gt;
** [[S7-SoftPLC:Classic View|Classic View]]&lt;br /&gt;
** [[S7-SoftPLC:Configuration View|Configuration View]]&lt;br /&gt;
* Menu&lt;br /&gt;
** [[S7-SoftPLC:File menu|File]]&lt;br /&gt;
** [[S7-SoftPLC:Edit menu|Edit]]&lt;br /&gt;
** [[S7-SoftPLC:View menu|View]]&lt;br /&gt;
** [[S7-SoftPLC:Help menu|Help]]&lt;br /&gt;
** [[S7-SoftPLC:Toolbar|Toolbar]]&lt;br /&gt;
** [[S7-SoftPLC:I/O monitor|I/O monitor]]&lt;br /&gt;
* Configuration&lt;br /&gt;
** CPU Parameters&lt;br /&gt;
*** [[S7-SoftPLC:CPU Parameters|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:CPU Parameters of S7-SoftPLC|PLC43.INI]]&lt;br /&gt;
** Driver&lt;br /&gt;
*** [[S7-SoftPLC:Add/remove drivers|Add/remove drivers]]&lt;br /&gt;
*** [[S7-SoftPLC:Add/remove drivers to S7-SoftPLC|Add/remove drivers to S7-SoftPLC]]&lt;br /&gt;
** Addidata&lt;br /&gt;
*** [[S7-SoftPLC:ADDI-DATA configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring the ADDI-DATA driver|Configuration of driver]]&lt;br /&gt;
*** [[S7-SoftPLC:ADDI-DATA driver for S7-SoftPLC|Driver for S7-SoftPLC]]&lt;br /&gt;
**Beckhoff TwinCAT I/O &lt;br /&gt;
*** [[S7-SoftPLC:Configuration TwinCAT I/O|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuration TwinCAT I/O drivers|Configuration of drivers]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuration TwinCAT I/O with PLC43:INI|Configuration with PLC43.INI]]&lt;br /&gt;
*** [[S7-SoftPLC:S7-SoftPLC Service and TwinCat|S7-SoftPLC Service and TwinCat]]&lt;br /&gt;
**CIF 30/50/60&lt;br /&gt;
*** [[S7-SoftPLC:Basic configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring the CIF-card with the SyCon System Configurator|Configuration with System Configurator]]&lt;br /&gt;
*** [[S7-SoftPLC:CIF 30/50/60 Settings|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:CIF 30/50/60 settings of S7-SoftPLC|PLC43.INI]]&lt;br /&gt;
*** [[S7-SoftPLC:PROFIBUS® configuration via S7 for Windows®/STEP®7|PROFIBUS® configuration via S7 for Windows®/STEP®7]]&lt;br /&gt;
** cifX&lt;br /&gt;
*** [[S7-SoftPLC:cifX Basic configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuration of cifX card with SYCON.NET|Configuration with SYCON.NET]]&lt;br /&gt;
*** [[S7-SoftPLC:cifX User Interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:cifX settings of IBHsoftec S7-SoftPLC|Settings of the IBHsoftec S7-SoftPLC]]&lt;br /&gt;
*** [[S7-SoftPLC:cifX PROFIBUS® configuration via S7 for Windows®/STEP®7|PROFIBUS® configuration via S7 for Windows®/STEP®7]]&lt;br /&gt;
** CP340/CP440&lt;br /&gt;
*** [[S7-SoftPLC:Configuring CP340/CP440 emulation|Emulation]]&lt;br /&gt;
*** [[S7-SoftPLC:Configure the CP340/CP440 emulation via user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring CP340/440 emulation in PLC43.INI|PLC43.INI]]&lt;br /&gt;
** CP343/CP443 &lt;br /&gt;
*** [[S7-SoftPLC:Configuring CP343/CP443 emulation|Emulation]]&lt;br /&gt;
*** [[S7-SoftPLC:Configure the CP343/CP443 emulation via user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring CP343/443 emulation in PLC43.INI|PLC43.INI]]&lt;br /&gt;
** I/O Port&lt;br /&gt;
*** [[S7-SoftPLC:Configuring PC hardware ports|Configuring PC hardware ports]]&lt;br /&gt;
*** [[S7-SoftPLC:Setting PC hardware port with user interface|User interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Setting PC hardware ports with PLC43.INI|PLC43.INI]]&lt;br /&gt;
** Modbus TCP&lt;br /&gt;
*** [[S7-SoftPLC:Modbus TCP configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring Modbus TCP with the user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring Modbus TCP with PLC43.INI|PLC43.INI]]&lt;br /&gt;
** NVRAM&lt;br /&gt;
*** [[S7-SoftPLC:NVRAM configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:NVRAM configuration with the user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:NVRAM configuration with the PLC43.INI|PLC43.INI]]&lt;br /&gt;
** Softnet PN IO&lt;br /&gt;
*** [[S7-SoftPLC:Softnet PN IO configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring SoftNet with the user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring SoftNet PN IO with PLC43.INI|PLC43.INI]]&lt;br /&gt;
** User SFC&lt;br /&gt;
*** [[S7-SoftPLC:User SFC configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Setting the User SFC&#039;s/FC&#039;s within the user interface|User Interface]]&lt;br /&gt;
* [[S7-SoftPLC:Technical data|Technical data]]&lt;br /&gt;
** [[S7-SoftPLC:Instruction set|Instruction set]]&lt;br /&gt;
** [[S7-SoftPLC:STEP®7 Hardwareconfiguration|STEP®7 Hardwareconfiguration]]&lt;br /&gt;
** [[S7-SoftPLC:Diagnostic buffer entries|Diagnostic buffer entries]]&lt;br /&gt;
** [[S7-SoftPLC:Differences between S7-SoftPLC and Hardware-PLC|Differences]]&lt;br /&gt;
&lt;br /&gt;
== S7-PCI315 ==&lt;br /&gt;
* [[S7-PCI315:Documentation Overview|Documentation Overview]]&lt;br /&gt;
* [[S7-PCI315:Legal Notes|Legal Notes]]&lt;br /&gt;
* [[S7-PCI315:Licenses|Licenses]]&lt;br /&gt;
* [[S7-PCI315:Safety|Safety]]&lt;br /&gt;
* [[S7-PCI315:Description and Requirements|Description and Requirements]]&lt;br /&gt;
* [[S7-PCI315:Device Drawings|Device Drawings]]&lt;br /&gt;
* [[S7-PCI315:System Overview|System Overview]]&lt;br /&gt;
* [[S7-PCI315:Device Driver Setup|Device Driver Setup]]&lt;br /&gt;
* [[S7-PCI315:Firmware Update|Firmware Update]]&lt;br /&gt;
* [[S7-PCI315:USB driver installation|USB driver installation]]&lt;br /&gt;
* [[S7-PCI315:Install S7netPLCComm service|Install S7netPLCComm service]]&lt;br /&gt;
* [[S7-PCI315:Safety Advices|Safety Advices]]&lt;br /&gt;
* [[S7-PCI315:Installing Battery|Installing Battery]]&lt;br /&gt;
* [[S7-PCI315:Installing S7-PCI315 PLC|Installing S7-PCI315 PLC]]&lt;br /&gt;
* [[S7-PCI315:HMI/data access|HMI/data access]]&lt;br /&gt;
* [[S7-PCI315:S7netPLCComm service|S7netPLCComm service]]&lt;br /&gt;
* [[S7-PCI315:Service configuration|Service configuration]]&lt;br /&gt;
* [[S7-PCI315:Configuration user interface|Configuration user interface]]&lt;br /&gt;
* [[S7-PCI315:Configuration INI file|Configuration INI file]]&lt;br /&gt;
* [[S7-PCI315:WinCC Flexible local|WinCC Flexible local]]&lt;br /&gt;
* [[S7-PCI315:Programming|Programming]]&lt;br /&gt;
* [[S7-PCI315:Instruction set|Instruction set]]&lt;br /&gt;
* [[S7-PCI315:Integrated blocks|Integrated blocks]]&lt;br /&gt;
* [[S7-PCI315:Power Supply|Power Supply]]&lt;br /&gt;
* [[S7-PCI315:Reset Behaviour|Reset Behaviour]]&lt;br /&gt;
* [[S7-PCI315:RUN/STOP Switch|RUN/STOP Switch]]&lt;br /&gt;
* [[S7-PCI315:Battery|Battery]]&lt;br /&gt;
* [[S7-PCI315:Changing the Battery|Changing the Battery]]&lt;br /&gt;
* [[S7-PCI315:Battery Disposal|Battery Disposal]]&lt;br /&gt;
* [[S7-PCI315:LED|LED]]&lt;br /&gt;
* [[S7-PCI315:LED SYS|LED SYS]]&lt;br /&gt;
* [[S7-PCI315:LED APL|LED APL]]&lt;br /&gt;
* [[S7-PCI315:LED PROFIBUS DP-Master|LED PROFIBUS DP-Master]]&lt;br /&gt;
* [[S7-PCI315:Memory Card|Memory Card]]&lt;br /&gt;
* [[S7-PCI315:Read State|Read State]]&lt;br /&gt;
* [[S7-PCI315:Dualport communication|Dualport communication]]&lt;br /&gt;
* [[S7-PCI315:Knowledge base|Knowledge base]]&lt;br /&gt;
* [[S7-PCI315:Troubleshooting|Troubleshooting]]&lt;br /&gt;
* [[S7-PCI315:Error Codes|Error Codes]]&lt;br /&gt;
* [[S7-PCI315:Technical Data|Technical Data]]&lt;br /&gt;
&lt;br /&gt;
== IBHNet ==&lt;br /&gt;
*[[IBHNet:Introduction|Introduction]]&lt;br /&gt;
*[[IBHNet:System Requirements|System Requirements]]&lt;br /&gt;
*[[IBHNet:Installation|Installation]]&lt;br /&gt;
*[[IBHNet:Local Operation|Local Operation]]&lt;br /&gt;
*[[IBHNet:Operation in a local area network|Operation in a local area network]]&lt;br /&gt;
*[[IBHNet:Operation via the Internet|Operation via the Internet]]&lt;br /&gt;
*[[IBHNet:IBH Link S7|IBH Link S7]]&lt;br /&gt;
*[[IBHNet:IBH Link S5++|IBH Link S5++]]&lt;br /&gt;
*[[IBHNet:IBH Link S5++ with STEP®5|IBH Link S5++ with STEP®5]]&lt;br /&gt;
*[[IBHNet:Defining access names to identify the PLCs|Defining access names to identify the PLCs]]&lt;br /&gt;
*[[IBHNet:Settings within STEP®7|Settings within STEP®7]]&lt;br /&gt;
*[[IBHNet:Settings within STEP®7 without IBHNet driver|Settings within STEP®7 without IBHNet driver]]&lt;br /&gt;
*[[IBHNet:Settings within STEP®7 MicroWin starting with V3.1 SP2|Settings within STEP®7 MicroWin starting with V3.1 SP2]]&lt;br /&gt;
*[[IBHNet:Settings within TIA®|Settings within TIA®]]&lt;br /&gt;
*[[IBHNet:Settings within TIA® without IBHNet driver|Settings within TIA® without IBHNet driver]]&lt;br /&gt;
*[[IBHNet:Using IBHNet with WinCC|Using IBHNet with WinCC]]&lt;br /&gt;
*[[IBHNet:Using IBHNet with ProTool|Using IBHNet with ProTool]]&lt;br /&gt;
*[[IBHNet:Using IBHNet with WinCC Flexible|Using IBHNet with WinCC Flexible]]&lt;br /&gt;
*[[IBHNet:Using the IBH Link S5++ with Intouch|Using the IBH Link S5++ with Intouch]]&lt;br /&gt;
*[[IBHNet:Using the IBH Link S7++ with Intouch|Using the IBH Link S7++ with Intouch]]&lt;br /&gt;
*[[IBHNet:Accessing PLC variables|Accessing PLC variables]]&lt;br /&gt;
*[[IBHNet:Fetch/Write|Fetch/Write]]&lt;br /&gt;
*[[IBHNet:Unprojected PLC-PLC communication|Unprojected PLC-PLC communication]]&lt;br /&gt;
*[[IBHNet:Projected PLC-PLC communication|Projected PLC-PLC communication]]&lt;br /&gt;
*[[IBHNet:RFC1006 Communication IBH Link S7/S7Plus|RFC1006 Communication IBH Link S7/S7Plus]]&lt;br /&gt;
*[[IBHNet:RFC1006 Communication IBH Link S7++/S7++HS|RFC1006 Communication IBH Link S7++/S7++HS]]&lt;br /&gt;
*[[IBHNet:Troubleshooting|Troubleshooting]]&lt;br /&gt;
*[[IBHNet:Reset/Factory settings|Reset/Factory settings]]&lt;br /&gt;
*[[IBHNet:Technical Data IBH Link S7|Technical Data IBH Link S7]]&lt;br /&gt;
*[[IBHNet:Technical Data IBH Link S7 Plus|Technical Data IBH Link S7 Plus]]&lt;br /&gt;
*[[IBHNet:Technical Data IBH Link S7++/S7++ HS|Technical Data IBH Link S7++/S7++ HS]]&lt;br /&gt;
*[[IBHNet:Technical Data IBH Link S5++|Technical Data IBH Link S5++]]&lt;br /&gt;
*[[IBHNet:IBH Link History|IBH Link History]]&lt;br /&gt;
*[[IBHNet:Revisions|Revisions]]&lt;br /&gt;
==IBH USB-S5-Adapter==&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;2&amp;quot; class=&amp;quot;float-right&amp;quot;&amp;gt;&lt;br /&gt;
Image:IBH_USB_S5.gif|[http://www.ibhsoftec.com/IBH-USB-S5-Adapter-Eng IBH-USB-S5-Adapter]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
* [[IBH USB-S5-Adapter:SIMATIC® S5 for Windows®|Access to a SIMATIC® S5 with &#039;&#039;S5 for Windows®&#039;&#039;]]&lt;br /&gt;
* [[IBH USB-S5-Adapter:Maximum USB cable length|Maximum USB cable length]]&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Differences_between_S7-SoftPLC_and_Hardware-PLC&amp;diff=1141</id>
		<title>S7-SoftPLC:Differences between S7-SoftPLC and Hardware-PLC</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Differences_between_S7-SoftPLC_and_Hardware-PLC&amp;diff=1141"/>
		<updated>2013-01-23T10:38:42Z</updated>

		<summary type="html">&lt;p&gt;Jonas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Differences between &#039;&#039;S7-SoftPLC&#039;&#039; and a Hardware-PLC ===&lt;br /&gt;
&lt;br /&gt;
In contrast to a conventional hardware-based control &#039;&#039;S7-SoftPLC&#039;&#039; does not have its own hardware. It always has to be integrated in an existing computer system with a Windows&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; operating system.&lt;br /&gt;
&lt;br /&gt;
Since &#039;&#039;S7-SoftPLC&#039;&#039; runs within a Windows&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; operating system, other Windows&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; applications such as EXCEL&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; or ACCESS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; can access PLC-operands directly and fast without hardware wiring.&lt;br /&gt;
&lt;br /&gt;
In contrast to a hardware-PLC the size of &#039;&#039;S7-SoftPLC 416&#039;&#039; load memory can be changed flexibly (up to the maximum available memory size of the PC).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Differences between &#039;&#039;S7-SoftPLC 315&#039;&#039; and &#039;&#039;S7-SoftPLC 416&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
The difference between &#039;&#039;S7-SoftPLC 315&#039;&#039; and &#039;&#039;S7-SoftPLC 416&#039;&#039; is a different number of flags, timers and counters according to the hardware-PLC.&lt;br /&gt;
&lt;br /&gt;
The differences comply to the differences between the Siemens hardware PLC 315 and 416. The load memory of &#039;&#039;S7-SoftPLC 315&#039;&#039; ist limited to 256 kByte, while the load memory of &#039;&#039;S7-SoftPLC 416&#039;&#039; can be configured freely.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Non available features in &#039;&#039;S7-SoftPLC&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Since there are physical differences between a hardware-PLC and a Windows computer, it is not possible to implement every feature of the CPU S7-315 resp. CPU S7-416 in &#039;&#039;S7-SoftPLC&#039;&#039;. However, existing programs should be executable on &#039;&#039;S7-SoftPLC&#039;&#039; with small changes.&lt;br /&gt;
&lt;br /&gt;
The following organisation blocks are not supported:&lt;br /&gt;
* OB 60: multiple processor alarm&lt;br /&gt;
* OB 40 – OB 47: processor alarm 0 - 7&lt;br /&gt;
&lt;br /&gt;
Time OBs are not terminated by Windows&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;, which means those OBs are not allowed to have long cycle times(&amp;amp;lt;1ms).&lt;br /&gt;
&lt;br /&gt;
Furthermore SFBs and SFCs, that do not make sense on a PC platform, are not implemented. There is the possibility to extend &#039;&#039;S7-SoftPLC&#039;&#039; with user defined SFC&#039;s written in C++.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Diagnostic buffer ===&lt;br /&gt;
&lt;br /&gt;
In addition to normal diagnostic buffer entries, which are recorded within the diagnostic buffer while starting or in case of programming errors, area transgressions or missing modules, there are additional entries.&lt;br /&gt;
&lt;br /&gt;
Those are created by the hardware-drivers of &#039;&#039;S7-SoftPLC&#039;&#039; and give exact informations about the cause of an eventually occurred problem. Before contacting our support, please save an extract of the diagnostic buffer by using the programming unit. Doing so, an eventual problem can be located easily.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Starting &#039;&#039;S7-SoftPLC&#039;&#039; as service ===&lt;br /&gt;
&lt;br /&gt;
In order to prevent accesses of non privileged users, PLC can be started as service. For this purpose &#039;&#039;S7-SoftPLC&#039;&#039; must be enlisted in the service list. Therefore open the command line and go to the installation folder of &#039;&#039;S7-SoftPLC&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Enter the following command in the command line interface:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;C:\SoftSPS&amp;amp;gt;plc416.exe –Service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An error message must not appear. &#039;&#039;S7-SoftPLC&#039;&#039; is now enlisted in the service list. Via &amp;amp;quot;Control panel - Management - Services&amp;amp;quot; the service &amp;amp;quot;CPUS7&amp;amp;quot; can now be found in the list. The start up can be set to &amp;amp;quot;automatic&amp;amp;quot;, so that &#039;&#039;S7-SoftPLC&#039;&#039; starts without user logged in on the computer. It is also possible, that user accounts with limited rights can use &#039;&#039;S7-SoftPLC&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Delete &#039;&#039;S7-SoftPLC&#039;&#039; from the &amp;amp;quot;Control panel - Management - Services&amp;amp;quot;, so that it can be executed as normal application&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;C:\SoftSPS&amp;amp;gt;plc416.exe –RegServer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NOTE: ADMINISTRATIVE RIGHTS ARE REQUIRED&lt;br /&gt;
&lt;br /&gt;
NOTE: IF THE DRIVER TWINCAT-IO IS USED WITH THE SOFT-PLC RUNNING AS SERVICE, THE INFORMATION PROVIDED [[../Configuration/TCDepend.htm|HERE]] SHOULD BE NOTED.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== UPS operation ===&lt;br /&gt;
&lt;br /&gt;
Most UPS programs provide the possibility to have certain operations executed before shutting down the PC. In most cases programs or batch files will be executed before the shut-down can be configured.&lt;br /&gt;
&lt;br /&gt;
If the application &amp;amp;quot;PlcStop.exe&amp;amp;quot;(in the &#039;&#039;S7-SoftPLC&#039;&#039; installation directory) is configured here, the PLC saves the program and &#039;&#039;S7-SoftPLC&#039;&#039; is closed correctly thereafter.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Unauthorised accesses ===&lt;br /&gt;
&lt;br /&gt;
With regard to unauthorized access to the computer, it is self-evident that &#039;&#039;S7-SoftPLC&#039;&#039; can not provide any security mechanisms.&lt;br /&gt;
&lt;br /&gt;
Appropriate actions, customized to the application, have to be taken by the user.&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Differences_between_S7-SoftPLC_and_Hardware-PLC&amp;diff=1140</id>
		<title>S7-SoftPLC:Differences between S7-SoftPLC and Hardware-PLC</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Differences_between_S7-SoftPLC_and_Hardware-PLC&amp;diff=1140"/>
		<updated>2013-01-23T10:38:01Z</updated>

		<summary type="html">&lt;p&gt;Jonas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Differences between &#039;&#039;S7-SoftPLC&#039;&#039; and a Hardware-PLC ===&lt;br /&gt;
&lt;br /&gt;
In contrast to a conventional hardware-based control &#039;&#039;S7-SoftPLC&#039;&#039; does not have its own hardware. It always has to be integrated in an existing computer system with a Windows&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; operating system.&lt;br /&gt;
&lt;br /&gt;
Since &#039;&#039;S7-SoftPLC&#039;&#039; runs within a Windows&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; operating system, other Windows&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; applications such as EXCEL&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; or ACCESS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; can access PLC-operands directly and fast without hardware wiring.&lt;br /&gt;
&lt;br /&gt;
In contrast to a hardware-PLC the size of &#039;&#039;S7-SoftPLC 416&#039;&#039; load memory can be changed flexibly (up to the maximum available memory size of the PC).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Differences between &#039;&#039;S7-SoftPLC 315&#039;&#039; and &#039;&#039;S7-SoftPLC 416&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
The difference between &#039;&#039;S7-SoftPLC 315&#039;&#039; and &#039;&#039;S7-SoftPLC 416&#039;&#039; is a different number of flags, timers and counters according to the hardware-PLC.&lt;br /&gt;
&lt;br /&gt;
The differences comply to the differences between the Siemens hardware PLC 315 and 416. The load memory of &#039;&#039;S7-SoftPLC 315&#039;&#039; ist limited to 256 kByte, while the load memory of &#039;&#039;S7-SoftPLC 416&#039;&#039; can be configured freely.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Non available features in &#039;&#039;S7-SoftPLC&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Since there are physical differences between a hardware-PLC and a Windows computer, it is not possible to implement every feature of the CPU S7-315 resp. CPU S7-416 in &#039;&#039;S7-SoftPLC&#039;&#039;. However, existing programs should be executable on &#039;&#039;S7-SoftPLC&#039;&#039; with small changes.&lt;br /&gt;
&lt;br /&gt;
The following organisation blocks are not supported:&lt;br /&gt;
* OB 60: multiple processor alarm&lt;br /&gt;
* OB 40 – OB 47: processor alarm 0 - 7&lt;br /&gt;
&lt;br /&gt;
Time OBs are not terminated by Windows&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;, which means those OBs are not allowed to have long cycle times(&amp;amp;lt;1ms).&lt;br /&gt;
&lt;br /&gt;
Furthermore SFBs and SFCs, that do not make sense on a PC platform, are not implemented. There is the possibility to extend &#039;&#039;S7-SoftPLC&#039;&#039; with user defined SFC&#039;s written in C++.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Diagnostic buffer ===&lt;br /&gt;
&lt;br /&gt;
In addition to normal diagnostic buffer entries, which are recorded within the diagnostic buffer while starting or in case of programming errors, area transgressions or missing modules, there are additional entries.&lt;br /&gt;
&lt;br /&gt;
Those are created by the hardware-drivers of &#039;&#039;S7-SoftPLC&#039;&#039; and give exact informations about the cause of an eventually occurred problem. Before contacting our support, please save an extract of the diagnostic buffer by using the programming unit. Doing so, an eventual problem can be located easily.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Starting &#039;&#039;S7-SoftPLC&#039;&#039; as service ===&lt;br /&gt;
&lt;br /&gt;
In order to prevent accesses of non privileged users, PLC can be started as service. For this purpose &#039;&#039;S7-SoftPLC&#039;&#039; must be enlisted in the service list. Therefore open the command line and go to the installation folder of &#039;&#039;S7-SoftPLC&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Enter the following command in the command line interface:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;C:\SoftSPS&amp;amp;gt;plc416.exe –Service&amp;lt;\code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An error message must not appear. &#039;&#039;S7-SoftPLC&#039;&#039; is now enlisted in the service list. Via &amp;amp;quot;Control panel - Management - Services&amp;amp;quot; the service &amp;amp;quot;CPUS7&amp;amp;quot; can now be found in the list. The start up can be set to &amp;amp;quot;automatic&amp;amp;quot;, so that &#039;&#039;S7-SoftPLC&#039;&#039; starts without user logged in on the computer. It is also possible, that user accounts with limited rights can use &#039;&#039;S7-SoftPLC&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Delete &#039;&#039;S7-SoftPLC&#039;&#039; from the &amp;amp;quot;Control panel - Management - Services&amp;amp;quot;, so that it can be executed as normal application&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;C:\SoftSPS&amp;amp;gt;plc416.exe –RegServer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NOTE: ADMINISTRATIVE RIGHTS ARE REQUIRED&lt;br /&gt;
&lt;br /&gt;
NOTE: IF THE DRIVER TWINCAT-IO IS USED WITH THE SOFT-PLC RUNNING AS SERVICE, THE INFORMATION PROVIDED [[../Configuration/TCDepend.htm|HERE]] SHOULD BE NOTED.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== UPS operation ===&lt;br /&gt;
&lt;br /&gt;
Most UPS programs provide the possibility to have certain operations executed before shutting down the PC. In most cases programs or batch files will be executed before the shut-down can be configured.&lt;br /&gt;
&lt;br /&gt;
If the application &amp;amp;quot;PlcStop.exe&amp;amp;quot;(in the &#039;&#039;S7-SoftPLC&#039;&#039; installation directory) is configured here, the PLC saves the program and &#039;&#039;S7-SoftPLC&#039;&#039; is closed correctly thereafter.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Unauthorised accesses ===&lt;br /&gt;
&lt;br /&gt;
With regard to unauthorized access to the computer, it is self-evident that &#039;&#039;S7-SoftPLC&#039;&#039; can not provide any security mechanisms.&lt;br /&gt;
&lt;br /&gt;
Appropriate actions, customized to the application, have to be taken by the user.&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Differences_between_S7-SoftPLC_and_Hardware-PLC&amp;diff=1139</id>
		<title>S7-SoftPLC:Differences between S7-SoftPLC and Hardware-PLC</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Differences_between_S7-SoftPLC_and_Hardware-PLC&amp;diff=1139"/>
		<updated>2013-01-23T10:37:48Z</updated>

		<summary type="html">&lt;p&gt;Jonas: Created page with &amp;quot;=== Differences between &amp;#039;&amp;#039;S7-SoftPLC&amp;#039;&amp;#039; and a Hardware-PLC ===  In contrast to a conventional hardware-based control &amp;#039;&amp;#039;S7-SoftPLC&amp;#039;&amp;#039; does not have its own hardware. It always ha...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Differences between &#039;&#039;S7-SoftPLC&#039;&#039; and a Hardware-PLC ===&lt;br /&gt;
&lt;br /&gt;
In contrast to a conventional hardware-based control &#039;&#039;S7-SoftPLC&#039;&#039; does not have its own hardware. It always has to be integrated in an existing computer system with a Windows&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; operating system.&lt;br /&gt;
&lt;br /&gt;
Since &#039;&#039;S7-SoftPLC&#039;&#039; runs within a Windows&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; operating system, other Windows&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; applications such as EXCEL&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; or ACCESS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; can access PLC-operands directly and fast without hardware wiring.&lt;br /&gt;
&lt;br /&gt;
In contrast to a hardware-PLC the size of &#039;&#039;S7-SoftPLC 416&#039;&#039; load memory can be changed flexibly (up to the maximum available memory size of the PC).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Differences between &#039;&#039;S7-SoftPLC 315&#039;&#039; and &#039;&#039;S7-SoftPLC 416&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
The difference between &#039;&#039;S7-SoftPLC 315&#039;&#039; and &#039;&#039;S7-SoftPLC 416&#039;&#039; is a different number of flags, timers and counters according to the hardware-PLC.&amp;lt;br /&amp;gt;&lt;br /&gt;
 The differences comply to the differences between the Siemens hardware PLC 315 and 416. The load memory of &#039;&#039;S7-SoftPLC 315&#039;&#039; ist limited to 256 kByte, while the load memory of &#039;&#039;S7-SoftPLC 416&#039;&#039; can be configured freely.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Non available features in &#039;&#039;S7-SoftPLC&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Since there are physical differences between a hardware-PLC and a Windows computer, it is not possible to implement every feature of the CPU S7-315 resp. CPU S7-416 in &#039;&#039;S7-SoftPLC&#039;&#039;. However, existing programs should be executable on &#039;&#039;S7-SoftPLC&#039;&#039; with small changes.&lt;br /&gt;
&lt;br /&gt;
The following organisation blocks are not supported:&lt;br /&gt;
* OB 60: multiple processor alarm&lt;br /&gt;
* OB 40 – OB 47: processor alarm 0 - 7&lt;br /&gt;
&lt;br /&gt;
Time OBs are not terminated by Windows&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;, which means those OBs are not allowed to have long cycle times(&amp;amp;lt;1ms).&lt;br /&gt;
&lt;br /&gt;
Furthermore SFBs and SFCs, that do not make sense on a PC platform, are not implemented. There is the possibility to extend &#039;&#039;S7-SoftPLC&#039;&#039; with user defined SFC&#039;s written in C++.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Diagnostic buffer ===&lt;br /&gt;
&lt;br /&gt;
In addition to normal diagnostic buffer entries, which are recorded within the diagnostic buffer while starting or in case of programming errors, area transgressions or missing modules, there are additional entries.&lt;br /&gt;
&lt;br /&gt;
Those are created by the hardware-drivers of &#039;&#039;S7-SoftPLC&#039;&#039; and give exact informations about the cause of an eventually occurred problem. Before contacting our support, please save an extract of the diagnostic buffer by using the programming unit. Doing so, an eventual problem can be located easily.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Starting &#039;&#039;S7-SoftPLC&#039;&#039; as service ===&lt;br /&gt;
&lt;br /&gt;
In order to prevent accesses of non privileged users, PLC can be started as service. For this purpose &#039;&#039;S7-SoftPLC&#039;&#039; must be enlisted in the service list. Therefore open the command line and go to the installation folder of &#039;&#039;S7-SoftPLC&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Enter the following command in the command line interface:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;C:\SoftSPS&amp;amp;gt;plc416.exe –Service&amp;lt;\code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An error message must not appear. &#039;&#039;S7-SoftPLC&#039;&#039; is now enlisted in the service list. Via &amp;amp;quot;Control panel - Management - Services&amp;amp;quot; the service &amp;amp;quot;CPUS7&amp;amp;quot; can now be found in the list. The start up can be set to &amp;amp;quot;automatic&amp;amp;quot;, so that &#039;&#039;S7-SoftPLC&#039;&#039; starts without user logged in on the computer. It is also possible, that user accounts with limited rights can use &#039;&#039;S7-SoftPLC&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Delete &#039;&#039;S7-SoftPLC&#039;&#039; from the &amp;amp;quot;Control panel - Management - Services&amp;amp;quot;, so that it can be executed as normal application&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;C:\SoftSPS&amp;amp;gt;plc416.exe –RegServer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NOTE: ADMINISTRATIVE RIGHTS ARE REQUIRED&lt;br /&gt;
&lt;br /&gt;
NOTE: IF THE DRIVER TWINCAT-IO IS USED WITH THE SOFT-PLC RUNNING AS SERVICE, THE INFORMATION PROVIDED [[../Configuration/TCDepend.htm|HERE]] SHOULD BE NOTED.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== UPS operation ===&lt;br /&gt;
&lt;br /&gt;
Most UPS programs provide the possibility to have certain operations executed before shutting down the PC. In most cases programs or batch files will be executed before the shut-down can be configured.&lt;br /&gt;
&lt;br /&gt;
If the application &amp;amp;quot;PlcStop.exe&amp;amp;quot;(in the &#039;&#039;S7-SoftPLC&#039;&#039; installation directory) is configured here, the PLC saves the program and &#039;&#039;S7-SoftPLC&#039;&#039; is closed correctly thereafter.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Unauthorised accesses ===&lt;br /&gt;
&lt;br /&gt;
With regard to unauthorized access to the computer, it is self-evident that &#039;&#039;S7-SoftPLC&#039;&#039; can not provide any security mechanisms.&lt;br /&gt;
&lt;br /&gt;
Appropriate actions, customized to the application, have to be taken by the user.&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=Main_Page&amp;diff=1138</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=Main_Page&amp;diff=1138"/>
		<updated>2013-01-23T10:36:06Z</updated>

		<summary type="html">&lt;p&gt;Jonas: /* S7-SoftPLC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Welcome to the Wiki of IBHsoftec GmbH! [[http://www.ibhsoftec.com/ IBHsoftec GmbH]]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Germany.png|link=http://wiki.ibhsoftec.com/de/Hauptseite]]&amp;lt;br /&amp;gt;&lt;br /&gt;
== S5/S7 for Windows ==&lt;br /&gt;
* [[S5/S7 for Windows:licensing|licensing]]&lt;br /&gt;
&lt;br /&gt;
== IBHLink S5++ ==&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 for Windows®|Access to a SIMATIC® S5 with &#039;&#039;S5 for Windows®&#039;&#039; without IBH Net driver]]&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 TIA Portal V11 WinCC flexible|Access to a SIMATIC® S5 with TIA Portal V11 WinCC flexible over IBHLink S5++]]&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 WinCC flexible|Access to a SIMATIC® S5 with WinCC flexible over IBHLink S5++]]&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 PLC PcVue|Access to a SIMATIC® S5 with PcVue over IBHLink S5++]]&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 Elipse SCADA|Access to a SIMATIC® S5 with Elipse SCADA over IBHLink S5++]]&lt;br /&gt;
&lt;br /&gt;
== IBHLink S7++ ==&lt;br /&gt;
* [[IBHLink S7++:SIMATIC® S5 for Windows®|Access to a SIMATIC® S5 with &#039;&#039;S5 for Windows®&#039;&#039; via SINEC L2]]&lt;br /&gt;
* [[IBHLink S7++:S7-300/S7-400 TIA Portal WinCC flexible|Access to S7-300/S7-400 with TIA Portal V11 WinCC flexible over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:S7-300/S7-400 WinCC flexible|Access to S7-300/S7-400 with WinCC flexible over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:S7-200 WinCC flexible|Access to S7-200 with WinCC flexible over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:S7-300/S7-400 Elipse SCADA|Access to S7-300/S7-400 with Elipse SCADA over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:S7-300/S7-400 PcVue|Access to S7-300/S7-400 with PcVue over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:IBH Link S7++ with CommDTM|IBH Link S7++ with CommDTM]]&lt;br /&gt;
* [[IBHLink S7++:VEGASON IBHNetDTM|IBHNet DTM with PACTware]]&lt;br /&gt;
* [[IBHLink S7++:Time Synchronisation|Time Synchronisation]]&lt;br /&gt;
* [[IBHLink S7++:Time Synchronisation with NetPro|Time Synchronisation with NetPro]]&lt;br /&gt;
&lt;br /&gt;
== OPC Server ==&lt;br /&gt;
* [[OPCServer:Overview|Overview]]&lt;br /&gt;
* [[OPCServer:Licensing|Licensing]]&lt;br /&gt;
* [[OPCServer:Server Configuration|Server Configuration]]&lt;br /&gt;
* [[OPCServer:Variable Syntax|Variable Syntax]]&lt;br /&gt;
* [[OPCServer:Optimization|Optimization]]&lt;br /&gt;
* [[OPCServer:DCOM Configuration|DCOM Configuration]]&lt;br /&gt;
* [[OPCServer:Operation with User rights|Operation with User rights]]&lt;br /&gt;
* [[OPCServer:Pro Tool Pro V6|Pro Tool Pro V6]]&lt;br /&gt;
* [[OPCServer:WinCC|WinCC]]&lt;br /&gt;
* [[OPCServer:WinCC Flexible|WinCC Flexible]]&lt;br /&gt;
* [[OPCServer:Create Variables with Intouch FS Gateway|Create Variables with Intouch FS Gateway]]&lt;br /&gt;
* [[OPCServer:Create Variables manually with Intouch|Create Variables manually with Intouch]]&lt;br /&gt;
* [[OPCServer:Create Variables with Intouch TagCreator|Create Variables with Intouch TagCreator]]&lt;br /&gt;
* [[OPCServer:HPI Scada|HPI Scada]]&lt;br /&gt;
* [[OPCServer:Variables from LOGO! RCE|Variables from LOGO! RCE]]&lt;br /&gt;
&lt;br /&gt;
== S7-SoftPLC ==&lt;br /&gt;
* Installation&lt;br /&gt;
** [[S7-SoftPLC:System requirements|System requirements]]&lt;br /&gt;
** [[S7-SoftPLC:Installing S7-SoftPLC|Installation]]&lt;br /&gt;
** [[S7-SoftPLC:Uninstalling S7-SoftPLC|Deinstallation]]&lt;br /&gt;
* Online&lt;br /&gt;
** [[S7-SoftPLC:S7-SoftPLC online functions|Functions]]&lt;br /&gt;
** [[S7-SoftPLC:Online with STEP®7|Online with STEP®7]]&lt;br /&gt;
** [[S7-SoftPLC:Online with S7 for Windows®|Online with S7 for Windows®]]&lt;br /&gt;
* [[S7-SoftPLC:Visualizations|Visualizations]]&lt;br /&gt;
** [[S7-SoftPLC:Using the IBH S7-SoftPLC with Intouch via RFC1006|Using with Intouch via RFC1006]]&lt;br /&gt;
* [[S7-SoftPLC:Data Interface|Data Interface]]&lt;br /&gt;
* User Interface&lt;br /&gt;
** [[S7-SoftPLC:Interface and Configuration|Interface and Configuration]]&lt;br /&gt;
** [[S7-SoftPLC:Classic View|Classic View]]&lt;br /&gt;
** [[S7-SoftPLC:Configuration View|Configuration View]]&lt;br /&gt;
* Menu&lt;br /&gt;
** [[S7-SoftPLC:File menu|File]]&lt;br /&gt;
** [[S7-SoftPLC:Edit menu|Edit]]&lt;br /&gt;
** [[S7-SoftPLC:View menu|View]]&lt;br /&gt;
** [[S7-SoftPLC:Help menu|Help]]&lt;br /&gt;
** [[S7-SoftPLC:Toolbar|Toolbar]]&lt;br /&gt;
** [[S7-SoftPLC:I/O monitor|I/O monitor]]&lt;br /&gt;
* Configuration&lt;br /&gt;
** CPU Parameters&lt;br /&gt;
*** [[S7-SoftPLC:CPU Parameters|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:CPU Parameters of S7-SoftPLC|PLC43.INI]]&lt;br /&gt;
** Driver&lt;br /&gt;
*** [[S7-SoftPLC:Add/remove drivers|Add/remove drivers]]&lt;br /&gt;
*** [[S7-SoftPLC:Add/remove drivers to S7-SoftPLC|Add/remove drivers to S7-SoftPLC]]&lt;br /&gt;
** Addidata&lt;br /&gt;
*** [[S7-SoftPLC:ADDI-DATA configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring the ADDI-DATA driver|Configuration of driver]]&lt;br /&gt;
*** [[S7-SoftPLC:ADDI-DATA driver for S7-SoftPLC|Driver for S7-SoftPLC]]&lt;br /&gt;
**Beckhoff TwinCAT I/O &lt;br /&gt;
*** [[S7-SoftPLC:Configuration TwinCAT I/O|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuration TwinCAT I/O drivers|Configuration of drivers]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuration TwinCAT I/O with PLC43:INI|Configuration with PLC43.INI]]&lt;br /&gt;
*** [[S7-SoftPLC:S7-SoftPLC Service and TwinCat|S7-SoftPLC Service and TwinCat]]&lt;br /&gt;
**CIF 30/50/60&lt;br /&gt;
*** [[S7-SoftPLC:Basic configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring the CIF-card with the SyCon System Configurator|Configuration with System Configurator]]&lt;br /&gt;
*** [[S7-SoftPLC:CIF 30/50/60 Settings|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:CIF 30/50/60 settings of S7-SoftPLC|PLC43.INI]]&lt;br /&gt;
*** [[S7-SoftPLC:PROFIBUS® configuration via S7 for Windows®/STEP®7|PROFIBUS® configuration via S7 for Windows®/STEP®7]]&lt;br /&gt;
** cifX&lt;br /&gt;
*** [[S7-SoftPLC:cifX Basic configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuration of cifX card with SYCON.NET|Configuration with SYCON.NET]]&lt;br /&gt;
*** [[S7-SoftPLC:cifX User Interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:cifX settings of IBHsoftec S7-SoftPLC|Settings of the IBHsoftec S7-SoftPLC]]&lt;br /&gt;
*** [[S7-SoftPLC:cifX PROFIBUS® configuration via S7 for Windows®/STEP®7|PROFIBUS® configuration via S7 for Windows®/STEP®7]]&lt;br /&gt;
** CP340/CP440&lt;br /&gt;
*** [[S7-SoftPLC:Configuring CP340/CP440 emulation|Emulation]]&lt;br /&gt;
*** [[S7-SoftPLC:Configure the CP340/CP440 emulation via user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring CP340/440 emulation in PLC43.INI|PLC43.INI]]&lt;br /&gt;
** CP343/CP443 &lt;br /&gt;
*** [[S7-SoftPLC:Configuring CP343/CP443 emulation|Emulation]]&lt;br /&gt;
*** [[S7-SoftPLC:Configure the CP343/CP443 emulation via user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring CP343/443 emulation in PLC43.INI|PLC43.INI]]&lt;br /&gt;
** I/O Port&lt;br /&gt;
*** [[S7-SoftPLC:Configuring PC hardware ports|Configuring PC hardware ports]]&lt;br /&gt;
*** [[S7-SoftPLC:Setting PC hardware port with user interface|User interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Setting PC hardware ports with PLC43.INI|PLC43.INI]]&lt;br /&gt;
** Modbus TCP&lt;br /&gt;
*** [[S7-SoftPLC:Modbus TCP configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring Modbus TCP with the user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring Modbus TCP with PLC43.INI|PLC43.INI]]&lt;br /&gt;
** NVRAM&lt;br /&gt;
*** [[S7-SoftPLC:NVRAM configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:NVRAM configuration with the user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:NVRAM configuration with the PLC43.INI|PLC43.INI]]&lt;br /&gt;
** Softnet PN IO&lt;br /&gt;
*** [[S7-SoftPLC:Softnet PN IO configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring SoftNet with the user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring SoftNet PN IO with PLC43.INI|PLC43.INI]]&lt;br /&gt;
** User SFC&lt;br /&gt;
*** [[S7-SoftPLC:User SFC configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Setting the User SFC&#039;s/FC&#039;s within the user interface|User Interface]]&lt;br /&gt;
* [[S7-SoftPLC:Technical data|Technical data]]&lt;br /&gt;
** [[S7-SoftPLC:STEP®7 Hardwareconfiguration|STEP®7 Hardwareconfiguration]]&lt;br /&gt;
** [[S7-SoftPLC:Diagnostic buffer entries|Diagnostic buffer entries]]&lt;br /&gt;
** [[S7-SoftPLC:Differences between S7-SoftPLC and Hardware-PLC|Differences]]&lt;br /&gt;
&lt;br /&gt;
== S7-PCI315 ==&lt;br /&gt;
* [[S7-PCI315:Documentation Overview|Documentation Overview]]&lt;br /&gt;
* [[S7-PCI315:Legal Notes|Legal Notes]]&lt;br /&gt;
* [[S7-PCI315:Licenses|Licenses]]&lt;br /&gt;
* [[S7-PCI315:Safety|Safety]]&lt;br /&gt;
* [[S7-PCI315:Description and Requirements|Description and Requirements]]&lt;br /&gt;
* [[S7-PCI315:Device Drawings|Device Drawings]]&lt;br /&gt;
* [[S7-PCI315:System Overview|System Overview]]&lt;br /&gt;
* [[S7-PCI315:Device Driver Setup|Device Driver Setup]]&lt;br /&gt;
* [[S7-PCI315:Firmware Update|Firmware Update]]&lt;br /&gt;
* [[S7-PCI315:USB driver installation|USB driver installation]]&lt;br /&gt;
* [[S7-PCI315:Install S7netPLCComm service|Install S7netPLCComm service]]&lt;br /&gt;
* [[S7-PCI315:Safety Advices|Safety Advices]]&lt;br /&gt;
* [[S7-PCI315:Installing Battery|Installing Battery]]&lt;br /&gt;
* [[S7-PCI315:Installing S7-PCI315 PLC|Installing S7-PCI315 PLC]]&lt;br /&gt;
* [[S7-PCI315:HMI/data access|HMI/data access]]&lt;br /&gt;
* [[S7-PCI315:S7netPLCComm service|S7netPLCComm service]]&lt;br /&gt;
* [[S7-PCI315:Service configuration|Service configuration]]&lt;br /&gt;
* [[S7-PCI315:Configuration user interface|Configuration user interface]]&lt;br /&gt;
* [[S7-PCI315:Configuration INI file|Configuration INI file]]&lt;br /&gt;
* [[S7-PCI315:WinCC Flexible local|WinCC Flexible local]]&lt;br /&gt;
* [[S7-PCI315:Programming|Programming]]&lt;br /&gt;
* [[S7-PCI315:Instruction set|Instruction set]]&lt;br /&gt;
* [[S7-PCI315:Integrated blocks|Integrated blocks]]&lt;br /&gt;
* [[S7-PCI315:Power Supply|Power Supply]]&lt;br /&gt;
* [[S7-PCI315:Reset Behaviour|Reset Behaviour]]&lt;br /&gt;
* [[S7-PCI315:RUN/STOP Switch|RUN/STOP Switch]]&lt;br /&gt;
* [[S7-PCI315:Battery|Battery]]&lt;br /&gt;
* [[S7-PCI315:Changing the Battery|Changing the Battery]]&lt;br /&gt;
* [[S7-PCI315:Battery Disposal|Battery Disposal]]&lt;br /&gt;
* [[S7-PCI315:LED|LED]]&lt;br /&gt;
* [[S7-PCI315:LED SYS|LED SYS]]&lt;br /&gt;
* [[S7-PCI315:LED APL|LED APL]]&lt;br /&gt;
* [[S7-PCI315:LED PROFIBUS DP-Master|LED PROFIBUS DP-Master]]&lt;br /&gt;
* [[S7-PCI315:Memory Card|Memory Card]]&lt;br /&gt;
* [[S7-PCI315:Read State|Read State]]&lt;br /&gt;
* [[S7-PCI315:Dualport communication|Dualport communication]]&lt;br /&gt;
* [[S7-PCI315:Knowledge base|Knowledge base]]&lt;br /&gt;
* [[S7-PCI315:Troubleshooting|Troubleshooting]]&lt;br /&gt;
* [[S7-PCI315:Error Codes|Error Codes]]&lt;br /&gt;
* [[S7-PCI315:Technical Data|Technical Data]]&lt;br /&gt;
&lt;br /&gt;
== IBHNet ==&lt;br /&gt;
*[[IBHNet:Introduction|Introduction]]&lt;br /&gt;
*[[IBHNet:System Requirements|System Requirements]]&lt;br /&gt;
*[[IBHNet:Installation|Installation]]&lt;br /&gt;
*[[IBHNet:Local Operation|Local Operation]]&lt;br /&gt;
*[[IBHNet:Operation in a local area network|Operation in a local area network]]&lt;br /&gt;
*[[IBHNet:Operation via the Internet|Operation via the Internet]]&lt;br /&gt;
*[[IBHNet:IBH Link S7|IBH Link S7]]&lt;br /&gt;
*[[IBHNet:IBH Link S5++|IBH Link S5++]]&lt;br /&gt;
*[[IBHNet:IBH Link S5++ with STEP®5|IBH Link S5++ with STEP®5]]&lt;br /&gt;
*[[IBHNet:Defining access names to identify the PLCs|Defining access names to identify the PLCs]]&lt;br /&gt;
*[[IBHNet:Settings within STEP®7|Settings within STEP®7]]&lt;br /&gt;
*[[IBHNet:Settings within STEP®7 without IBHNet driver|Settings within STEP®7 without IBHNet driver]]&lt;br /&gt;
*[[IBHNet:Settings within STEP®7 MicroWin starting with V3.1 SP2|Settings within STEP®7 MicroWin starting with V3.1 SP2]]&lt;br /&gt;
*[[IBHNet:Settings within TIA®|Settings within TIA®]]&lt;br /&gt;
*[[IBHNet:Settings within TIA® without IBHNet driver|Settings within TIA® without IBHNet driver]]&lt;br /&gt;
*[[IBHNet:Using IBHNet with WinCC|Using IBHNet with WinCC]]&lt;br /&gt;
*[[IBHNet:Using IBHNet with ProTool|Using IBHNet with ProTool]]&lt;br /&gt;
*[[IBHNet:Using IBHNet with WinCC Flexible|Using IBHNet with WinCC Flexible]]&lt;br /&gt;
*[[IBHNet:Using the IBH Link S5++ with Intouch|Using the IBH Link S5++ with Intouch]]&lt;br /&gt;
*[[IBHNet:Using the IBH Link S7++ with Intouch|Using the IBH Link S7++ with Intouch]]&lt;br /&gt;
*[[IBHNet:Accessing PLC variables|Accessing PLC variables]]&lt;br /&gt;
*[[IBHNet:Fetch/Write|Fetch/Write]]&lt;br /&gt;
*[[IBHNet:Unprojected PLC-PLC communication|Unprojected PLC-PLC communication]]&lt;br /&gt;
*[[IBHNet:Projected PLC-PLC communication|Projected PLC-PLC communication]]&lt;br /&gt;
*[[IBHNet:RFC1006 Communication IBH Link S7/S7Plus|RFC1006 Communication IBH Link S7/S7Plus]]&lt;br /&gt;
*[[IBHNet:RFC1006 Communication IBH Link S7++/S7++HS|RFC1006 Communication IBH Link S7++/S7++HS]]&lt;br /&gt;
*[[IBHNet:Troubleshooting|Troubleshooting]]&lt;br /&gt;
*[[IBHNet:Reset/Factory settings|Reset/Factory settings]]&lt;br /&gt;
*[[IBHNet:Technical Data IBH Link S7|Technical Data IBH Link S7]]&lt;br /&gt;
*[[IBHNet:Technical Data IBH Link S7 Plus|Technical Data IBH Link S7 Plus]]&lt;br /&gt;
*[[IBHNet:Technical Data IBH Link S7++/S7++ HS|Technical Data IBH Link S7++/S7++ HS]]&lt;br /&gt;
*[[IBHNet:Technical Data IBH Link S5++|Technical Data IBH Link S5++]]&lt;br /&gt;
*[[IBHNet:IBH Link History|IBH Link History]]&lt;br /&gt;
*[[IBHNet:Revisions|Revisions]]&lt;br /&gt;
==IBH USB-S5-Adapter==&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;2&amp;quot; class=&amp;quot;float-right&amp;quot;&amp;gt;&lt;br /&gt;
Image:IBH_USB_S5.gif|[http://www.ibhsoftec.com/IBH-USB-S5-Adapter-Eng IBH-USB-S5-Adapter]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
* [[IBH USB-S5-Adapter:SIMATIC® S5 for Windows®|Access to a SIMATIC® S5 with &#039;&#039;S5 for Windows®&#039;&#039;]]&lt;br /&gt;
* [[IBH USB-S5-Adapter:Maximum USB cable length|Maximum USB cable length]]&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:STEP%C2%AE7_Hardwareconfiguration&amp;diff=1137</id>
		<title>S7-SoftPLC:STEP®7 Hardwareconfiguration</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:STEP%C2%AE7_Hardwareconfiguration&amp;diff=1137"/>
		<updated>2013-01-23T10:33:05Z</updated>

		<summary type="html">&lt;p&gt;Jonas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;For the hardware configuration only the shown modules should be used. Configuring the process images will be made via the interface of the &#039;&#039;S7-SoftPLC&#039;&#039;. In the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration only the Ethernet-CP parameters, the PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;-CP parameters and the CPU parameters (like clock flags or time OBs) can be set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Purchase order numbers compatible to &#039;&#039;S7-SoftPLC&#039;&#039;: ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 20em&amp;quot;| 6ES7 315-1AF03-0AB0 V1.0||style=&amp;quot;width: 20em&amp;quot;| S7-SoftPLC 315 without PROFIBUS®&lt;br /&gt;
|-&lt;br /&gt;
| 6ES7 315-2AG10-0AB0 V2.0 || S7-SoftPLC 315 with PROFIBUS®&lt;br /&gt;
|-&lt;br /&gt;
| 6ES7 315-2AG10-0AB0 V2.6 || S7-SoftPLC 315 with PROFIBUS® and TIA&lt;br /&gt;
|-&lt;br /&gt;
| 6ES7 315-2EH13-0AB0 V2.6 || S7-SoftPLC 315 with PROFINET® and TIA&lt;br /&gt;
|-&lt;br /&gt;
| 6ES7 416-1XJ02-0AB0 V1.0 || S7-SoftPLC 416 without PROFIBUS®&lt;br /&gt;
|-&lt;br /&gt;
| 6ES7 416-2XK02-0AB0 V1.1 || S7-SoftPLC 416 with PROFIBUS®&lt;br /&gt;
|-&lt;br /&gt;
| 6ES7 416-2XN05-0AB0 V5.1 || S7-SoftPLC 416 with PROFIBUS® and TIA&lt;br /&gt;
|-&lt;br /&gt;
| 6ES7 416-3ER05-0AB0 V5.1 || S7-SoftPLC 416 with PROFINET® and TIA&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Sample configuration for &#039;&#039;S7-SoftPLC 315&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Slot !! Order-No / Firmware !! Name&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 7em&amp;quot;| 2 ||style=&amp;quot;width: 20em&amp;quot;| 6ES7 315-1AF03-0AB0 / V1.0 ||style=&amp;quot;width: 10em&amp;quot;| CPU 315&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;S7-SoftSPS 315&#039;&#039; with Ethernet-CP ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Slot !! Order-No / Firmware !! Name&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 7em&amp;quot;| 2 ||style=&amp;quot;width: 20em&amp;quot;| 6ES7 315-1AF03-0AB0 / V1.0 ||style=&amp;quot;width: 10em&amp;quot;| CPU 315&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 6GK7 343-1EX11-0XE0 / V2.0 || CP 343-1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
WARNING: SAVE CONFIGURATION DATA ON THE CPU NEEDS TO BE SELECTED.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;S7-SoftPLC 315&#039;&#039; with PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Slot !! Order-No / Firmware !! Name&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 7em&amp;quot;| 2 ||style=&amp;quot;width: 20em&amp;quot;| 6ES7 315-2AG10-0AB0 ||style=&amp;quot;width: 10em&amp;quot;| CPU 315-2 DP&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;S7-SoftPLC 315&#039;&#039; with PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; and Ethernet-CP ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Slot !! Order-No / Firmware !! Name&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 7em&amp;quot;| 2 ||style=&amp;quot;width: 20em&amp;quot;| 6ES7 315-2AG10-0AB0 ||style=&amp;quot;width: 10em&amp;quot;| CPU 315-2 DP&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 6GK7 343-1EX11-0XE0 / V2.0 || CP 343-1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
WARNING: SAVE CONFIGURATION DATA ON THE CPU NEEDS TO BE SELECTED.&lt;br /&gt;
&lt;br /&gt;
[[Image:Step7HW315.png|frame|none]]&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;S7-SoftPLC 416&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Slot !! Order-No / Firmware !! Name&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 7em&amp;quot;| 1 ||style=&amp;quot;width: 20em&amp;quot;| 6ES7 405-0DA00-0AA0 ||style=&amp;quot;width: 10em&amp;quot;| PS 405 4A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 6ES7 416-1XJ02-0AB0 || CPU 416-1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;S7-SoftPLC 416&#039;&#039; with Ethernet-CP ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Slot !! Order-No / Firmware !! Name&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 7em&amp;quot;| 1 ||style=&amp;quot;width: 20em&amp;quot;| 6ES7 405-0DA00-0AA0 ||style=&amp;quot;width: 10em&amp;quot;| PS 405 4A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 6ES7 416-1XJ02-0AB0 || CPU 416-1&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 6GK7 443-1EX11-0XE0 / V1.1 || CP 443-1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;S7-SoftPLC 416&#039;&#039; with PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Slot !! Order-No / Firmware !! Name&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 7em&amp;quot;| 1 ||style=&amp;quot;width: 20em&amp;quot;| 6ES7 405-0DA00-0AA0 ||style=&amp;quot;width: 10em&amp;quot;| PS 405 4A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 6ES7 416-2XK02-0AB0 || CPU 416-2 DP&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;S7-SoftPLC 416&#039;&#039; with PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; and Ethernet-CP ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Slot !! Order-No / Firmware !! Name&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 7em&amp;quot;| 1 ||style=&amp;quot;width: 20em&amp;quot;| 6ES7 405-0DA00-0AA0 ||style=&amp;quot;width: 10em&amp;quot;| PS 405 4A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 6ES7 416-2XK02-0AB0 || CPU 416-2 DP&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 6GK7 443-1EX11-0XE0 / V1.1 || CP 443-1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Image:Step7HW416.png]]&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:STEP%C2%AE7_Hardwareconfiguration&amp;diff=1136</id>
		<title>S7-SoftPLC:STEP®7 Hardwareconfiguration</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:STEP%C2%AE7_Hardwareconfiguration&amp;diff=1136"/>
		<updated>2013-01-23T10:31:39Z</updated>

		<summary type="html">&lt;p&gt;Jonas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;For the hardware configuration only the shown modules should be used. Configuring the process images will be made via the interface of the &#039;&#039;S7-SoftPLC&#039;&#039;. In the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration only the Ethernet-CP parameters, the PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;-CP parameters and the CPU parameters (like clock flags or time OBs) can be set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Purchase order numbers compatible to &#039;&#039;S7-SoftPLC&#039;&#039;: ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 20em&amp;quot;| 6ES7 315-1AF03-0AB0 V1.0||style=&amp;quot;width: 20em&amp;quot;| S7-SoftPLC 315 without PROFIBUS®&lt;br /&gt;
|-&lt;br /&gt;
| 6ES7 315-2AG10-0AB0 V2.0 || S7-SoftPLC 315 with PROFIBUS®&lt;br /&gt;
|-&lt;br /&gt;
| 6ES7 315-2AG10-0AB0 V2.6 || S7-SoftPLC 315 with PROFIBUS® and TIA&lt;br /&gt;
|-&lt;br /&gt;
| 6ES7 315-2EH13-0AB0 V2.6 || S7-SoftPLC 315 with PROFINET® and TIA&lt;br /&gt;
|-&lt;br /&gt;
| 6ES7 416-1XJ02-0AB0 V1.0 || S7-SoftPLC 416 without PROFIBUS®&lt;br /&gt;
|-&lt;br /&gt;
| 6ES7 416-2XK02-0AB0 V1.1 || S7-SoftPLC 416 with PROFIBUS®&lt;br /&gt;
|-&lt;br /&gt;
| 6ES7 416-2XN05-0AB0 V5.1 || S7-SoftPLC 416 with PROFIBUS® and TIA&lt;br /&gt;
|-&lt;br /&gt;
| 6ES7 416-3ER05-0AB0 V5.1 || S7-SoftPLC 416 with PROFINET® and TIA&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Sample configuration for &#039;&#039;S7-SoftPLC 315&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Slot !! Order-No / Firmware !! Name&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 7em&amp;quot;| 2 ||style=&amp;quot;width: 20em&amp;quot;| 6ES7 315-1AF03-0AB0 / V1.0 ||style=&amp;quot;width: 10em&amp;quot;| CPU 315&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;S7-SoftSPS 315&#039;&#039; with Ethernet-CP ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Slot !! Order-No / Firmware !! Name&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 7em&amp;quot;| 2 ||style=&amp;quot;width: 20em&amp;quot;| 6ES7 315-1AF03-0AB0 / V1.0 ||style=&amp;quot;width: 10em&amp;quot;| CPU 315&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 6GK7 343-1EX11-0XE0 / V2.0 || CP 343-1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
WARNING: SAVE CONFIGURATION DATA ON THE CPU NEEDS TO BE SELECTED.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;S7-SoftPLC 315&#039;&#039; with PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Slot !! Order-No / Firmware !! Name&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 7em&amp;quot;| 2 ||style=&amp;quot;width: 20em&amp;quot;| 6ES7 315-2AG10-0AB0 ||style=&amp;quot;width: 10em&amp;quot;| CPU 315-2 DP&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;S7-SoftPLC 315&#039;&#039; with PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; and Ethernet-CP ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Slot !! Order-No / Firmware !! Name&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 7em&amp;quot;| 2 ||style=&amp;quot;width: 20em&amp;quot;| 6ES7 315-2AG10-0AB0 ||style=&amp;quot;width: 10em&amp;quot;| CPU 315-2 DP&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 6GK7 343-1EX11-0XE0 / V2.0 || CP 343-1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
WARNING: SAVE CONFIGURATION DATA ON THE CPU NEEDS TO BE SELECTED.&lt;br /&gt;
&lt;br /&gt;
[[Image:Step7HW315.png|frame|none]]&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;S7-SoftPLC 416&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Slot !! Order-No / Firmware !! Name&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 7em&amp;quot;| 2 ||style=&amp;quot;width: 20em&amp;quot;| 6ES7 405-0DA00-0AA0 ||style=&amp;quot;width: 10em&amp;quot;| PS 405 4A&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 6ES7 416-1XJ02-0AB0 || CPU 416-1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;S7-SoftPLC 416&#039;&#039; with Ethernet-CP ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Slot !! Order-No / Firmware !! Name&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 7em&amp;quot;| 1 ||style=&amp;quot;width: 20em&amp;quot;| 6ES7 405-0DA00-0AA0 ||style=&amp;quot;width: 10em&amp;quot;| PS 405 4A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 6ES7 416-1XJ02-0AB0 || CPU 416-1&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 6GK7 443-1EX11-0XE0 / V1.1 || CP 443-1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;S7-SoftPLC 416&#039;&#039; with PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Slot !! Order-No / Firmware !! Name&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 7em&amp;quot;| 1 ||style=&amp;quot;width: 20em&amp;quot;| 6ES7 405-0DA00-0AA0 ||style=&amp;quot;width: 10em&amp;quot;| PS 405 4A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 6ES7 416-2XK02-0AB0 || CPU 416-2 DP&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;S7-SoftPLC 416&#039;&#039; with PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; and Ethernet-CP ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Slot !! Order-No / Firmware !! Name&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 7em&amp;quot;| 1 ||style=&amp;quot;width: 20em&amp;quot;| 6ES7 405-0DA00-0AA0 ||style=&amp;quot;width: 10em&amp;quot;| PS 405 4A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 6ES7 416-2XK02-0AB0 || CPU 416-2 DP&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 6GK7 443-1EX11-0XE0 / V1.1 || CP 443-1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Image:Step7HW416.png]]&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:STEP%C2%AE7_Hardwareconfiguration&amp;diff=1135</id>
		<title>S7-SoftPLC:STEP®7 Hardwareconfiguration</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:STEP%C2%AE7_Hardwareconfiguration&amp;diff=1135"/>
		<updated>2013-01-23T10:31:16Z</updated>

		<summary type="html">&lt;p&gt;Jonas: Created page with &amp;quot;For the hardware configuration only the shown modules should be used. Configuring the process images will be made via the interface of the &amp;#039;&amp;#039;S7-SoftPLC&amp;#039;&amp;#039;. In the STEP&amp;lt;sup&amp;gt;®&amp;lt;/...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;For the hardware configuration only the shown modules should be used. Configuring the process images will be made via the interface of the &#039;&#039;S7-SoftPLC&#039;&#039;. In the STEP&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;7 hardware configuration only the Ethernet-CP parameters, the PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt;-CP parameters and the CPU parameters (like clock flags or time OBs) can be set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Purchase order numbers compatible to &#039;&#039;S7-SoftPLC&#039;&#039;: ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 20em&amp;quot;| 6ES7 315-1AF03-0AB0 V1.0||style=&amp;quot;width: 20em&amp;quot;| S7-SoftPLC 315 ohne PROFIBUS®&lt;br /&gt;
|-&lt;br /&gt;
| 6ES7 315-2AG10-0AB0 V2.0 || S7-SoftPLC 315 with PROFIBUS®&lt;br /&gt;
|-&lt;br /&gt;
| 6ES7 315-2AG10-0AB0 V2.6 || S7-SoftPLC 315 with PROFIBUS® and TIA&lt;br /&gt;
|-&lt;br /&gt;
| 6ES7 315-2EH13-0AB0 V2.6 || S7-SoftPLC 315 with PROFINET® and TIA&lt;br /&gt;
|-&lt;br /&gt;
| 6ES7 416-1XJ02-0AB0 V1.0 || S7-SoftPLC 416 without PROFIBUS®&lt;br /&gt;
|-&lt;br /&gt;
| 6ES7 416-2XK02-0AB0 V1.1 || S7-SoftPLC 416 with PROFIBUS®&lt;br /&gt;
|-&lt;br /&gt;
| 6ES7 416-2XN05-0AB0 V5.1 || S7-SoftPLC 416 with PROFIBUS® and TIA&lt;br /&gt;
|-&lt;br /&gt;
| 6ES7 416-3ER05-0AB0 V5.1 || S7-SoftPLC 416 with PROFINET® and TIA&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Sample configuration for &#039;&#039;S7-SoftPLC 315&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Slot !! Order-No / Firmware !! Name&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 7em&amp;quot;| 2 ||style=&amp;quot;width: 20em&amp;quot;| 6ES7 315-1AF03-0AB0 / V1.0 ||style=&amp;quot;width: 10em&amp;quot;| CPU 315&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;S7-SoftSPS 315&#039;&#039; with Ethernet-CP ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Slot !! Order-No / Firmware !! Name&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 7em&amp;quot;| 2 ||style=&amp;quot;width: 20em&amp;quot;| 6ES7 315-1AF03-0AB0 / V1.0 ||style=&amp;quot;width: 10em&amp;quot;| CPU 315&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 6GK7 343-1EX11-0XE0 / V2.0 || CP 343-1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
WARNING: SAVE CONFIGURATION DATA ON THE CPU NEEDS TO BE SELECTED.&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;S7-SoftPLC 315&#039;&#039; with PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Slot !! Order-No / Firmware !! Name&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 7em&amp;quot;| 2 ||style=&amp;quot;width: 20em&amp;quot;| 6ES7 315-2AG10-0AB0 ||style=&amp;quot;width: 10em&amp;quot;| CPU 315-2 DP&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;S7-SoftPLC 315&#039;&#039; with PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; and Ethernet-CP ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Slot !! Order-No / Firmware !! Name&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 7em&amp;quot;| 2 ||style=&amp;quot;width: 20em&amp;quot;| 6ES7 315-2AG10-0AB0 ||style=&amp;quot;width: 10em&amp;quot;| CPU 315-2 DP&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 6GK7 343-1EX11-0XE0 / V2.0 || CP 343-1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
WARNING: SAVE CONFIGURATION DATA ON THE CPU NEEDS TO BE SELECTED.&lt;br /&gt;
&lt;br /&gt;
[[Image:Step7HW315.png|frame|none]]&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;S7-SoftPLC 416&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Slot !! Order-No / Firmware !! Name&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 7em&amp;quot;| 2 ||style=&amp;quot;width: 20em&amp;quot;| 6ES7 405-0DA00-0AA0 ||style=&amp;quot;width: 10em&amp;quot;| PS 405 4A&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 6ES7 416-1XJ02-0AB0 || CPU 416-1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;S7-SoftPLC 416&#039;&#039; with Ethernet-CP ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Slot !! Order-No / Firmware !! Name&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 7em&amp;quot;| 1 ||style=&amp;quot;width: 20em&amp;quot;| 6ES7 405-0DA00-0AA0 ||style=&amp;quot;width: 10em&amp;quot;| PS 405 4A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 6ES7 416-1XJ02-0AB0 || CPU 416-1&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 6GK7 443-1EX11-0XE0 / V1.1 || CP 443-1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;S7-SoftPLC 416&#039;&#039; with PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Slot !! Order-No / Firmware !! Name&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 7em&amp;quot;| 1 ||style=&amp;quot;width: 20em&amp;quot;| 6ES7 405-0DA00-0AA0 ||style=&amp;quot;width: 10em&amp;quot;| PS 405 4A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 6ES7 416-2XK02-0AB0 || CPU 416-2 DP&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;S7-SoftPLC 416&#039;&#039; with PROFIBUS&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; and Ethernet-CP ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Slot !! Order-No / Firmware !! Name&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 7em&amp;quot;| 1 ||style=&amp;quot;width: 20em&amp;quot;| 6ES7 405-0DA00-0AA0 ||style=&amp;quot;width: 10em&amp;quot;| PS 405 4A&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 6ES7 416-2XK02-0AB0 || CPU 416-2 DP&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 6GK7 443-1EX11-0XE0 / V1.1 || CP 443-1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Image:Step7HW416.png]]&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=Main_Page&amp;diff=1134</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=Main_Page&amp;diff=1134"/>
		<updated>2013-01-23T10:15:16Z</updated>

		<summary type="html">&lt;p&gt;Jonas: /* S7-SoftPLC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Welcome to the Wiki of IBHsoftec GmbH! [[http://www.ibhsoftec.com/ IBHsoftec GmbH]]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Germany.png|link=http://wiki.ibhsoftec.com/de/Hauptseite]]&amp;lt;br /&amp;gt;&lt;br /&gt;
== S5/S7 for Windows ==&lt;br /&gt;
* [[S5/S7 for Windows:licensing|licensing]]&lt;br /&gt;
&lt;br /&gt;
== IBHLink S5++ ==&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 for Windows®|Access to a SIMATIC® S5 with &#039;&#039;S5 for Windows®&#039;&#039; without IBH Net driver]]&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 TIA Portal V11 WinCC flexible|Access to a SIMATIC® S5 with TIA Portal V11 WinCC flexible over IBHLink S5++]]&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 WinCC flexible|Access to a SIMATIC® S5 with WinCC flexible over IBHLink S5++]]&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 PLC PcVue|Access to a SIMATIC® S5 with PcVue over IBHLink S5++]]&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 Elipse SCADA|Access to a SIMATIC® S5 with Elipse SCADA over IBHLink S5++]]&lt;br /&gt;
&lt;br /&gt;
== IBHLink S7++ ==&lt;br /&gt;
* [[IBHLink S7++:SIMATIC® S5 for Windows®|Access to a SIMATIC® S5 with &#039;&#039;S5 for Windows®&#039;&#039; via SINEC L2]]&lt;br /&gt;
* [[IBHLink S7++:S7-300/S7-400 TIA Portal WinCC flexible|Access to S7-300/S7-400 with TIA Portal V11 WinCC flexible over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:S7-300/S7-400 WinCC flexible|Access to S7-300/S7-400 with WinCC flexible over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:S7-200 WinCC flexible|Access to S7-200 with WinCC flexible over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:S7-300/S7-400 Elipse SCADA|Access to S7-300/S7-400 with Elipse SCADA over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:S7-300/S7-400 PcVue|Access to S7-300/S7-400 with PcVue over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:IBH Link S7++ with CommDTM|IBH Link S7++ with CommDTM]]&lt;br /&gt;
* [[IBHLink S7++:VEGASON IBHNetDTM|IBHNet DTM with PACTware]]&lt;br /&gt;
* [[IBHLink S7++:Time Synchronisation|Time Synchronisation]]&lt;br /&gt;
* [[IBHLink S7++:Time Synchronisation with NetPro|Time Synchronisation with NetPro]]&lt;br /&gt;
&lt;br /&gt;
== OPC Server ==&lt;br /&gt;
* [[OPCServer:Overview|Overview]]&lt;br /&gt;
* [[OPCServer:Licensing|Licensing]]&lt;br /&gt;
* [[OPCServer:Server Configuration|Server Configuration]]&lt;br /&gt;
* [[OPCServer:Variable Syntax|Variable Syntax]]&lt;br /&gt;
* [[OPCServer:Optimization|Optimization]]&lt;br /&gt;
* [[OPCServer:DCOM Configuration|DCOM Configuration]]&lt;br /&gt;
* [[OPCServer:Operation with User rights|Operation with User rights]]&lt;br /&gt;
* [[OPCServer:Pro Tool Pro V6|Pro Tool Pro V6]]&lt;br /&gt;
* [[OPCServer:WinCC|WinCC]]&lt;br /&gt;
* [[OPCServer:WinCC Flexible|WinCC Flexible]]&lt;br /&gt;
* [[OPCServer:Create Variables with Intouch FS Gateway|Create Variables with Intouch FS Gateway]]&lt;br /&gt;
* [[OPCServer:Create Variables manually with Intouch|Create Variables manually with Intouch]]&lt;br /&gt;
* [[OPCServer:Create Variables with Intouch TagCreator|Create Variables with Intouch TagCreator]]&lt;br /&gt;
* [[OPCServer:HPI Scada|HPI Scada]]&lt;br /&gt;
* [[OPCServer:Variables from LOGO! RCE|Variables from LOGO! RCE]]&lt;br /&gt;
&lt;br /&gt;
== S7-SoftPLC ==&lt;br /&gt;
* Installation&lt;br /&gt;
** [[S7-SoftPLC:System requirements|System requirements]]&lt;br /&gt;
** [[S7-SoftPLC:Installing S7-SoftPLC|Installation]]&lt;br /&gt;
** [[S7-SoftPLC:Uninstalling S7-SoftPLC|Deinstallation]]&lt;br /&gt;
* Online&lt;br /&gt;
** [[S7-SoftPLC:S7-SoftPLC online functions|Functions]]&lt;br /&gt;
** [[S7-SoftPLC:Online with STEP®7|Online with STEP®7]]&lt;br /&gt;
** [[S7-SoftPLC:Online with S7 for Windows®|Online with S7 for Windows®]]&lt;br /&gt;
* [[S7-SoftPLC:Visualizations|Visualizations]]&lt;br /&gt;
** [[S7-SoftPLC:Using the IBH S7-SoftPLC with Intouch via RFC1006|Using with Intouch via RFC1006]]&lt;br /&gt;
* [[S7-SoftPLC:Data Interface|Data Interface]]&lt;br /&gt;
* User Interface&lt;br /&gt;
** [[S7-SoftPLC:Interface and Configuration|Interface and Configuration]]&lt;br /&gt;
** [[S7-SoftPLC:Classic View|Classic View]]&lt;br /&gt;
** [[S7-SoftPLC:Configuration View|Configuration View]]&lt;br /&gt;
* Menu&lt;br /&gt;
** [[S7-SoftPLC:File menu|File]]&lt;br /&gt;
** [[S7-SoftPLC:Edit menu|Edit]]&lt;br /&gt;
** [[S7-SoftPLC:View menu|View]]&lt;br /&gt;
** [[S7-SoftPLC:Help menu|Help]]&lt;br /&gt;
** [[S7-SoftPLC:Toolbar|Toolbar]]&lt;br /&gt;
** [[S7-SoftPLC:I/O monitor|I/O monitor]]&lt;br /&gt;
* Configuration&lt;br /&gt;
** CPU Parameters&lt;br /&gt;
*** [[S7-SoftPLC:CPU Parameters|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:CPU Parameters of S7-SoftPLC|PLC43.INI]]&lt;br /&gt;
** Driver&lt;br /&gt;
*** [[S7-SoftPLC:Add/remove drivers|Add/remove drivers]]&lt;br /&gt;
*** [[S7-SoftPLC:Add/remove drivers to S7-SoftPLC|Add/remove drivers to S7-SoftPLC]]&lt;br /&gt;
** Addidata&lt;br /&gt;
*** [[S7-SoftPLC:ADDI-DATA configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring the ADDI-DATA driver|Configuration of driver]]&lt;br /&gt;
*** [[S7-SoftPLC:ADDI-DATA driver for S7-SoftPLC|Driver for S7-SoftPLC]]&lt;br /&gt;
**Beckhoff TwinCAT I/O &lt;br /&gt;
*** [[S7-SoftPLC:Configuration TwinCAT I/O|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuration TwinCAT I/O drivers|Configuration of drivers]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuration TwinCAT I/O with PLC43:INI|Configuration with PLC43.INI]]&lt;br /&gt;
*** [[S7-SoftPLC:S7-SoftPLC Service and TwinCat|S7-SoftPLC Service and TwinCat]]&lt;br /&gt;
**CIF 30/50/60&lt;br /&gt;
*** [[S7-SoftPLC:Basic configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring the CIF-card with the SyCon System Configurator|Configuration with System Configurator]]&lt;br /&gt;
*** [[S7-SoftPLC:CIF 30/50/60 Settings|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:CIF 30/50/60 settings of S7-SoftPLC|PLC43.INI]]&lt;br /&gt;
*** [[S7-SoftPLC:PROFIBUS® configuration via S7 for Windows®/STEP®7|PROFIBUS® configuration via S7 for Windows®/STEP®7]]&lt;br /&gt;
** cifX&lt;br /&gt;
*** [[S7-SoftPLC:cifX Basic configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuration of cifX card with SYCON.NET|Configuration with SYCON.NET]]&lt;br /&gt;
*** [[S7-SoftPLC:cifX User Interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:cifX settings of IBHsoftec S7-SoftPLC|Settings of the IBHsoftec S7-SoftPLC]]&lt;br /&gt;
*** [[S7-SoftPLC:cifX PROFIBUS® configuration via S7 for Windows®/STEP®7|PROFIBUS® configuration via S7 for Windows®/STEP®7]]&lt;br /&gt;
** CP340/CP440&lt;br /&gt;
*** [[S7-SoftPLC:Configuring CP340/CP440 emulation|Emulation]]&lt;br /&gt;
*** [[S7-SoftPLC:Configure the CP340/CP440 emulation via user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring CP340/440 emulation in PLC43.INI|PLC43.INI]]&lt;br /&gt;
** CP343/CP443 &lt;br /&gt;
*** [[S7-SoftPLC:Configuring CP343/CP443 emulation|Emulation]]&lt;br /&gt;
*** [[S7-SoftPLC:Configure the CP343/CP443 emulation via user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring CP343/443 emulation in PLC43.INI|PLC43.INI]]&lt;br /&gt;
** I/O Port&lt;br /&gt;
*** [[S7-SoftPLC:Configuring PC hardware ports|Configuring PC hardware ports]]&lt;br /&gt;
*** [[S7-SoftPLC:Setting PC hardware port with user interface|User interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Setting PC hardware ports with PLC43.INI|PLC43.INI]]&lt;br /&gt;
** Modbus TCP&lt;br /&gt;
*** [[S7-SoftPLC:Modbus TCP configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring Modbus TCP with the user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring Modbus TCP with PLC43.INI|PLC43.INI]]&lt;br /&gt;
** NVRAM&lt;br /&gt;
*** [[S7-SoftPLC:NVRAM configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:NVRAM configuration with the user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:NVRAM configuration with the PLC43.INI|PLC43.INI]]&lt;br /&gt;
** Softnet PN IO&lt;br /&gt;
*** [[S7-SoftPLC:Softnet PN IO configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring SoftNet with the user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring SoftNet PN IO with PLC43.INI|PLC43.INI]]&lt;br /&gt;
** User SFC&lt;br /&gt;
*** [[S7-SoftPLC:User SFC configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Setting the User SFC&#039;s/FC&#039;s within the user interface|User Interface]]&lt;br /&gt;
* [[S7-SoftPLC:Technical data|Technical data]]&lt;br /&gt;
** [[S7-SoftPLC:STEP®7 Hardwareconfiguration|STEP®7 Hardwareconfiguration]]&lt;br /&gt;
** [[S7-SoftPLC:Diagnostic buffer entries|Diagnostic buffer entries]]&lt;br /&gt;
&lt;br /&gt;
== S7-PCI315 ==&lt;br /&gt;
* [[S7-PCI315:Documentation Overview|Documentation Overview]]&lt;br /&gt;
* [[S7-PCI315:Legal Notes|Legal Notes]]&lt;br /&gt;
* [[S7-PCI315:Licenses|Licenses]]&lt;br /&gt;
* [[S7-PCI315:Safety|Safety]]&lt;br /&gt;
* [[S7-PCI315:Description and Requirements|Description and Requirements]]&lt;br /&gt;
* [[S7-PCI315:Device Drawings|Device Drawings]]&lt;br /&gt;
* [[S7-PCI315:System Overview|System Overview]]&lt;br /&gt;
* [[S7-PCI315:Device Driver Setup|Device Driver Setup]]&lt;br /&gt;
* [[S7-PCI315:Firmware Update|Firmware Update]]&lt;br /&gt;
* [[S7-PCI315:USB driver installation|USB driver installation]]&lt;br /&gt;
* [[S7-PCI315:Install S7netPLCComm service|Install S7netPLCComm service]]&lt;br /&gt;
* [[S7-PCI315:Safety Advices|Safety Advices]]&lt;br /&gt;
* [[S7-PCI315:Installing Battery|Installing Battery]]&lt;br /&gt;
* [[S7-PCI315:Installing S7-PCI315 PLC|Installing S7-PCI315 PLC]]&lt;br /&gt;
* [[S7-PCI315:HMI/data access|HMI/data access]]&lt;br /&gt;
* [[S7-PCI315:S7netPLCComm service|S7netPLCComm service]]&lt;br /&gt;
* [[S7-PCI315:Service configuration|Service configuration]]&lt;br /&gt;
* [[S7-PCI315:Configuration user interface|Configuration user interface]]&lt;br /&gt;
* [[S7-PCI315:Configuration INI file|Configuration INI file]]&lt;br /&gt;
* [[S7-PCI315:WinCC Flexible local|WinCC Flexible local]]&lt;br /&gt;
* [[S7-PCI315:Programming|Programming]]&lt;br /&gt;
* [[S7-PCI315:Instruction set|Instruction set]]&lt;br /&gt;
* [[S7-PCI315:Integrated blocks|Integrated blocks]]&lt;br /&gt;
* [[S7-PCI315:Power Supply|Power Supply]]&lt;br /&gt;
* [[S7-PCI315:Reset Behaviour|Reset Behaviour]]&lt;br /&gt;
* [[S7-PCI315:RUN/STOP Switch|RUN/STOP Switch]]&lt;br /&gt;
* [[S7-PCI315:Battery|Battery]]&lt;br /&gt;
* [[S7-PCI315:Changing the Battery|Changing the Battery]]&lt;br /&gt;
* [[S7-PCI315:Battery Disposal|Battery Disposal]]&lt;br /&gt;
* [[S7-PCI315:LED|LED]]&lt;br /&gt;
* [[S7-PCI315:LED SYS|LED SYS]]&lt;br /&gt;
* [[S7-PCI315:LED APL|LED APL]]&lt;br /&gt;
* [[S7-PCI315:LED PROFIBUS DP-Master|LED PROFIBUS DP-Master]]&lt;br /&gt;
* [[S7-PCI315:Memory Card|Memory Card]]&lt;br /&gt;
* [[S7-PCI315:Read State|Read State]]&lt;br /&gt;
* [[S7-PCI315:Dualport communication|Dualport communication]]&lt;br /&gt;
* [[S7-PCI315:Knowledge base|Knowledge base]]&lt;br /&gt;
* [[S7-PCI315:Troubleshooting|Troubleshooting]]&lt;br /&gt;
* [[S7-PCI315:Error Codes|Error Codes]]&lt;br /&gt;
* [[S7-PCI315:Technical Data|Technical Data]]&lt;br /&gt;
&lt;br /&gt;
== IBHNet ==&lt;br /&gt;
*[[IBHNet:Introduction|Introduction]]&lt;br /&gt;
*[[IBHNet:System Requirements|System Requirements]]&lt;br /&gt;
*[[IBHNet:Installation|Installation]]&lt;br /&gt;
*[[IBHNet:Local Operation|Local Operation]]&lt;br /&gt;
*[[IBHNet:Operation in a local area network|Operation in a local area network]]&lt;br /&gt;
*[[IBHNet:Operation via the Internet|Operation via the Internet]]&lt;br /&gt;
*[[IBHNet:IBH Link S7|IBH Link S7]]&lt;br /&gt;
*[[IBHNet:IBH Link S5++|IBH Link S5++]]&lt;br /&gt;
*[[IBHNet:IBH Link S5++ with STEP®5|IBH Link S5++ with STEP®5]]&lt;br /&gt;
*[[IBHNet:Defining access names to identify the PLCs|Defining access names to identify the PLCs]]&lt;br /&gt;
*[[IBHNet:Settings within STEP®7|Settings within STEP®7]]&lt;br /&gt;
*[[IBHNet:Settings within STEP®7 without IBHNet driver|Settings within STEP®7 without IBHNet driver]]&lt;br /&gt;
*[[IBHNet:Settings within STEP®7 MicroWin starting with V3.1 SP2|Settings within STEP®7 MicroWin starting with V3.1 SP2]]&lt;br /&gt;
*[[IBHNet:Settings within TIA®|Settings within TIA®]]&lt;br /&gt;
*[[IBHNet:Settings within TIA® without IBHNet driver|Settings within TIA® without IBHNet driver]]&lt;br /&gt;
*[[IBHNet:Using IBHNet with WinCC|Using IBHNet with WinCC]]&lt;br /&gt;
*[[IBHNet:Using IBHNet with ProTool|Using IBHNet with ProTool]]&lt;br /&gt;
*[[IBHNet:Using IBHNet with WinCC Flexible|Using IBHNet with WinCC Flexible]]&lt;br /&gt;
*[[IBHNet:Using the IBH Link S5++ with Intouch|Using the IBH Link S5++ with Intouch]]&lt;br /&gt;
*[[IBHNet:Using the IBH Link S7++ with Intouch|Using the IBH Link S7++ with Intouch]]&lt;br /&gt;
*[[IBHNet:Accessing PLC variables|Accessing PLC variables]]&lt;br /&gt;
*[[IBHNet:Fetch/Write|Fetch/Write]]&lt;br /&gt;
*[[IBHNet:Unprojected PLC-PLC communication|Unprojected PLC-PLC communication]]&lt;br /&gt;
*[[IBHNet:Projected PLC-PLC communication|Projected PLC-PLC communication]]&lt;br /&gt;
*[[IBHNet:RFC1006 Communication IBH Link S7/S7Plus|RFC1006 Communication IBH Link S7/S7Plus]]&lt;br /&gt;
*[[IBHNet:RFC1006 Communication IBH Link S7++/S7++HS|RFC1006 Communication IBH Link S7++/S7++HS]]&lt;br /&gt;
*[[IBHNet:Troubleshooting|Troubleshooting]]&lt;br /&gt;
*[[IBHNet:Reset/Factory settings|Reset/Factory settings]]&lt;br /&gt;
*[[IBHNet:Technical Data IBH Link S7|Technical Data IBH Link S7]]&lt;br /&gt;
*[[IBHNet:Technical Data IBH Link S7 Plus|Technical Data IBH Link S7 Plus]]&lt;br /&gt;
*[[IBHNet:Technical Data IBH Link S7++/S7++ HS|Technical Data IBH Link S7++/S7++ HS]]&lt;br /&gt;
*[[IBHNet:Technical Data IBH Link S5++|Technical Data IBH Link S5++]]&lt;br /&gt;
*[[IBHNet:IBH Link History|IBH Link History]]&lt;br /&gt;
*[[IBHNet:Revisions|Revisions]]&lt;br /&gt;
==IBH USB-S5-Adapter==&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;2&amp;quot; class=&amp;quot;float-right&amp;quot;&amp;gt;&lt;br /&gt;
Image:IBH_USB_S5.gif|[http://www.ibhsoftec.com/IBH-USB-S5-Adapter-Eng IBH-USB-S5-Adapter]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
* [[IBH USB-S5-Adapter:SIMATIC® S5 for Windows®|Access to a SIMATIC® S5 with &#039;&#039;S5 for Windows®&#039;&#039;]]&lt;br /&gt;
* [[IBH USB-S5-Adapter:Maximum USB cable length|Maximum USB cable length]]&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Diagnostic_buffer_entries&amp;diff=1133</id>
		<title>S7-SoftPLC:Diagnostic buffer entries</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Diagnostic_buffer_entries&amp;diff=1133"/>
		<updated>2013-01-23T10:05:19Z</updated>

		<summary type="html">&lt;p&gt;Jonas: Created page with &amp;quot;The chart below shows the differences to S7-hardware PLC diagnostic buffer entries:  {| class=&amp;quot;wikitable&amp;quot; |- ! Diagnostic buffer entries !! Driver !! Description |- |style=&amp;quot;wi...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The chart below shows the differences to S7-hardware PLC diagnostic buffer entries:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Diagnostic buffer entries !! Driver !! Description&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 8em&amp;quot;| 0xA000 ||style=&amp;quot;width: 12em&amp;quot;| CIF PROFIBUS® || CIF-PROFIBUS®-card could not be initialized.&lt;br /&gt;
|-&lt;br /&gt;
| 0xA001 || CIF PROFIBUS® || Timeout during startup.&lt;br /&gt;
|-&lt;br /&gt;
| 0xA002 || CIF PROFIBUS® || Parameter inappropriate for CIF-Task&lt;br /&gt;
|-&lt;br /&gt;
| 0xA003 || CIF PROFIBUS® || Timeout during hot start&lt;br /&gt;
|-&lt;br /&gt;
| 0xA004 || CIF PROFIBUS® || Error when reading CIF-Firmware info&lt;br /&gt;
|-&lt;br /&gt;
| 0xA005 || CIF PROFIBUS® || Error when reading CIF-driver status&lt;br /&gt;
|-&lt;br /&gt;
| 0xA006 || CIF PROFIBUS® || Error when writing a message into the CIF-card&lt;br /&gt;
|-&lt;br /&gt;
| 0xA007 || CIF PROFIBUS® || Error when writing a message from the CIF-card&lt;br /&gt;
|-&lt;br /&gt;
| 0xA008 || CIF PROFIBUS® || Fehler bei PROFIBUS® Diagnose (PG)&lt;br /&gt;
CIF-Fehlercode&lt;br /&gt;
|-&lt;br /&gt;
| 0xA009 || CIF PROFIBUS® || Error at PROFIBUS® Diagnostics (PU)&lt;br /&gt;
CIF-error code&lt;br /&gt;
|-&lt;br /&gt;
| 0xA00A || CIF PROFIBUS® || Timeout during hot start&lt;br /&gt;
|-&lt;br /&gt;
| 0xA00B || CIF PROFIBUS® || Error at PROFIBUS® Diagnostics (PU)&lt;br /&gt;
CIF-error code&lt;br /&gt;
|-&lt;br /&gt;
| 0xA00C || CIF PROFIBUS® || Error at PROFIBUS® Diagnostics (PU)&lt;br /&gt;
CIF-error code&lt;br /&gt;
|-&lt;br /&gt;
| 0xA00D || CIF PROFIBUS® || Error at PROFIBUS® Diagnostics (PU)&lt;br /&gt;
CIF-error code&lt;br /&gt;
|-&lt;br /&gt;
| 0xA00E || CIF PROFIBUS® || Error at PROFIBUS® Diagnostics (PU)&lt;br /&gt;
CIF-error code&lt;br /&gt;
|-&lt;br /&gt;
| 0xA00F || CIF PROFIBUS® || Error at PROFIBUS® Diagnostics (PU)&lt;br /&gt;
CIF-error code&lt;br /&gt;
|-&lt;br /&gt;
| 0xA010 || CIF PROFIBUS® || No CIF-driver installed&lt;br /&gt;
|-&lt;br /&gt;
| 0xA011 || CIF PROFIBUS® || CIF-PROFIBUS®-card could not be initialized&lt;br /&gt;
|-&lt;br /&gt;
| 0xA012 || CIF PROFIBUS® || CIF-PROFIBUS®-card not available&lt;br /&gt;
|-&lt;br /&gt;
| 0xA013 || CIF PROFIBUS® || Bus parameters for slaves could not be set&lt;br /&gt;
|-&lt;br /&gt;
| 0xA014 || CIF PROFIBUS® || Parameterisation of the CIF-PROFIBUS®-card with SDB-Daten failed&lt;br /&gt;
|-&lt;br /&gt;
| 0xA015 || MPI® || MPI®-telegram error&lt;br /&gt;
|-&lt;br /&gt;
| 0xA016 || CIF PROFIBUS® || Error in PU communication via PROFIBUS®&lt;br /&gt;
|-&lt;br /&gt;
| 0xA017 || CIF PROFIBUS® || Error in PU communication via PROFIBUS®&lt;br /&gt;
|-&lt;br /&gt;
| 0xA018 || CIF PROFIBUS® || Error in PU communication via PROFIBUS®&lt;br /&gt;
|-&lt;br /&gt;
| 0xA019 || CIF PROFIBUS® || Timeout in input data exchange with the CIF-card during SFC DPRD_DAT&lt;br /&gt;
|-&lt;br /&gt;
| 0xA01A || CIF PROFIBUS® || Error at PROFIBUS® Diagnostics (SFC/SFB)&lt;br /&gt;
CIF-error code&lt;br /&gt;
|-&lt;br /&gt;
| 0xA01B || CIF PROFIBUS® || Error at PROFIBUS® Diagnostics (SFC/SFB)&lt;br /&gt;
CIF-error code&lt;br /&gt;
|-&lt;br /&gt;
| 0xA01C || CIF PROFIBUS® || Error at PROFIBUS® Diagnostics (SFC/SFB)&lt;br /&gt;
CIF-error code&lt;br /&gt;
|-&lt;br /&gt;
| 0xA01D || CIF PROFIBUS® || Error at PROFIBUS® Diagnostics (SFC/SFB)&lt;br /&gt;
CIF-error code&lt;br /&gt;
|-&lt;br /&gt;
| 0xA020 || CIF PROFIBUS® || Error in input data exchange with the CIF-card during SFC DPRD_DAT&lt;br /&gt;
|-&lt;br /&gt;
| 0xA021 || CIF PROFIBUS® || Timeout in output data exchange with the CIF-card during SFC DPWR_DAT&lt;br /&gt;
|-&lt;br /&gt;
| 0xA022 || CIF PROFIBUS® || Error in output data exchange with the CIF-card during SFC DPWR_DAT&lt;br /&gt;
|-&lt;br /&gt;
| 0xA023 || CIF PROFIBUS® || CIF-PROFIBUS®-card could not be detected&lt;br /&gt;
|-&lt;br /&gt;
| 0xA024 || CIF PROFIBUS® || CIF-PROFIBUS®-card could not be initialized&lt;br /&gt;
|-&lt;br /&gt;
| 0xA025 || MPI® || MPI®-telegram error&lt;br /&gt;
|-&lt;br /&gt;
| 0xA050 || CIF 30/50/60 || No CIF-driver installed&lt;br /&gt;
|-&lt;br /&gt;
| 0xA051 || CIF 30/50/60 || CIF-card could not be initialized&lt;br /&gt;
|-&lt;br /&gt;
| 0xA052 || CIF 30/50/60 || CIF-card not available&lt;br /&gt;
|-&lt;br /&gt;
| 0xA053 || CIF 30/50/60 || Timeout during cold start&lt;br /&gt;
|-&lt;br /&gt;
| 0xA054 || CIF 30/50/60 || Application could not be set to operational mode &amp;quot;READY&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0xA055 || CIF 30/50/60 || Error in I/O-data exchange with the CIF-card during PII/PIQ update&lt;br /&gt;
|-&lt;br /&gt;
| 0xA056 || CIF 30/50/60 || Error in input data exchange with the CIF-card during T PI&lt;br /&gt;
|-&lt;br /&gt;
| 0xA057 || CIF 30/50/60 || Error in output data exchange with the CIF-card during T PQ&lt;br /&gt;
|-&lt;br /&gt;
| 0xA058 || CIF 30/50/60 || Error reading CIF-Task-mode&lt;br /&gt;
|-&lt;br /&gt;
| 0xA05A || CIF 30/50/60 || CIF-card could not be initialized&lt;br /&gt;
|-&lt;br /&gt;
| 0xA05B || CIF 30/50/60 || CIF-card could not be initialized&lt;br /&gt;
|-&lt;br /&gt;
| 0xA060 || CIF 30/50/60 || Error reading CIF-Task-mode&lt;br /&gt;
|-&lt;br /&gt;
| 0xA061 || CIF 30/50/60 || Error accessing the watchdog&lt;br /&gt;
|-&lt;br /&gt;
| 0xA062 || CIF 30/50/60 || CIF-driver not in operational mode &amp;quot;COM&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0xA063 || CIF 30/50/60 || DevExchangeIO in ClearOutputs failed&lt;br /&gt;
|-&lt;br /&gt;
| 0xA064 || CIF 30/50/60 || Error reading CIF-driver status&lt;br /&gt;
|-&lt;br /&gt;
| 0xA065 || CIF 30/50/60 || Error reading CIF-driver status&lt;br /&gt;
|-&lt;br /&gt;
| 0xA069 || CIF 30/50/60 || Timeout in I/O-data exchange with the CIF-card during PII/PIQ update&lt;br /&gt;
|-&lt;br /&gt;
| 0xA070 || CIF 30/50/60 || Timeout in input data exchange with the CIF-card during L PI&lt;br /&gt;
|-&lt;br /&gt;
| 0xA071 || CIF 30/50/60 || Timeout in output data exchange with the CIF-card during T PQ&lt;br /&gt;
|-&lt;br /&gt;
| 0xA072 || CIF 30/50/60 || Timeout in input data exchange with the CIF-card during SFC DPRD_DAT&lt;br /&gt;
|-&lt;br /&gt;
| 0xA073 || CIF 30/50/60 || Error in input data exchange with the CIF-card during SFC DPWR_DAT&lt;br /&gt;
|-&lt;br /&gt;
| 0xA074 || CIF 30/50/60 || Timeout in input data exchange with the CIF-card during SFC DPRD_DAT&lt;br /&gt;
|-&lt;br /&gt;
| 0xA075 || CIF 30/50/60 || Error in output data exchange with the CIF-card&lt;br /&gt;
|-&lt;br /&gt;
| 0xA080 || CIF 30/50/60 || CIF-driver not ready&lt;br /&gt;
|-&lt;br /&gt;
| 0xA081 || CIF 30/50/60 || CIF-driver not in mode &amp;quot;RUN&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0xA082 || CIF 30/50/60 || CIF-driver not in mode &amp;quot;COM&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0xA090 || CIF30X || CIF-driver not ready&lt;br /&gt;
|-&lt;br /&gt;
| 0xA091 || CIF30X || CIF-driver not in mode &amp;quot;RUN&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0xA092 || CIF30X || CIF-driver not in mode &amp;quot;COM&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0xA100 || TwinCAT I/O || Port number from PLC43.INI, not available in TwinCAT task&lt;br /&gt;
Subsequent value is returned from TCatIoOpen&lt;br /&gt;
|-&lt;br /&gt;
| 0xA101 || TwinCAT I/O || Error in PLC43.INI&lt;br /&gt;
Periphery start &amp;lt; byte start&lt;br /&gt;
|-&lt;br /&gt;
| 0xA102 || TwinCAT I/O || PII/PIQ update during startup failed&lt;br /&gt;
|-&lt;br /&gt;
| 0xA103 || TwinCAT I/O || Error in PLC43.INI&lt;br /&gt;
Periphery &amp;lt; process image&lt;br /&gt;
|-&lt;br /&gt;
| 0xA104 || TwinCAT I/O || Timeout when connecting to TwinCAT driver&lt;br /&gt;
Subsequent value is returned from the last function&lt;br /&gt;
|-&lt;br /&gt;
| 0xA105 || TwinCAT I/O || TwinCAT driver not in RUN&lt;br /&gt;
Subsequent value is returned from the function TCatGetState()&lt;br /&gt;
|-&lt;br /&gt;
| 0xA106 || TwinCAT I/O || TwinCAT driver update ClearOutputs failed (driver not in RUN anymore)&lt;br /&gt;
Subsequent value is returned from the function TCatIoOutputUpdate&lt;br /&gt;
|-&lt;br /&gt;
| 0xA107 || TwinCAT I/O || TwinCAT driver update PII failed (driver not in RUN anymore)&lt;br /&gt;
Subsequent value is returned from the function TCatIoOutputUpdate&lt;br /&gt;
|-&lt;br /&gt;
| 0xA108 || TwinCAT I/O || TwinCAT driver update PIQ failed (driver not in RUN anymore)&lt;br /&gt;
Subsequent value is returned from the function TCatIoOutputUpdate&lt;br /&gt;
|-&lt;br /&gt;
| 0xA109 || TwinCAT I/O || TwinCAT driver update LoadPI failed (driver not in RUN anymore)&lt;br /&gt;
Subsequent value is returned from the function TCatIoInputUpdate&lt;br /&gt;
|-&lt;br /&gt;
| 0xA10A || TwinCAT I/O || TwinCAT driver update StorePY failed (driver not in RUN anymore)&lt;br /&gt;
Subsequent value is returned from the function TCatIoOutputUpdate&lt;br /&gt;
|-&lt;br /&gt;
| 0xA10B || TwinCAT I/O || TwinCAT driver update while retriggering data failed (driver not in RUN anymore)&lt;br /&gt;
Subsequent value is returned from the TwinCAT function&lt;br /&gt;
|-&lt;br /&gt;
| 0xA10C || TwinCAT I/O || Saving the changed configuration during startup failed.&lt;br /&gt;
Subsequent value is returned from the function&lt;br /&gt;
|-&lt;br /&gt;
| 0xA10D || TwinCAT I/O || TCatIoInputUpdate reports &#039;Busy&#039; during refreshing the inputs&lt;br /&gt;
|-&lt;br /&gt;
| 0xA10E || TwinCAT I/O || TCatIoInputUpdate reports &#039;Busy&#039; during refreshing the inputs&lt;br /&gt;
|-&lt;br /&gt;
| 0xA10F || TwinCAT I/O || TwinCAT driver update PII failed (driver not in RUN anymore)&lt;br /&gt;
Subsequent value is returned from the function TCatIoOutputUpdate&lt;br /&gt;
|-&lt;br /&gt;
| 0xA110 || TwinCAT I/O || TwinCAT driver update StorePQ failed (driver not in RUN anymore)&lt;br /&gt;
Subsequent value is returned from the function TCatIoOutputUpdate&lt;br /&gt;
|-&lt;br /&gt;
| 0xA111 || TwinCAT I/O || TCatIoGetInputPtr failed&lt;br /&gt;
|-&lt;br /&gt;
| 0xA112 || TwinCAT I/O || TCatIoGetOutputPtr failed&lt;br /&gt;
|-&lt;br /&gt;
| 0xA113 || TwinCAT I/O || ADS communication thread could not get local address and was closed. No ADS communication possible.&lt;br /&gt;
Next value is returned from the function __AdsGetLocalAddress,if value is 0, then __AdsPortOpen has failed&lt;br /&gt;
|-&lt;br /&gt;
| 0xA114 || TwinCAT I/O || AdsSyncReadReq in FDL communication failed&lt;br /&gt;
|-&lt;br /&gt;
| 0xA115 || TwinCAT I/O || AdsSyncWriteReq in FDL communication failed&lt;br /&gt;
|-&lt;br /&gt;
| 0xA116 || TwinCAT I/O || AdsSyncReadReq in FDL communication failed&lt;br /&gt;
|-&lt;br /&gt;
| 0xA117 || TwinCAT I/O || AdsSyncWriteReq in FDL communication failed&lt;br /&gt;
|-&lt;br /&gt;
| 0xA118 || TwinCAT I/O || AdsSyncWriteReq in FDL communication failed&lt;br /&gt;
|-&lt;br /&gt;
| 0xA119 || TwinCAT I/O || TCatIoOutputUpdate reports &#039;Busy&#039; during refreshing the outputs&lt;br /&gt;
|-&lt;br /&gt;
| 0xA120 || Softnet PN IO || Softnet error code of function PNIO_set_mode followed by the&lt;br /&gt;
Softnet error code&lt;br /&gt;
|-&lt;br /&gt;
| 0xA121 || Softnet PN IO || Softnet error code of function PNIO_controller_open followed by&lt;br /&gt;
Index of the controller&lt;br /&gt;
Softnet error code&lt;br /&gt;
|-&lt;br /&gt;
| 0xA122 || Softnet PN IO || Callback-error code for &amp;quot;mode change confirmation&amp;quot; followed by the&lt;br /&gt;
Softnet error code&lt;br /&gt;
|-&lt;br /&gt;
| 0xA123 || Softnet PN IO || Callback-error code for &amp;quot;device activate confirmation&amp;quot; followed by the&lt;br /&gt;
Softnet error code&lt;br /&gt;
|-&lt;br /&gt;
| 0xA124 || Softnet PN IO || Softnet error code of function PNIO_close followed by the&lt;br /&gt;
Softnet error code&lt;br /&gt;
|-&lt;br /&gt;
| 0xA126 || Softnet PN IO || Error in initialising of the Softnet PN IO driver&lt;br /&gt;
|-&lt;br /&gt;
| 0xA127 || Softnet PN IO || Softnet error code of function PNIO_set_mode operate followed by the&lt;br /&gt;
Softnet error code&lt;br /&gt;
|-&lt;br /&gt;
| 0xA128 || Softnet PN IO || Driver needs too much time to get into operate mode during initialization&lt;br /&gt;
|-&lt;br /&gt;
| 0xA140 || Addidata || Addidata error code&lt;br /&gt;
Subsequent value is returned from an ADDIPACK function&lt;br /&gt;
|-&lt;br /&gt;
| 0xA141 || I/O Port || No I/O Port access permitted by OS&lt;br /&gt;
|-&lt;br /&gt;
| 0xA148 || IBSPCI4 || Out of range error&lt;br /&gt;
|-&lt;br /&gt;
| 0xA149 || IBSPCI4|| openMXIDevice failed while opening the interbus board&lt;br /&gt;
|-&lt;br /&gt;
| 0xA14A || IBSPCI4 || closeMXIDevice failed while closing the interbus board&lt;br /&gt;
|-&lt;br /&gt;
| 0xA14B || IBSPCI4 || openDTIDevice failed while opening the interbus board&lt;br /&gt;
|-&lt;br /&gt;
| 0xA14C || IBSPCI4 || closeDTIDevice failed while closing the interbus board&lt;br /&gt;
|-&lt;br /&gt;
| 0xA150 || CIFX || Error in Profinet Diagnostics&lt;br /&gt;
|-&lt;br /&gt;
| 0xA151 || CIFX || Error in Profinet Diagnostics&lt;br /&gt;
|-&lt;br /&gt;
| 0xA152 || CIFX || Error on reset channel&lt;br /&gt;
|-&lt;br /&gt;
| 0xA153 || CIFX || Error on reset channel&lt;br /&gt;
|-&lt;br /&gt;
| 0xA154 || CIFX || Error on reset channel&lt;br /&gt;
|-&lt;br /&gt;
| 0xA155 || CIFX || Error in SFB 52 &#039;RDREC&#039;&lt;br /&gt;
|-&lt;br /&gt;
| 0xA156 || CIFX || Error in SFB 53 &#039;WRREC&#039;&lt;br /&gt;
|-&lt;br /&gt;
| 0xA161 || CIFX || Error on loading cifX driver&lt;br /&gt;
|-&lt;br /&gt;
| 0xA162 || CIFX || Error on sysdevice open&lt;br /&gt;
|-&lt;br /&gt;
| 0xA163 || CIFX || Error on channel open&lt;br /&gt;
|-&lt;br /&gt;
| 0xA164 || CIFX || Error on reset channel&lt;br /&gt;
|-&lt;br /&gt;
| 0xA165 || CIFX || Error on access host state&lt;br /&gt;
|-&lt;br /&gt;
| 0xA166 || CIFX || Error on access bus state&lt;br /&gt;
|-&lt;br /&gt;
| 0xA167 || CIFX || Error on reading input area PII&lt;br /&gt;
|-&lt;br /&gt;
| 0xA168 || CIFX || Error on writing output area PIQ&lt;br /&gt;
|-&lt;br /&gt;
| 0xA169 || CIFX || Error on reading periphery input area&lt;br /&gt;
|-&lt;br /&gt;
| 0xA16A || CIFX || Error on writing periphery output area&lt;br /&gt;
|-&lt;br /&gt;
| 0xA16B || CIFX || Error setting the watchdog&lt;br /&gt;
|-&lt;br /&gt;
| 0xA16C || CIFX || Error in xChannelIORead of SFC14&lt;br /&gt;
|-&lt;br /&gt;
| 0xA16D || CIFX || Error in xChannelIORead of SFC15&lt;br /&gt;
|-&lt;br /&gt;
| 0xA16F || CIFX || Error in xChannelInfo&lt;br /&gt;
|-&lt;br /&gt;
| 0xA170 || CIFX || Timeout starting the bus&lt;br /&gt;
|-&lt;br /&gt;
| 0xA171 || CIFX || Timeout starting the bus&lt;br /&gt;
|-&lt;br /&gt;
| 0xA172 || CIFX || Error in xSysdeviceInfo of SFC14&lt;br /&gt;
|-&lt;br /&gt;
| 0xA173 || CIFX || Error in xSysdeviceInfo of SFC15&lt;br /&gt;
|-&lt;br /&gt;
| 0xA174 || CIFX || Error initializing the Profibus board&lt;br /&gt;
|-&lt;br /&gt;
| 0xA175 || CIFX || Error deleting the Sycon.NET configuration.&lt;br /&gt;
|-&lt;br /&gt;
| 0xA176 || CIFX || Error configuring the card, make sure no .nxd file exists&lt;br /&gt;
|-&lt;br /&gt;
| 0xA177 || CIFX || Error configuring bus parameters&lt;br /&gt;
|-&lt;br /&gt;
| 0xA178 || CIFX || Error in Profibus Diagnostics&lt;br /&gt;
|-&lt;br /&gt;
| 0xA179 || CIFX || Error in Profibus Diagnostics&lt;br /&gt;
|-&lt;br /&gt;
| 0xA17A || CIFX || Error in Profibus Diagnostics&lt;br /&gt;
|-&lt;br /&gt;
| 0xA17B || CIFX || Error in Profibus Diagnostics&lt;br /&gt;
|-&lt;br /&gt;
| 0xA17C || CIFX || Error in Profibus Diagnostics&lt;br /&gt;
|-&lt;br /&gt;
| 0xA17D || CIFX || Error in Profibus Diagnostics&lt;br /&gt;
|-&lt;br /&gt;
| 0xA17E || CIFX || Error activating/deactivating slaves&lt;br /&gt;
|-&lt;br /&gt;
| 0xA17F || CIFX || Error in Profibus Diagnostics SFC13&lt;br /&gt;
|-&lt;br /&gt;
| 0xA180 || CIFX || Error in SFC 59 &#039;RD_REC&#039;&lt;br /&gt;
|-&lt;br /&gt;
| 0xA181 || CIFX || Error in SFC 58 &#039;WR_REC&#039;&lt;br /&gt;
|-&lt;br /&gt;
| 0xA182 || CIFX || Error in SFB 52 &#039;RDREC&#039;&lt;br /&gt;
|-&lt;br /&gt;
| 0xA183 || CIFX || Error in SFB 53 &#039;WRREC&#039;&lt;br /&gt;
|-&lt;br /&gt;
| 0xA184 || CIFX || Error in Profibus Diagnostics&lt;br /&gt;
|-&lt;br /&gt;
| 0xA185 || CIFX || Error in xChannelExtendedStatusBlock&lt;br /&gt;
|-&lt;br /&gt;
| 0xA186 || CIFX || Error in xChannelExtendedStatusBlock&lt;br /&gt;
|-&lt;br /&gt;
| 0xA187 || CIFX || Error in xChannelExtendedStatusBlock&lt;br /&gt;
|-&lt;br /&gt;
| 0xA188 || CIFX || Error in xChannelExtendedStatusBlock&lt;br /&gt;
|-&lt;br /&gt;
| 0xA189 || CIFX || Error reconfiguring the card&lt;br /&gt;
|-&lt;br /&gt;
| 0xA18A || CIFX || CifX device driver &amp;lt; 0.946 and/or profibus firmware &amp;lt; 2.3.22.5&lt;br /&gt;
|-&lt;br /&gt;
| 0xA190 || CIFX || Error analyzing the Profinet configuration&lt;br /&gt;
|-&lt;br /&gt;
| 0xA191 || CIFX || Error analyzing the Profinet configuration&lt;br /&gt;
|-&lt;br /&gt;
| 0xA192 || CIFX || Error retrieving the slave handles&lt;br /&gt;
|-&lt;br /&gt;
| 0xA193 || CIFX || Timeout during Profinet configuration occured&lt;br /&gt;
|-&lt;br /&gt;
| 0xA194 || CIFX || Error in configuration message of the Profinet configuration occured&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=Main_Page&amp;diff=1132</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=Main_Page&amp;diff=1132"/>
		<updated>2013-01-23T09:27:22Z</updated>

		<summary type="html">&lt;p&gt;Jonas: /* S7-SoftPLC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Welcome to the Wiki of IBHsoftec GmbH! [[http://www.ibhsoftec.com/ IBHsoftec GmbH]]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Germany.png|link=http://wiki.ibhsoftec.com/de/Hauptseite]]&amp;lt;br /&amp;gt;&lt;br /&gt;
== S5/S7 for Windows ==&lt;br /&gt;
* [[S5/S7 for Windows:licensing|licensing]]&lt;br /&gt;
&lt;br /&gt;
== IBHLink S5++ ==&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 for Windows®|Access to a SIMATIC® S5 with &#039;&#039;S5 for Windows®&#039;&#039; without IBH Net driver]]&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 TIA Portal V11 WinCC flexible|Access to a SIMATIC® S5 with TIA Portal V11 WinCC flexible over IBHLink S5++]]&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 WinCC flexible|Access to a SIMATIC® S5 with WinCC flexible over IBHLink S5++]]&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 PLC PcVue|Access to a SIMATIC® S5 with PcVue over IBHLink S5++]]&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 Elipse SCADA|Access to a SIMATIC® S5 with Elipse SCADA over IBHLink S5++]]&lt;br /&gt;
&lt;br /&gt;
== IBHLink S7++ ==&lt;br /&gt;
* [[IBHLink S7++:SIMATIC® S5 for Windows®|Access to a SIMATIC® S5 with &#039;&#039;S5 for Windows®&#039;&#039; via SINEC L2]]&lt;br /&gt;
* [[IBHLink S7++:S7-300/S7-400 TIA Portal WinCC flexible|Access to S7-300/S7-400 with TIA Portal V11 WinCC flexible over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:S7-300/S7-400 WinCC flexible|Access to S7-300/S7-400 with WinCC flexible over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:S7-200 WinCC flexible|Access to S7-200 with WinCC flexible over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:S7-300/S7-400 Elipse SCADA|Access to S7-300/S7-400 with Elipse SCADA over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:S7-300/S7-400 PcVue|Access to S7-300/S7-400 with PcVue over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:IBH Link S7++ with CommDTM|IBH Link S7++ with CommDTM]]&lt;br /&gt;
* [[IBHLink S7++:VEGASON IBHNetDTM|IBHNet DTM with PACTware]]&lt;br /&gt;
* [[IBHLink S7++:Time Synchronisation|Time Synchronisation]]&lt;br /&gt;
* [[IBHLink S7++:Time Synchronisation with NetPro|Time Synchronisation with NetPro]]&lt;br /&gt;
&lt;br /&gt;
== OPC Server ==&lt;br /&gt;
* [[OPCServer:Overview|Overview]]&lt;br /&gt;
* [[OPCServer:Licensing|Licensing]]&lt;br /&gt;
* [[OPCServer:Server Configuration|Server Configuration]]&lt;br /&gt;
* [[OPCServer:Variable Syntax|Variable Syntax]]&lt;br /&gt;
* [[OPCServer:Optimization|Optimization]]&lt;br /&gt;
* [[OPCServer:DCOM Configuration|DCOM Configuration]]&lt;br /&gt;
* [[OPCServer:Operation with User rights|Operation with User rights]]&lt;br /&gt;
* [[OPCServer:Pro Tool Pro V6|Pro Tool Pro V6]]&lt;br /&gt;
* [[OPCServer:WinCC|WinCC]]&lt;br /&gt;
* [[OPCServer:WinCC Flexible|WinCC Flexible]]&lt;br /&gt;
* [[OPCServer:Create Variables with Intouch FS Gateway|Create Variables with Intouch FS Gateway]]&lt;br /&gt;
* [[OPCServer:Create Variables manually with Intouch|Create Variables manually with Intouch]]&lt;br /&gt;
* [[OPCServer:Create Variables with Intouch TagCreator|Create Variables with Intouch TagCreator]]&lt;br /&gt;
* [[OPCServer:HPI Scada|HPI Scada]]&lt;br /&gt;
* [[OPCServer:Variables from LOGO! RCE|Variables from LOGO! RCE]]&lt;br /&gt;
&lt;br /&gt;
== S7-SoftPLC ==&lt;br /&gt;
* Installation&lt;br /&gt;
** [[S7-SoftPLC:System requirements|System requirements]]&lt;br /&gt;
** [[S7-SoftPLC:Installing S7-SoftPLC|Installation]]&lt;br /&gt;
** [[S7-SoftPLC:Uninstalling S7-SoftPLC|Deinstallation]]&lt;br /&gt;
* Online&lt;br /&gt;
** [[S7-SoftPLC:S7-SoftPLC online functions|Functions]]&lt;br /&gt;
** [[S7-SoftPLC:Online with STEP®7|Online with STEP®7]]&lt;br /&gt;
** [[S7-SoftPLC:Online with S7 for Windows®|Online with S7 for Windows®]]&lt;br /&gt;
* [[S7-SoftPLC:Visualizations|Visualizations]]&lt;br /&gt;
** [[S7-SoftPLC:Using the IBH S7-SoftPLC with Intouch via RFC1006|Using with Intouch via RFC1006]]&lt;br /&gt;
* [[S7-SoftPLC:Data Interface|Data Interface]]&lt;br /&gt;
* User Interface&lt;br /&gt;
** [[S7-SoftPLC:Interface and Configuration|Interface and Configuration]]&lt;br /&gt;
** [[S7-SoftPLC:Classic View|Classic View]]&lt;br /&gt;
** [[S7-SoftPLC:Configuration View|Configuration View]]&lt;br /&gt;
* Menu&lt;br /&gt;
** [[S7-SoftPLC:File menu|File]]&lt;br /&gt;
** [[S7-SoftPLC:Edit menu|Edit]]&lt;br /&gt;
** [[S7-SoftPLC:View menu|View]]&lt;br /&gt;
** [[S7-SoftPLC:Help menu|Help]]&lt;br /&gt;
** [[S7-SoftPLC:Toolbar|Toolbar]]&lt;br /&gt;
** [[S7-SoftPLC:I/O monitor|I/O monitor]]&lt;br /&gt;
* Configuration&lt;br /&gt;
** CPU Parameters&lt;br /&gt;
*** [[S7-SoftPLC:CPU Parameters|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:CPU Parameters of S7-SoftPLC|PLC43.INI]]&lt;br /&gt;
** Driver&lt;br /&gt;
*** [[S7-SoftPLC:Add/remove drivers|Add/remove drivers]]&lt;br /&gt;
*** [[S7-SoftPLC:Add/remove drivers to S7-SoftPLC|Add/remove drivers to S7-SoftPLC]]&lt;br /&gt;
** Addidata&lt;br /&gt;
*** [[S7-SoftPLC:ADDI-DATA configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring the ADDI-DATA driver|Configuration of driver]]&lt;br /&gt;
*** [[S7-SoftPLC:ADDI-DATA driver for S7-SoftPLC|Driver for S7-SoftPLC]]&lt;br /&gt;
**Beckhoff TwinCAT I/O &lt;br /&gt;
*** [[S7-SoftPLC:Configuration TwinCAT I/O|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuration TwinCAT I/O drivers|Configuration of drivers]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuration TwinCAT I/O with PLC43:INI|Configuration with PLC43.INI]]&lt;br /&gt;
*** [[S7-SoftPLC:S7-SoftPLC Service and TwinCat|S7-SoftPLC Service and TwinCat]]&lt;br /&gt;
**CIF 30/50/60&lt;br /&gt;
*** [[S7-SoftPLC:Basic configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring the CIF-card with the SyCon System Configurator|Configuration with System Configurator]]&lt;br /&gt;
*** [[S7-SoftPLC:CIF 30/50/60 Settings|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:CIF 30/50/60 settings of S7-SoftPLC|PLC43.INI]]&lt;br /&gt;
*** [[S7-SoftPLC:PROFIBUS® configuration via S7 for Windows®/STEP®7|PROFIBUS® configuration via S7 for Windows®/STEP®7]]&lt;br /&gt;
** cifX&lt;br /&gt;
*** [[S7-SoftPLC:cifX Basic configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuration of cifX card with SYCON.NET|Configuration with SYCON.NET]]&lt;br /&gt;
*** [[S7-SoftPLC:cifX User Interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:cifX settings of IBHsoftec S7-SoftPLC|Settings of the IBHsoftec S7-SoftPLC]]&lt;br /&gt;
*** [[S7-SoftPLC:cifX PROFIBUS® configuration via S7 for Windows®/STEP®7|PROFIBUS® configuration via S7 for Windows®/STEP®7]]&lt;br /&gt;
** CP340/CP440&lt;br /&gt;
*** [[S7-SoftPLC:Configuring CP340/CP440 emulation|Emulation]]&lt;br /&gt;
*** [[S7-SoftPLC:Configure the CP340/CP440 emulation via user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring CP340/440 emulation in PLC43.INI|PLC43.INI]]&lt;br /&gt;
** CP343/CP443 &lt;br /&gt;
*** [[S7-SoftPLC:Configuring CP343/CP443 emulation|Emulation]]&lt;br /&gt;
*** [[S7-SoftPLC:Configure the CP343/CP443 emulation via user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring CP343/443 emulation in PLC43.INI|PLC43.INI]]&lt;br /&gt;
** I/O Port&lt;br /&gt;
*** [[S7-SoftPLC:Configuring PC hardware ports|Configuring PC hardware ports]]&lt;br /&gt;
*** [[S7-SoftPLC:Setting PC hardware port with user interface|User interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Setting PC hardware ports with PLC43.INI|PLC43.INI]]&lt;br /&gt;
** Modbus TCP&lt;br /&gt;
*** [[S7-SoftPLC:Modbus TCP configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring Modbus TCP with the user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring Modbus TCP with PLC43.INI|PLC43.INI]]&lt;br /&gt;
** NVRAM&lt;br /&gt;
*** [[S7-SoftPLC:NVRAM configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:NVRAM configuration with the user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:NVRAM configuration with the PLC43.INI|PLC43.INI]]&lt;br /&gt;
** Softnet PN IO&lt;br /&gt;
*** [[S7-SoftPLC:Softnet PN IO configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring SoftNet with the user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring SoftNet PN IO with PLC43.INI|PLC43.INI]]&lt;br /&gt;
** User SFC&lt;br /&gt;
*** [[S7-SoftPLC:User SFC configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Setting the User SFC&#039;s/FC&#039;s within the user interface|User Interface]]&lt;br /&gt;
* [[S7-SoftPLC:Technical data|Technical data]]&lt;br /&gt;
** [[S7-SoftPLC:Diagnostic buffer entries|Diagnostic buffer entries]]&lt;br /&gt;
&lt;br /&gt;
== S7-PCI315 ==&lt;br /&gt;
* [[S7-PCI315:Documentation Overview|Documentation Overview]]&lt;br /&gt;
* [[S7-PCI315:Legal Notes|Legal Notes]]&lt;br /&gt;
* [[S7-PCI315:Licenses|Licenses]]&lt;br /&gt;
* [[S7-PCI315:Safety|Safety]]&lt;br /&gt;
* [[S7-PCI315:Description and Requirements|Description and Requirements]]&lt;br /&gt;
* [[S7-PCI315:Device Drawings|Device Drawings]]&lt;br /&gt;
* [[S7-PCI315:System Overview|System Overview]]&lt;br /&gt;
* [[S7-PCI315:Device Driver Setup|Device Driver Setup]]&lt;br /&gt;
* [[S7-PCI315:Firmware Update|Firmware Update]]&lt;br /&gt;
* [[S7-PCI315:USB driver installation|USB driver installation]]&lt;br /&gt;
* [[S7-PCI315:Install S7netPLCComm service|Install S7netPLCComm service]]&lt;br /&gt;
* [[S7-PCI315:Safety Advices|Safety Advices]]&lt;br /&gt;
* [[S7-PCI315:Installing Battery|Installing Battery]]&lt;br /&gt;
* [[S7-PCI315:Installing S7-PCI315 PLC|Installing S7-PCI315 PLC]]&lt;br /&gt;
* [[S7-PCI315:HMI/data access|HMI/data access]]&lt;br /&gt;
* [[S7-PCI315:S7netPLCComm service|S7netPLCComm service]]&lt;br /&gt;
* [[S7-PCI315:Service configuration|Service configuration]]&lt;br /&gt;
* [[S7-PCI315:Configuration user interface|Configuration user interface]]&lt;br /&gt;
* [[S7-PCI315:Configuration INI file|Configuration INI file]]&lt;br /&gt;
* [[S7-PCI315:WinCC Flexible local|WinCC Flexible local]]&lt;br /&gt;
* [[S7-PCI315:Programming|Programming]]&lt;br /&gt;
* [[S7-PCI315:Instruction set|Instruction set]]&lt;br /&gt;
* [[S7-PCI315:Integrated blocks|Integrated blocks]]&lt;br /&gt;
* [[S7-PCI315:Power Supply|Power Supply]]&lt;br /&gt;
* [[S7-PCI315:Reset Behaviour|Reset Behaviour]]&lt;br /&gt;
* [[S7-PCI315:RUN/STOP Switch|RUN/STOP Switch]]&lt;br /&gt;
* [[S7-PCI315:Battery|Battery]]&lt;br /&gt;
* [[S7-PCI315:Changing the Battery|Changing the Battery]]&lt;br /&gt;
* [[S7-PCI315:Battery Disposal|Battery Disposal]]&lt;br /&gt;
* [[S7-PCI315:LED|LED]]&lt;br /&gt;
* [[S7-PCI315:LED SYS|LED SYS]]&lt;br /&gt;
* [[S7-PCI315:LED APL|LED APL]]&lt;br /&gt;
* [[S7-PCI315:LED PROFIBUS DP-Master|LED PROFIBUS DP-Master]]&lt;br /&gt;
* [[S7-PCI315:Memory Card|Memory Card]]&lt;br /&gt;
* [[S7-PCI315:Read State|Read State]]&lt;br /&gt;
* [[S7-PCI315:Dualport communication|Dualport communication]]&lt;br /&gt;
* [[S7-PCI315:Knowledge base|Knowledge base]]&lt;br /&gt;
* [[S7-PCI315:Troubleshooting|Troubleshooting]]&lt;br /&gt;
* [[S7-PCI315:Error Codes|Error Codes]]&lt;br /&gt;
* [[S7-PCI315:Technical Data|Technical Data]]&lt;br /&gt;
&lt;br /&gt;
== IBHNet ==&lt;br /&gt;
*[[IBHNet:Introduction|Introduction]]&lt;br /&gt;
*[[IBHNet:System Requirements|System Requirements]]&lt;br /&gt;
*[[IBHNet:Installation|Installation]]&lt;br /&gt;
*[[IBHNet:Local Operation|Local Operation]]&lt;br /&gt;
*[[IBHNet:Operation in a local area network|Operation in a local area network]]&lt;br /&gt;
*[[IBHNet:Operation via the Internet|Operation via the Internet]]&lt;br /&gt;
*[[IBHNet:IBH Link S7|IBH Link S7]]&lt;br /&gt;
*[[IBHNet:IBH Link S5++|IBH Link S5++]]&lt;br /&gt;
*[[IBHNet:IBH Link S5++ with STEP®5|IBH Link S5++ with STEP®5]]&lt;br /&gt;
*[[IBHNet:Defining access names to identify the PLCs|Defining access names to identify the PLCs]]&lt;br /&gt;
*[[IBHNet:Settings within STEP®7|Settings within STEP®7]]&lt;br /&gt;
*[[IBHNet:Settings within STEP®7 without IBHNet driver|Settings within STEP®7 without IBHNet driver]]&lt;br /&gt;
*[[IBHNet:Settings within STEP®7 MicroWin starting with V3.1 SP2|Settings within STEP®7 MicroWin starting with V3.1 SP2]]&lt;br /&gt;
*[[IBHNet:Settings within TIA®|Settings within TIA®]]&lt;br /&gt;
*[[IBHNet:Settings within TIA® without IBHNet driver|Settings within TIA® without IBHNet driver]]&lt;br /&gt;
*[[IBHNet:Using IBHNet with WinCC|Using IBHNet with WinCC]]&lt;br /&gt;
*[[IBHNet:Using IBHNet with ProTool|Using IBHNet with ProTool]]&lt;br /&gt;
*[[IBHNet:Using IBHNet with WinCC Flexible|Using IBHNet with WinCC Flexible]]&lt;br /&gt;
*[[IBHNet:Using the IBH Link S5++ with Intouch|Using the IBH Link S5++ with Intouch]]&lt;br /&gt;
*[[IBHNet:Using the IBH Link S7++ with Intouch|Using the IBH Link S7++ with Intouch]]&lt;br /&gt;
*[[IBHNet:Accessing PLC variables|Accessing PLC variables]]&lt;br /&gt;
*[[IBHNet:Fetch/Write|Fetch/Write]]&lt;br /&gt;
*[[IBHNet:Unprojected PLC-PLC communication|Unprojected PLC-PLC communication]]&lt;br /&gt;
*[[IBHNet:Projected PLC-PLC communication|Projected PLC-PLC communication]]&lt;br /&gt;
*[[IBHNet:RFC1006 Communication IBH Link S7/S7Plus|RFC1006 Communication IBH Link S7/S7Plus]]&lt;br /&gt;
*[[IBHNet:RFC1006 Communication IBH Link S7++/S7++HS|RFC1006 Communication IBH Link S7++/S7++HS]]&lt;br /&gt;
*[[IBHNet:Troubleshooting|Troubleshooting]]&lt;br /&gt;
*[[IBHNet:Reset/Factory settings|Reset/Factory settings]]&lt;br /&gt;
*[[IBHNet:Technical Data IBH Link S7|Technical Data IBH Link S7]]&lt;br /&gt;
*[[IBHNet:Technical Data IBH Link S7 Plus|Technical Data IBH Link S7 Plus]]&lt;br /&gt;
*[[IBHNet:Technical Data IBH Link S7++/S7++ HS|Technical Data IBH Link S7++/S7++ HS]]&lt;br /&gt;
*[[IBHNet:Technical Data IBH Link S5++|Technical Data IBH Link S5++]]&lt;br /&gt;
*[[IBHNet:IBH Link History|IBH Link History]]&lt;br /&gt;
*[[IBHNet:Revisions|Revisions]]&lt;br /&gt;
==IBH USB-S5-Adapter==&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;2&amp;quot; class=&amp;quot;float-right&amp;quot;&amp;gt;&lt;br /&gt;
Image:IBH_USB_S5.gif|[http://www.ibhsoftec.com/IBH-USB-S5-Adapter-Eng IBH-USB-S5-Adapter]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
* [[IBH USB-S5-Adapter:SIMATIC® S5 for Windows®|Access to a SIMATIC® S5 with &#039;&#039;S5 for Windows®&#039;&#039;]]&lt;br /&gt;
* [[IBH USB-S5-Adapter:Maximum USB cable length|Maximum USB cable length]]&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Technical_data&amp;diff=1131</id>
		<title>S7-SoftPLC:Technical data</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Technical_data&amp;diff=1131"/>
		<updated>2013-01-23T09:15:41Z</updated>

		<summary type="html">&lt;p&gt;Jonas: Created page with &amp;quot;{| class=&amp;quot;wikitable&amp;quot; |- |rowspan=&amp;quot;2&amp;quot; |  ||colspan=&amp;quot;2&amp;quot;| Windows® 2000/XP/Vista, Windows®7/8 |- | PLC S7 315 || PLC S7 416 |- |style=&amp;quot;width: 14em&amp;quot;| Load memory ||style=&amp;quot;width:...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot; |  ||colspan=&amp;quot;2&amp;quot;| Windows® 2000/XP/Vista, Windows®7/8&lt;br /&gt;
|-&lt;br /&gt;
| PLC S7 315 || PLC S7 416&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 14em&amp;quot;| Load memory ||style=&amp;quot;width: 20em&amp;quot;| 256 kByte ||style=&amp;quot;width: 20em&amp;quot;| adjustable&lt;br /&gt;
|-&lt;br /&gt;
| RAM || 256 kByte || adjustable&lt;br /&gt;
|-&lt;br /&gt;
| Blocks || 16.384 || 16.384&lt;br /&gt;
|-&lt;br /&gt;
| Flags (Bit) || 16.384 || 131.072&lt;br /&gt;
|-&lt;br /&gt;
| Timer || 256 || 2048&lt;br /&gt;
|-&lt;br /&gt;
| Counter || 256 || 2048&lt;br /&gt;
|-&lt;br /&gt;
| Digital I/O || 1.024 Bit || 32.768 Bit&lt;br /&gt;
|-&lt;br /&gt;
| Analog I/O || 2.048 Byte || 8.192 Byte&lt;br /&gt;
|-&lt;br /&gt;
|  || Processing times 1) || &lt;br /&gt;
|-&lt;br /&gt;
| Pentium III 600 MHz || 100 µs || 100 µs&lt;br /&gt;
|-&lt;br /&gt;
| Pentium IV 1,1 GHz || 50 µs || 50 µs&lt;br /&gt;
|-&lt;br /&gt;
| Pentium IV 2,6 GHz || 28 µs || 28 µs&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
1) Time setting 50% PLC-time : 50% Windows-time; 1024 mixed instructions (50% binary, 50% digital)&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=Main_Page&amp;diff=1130</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=Main_Page&amp;diff=1130"/>
		<updated>2013-01-23T09:08:16Z</updated>

		<summary type="html">&lt;p&gt;Jonas: /* S7-SoftPLC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Welcome to the Wiki of IBHsoftec GmbH! [[http://www.ibhsoftec.com/ IBHsoftec GmbH]]&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:Germany.png|link=http://wiki.ibhsoftec.com/de/Hauptseite]]&amp;lt;br /&amp;gt;&lt;br /&gt;
== S5/S7 for Windows ==&lt;br /&gt;
* [[S5/S7 for Windows:licensing|licensing]]&lt;br /&gt;
&lt;br /&gt;
== IBHLink S5++ ==&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 for Windows®|Access to a SIMATIC® S5 with &#039;&#039;S5 for Windows®&#039;&#039; without IBH Net driver]]&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 TIA Portal V11 WinCC flexible|Access to a SIMATIC® S5 with TIA Portal V11 WinCC flexible over IBHLink S5++]]&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 WinCC flexible|Access to a SIMATIC® S5 with WinCC flexible over IBHLink S5++]]&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 PLC PcVue|Access to a SIMATIC® S5 with PcVue over IBHLink S5++]]&lt;br /&gt;
* [[IBHLink S5++:SIMATIC® S5 Elipse SCADA|Access to a SIMATIC® S5 with Elipse SCADA over IBHLink S5++]]&lt;br /&gt;
&lt;br /&gt;
== IBHLink S7++ ==&lt;br /&gt;
* [[IBHLink S7++:SIMATIC® S5 for Windows®|Access to a SIMATIC® S5 with &#039;&#039;S5 for Windows®&#039;&#039; via SINEC L2]]&lt;br /&gt;
* [[IBHLink S7++:S7-300/S7-400 TIA Portal WinCC flexible|Access to S7-300/S7-400 with TIA Portal V11 WinCC flexible over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:S7-300/S7-400 WinCC flexible|Access to S7-300/S7-400 with WinCC flexible over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:S7-200 WinCC flexible|Access to S7-200 with WinCC flexible over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:S7-300/S7-400 Elipse SCADA|Access to S7-300/S7-400 with Elipse SCADA over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:S7-300/S7-400 PcVue|Access to S7-300/S7-400 with PcVue over IBHLink S7++]]&lt;br /&gt;
* [[IBHLink S7++:IBH Link S7++ with CommDTM|IBH Link S7++ with CommDTM]]&lt;br /&gt;
* [[IBHLink S7++:VEGASON IBHNetDTM|IBHNet DTM with PACTware]]&lt;br /&gt;
* [[IBHLink S7++:Time Synchronisation|Time Synchronisation]]&lt;br /&gt;
* [[IBHLink S7++:Time Synchronisation with NetPro|Time Synchronisation with NetPro]]&lt;br /&gt;
&lt;br /&gt;
== OPC Server ==&lt;br /&gt;
* [[OPCServer:Overview|Overview]]&lt;br /&gt;
* [[OPCServer:Licensing|Licensing]]&lt;br /&gt;
* [[OPCServer:Server Configuration|Server Configuration]]&lt;br /&gt;
* [[OPCServer:Variable Syntax|Variable Syntax]]&lt;br /&gt;
* [[OPCServer:Optimization|Optimization]]&lt;br /&gt;
* [[OPCServer:DCOM Configuration|DCOM Configuration]]&lt;br /&gt;
* [[OPCServer:Operation with User rights|Operation with User rights]]&lt;br /&gt;
* [[OPCServer:Pro Tool Pro V6|Pro Tool Pro V6]]&lt;br /&gt;
* [[OPCServer:WinCC|WinCC]]&lt;br /&gt;
* [[OPCServer:WinCC Flexible|WinCC Flexible]]&lt;br /&gt;
* [[OPCServer:Create Variables with Intouch FS Gateway|Create Variables with Intouch FS Gateway]]&lt;br /&gt;
* [[OPCServer:Create Variables manually with Intouch|Create Variables manually with Intouch]]&lt;br /&gt;
* [[OPCServer:Create Variables with Intouch TagCreator|Create Variables with Intouch TagCreator]]&lt;br /&gt;
* [[OPCServer:HPI Scada|HPI Scada]]&lt;br /&gt;
* [[OPCServer:Variables from LOGO! RCE|Variables from LOGO! RCE]]&lt;br /&gt;
&lt;br /&gt;
== S7-SoftPLC ==&lt;br /&gt;
* Installation&lt;br /&gt;
** [[S7-SoftPLC:System requirements|System requirements]]&lt;br /&gt;
** [[S7-SoftPLC:Installing S7-SoftPLC|Installation]]&lt;br /&gt;
** [[S7-SoftPLC:Uninstalling S7-SoftPLC|Deinstallation]]&lt;br /&gt;
* Online&lt;br /&gt;
** [[S7-SoftPLC:S7-SoftPLC online functions|Functions]]&lt;br /&gt;
** [[S7-SoftPLC:Online with STEP®7|Online with STEP®7]]&lt;br /&gt;
** [[S7-SoftPLC:Online with S7 for Windows®|Online with S7 for Windows®]]&lt;br /&gt;
* [[S7-SoftPLC:Visualizations|Visualizations]]&lt;br /&gt;
** [[S7-SoftPLC:Using the IBH S7-SoftPLC with Intouch via RFC1006|Using with Intouch via RFC1006]]&lt;br /&gt;
* [[S7-SoftPLC:Data Interface|Data Interface]]&lt;br /&gt;
* User Interface&lt;br /&gt;
** [[S7-SoftPLC:Interface and Configuration|Interface and Configuration]]&lt;br /&gt;
** [[S7-SoftPLC:Classic View|Classic View]]&lt;br /&gt;
** [[S7-SoftPLC:Configuration View|Configuration View]]&lt;br /&gt;
* Menu&lt;br /&gt;
** [[S7-SoftPLC:File menu|File]]&lt;br /&gt;
** [[S7-SoftPLC:Edit menu|Edit]]&lt;br /&gt;
** [[S7-SoftPLC:View menu|View]]&lt;br /&gt;
** [[S7-SoftPLC:Help menu|Help]]&lt;br /&gt;
** [[S7-SoftPLC:Toolbar|Toolbar]]&lt;br /&gt;
** [[S7-SoftPLC:I/O monitor|I/O monitor]]&lt;br /&gt;
* Configuration&lt;br /&gt;
** CPU Parameters&lt;br /&gt;
*** [[S7-SoftPLC:CPU Parameters|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:CPU Parameters of S7-SoftPLC|PLC43.INI]]&lt;br /&gt;
** Driver&lt;br /&gt;
*** [[S7-SoftPLC:Add/remove drivers|Add/remove drivers]]&lt;br /&gt;
*** [[S7-SoftPLC:Add/remove drivers to S7-SoftPLC|Add/remove drivers to S7-SoftPLC]]&lt;br /&gt;
** Addidata&lt;br /&gt;
*** [[S7-SoftPLC:ADDI-DATA configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring the ADDI-DATA driver|Configuration of driver]]&lt;br /&gt;
*** [[S7-SoftPLC:ADDI-DATA driver for S7-SoftPLC|Driver for S7-SoftPLC]]&lt;br /&gt;
**Beckhoff TwinCAT I/O &lt;br /&gt;
*** [[S7-SoftPLC:Configuration TwinCAT I/O|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuration TwinCAT I/O drivers|Configuration of drivers]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuration TwinCAT I/O with PLC43:INI|Configuration with PLC43.INI]]&lt;br /&gt;
*** [[S7-SoftPLC:S7-SoftPLC Service and TwinCat|S7-SoftPLC Service and TwinCat]]&lt;br /&gt;
**CIF 30/50/60&lt;br /&gt;
*** [[S7-SoftPLC:Basic configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring the CIF-card with the SyCon System Configurator|Configuration with System Configurator]]&lt;br /&gt;
*** [[S7-SoftPLC:CIF 30/50/60 Settings|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:CIF 30/50/60 settings of S7-SoftPLC|PLC43.INI]]&lt;br /&gt;
*** [[S7-SoftPLC:PROFIBUS® configuration via S7 for Windows®/STEP®7|PROFIBUS® configuration via S7 for Windows®/STEP®7]]&lt;br /&gt;
** cifX&lt;br /&gt;
*** [[S7-SoftPLC:cifX Basic configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuration of cifX card with SYCON.NET|Configuration with SYCON.NET]]&lt;br /&gt;
*** [[S7-SoftPLC:cifX User Interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:cifX settings of IBHsoftec S7-SoftPLC|Settings of the IBHsoftec S7-SoftPLC]]&lt;br /&gt;
*** [[S7-SoftPLC:cifX PROFIBUS® configuration via S7 for Windows®/STEP®7|PROFIBUS® configuration via S7 for Windows®/STEP®7]]&lt;br /&gt;
** CP340/CP440&lt;br /&gt;
*** [[S7-SoftPLC:Configuring CP340/CP440 emulation|Emulation]]&lt;br /&gt;
*** [[S7-SoftPLC:Configure the CP340/CP440 emulation via user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring CP340/440 emulation in PLC43.INI|PLC43.INI]]&lt;br /&gt;
** CP343/CP443 &lt;br /&gt;
*** [[S7-SoftPLC:Configuring CP343/CP443 emulation|Emulation]]&lt;br /&gt;
*** [[S7-SoftPLC:Configure the CP343/CP443 emulation via user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring CP343/443 emulation in PLC43.INI|PLC43.INI]]&lt;br /&gt;
** I/O Port&lt;br /&gt;
*** [[S7-SoftPLC:Configuring PC hardware ports|Configuring PC hardware ports]]&lt;br /&gt;
*** [[S7-SoftPLC:Setting PC hardware port with user interface|User interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Setting PC hardware ports with PLC43.INI|PLC43.INI]]&lt;br /&gt;
** Modbus TCP&lt;br /&gt;
*** [[S7-SoftPLC:Modbus TCP configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring Modbus TCP with the user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring Modbus TCP with PLC43.INI|PLC43.INI]]&lt;br /&gt;
** NVRAM&lt;br /&gt;
*** [[S7-SoftPLC:NVRAM configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:NVRAM configuration with the user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:NVRAM configuration with the PLC43.INI|PLC43.INI]]&lt;br /&gt;
** Softnet PN IO&lt;br /&gt;
*** [[S7-SoftPLC:Softnet PN IO configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring SoftNet with the user interface|User Interface]]&lt;br /&gt;
*** [[S7-SoftPLC:Configuring SoftNet PN IO with PLC43.INI|PLC43.INI]]&lt;br /&gt;
** User SFC&lt;br /&gt;
*** [[S7-SoftPLC:User SFC configuration|Configuration]]&lt;br /&gt;
*** [[S7-SoftPLC:Setting the User SFC&#039;s/FC&#039;s within the user interface|User Interface]]&lt;br /&gt;
* [[S7-SoftPLC:Technical data|Technical data]]&lt;br /&gt;
&lt;br /&gt;
== S7-PCI315 ==&lt;br /&gt;
* [[S7-PCI315:Documentation Overview|Documentation Overview]]&lt;br /&gt;
* [[S7-PCI315:Legal Notes|Legal Notes]]&lt;br /&gt;
* [[S7-PCI315:Licenses|Licenses]]&lt;br /&gt;
* [[S7-PCI315:Safety|Safety]]&lt;br /&gt;
* [[S7-PCI315:Description and Requirements|Description and Requirements]]&lt;br /&gt;
* [[S7-PCI315:Device Drawings|Device Drawings]]&lt;br /&gt;
* [[S7-PCI315:System Overview|System Overview]]&lt;br /&gt;
* [[S7-PCI315:Device Driver Setup|Device Driver Setup]]&lt;br /&gt;
* [[S7-PCI315:Firmware Update|Firmware Update]]&lt;br /&gt;
* [[S7-PCI315:USB driver installation|USB driver installation]]&lt;br /&gt;
* [[S7-PCI315:Install S7netPLCComm service|Install S7netPLCComm service]]&lt;br /&gt;
* [[S7-PCI315:Safety Advices|Safety Advices]]&lt;br /&gt;
* [[S7-PCI315:Installing Battery|Installing Battery]]&lt;br /&gt;
* [[S7-PCI315:Installing S7-PCI315 PLC|Installing S7-PCI315 PLC]]&lt;br /&gt;
* [[S7-PCI315:HMI/data access|HMI/data access]]&lt;br /&gt;
* [[S7-PCI315:S7netPLCComm service|S7netPLCComm service]]&lt;br /&gt;
* [[S7-PCI315:Service configuration|Service configuration]]&lt;br /&gt;
* [[S7-PCI315:Configuration user interface|Configuration user interface]]&lt;br /&gt;
* [[S7-PCI315:Configuration INI file|Configuration INI file]]&lt;br /&gt;
* [[S7-PCI315:WinCC Flexible local|WinCC Flexible local]]&lt;br /&gt;
* [[S7-PCI315:Programming|Programming]]&lt;br /&gt;
* [[S7-PCI315:Instruction set|Instruction set]]&lt;br /&gt;
* [[S7-PCI315:Integrated blocks|Integrated blocks]]&lt;br /&gt;
* [[S7-PCI315:Power Supply|Power Supply]]&lt;br /&gt;
* [[S7-PCI315:Reset Behaviour|Reset Behaviour]]&lt;br /&gt;
* [[S7-PCI315:RUN/STOP Switch|RUN/STOP Switch]]&lt;br /&gt;
* [[S7-PCI315:Battery|Battery]]&lt;br /&gt;
* [[S7-PCI315:Changing the Battery|Changing the Battery]]&lt;br /&gt;
* [[S7-PCI315:Battery Disposal|Battery Disposal]]&lt;br /&gt;
* [[S7-PCI315:LED|LED]]&lt;br /&gt;
* [[S7-PCI315:LED SYS|LED SYS]]&lt;br /&gt;
* [[S7-PCI315:LED APL|LED APL]]&lt;br /&gt;
* [[S7-PCI315:LED PROFIBUS DP-Master|LED PROFIBUS DP-Master]]&lt;br /&gt;
* [[S7-PCI315:Memory Card|Memory Card]]&lt;br /&gt;
* [[S7-PCI315:Read State|Read State]]&lt;br /&gt;
* [[S7-PCI315:Dualport communication|Dualport communication]]&lt;br /&gt;
* [[S7-PCI315:Knowledge base|Knowledge base]]&lt;br /&gt;
* [[S7-PCI315:Troubleshooting|Troubleshooting]]&lt;br /&gt;
* [[S7-PCI315:Error Codes|Error Codes]]&lt;br /&gt;
* [[S7-PCI315:Technical Data|Technical Data]]&lt;br /&gt;
&lt;br /&gt;
== IBHNet ==&lt;br /&gt;
*[[IBHNet:Introduction|Introduction]]&lt;br /&gt;
*[[IBHNet:System Requirements|System Requirements]]&lt;br /&gt;
*[[IBHNet:Installation|Installation]]&lt;br /&gt;
*[[IBHNet:Local Operation|Local Operation]]&lt;br /&gt;
*[[IBHNet:Operation in a local area network|Operation in a local area network]]&lt;br /&gt;
*[[IBHNet:Operation via the Internet|Operation via the Internet]]&lt;br /&gt;
*[[IBHNet:IBH Link S7|IBH Link S7]]&lt;br /&gt;
*[[IBHNet:IBH Link S5++|IBH Link S5++]]&lt;br /&gt;
*[[IBHNet:IBH Link S5++ with STEP®5|IBH Link S5++ with STEP®5]]&lt;br /&gt;
*[[IBHNet:Defining access names to identify the PLCs|Defining access names to identify the PLCs]]&lt;br /&gt;
*[[IBHNet:Settings within STEP®7|Settings within STEP®7]]&lt;br /&gt;
*[[IBHNet:Settings within STEP®7 without IBHNet driver|Settings within STEP®7 without IBHNet driver]]&lt;br /&gt;
*[[IBHNet:Settings within STEP®7 MicroWin starting with V3.1 SP2|Settings within STEP®7 MicroWin starting with V3.1 SP2]]&lt;br /&gt;
*[[IBHNet:Settings within TIA®|Settings within TIA®]]&lt;br /&gt;
*[[IBHNet:Settings within TIA® without IBHNet driver|Settings within TIA® without IBHNet driver]]&lt;br /&gt;
*[[IBHNet:Using IBHNet with WinCC|Using IBHNet with WinCC]]&lt;br /&gt;
*[[IBHNet:Using IBHNet with ProTool|Using IBHNet with ProTool]]&lt;br /&gt;
*[[IBHNet:Using IBHNet with WinCC Flexible|Using IBHNet with WinCC Flexible]]&lt;br /&gt;
*[[IBHNet:Using the IBH Link S5++ with Intouch|Using the IBH Link S5++ with Intouch]]&lt;br /&gt;
*[[IBHNet:Using the IBH Link S7++ with Intouch|Using the IBH Link S7++ with Intouch]]&lt;br /&gt;
*[[IBHNet:Accessing PLC variables|Accessing PLC variables]]&lt;br /&gt;
*[[IBHNet:Fetch/Write|Fetch/Write]]&lt;br /&gt;
*[[IBHNet:Unprojected PLC-PLC communication|Unprojected PLC-PLC communication]]&lt;br /&gt;
*[[IBHNet:Projected PLC-PLC communication|Projected PLC-PLC communication]]&lt;br /&gt;
*[[IBHNet:RFC1006 Communication IBH Link S7/S7Plus|RFC1006 Communication IBH Link S7/S7Plus]]&lt;br /&gt;
*[[IBHNet:RFC1006 Communication IBH Link S7++/S7++HS|RFC1006 Communication IBH Link S7++/S7++HS]]&lt;br /&gt;
*[[IBHNet:Troubleshooting|Troubleshooting]]&lt;br /&gt;
*[[IBHNet:Reset/Factory settings|Reset/Factory settings]]&lt;br /&gt;
*[[IBHNet:Technical Data IBH Link S7|Technical Data IBH Link S7]]&lt;br /&gt;
*[[IBHNet:Technical Data IBH Link S7 Plus|Technical Data IBH Link S7 Plus]]&lt;br /&gt;
*[[IBHNet:Technical Data IBH Link S7++/S7++ HS|Technical Data IBH Link S7++/S7++ HS]]&lt;br /&gt;
*[[IBHNet:Technical Data IBH Link S5++|Technical Data IBH Link S5++]]&lt;br /&gt;
*[[IBHNet:IBH Link History|IBH Link History]]&lt;br /&gt;
*[[IBHNet:Revisions|Revisions]]&lt;br /&gt;
==IBH USB-S5-Adapter==&lt;br /&gt;
&amp;lt;gallery perrow=&amp;quot;2&amp;quot; class=&amp;quot;float-right&amp;quot;&amp;gt;&lt;br /&gt;
Image:IBH_USB_S5.gif|[http://www.ibhsoftec.com/IBH-USB-S5-Adapter-Eng IBH-USB-S5-Adapter]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
* [[IBH USB-S5-Adapter:SIMATIC® S5 for Windows®|Access to a SIMATIC® S5 with &#039;&#039;S5 for Windows®&#039;&#039;]]&lt;br /&gt;
* [[IBH USB-S5-Adapter:Maximum USB cable length|Maximum USB cable length]]&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Setting_the_User_SFC%27s/FC%27s_within_the_user_interface&amp;diff=1129</id>
		<title>S7-SoftPLC:Setting the User SFC&#039;s/FC&#039;s within the user interface</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Setting_the_User_SFC%27s/FC%27s_within_the_user_interface&amp;diff=1129"/>
		<updated>2013-01-23T09:05:50Z</updated>

		<summary type="html">&lt;p&gt;Jonas: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Konf_UserSFC.png|frame|none]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Available SFCs/FCs&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The available SFC/FC-DLLs are listed here. SFC/FC-DLLs can be added with the &amp;amp;quot;Search&amp;amp;quot;-button. By activating the &amp;amp;quot;&amp;amp;gt;&amp;amp;gt;&amp;amp;quot;-button, the selected SFC/FC-DLL is moved into the right filed (Selected SFCs/FCs) and therefore added to &#039;&#039;S7-SoftPLC&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Selected SFCs/FCs&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The SFC/FC-DLLs currently assigned to &#039;&#039;S7-SoftPLC&#039;&#039; are listed here. By activating the &amp;amp;quot;&amp;amp;lt;&amp;amp;lt;&amp;amp;quot;-button, the selected SFC/FC-DLL is moved into the left field (Available SFCs/FCs) and therefore removed from &#039;&#039;S7-SoftPLC&#039;&#039;. The SFC/FC-DLLs can be added to &#039;&#039;S7-SoftPLC&#039;&#039; at any time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Search&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
With the &amp;amp;quot;Search&amp;amp;quot;-button user defined SFC/FC-DLLs can be added to the &amp;amp;quot;Available SFC/FC-DLLs&amp;amp;quot;-field.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enable I/O Ports with Windows 2000 / Windows XP:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If a user SFC/FC accesses a hardware port of the PC directly, it has to be mentioned, that no direct access of the PC hardware is allowed with Windows&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; 2000 and Windows&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; XP.&lt;br /&gt;
&lt;br /&gt;
To allow direct hardware access, the drivers of &#039;&#039;S7-SoftPLC&#039;&#039; can obtain the permission from the operating system.&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
</feed>