This can be a complex question and involve how the PLC has evolved since its inception way back in the 70s.
The diagram below is a very basic depiction of the memory layout of PLCs over the years.
Way back when PLC first became a reality Random Access Memory was mind blowingley expensive so to make PLC viable it needed to be kept to a bare minimum. The first step was to have a separate system that was used develop the users application on that contained an interpretative program that could mimic the operation of an actual PLC and a compiler that was used to translate the high level language to machine code that the microprocessor can execute. This was initially a purpose built system called, amongst other things, a Program Loader. As PC became cheaper and ever more prevalent it was common to see specialized applications that enabled them to be used as the Program Loader.
Inside the PLC the memory was divided up into three sections. Firstly there was a block of memory that contained the Operating System or Executive program (purple block in diagram) that was used by the microprocessor to read in the data from the input ports, interpret the data according to the users program and write the results to the output ports.
The second section of memory (dark blue block in diagram) was use to hold the program that was compiled by the program loader and governed the way the inputs were interpreted to generate the outputs. Finally there was a small amount of memory (green block in the diagram) that was used to store volatile data in for things like FIFO tables etc.
Depending on the technology available at the time depended on what type of memory was used at the time. Initially the only volatile memory was that used to store the volatile variables in (green block in diagram) and the remainder was some sort of programmable read only memory like a fusible link or light erasable prom. This meant that the users application needed to be completely debugged and tested prior to being burnt into a PROM and inserted in the PLC. One of the major disadvantages of this system was that if you ever wanted to alter the users program in meant burning a new prom.
As RAM became cheaper and more readably available the PROM that was used to store the users application (dark blue block) was replaced with RAM. This had the advantage of being easily re-programmed meaning alterations, additions to an existing system and bug fixes in new installations much easier. The problem was that being volatile memory a loss of power meant a loss of the data stored in this memory. To remedy this problem various systems were employed. One was to use batteries to ensure an uninterrupted power supply to the volatile memory. Another system was the addition of a block of electrically alterable memory that held a copy of the users application (light blue block in the diagram). Whenever a system was powered up the operating system would copy the users application from this non volatile memory to the volatile memory ready for the operating system to interpret.
The basic architecture stuck but depending on what technology was available governed what type of memory was used for each block of memory. For example the user back up program storage area (light blue block) was at first Electrically Alterable Programmable Read Only Memory which was then superseded with bubble memory and again with flash memory.
The user application area (dark blue area) was initially a Fusible Link PROM then a evolved into a Light Erasable PROM and was finally replaced by Volatile RAM an eventually, when the speed and price made it viable, Non Volatile RAM.
So basically what was used in each block of memory depended on the technology that was available at the time of manufacture. If you are working in the service industry keep in mind that you may come across just about any type of memory technology in existing units. I was surprised recently to see that Struthers-Dunn Director 4001 PLCs that came on the marked in the early1980s are still being used and currently sell second hand for pretty much what they were new a quarter of a century ago.
__________________
An elephant is a mouse built to government specifications.
thank you sir!
but i want to know that can i use PLC in this type of micromouse(machine or say one robot) which can analyze the given maze and find its onw way which sortest and taking minimum time for that maze.
dhaval kheni.
That's an interesting problem and is probably beyond what a PLC can do. The memory and language that use to program them is fairly limited and you are talking about doing some pretty smart things with solve a maze arbitrarily. The capacity has been steadily increasing over the years but a quick search on memory capacity showed a maximum of just over 1MB with most having less than 128K. PLCs weren't designed to do really complex tasks but rather to tackle smaller less complex tasks than solving a maze.
Having said that I wouldn't dump the idea of the PLC completely. I always think it's a good idea to look towards nature for tried and tested concepts so consider this. The human nervous system is divided in the two main sections. The autonomic nervous system that controls the things like reflexes, walking picking things up etc and the system that handles complex tasks of comprehending the situation, developing a plan of action etc. My suggestion would be to use a PLC for the mundane tasks of driving motors. gathering data from sensors, avoiding collisions, finding position etc You then pass the information to a PC that dose the more complex things of remembering where it's been, where to go next, possible solutions, decision making etc. The PC then passes commands like move forward, turn right, back up back to the PC for execution.
This dose mean more equipment but you can buy everything you need off the shelf so there would be no need to design anything from scratch. It would also make the final result more adaptable than a machine that was just built to solve a maze. There is no need for a proof of concept since you yourself are the proof of concept and since there is a pretty good chance that you can walk, turn round and solve a maze we know it works. Whenever possible stick with existing equipment and technology. While it may not be the best solution on paper it will save you a heap of time and a lot of heartache.
__________________
An elephant is a mouse built to government specifications.
Unfortunately there is little general information on PLCs out there. This is a great petty as I believe that PLC are one of the most underutilized pieces of technology of all times. The reason for this is I believe that the people that use them don't realize their potential and the people that don't use them simply don't understand them.
The problem with PLCs is that there is that there is no real standard way of either building or programming them so each manufacturer has their own proprietary programming language and architecture.
The best I can suggest it to try and get hold of the Programming and Application Guides or Manual for the popular brands that are used where you live and work.
If you can afford it the best way is to purchase a common brand of PLC and play with it. Keep in mind though that most PLCs require either a separate program loader or application that runs on a PC to be able to program them.
Do a search on the Global Specs web site and check out the companies that are local to you. If you contact them they may be able to send you the manuals and if you play your cards well you may even be able to get hold of an old unit that has be replaced with newer technology.
Interestingly you are the second person that has raised this with me today so there would appear that there is a need for some general background information on PLCs.
__________________
An elephant is a mouse built to government specifications.