Jump to content

Robin P

  • Content Count

  • Joined

  • Last visited

Community Reputation

0 Neutral

About Robin P

  • Rank

Recent Profile Visitors

2,803 profile views
  1. I have successfully used Export Structs to get an XLS spreadsheet, shuffled its rows (fields) using Excel's Cut and Insert Cut Cells, then used Import Structs to overwrite the original struct. I recommend saving a copy of the file beforehand, and not attempting to add, remove or rename any fields from Excel. I did indulge in some renaming which imported OK, but got a Delegate Error on recompiling - which spells death to the ULPR I think. Renaming struct fields seems fine if done within Unilogic.
  2. Hello Ofir. I have a client system using a PID loop for temperature control. To investigate a separate problem (as in D Green's recent FTP post) I would like to download and run a new, different, temporary project; and subsequently restore the original. I believe however this will destroy the original retained PID AT settings, which I would like to restore, possibly from a file, to avoid having to run the (lengthy) PID Autotune again. Is it possible save the PID AT params to a file on the SD card, as it is with any user-defined structure using a data table? Thanks Robin
  3. I have a similar problem in loading UniLogic 1.18.41 on my laptop. Was there a successful resolution to Ruey Shin's problem? Regards - Robin Proctor
  4. I am installing a UniStream PLC system on a client site, and wish to set up internal access to the PLC and its data files for users on the local network. The client IT administrator would like, for security reasons, some technical information on the PLC before being willing to connect it to his network. I quote his request: - What interests me particularly at this point are the following: - Technical details about the underlying operating system (you mentioned Unix?) and its version. - The server side (= on the Unitronics device) implementation of VNC and FTP and any other TCP/IP protocols that are implemented. I cannot find such detail on the Unitronics website. Do you have, or have links to, any information that might be relevant to his enquiry? Regards Robin Proctor
  5. I need some of my timers to resume from their last Current value following a system reset (which can happen following a software upgrade). If I just retain them they simply re-initialise. I think I can achieve this as follows: 1) Set the timer T to Retained. This just affects the Preset value. 2) In the main scan regularly store a copy of T.Current into a retained tag TC. 3) On the Ladder Initial Cycle (which happens following reset): 3.1) Store T.Preset into a temporary location TP 3.2) Store TC into T.Preset 3.3) Reset timer T. It's Preset and Current values are both now equal to TC 3.4) Store TP into T.Preset. Timer T is now running with its Current value at TC and its Preset at TP, which is where they were prior to reset. In my (limited) testing so far, this works for Reset, Reboot and Power Off. Robin Proctor
  6. On copying a function block, if the source code was effectively what was copied then could not its recompilation in the modified DT environment regenerate the internal addressing? Regards Robin Proctor
  7. Understood and thanks to all.
  8. I have a number of HMI screens in my program, which feature a 'Back' button to enable return to a parent screen. The action of this button is 'Last screen', which works fine except: If I have the PLC system - a Unistream 10" - at one of these screens during program development, and I download a new version of my program to the PLC, the program restarts at the screen previously left off at, but the Back button no longer has any effect. I now have means of returning to the parent screen, other than a system reboot. Could not the download process simply cause a restart at the Home screen? Regards
  9. Thank you for your help Shane - I'll try and implement something along the lines you suggest.
  10. I have two questions regarding REAL data displayed in a Numeric Box: 1) I wish to display a REAL data tag in a Numeric Box on the HMI. I get a warning tag unless I make the box very wide, far wider than is needed to display the number. Can I suppress this warning? 2) The documentation implies I can linearise the data in the box, effectively changing the displayed units. The VisiLogic equivalent numeric box has inbuilt optional linearisation, but I cannot find this in the Unilogic numeric box. There is a Linearize ladder function, but using this is going to add complexity to the ladder, particularly when I want the user to be able to use the box for data entry. Regards Robin Proctor
  11. How can I convert the a number to string? For example I would like the number 126 to be converted to the string "126".
  12. In Unilogic the Data Tables menu offers Upload Data Table files from PLC. In fact this enables browsing and uploading of the zipped CSV files which is what the client typically needs, and delivers them to the client's PC. Unfortunately the client must install and run Unilogic on their PC, and then click on Data Tables in the Solution Explorer to gain access to the Data Tables menu. This seems unnecessarily complex: could that menu item or program function be made available to the client more simply? Also I have found the COM.FTP ladder functions which may offer another route by enabling the PLC to act as an FTP server, but I don't know how to do this. Regards Robin Proctor
  13. Hello Shane and thank you - yes overlaying Trend widgets and switching their visibility does seem to work. Robin
  14. Further to my original post, I have now revised my understanding of the Load DTI to File function status tag. I guess that this function runs as a separate thread to the main program scan, and posts a 1 in the status tag until it completes, when it finally posts a non-1 value (hopefully 0). On reading a 1 in this tag the ladder logic should be set to do nothing further on this scan, but to repeat the read on the next scan. Am I correct in this interpretation? Regards Robin Proctor
  15. As I understand it, the Saragani pseudocode above refers to 'Status' which is the stored output of a call on the 'Load DTI ...' function. This value can only be changed by a subsequent call on this function. If Status were ever to be set to a value of 1 - 'Function in progress' - then no more calls could be made on the 'Load DTI ...' function. Is the only way to use this status to repeatedly call the function until it returns a value of 0 indicating success? Regards Robin Proctor
  • Create New...