Nico Posted January 14 Report Share Posted January 14 Hello, since I'm a developer i was asked by a friend of mine if i could have a look at his Vision 350 controller software. I'm fairly new to this whole controller programming but decided to give it a try because it mostly seems pretty straight forward and also there is a community and also resources for it. The setup is as can be seen on this screenshot: Spoiler I/Os have already been set up: Now since i'm just getting started with this, my only goal is to get the elevator to run. Which it does, if i initialize it with 1, like this: However, i cannot manipulate its state via ladder programming. I already checked if the MB 5 and MB 7 are working by adding a binary image switch linked to MB 10. And the image switches just as i would expect it to, the elvator however always stays on the state that it was initialized at. I already search the forum but could not find any solution to this, but this seems like something that will be very obvious in hindsight. Quote Link to comment Share on other sites More sharing options...
MVP 2022 kratmel Posted January 15 MVP 2022 Report Share Posted January 15 1. Please check subrouting call for used code. 2. Please Find O84 in code if any -( )- coil used for it - S and -R Coil do not operate correctly. 3. Is it IO module connected to V350? It is not possible to simulate IO not connected to PLC. 4. You can go to Info Mode and try to operate Outputs via Info Mode menu - Result? 1 Quote Link to comment Share on other sites More sharing options...
MVP 2022 Ausman Posted January 15 MVP 2022 Report Share Posted January 15 On top of what Kratmel says, I would be changing the entire method. Use a toggle coil that directly switches a single reference to O84. Then use a Binary Text for the screen indication, based on MB7 (if you choose to keep that MB). There might be other factors that make this impractical, but to me you are complicating things and also run the risk of instruction clashes due to using 2 separate MBs as controls. Think your existing logic through, bearing in mind that the ladder always works on the last instruction that acts on an operand. MB7 O84 -(X)------( )---- cheers, Aus 1 Quote Link to comment Share on other sites More sharing options...
Nico Posted January 16 Author Report Share Posted January 16 Hey, first off all thank you guys for your answers. I really appreciate you spending your time trying to help me out. On 1/15/2023 at 3:54 PM, kratmel said: 1. Please check subrouting call for used code. 2. Please Find O84 in code if any -( )- coil used for it - S and -R Coil do not operate correctly. 3. Is it IO module connected to V350? It is not possible to simulate IO not connected to PLC. 4. You can go to Info Mode and try to operate Outputs via Info Mode menu - Result? 1. You mean, whether the subrouting is being called / executed? If that is the case, then yes, i checked this via the "MB 10 light". 2. The only occurences of O 84 are in the subroutine that i posted. 3. The V350 is physically connected to an EX-A2X Extension Adapter which is then connected to the IO modules. If there were no working connection between the V350 and the IO modules, then i would image that initializing the O 84 with 1 would also do nothing - but it does. 4. I tried entering the Info Mode but could not access it. It is password locked, "1111" did not work and unfortunately my friend does not know the password either. Then i tried setting the password via SI 253 - but i'm still not able to access info mode. After entering 1111 ENTER into the password mask, the password mask resets but keeps showing. If you could provide me with information on how to reset the info password i would appreciate it. 21 hours ago, Ausman said: On top of what Kratmel says, I would be changing the entire method. Use a toggle coil that directly switches a single reference to O84. Then use a Binary Text for the screen indication, based on MB7 (if you choose to keep that MB). There might be other factors that make this impractical, but to me you are complicating things and also run the risk of instruction clashes due to using 2 separate MBs as controls. Think your existing logic through, bearing in mind that the ladder always works on the last instruction that acts on an operand. MB7 O84 -(X)------( )---- cheers, Aus Thanks for the input, this seems like an smart idea and i changed the logic accordingly. Sadly it had no effect on the elevator actually turning on. BR, Nico Quote Link to comment Share on other sites More sharing options...
MVP 2022 Ausman Posted January 16 MVP 2022 Report Share Posted January 16 If you are online to the unit, left click the output coil in the window, and you'll have a little popup appear. Right click on "Set" and the ability to force the output on or off etc appears. See if forcing it on actually does so. If it does, then something else in your logic is upsetting the process. If you can't figure it out, then post the program. I am also assuming that the program you have written HAS been downloaded to the PLC, using Connection/Download. Some of your descriptions imply that you are only changing things at the PC end, without the PLC being told of these changes. cheers, Aus Quote Link to comment Share on other sites More sharing options...
Nico Posted January 17 Author Report Share Posted January 17 Hey, i could resolve the issue with the info mode now. The problem was, that in the startup routine the set password was overwritten - so i could access it now and actually test it - and it worked. I then tried the online mode you suggested and i love it - such a handy tool. Unfortunately now i'm even more confused than before. The contacts a clearly connect, and i'm not receiving a warning about an unconnected element. Forcing it to 1 works, so i guess it must be something else.. The only guess i have left is, that is has something to do with SB 177, which i imagine should be 1? But on the other hand why should forcing it to 1 work then, so i kinda doubt this has something to do with my problem.. I attached you the current programm. Once again thanks for you time. BR, Nico Silosteuerung_elevator_test.vlp Quote Link to comment Share on other sites More sharing options...
MVP 2022 Flex727 Posted January 17 MVP 2022 Report Share Posted January 17 On 1/15/2023 at 3:30 PM, Ausman said: MB7 O84 -(X)------( )---- What is this, @Ausman? This cannot work. @Nico, this is awful coding and I don't even know where to start. Tell me in words exactly what you are trying to do (for example, "I'd like to turn O-84 on and off with a single button on screen", or "I need to have two separate buttons, one for OFF & one for ON", or...) and I would be happy to show you the proper way to do it. You claimed that you were calling the "02 Elevator Test" subroutine, but I sure don't see it. A general principle to keep in mind for the future - only one logic thread per ladder rung (rungs 2 & 4 each have two logic threads). Quote Link to comment Share on other sites More sharing options...
Gabriel Franco Posted January 17 Report Share Posted January 17 Subroutine 02. Elevator Test is nt being called anywhere. Any subroutine (other than main) must be explicitly called anywhere in ladder or HMI (see links and jumps tab). Use this: MB8 O84 -|P|-----(X) Quote Link to comment Share on other sites More sharing options...
MVP 2022 Ausman Posted January 17 MVP 2022 Report Share Posted January 17 Edit.....this line incorrect!.....Elevator test is being called, but only on one scan after TD210 times out. Rung 4. Flex, my suggestion was a different way to control the output other than what was initially being done, but I was expecting Nico to control the toggle somewhere else using logic they would think out. The whole point was don't have 2 MBs that will possibly conflict with each other controlling an output. How to do it and how to display it was a point of learning for Nico. Nico, what's the reasoning behind your formula in rung 1 with all the IP addresses being added? It makes no sense to me at all, unless you're using it as a check to see if someone's been fiddling. Be aware that your result MI may not be large enough to handle the numbers and might need to be an ML. Also, be aware that on the forum we often see people coming from a totally different method of programming who think that ladderwork runs the way they are used to, which is mostly a totally incorrect assumption. There are many aspects that need to be learnt, and the help files are a good source of basic info. I'd actually be starting from scratch, play with the plc doing trial and error on basic concepts, building knowledge about the unit along the way. That way you'll end up with a much better code layout, with everything needed running according to the basics of how best the plc handles things. cheers, Aus Quote Link to comment Share on other sites More sharing options...
MVP 2022 Flex727 Posted January 17 MVP 2022 Report Share Posted January 17 1 hour ago, Ausman said: Elevator test is being called, but only on one scan after TD210 times out. Rung 4. That's calling an HMI screen, not a subroutine. 1 hour ago, Ausman said: Flex, my suggestion was a different way to control the output other than what was initially being done, but I was expecting Nico to control the toggle somewhere else using logic they would think out. The whole point was don't have 2 MBs that will possibly conflict with each other controlling an output. How to do it and how to display it was a point of learning for Nico. You can't have a Toggle coil hanging on the left rail. I suppose you could, but it would uselessly toggle on every scan. Quote Link to comment Share on other sites More sharing options...
MVP 2022 kratmel Posted January 17 MVP 2022 Report Share Posted January 17 The elevator check routine is not called anywhere in the main program. Therefore, the output is not activated in any way... Which confirms the result on the elevator exit control window. The author of the topic must put in the main program the Call Subroutine (for 2 subroutine) from Utils menu . Quote Link to comment Share on other sites More sharing options...
MVP 2022 Ausman Posted January 18 MVP 2022 Report Share Posted January 18 1 hour ago, Flex727 said: That's calling an HMI screen, not a subroutine. I stand corrected. Missed that it was an HMI. Re the toggle coil, I had never thought it would be put on the rail, but agree it looks that way. This is akin to those manuals where the people who made the product explain how to use it, but because they know it innately the manual has lots of missing info because the writers know all about it in the first place. So I'm happy to be punched a bit on all of this! 🥊 Bad case of the way too much to dos and not enough time this morning. I shouldn't have looked at the forum at all. 🙃 cheers, Aus Quote Link to comment Share on other sites More sharing options...
MVP 2022 Flex727 Posted January 18 MVP 2022 Report Share Posted January 18 37 minutes ago, Ausman said: Re the toggle coil, I had never thought it would be put on the rail, but agree it looks that way. This is akin to those manuals where the people who made the product explain how to use it, but because they know it innately the manual has lots of missing info because the writers know all about it in the first place. No worries. I only pointed it out because I think we were confusing the OP. He put it in his program exactly as you showed with the Toggle coil on the left rail. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.