Jump to content

Saragani

Members
  • Posts

    1,195
  • Joined

  • Last visited

  • Days Won

    116

Everything posted by Saragani

  1. Ok, and you are sure that the defective project was created using version 1.7.62 (not with earlier version and then upgraded)? You've said that UniLogic crashed when you first added the email. Maybe that caused the struct to be made without any members. Can you please send the project to the support, and ask them to forward it to me? 1 more thing, go to: %programdata%\unitronics\unilogic\temp\ Do you see a foder called ErrorData? Hopefully, if UniLogic did not crash after the crash you've mentioned, and hopefully that the file were not erased, can you please send the Zip, or the other files in that folder to the support (also forward to me)? Thanks
  2. Well, it seems that the missing members are the problem. Can you try and create a new project and see if the members are there?
  3. Ok, let get some info: * Are you opening an exising project or creating a new one? * If its an old project, in what version it was created? * Can you give a specific scenario that causes the crash?
  4. Hi drewh, I'm asking again: What is the bug that you are talking about? (Can you please describe it? What is the issue, what is the scenario, where the bug is located in the code (if you know), and what is the fix?)
  5. Currently not. The Unistream does not support the pcom since tags are dynamic. Letting the user read tags and perform actions is a known request.
  6. You are right. I have no idea how it got deleted on the first place. Anyhow, I've attached a newer version (a very small fix + enhancement on identifying V350/V130 models). I'll send the updated verstion to our support so theu will upload it. What is the bug that you are talking about? (Can you please describe it? What is the issue, what is the scenario, where the bug is located in the code (if you know), and what is the fix?) If no one has reported it, then there is a small chance that it was fixed. Thanks. NET Driver 2014 - Q3.zip
  7. We already implemented a feature to support such request. You should have a function called SetPLC, which exist in the Data Tables DLL since version 1.0.0.15. Since it appears that the version on the website is too old, then I suggest you to take it from the SD Card Suite, since it has the latest version.
  8. Unless changed, the default password for the Info should be 1111 Youl should be able to ener it and see or change the communication settings
  9. Hi. You should try version 9.7.7: http://www.unitronics.com/downloads/support/visilogic/VisiLogicSetup_9_7_Build_07.exe
  10. Currently, there isn't any simulator. Visilogic and the Vision PLCs do have a 3rd party simulator. The PLC works in scans. On each scan, the code runs from the main function, and continues to each function or code that is being called. Lets say that for example, the scan time (the time it takes for your ladder code to run from start to end) is 1ms... then it means that every 1ms, the "if pressure <= x then" would be evaluated. (So threre is no problem)
  11. Thank you for your feedback. I have forwarded your request and a newer version should be uploaded within the next few days. In the meanwhile, you can take the updated .net driver from the latest Remote Operator on our website (after intalling Remote Operator, you can find the driver on the installation folder). It supports the TR-20 and also the Samba PLCs.
  12. Maybe you should use a "When Rise" instead of direct contact on Net 3 and 4....
  13. Visilogic. There is only 32 bit version (and it works on both 32 and 64 bit versions of windows). You will need to disable the UAC on windows.
  14. What models are you missing? You can take the driver from one of our software installations: http://www.unitronics.com/Downloads/Support/Software%20Utilities/Remote%20Operator%20Version%201.0.45.zip http://www.unitronics.com/Downloads/Support/Software%20Utilities/Unitronics%20SD%20Card%20Suite%202.0.50.zip The remote operator is dated later, so it probably contains a newer version. You can find it in the installtion dir after installing the program.
  15. You should not try to reach them through the Windows Explorer, but use UniLogic. Anyhow, it should be located in the application data: %allusersprofile\application data\unitronics\unilogic\data or something similar.
  16. Hi, the password element you've talked about does the other thing around. It doesn't insert the text you have entered into a tag, but rather validate the entered text with the value of the tag (You can define actions of Fail and Success to that element, so if the user have entered a correct password, then it will do something, for example, load a different screen). The feature you are talking about is masking the text box. UniLogic is going to have a masked Numeric box in one of the upcomming versions, but I'll suggest a feature to also mask a Text Box if needed.
  17. If you browse for an image, then you should see in the File Browser Dialog a shortcut to the UniPics (see attached screenshot) You have pipes, motors, pumps etc. The tanks you were talking about are probably the tank element (which also have a progressbar/bargraph inside it, so it can be linked to a Tag)
  18. You cannot communicate with the PLC if the baudrates does not match, so the only way that is left is using hardware signals. If you set the BreakState of the serial port, then it signals the PLC to switch to 9600. serial.BreakState = true; Thread.Sleep(500); serial.BreakState = false; Thread.Sleep(1000); Now you need to tell the PLC that you want to change the baud rate. The command would be: internal string BreakCommand() { string breakCommand = "CPC"; breakCommand += "1"; // plc port breakCommand += "T"; // Temp change switch (BaudRate) { case BaudRate.BR110: breakCommand += "01"; break; case BaudRate.BR300: breakCommand += "02"; break; case BaudRate.BR600: breakCommand += "03"; break; case BaudRate.BR1200: breakCommand += "04"; break; case BaudRate.BR2400: breakCommand += "05"; break; case BaudRate.BR4800: breakCommand += "06"; break; case BaudRate.BR9600: breakCommand += "07"; break; case BaudRate.BR19200: breakCommand += "08"; break; case BaudRate.BR38400: breakCommand += "09"; break; case BaudRate.BR57600: breakCommand += "0A"; break; case BaudRate.BR115200: breakCommand += "0B"; break; } breakCommand += "FF"; // Timeout - no change breakCommand += "FF"; // Flow Control - no change return breakCommand; } For the result you got, you add the STX + Unit ID + Checksum + ETX like in any ASCII command: STX + Unit ID + Command + Checksum + ETX As I said, you need to change your baud rate to 9600 in order to send that command. For that, you need to disconnect the serial port (since changing the baud rate while the connection is opened will result an exception). serial.Disconnect(); serial.BaudRate = BaudRate.BR9600; serial.Connect(); Thread.Sleep(1000); serial.WriteLine(_theResultCommandThatYouGot); serial.Disconnect(); serial.BaudRate = originalBaudRate; // This is the baud rate that you told the PLC you want to use serial.Connect(); // now you are good to go.
  19. The whole point of a Function/UDFB is to be used more than once with different parameters. For it to work, you should avoid the use of Global tags in the UDFB if those Global tags are needed to be different on each call (You should rather define them as Function-In/Out and pass them as a parameter). Without seeing your code, I cannot know what you are trying to do, or what you are doing wrong.
  20. What version of Windows Vista you have? As much as I recall, UniLogic requires Windows Vista to updated to SP2, and you might have a Vista SP1 or Vsta without any Service Packs at all.
  21. Hi, the .Net driver does not supply any way of write protecting operands, since the PLC itself doesn't support it. The .Net driver only implements the API that are published in Unitronics website. Unitronics supplies the source codes of the .Net driver, free or charge, so you can implement the feature that you want (reading SB 140 before committing your write requests). Before commiting the ReadWrite requests, read the value of SB 140, and if the bit is set, then remove the Write Requests from the readwrite requests array. You, as a programmer, can also do it in your code. As for SB140, its actual purpose is to allow Read-Only remote access, meaning, when using Remote Access/Remote Operator to control the PLC, you will only see the screen of the PLC, and touch events and keyboard events will be ignored by the PLC. Yes, the .Net driver allows you to connect to the PLC without supplying a PLC name. The GetPLC factory has 2 flavors, with and without a PLC name, meaning: this is not a bug, but a feature. We actually use both for different needs. (I specifically use it a lot, if for example, I want to spawn another connection to the PLC, then I take the original channel of an already existing PLC, and create a new PLC object) The reason PLC name was added on the first place was not a security problem, but a way of identifying/verifying that the PLC you work with is actually what you meant (this is very important when working with Ethernet). If the original reason would have been a security then: * The user would not have been able to see the PLC name within the Info * The PLC could not have been read using a PCOM * For establishing a connection to the PLC, the PLC would be validating the PLC name, and not the other way around * The PLC would ignore connections if wrong PLC name was sent All of the above is not true for PLC name, but very true on "Upload Project" when it is password protected (The PLC would validate the sent password and would physically deny access to the flash area where the Project backup is stored at)
  22. You are correct. Sending the program to Unitornics is your best choice.
×
×
  • Create New...