Jump to content

ORSO2001

Members
  • Content Count

    211
  • Joined

  • Last visited

  • Days Won

    6

Everything posted by ORSO2001

  1. Hi Flex727, usually I also use "insert" and "remove" row in the DTI...and this "warning" is present, I think, from version 1.25.xx...also a warning when you use the "indirect modbus ID or Group ID" function was added...to remember that the FB has not to be the first element in the ladder but a small delay or a "enabling contact" is needed. However ...as I wrote...I usually use "insert" and "remove" command for table about 200-300 rows and I didn't have problem. As Kratmel wrote this can be a problem (watchdog) when the DTI include thousands of rows and you have to insert/remove row 0,1,2...
  2. hi, what is the aim of the "MODBUS SET SLAVE ID" module and how this must be configured? I don't found any description in the help file... thanks
  3. hi Saragani, so...I did some "test"...at the end if I open the unistream program and after recall my project, then close it, the USB seems always "free" and I can safetly remove this. If I open the project by a double click on the .ulrp file, then close the program, the USB still be busy but not all the times...let me say 7 out of 10. This happens in 2 different PC (one with W10 PRO and a second with W10 HOME). PS: in these 7/10 cases the only way to let the USB stick free is close by task manager the unistream notifier.
  4. Hi AlexUT, thanks for the answer and to explained me that "This may lead to project corruption"...I will follow your suggestion regards
  5. Dear All, I saw that if I open a project uploaded in a USB stick when I close this and ask to "safetly remove" the USB stick I have an error message that the USB stick still be used...if I close the unistream notifier, by the task manager (windows 10) I can do this without problem...then the unistream notifier take busy the USB stick. This is not a real problem but is a little"annoying".
  6. Hi Stojan, all depends about what you need to do/transfer/check with the remote PC. 1) you can setup the PLC as Modbus SLAVE by TCP/IP connection....to do this you have to search in the "solution explorer" window: PLC communication -> Protocols -> MODBUS -> Slaves -> Panel Ethernet. done this you have to create SLAVE and add coils or registers ...Unistream expose some types of operation to manage the modbus coils/reguster...so I think that is better if you take a look at the online help. in this way you will create your own registers list...that can be only readable or readable and writable... 2) you can create structs that contain the information that you need...then write these information in some Data Tables...store these Tables in some files (SD card in the PLC is needed) and transfer by FTP these files (CSV format) in the remote PC...the remote PC will manage these files. 3) store all the information in some DB in the remote PC all these possible way need that the PC is able to manage the information...then some specific program has to be or created or uploaded and installed... from your message I don't understood if you will create the PC program; if this program is already present...or what.
  7. Hi Swervomotor, if I well remember the webserver don't manage the custom control elements...then...are you using custom control?...in this case the VNC is the way.
  8. Dear dhazelman the position "D" in the UDFB "find DTI colum value" is the starting row of the column where to search...and the position "E" is how many rows must be checked...you setted this last as "0".
  9. 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.
  10. 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.
  11. 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...
  12. 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?
  13. hi Flex, thanks for the answer...I realized that a "reset PID Autotune" function is enough...😁
  14. 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.
  15. 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
  16. 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
  17. 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...
  18. 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...
  19. 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
  20. 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
  21. 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.
  22. 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
  23. 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.
×
×
  • Create New...