Automation Simulation

simsw

In my quest to produce online training classes I have been investigating some of the different types of industrial automation and PLC simulators available.

My intent here is to find two different things: 1. A PLC programming simulator that is free or very low cost that can be used by students on their own computer to simulate and do exercises, and 2. A Process or Machine simulator that includes PLC and HMI programming tools and visualization of components.

symbol1One of my requirements is that the software be either non-brand-specific, or multi-platform. In my PLC training manual (recently published by the way), I use a generic addressing method as shown in this image. The intent is to be able to substitute any platform’s address where the red caption is, or make it invisible if using tags. The blue text could then be used either as a symbol (for non-tag-based platforms) or as a tag. All of this would need to be accessible in a list such as a symbol or tag database. This pretty much eliminates any of the major brand’s emulators, though I have been using Allen-Bradley’s RSLogix 5000 software with aliases to generic tag structures with some success.  The problem with that is that it is far too expensive for students.

The center image above shows a screenshot of “LogixPro”, available from The Learning Pit. I haven’t checked this out, but at only $35 it looks like a good option for those wanting to play around with Allen-Bradley’s SLC and Micrologix platform. Again, for me this is too brand-specific. It also looks like The Learning Pit kind of does what I am planning to do, online PLC training.

I also would like to link the simulation program to some graphics so that students can visualize their programming results. There are a lot of packages that simulate factory floor equipment. In the picture at the top of this post is Siemen’s PLM (Product Lifecycle Management) software. This can be used to create a virtual factory floor. It doesn’t interface with the Siemens Step7 software though, and even if it did it would hardly be generic…

I found a lot of other plant floor simulators when checking online. This list of simulation and modeling software on Automation World’s site had a lot of good products from Cybosoft, Mynah, Cenit and others, but they are not compatible with PLC or automation software.

Last week I also participated in a demo of Famic’s Automation Studio. There are two versions of this software, the Professional Edition, and the Educational Edition. Unfortunately I don’t qualify for the Educational Edition, which would probably be less expensive than the $6000 price tag of the Professional.

The demo was pretty cool. A PLC program can be written that will drive pneumatic and hydraulic circuits, which in turn can be embedded in a graphical simulation of a machine or process. The software seemed heavily oriented toward the pneumatic and hydraulic simulations, libraries of components could be imported from several manufacturers and placed into the simulation. There are drawing tools that can be used to animate the visualization, but the programmer would have to be pretty adept at creating graphics; it is not 3D. The PLC software itself is pretty basic, but it does appear to contain most of the instructions needed for training. There is also electrical circuit simulation capability.

Unfortunately for me, the price is still too high to use on a per-student basis. I could buy an actual PLC, HMI and software for each student station at that price, though the pneumatics and hydraulic training capability would be nice. From what I understand, the full-blown design package is more like $20,000.

I also just downloaded Factory I/O’s free trial of PLC simulation software. It is certainly more within the price range I am looking for at 695 Euro’s/seat, and it says it works with Allen-Bradley, Siemens, Modicon and CodeSys. I have 30 days to try it out and will write a bit more after I see what it can do.

Overall there seems to be a lot of stuff out there, but nothing that does exactly what I want it to. I like Automation Studio’s pneumatics, hydraulics and electrical training environment, I could use something like WonderWare, Ignition or A-B’s FactoryTalk View for the visualization part, and maybe something from CodeSys or PLCOpen as a PLC platform, but there doesn’t seem to be much that combines it all together. I am also going to evaluate using a SoftPLC, but I am afraid the cost is going to be exorbitant.

If anyone has any suggestions or comments let me know!

Share
Tagged with: , , ,
Posted in Software & Programming, Training

Advantages of Re-Usable Code

reusablememe

Recently I’ve seen some good discussions on PLCs (Programmable Logic Controllers) vs. PACs (Programmable Automation Controllers), and it got me thinking about what really differentiates the two. Some have said that it is having a more powerful processor, or more capable software. Others have said that it is the ability to fully utilize all of the IEC 61131 programming languages and capabilities.

