• Contributed design: 16 channel priority error handler

    2
    0 Votes
    2 Posts
    836 Views
    jaroslav_sobotaJ

    Hi Eric,
    thank you for sharing your subsystem.

    How about turning it into a library? See Chapter 4 of REXYGEN Studio User Guide.

    Minor personal note: I'd use the REL block instead of the CMP block in this case.

    Thanks again!

    Best regards
    Jaroslav

  • conect 2 unipi's with each other

    2
    0 Votes
    2 Posts
    762 Views
    jaroslav_sobotaJ

    Hi Martijn,
    if you mean 2 separate Raspberry Pi with Unipi 1.1 on top of each other, then yes, it is possible. It is a question of getting data from one device to the other. For this purpose you can use:

    RDC function block (see example 0202-12) REST API of REXYGEN (see example 0302-01) Modbus TCP connection (see example 0402-01)

    Hope this helps, let me know.

    Best regards
    Jaroslav

  • Project Timing

    5
    0 Votes
    5 Posts
    2k Views
    jaroslav_sobotaJ

    Hi Mike,
    glad I could help.

    A "good execution rate" always depends on the project. 20 milliseconds might be too long (controlling RPM of a motor or detecting pushbutton presses or counting pulses from a flowmeter) or way too short (temperature control).

    It's the responsibility of the system engineer/designer to find the appropriate timing.

    As for Modbus, we typically use twice the rate of the task which is using the data provided by the Modbus driver.

    Best regards
    Jaroslav

  • Modbus : converting data from two registers into float

    3
    0 Votes
    3 Posts
    1k Views
    B

    Thanks Thomas
    I'll try these parameters.

    PS : later, cause a collegue take my device...

  • Json array decoding

    2
    0 Votes
    2 Posts
    1k Views
    cechuratC

    Hi Hubert,

    thank you for your question. It would be much more easier to answer if you can share project files which shows the example of such JSON string and function block settings.

    If you want to access JSON array, just use "[x]" notation, i.e. weather[0].main (means field "main" in 1st item of "weather" array) - see "0302-04 OpenWeatherMap API" example.

    Hope it helps.

    Regards, Tomas

  • Counting minutes in REXYGEN

    9
    0 Votes
    9 Posts
    3k Views
    jaroslav_sobotaJ

    Hello Martijn,
    this will save the total number of run-minutes to database everytime the RUN input drops to OFF (FALSE):
    0_1576604316928_rexygen-hour-meter-database.png

    See example 0404-01 and Database connection driver manual for details.

    Hope it helps.

    Jaroslav

  • Folder name --> avoid compilation error

    2
    0 Votes
    2 Posts
    1k Views
    jaroslav_sobotaJ

    Hi Emmanuel,
    you are right, I can replicate the problem. I'll forward this to our developers.

    Thanks for reporting the issue and the workaround!

    Best regards
    Jaroslav

  • Putting source files into target device

    2
    0 Votes
    2 Posts
    1k Views
    jaroslav_sobotaJ

    Hi,
    this is possible. Put the PROJECT block into your project main file (the one with EXEC block) and tick the SourcesOnTarget parameter.
    0_1575385871267_rexygen-source-files-on-target.png

    Hope this helps, let me know.

    Jaroslav

  • MVD block for 3-way valve actuator

    4
    0 Votes
    4 Posts
    2k Views
    jaroslav_sobotaJ

    Hi Kris,
    you are right, it is necessary to force the valve to fully closed position once in a while. The SRTF function block is not the best one for your needs. I'd go for the ATMT state machine or simply use an ISSW switch to send logic 1 to the DN (CLOSE) input.

    Jaroslav

  • Database value as parameter

    2
    0 Votes
    2 Posts
    1k Views
    cechuratC

    Hi George,

    if I understand correctly you are trying to write (change) parameter inside function block (TIMER_:pt) from the running project, right?

    Have a look at function block called SETP*: https://www.rexygen.com/doc/PDF/ENGLISH/BRef_ENG.pdf#page=307

    This group of blocks enables you to remotely change parameters (Real, Integer, Bool) of function blocks.

    If this is not answering your question, please, let me know 🙂

    Regards, Tomas

  • Smith Predictor

    10
    0 Votes
    10 Posts
    4k Views
    jaroslav_sobotaJ

    @ryanastiefes Dear Ryan,
    I have used PID Control Laboratory at www.pidlab.com.

    0_1571646428904_pidlab-pi-controller.png

    Hope this helps.

    Best regards
    Jaroslav

  • Cooling and Heating

    5
    0 Votes
    5 Posts
    2k Views
    jaroslav_sobotaJ

    Hi Mike,
    I see. In that case the simplest approach is to use the TSE block (three state element), which moreorless combines two comparators with hysteresis.
    0_1571645853248_rexygen_tse_cooling_heating.png

    Kind regards
    Jaroslav

  • Logging Bools

    5
    0 Votes
    5 Posts
    2k Views
    M

    Ok, thanks Jaroslav.

    I'll use a combination of the ALB and what I currently have to achieve both. This way I'll get both live HMI and logged alarms.

    Cheers

    Mike

  • Comparing 2 strings

    5
    0 Votes
    5 Posts
    2k Views
    cechuratC

    @rexpeter You are welcome 😉 Glad I could help.

    Cheers, Tomas

  • Help with function blocks

    6
    0 Votes
    6 Posts
    3k Views
    cechuratC

    Hi Phil,

    let me answer your questions:

    ad 1) Yes, in order to count time connect CNI=1 to "ti" input as you proposed.
    ad 2) Correct, "Y" should contain time.
    ad 3) Exactly.

    It also assumes that your boolean signal from pushbutton is connected to input "u".

    For more details about the INTE function block see docs: https://www.rexygen.com/doc/ENGLISH/MANUALS/BRef/INTE.html#x81-800005

    Cheers, Tomas

  • HMI not working with RPi+touchscreen

    4
    0 Votes
    4 Posts
    2k Views
    cechuratC

    Thank you for update. If you encounter any strange behaviour again, please, let us know.
    Good luck with your project!

    Cheers, Tomas

  • String Selection for HMI simple logger

    2
    0 Votes
    2 Posts
    1k Views
    cechuratC

    Hi Mike,

    not sure if I understand correctly what is the issue. Can you provide more information?
    Can you share screenshot of the project part and a sketch of desired behaviour?
    Is the issue about setting binary inputs sequentially which produces more logs to be written?

    Thanks.

    Cheers, Tomas

  • Looping 3 LEDs on 3 different pins

    2
    0 Votes
    2 Posts
    1k Views
    cechuratC

    Hi Sid,

    thank you for your question. Custom made solution is far beyond our "free of charge" support. However here are some function blocks which might help you achieve your goal:

    TIMER_ - Multipurpose timer
    BINS – Controlled binary sequence generator
    EDGE_ - Falling/rising edge detection in a binary signal

    If there is anything unclear, let us know.

    Regards, Tomas

  • CMP Block

    5
    0 Votes
    5 Posts
    3k Views
    M

    Thanks Jaroslav,

    So using a not block would be the preferred way for making it work for cooling.

    Cheers

    Mike

  • SWR Block

    3
    0 Votes
    3 Posts
    2k Views
    M

    Hi Jaroslav,

    Awesome, thank you for your help.

    Cheers

    Mike