MrPLC Member
  • Content count

  • Joined

  • Last visited

Everything posted by dFx

  1. Finding RETAIN Memory Starting Address

    If this retain address is generated by your user program compiler, you should look around this compiler (logs ?) to get your addresses.
  2. "Hardware interrupts" is called "Event" in codesys. Anyway, you can achieve a correct control of something slightly faster than your main cycle time, using some periodic task (not freewheel). Be carrefull about the length of the computing in it by adding a proper watchdog. Also remember that in codesys, Ouputs refresh is done by a task, so plug your fast periodic task to your output refreshing task parameter. Last but not least, controling something way faster than your PLC cycle time should be done with some interface (some modules may convert an analogic signal properly to drive a thyristors)
  3. Siemens 1200 going into STOP mode

    First thing to check if you go STOP mode is your cpu diagnostics : On your PLC, get online, then right clic on PLC -> diagnostics See Chapter 4.3 : https://support.industry.siemens.com/cs/attachments/68011497/68011497_S7-1500_Diagnose_DOKU_v10_en.pdf
  4. S7-1500 Breakpoints

    A bit off-topic but main comes handy. Breakpoints is as powerfull as dangerous tool. That's why I prefer writing some spy code into my loops. exemple : FOR a := 0 TO 9 BY 1 DO // Code IF a == 1 THEN MySpy := MyValue; END_IF; // More code END_FOR; The main advantages are :  - It DOES NOT STOP scanning  - Spyed value is consistent  
  5. Allen Bradley/RS Linx

    Also make sure that your serial cable COM port is properly connected to your VM and not your host !
  6. HMI - Managing I/O Field behavior

    just set the field property as output and then modify the value using keymap actions
  7. TIA TP1500

    to setup date manually, go to TP control panel then date time and set it. to synchronize TP date, go to connections -> area pointer -> global area pointer -> date/time (check help for datalenght and data arrangement)
  8. PID control advice?

    Had to work on such a slow loop in the past. We started with PID and failled to go with it. Then we realized that knowing the flow was a major issue, and Added some formula to offset PID's setpoint correctly. We went through a tough comissionning, but ended well adding some weight factor on the formula setpoint with the real setpoint. To start, as you know your flow, and your Customer likely know at constant flow how much acid is needed, start building some basic formula for acid ( acidDose = Flow * RawWaterPhError) Note I use raw Water Ph, cause your middle probe is only usefull to limit the ph drop. Once you get it stable (it should be easy), then slowly add some weigth to your PID, adding almost only integrative action (Proportional should be small in my mind),  PID role is just to correct the error using slow integrative action, while your formula should presets almost correctly the acid dosing.  so your loop should look like : formula * weigth + Setpoint * (1 - weight) -> PID setpoint -> PID -> PID output -> Dosing pump setpoint   Last but not least, make sure that the alkali probe is correctly setup (not too close from alkali injection point, and is sending some pretty stable signal). And also have a look at how is builded the pump setup (big issues can comes from bad installation).   @Jairus  : generaly, you need an agitator system and even some more time to the acid to properly diffuse in the water. Shortening the distance can be a big issue for the final probing.
  9. FT View ME Studio 9.0

    Toatally solved my issue on FTME 10. thanks a lot. (searched for a while, cause I've no techConnect)