Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Posts posted by ORSO2001

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


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


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


  4. Dears All,

    just a quick question...I create 3 screens: MAIN, secondary A and secondary B. Main can "load" one of the secondary screnns by two buttons that include the "load screen" action (no retained bit to load the screens).

    If during a test in the PLC I select a secondary screen and I found that some modification is needed in the program and I done these modification and I do "download all" ...what should be the screen that I have to see in the PLC after the reboot?...main or the secondary where I was?

    I done this question because the screen that I have, after the reboot by "download all" is the secondary; if I turn OFF and ON the PLC I have the MAIN as first.


  5. Dear Saragani,


    If you want to affect a numeric tag or bit tag in a UDFB, then pass it as function out (or pass it with a struct, it that makes sense in the UDFB. For example, a UDFB that handles PID, then there is some logic to pass the entire PID struct, and not 20 tags inputs and outputs of single tags inside the PID struct).

    Yes of course.


    Well, when you define it as function-in and function-out, then you will have 2 different tags in the UDFB, for example: _a_IN, and _a_OUT.

    If you only change the value of _a_IN, then it won't affect the global tag. The UDFB doesn't know that _a_IN and _a_OUT are the same tag, since one come from the stack, and the other one from the RAM by pointer. Furthermore, in one call I can call Foo(A, &A), and in other call (A, &B).

    yes of course...and ok you answered at my question...if the function_out is managed by pointers is like passing the variable as reference:"Furthermore, in one call I can call Foo(A, &A), and in other call (A, &B).".


  6. Dear Saragani,

    I am reading this topic and I want to be sure that I understood what you mean (and I have a request); for example I have 2 global variables int A and int B and I create an UDFB that accept 2 function_in variables (inside the function the global variables don't be present) then the UDFB will work as:

    void UDFB (int X, int Y){


    Y = X+Y;


    in this case the passed variables A and B will not change because they were passed by value and not by reference....right!?

    That I know if I want change the value of a global variable, that still be not present inside an UDFB, I have to use a function_out variable...that will work as:

    int UDFB (int X, int Y){

    return  X+Y;


    in this case if I use as function_in and function_out the same variable this will be affect by the UDFB operation...right!?...maybe not with the "return" instruction but with many pointers as the function_out are.

    Otherwise...how I can pass a global variable by reference as:

    void (int &X, int &Y){



    Then without function_out but that will have affect for the passed global variables?...I hope that my explanation is clear.

  7. Hello Arthur,

    i think that you have to work in reverse mode; after digit the "small" string that you want find you have to push the "enter" button in the keyboard...at this button you can couplead an action that will set one BIT...this BIT will enabled a start an UDFB this function will check the lenght of the String that you have insert and load the Strings in the colum of your DT, one by one, and check the firstly positions (the same quantity of your String)...if the result is ok you will stop the search and return the line where the complete string is stored.

    I hope that I explained clearly what I mean.

    • Upvote 1
  8. Dear Meeg,

    have you tried to take a look at the modbus advance examples (RS232, 485 and TCP); also, have you tried with the video tutorials?
    I found these very helpful for me and now all my projects that include modbus work very well...both as slave, master or together.
    how ever if you will post the part of the code where you are trying to use the parser (write and read), maybe, we will find the issue.

  9. dear Saragani,

    sorry...what you mean for unplug and re-plug?...are you talking about during update?...I turned ON my PLC then update without any power missing and without any "error" message...only at the end I have had the highlight that the program uploaded was not "compatible" with the actual version (as usual)...then I tried to upload the update project version...and I have had the "error message"...with other projects, where I don't use UAC, I don't have problem....do I have upload again the last unilogic version?


  10. Dear all,

    I just update the PLC at version 1.22.13; also I update a project that I wrote with the  version 1.19.xx; in this project I have enabled the UAC and insert some users with different levels..also I included a "service" user that has full access...when I try to upload the project I have an error "the password for UniApps Administrator could not be changed" and the download don't works.

    I tried to set the "service" user as "super group" but was the same. 

    what I'm doing wrong?

  11. Dears All,

    Small introduction...just few days ago I finished one project that include MODBUS communication using RS485 CPU COM port without any problem.

    I started with a new project; for the moment I don't included I/O modules; I created some STRUCT...I initialized TX/RX as  "Physically-Serial COM" and with surprise two RS485 CPU COM, port and port 1, were added in the I/O !?  If I "select" Modbus Panel the "port 1" disapear but the "port" still be present....just to test I created a new project and as first action I initialized as TX/RX and only 1 RS485 CPU COM port appears...what can be wrong in my project?

    I am using 1.21.51; Windows 10.


  12. Dear All,

    at the moment I am working on a project that include 7" HMI + CPU and  21 IN and 15 OUT (relay); these I/O modules will be localy fixed in the rear of the OPLC (as usual); in the next future the I/O will has to increas x6 (at the end 147 (21+126) IN and 105 (15 + 90) OUT)...these next I/O modules will has to be installed in an external box 3 meters far from the OPLC location.  My questions are:

    What I have to consider about the hardware (cable wiring and power supply)? 

    which components I have to acquire?


  13. Hi,

    you can use the already present "frequency (1 sec)" signal to increase a variable about second... only if the motor is running...after 60 pulses you will increase the minute variable; after 60 minute you will increase the hours variable...

  14. Dear All,

    I have to let a customer modify some timers by a numeric box on HMI. I know how to do it but my question is if  the customer set 2, as seconds,  in the numeric box,  what I have to consider to store the right value?...multiply   this for 1000 (milliseconds)...then at the end 2000  or what?


  15. hi,

    that I know you can't do this.  You can't manage in this way the input...these need real signal...

    have you also analog output?  if you have a module that manage an analog output, maybe, you can connect the output with the input; create buttons to manage the output value and with the input read the signal...

  16. Hello Salem,

    what you mean about "simulate" ? ...by real signal (mA,Volt etc) or by software?...in first case you need a proper module to manage the signal, maybe from a potetiometer...in second case you can insert two buttons in the HMI to increase and decrease the value of a tag... at the end, for example, you can use one or both of these two reference to manage one or more bargraph or gauges...

  17. Hi EduMarg,

    thanks for the answer...so If I well understood with the widget "mail configurator" I can create a list of To/Cc/BCc mails but you suggested that this list has to be not 8 members longer...In my case I will have to manage a list of 20-30 mails...maybe more...in this case what I can do?


  18. Dear All,

    I need a clarification about "send mails"; customer want create and modify, every time that he wants, a list of mails; every time that a specific condition is present I have to send at every mail in the list a mail/message...create a Data Table that include these mails is not a problem but I have a doubt about the multi sending...I have to call, and send, one by one the mails in the Data Table or exist a "procedure" to take more than one mails at time and send this in one shot?


  • Create New...