In the US, many programmers base their knowledge and abilities on their experience with Allen-Bradley’s products. After all, probably 70% or more of the installed base in US manufacturing consists of A-B PLCs. If so, the ControlLogix family was a huge jump in the capability of PLCs; among other improvements over the SLC and PLC5 families are the fact that it is tag-based, allows the use of UDTs, and has Add-On Instructions (AOIs). Tags could also be made local to each program, allowing them to be duplicated for re-use.

But all of those capabilities except for being tag-based already existed years before that on other platforms. IEC 61131 has existed since 1993 or so, and other PLCs leveraged that early on. Siemens for instance has had User Defined Types or Structures since the S7 platform came out, and local variables could also be defined within Functions and Function Blocks. As a matter of fact, Siemens’ Function Blocks (FBs) are very similar to Allen-Bradley’s AOIs, except that the retentive values have to be included in a separate data block.

In my opinion, one of the most important differences between the older, register-only based systems and the more modern ones is the ability to build re-usable code blocks. Platforms that support this must have several important features:

1. Local vs. Global variables. Re-usable code must have variables that apply to each instance of the code; ideally only formatting the data once for the original code. What I mean by this is that a list of tags or symbols should not have to be re-named for each instance or call. For instance, duplicating a subroutine several times and iterating the addresses inside of it, though it saves time, isn’t really re-usable code.

2. User-Defined Data Types. Creating UDTs allows structures to be built that can be exported from one application to another. They allow components to be described using generic terms such as “Speed”, “Start”, “Reject”, etc. UDTs don’t require tag based systems, but they do require advanced use of symbols. This is one reason the Allen-Bradley SLC and Micrologix systems really don’t allow re-usable code, while the S7 does, despite both being 1990s -era systems.

3. Protectable  Self-Contained Blocks. It is important that the code be contained in a block that allows variables to be passed in and out, and also protected so that users can’t change a specific instance of it. This requires a password or software key.

These are just some of the requirements. Other features like being able to write code in other IEC compliant PLC languages such as Structured Text also help make platforms much more powerful and “Rapid Code Development” friendly.

reusable
Whether your favorite platform uses subroutines with local variables or customizable instructions, reusable code is a critical part of creating powerful programs quickly! I am quite familiar with how Allen-Bradley and Siemens accomplish this, but I would love to hear how some other platforms allow for reusable code and what their methods are. Leave a comment here or send me an e-mail, I’d especially like to hear from users of CodeSys, Beckhoff, GE, Mitsubishi, Omron and Automation Direct!

Share
Tagged with: , , , , ,
Posted in PLCs, Software & Programming

I Need PLC Pictures!

plcs

For the last few months I have been working (slowly) on my new PLC course. Before getting too far into the videos on the Thinkific site, it made sense to me to complete a training manual. Well, I completed the manual and submitted it to the publisher, and that opened a can of worms.

canofworms1This picture is an example of the kind of problems I am having. If you Google “Can of Worms”, you will find probably hundreds of images. If you then refine the image search under search tools, the options decrease drastically. This image is the only actual can of worms that showed in my search when filtering for usage rights.

I found the PLC images above on the internet and made a graphic for the manual. After submitting the manual to the publisher, they replied that I would need to obtain permission from the owner of each image; I then had my editor send inquiries to various PLC manufacturers for good PLC pictures.

My intent was to try and represent all of the “major” manufacturers in my course. So far the only companies that have responded are Automation Direct and the US division of Omron.

Embedding pictures in blog posts vs. putting them in a published work are two very different things. If something is deemed to be “commercial”, the options are very limited. This blog of course is not a commercial venture, but the manual is.

My best option now is to find pictures of control panels with PLCs in them or hope that some of the manufacturers eventually get back to me. Unfortunately this means my PLC manual is on hold.

I am asking for help from the readers of my blog and from the PLC forums on Linked In. What I need is at least one good high resolution PLC picture from each of the brands listed above. I have managed to find a couple of Allen-Bradley ControlLogix and Siemens S7 pictures, but am striking out on the GE, Mitsubishi and Modicon. So if you have some pictures of control panels with PLC racks in them, I can probably crop the PLC part out. It may not be as clean as the pictures above, but I am getting a bit desperate right now.

I also need pictures of sensors, relays, valves and various other devices. Here are a couple of the other graphics I need to replace:

anin
anout
digin
digout

