<NME> ToolBoxLibUnitTests.csproj
<BEF> ﻿<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
  <PropertyGroup><GenerateErrorForMissingTargetingPacks>false</GenerateErrorForMissingTargetingPacks></PropertyGroup>
  <PropertyGroup>
    <OutputType>Library</OutputType>
    <TargetFramework>net462</TargetFramework>
    <UseWindowsForms>true</UseWindowsForms>
    <ApplicationIcon />
    <StartupObject />
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="NUnit" Version="3.13.2" />
    <PackageReference Include="NUnit3TestAdapter" Version="4.2.1" />
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="..\LibNoDaveConnectionLibrary\DotNetSiemensPLCToolBoxLibrary.csproj" />
  </ItemGroup>
  <ItemGroup>
    <None Update="S7Blocks\**\*">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </None>
  </ItemGroup>
</Project>    <Compile Include="TestDataBlockReading.cs" />
    <Compile Include="TestLibNoDaveReading.cs" />
    <Compile Include="TestMC7Converter.cs" />
    <Compile Include="TestPLCBlockName.cs" />
    <Compile Include="TestCRC.cs" />
  </ItemGroup>
    </ProjectReference>
  </ItemGroup>
  <ItemGroup>
    <None Include="S7Blocks\DB121.awl">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </None>
    <None Include="S7Blocks\DB121.bin">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </None>
    <None Include="S7Blocks\DB13.awl">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </None>
    <None Include="S7Blocks\DB13.bin">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </None>
    <None Include="S7Blocks\DB4.awl">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </None>
    <None Include="S7Blocks\DB4.bin">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </None>
    <None Include="S7Blocks\FB1001.awl">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </None>
    <None Include="S7Blocks\FB1001.bin">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </None>
    <None Include="S7Blocks\FB101.awl">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </None>
    <None Include="S7Blocks\FB101.bin">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </None>
    <None Include="S7Blocks\FC1.awl">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </None>
    <None Include="S7Blocks\FC1.bin">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </None>
    <None Include="S7Blocks\FC100.awl">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </None>
    <None Include="S7Blocks\FC100.bin">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </None>
    <None Include="S7Blocks\UnitTest Simatic Project.zip" />
    <Reference Include="System.Xml.Linq" />
    <Reference Include="Microsoft.CSharp" />
  </ItemGroup>
  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
       Other similar extension points exist, see Microsoft.Common.targets.

<MSG> Added support for F-Block (Safety PLC programming) languages and block attributes

Refactored Interface declaration Parsing. The "Parameter.cs" is now much easier to follow and has a lot of bugs fixed. Also a lot of Documentation was added. The Interface Parsing now supports the following points:

-Start Values or Initial Values are now correctly parsed and handled form the MC7 code. All/most datatypes are supported, DateAndTime, Strings....
This point caused me a lot of grief and it really shows what a mess the S7 really is.
-Multi dimensional Arrays are now correctly handled
-Structures with more than 255 members are now correctly handled.
-Current values are now parsed correctly

I also did many tests and wrote some Unit tests.

<DFF> @@ -42,6 +42,7 @@
     <Compile Include="TestDataBlockReading.cs" />
     <Compile Include="TestLibNoDaveReading.cs" />
     <Compile Include="TestMC7Converter.cs" />
+    <Compile Include="TestParameter.cs" />
     <Compile Include="TestPLCBlockName.cs" />
     <Compile Include="TestCRC.cs" />
   </ItemGroup>
@@ -52,46 +53,82 @@
     </ProjectReference>
   </ItemGroup>
   <ItemGroup>
-    <None Include="S7Blocks\DB121.awl">
+    <None Include="S7Blocks\MC7Converter\DB121.awl">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </None>
-    <None Include="S7Blocks\DB121.bin">
+    <None Include="S7Blocks\MC7Converter\DB121.bin">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </None>
-    <None Include="S7Blocks\DB13.awl">
+    <None Include="S7Blocks\MC7Converter\DB13.awl">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </None>
-    <None Include="S7Blocks\DB13.bin">
+    <None Include="S7Blocks\MC7Converter\DB13.bin">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </None>
-    <None Include="S7Blocks\DB4.awl">
+    <None Include="S7Blocks\MC7Converter\DB4.awl">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </None>
-    <None Include="S7Blocks\DB4.bin">
+    <None Include="S7Blocks\MC7Converter\DB4.bin">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </None>
-    <None Include="S7Blocks\FB1001.awl">
+    <None Include="S7Blocks\MC7Converter\FB1001.awl">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </None>
-    <None Include="S7Blocks\FB1001.bin">
+    <None Include="S7Blocks\MC7Converter\FB1001.bin">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </None>
-    <None Include="S7Blocks\FB101.awl">
+    <None Include="S7Blocks\MC7Converter\FB101.awl">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </None>
-    <None Include="S7Blocks\FB101.bin">
+    <None Include="S7Blocks\MC7Converter\FB101.bin">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </None>
-    <None Include="S7Blocks\FC1.awl">
+    <None Include="S7Blocks\MC7Converter\FC1.awl">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </None>
-    <None Include="S7Blocks\FC1.bin">
+    <None Include="S7Blocks\MC7Converter\FC1.bin">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </None>
-    <None Include="S7Blocks\FC100.awl">
+    <None Include="S7Blocks\MC7Converter\FC100.awl">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </None>
-    <None Include="S7Blocks\FC100.bin">
+    <None Include="S7Blocks\MC7Converter\FC100.bin">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </None>
+    <None Include="S7Blocks\Parameter\DB3001.awl">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </None>
+    <None Include="S7Blocks\Parameter\DB3001.bin">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </None>
+    <None Include="S7Blocks\Parameter\DB3002.awl">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </None>
+    <None Include="S7Blocks\Parameter\DB3002.bin">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </None>
+    <None Include="S7Blocks\Parameter\DB3003.awl">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </None>
+    <None Include="S7Blocks\Parameter\DB3003.bin">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </None>
+    <None Include="S7Blocks\Parameter\DB3004.awl">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </None>
+    <None Include="S7Blocks\Parameter\DB3004.bin">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </None>
+    <None Include="S7Blocks\Parameter\DB3005.awl">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </None>
+    <None Include="S7Blocks\Parameter\DB3005.bin">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </None>
+    <None Include="S7Blocks\Parameter\FB3003.awl">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </None>
+    <None Include="S7Blocks\Parameter\FB3003.bin">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </None>
     <None Include="S7Blocks\UnitTest Simatic Project.zip" />
@@ -107,6 +144,9 @@
     <Reference Include="System.Xml.Linq" />
     <Reference Include="Microsoft.CSharp" />
   </ItemGroup>
+  <ItemGroup>
+    <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
+  </ItemGroup>
   <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
        Other similar extension points exist, see Microsoft.Common.targets.

Added support for F-Block (Safety PLC programming) languages and block attributes