<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.ibhsoftec.com/en/index.php?action=history&amp;feed=atom&amp;title=S7-SoftPLC%3ASetting_PC_hardware_ports_with_PLC43.INI</id>
	<title>S7-SoftPLC:Setting PC hardware ports with PLC43.INI - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.ibhsoftec.com/en/index.php?action=history&amp;feed=atom&amp;title=S7-SoftPLC%3ASetting_PC_hardware_ports_with_PLC43.INI"/>
	<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Setting_PC_hardware_ports_with_PLC43.INI&amp;action=history"/>
	<updated>2026-06-15T08:06:30Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Setting_PC_hardware_ports_with_PLC43.INI&amp;diff=1088&amp;oldid=prev</id>
		<title>Jonas: Created page with &quot;&#039;&#039;&#039;Installation&#039;&#039;&#039;  The driver DLL IOPORT.DLL must be available in the installation folder of &#039;&#039;S7-SoftPLC.&#039;&#039; It has to be entered in the file PLC43.INI, section [OEM], where ...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.ibhsoftec.com/en/index.php?title=S7-SoftPLC:Setting_PC_hardware_ports_with_PLC43.INI&amp;diff=1088&amp;oldid=prev"/>
		<updated>2013-01-23T06:31:34Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;Installation&amp;#039;&amp;#039;&amp;#039;  The driver DLL IOPORT.DLL must be available in the installation folder of &amp;#039;&amp;#039;S7-SoftPLC.&amp;#039;&amp;#039; It has to be entered in the file PLC43.INI, section [OEM], where ...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Installation&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The driver DLL IOPORT.DLL must be available in the installation folder of &amp;#039;&amp;#039;S7-SoftPLC.&amp;#039;&amp;#039; It has to be entered in the file PLC43.INI, section [OEM], where the drivers of &amp;#039;&amp;#039;S7-SoftPLC&amp;#039;&amp;#039; are parameterised.&lt;br /&gt;
&lt;br /&gt;
 [OEM]&lt;br /&gt;
 dll0=ioport.dll&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Configuration&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
If the I/O configuration is activated, all theoretical possible I/O addresses are searched in the configuration file PLC43.INI of &amp;#039;&amp;#039;S7-SoftPLC.&amp;#039;&amp;#039; Because this can take up to 45 seconds, the areas should be limited to the necessary. The outputs can be preset as well with initial values, as with safe values, that are set by the driver at PLC Stop. Bytes, words and double words can be configured. To avoid double assignments the first found entry has priority. If for example an IW4 is found, afterwards there is no search for an IB5, but for an IB6. That applies to double words as well. Overlapping between inputs and peripheral inputs, outputs and peripheral outputs are possible, because inputs and outputs can be, depending on the used hardware, on the same I/O address.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Entries&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
The following section must be contained in the configuration file PLC43.INI:&lt;br /&gt;
&lt;br /&gt;
 [ioportdll]&lt;br /&gt;
 ;the following entries are possible (n = consecutive number):&lt;br /&gt;
 ;preset outputs with initial values. Default: 0=No&lt;br /&gt;
 InitOutputs=0&lt;br /&gt;
&lt;br /&gt;
 ;set outputs to safe values at Stop. Default: 0=No&lt;br /&gt;
 SafeOutputs=0&lt;br /&gt;
&lt;br /&gt;
 ;Outputs only to be written into the hardware when changed. Default: 0=No&lt;br /&gt;
 BufferOutputs=0&lt;br /&gt;
&lt;br /&gt;
 ;Limit the area of the entries searched for to reduce scan time.&lt;br /&gt;
 ;area input/output byte from ... Default=0&lt;br /&gt;
 MinByte=0&lt;br /&gt;
 ;... up to input/output byte. Default=4095&lt;br /&gt;
 MaxByte=10&lt;br /&gt;
&lt;br /&gt;
 ;Configuration of the inputs (syntax: start address=I/O Port number):&lt;br /&gt;
 EBn=Portnumber(Dez)&lt;br /&gt;
 EWn=Portnumber(Dez)&lt;br /&gt;
 EDn=Portnumber(Dez)&lt;br /&gt;
&lt;br /&gt;
 ;Configuration of the peripheral inputs (syntax: start address=I/O Port number):&lt;br /&gt;
 PEBn=Portnumber(Dez)&lt;br /&gt;
 PEWn=Portnumber(Dez)&lt;br /&gt;
 PEDn=Portnumber(Dez)&lt;br /&gt;