So far the best response I have had when asking for help has been from Automation Direct. They have provided lots of images from their website and overall just been super helpful. Unfortunately I can’t say the same about some of the other manufacturers. Sending them e-mails is kind of like sending feedback to Microsoft; it just disappears into a black hole.

Anything you can provide will be helpful; if I use your picture I will be sure give you credit in the manual/book. Please help me out!

Share
Tagged with: ,
Posted in PLCs, The Book, The Course

Make vs. Buy: An Infographic from Dorner Conveyors

The Decision to Make or Buy Your Next Conveyor

This is a pretty cool article and Infographic from Dorner. I used to use them a lot in the old Automation Consulting Services, Inc. and working with NAS.

As they mention in the infographic and in their blog, a lot of factors went into the decision on whether to make or buy a conveyor. NAS built most of their own conveyors, mostly because they had the expertise and equipment to do it well. Dorner makes a lot of tabletop chain conveyors, and NAS usually bought their finished systems from them if they needed a stand-alone system, but if something needed to be built into a machine they usually just bought components and built conveyors as a “kit”.

A mill and lathe are pretty much minimum requirements if you want to get into building your own conveyors. Most of the track and chain can be bought and assembled, but being able to key shafts and turn them down are necessities.

Some of the factors in the infographic matter less if you are a custom machine builder. Time is less of a factor because the product is the conveyor, and the assemblers are used to building conveyors. Space is also not an issue because they reserve the space for the ordered machine anyway.

On the other hand when I worked for Wright Industries they never built their own conveyors. For one thing it really wasn’t a part of their core business, and for another their internal design and manufacturing costs were much higher than NAS’s.

ACS Tabletop Chain Conveyor, TRW Toyoda, 2005

Here is a picture of the only tabletop chain conveyor I ever built. My company was small enough that this kind of project could stand by itself, we simply ordered all of the parts and subbed out the machining that we couldn’t do. Since we were mostly a controls company, the only way this was justified is that we got to integrate the conveyor into their manufacturing system.

NAS-Tennex 1998, "Rubber Band" conveyor

Here is a conveyor that is not something you will find in catalogs, it is pretty much always going to be more economical to build it yourself. There isn’t much cost in the components, so the markup for engineering and labor would be too high to justify.

Whatever your decision on making vs. buying conveyors, it is definitely something you should become more educated on. there are lots of good resources out there, many of them included in manufacturer’s catalogs and certainly on websites like Dorner’s. If you need further help in decision making or design, there are always companies like mine out there that can help, check out my Resources page for more.

Share
Tagged with: , , , , ,
Posted in Consulting, Conveyors, Engineering, Machine Design, Vendors and Manufacturers

PLCopen

plcopen_marketinglogo

Industrial automation has changed drastically over the past century. From the Charlie Chaplin style factories, where companies were reliant on people to manage the factory floor, to today, where factories are highly automated with only a few people present on the production lines. As a result of this ever greater reliance on machines, software is becoming increasingly responsible, complex, and demanding. This does not come without its challenges. Due to the greater complexity, programs are more difficult to maintain, more time consuming, and potentially therefore more expensive. This is why quality is taking such an important role these days.

Unlike in other industries, such as that of embedded software and computer science, there has not previously been a dedicated standard for Programmable Logic Controller (PLC) programs. This has meant that programs were not measured against anything and were often of a poor quality. But that’s where the independent association PLCopen has come in and set the standard with the release of their coding guidelines. These guidelines are a set of good practice programming rules for PLCs, which will help to control and enhance programming methods within industrial automation.

PLCopen, whose mission is to provide industrial control programming solutions, collaborated with members from a number of companies in different industries to create these coding guidelines. These companies include PLC vendors such as Phoenix Systems, Siemens, and Omron, to software vendors such as Itris Automation and CoDeSys, and educational institutions such as RWTH Aachen. These guidelines were inspired by some pre-existing standards from other domains such as IEC61131-3, JSF++ coding standard and MISRA-C, and they are the product of three years of work by the working group. PLCopen’s reference standard can be used for testing the quality of all PLC codes, independent of brand and industry.

