Jump to content

I there a newer .net-driver available?


Bisku

Recommended Posts

On this forum's frontpage there is a text with a link to a pdf-file called "Cybersecurity Measures for Vision and Samba Controllers ".

 For detailed instructions on upgrading and implementing the recommended security measures, please Click Here or contact directly to our technical support team.

 

Within that PDF-file there is another link heading to an updated documentation for the .net-driver:  unitronics_communication_driver_for_dot_net.pdf (unitronicsplc.com)

 

I tried to implement the caching of password like described in chap. 6. But that command isn't included in my current .net-drivers.
I then downloaded the .net-drivers from the unitronics homepage at https://www.unitronicsplc.com/software-visilogic-for-programmable-controllers/ -> programming tools for developers -> .NET-driver. But I can only get the "old" .net-driver from 2015 from that webpage.

Where can I obtain the current .net-drivers the new documentation is relating to?

Link to comment
Share on other sites

You can get an updated version of the DLL if you install Remote Operator. However, I have fixed and updated few things since then, so here is the latest version.

This is the compiled dll (compiled as x86), and it requires .Net 4.7.2 (Unlike the old versions that worked with older .Net frameworks). If you need an Any CPU version, then tell me.

The new communication driver references the Unitronics.ComDriver.Security.dll

It also references the System.Data.SQLite.dll (which uses the interop dlls under the x86 and x64 folders. You will need those files in the same structure).

 

The SQLite dll allows you to use the built-in SQLitePasswordStorage. You can write your own password storage (like saving it in the registry, saving it into a text file, etc), by just implementing an interface.

 

 

Link to comment
Share on other sites

Hi Saragani,

first of all many thanks for your support. 

Unfortunately,  I get some errors during compilation now:
Error BC30652: Reference required to assembly 'Unitronics.ComDriver, Version=1.0.0.67, Culture=neutral, PublicKeyToken=878e3ff5e143a403' containing the type 'PLC'.

I think I know the reason:
Im am also using the unitronics.datatables.dll. Before I updated the ComDriver I could use the PLC existing connection by using a line like
'Dim Datenbanken = New Unitronics.DataTables.DataTables(SPS, DataTablesReadOptions.StructureAndValues)' where the variable "SPS" was initiated with ComDriver priviously.
This way I could always go back and forth between reading memory values and datatable-entries without have to close the connection and reconnect every time.

Is there some workaround so I can still use my old code or do I really have to disconnect and reconnect every time I switch from reading/writing memory values to access database-retries?

Link to comment
Share on other sites

Thank you so much, Saragani. Works like charm.


I feel a bit uncomfortable asking and I hope I'm not doing too much work...
But if you could also compile the RemoteOperator.dll as anyCPU, then my collection would be complete. 😉

 

Link to comment
Share on other sites

Unfortunately it raises a new error message, but I am not sure why.

I am referencing both the new communication driver and the latest unitronics.remoteoperator.dll in my project. 
The warning regaring AnyCPU and x86 mismatch are gone, so the new dlls are all anyCPU now. Thanks for that.

But I do get the same old BC30652 error message, now regarding the new remoteoperator.dll:
Error BC30652: Reference required to assembly 'Unitronics.ComDriver, Version=1.0.0.91, Culture=neutral, PublicKeyToken=null' containing the type 'PLC'. Add one to your project.  

However, the unitronics.ComDriver is included as reference and when I check it's properties within Visual Studio, then it does itentify as version 1.0.0.91. 

Screenshot 2024-04-04 194445.jpg

Link to comment
Share on other sites

  • 2 months later...

Thank you Saragani, that worked and has enabled me to update my system to work with the new security enhancements on my Linux machine using .Net 6.

If anybody else is trying to do the same, in addition to changes to the code documented elsewhere to pass the password to the PLC, I also needed to add references to the following packages (all version 8):

  • System.Configuration.ConfigurationManager
  • System.IO.Ports
  • System.Security.Cryptography.ProtectedData

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

Confirm to continue.