ParaffinPower

MrPLC Member
  • Content count

    453
  • Joined

  • Last visited

Posts posted by ParaffinPower


  1. 6 hours ago, Veganic said:

    @MarkusR   Thanks for the tips, I will try them when I get to site.

     

    @Gambit    That demo program seems to be out of date but it does seem to work better than the "improved" version.

    I have finally got something working in the simulator. I had to add a unicode text input box on the screen and the operator had to enter the new name before pressing the rename button.

    All obvious to anyone who has actually written the code - the rest of the world not so much.  I don't have this kind a problem with those Beijers units.

    Beijer's X2 and their old E1000 handle recipes infinitely better.


  2. On 31/07/2018 at 4:40 PM, wlederer said:

    Dear colleagues, thank You for the responses to this topic. More than 9 months left and I want to add more. 

    1. I never met situations where Structured programming in comparison with ladder, potentially could make benefit.

    2. In cases when I used the Structured programming result was negative. Instead of reducing programming time, there was increasing, PLC run slower and demanded more memory. You, may,  have to choose a stronger PLC for Your task.

    3. Every new compilation can change the local variables address.You need to clear PLC memory every time before download. It's most annoying.  After that all registers used have to be set again to their values.

    Conclusion: Use ladder. 

    For discussion: If we avoid using local variables in the Structured project (make all global), is it still necessary to clear PLC memory before download?

    I think this is a problem specific to Mitsubishi, confirming my opinion that it should be thrown in the bin.


  3. The 'backplane' connection with the Nx I/O is rubbish.

    I had endless problems with a system. This was one of the million errors that would randomly appear.

    Omron recommend cleaning the contacts and fitting clamps either end to hold it together.

    Of course, ether cat is not a silver bullet and all usual noise mitigation techniques are required.

    Pp 


  4. This is technically possible, although it's ill-advised. My reasoning is as follows: 1. You'd need a Devicenet card in each remote plc rack in addition to a WD30 slave. 2. You'd need an additional CJ PLC with a Dnet card just to act as, in essence, a media converter. 3. The WD30 range is discontinued so you'd be scouring Ebay. Better would be to investigate the WE family, ie Ethernet-based if you have ethernet hardware on the PLC rack already. It may be more cost-effective to hang these on your existing factory network. Pp

  5. The CN1 Emergency stop is not safety rated. CN8 provides the PLd safety function. The estop signal on CN1 is (IMHO) redundant. For tidiness, I'd disable (servo off) the drive via ML2 aswell when the emergency stop is called for. Pp

  6. The max speed quoted for the ballscrew is a mechanical constraint. Your figure have neglected accel and decel. You haven't provided a follo up to the fact you were asking for 82.5 rps earlier. See one of my earlier responses. To achieve 300 mm/s, the speed command needs to be 300,000 (assuming units are as previously discussed) What result does this give? The drive itself applies the accel and decel. The drive will triangulate the motion profile if the position command you request is too short to achieve your speed with the drive's accel and decel. These are parameters pn811 and pn814 in the drive. This is detailed in manual w426. The accel and decel will have been determined during sizing. Pp

  7. 1650000 translates to 82.5 revs per sec of the motor, or 4950 rpm. Without an error code I'm guessing here, but the max motor speed (not rated speed) is 5000 rpm. You'll have some loss of torque at this speed so this could cause trouble, or to close the loop the servo may need to go in excess of 5000 rpm and it won't want to do this. 1.65m/s sounds pretty quick for a ballscrew. What's its max? Pp

  8. Pn009 and Pn010 are the electronic gear ratio numerator and denominator respectively. They combine to translate your user units (mm, degrees whatever) into the motor's encoder resolution. If you have an incremental encoder G5 motor, you have 2^20 encoder edges per rev (1048576 pulses). You need to know the distance, in units, that the axis moves for this motor rev. For instance, if you have a 5mm ballscrew the numbers would be 1048576 and 5. Caveat: the ratio must be between 1/1000 and 1000. The high res encoder means that this combination is illegal, so rather than mm, your units could end up as hundredths of mm or even microns. Using my 5mm ballscrew, I'd go for 1048576 and 5000 to achieve a micron resolution (better than the ballscrew, certainly!) The numbers that you poke at the axis for position and velocity are now in microns and microns/sec respectively, so you need some big numbers to get the axis moving at speed. You can now think in length units, not rpm. The position and speed parameters are DINTs, so there's plenty to go at. Pp Edit: Section 6-6 of the manual explains the electronic gear ratio perfectly.

  9. Hi Attached is a Ladder FB invoked from a ST FB. Also...I noticed a bug. This is the fix. (*Test for product arriving*) If nDistanceToGo<=0 AND nEntryCount>0 then bArrived:=true; nEntryCount:=nEntryCount-1; nStackPointer:=nStackPointer-1; ELSE bArrived := false; END_IF;Do you want to extend the Arrived output? I'd just put a line of Ladder after the FB call to do this. ST hosts TIMER.zip

  10. Hello Two things. Bits N Bytes is right that TIMX needs the checkbox checked...however...the CP1L does NOT support the TIMER datatype in ST. It's only available in CJ1 (V4) or any CJ2. The tidiest way I've found of using a timer in a ST FB is to create a LADDER FB with just a TIMER (internal), Start (Input BOOL) and a Timer Done (Output BOOL). You can then nest this inside your ST FB. Let me know if you want to see an example. Pp