PLCopen’s coding guidelines are made up of 64 rules, which cover the naming, comments and structure of the code. By following these guidelines, the quality of the code will be improved and there will be greater consistency amongst developers. This will result in greater efficiency, as better readability means a faster debug time, and a program that is easier to maintain. This then results in lower costs as less time is required in order to maintain the program, and the maintenance should be easy enough for both an internal or external programmer as the code will be more straightforward. If the original developer fails to follow certain guidelines when creating a program, this could obstruct other developers and maintenance teams when working with the code during the product lifecycle, thus creating delays and additional costs.

In safety-critical industries, there is the standard IEC 61508 which in 2011 was also extended to PLCS. However, as quality is becoming an ever more important factor across the board, as programs become bigger and more complex, it is generally good practice to follow a set of rules or a standard in all industries. PLCopen’s coding guidelines suggest a standard that can be used across all industries to greatly improve the quality of the code and, as a result, to help companies save time and money. The introduction of such a standard will allow PLC programs to be verified not only from the simple functionality perspective but also from a coding perspective by confirming that good practice programming rules have been followed in their creation. Consistency across PLC programs can only be achieved through the respect of a global corporate or industrial standard, with PLCopen now being the de facto standard in the automation industry.

With quality playing a greater role in industry and with companies always looking for cost saving methods, the answer is to use some sort of standard or set of rules in order to meet these goals. PLCopen have created this standard to improve quality and consistency across PLC programs and so that individual industries and companies don’t have to go to the effort of creating a set of rules themselves. In addition to the internal benefits, this standard will also allow companies to enforce their quality requirements on suppliers, software contractors
and system integrators. The only issue for now is that the process for verifying these rules is done manually by most users as they are unaware that some tools are available to do this automatically. But overall, following a standard such as the one proposed by PLCopen, will greatly improve the quality of the program and will save time and money throughout the whole duration of the product lifecycle.

The PLCopen coding guidelines v1.0 are available to download for free from the PLCopen website, http://www.plcopen.org/.

PLCopen will be present at SPS IPC Drives 2016 in Nuremberg from the 22nd – 24th November. They can be found in hall 7, stand 174 to answer any questions or for further information.

*********************************************

This post was contributed by Robyn Buckland, from Itris Automation.

Share
Tagged with: , , , , ,
Posted in Guest Posts, Software & Programming

Help Me Name My New Course!

More than a year ago I first mentioned that I was considering creating an online course for PLCs. At the time I had just discovered Udemy through another PLC course that was hosted there, but I became a bit disillusioned after reading some of the instructors’ comments on the site. It seemed like instructors didn’t have much control over the pricing of the course, at least if they wanted any help in marketing.

Six months later I was well into development on an advanced course that I considered either teaching in person or writing into another book. Most of the course was in the form of a very long sample program with lots of practical examples.

Then back in June I had an opportunity to create a custom class for my friends down in Miami at ABD. Having a deadline really helped kickstart the creation of lots of written material; I taught the class in August with a partially completed manual and it went pretty well. Back then the manual was about 40 pages and now it is close to 120, and I haven’t really even started the advanced stuff.

After doing a lot of investigation, I finally decided to publish my new courses on Thinkific, an online Learning Management System (LMS) host. I created my account last week and started the next step in my own learning process. In my excitement to get something up so I could start playing with the site and my Camtasia software, I named it “The Automation Academy” because it sounded like a cool name.

Of course since it sounded cool, it was already taken by a couple of other companies, one of which does the same thing I am trying to do (though they are in India). I really don’t want to take somebody else’s name, so now I have the challenge of coming up with a good name.

The name is not for the individual course, it is for all of the courses I hope to put on the site. An example is at the top of this post, where I have put an intro using my Camtasia software.

So here is a list of the courses I hope to have on the site:

  • PLC Hardware and Programming (5 Modules)
  • Advanced PLC Programming Techniques (8+ Modules)
  • Industrial Mathematics and Data (1 Module)
  • Industrial Electricity (1 Module)
  • Sensors and Actuators (2 Modules)
  • Machine Vision (2 Modules)
  • Pneumatics (1 Module)

This is just a start, but I need a cool name for the site itself. Also, I am thinking of maybe making it a kind of themed thing, so I’ve listed some of the crazier concepts I’ve had.  Here are a few I have considered:

  1. The Automation Safari (wearing a bush hat)
  2. The Automation Asylum (wearing a straight jacket, my wife thinks I’m crazy for this one)
  3. The Automation Dojo (wearing a karate uniform)
  4. The Automation Gauntlet (thanks Jonathan Arteaga)
  5. ???

