Jump to content

yyh2

Members
  • Posts

    26
  • Joined

  • Last visited

Posts posted by yyh2

  1. On 3/12/2024 at 1:48 AM, John_R said:

    yyh2, sorry, but no, this is not some  top secret subject, but it is something you have to learn and understand. Nobody can wave a magic wand over your head and give you all knowing  knowledge. You have to try (and yes fail from time to time), but if you first try (and that is the prerequisite), then ask questions, folks on this forum will gladly help you.

    But, sorry Charlie, nobody is gonna hand you a Golden Ticket...

    Nobody asked for a magic wand...
    just a well written  book about programming techniques.
    its basic in every other field.
    for example, you can find many books like it for the leading microcontroller platforms (Arduino,PI, etc...)

  2. Ok, I get it now.
    I will be able to try it later at the site as a temporary solution.
    Currently I'm using a pt100 so no TC are switched on, I suppose it doesn’t work with the pt100 setting since there is no need for temp compensation.

    Another related question – what would be considered an "OK" PCB temp for this model ?
    The spec state an environment of up to 50 C (122F), which means a max pcb temp of ?

    it is installed in a ventilated industrial oven electric cabinet and I suspect 50c is definitely an option.
    better safe than sorry.

    Thanks
    Yam

  3. Fernando, Thank you for you detailed answer.

    I'm referring to it as a "bug" because it loses the instruction/command.
    in your situation you called it twice, it’s a different thing (frustrating non the less).
    in my case, if I called the screen twice, no big deal, but the troublesome part is that it loses the neighboring net.
    if it's only the double call, it's not an urgent fix anyway, just knowing that here and on the help files is OK (i still suspect though that the "call screen from the L&J menu + multiple P contacts" even without double call, is a scenario the system dislikes). 

    Your ladder suggestion -
    your solution for a more predictable sequence is a good idea to keep in mind.
    in an absence of a solution I would definitely use it, but if we can learn how to avoid it, its better.
    First of all since I wrote the entire program this way 😁
    And second, because simpler logic with less set/reset coils as can be, is always my preferred way (a programming sixed sense that was reinforced by Joe Tauser's "Bit Banging" speech way back in the forum), if I can only work with the P contacts and trust them, it's the simplest solution.

    DW as a timer  -
    I have 4 program times and ML 1,2,3,4 were already used, so I assigned them DW 1,2,3,4 for clarity, no special cause, no other DW were used in the program.


    Multiple commands in a rung  -
    the argument against it was that it can compile not exactly the way you planned.
    there is a saying here that "Visilogic don’t charge you by the number of  rungs", so split long rungs into simpler ones.

    I do have some of them with 6 commands in a row, but they are "simpler" commands.
    parts of the idea for separating them was to diagnose whether "messy" compiling was the  reason for missing the net.
    It didn’t even occur to me to try parallel stuff.

  4. Hey Flex,

    As I said, maybe it's just the links&jumps menu with the ladder call combined, we'll have to see in the future.
    It happened to me like 8 times in the last software im working on, and i managed to work around it by changing the ladder order ( mixing nets 10-11-12 in the example).
    The Visilogic version is 9.8.86 if it matters.

    P.S
    As you can observe I'm being very strict about separating command into numerous rungs instead of one huge rung( it will work most of the time, but not all).
    its mainly due to your comments on the forum's history, emphasizing the importance every time.
    Thanks 
    👍 

    • Upvote 1
  5. I think I figured at least some of it out.
    I was calling the jump from the ladder and the "links & jumps" tab in the same time, by the same operand.
    its seems that this tab takes precedence over the ladder execution (Bug ?).
    it fixed the current problem.
    but this thing happened to me so many times lately, that i suspect maybe its not the only reason (I doubt I did this double call every time , I mean…I do have a long rap sheet of stupid programming , but come on…)

    Joe,
    The project is a commercial product so I will get in trouble posting it here, I can give the relevant screenshots.
    I've attached an example of it.
    the P contact "MB83" is linked to an HMI button that is changing the screen to the next step.
    when you press it I want the program to:
    1. Load time to a timer (net 10).
    2. Read the parameters for the next step (net 11).
    3. Copy a vector (program name to main display, net 12).
    4. And only then load the next screen (net 13).

    Dan T,
    no I don’t use conditional subroutine calls, I was listening very carefully to the forum experts.
    its mentioned here like every 10 threads, and for good reason.
    All the sub's are called every scan.

    Thank you all for your help.

    exm3.png

  6. Hey,

    When I order a "screen jump" through the ladder, some commands/nets that are before the jump might not get executed.
    specifically P type contacts, right now its an HMI button being pressed.
    I'm working around it for some time now but it's starting to get really annoying.
    why is it happening?
    I mean... I get that the PLC is "Busy" loading the screen, but the command is not just delayed, which is ok for me.
    rather… its lost. it's not executing. The PLC is skipping it (i verified it a few times to make sure, the net simply isn’t "read").

    Any explanations and workarounds will be greatly appreciated.
    Yam

    (SM43-J-RA22)

  7. 1.      got it.
    hint : you can use a modified version of the "V280_Text_enter" example to suit your needs.

    the only limitation of it is that you have to write your Hebrew backwards, since it works left to right and Hebrew is right to left.
    not a big deal if you need to enter a word or two.
    unitronics support…you should know these kind of tricks.

    2. If someone can elaborate on the "transpose" function, it would be great.
        I read the help file about it, got the general idea, but it is still unclear.

  8. Hey Dan,

    thanks for the answer, there seems to be a very big gap between samba and vision.
    I'll take it into account in the next project.
    what is a B3 series Unistream ? I can't find such model in the website.

    what about the subroutine limit?
    I like to split them for clarity, but if there is a close limit (lets say 35-40) I can combine them and only watch out for the memory space.
    also, do I get "punished" for multiple subroutines in terms of scan time, relative to the same program in a denser form ?


    Regards
    Yam

  9. Hey,

    I want to allow the user to enter his own "Program Name" for a program that he will "Tune" himself.
    The product/program can be whatever he likes so he has to use a keypad, and I can't write the options in advance.
    I've attached a general screenshot of the main display for reference, using Samba 4.3.

    1. My first question is :
    How can I switch to an Hebrew Keypad ? Or any other language for that matter ?

    2. What is the correct feature to display it in the HMI screen ?
    Up until now I had "fixed" programs that I wrote the title for them in the programming stage,  directly into the "Variable: List of text", then assigned them a number (like in the attached pic).
    when you are typing directly into Visilogic like that, Hebrew is not an issue, you just write it directly and if the font is supporting it, it will show normally.

    But, when the user has to insert the title, it seems that there's no option to use it (??)
    I reckon I need to use the "Variable: ASCII String" feature.
    Any other method I missed ?

    If it is indeed the ASCII String feature, I will appreciate any guidance on using this feature with non English letters (there are ASCII codes in Hebrew, the letters are decimal 224-250)
    The examples are filled with scary  🙃 vector and string functions that are a bit hard to digest for the beginner programmer…

    Thank you for your help.
    Yam


     

    123.jpg

  10. Hey,

    Thanks for the detailed answers.

    Joe, your post is great and pinning it is super important for beginners, luckily for me, I ran into "State Machine" programming style in my Arduino learning in the past.

    I get what you and Fernando are saying about the difference between brands and softwares.
    Still I think that there is room for learning general concepts and templates of some successful control schemes.
    If there was a book that sort of "reverse engineers" key projects in the industry, I feel I could learn a lot from it.
    The examples in Visilogic aren't that great for it.

    Anyway,  I hope others will have some resources.

    Regards
    Yam
    (by the way….im from Israel, so if any Unitronics rep has some info in Hebrew thats fine as well).

×
×
  • Create New...