Jump to content

christopher

Members
  • Posts

    10
  • Joined

  • Last visited

Posts posted by christopher

  1. Thanks for all suggestions, it looks like I have reconsider how I approach problems like these in the PLC coding.

    Instead of calling the delay function for each tasks it's need (in this case it looks like the delay is only needed for 6 valves) I probably need the have a complete sub routine for each of these main tasks. It kind of contradicts how I'd like to get "high coupling and low cohesion" programs to work, but I guess it's also depends on POV.

  2. I have a dual 3840x1600 USB-C setup and it is a lot of pixels to traverse with alt space M and arrow left/right/up/down...Display 1 is the laptop monitor with 1920x1080 and the best resolution for VL in my opinion. It also turned out that monitor 3 was the main display, thus VL always opens its tiny popups  in my upper corner. I changed display 3 to 1 as main and hopefully it's not going to jump back and forth for each dock/undock from now on.

    displays.png.d7d05046dcdd85bd32e737ee632ab656.png

    This post from 2013 is still valid way to reproduce the scenario, and the alt+space+M will move your pop-up, but only if you don't swap between different programs - and this you can test with only 1 monitor:

    Dobule click a MB to Open the "Select operand And Adress" dialog,

    Hit alt+tab to hit your favorite web browser to search for a solution to the invisible window

    Use alt+ tab to go back to the VL instance

    Now  the dialog/pop up is grey/passive: Try to open the move commando from the keyboard, and there is no response nor to the shortcut keys, escape or alt-F4. You have to activate the window before the keyboard Move commando, and it seems to behave different with or without the imaginary monitor

    On a single active display you need to click on the dialog box, with the ghost display clicking anywhere on VL seems to activate the hidden b

  3. 10 hours ago, Ausman said:

    I'm also intrigued by you saying that you took care to do the save correctly in the first place, but the placement errors still happened.  But to me the error was that you disconnected the monitors blah blah and then shutdown

    The main window was correct displayed, my problem are the pop-ups/dialog boxes opended on my second or third monitor - even when I connected an external monitor on site it didn't show.  Back in my office I have to connect the same monitor to the same USB-C port to get visual contact.

    One should expect when all external monitors are disconnected, MS Windows reorganize all applications (including my open VL instance), then this should be stored somewhere when closing VL and I shut down the lap top to make sure it rebooted on the main/internal display only.

  4. You are right Ausman, if any (or all ) of the 6 valves are in use the same main pump are running and the pump shutdown are delayed when the last of them  are turned off. 

    I've looked into the sub-routine advice, and also the examples from Unitronics, maybe I'm to OOP minded when I want the same net/routine to be re-used and only 1 timer to be used for the same task.

    The switches (S1, S2 etc)  in thise case are also latched while beeing operated with spring return, so no self holding or set/reset for the valves A, B etc.

  5. Hi, I'm working on a program for hydraulic controls, there are 6 valves with manual control (12 states). Whenever a switch is operated it set the control valve and start the pump (common for all valves).

    I have  one ladder net for each valve and call a subroutine to start the pump, open main valve etc. This seems to work and using the subroutine code it is easy to fix and read. However I don't find a good solution to delay the pump stop when the manual switch is released. Haven't worked with PLC in many years, so I need a few tips.

    The pseudo code is something like:

    Push and hold Button1->Open valveA, open Valve1 and start pump

    Release Button1  -> Close valveA, close Valve1 and delay 10sec stop pump

     

×
×
  • Create New...