Anybody have any other good suggestions? One of the challenges is keeping people interested in what can seem to many like a difficult and dry subject. Some kind of theme might help put a bit more excitement into the classes. Before you think I’ve gone off the deep end with some of these concepts, I don’t plan on being in front of the camera much anyway. Most of the material will be on-screen graphics and software.

My daughter owns a branding company, so I have some help in putting together what I hope turns into an exciting course.

So what do you think? Any suggestions? (Other than plastic surgery :-))

Share
Tagged with: , ,
Posted in The Course, Training

The Importance of Health and Safety Checks in Manufacturing and Engineering

In any workplace, health and safety should always be the top priority. Regardless of whether your facility is automated, health and safety should be paramount. The fact is that manufacturing and engineering industries have the most workplace accidents each year. This is because there are so many risk factors to take into account, many of which are hidden. The problem is if the head of the company is unaware of where these risks lay, it can result in some severe accidents. This is regardless of how the facility is run, such as it being automated, for instance, as many manufacturing companies now are.

Below are some of the biggest concerns that relate to manufacturing and engineering workplace health and safety, as well as advice and suggestions for how to prevent accidents from occurring in the future.

Courtesy of Pixabay.com

Courtesy of Pixabay.com

A Lack of Machinery Maintenance

The most common cause of accidents in the manufacturing and engineering industries is a lack of maintenance. Machinery, tools, and equipment that are not properly maintained can quickly become dangerous. One of the issues that links to this is automation, as many companies fail to perform regular checks once their company is automated. However, regular maintenance and safety checks are still crucial, as professionals discussing a Puwer inspection would tell you. Of course, anyone using machinery should know how to perform quick daily checks to ensure that each piece is safe to use. They should be aware of the warning signs that something isn’t right, from how it sounds to how it works. Machine maintenance can cause a lot of accidents, so regular checks are a crucial form of accident prevention.

Constant Hazards

The fact is that in manufacturing and engineering, there are constant hazards to be aware of. Even with proper maintenance and regular checks, some tools and machinery are constantly dangerous. Take cutting machinery, for instance; simply by checking it you can’t remove the hazard. However, proper labeling and awareness can reduce the risk that the piece of equipment poses. Another example of a constant hazard is the layout of your facility, as small spaces with machinery in them pose a risk. While constant hazards can’t be removed, they can be effectively managed. This is the key to reducing the level of risk and making the working environment a safer one.

Insufficient Training

When it comes to how safe a facility is, it depends on how well trained the people working there are. The truth is your factory or plant is only as safe as you make it. This means that if you want it to be a safe place for yourself and your team, training should be a priority. This doesn’t simply mean offering training when employees start, but also regular training to ensure that health and safety is always at the forefront of their minds. Only by awareness and understanding of the risks, can you reduce the chances of an accident occurring.

By taking note of the advice above, you can help to reduce the chances of an accident occurring in your facility. Regardless of whether your facility is automated, accidents can still occur.

Share
Tagged with: , , ,
Posted in Guest Posts, Safety, Training

Tag Structures and Dotfields

tags

Today’s post is in response to an e-mail I received asking for my thoughts on Tag Structure. In part, George Steel wrote:

Great site, thanks for all your efforts. I am working on positioning my org to move from RS500 to RS5000 and from RSView to FT SE sometime in the future before our next upgrade shuts us down. Our PLC5s and SLCs have few symbols so I am working on an integrated tag structure.

Any thoughts on a structure? ISA works for some but leaves a lot of non-instrument based logic hanging.

I am focusing on a Location/Equipment/Function structure: R0300_P21_Suc_PT.EU_Max.  = Primary/PS2 Pump1/Suction Pressure Transmitter.Engineering Units Max (for analog scaling).

The dot suffix is generated by AOIs (another part of my project under development). I’d like to see you address preferred tag structure in an article sometime.

When I first read the e-mail, I thought I had already written a post on this subject, but I went back and looked and I had really only discussed wire labeling and UDTs. While these do relate to tag structure and naming conventions, I can definitely cover this in more depth here.

