Jump to content


  • Posts

  • Joined

  • Last visited

tonnerre's Achievements


Member (2/4)



  1. @ORSO2001, sorry, I should have explained my use case in the post above and I dont mean to hijack the post. Maybe it is similar to what xXJEQTXx is doing. I use data tables to log data and store it to a file rather than the data sampler since I am also recording other information that as far as I know the data sampler cannot record (user name, custom ascii text that the user enters, time and date stamp, etc.) and this based on events (triggers), not time intervals. At the end of the run, it may be useful to look at some of the numerical data (say a pressure, or temperature variation over time). So I was wondering if it is possible to parse out that data (I can think of some ways to do that) and graph it on an xy graph (unsure if this is possible) since a line graph is easier to review than a long data table.
  2. Currently in the UAC setup, I am able to set permissions based on accounts to control the access to UniApps as No Access, View Only or Full Access. Is there a way to allow access at the Apps level in UNI Apps? For example, can I restrict a user to be able to only access the users App and Ethernet App? Or is there a way that I can open just a specific App screen via a button press on the HMI? I would like to limit users from being able to access UniApps at the application level.
  3. I would be interested if there is a way to do this as well though I dont know of a solution myself, specifically whether one can take values from an old data set (FIle or UDTF) and view that information in a graph form. I believe you can load the the DTI from a file (Convert CSV to File or Load DTI from File) and view that data table on screen (Data Table). What I dont know, is whether this can be loaded in a graph format similar to what was suggested using the data sampler and XYTrend to view historical data after it has been saved. If simply looking to graph data live on the HMI screen, then I agree, the data sampler definitely is the ay to do this.
  4. I had a thought about how else to manage this. After discussion with a few customers, it seems that many have a SCADA or similar system that manages users / collects data from multiple machines. I was thinking that rather than update login credentials pulled from a domain, the customer who typically would tie in to a SCADA or similar system, would prefer to use the SCADA system to manage access control. I can read a bit that is sent from the SCADA to release access to the machine and also receive the username to display on the HMI. Where I run into issues with this approach is access levels. I assume (maybe stupidly, I havent tested this yet) that I can write to the username tag in the UAC struct (if that doesnt work I can create a new tag for username) but is there similarly an ability for me to read and dynamically set the access level? I wanst able to find access level in any structs or exisiting tags. Is there maybe a different approach that makes more sense? I primarily want to retrict visibility / access to certain buttons based on access levels.
  5. Great, thanks @Saragani, this is helpful, I will give the signature verifier a go on my computer to see how it works in standalone format. Also thanks for the infroamtion about the availability of the DT to PDF tool, I may use something like this in the future.
  6. Thanks @Ausman, yes this is an option but I fear that end-users will still not have a way to easily verify that the data was not manipulated. I do see the ability to zip the data and setting up a routine to move the files via secure connection to a dedicated server is a possibility. It is the route that I am leaning towards. After consulting an industry professional, they liked the fact that unilogic allows for digital signatures, this is a huge win because they can use this to tell if a file was altered or modified since it as written. The issue arose when I told him that the user needs to use the digital signature verifier in unilogic (the programming tool) to verify that the file was not manipulated. For example, in the pharmaceutical industry and most others, IT doesnt allow just any program to be installed on a computer and the fact that the user needs to use the application used to program the PLC, this is a huge no-no. Granted, most users will not know how to connect to the PLC, nor will they know how to make changes but its giving them access to too much information and the risk of doing something wrong is too high. Hence I was hoping that maybe a digital signature is an inductry standard that can be verified by some other standalone tool (I dont know if this is the case) and if not, is there an application that is only used to verify digital signatures? I will have a much easier timeconvicing a client to use that tool than the unilogic programming software. In the meantime, I'm trying to explore other acceptable approaches to solve the issue.
  7. Thanks @Gabriel Franco, definitely an interesting approach and Im sure I will have trouble convincing some customers to store PWs in cleartext. It does give me another option though. That being said, I wonder if there is a way that one could create that .ini file on the PLC itself but I guess thats asking too much and then it really is more of a workaround.
  8. Having read up a little about the unicloud subscription, I see there is an organization option which mentions managing users. Is this maybe one way to do it? It isn't exactly clear to me if it was meant more about managing users access to unicloud or also the PLC. If PLC users could be managed from the cloud service, this may be a potential option.
  9. I am working on creating a program that would allow for saving of system logs and data, basically just sensor values and button strokes recorded to a data table, and I need to ensure that data was not manipulated after it was written. I like the fact that files can be digitally signed via the store DTI to file function. From an end-user perspective, I dont like that I need to direct my customers to use the programming tool to verify a digital signature.Maybe I am simply not aware of it or is there a standalone tool that a cutomer can use to verify whether a file was altered after being digitally signed? Im basically looking for the Digital Signature Verifier as a standalone tool. I this proprietary to unitronics or is there some industry standard tool that can be used instead? Building on this, is there functionality to save a data table to say a signed PDF document or other format than what is listed in the Store DTI to File function? What about adding password protection or encryption to files? I currently dont have a good way of protecting accessibility of data once it is off of the PLC, adding password protection is not the best solution but it will add another layer of security. Ideally, if the files were read-only, this would solve a lot of the issues. Is there maybe a way to do this?
  10. Im working on a system which uses the US7-B5-TA30 all in one HMI. My program is mostly developed and I am working on adding user account management functionality. Given that a lot of our customers use the machines in a large corporation, many ask for the ability to manage users remotely and push accounts over the network. I haven’t yet found a way to import (pull) user accounts over the network. Is there a way that this can be done? I assume that maybe something like this can be done over VNC (haven’t yet looked into it in detail) but I feel like many customers are looking for the ability to tie in a user management domain that updates account credentials without having to log into an additional device. Does anyone have any suggestions or tutorials that you could point me towards?
  11. Hi all, I have built out a program for a machine that is operated locally by the customer but has the ability to connect to the network over the panel ethernet. Currently the panel ethernet is used mainly for porting data and machine logs from the PLC to a customer hosted server (some customers have a locally hosted FTP that they can connect to). I am programming a US7-B5-TA30. The customer would like to have the ability to choose (on the HMI) between an FTP server hosted on the PLC and an FTP client where it is hosted on the customer side. My thought was to create both instances on the PLC and have the customer simply choose which to use. I think this will work for the case where it is a set and forget situation. Of coure, the customer would like to change the password on a regular basis and it is possible that the IP address / port might change as well. I see that there is a way to change the panel IP settings via a numeric elements box which I can drag onto a screen (or allow the customer to use Uni-Apps to make this change with adequate credentials). What I don’t see, is a way to change the passwords for the FTP server. Same for the FTP client, I don’t see a way that I could manage user names and other settings. There is a Password Box but I cant link it to say the FTP server/ client. Is there some other way to do this, is it possible at all? As an alternative, the customer would be OK with pushing these changes remotely but again, I don’t know how to set this up. Does anyone have experience with this or have an idea how to implement something like this?
  12. Hi all, I'm new to the forum myself and getting into some PLC programming - sorry to revive an old post. I am curious what the suggested method is to update an array as suggested by @Igi . Or if you were able to find a workaround that worked for your application Igi, I would be curious to hear what you ended up doing. I was hoping to be able to implement something like this in C-code whereby I have a few functions that are 1. shifting values in an array, 2. calculate values and save them into specific locations in an array, 3. Test if values are within a certain range and then write that to a location in an array. I probably could do some of this with ladder but it would be very lengthy code and is easier to write in C which is how it was done coming from another HMI platform. Also I found that some of the documentation for array ladder functions are lacking in the documentation but was thankfully able to find some explanation in forums. I realize I only gave a very vague description of what I am trying to do but was curious if some functionality has changed since this 2016 post. For example, here is a snip of one of the codes where I tried to write to two arrays. I have two arrays as the input and two uint16 outputs which I point to the 10th element in the respective arrays. static void StackPush(volatile unsigned short* PSTKinF, int PSTKinFLen, volatile unsigned short* CSTKinF, int CSTKinFLen, volatile unsigned short* PSTKoutF9, volatile unsigned short* CSTKoutF9) { // User code starts below this comment volatile unsigned short Istk = 0; for (Istk= 0; Istk == 8; ++Istk) { *(PSTKinF+Istk) = *(PSTKinF + (Istk + 1)); *(CSTKinF+Istk) = *(CSTKinF + (Istk + 1)); } //end for *(PSTKinF+9) = *(PSTKoutF9); *(CSTKinF+9) = *(CSTKoutF9); return;
  • Create New...