KidPLC

MrPLC Member
  • Content count

    108
  • Joined

  • Last visited

Everything posted by KidPLC

  1. I am trying to better appreciate memory usage in CLX processors in an effort to create leaner programs. If I create a single DINT with a tag name one character long (ie tag "i" of type dint) in an L61 processor it consumes 80 bytes of memory??? how is this so?? I have read that each character of the tag name consumes 1 byte of memory and the dint will then consume 4 bytes but what has the reset been used for I also read that the tag name characters are on a 4 byte boundary but if I increase the number of characters one at a time checking the memory usage along the way I need to add 8 characters before it consumes another 4 bytes. I would have expected to consume another 4 bytes on the fifth character??? I have asked the Rockwell knowledge base for feedback but have had no response.
  2. Hi Guys, I have been pulling my hair out trying to figure out how to embed a variable in a string to display on an LCD Micro810 display. The syntax for displaying text is to simply start and end the text in single quotes for example if I want to display KidPLC then I would simply type the following 'KidPLC' and insert that in the appropriate postion in an LCD instruction and hey presto when the LCD is enabled the text appears on the LCD display. Similarly when you want to display a variable you insert the variable directly into the LCD instructiom without the single quotes and it will display e.g MyVariable will dispaly the contents of the variable. On a single line I would like to have something like Count = 100 where the 100 is an actual tag in the controller, one might think the syntax might be as follows 'Count =' MyCountVariable but one would be wrong that syntax does not work at all and I cannot find any help to point me in the right direction or any info that indicates it is even possible. Does anyone have any ideas?? I am finding the Micro810 a neat little unit but the help is falling short of helpful. Any input would be appreciated Cheers
  3. Figured it out, you use the Replace instruction. Firstly save your variable to a string using the Any_String instruction then insert it at the appropriate character position using the Replace instruction.
  4. Hi Guys, I am the electrical/programming component of a team who will be designing and building an assembly machine to be shipped to our parent company in the USA. It will be a reasonably common style of automation consisting of a rotary table, bowl feeders, some vision and pneumatic pick and place stations......it is early days yet, design wise, however there could be some SCARA Robots or ABB 6 Axis Robots, no hydraulics. We have built this style of machine in house in Australia before following our AS (Australian Standards) electrical wiring standards and machine safety standards (which are heavily based on European Standards) however I have not designed anything for shipment to the USA before so there will be a host of design aspects to consider. I was wondering if you could help me to identify the relevant American Standards I should be focusing on. We have received a specification that has highlighted NFPA 79 and UL508 as the standards the automation should conform to. My questions are as follows: 1. Our Australian Standard AS3000 and AS3008 are specifically targeted at electrical installation covering everything from cable sizing and fault current limiting to clearance requirements infront of switchboards. Do these standards cover the same subject matter?? or is there a more relevant ANSI or NEC standard that is normally followed in America. 2. Our Australian Standard AS4024 specifically targets machine safety, methods to identify and grade hazards, document and validate solutions, guidence and location of emergency stops, reach distances to hazards etc etc. Do these standards cover the equivalent subject matter??? I have no doubt I will have to acquire these standards regardless and become familiar with them however my main concern at this point is that I am not overlooking other relevant important standards that apply in the USA. Any assistance would be greatly appreciated. Thanks
  5. Thanks for the reply Ken. Excellent point re the plug, you are 100% correct they are different. I am in the process of building a control cabinet and I automatically allow for BATM's so it is already installed. This is the only reason I would have used it over the stock BA2. I will simply pull it out and use the BA2. Cheers
  6. Hi Guys Does anyone know the ramifications of using a 1756-BATA (in a 1756-BATM unit) on an L61 series B processor as opposed to the 1756-BA2 that AB specifies for this processor?? Thanks
  7. Ok scrap the above....I have just re-read your original post and I am going about it the wrong way. I made a new program "Dummy_Program" in the unsheduled programs folder then exported a routine from the scheduled program then imported it to the new "Dummy_Program" in the unsheduled section. I then went and removed the JSR referencing the routine that I export/imported then simply deleted the routine using right mouse click delete. I think that is what you are trying to do? PS all in version 17.2
  8. I attempted what I think you are trying achieve on a test rig containing an L61, if I try to drag and drop a routine from an unscheduled program to a schedule program it won't work. I can however right mouse click on the routine in the unscheduled program, export it, then right click on the desired scheduled program and select "import routine". The entire routine comes in, in edit mode and I have to then accept the changes as you would with any online edit. Oh cut and paste does not work either.
  9. American Wiring & Safety Standards

    Thank you both for your replies and the links I will do some reading and see how I go. Thanks Bob for pointing out the Arc Flash label and shock hazard boundary label I will need to make sure I understand these requirements. Thanks Monkey for the PM offer I will do some reading and get a bit more up to speed before I ask questions that I could answer myself.
  10. Hi Guys, My home computer crashed recently and I have finally got it back up and running. I have reloaded all my favourites into internet explorer and all seem to be working fine except for one exception, I can't browse the MrPLC website from home??? I can browse several other forums that I subscribe to but not MrPLC. Can anyone offer any suggestions please. Thanks
  11. Ultra 3000

    From what I have read on the AB site you motor appears to have an encoder with marker pulse at 2000 pulses/rev not absolute feedback so if after a power cycle you want the motor to start from a known position you will have to perform a home sequence. If it can start from anywhere I think there is an immediate home function which basically means set position count 0 at the current location but that may not be suitable for your application. I am not at work at the moment so I can't check the details of your drive but I think the "x" in the part number indicates an "indexing" drive. We have several at work doing basic move functions however the home, start, stop and reset functions are co-ordinated with a PLC. Ultaware is fairly easy to navigate once you get familiar with the basics and the indexing table is a very easy to configure. What you are attempting to do sounds fairly easy to arrange with the indexing table however co-ordinating a home followed by an index my take some thought. The indexes can be set to automatically cascade ie once index one is complete move onto index two immediately and so on, so you could set up a continuous loop going with the forward and reverse function. I don't have ultraware infront of me however you may be able to trigger the first indext immediately after home just by configuring the software, that way all you would need is an input from somewhere to trigger the home immediately followed by index one (forward) then index two (backwards) then index one...... and so on. The other option would be to assign "home complete" to an output and then feed that signal back into an input then tie the input to trigger the first index. Can't comment on the dynamics of the system as you haven't mentioned mass to move, distance to move, time of move and drive train so hopefully the guys who are asking you to commission it have thought through the process, it might pay you to have a chat to them to understand the drive system and the torque output of your motor so you don't head off and drive the system too hard and do damage. Conversly the performance they are asking for might not be possible if the dynamics of the entire drive train have not been taken into account....if that where the case you could be trying to hit an unachievable target when you are tuning the system. I think you are on the right track by allowing the drive to power up before applying an enable signal, in our systems it is done by default as the plc takes time to boot up and by the time that happens, and the system is ready to take inputs from the operator, the drive is ready to go anyway. I will have a look at out Ultra 3000 indexing systems monday to refresh my memory that way I can make better comments.
  12. View controllogix program?

    If you get really stuck you could post the project on this site and ask someone to print a report to pdf and you could wade through the program that way......if the project is too big this could be a hard way to do things. I would be happy to print a report of the project for you if you like....if you don't want to post it on the site you can PM me and I can give you my email address.
  13. Logix5000 SFC Tutorial

    Just completed my first machine using Phase Manager and I personally liked it. I used the Rockwell power programming info as a base and went from there......I think it is worth the effort. I have alot of machines that employ a rotary table and static stations which is pretty typical in manufacturing and assembly and the static stations are all programmed using SFC which works really well. There are a couple of ways to approach the programming of them however once you get it worked out they are very easy to impliment although they are the heaviest of the languages on memory. My predecessor just about managed to program quite a large machine in only SFC so yes it is possible and yes I agree with Paul in saying that it is not the best way to go for everything, ladder is still the most memory efficient.
  14. Logix5000 SFC Tutorial

    Hi whatjusthappened, Sorry can't help you with a tutorial but I personally do allot of programming using SFC, I am happy to help you out where I can, feel free to fire all questions that come up to the forum. I am not sure what field you work in but maybe pick one of your processes and spec a system and do an SFC for it then put the code on the site for people to critique, you will certainly get some constructive feedback from that which in turn will help you to better develop your SFC skills. Cheers KidPLC
  15. Rockwell and C++

    Great read Paul, appreciate the effort you put into your posts.
  16. Uploading program from GOT

    Hi Guys, Just jumping across from the AB forum for a quick question. I have no experience with Mitsubishi products however I have a machine that has the following compontents:- Controller:- 1. Melsec A2SCPU-S1 PLC x 1. 2. A1SD75P3-S3 Servo Card x 1. 3. Melservo MR-C20A Servo Amps x 2. 4. Freqrol A024 FR-A024-SO-4K-EC VVVF Drives x 2. Screen Display:- All are 1998 vintage. 1. A8GT-70GOT-TB Screen Display x 1. 2. A7GT-BUS2 Bus Interface Module x 1. 3. A8GT-MCA2MFDW Memory Cassette x 1. 4. A8GT-PW-EU x 1. The problem is with the screen display, the display is patchy and grainy with only a partial view of the image. I am making an assumption that the screen itself has failed. I have gone back to the orginal machine supplier to start to resolve this problem however I am presented with quite a few possible issues with replacment which in turn will cost more money. My question is this can the program simply be uploaded from the old screen display then re-downloaded to a new unit and away the system will run again??? I am getting feedback from the supplier that indicates the original programmer may need to be involve which equals plane flights and accomodation etc, etc. I don't want this to turn into a major costly exercise when it is not warranted. Some information on the ease of uploading and downloading to the screen display would be a huge help. Thanks
  17. Uploading program from GOT

    You mentioned a free download earlier, I have looked high and low on the website you directed me to but I can't find it anywhere....could you give me some more direction please. Also if I am forced to move to a GOT1000 series unit because I cannot source a replacement GOT800 does the program conversion tool do a decent job?? or are there many in consistencies??
  18. Uploading program from GOT

    Thanks for the reply Crossbow, what is the name of the software there is quite a bit listed there?
  19. Safety Contactor for Motors required?

    A single contactor even over rated is a single point of failure. In cat 3 and cat 4 systems, in my opinion, this solution is not acceptable.
  20. Safety Contactor for Motors required?

    Wouldn't a risk assessment have identifed the system the brake was attached to has a high risk category (3 or 4) therefore a dual monitored air dump system be installed?? We build our own automation in house and every machine is atleast category three, we use dual monitored air dump valves from fluid centry. We use a pilz PNOZ Multi to activate these valves and then monitor the spool movement in the Pilz. We use the the multi because within the one machine we may have up to 6 safety zones that work independantly from one another, each zone has a set of dual dump valves. Expensive but the redundancy minimises the risk of a dangerous situation arising from valve spool sticking. If the spool does not do as commanded the feedback will be reflected to the Pilz and it will lock the reset function out. We use the same dual redundancy for DOL motors, VSD's and Servos, we use the AB 100s range of contactors. As far as servo's and VSD's are concerned we break the load side of the amplifier however we disable the outputs 100mS before disconnecting the motor. Our risk assessments consider the capacitors of the drives a stored energy source.
  21. Safety Contactor for Motors required?

    You need to guarantee that the contactor contacts are positively guided i.e. the auxiliary feedback contacts reflect the condition of the main power contacts. In most contactors the contacts are spring loaded which means that some may weld closed and the others can return to their normal at rest position quite happily, if this where the case and your main contacts welded then the aux contacts would return to the rest position and not signal this descrepancy, the safety relay would not be aware of a main contact weld. Also safety contactors prevent manual override, there is no little button on top of the contactor to push and activate the contacts. If you are at cat 4 I would think that a cat 4 rated contactor is required.
  22. Hi Guys, Need to ask a question regarding connections to tags in a control logix. I am planning to create an array in controller scope something like In_HMI_Data of type DINT[20] and Out_HMI_Data of type DINT[50] then alias my program scope HMI tags to bits in these two arrays. From previous discussions on this site I am figuring this is the most efficient way to pack tags ready for exchange with the HMI. Now when I go into the ViewStudioME software should I direct the connection to the program scope tag (which has a more user friendly name) or to its corresponding array bit in controller scope (which has a not so user friendly name)??? I think I can answer my own question by saying it should be the controller scope array but I have so many things running through my head at the moment I just want to bounce this question off the forum. Cheers KidPLC
  23. Thanks for the reply BobLfoot I might try this question on the Rockwell forum and see how I go there.
  24. Problem solved, it was right there in the manuals all along In the controller properties under SFC execution there is a group of settings called Last scan of active steps. In the case of nested SFC's (SFC called from an SFC step using a JSR) if the controller properties SFC execution is set to "Automatic Reset" the called SFC will reset to its intial step. If the controller properties is set to Don't Scan then the called SFC will remain at the last active step just like it would with a call from a ladder initiated JSR. Well there you have it.
  25. Hi Guys, I am hoping someone might be able to shed some light on a scenerio I have come across. Please find attached an acd file and a pdf of the file which demonstrate my question. There are two programs P00 and P01 which are both basically the same except for one difference. P00 calls two SFC routines from an SFC MainRoutine where P01 calls two SFC routines from a Ladder MainRoutine. Both Programs can be manipulated by toggling the ESTOP_OK bit to drive them around. Now this is what I have found and I can't work out why it should be different:- P00 1. Program downloads and runs. R00_MainRoutine SFC transitions to STEP 2 momentarily running R01_Sequence then immediately pausing R01_Sequence. R02_Recovery is called which transitions and executes R01_Sequence then goes to the STOP instruction. 2. Open Sequence and right mouse click the first transition and click step through to put it to the second step. 3. Estop manually toggled to 0. R00_MainRoutine SFC transitions from STEP 2 to STEP 1. 4. Now that R01 and R02 are not be jumped to you will notice that there is no active step visible. 5. Estop manually toggled to 1. R00_MainRoutine SFC transitions to STEP 2 momentarily running R01_Sequence the immediately pausing R01_Sequence. R02_Recovery is called which transitions and executes R01_Sequence then goes to the STOP instruction. 6. You will now notice that the R01_Sequence routine has reset to the intial step. P01 1. Program downloads and runs. R00_MainRoutine Ladder momentarily pauses R01_Sequence. R02_Recovery is called which transitions and executes R01_Sequence then goes to the STOP instruction. 2. Open Sequence and right mouse click the first transition and click step through to put it to the second step. 3. Estop manually toggled to 0. R00_MainRoutine Ladder stops calling both the R01_Sequence Routine and R02_Recovery Routine. 4. Unlike in P00 the last active step in both SFC has remained active and visibly highlighted. 5. Estop manually toggled to 1. Both SFC do not reset and remain at their last active steps. Summary JSR from an SFC behaves differently to a JSR from a Ladder....why is it so???? I would have thought they would have been the same. This could be quite a trap if you weren't aware it was happening. I appologise for a bit of a drawn out post but I didn't want to leave anything out. JSR_Example.pdf Example.ACD