From c40969e3a64515505bb91a022185c23c11b843a8 Mon Sep 17 00:00:00 2001 From: nikvoronin Date: Fri, 10 Jun 2016 13:36:41 +0300 Subject: [PATCH 1/4] Refactoring --- .gitignore | 248 ++---------------------------- bin/Release/Ads.Remote.dll | Bin 0 -> 30720 bytes src/AdsRemote/Ads.Remote.csproj | 2 +- src/AdsRemote/AmsRouter.cs | 16 +- src/AdsRemote/Common/AdsDevice.cs | 2 +- src/AdsRemote/Common/VarBase.cs | 2 - src/AdsRemote/IPHelper.cs | 29 +--- src/AdsRemote/PLC.cs | 35 +---- src/AdsRemote/Var.cs | 10 +- src/CxFinder/MainForm.cs | 37 ++--- 10 files changed, 50 insertions(+), 331 deletions(-) create mode 100644 bin/Release/Ads.Remote.dll diff --git a/.gitignore b/.gitignore index 7a7ca06..0eb1f01 100644 --- a/.gitignore +++ b/.gitignore @@ -1,236 +1,14 @@ -## Ignore Visual Studio temporary files, build results, and -## files generated by popular Visual Studio add-ons. - -# User-specific files +### + +/src/AdsRemote/obj +/src/CxFinder/obj +/bin/Debug +/bin/Release/*.xml +/bin/Release/TwinCAT.Ads.dll +/bin/Release/*.pdb +/bin/Release/*.exe +/lib/*.xml + +.vs *.suo -*.user -*.userosscache -*.sln.docstates - -# User-specific files (MonoDevelop/Xamarin Studio) -*.userprefs - -# Build results -[Dd]ebug/ -[Dd]ebugPublic/ -[Rr]elease/ -[Rr]eleases/ -x64/ -x86/ -bld/ -[Bb]in/ -[Oo]bj/ - -# Visual Studio 2015 cache/options directory -.vs/ -# Uncomment if you have tasks that create the project's static files in wwwroot -#wwwroot/ - -# MSTest test Results -[Tt]est[Rr]esult*/ -[Bb]uild[Ll]og.* - -# NUNIT -*.VisualState.xml -TestResult.xml - -# Build Results of an ATL Project -[Dd]ebugPS/ -[Rr]eleasePS/ -dlldata.c - -# DNX -project.lock.json -artifacts/ - -*_i.c -*_p.c -*_i.h -*.ilk -*.meta -*.obj -*.pch -*.pdb -*.pgc -*.pgd -*.rsp -*.sbr -*.tlb -*.tli -*.tlh -*.tmp -*.tmp_proj -*.log -*.vspscc -*.vssscc -.builds -*.pidb -*.svclog -*.scc - -# Chutzpah Test files -_Chutzpah* - -# Visual C++ cache files -ipch/ -*.aps -*.ncb -*.opendb -*.opensdf -*.sdf -*.cachefile - -# Visual Studio profiler -*.psess -*.vsp -*.vspx -*.sap - -# TFS 2012 Local Workspace -$tf/ - -# Guidance Automation Toolkit -*.gpState - -# ReSharper is a .NET coding add-in -_ReSharper*/ -*.[Rr]e[Ss]harper -*.DotSettings.user - -# JustCode is a .NET coding add-in -.JustCode - -# TeamCity is a build add-in -_TeamCity* - -# DotCover is a Code Coverage Tool -*.dotCover - -# NCrunch -_NCrunch_* -.*crunch*.local.xml -nCrunchTemp_* - -# MightyMoose -*.mm.* -AutoTest.Net/ - -# Web workbench (sass) -.sass-cache/ - -# Installshield output folder -[Ee]xpress/ - -# DocProject is a documentation generator add-in -DocProject/buildhelp/ -DocProject/Help/*.HxT -DocProject/Help/*.HxC -DocProject/Help/*.hhc -DocProject/Help/*.hhk -DocProject/Help/*.hhp -DocProject/Help/Html2 -DocProject/Help/html - -# Click-Once directory -publish/ - -# Publish Web Output -*.[Pp]ublish.xml -*.azurePubxml -# TODO: Comment the next line if you want to checkin your web deploy settings -# but database connection strings (with potential passwords) will be unencrypted -*.pubxml -*.publishproj - -# NuGet Packages -*.nupkg -# The packages folder can be ignored because of Package Restore -**/packages/* -# except build/, which is used as an MSBuild target. -!**/packages/build/ -# Uncomment if necessary however generally it will be regenerated when needed -#!**/packages/repositories.config -# NuGet v3's project.json files produces more ignoreable files -*.nuget.props -*.nuget.targets - -# Microsoft Azure Build Output -csx/ -*.build.csdef - -# Microsoft Azure Emulator -ecf/ -rcf/ - -# Microsoft Azure ApplicationInsights config file -ApplicationInsights.config - -# Windows Store app package directory -AppPackages/ -BundleArtifacts/ - -# Visual Studio cache files -# files ending in .cache can be ignored -*.[Cc]ache -# but keep track of directories ending in .cache -!*.[Cc]ache/ - -# Others -ClientBin/ -~$* -*~ -*.dbmdl -*.dbproj.schemaview -*.pfx -*.publishsettings -node_modules/ -orleans.codegen.cs - -# RIA/Silverlight projects -Generated_Code/ - -# Backup & report files from converting an old project file -# to a newer Visual Studio version. Backup files are not needed, -# because we have git ;-) -_UpgradeReport_Files/ -Backup*/ -UpgradeLog*.XML -UpgradeLog*.htm - -# SQL Server files -*.mdf -*.ldf - -# Business Intelligence projects -*.rdl.data -*.bim.layout -*.bim_*.settings - -# Microsoft Fakes -FakesAssemblies/ - -# GhostDoc plugin setting file -*.GhostDoc.xml - -# Node.js Tools for Visual Studio -.ntvs_analysis.dat - -# Visual Studio 6 build log -*.plg - -# Visual Studio 6 workspace options file -*.opt - -# Visual Studio LightSwitch build output -**/*.HTMLClient/GeneratedArtifacts -**/*.DesktopClient/GeneratedArtifacts -**/*.DesktopClient/ModelManifest.xml -**/*.Server/GeneratedArtifacts -**/*.Server/ModelManifest.xml -_Pvt_Extensions - -# Paket dependency manager -.paket/paket.exe - -# FAKE - F# Make -.fake/ +*.user \ No newline at end of file diff --git a/bin/Release/Ads.Remote.dll b/bin/Release/Ads.Remote.dll new file mode 100644 index 0000000000000000000000000000000000000000..cf110173b6f19c588fceaf251b0c82889a05eb27 GIT binary patch literal 30720 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 mQm1Id;{8!iim$u>mnf?FS1OE%QP52)G literal 0 HcmV?d00001 diff --git a/src/AdsRemote/Ads.Remote.csproj b/src/AdsRemote/Ads.Remote.csproj index eb33b43..2484fba 100644 --- a/src/AdsRemote/Ads.Remote.csproj +++ b/src/AdsRemote/Ads.Remote.csproj @@ -23,7 +23,7 @@ 4 - pdbonly + none true ..\..\bin\Release\ diff --git a/src/AdsRemote/AmsRouter.cs b/src/AdsRemote/AmsRouter.cs index 9accfb4..41ee28f 100644 --- a/src/AdsRemote/AmsRouter.cs +++ b/src/AdsRemote/AmsRouter.cs @@ -220,10 +220,8 @@ private static RemotePlcInfo ParseBroadcastSearchResponse(ResponseResult rr) // TCat type byte[] tcatType = rr.NextChunk(Segment.TCATTYPE_RUNTIME.Length); if (tcatType[0] == Segment.TCATTYPE_RUNTIME[0]) - { if (tcatType[2] == Segment.TCATTYPE_RUNTIME[2]) device.IsRuntime = true; - } // OS version byte[] osVer = rr.NextChunk(Segment.L_OSVERSION); @@ -239,7 +237,6 @@ private static RemotePlcInfo ParseBroadcastSearchResponse(ResponseResult rr) int ci = tail.Length - 4; for (int i = ci; i > 0; i -= 4) - { if (tail[i + 0] == 3 && tail[i + 2] == 4) { @@ -250,7 +247,6 @@ private static RemotePlcInfo ParseBroadcastSearchResponse(ResponseResult rr) device.TcVersion.Build = tail[i + 6] + tail[i + 7] * 256; break; } - } // Comment byte[] descMarker = rr.NextChunk(Segment.L_DESCRIPTIONMARKER); @@ -259,7 +255,6 @@ private static RemotePlcInfo ParseBroadcastSearchResponse(ResponseResult rr) if (descMarker[0] == 2) { if (isUnicode) - { for (int i = 0; i < c; i += 2) { if (rr.Buffer[rr.Shift + i] == 0 && @@ -267,32 +262,29 @@ private static RemotePlcInfo ParseBroadcastSearchResponse(ResponseResult rr) break; len += 2; } - } else - { for (int i = 0; i < c; i++) { if (rr.Buffer[rr.Shift + i] == 0) break; len++; } - } if (len > 0) { byte[] description = rr.NextChunk(len); - if (isUnicode) + if (!isUnicode) + device.Comment = ASCIIEncoding.Default.GetString(description); + else { byte[] asciiBytes = Encoding.Convert(Encoding.Unicode, Encoding.ASCII, description); char[] asciiChars = new char[Encoding.ASCII.GetCharCount(asciiBytes, 0, asciiBytes.Length)]; Encoding.ASCII.GetChars(asciiBytes, 0, asciiBytes.Length, asciiChars, 0); device.Comment = new string(asciiChars); } - else - device.Comment = ASCIIEncoding.Default.GetString(description); } - } + } // if (descMarker[0] == 2) return device; } diff --git a/src/AdsRemote/Common/AdsDevice.cs b/src/AdsRemote/Common/AdsDevice.cs index 2eb3204..7439c44 100644 --- a/src/AdsRemote/Common/AdsDevice.cs +++ b/src/AdsRemote/Common/AdsDevice.cs @@ -21,7 +21,7 @@ internal AdsDevice(AmsNetId amsNetId, int port) internal void SetActive(bool isActive) { - this.isReady = isActive; + isReady = isActive; } } } diff --git a/src/AdsRemote/Common/VarBase.cs b/src/AdsRemote/Common/VarBase.cs index 2b4d8c3..7625620 100644 --- a/src/AdsRemote/Common/VarBase.cs +++ b/src/AdsRemote/Common/VarBase.cs @@ -38,9 +38,7 @@ public void Dispose() protected virtual void Dispose(bool disposing) { if (disposing) - { TryUnsubscribe(); - } } } } diff --git a/src/AdsRemote/IPHelper.cs b/src/AdsRemote/IPHelper.cs index 85ca362..38aece1 100644 --- a/src/AdsRemote/IPHelper.cs +++ b/src/AdsRemote/IPHelper.cs @@ -13,9 +13,7 @@ public static IPAddress GetBroadcastAddress(IPAddress localhost) IPAddress hostMask = GetHostMask(localhost); if (hostMask == null || localhost == null) - { return null; - } byte[] complementedMaskBytes = new byte[4]; byte[] broadcastIpBytes = new byte[4]; @@ -48,12 +46,8 @@ public static IPAddress GetHostMask(IPAddress localhost) UnicastIPAddressInformationCollection unicastInfos = netInterface.GetIPProperties().UnicastAddresses; foreach (UnicastIPAddressInformation info in unicastInfos) - { if (info.Address.ToString() == strLocalAddress) - { return info.IPv4Mask; - } - } } return null; @@ -70,31 +64,22 @@ public static List Localhosts public static List FilteredLocalhosts(List niTypes = null) { if (niTypes == null) - { - niTypes = new List - { - NetworkInterfaceType.Wireless80211, - NetworkInterfaceType.Ethernet - }; - } + niTypes = + new List + { + NetworkInterfaceType.Wireless80211, + NetworkInterfaceType.Ethernet + }; List localhosts = new List(); foreach (NetworkInterface ni in NetworkInterface.GetAllNetworkInterfaces()) - { if (niTypes.Contains(ni.NetworkInterfaceType)) - { foreach (UnicastIPAddressInformation unicastInfo in ni.GetIPProperties().UnicastAddresses) - { if (unicastInfo.Address.AddressFamily == AddressFamily.InterNetwork) - { localhosts.Add(unicastInfo.Address); - } - } - } - } return localhosts; } - } + } // class } diff --git a/src/AdsRemote/PLC.cs b/src/AdsRemote/PLC.cs index 16eff24..36776f4 100644 --- a/src/AdsRemote/PLC.cs +++ b/src/AdsRemote/PLC.cs @@ -120,9 +120,7 @@ private void PingThread(CancellationToken token, SynchronizationContext uiContex lock (_locker_dict_PortDevice) { if (devices.Count != dict_PortDevice.Values.Count) - { devices = new List(dict_PortDevice.Values); - } } foreach (AdsDevice device in devices) @@ -137,13 +135,10 @@ private void PingThread(CancellationToken token, SynchronizationContext uiContex { Var v = device.Vars[0]; if(v.IndexGroup > -1 && v.IndexOffset > -1) - { device.AdsClient.ReadAny(v.IndexGroup, v.IndexOffset, v.ValueType); - } else - { device.AdsClient.ReadSymbol(v.Name, v.ValueType, !device.Ready); - } + isActive = true; } catch { } @@ -157,9 +152,7 @@ private void PingThread(CancellationToken token, SynchronizationContext uiContex } // foreach (AdsDevice device in devices) if (!token.IsCancellationRequested) - { Thread.Sleep(updateList.Count > 0 ? Tune_ReinitInterval : Tune_PingSleepInterval); - } foreach(AdsDevice device in updateList) { @@ -208,9 +201,7 @@ protected virtual void OnDeviceLost(object obj_Device) AdsDevice device = (AdsDevice)obj_Device; foreach (Var v in device.Vars) - { v.TryUnsubscribe(); - } EventHandler handle = DeviceLost; handle?.Invoke(this, device); @@ -242,9 +233,7 @@ private Var CreateVariable(string varName, int Port, long IGrp = -1, long { Var v; if (dict_NameVar.TryGetValue(varName, out v)) - { return (Var)v; - } Var var; AdsDevice device; @@ -273,9 +262,7 @@ private Var CreateVariable(string varName, int Port, long IGrp = -1, long dict_NameVar.Add(varName, var); if (device.Ready) - { var.TrySubscribe(); - } return var; } @@ -307,9 +294,7 @@ public Var Var(string Variable, AmsPort3 Port) public T Class(T instance = default(T)) where T : new() { - T o = instance; - if (o == null) - o = new T(); + T o = instance == null ? new T() : instance; #region Properties PropertyInfo[] properties = o.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public); @@ -321,13 +306,9 @@ public Var Var(string Variable, AmsPort3 Port) Type t = null; if (pr.PropertyType.IsGenericType) - { t = pr.PropertyType.GetGenericArguments()[0]; - } else - { t = la.As; - } if (t != null) { @@ -345,8 +326,8 @@ public Var Var(string Variable, AmsPort3 Port) if (v != null) pr.SetValue(o, v); - } - } + } // if (t != null) + } // if (la != null) } //foreach(PropertyInfo pr in properties) #endregion @@ -360,13 +341,9 @@ public Var Var(string Variable, AmsPort3 Port) Type t = null; if (fi.FieldType.IsGenericType) - { t = fi.FieldType.GetGenericArguments()[0]; - } else - { t = la.As; - } if (t != null) { @@ -404,14 +381,10 @@ protected virtual void Dispose(bool disposing) if (disposing) { foreach (Var v in dict_NameVar.Values) - { v.TryUnsubscribe(); - } if (cancelTokenSource != null) - { cancelTokenSource.Cancel(); - } } } } diff --git a/src/AdsRemote/Var.cs b/src/AdsRemote/Var.cs index e1426fd..19bb820 100644 --- a/src/AdsRemote/Var.cs +++ b/src/AdsRemote/Var.cs @@ -65,9 +65,7 @@ internal override bool TryUnsubscribe() try { if (NotifyHandle > -1) - { Device.AdsClient.DeleteDeviceNotification(NotifyHandle); - } } catch { @@ -82,7 +80,6 @@ internal override bool TrySubscribe() try { if (IndexGroup == -1 && IndexOffset == -1) - { try { ITcAdsSymbol sym = Device.AdsClient.ReadSymbolInfo(RemoteName); @@ -90,10 +87,8 @@ internal override bool TrySubscribe() IndexOffset = sym.IndexOffset; } catch { } - } if (IndexGroup > -1 && IndexOffset > -1) - { NotifyHandle = Device.AdsClient.AddDeviceNotificationEx( IndexGroup, IndexOffset, @@ -101,9 +96,7 @@ internal override bool TrySubscribe() this, typeof(T) ); - } else - { NotifyHandle = Device.AdsClient.AddDeviceNotificationEx( RemoteName, @@ -111,7 +104,6 @@ internal override bool TrySubscribe() this, typeof(T) ); - } } catch { @@ -142,5 +134,5 @@ public override object GetValue() } public override Type ValueType { get { return typeof(T); } } - } + } // class } diff --git a/src/CxFinder/MainForm.cs b/src/CxFinder/MainForm.cs index 6e5126d..9224dca 100644 --- a/src/CxFinder/MainForm.cs +++ b/src/CxFinder/MainForm.cs @@ -33,7 +33,7 @@ private string AppShortVersion private void MainForm_Load(object sender, EventArgs e) { - this.Text = APP_NAME + AppShortVersion; + Text = APP_NAME + AppShortVersion; FormNiCombo(); statusStatusLabel.Text = STATUS_READY; @@ -99,23 +99,28 @@ private async void searchButton_Click(object sender, EventArgs e) niComboBox.Enabled = ethCheckBox.Enabled = wlanCheckBox.Enabled = lbCheckBox.Enabled = false; ComboBoxItem si = (ComboBoxItem)niComboBox.SelectedItem; - List di = await AmsRouter.BroadcastSearchAsync((IPAddress)si.Value, timeout * 1000); + List di = + await AmsRouter.BroadcastSearchAsync( + (IPAddress)si.Value, + timeout * 1000); cxListView.Items.Clear(); foreach(RemotePlcInfo info in di) { - ListViewItem lvi = new ListViewItem( new string[] - { - info.Name, - info.Address.ToString(), - info.AmsNetId.ToString(), - string.Concat( - info.TcVersion.Version.ToString(), ".", - info.TcVersion.Revision.ToString(), ".", - info.TcVersion.Build.ToString()), - info.OsVersion, - info.Comment - }); + ListViewItem lvi = + new ListViewItem( + new string[] + { + info.Name, + info.Address.ToString(), + info.AmsNetId.ToString(), + string.Concat( + info.TcVersion.Version.ToString(), ".", + info.TcVersion.Revision.ToString(), ".", + info.TcVersion.Build.ToString()), + info.OsVersion, + info.Comment + }); cxListView.Items.Add(lvi); } @@ -133,13 +138,9 @@ private async void searchButton_Click(object sender, EventArgs e) private void searchProgressTimer_Tick(object sender, EventArgs e) { if (searchStatusProgressBar.Value + 1 <= searchStatusProgressBar.Maximum) - { searchStatusProgressBar.Value++; - } else - { searchStatusProgressBar.Value = searchStatusProgressBar.Maximum; - } } } } From fceccd4bbf3fc62f479477b007597ed8e675324f Mon Sep 17 00:00:00 2001 From: nikvoronin Date: Fri, 10 Jun 2016 13:40:17 +0300 Subject: [PATCH 2/4] readme .1 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c1f3af9..ecff05b 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -A .NET wrapper around Beckhoff's TwinCAT.Ads API library. Project is not affiliated with Beckhoff. +High-level interface for Beckhoff's TwinCAT.Ads API library. Project is not affiliated with Beckhoff. Getting started =============== From faabe8bc364e2b11821fbd7c0580b504f7c64e58 Mon Sep 17 00:00:00 2001 From: nikvoronin Date: Fri, 10 Jun 2016 15:42:58 +0300 Subject: [PATCH 3/4] Bin removed --- .gitignore | 9 ++------- bin/Release/Ads.Remote.dll | Bin 30720 -> 0 bytes 2 files changed, 2 insertions(+), 7 deletions(-) delete mode 100644 bin/Release/Ads.Remote.dll diff --git a/.gitignore b/.gitignore index 0eb1f01..badecc2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,12 +1,7 @@ ### -/src/AdsRemote/obj -/src/CxFinder/obj -/bin/Debug -/bin/Release/*.xml -/bin/Release/TwinCAT.Ads.dll -/bin/Release/*.pdb -/bin/Release/*.exe +[Oo]bj/ +[Bb]in/ /lib/*.xml .vs diff --git a/bin/Release/Ads.Remote.dll b/bin/Release/Ads.Remote.dll deleted file mode 100644 index cf110173b6f19c588fceaf251b0c82889a05eb27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30720 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 mQm1Id;{8!iim$u>mnf?FS1OE%QP52)G From d5b3acc97ea1eede5bc47e07df13da00c496700a Mon Sep 17 00:00:00 2001 From: nikvoronin Date: Fri, 10 Jun 2016 15:49:50 +0300 Subject: [PATCH 4/4] preRelease --- .gitignore | 1 - README.md | 13 +++++++------ lib/TwinCAT.Ads.dll | Bin 253952 -> 0 bytes src/AdsRemote/Ads.Remote.csproj | 4 ++-- src/AdsRemote/Properties/AssemblyInfo.cs | 2 +- src/CxFinder/CxFinder.csproj | 4 ++-- 6 files changed, 12 insertions(+), 12 deletions(-) delete mode 100644 lib/TwinCAT.Ads.dll diff --git a/.gitignore b/.gitignore index badecc2..cf445f2 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,6 @@ [Oo]bj/ [Bb]in/ -/lib/*.xml .vs *.suo diff --git a/README.md b/README.md index ecff05b..a32d6a8 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ With help of Ads.Remote.PLC.Router you can add new route record into the remote Installation ------------ -TwinCAT 2 or 3 must be installed. +TwinCAT 2 or 3 have to be installed. Examples =============== @@ -47,11 +47,12 @@ private void Plc_DeviceReady(object sender, AdsDevice e) Create a copy of your PLC's variable then use it like an ordinary variable ```C# -Var main_count = plc.Var("MAIN.count"); -Var main_state = plc.Var("MAIN.state"); -Var frm0 = plc.Var("Inputs.Frm0InputToggle", 27907); -Var devState = plc.Var(0xF030, 0x5FE, 27907); -Var g_Version = plc.Var(".VERSION"); +Var main_count = plc.Var ("MAIN.count"); +Var main_state = plc.Var("MAIN.state"); +Var g_Version = plc.Var(".VERSION"); + +Var frm0 = plc.Var("Inputs.Frm0InputToggle", 27907); +Var devState = plc.Var(0xF030, 0x5FE, 27907); long framesTotal += frm0 / 2; // automatic type casting MessageBox.Show(frm0); // cast into the string type without call of the ToString() diff --git a/lib/TwinCAT.Ads.dll b/lib/TwinCAT.Ads.dll deleted file mode 100644 index 82b76540b73b1e2b5e4677028ba3a0bc3be2d5f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 253952 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 UmMO4Ifn^FTQ(&0_zd8#1AFDmm - + False - ..\..\lib\TwinCAT.Ads.dll + C:\TwinCAT\AdsApi\.NET\v4.0.30319\TwinCAT.Ads.dll diff --git a/src/AdsRemote/Properties/AssemblyInfo.cs b/src/AdsRemote/Properties/AssemblyInfo.cs index 6962a6c..fd2bac5 100644 --- a/src/AdsRemote/Properties/AssemblyInfo.cs +++ b/src/AdsRemote/Properties/AssemblyInfo.cs @@ -1,6 +1,6 @@ using System.Reflection; [assembly: AssemblyTitle("AdsRemote")] -[assembly: AssemblyDescription("Automation interface for TwinCAT.Ads API")] +[assembly: AssemblyDescription("High-level interface for TwinCAT.Ads API")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("Nikolai Voronin")] [assembly: AssemblyProduct("AdsRemote")] diff --git a/src/CxFinder/CxFinder.csproj b/src/CxFinder/CxFinder.csproj index 14c26e6..cfa6a36 100644 --- a/src/CxFinder/CxFinder.csproj +++ b/src/CxFinder/CxFinder.csproj @@ -39,9 +39,9 @@ - + False - ..\..\lib\TwinCAT.Ads.dll + C:\TwinCAT\AdsApi\.NET\v4.0.30319\TwinCAT.Ads.dll