First, for those of you unfamiliar with Allen-Bradley products and what George is doing, he is converting programs written for SLCs and PLC5s (older, register-based platforms) into ControlLogix programs written with RSLogix 5000. The ControlLogix platform is tag based, there are no registers that you can see, just a big database full of text addresses for each data value. In the image at the top of this screen, the clip in the upper right is from a SLC500, it shows the Symbol and Description for an N7 (signed integer) register. While the address can be typed into the program either as N7:40 or TOT_060_FT52, only the address of N7:40 is present in the PLC processor. The symbol is kind of a “short cut” or mnemonic to make it easier to find and organize things.

RSLogix 5000 has a utility that converts SLC or PLC programs into ControlLogix programs. It uses the symbol as the new tag name if a symbol is used, otherwise it converts to a name like “N7_40” which isn’t very descriptive at all. A few limitations: SLC symbols can be only 20 characters in length, whereas ControlLogix tags can contain 40 alphanumeric characters, not counting the dotfield. Since the SLC is register based, it has no dotfields outside of those built into the data type, such as the preset for a timer (T4:58.PRE, or TDL_010_GS01.PRE as a symbol).

So what is a dotfield? It is just the part of the tag after the period or dot. As George mentioned in his email, an AOI or Add On Instruction uses dotfields as part of it’s data definition, as does a UDT. The clip to the left side in the image above shows a UDT called “CakeRecipe” which I used to create the elements Flavor, LbsFlour etc. in the tag ModRecipe. This tag list is part of the advanced course I talked about a few weeks ago.

