Jump to content


  • Content count

  • Joined

  • Last visited

  • Days Won


ORSO2001 last won the day on January 5

ORSO2001 had the most liked content!

Community Reputation

3 Neutral

About ORSO2001

  • Rank
  • Birthday 10/21/1975

Contact Methods

  • Skype

Profile Information

  • Gender

Recent Profile Visitors

1,719 profile views
  1. Dear All, I my next project I have to check and record the weight inside some SILO (10); I will use UINT32 tag for the weight and a UINT8 for the filled %; I need to sample these value every minute and create a daily files records, one for each SILO; I will show these information in 10 individual trend graphs (one for each SILO)...at the end I will have 10 folders (one for each data sampler). My question is: doing in this way I will have problem with the PLC memory capacity?...or all will works without problem? sorry but is the first time that I use the data sampler...I checked the example and how this works is clear...I have only a doubt about the memory. regards
  2. Dear Skout, for each second the PLC do a lot of complete cycles; if you let active the BIT for a request, like "store DTI to file" this will return the error "-35" that means too many request. I don't know your complete sketch but you have to arise only one time this command and check for the "answer"...usually you can add a simple reset (R) of the BIT command immediately after the UDFB "store DTI to file" and enable another BIT to check the result with "equal" that will do other stuff. same thing for the instructions INC and DEC etc...if you let active the BIT these will increase/decrease by one every PLC cycle...than wil be very fast. EDIT: as SARAGANI wrote to avoid that two instruction are done very close you can check the BIT "SD BUSY" or you can use your own BIT...depends on how you want manage these situation.
  3. ok...in my projects I created a DTI of 1 row that is referred at a struct called EVENT; in this struct at the end I included 4 strings variables; DATE, TIME, DEVICE, EVENT. DATE and TIME are used to know when the action was done; DEVICE is what was modified; EVENT is a "long" string that contain the informations...for example last value and new value...or other things. every time that something happened you will trig a BIT to populate the DTI and save (append) the DTI in a file in the SD....this file will be your Events LOG file. Usually I do this to know the power ON of the PLC....and save every x minute the ON status of the PLC to understand if it is powered or not...to know who is logged in or logged out...to know what was done...etc to do this I create an UDFB that accept 4 functionIN...(DATE, TIME, DEVICE, EVENT); in this way I can pass or static strings or composed by what I need to know/insert. to know if something was modify I usually create a local copy of the information that the HMI has at the moment and I verify if this is changed or not...obviously depends what you are managing as data. I hope that is clear enough
  4. dear remy, I am not sure that I have understood what you need...want you save an "event" if the users have modified something in your program like a temperature set point or a number value?...also if a user has done the login and logout?
  5. ORSO2001

    Cominbing two 16 bits to get a 32 bit

    Hi, for example...you have 2 variables Uint16 (A = higher, B = lower) and 1 variable Uint32 (C)... you have to multiply the A for 65536 and store the result in C...after you have to add B in C. I think that also you can use some buffer functions...but with first only 2 actions are needed.
  6. dear Roger, i think that the best way is create a general structure called SERVO that include all the variable types needed...after you have to define 4 global struct SERVO variale (one for each servo) and 1 global struct variable for the HMI...after this in the ladder you will create your flow that will pass/store the servo structure to the HMI servo structure. I hope that I explained clearly the thing.
  7. Dear Saragani, just to give you more info...in this last project I have had other issue that was already reported at your service department...when I was trying to duplicate an HMI page the program won't worked and reboot itself....at the end I found the one element of the HMI (pdf elemet) seemed "locked" , no resizing was possible...not file assignement was accepted...at the end I cancel the HMI and create a new one and it start to work... in this last I created a UDFB ...as I wrote I created 10 Fubction OUT variables (8 BIT and 2 UINT32)...and 10 was count in the local function...but after a compile I have had an error like "max allowed output..."...these variables have a composite name like "BIT_Alarme...."...in many test that i tried to understand I observed, but I am not sure, that with "long variable name" I were able to inser 8 with short name like "a" or "b" I were able to insert 9.... Now after a reinstalling of the unilogic I have the UDFB with 10 and works (see attached)
  8. dear All, I tried to install again the Unilogic...now seem works...accept until 10 variables
  9. Dear All, I created my UDFB where I need to have 10 Function Out variables (8 BIT, 2 UINT32)...I am not able to create, in any way, these 10...the "program" sometimes let me insert 9 sometimes 8...ok...I can create an array of BIT and other of UINT32 and after the UDFB store the value in the real variables...but why I can't create 10 Function out? and why sometimes 8 and sometime 9? EDIT: sorry...I can't create an array for the Function out...then what I can do? EDIT2: I can create a INT8 variable (GLOBAL) use this both as Function in and Function out...set the single BITs and check this after the UDFB...right? thanks
  10. ORSO2001

    Find a value, twice or more, in a DT column

    Hi NoamM, thanks for answer...yes this is what I thought...I was searching if an already existing function, that maybe I was missing, could do this. ok ...no problem
  11. Dear All, Is there a simple way to find if a specific value is present more than 1 time in a DT column? thanks
  12. ORSO2001

    UDFB show "modify" simbol at the new open...

    Dear Saragani, yes..is the UFDB where I put the aperiodic element. thanks for explanation
  13. Dear All, I am using the last version 1.23.25 and every time that I open my last project , that is in progress, I have one of my UFDB, always the same, that show the icon as this was modified...I tried "rebuild all" but is the same. If I well remember I have had the same in the past (maybe 1.15.xx)...but I don't remember how I fixed. just for information... until now my project works properly. thanks
  14. ORSO2001

    Master and Slave at same time...

    ok...I found what I have to do....and also reading again my first post this has no sense...sorry usually I used unitronics as master using the "advanced modbus"...now I am trying to use "periodic/aperiodic" and at this point I have few questions: - using "advanced modbus" if a data exchange don't works I use an instruction to empty the buffer to try again...using "periodic/aperiodic" this works automatically or I have to do something? - when I compile the project I have a warning like: Do NOT place "COM: MODBUS" Ladder elements on the bus bar, or anywhere it will be continuously activated. Use a delay of 10-50 msec between requests. Click on "Find All Elements" to locate all of the instances where it is used in the program ...I placed a "P" contact and a "modbus aperiodic trigger" to do some test...this warning is for safety or I am missing something? thanks
  15. Dear Alls, I have to set up my Unistream to works at same time as Slave by Modbus RTU TCP and Masert by Modbus RTU RS485. I already wrote the program part about slave (Modbus TCP) than I set PLC communications->Protocols->MODBUS->Slave->Panel Ethernet...I have set the registers and "wrote" the code...now I am approcing the Slave side...my question is: I must use/set the same PLC communications->Protocols->MODBUS->Master->RS485 or I can mix/use the first with the PLC communications->Physical->Serial COM ? I hope that my qestion is clear enough. thanks