Jump to content

Saragani

Members
  • Posts

    1,195
  • Joined

  • Last visited

  • Days Won

    116

Everything posted by Saragani

  1. Hi, please try it and report (Did it help or not? Bugs, problems?) Thanks.
  2. Hi, the beta version is not yet available, but however, the Remote Operator version is currently being coded and you should expect it soon
  3. Well, the .Net driver does not support events. What kind of events you are expecting? The PLC does not notify the PC about values changes so you have to poll them each time and compare then to the previous values. Either way you will need to communicate with the PLC and request the values of tags. The .Net driver does it for you an a wrapped protocol, and it also splits reqests if they are too big for the Tx or the Rx
  4. I have supplied a DLL that can translate UTR files into models: http://forum.unitronics.com/index.php?/topic/2630-alarms-from-sd-card/ Please try it
  5. Hi, try the attached DLL. It should help you open Trend, UDT and UAL files. Usage: var trends = Trend.GetTrends(@"C:\Test\12345678.UTR"); var dt = Unitronics.SD.Files.DataTables.Table.GetTables(@"C:\Test\12345678.UDT"); var alarm = Unitronics.SD.Files.Alarms.Alarms.GetAlarms(@""C:\Test\Alarm.UAL"); In Trend, there is also another optional parameter which is Samples per page (else it will show all samples). In Trend you would get IEnumerable<IEnumerable<Trend>>, this is because when you append trends to file, you might have different trends (this is why there is the external IEnumerable), and the inner IEnumerable is for pages... Assuming you have 1 trend and you set 0 samples per page (which means no paging), then you can: trends.ElementAt(0).ElementAt(0).Curves And accessing the points: trends.ElementAt(0).ElementAt(0).Curves.ElementAt(0).Points As a notice, even though the trend has paging, it doesn't mean that it doesn't load all the data to the RAM (it is just for showing less data per page, for example 1000 samples per page). For large data sets, you might get an out of memory exception (but it would probably have to be a large file of a appended trends). The Alarms and Data Tables do have paging (as loading only a part of the file each time), so it is memory efficient. Both Data Tables and Alarms returns an IEnumerable<Table> (Because a file can contain appended data from different sources/strctures). Each table contains pages (Where each page contains up to 1000 samples). For accessing a data of a page, do: dt.ElementAt(0).Pages[0].DataTable; (or dt.ElementAt(i).Pages[j].DataTable; to be more generic) When requesting the property DataTable from a page, it will load the specific data from the file into a .Net DataTable. You can then use DataView in order to show the data in a Grid. The alarms code was not fully tested (It works, but please test it on several files to see that it works correctly) Unitronics.SD.Files.Zip
  6. I would rather think that the problem is with the Web Server code.The code you have might be old, since I remember that those issue were fixed. Please contact our support in order to confirm/verify the version of the web server you are using.
  7. For reading files from the SD card, you will a PLC object. I believe you already know how to communicate with a PLC (using GetPLC etc). Now that you have a PLC object, called plc, you can write: plc.SD.ReadFile(SdFolder.DT_DT1, "Hello.utr", null); The SdFolder Enum is: public enum SdFolder { RootFolder = -1, ALARMS = 0, DT = 1, DT_DT1 = 100, DT_DT2 = 101, DT_DT3 = 102, DT_DT4 = 103, LOG = 3, SYSTEM = 4, USER_APP = 5, TRENDS = 6, TRENDS_TRENDS1 = 600, TRENDS_TRENDS2 = 601, TRENDS_TRENDS3 = 602, TRENDS_TRENDS4 = 603, SDBLOCKS = 9, EXCEL = 10, EXCEL_EXCEL1 = 1000, EXCEL_EXCEL2 = 1001, EXCEL_EXCEL3 = 1002, EXCEL_EXCEL4 = 1003, WEB = 11, } These are the folders that are used by unitroncis in the SD. There are other overloads to this function that also gets the folder as string (for example @"DT\DT1") You can also list the files on the SD, etc... just look at the set of APIs that the SD class exposes. Bte, the last parameter in the example I gave is a progress delegate, so if you want to have a progress car showing the download percentage, then use this delegate
  8. For reading files from the SD card, you will a PLC object. I believe you already know how to communicate with a PLC (using GetPLC etc). Now that you have a PLC object, called plc, you can write: plc.SD.ReadFile(SdFolder.DT_DT1, "Hello.utr", null); The SdFolder Enum is: public enum SdFolder { RootFolder = -1, ALARMS = 0, DT = 1, DT_DT1 = 100, DT_DT2 = 101, DT_DT3 = 102, DT_DT4 = 103, LOG = 3, SYSTEM = 4, USER_APP = 5, TRENDS = 6, TRENDS_TRENDS1 = 600, TRENDS_TRENDS2 = 601, TRENDS_TRENDS3 = 602, TRENDS_TRENDS4 = 603, SDBLOCKS = 9, EXCEL = 10, EXCEL_EXCEL1 = 1000, EXCEL_EXCEL2 = 1001, EXCEL_EXCEL3 = 1002, EXCEL_EXCEL4 = 1003, WEB = 11, } These are the folders that are used by unitroncis in the SD. There are other overloads to this function that also gets the folder as string (for example @"DT\DT1") You can also list the files on the SD, etc... just look at the set of APIs that the SD class exposes. Bte, the last parameter in the example I gave is a progress delegate, so if you want to have a progress car showing the download percentage, then use this delegate
  9. Reading a file from the SD Card can be done using the .Net driver SD APIs. The SD Card explorer uses those same APIs After reading the files, you hit a wall, because we don't give any API of showing a trend on a UI. There is a small program that converts URT files into PDF. The sources are not published, but it can be stripped out to have a model that represents the trends and its curves. But you will still need some kind of User Control that will take that data and show it in the UI (WinForms or WPF)
  10. You can use SD Card Suite. It has a program called SD Card Manager, which let you import a data from a Micro SD, or from a directory from your local HD (Where the directory contains files that were created by the PLC and saved into SD)
  11. I cannot give you an exact date, but I know that there is a version of Visilogic/Remote Access that is able to show the new alarms display (it is probably a Beta which is a newer version than 9.5)
  12. Any luck? Any further information?
  13. Hi, remote operator has not yet implemented the new alarms display, but it scheduled for the next release of Remote Operator. Can you verify that Remote Access (the old Remoting application that comes with Visilogic) shows the "Alarms in Group" without any error? (like subscript out of range)
  14. Hi, I've took the project that you sent me and downloaded it to a PLC. I was able to create a URC file from both Remote Operator and Remote Access. (You can also try Remote Access... I'm pretty sure that you will get a similar error, for example: subscript out of range. If you don't get any error in Remote Access, then tell me) Are you sure this project is identical to the project that is located on the PLC? If you are sure that this project is identical to the one in the PLC then you can first try to use Verify in order to be sure of that. If the project is verified or you are sure that it is the same project then you can re-downloaded it to the PLC (using download all, in order to force the download of the entire project... Please note, "Download All" requires reset). This should solve the problem. If you cannot download the project to the PLC (because the machine/plc must not be reset), then you can try the following: Open the project in Visilogic, go to "Project" -> Create Project Files - > Go to tab "HMI Displays" and click on "Create File". Choose the file name and path and a URC file will be created. Once the file is created, go to Remote Operator, and instead of selecting "Create Cache File", choose "Import Cache File". Select the file you have just created, and try to Remote Control the PLC. If you see red X's then it means that Remote Operator calculations shows that the images on this project are different from the one in the PLC. (And if that happens, then tell me). Please update me on how it goes (Results etc). Thanks.
  15. Email support@unitronics.com with the project file. They will check if they can create a urc file from the project after being downloaded to the PLC and will work with the r&d to resolve this issue.
  16. You get the error while creating the the URC file form the PLC? (When downloading the pictures from the PLC) If so, there is probably something wrong in the project in the PLC. Our R&D can find out whats wrong if they get the original project.
  17. Hi, the formula feature is one of the things that are currently in development.
  18. Hi, the alarms feature has not been developed yet, but I know of people who have developed their own Alarms using UDFBs, Structs and Data Tables (and they also created the corresponding HMI Screens). This feature is in the tasks list (so we haven't forgotten it). The password protected program is another feature that was not yet implemented, but it's in the list
  19. Here is the DLL .Net Communication Driver + DataTables DLL x64.rar
  20. I've deliberately took Vista as an example because it takes a lot of resources (There are more chances of installing Win 7 on an old computer rather than installing Vista on that old computer). Either way, I don't think that AT 286 can run Windows 7 as well. :-)
  21. It's like installing Windows Vista on an old AT 286... it is not possible. The old Visions are different platform, different OS etc.
  22. If you mean you want to have it in a text in the HMI, then you can copy the sign from the internet, or use ASCII code. If you click on the text for editing, and press Alt+128 then it would put the sign Euro. It is a standard Windows shortcut which can be used anywhere (Alt + ASCII_Code), and I can even use it here: € Sometimes you need to write it in 4 digits, meaning Alt+0128
  23. The source is not available, but I will compile a 64 bit version for you next week.
  24. About 2, you want that Text for '0' and Text for '1' would come from Tags. Am I understanding right?
  25. "Soft Reset" is a feature that is currently being implemented and will be available on the next UniLogic+UniStream release. In this release, changes to the HMI, and Ladder will not require reset. Changes to Tags can sometimes requires reset under the following rules: * If tags were added - No reset requires * If tags were deleted - Reset is requied * If tags got their type changed (Bit, int etc), or an Array became to a none-array or vice versa - Reset is required * If arrays or strings got their size increased - No reset is required * if arrays or string got their size reduced - Reset is required. * If a tag got it's address changed (due to defrag, or due to size increased, so it does not longer fits to where it was) - Reset All other features will require reset. In the future we would probably support more features with "Soft Reset" About the boot time, I have no answer.
×
×
  • Create New...