So these are a few of the constraints that will need to be followed when converting the programs; tag lengths will all be 20 characters or less (though they can be modified easily in Logix5000) and they won’t use UDTs unless you build new ones. Same thing with the AOIs. And some AOIs may have to be built anyway since several instructions such as SCP (Scale w/ Parameters and DCD (Decode) are not present in the ControlLogix.

As far as naming conventions, I have used a lot of different ones in the past depending on the industry and who the customer was. Process industries tend to like ISA definitions and P&ID designators, so some four digit numerical designators like “8454” and standard definitions like “PIT, EU, PSHH” will be used. I wrote a post back in 2012 called “What’s in a Name?” where I talked about some of the standard names that are used in the custom machinery industry. Because that’s been most of my background, I tend to use an “Assembly-Device-Action” description as shown in some of the tags in the above lists in the image; an example might be “LocCylAdvPX” for Locator Cylinder Advanced Proximity Switch.

It is nearly impossible to make a tag descriptive enough so that someone not familiar with the machine or process will understand it. Cylinder and Advance might be fairly straightforward, but Loc for Locator? Most people wouldn’t know what a locator is unless they were  familiar with the machinery.

I am not a huge fan of numerical designators unless the number is printed on the machine or system somewhere. I know this is common it the process industry since everyone is used to using P&IDs, but in a manufacturing environment there can be high turnover and things move at a rapid pace. The easier you can make it for new technicians the better; ideally someone should be able to find a device without using an intermediate piece of paper. Tagnames are long enough now that it should be possible.

The symbol I used from the SLC above was TOT_060_FT52. TOT is an abbreviation for Totalizer, so far so good. The 060 is area 60 in the ABD bottling plant I have mentioned before. Until I had been there for a while I didn’t know that area 60 was the Syrup tanks, but it is labeled fairly clearly in SCADA, so I would have figured it out quicker if I had worked there full time. FT52 is Flow Transmitter 52, and this doesn’t give me a clue where in the maze of pipes the transmitter is. In my opinion an abbreviation like Syr for Syrup and TQ2 for Tank 2 would have made it easier, but the system was put in by Sidel who follows P&IDs fairly closely. Unfortunately they didn’t provide the P&IDs to the customer.

Bottom line, as long as the abbreviations are consistent and explained somewhere in the documentation I have been able to navigate most of the programs I have had to deal with. I am usually either the writer of the program, in which case I know the process well, or new to the program if I am modifying or consulting, in which case I need the documentation to be clear. Time is money, and if it takes me lots of digging or extra steps to figure out what and where things are neither myself or the customer is very happy. Also, even if you can’t fit the full information needed in the tagname, descriptions are cheap and you can write many lines in both the tag description and in the rung comments.

If you have an opinion on this I (and George I am sure) appreciate any experiences or techniques you may have.

 

Share
Tagged with: , , , , , , ,
Posted in Controls Design, Documentation, Software & Programming

PLC Memory

SLC 500 CPU - Courtesy of Makox.com

SLC 500 CPU – Courtesy of Makox.com

As I have mentioned previously, I have been working on a generic PLC course that I hope to release in some kind of online software format soon. I was able to test a prototype a few weeks ago with a regular customer of mine down in Miami, and it went pretty well. I have nearly doubled the size of the material since then including a fairly extensive computer and PLC history, which I may post excerpts from later.

Todays post is an excerpt from part of the course, and I welcome any comments or critiques. As this is an evolutionary process, it will undergo many changes.

***********************************************************

Excerpt from “Battery/Memory Backup” in PLC Hardware section

Program and data memory in a PLC is contained in “RAM” (Random Access Memory). This type of memory may be volatile or non-volatile, and it can (and will) be overwritten often. The program itself is in one area of RAM and must be kept in memory even when the PLC is powered off.  Older PLC systems required a battery or a “super-capacitor” to back up the program when power was removed for long periods of time, newer platforms can save the program to non-volatile memory such as CompactFlash and Secure Digital (SD) RAM. On these older battery-backed platforms, if the battery died, the program was lost.

Excerpt from “PLC Memory”

PLC Memory consists of the operating system and firmware of the processor and modules, and the program and data that is used by the programmer. In the previous hardware section it was explained that there are volatile and non-volatile areas of memory, and that the volatile part of memory needs a battery, “super capacitor” or other rechargeable energy storage module to hold its program and/or data.

Though the program can be saved on Flash or SD RAM cards without a battery, the data exchange rate is too slow to use this for the actual interfacing of the program with its data. When the PLC is powered on, the program is loaded from non-volatile RAM cards into the user memory of the controller. Not all PLC platforms back up the user memory with a battery or other energy storage device, data memory may be lost when a processor loses power. Some platforms, however, ensure that the data is kept intact even when power is lost by use of battery backed RAM. This means that the values in data registers will be retained and the program will start in its last state.

Other PLC platforms assign some parts of RAM to be “retentive” and other parts non-retentive. Omron separates its retentive bits into “holding” relays and non-retentive “CIO”, and its data into the retentive DM Area and non-retentive “Work Area”; Siemens allows its general “marker” memory to be assigned as retentive or non-retentive and defaults to only 16 bytes of retentive marker memory. Siemens data blocks however are retentive unless defined not to be. Allen-Bradley’s memory is all retentive.

The operating system itself on a processor is held in non-volatile memory, called “firmware”. To change the firmware on a PLC a “Flash” program or tool needs to be used to download it. This is usually included with the programming software.

I/O, communications and other modules also often have firmware built in. The firmware update tools can also update these modules and the firmware is usually available from the manufacturer’s website. It is necessary to have software that is at least as up-to-date as the firmware being installed.

The RAM part of memory in a PLC can be separated into two general areas; Program Memory and Data Memory.

Program memory consists all of the lists of Instructions and Program Code. This is what is sent to the processor. The act of sending the program instructions to the PLC is called “downloading” on most brands of PLC, however this may differ on some platforms.

Data memory includes the Input and Output Image Tables as well as Numerical and Boolean Data. You will find that most of the data used in the PLC program is internal memory and not directly related to I/O!

As the program executes, it keeps track of whether bits (BOOLS) are on or off and the values of numbers in Data Memory. Different platforms have different ways of organizing data; some of these methods will be discussed in this section.

********************************************************

As I mentioned in my post a few weeks ago, my attempt with this course (Module I) is to provide a background in general PLC knowledge before progressing into specific platforms. I also plan to create an advanced generic course (Module II) that covers programming technique; most courses cover instruction sets rather than the methods that are used in industry.

I still teach Allen-Bradley and Siemens courses for Automation Training, so if you want to learn ControlLogix, SLC, S7 or even Omron and Mitsubishi platforms, please contact them directly or drop me a line. This is the best way to learn these specific platforms, you can either attend regional classes or even set up a class at your plant!

I welcome any comments/critiques you may have on this material. I plan to post more excerpts over the next months; if you are interested in helping out a bit more please contact me through this site or on Linked In.

As usual, thanks for checking out my blog!

Share
Tagged with: , , , , , ,
Posted in PLCs, Software & Programming, The Course

The IEM Dilemma

Courtesy of senteo.net

Courtesy of senteo.net

First I’d like to apologize for a term I’ve mis-used in the past, that of the OEM. I’ve always considered manufacturers of specific types of industrial equipment to be “OEM”s, or Original Equipment Manufacturers. After looking carefully at the various definitions I’ve found, most sources consider OEMs to be manufacturer’s of components used in other manufacturer’s end products. This is not what I have meant, and stand humbly corrected.

What I have been mischaracterizing I will now refer to as “IEMs”, or Industrial Equipment Manufacturers. What I am talking about are companies that build a specific type of industrial equipment over and over again without much customization, such as packaging machinery, metal and plastic forming equipment (presses, injection molding machines and the like), testing machines, and other equipment controlled by PLCs.

The dilemma is that while often very technical, these machines and systems are often designed once and then modified very little afterwards. Unlike custom machine designers, IEMs do not generally need a staff of mechanical and controls engineers.

People who start these kinds of companies often have a wealth of knowledge in their field of expertise, which is why they create and develop innovative equipment in the first place. I have talked about my friends over at NAS (Nalle Automation Systems) before. Tom Nalle had worked in the packaging industry for a long time before starting his company. He knew just about everything there was to know about packaging before coming up with his own innovative method of sealing film; he then leveraged that into a standard set of equipment.

This is how a lot of companies get started. In general, inventors and innovators who start these “IEM” companies are mechanical whizzes rather than controls experts. Especially when they first start out, their main focus is on ensuring that the machinery looks good and performs well. In the case of NAS, I was fortunate enough to be in on the controls aspect of NAS machinery right when the company began. Since I knew the controls field well, I like to think that they got a good electrical and controls design from the start.

Often when I look inside the panel of IEM equipment I see controls that look like more of an afterthought.

OEMPanel1

This panel is a junction box on a press that costs a half million dollars. A few items you may notice right away if you are a panelbuilder: 1. There are no terminal block labels. 2. The wires are not very straight and there is no wireway. 3. The wire labels, though you can’t read them in this picture, are numbered 1,2,3,4 etc.

I have discussed wire numbering in a previous post; as a matter of fact I even did a poll on the subject. One conclusion I came to was that IEMs often tend to design their equipment this way, probably because the primary focus when the equipment is designed is on the mechanical side.

The same is true of the PLC programs I see in this equipment. When the product is initially designed, the inventor or designer of the equipment goes out and looks for whatever local resources they can find.  They are usually on a budget as a fledgling company, and the first electrical person hired often doubles as a service technician. After all, its not like something new is being designed every few months. So unless an Industrial Equipment Manufacturer consciously decides to go out and hire experienced electrical and controls design companies, that part of the machinery often lags the mechanical side. It is simply not economical for them to hire a full time controls professional. And even if they did, a good controls engineer who has been exposed to the wide variety (and excitement) of challenging custom work would soon be pretty bored building the same thing all the time.

Documentation is often another problem. If the concentration is on the mechanical side of the equipment, there is a good chance that any electrical CAD work is also substandard.

Manufacturers of standard equipment like this often don’t even know there is a problem, and unless the customer complains they probably never will. They have no standard to compare it to. If equipment is sold into a manufacturing facility, the maintenance people probably know since they see equipment built by large professional custom builders, but the information generally doesn’t make it back to the IEM.

A common method of avoiding these problems is to find a professional controls company early in the development process. There are “controls houses” in every state in the country, and finding help is usually not difficult. Controls companies do design and programming for a wide variety of industries and have seen all kinds of applications. An early investment in professional help can save a lot of headaches later!

Share
Tagged with: , , , , ,
Posted in CAD, Controls Design, Machine Builders and Integrators, Packaging, Panelbuilding, Product Development, Vendors and Manufacturers
Categories
Are You the Master of Your Automated Machinery?

Subscribe to Automation Primer!