Jump to content

Bisku

Members
  • Posts

    30
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by Bisku

  1. 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

  2. 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?

  3. 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?

  4. Thanks Saragani,

    that really did the job. The reply message is was looking for is either "R" (for running), "S" (for stopped) or "?" (for boot mode). I never noticed any other return value.


    Why do I need this?
    I have put in place some security features, e.g. blocking USB-access while programm is active and user hasn't presented a valid access code to the PLC.  A backdoor is accessing the PLC while in boot mode (putting a finger on Screen during startup), because during boot mode the usb-port isn't block. So I use the return code to identify if the ladder code is running ("R"), if it is stoped ("S") and I just need to run the PLC or if the user is accessing the PLC via boot mode ("?").


    If the return value is "?" of it is "S" and stays "S" even after sending a plc.run-comand then I know someone is using my programm via boot mode and hasn't done  the "offical" login with a password.

  5. Thanks Saragani, that was a step forward allthough the handling is quite different to the pld PLC.Write_DB -function.

     

    However, for me there is one issue left:

    At some point I need to find out if the PLC is running or if it has been stopped.

    I have found the comands plc.run and plc.stop to invoke the behavior but I haven't found an equivalent to the PLC.PLC_GetStatus(x)-command the ActiveX.dll was offering.

    Any ideas on this?

  6. Quite some time ago I wrote a programm to access a Samba PLC using the ActiveX dll.

    I want to migrate to the .net-driver which seems to work fine - but there's one issue. I cannot find an equivalent form the  .write_db within in the .NET-driver.
    The command I need to substitute is a single line in the code: "PLC.Write_DB(26637, 1, 2, 1, DBValues)"...

     

    Any help is highly appreciated.

  7. On 2/11/2024 at 8:53 AM, Cara Bereck Levy said:

    Hi--sorry for the lag in answering! It is included with the most recent VisiLogic release.

    You can also update the OS's via Live Update from the Web.


    Mmh,I already tried that.

    The most recent version I can find on Unitronics' website is VisiLogic 9.9.0 Build 0, which offers OS 4.12 (38) only.
    And I also already tried the search for online updates as you mentioned. But as of today Live Update fails. It says there are no updates available.

    Maybe you can support us by posting the .uos-file here?

  8. We have approx. 90 service technicans who belong to completly different and independend companies, which shell do updated to PLC used in our product .  So far, my best solution was to write a programm which identities the com-port the plc is plugged-in (we use Samba plcs and you can identify the port via the usb-driver unitronic uses). Thus I can raises a pop-up-window to give some instruction how to set up unidownloader - but nothing more.

    Quite frustrating, that I can identify the correct port but I cannot handle over the data to the unidownloader software.

  9. On 1/25/2019 at 5:38 PM, Karl said:

    Hello All

    Is it possible to send the com port in the command line string to the unidownloader does anyone know?

     

    I contacted Unitronics support with the same question and they replyed there is no such option and there's no plan to include it in future releases.

  10. I use a subroutine that also works when PLC was powered down during Daylight saving time, allthough it is not perfect. When PLC was powered down during change of daylight saving time then the correction may be delayed up one week (but at least correction will be done at all).

    You will find the subroutine attached, but please keep in mind that I am living in Europe so different rules for start and end of daylight saving times may occur on your site, Feel free to adopt the data in line 1 and line 2 to your demands.

    DST.vlx

  11. Same here. I describe the changes in my comment block. I guess that's all you can do.

    I also export the HMI before doing changes in the past. If necessary I re-imported the HMI for revision, so I had both HMI-versions available. But I switched to a double installation of VisiLogic, to be able to have two projects on my screen at the same time. For me this was more comfortable in the end. Allthough I still miss the copy&paste-function here,

    Still, I hope on fine day will come where Unictronics either makes VisiDiff working for enhanced controllers or they willl enable copy&paste functionallity for parallel VisiLogic programms...

  12. I have the same thought and I am really missing VisiDiff here.

    Currently my workaround is:

    - I keep every version in separate file.

    - I add a "routine" for every version in each file, called "version changes V x.xx". This routine exists only of comment blocks where I describe what has been done.

    - Mark new lines in a ladder code with a green background

    - I disable lines instead of deleting them and mark them with a red background

    - If changes are to be made within a  line/block, I duplicate the original line and disable its. The changes are made to the duplicated line which will be marked with an orange background.

    - Add comments to those changes why I made those changes.

     

    This way I can track down changes from one version to another within the ladder code. To find overall changes, I read the comments  block which describes all changes

    • Like 2
  13. On 8.9.2017 at 2:30 PM, PeterFukt said:

    I updated to the new version and opened a project made in the previous version.

    I noticed that the program was using more memory than before, when running the "projected memory map" action.

    Now it say " Exceeds the limit: Used 101 % of 100 %". Is that due to wider net or what could the reason be?

    It's giving me a headache needing to remove variables from the HMI before being able to add new ones.

    Cheers,

    Peter

     

    Same here. I have a project that ran fine under the previsous version of Visilogic. But using 9.8.64 it cannot compiled anymore even though I did not make a single change on the file.

  14. 5 hours ago, Andyrusty said:

    I am attempting to install visilogic on my win10 PC.

    During installation i get "An installation support file could not be installed    catastrophic failure" and the install halts

    Does anyone have a way to fix this problem?

     

    I don't know if it will fix your specific problem but I had no more problems since I gave access to the VisiLogic installation-path for all users. That's what I did :

    1. Create a directory "C:\Program Files (x86)\Unitronics"

    2. Start explorer, right click on that directory and go to the tab "security", select "users (....)" in the upper half and change permissions for "users" to "full control" in the lower part.

    3. Now install VisiLogic in that directory "C:\Program Files (x86)\Unitronics"

    This gives read/write-access to that specific directory to all users. Since then, I didn't face any problems - even though I didn't change the UAC settings (what was recommended by Unitronics for Windows 10).

     

    HTH,

    Lars

  15. Once I ran into the same problem with a JZ20-J-R31. I could solve the issue when I noticed that the PLC had changed the communication settings back to defaults (9600 baud, Parity Even, StopBits 1, DataBits 7).

    Go to your windows settings for the com-port and check the settings (in most cases: Baud 9600, Parity: None, Stop Bits: 1, Data Bits: 8, Flow control). Then go to the U90 Ladder programm -> Controller -> M90 OLPC Settings, press the "Adcanced" button in the "Settings" section, adjust the settings to your windows settings and press "Set PLC Settings".

    For me this solved the issue.

  16. I had the same thought. But I didn't want to invest too much time to develop a strong encryption routine... And as the customer can download the whole list of password and knows at least one correct password (his own), it might be an easy task to hack the least if it isn't a strong encryption.

     

    But if I remember correctly then there is no way to access the string library, is it? So I think about storing the passwords in the string libray, e.g. place it from string 200 - 220. The I could use a MI as pointer to the password string, read the string to MIs and compare it with the data provided by the user. If password in string 210 matches then I would read the access rights from row 10 (210-200) of the database.

     

    Does anyone know for sure whether the string library is really protected against external access or not? Of course this would be essential for my approach.

  17. Hello,

     

    Do you mean that one will download DataXport from our website and access the data tables?

    Yes, I think this might happen.

     

    I have designed a system which will be sold to different companies who compete on the same market. Therefore I want to ensure that company A cannot get access to passwords of company B and vice versa.

     

     

     

    > When using DataXport, you can define which data tables can be retreived. in this case you can define only the data tables which does not include the information you wish to secure.

    > Please note that you can block access to the PLC using SB314. whenever it is on no one will be able to access the PLC using both serial and Ethernet connection.

     

    Not sure about that.

     

    I have designed the database as part of project. Nevertheless I can easily access the databases and read both structure and all values using DataXport. I didn't find any kind of protection. So, I believe anyone could simply download DataXport from the unitronics website, install it and get access to this database - or am I wrong?

  18. I have made an application with different user levels, which means a specific user can only access certain functions within the application.

     

    Currently I have stored the user information (login-name, password, access rights) within a project-database, where the data are stored within the visilogic-project file and are read-only for the PLC. Unfortunately, it is possible to extract these data using Unitronics DataXport which would give everybody the ability to read all user datas and passwords at anytime.

     

    Can anyone support me with either a way to protect the database itself, the data within the database (e.g. using some encryption) or point me to a different way how to handle these data? Any help is highly appreciated.

     

     

     

     

×
×
  • Create New...