Jump to content

ORSO2001

Privileged Member
  • Posts

    305
  • Joined

  • Last visited

  • Days Won

    11

Everything posted by ORSO2001

  1. hi Dz! In my opinion, but maybe I am wrong, this is because you are trying to have a "big" UDFB that do many things itself...always in my opinion you have to try to split each "operation" to have many single/small UDFB...then create a unique "manager" UDFB that has inside these small blocks...then in this case you can decide every time how many Fin/Fout are needed.
  2. maybe...in the main ladder...use the Frequecncy.Frequency1ms as |P| ... tu arise a "siple coil" -( )- of a global variable; pass this variable as a FunctionIn in your UDFB.
  3. you are calling the same function twice...I think that, in this case, the Frequecncy.Frequency1ms is consider as a static variable in this function...then its status will be propagted in the other calls after the first call... if you try the same but with two different function (UDFB) its will works...
  4. Dear All, I am doing as follow: import a CSV file (copied from USB stick in the "data folder") with a single row of 23 Strings (each String is 25 lenght); create a UDTF file from this CSV; upload the UDTF to a DTI; read the DTI row. each of these action is done in a specific ladder rung; each rung check if the previously action was perfomed without problem...then at the end my CSV is converted; the DTI il filled with right values but when I read the DTI row I don't have any error (exist status "0") but the struct variables is not filled (all single field is empty)...I tried to write the DTI with the same struct and all works...the DTI take the new value...I forced the action (cvs->udtf->dti->read) then the DTI take the value of the CSV file but nothing change...the struct fields still have the previusly values. what can be wrong?
  5. hi Flex, thanks for the answer...I realized that a "reset PID Autotune" function is enough...😁
  6. Dears, I am using PID functions...and I thik to have learned how this works but I don't found a way to "stop/reset" the autotune procedure when active!?...i try to explain what i need...I am talking about a management of heating element...if I start the autotune (PID config status = 2) and the real temperature is not increasing (heating element broken or not connected) what I have to do to stop the autotune to have back its status as "0"?...I tried to set "0" the BIT to enable the Autotune UDFB but the status stay at 2...I have wait many minutes with the BIT "1" without increasement of the temperarute...also with the BIT as "0" but nothing happened....now that I am writing I thought..."this is not a problem...will be enough "load" again the AT values!"...what is the right way? thanks.
  7. Dears, In the help file I saw that I can use an action event to play a video...I don't found the "play video" trigger command...what I am missing? just to be clear...I also create a screen with the "video widget" but is the same. thanks
  8. Dears, I am using the module UIS-WCB1; I need to use the two analog input for a 4-20 mA range, with the output value between 0 to 16383 ; at the moment I donpt have the sensors the the inputs are "free"; in this case I have the status of 0x10, that is ok, but also I have a value of 308 in both inputs...exist a way to define, directly, a value when a "problem" is present?..or I have to store the input value in a tag and, checking the value of the status, forse a value in case of faulty? thanks
  9. Hi Ausman, I think that the SD is ok because the DT that I am using are stored well and also the DOK is ok because if I move the files using the "file browser" this works fine...then is something that is happens when I call this specific UDFB. I am sure that I am wrong something but I don't understood what...later I will check...
  10. Hi NoamN, yes I am using the 26.90 version; I also used the same function in the past without problem. I don't know why this time stay always at "1"...no progress no error. in these next days I will check again...
  11. Hi NoamM, Just to be clear I am using static values in each field ...not tags...the file that i want copy from DOK to SD is not inside a folder...and are: field A -> Copy Move File Enum.CopyDOKFileToSD field B -> #"Media/Docs/" field C -> #"960XXX.pdf" field D -> #"" field E -> #"960XXX.pdf" field F -> #1
  12. Dear, I'm trying to copy a file from a DOK to the SD; the status stay always at 1 and never change (and the file is not copied). The function is "called" by a HMI button that set a bit...in the same ladder rung this bit is reset...then is called just one time. If something in the UDFB was not set properly I should had a negative value...but this doesn't happens. What can be? thnaks
  13. dear, how often you have to record data? usualy I do in this way...at the startup of the PLC i check if a specific file exist...if not I create it; if exist I count how many rows are already stored and save this value in a variable; to do this last I create and use a DT with a single row to store (append) and read from file. Every time that I will append a new row on the file I will increase the relative counter to have the max readable rows. I create a screen with the field of the DT that I let be read and I navigate in the file starting from row 0 to the value of the variable.
  14. Dears, is possible, during the PID autotune procedure, change the set point value? I mean...if I select "Cycles.Three" the procedure will increase to reach, and go over, 4 times the set point and also decrease 4 time to be below of the set point....is possible set (pass) for each of these 4 steps a different set point?...for example 70, 90, 110, 130? in this way the autotune procedure will be "masked" in what could be a standard start up of the system. thanks
  15. hi...i never used the THS module but i think that you can consider the overflow of the variables...i mean...both signed and unsigned variable start with no BIT high...then value "0"...if the unsigned receive a "-1" command all the BITs will be HIGH that will give you the max value of this variable...but if you do the same with the signed variable you will have all the BITs HIGH that means "-1"...then i think you can use a simple store value block to store the value of the UINT32 into an INT32.
  16. hi Saragani, I sent a mail to the support that include the project and the .csv file that show the problem. the object of the mail is the same of this thread I confirm that if the local struct is "reset", see the first row of the UDFB where the problem arise, that in the copy that I sent is disabled, the problem is not present; seems a problem with one of the strings of this struct that exceed its lenght...if you will check the .csv file will see that the not inizialized strings take "strange" characters. thanks and regards
  17. I will try to do a single UDFB project to replicate the issue...otherwise I can send the project, is not so big, and I will highlight where I do this.
  18. Hi AlexUT, thanks for the answer...one thing is not clear (for me)...before write the SD file I store the local struct to the DTI...is not like save in a "global variable" (DTI) and use this to write the information to the file?
  19. Dear All, I have a Struct that have 13 variables (String, Bit, and uint32); I created 4 global variablea to record these datas; I have created a DTI with a single row to take these information and save into a file if some event arise. When the event arise I don't have to record all the informations as these are but I have to modify a litte; then when the event arise I store one of the global struct into a local struct (same struct) , write this in the DTI and copy (append) this DTI in the file (already present). what I have is that if I use a LOCAL struct the data is store with "wrong value" (strange characters) and also the last value that is a BIT is stored in a 14th column in the csv file that don't exist; if I use a global Struct (convert the local to global) all works. I don't tried to "reset" the local Struct, to inizialized, before populate it...but until now (other projects), if I well remember, was not necessary. I am using last version of Unilogic 1.26.
  20. hi Mshak, in the toolbox, for the DT indexed, exist a command called "insert"; use this to insert a record in a specific row of your table...the selected row, already present in the table, and the others below will be pushed down by 1; the last in the DTI, that will be out of range, will be "lost".
  21. Dears All When I create a DT I have to referred this at a specific STRUC; when I save this DT to a .csv file the "column" will take the name of the variables; exist a way to change the column name's? I mean...for example...usually my project include Italian, English, French and Dutch languages because who, usually, committed me the jobs has customers in different country...what I need is if I have a struct variable like: myStruct.hello the column in the csv file will be, referred at the language selection, "hello" or "ciao" or "salut" or "hallo"...is possible without create 4 different struct?
  22. Hi jvalstar, I never had this problem...what I can suggest to check is, if the shuffled column is always the same, where this column is "used"...maybe you are copying an array in this column and you haven't the full control of this action...I mean that maybe you haven't managed all the possible causes that can enable this action... if you want share your project and highlight which column has this "problem" maybe someone can will take a look. regards
×
×
  • Create New...