&lt;br /&gt;
 ;Configuration of the outputs (syntax: output address=I/O Port number):&lt;br /&gt;
 ABn=Portnumber(Dez)&lt;br /&gt;
 AWn=Portnumber(Dez)&lt;br /&gt;
 ADn=Portnumber(Dez)&lt;br /&gt;
&lt;br /&gt;
 ;initialize I/O Ports with values (at InitOutputs=1)&lt;br /&gt;
 InitABn=Value(Dez)&lt;br /&gt;
 InitAWn=Value(Dez)&lt;br /&gt;
 InitADn=Value(Dez)&lt;br /&gt;
&lt;br /&gt;
 ;set I/O Ports to safe values at PLC Stop (at SafeOutputs=1)&lt;br /&gt;
 SafeABn=Value(Dez)&lt;br /&gt;
 SafeAWn=Value(Dez)&lt;br /&gt;
 SafeADn=Value(Dez)&lt;br /&gt;
&lt;br /&gt;
 ;Configuration of peripheral outputs (syntax: peripheral output address=I/O Port number):&lt;br /&gt;
 PABn=Portnumber(Dez)&lt;br /&gt;
 PAWn=Portnumber(Dez)&lt;br /&gt;
 PADn=Portnumber(Dez)&lt;br /&gt;
&lt;br /&gt;
 ;initialize I/O Ports with values (at InitOutputs=1)&lt;br /&gt;
 InitPABn=Value(Dez)&lt;br /&gt;
 InitPAWn=Value(Dez)&lt;br /&gt;
 InitPADn=Value(Dez)&lt;br /&gt;
&lt;br /&gt;
 ;set I/O Ports to safe values at PLC Stop (at SafeOutputs=1)&lt;br /&gt;
 SafePABn=Value(Dez)&lt;br /&gt;
 SafePAWn=Value(Dez)&lt;br /&gt;
 SafePADn=Value(Dez)&lt;br /&gt;
&lt;br /&gt;
WARNING: PLEASE NOTE, THAT THROUGH FALSE CONFIGURATION, NON-SUITING VALUES CAN BE WRITTEN INTO HARDWARE COMPONENTS. THIS CAN CAUSE DAMAGE TO THE PC HARDWARE. PLEASE NOTE AS WELL, THAT THE HARDWARE PORT ACCESS IS REQUESTED FROM THE OPERATING SYSTEM WHEN STARTING &amp;#039;&amp;#039;S7-SOFTPLC&amp;#039;&amp;#039;.THEREFORE THE PORTS HAVE TO BE IN A COHERENT, FREE AREA AND MUST NOT BE IN CONFLICT WITH EXISTING HARDWARE.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Example&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
To demonstrate a possible configuration, the printer port of a PC is mapped to the process image of the PLC. The output port Q (0x378hex = 888dec) is assigned to the QB0, the input port B (0x379hex = 889dec) to the IB0. The output port Q (0x37Ahex = 890dec), from which only five bits are available on the printer port, is assigned to the peripheral input byte PIB10 and the peripheral output byte PQB10. An initialisation is not made.&lt;br /&gt;
&lt;br /&gt;
 [OEM]&lt;br /&gt;
 dll0=ioport.dll&lt;br /&gt;
&lt;br /&gt;
 [ioportdll]&lt;br /&gt;
 InitOutputs=0&lt;br /&gt;
 SafeOutputs=0&lt;br /&gt;
 BufferOutputs=0&lt;br /&gt;
 MinByte=0&lt;br /&gt;
 MaxByte=10&lt;br /&gt;
 EB0=889&lt;br /&gt;
 PEB10=890&lt;br /&gt;
 AB0=888&lt;br /&gt;
 InitAB0=0&lt;br /&gt;
 SafeAB0=0&lt;br /&gt;
 PAB10=890&lt;br /&gt;
 InitPAB0=0&lt;br /&gt;
 SafePAB0=0&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Changes&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
If required the source code of this driver is available at our support. Because recent components are normally built on the basis of the PCI bus, these components can not be accessed via this driver. Usually hardware manufacturers deliver drivers and access-DLL&amp;#039;s. The source code of the IO-port driver can serve as an example to write an own driver.&lt;/div&gt;</summary>
		<author><name>Jonas</name></author>
	</entry>
</feed>