Jump to content

ORSO2001

Privileged Member
  • Posts

    303
  • Joined

  • Last visited

  • Days Won

    11

Posts posted by ORSO2001

  1. 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?

  2. 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.

  3. 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

  4. 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.

  5. 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

  6. 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.

    • Upvote 1
  7. 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

  8. 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.

  9. 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".

  10. 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?

  11. 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

  12. dears All,

    I will have to modify an old project where I used a lot of retained tags (was my first project and I was not very skilled...for sure worst than now 😁 )...I want to replace the retained tags with a struct referred at a DTI...then save this on the SD.

    my question is...if I will upload a new project , the same but with more UDFB-tags etc, the retained tags that are used at the moment still contain the same value or will be reset?

    just to know if I can do this without problem, because I will also update the PLC version, or if I have to think something to save the retained tags and upload these later.

    thanks

×
×
  • Create New...