In the A-MaCCS environment, the work-cells in a manufacturing line are controlled by personal computer systems, which are called cell controllers. And the functions of work-cells are programmed by a unified machine control language which is also named A-MaCCS. This language was newly designed for the A-MaCCS environment, and has abilities to control and monitor equipment in a production line.
The A-MaCCS language is a kind of structured procedural language, and it has a flavor of object oriented programming paradigm. In this language, all of manufacturing equipments, sensors, conveyers, pallets, works, and others in a manufacturing line can be treated as objects. Using this language, basic manufacturing operations are defined in a work-cell, in the relations of the type of work to be operated and the intention of the manufacturing operations themselves.
In order to make the program to be device independent, only the intentions of the manufacturing operations can be appeared in the application program text. And the ways to realize the intentions, which are generally machine dependent operations, are programmed separately from application program, using the A-MaCCS language or other compiler languages as the primitive operators to reduce execution overhead.
The A-MaCCS language interpreter system searches the set of operations defined in each work-cell for proper operation using the key of combination of its intention and the type of the work to be operated. And the A-MaCCS language interpreter system interprets the program line by line and controls the machines connected under the cell controller.
Another type of language processor systems in the A-MaCCS environment is the daemon executor, which is responsible for the execution of daemons. The daemons in this system consist of two parts, condition part and action part, and both are interpreted using the A-MaCCS language processor. The daemon executor evaluates the condition part of each daemons registered to the executor itself all the time, and if the result of the evaluation is logical true, the corresponding action part is evaluated.
As the A-MaCCS language supports to write device independent programs, the application programs written in this language can be transferred via network system and then can be executed by any work-cell only if the work-cell has the abilities to carry out the operation. So, it is very easy to share the application software libraries.
The intentions of steps of manufacturing processes to be applied to a certain work are graphically programmed and represented by Petri-Net diagram. The programmed sequence of the intentions are stored into the memory placed on the pallet. This on-pallet memory also contains the description of the work on the same pallet, and these data can be referred from the program defined in a work-cell.
The outline of the operations done by the cell controllers in work-cells is as follows. When a pallet comes to a work-cell, the personal computer fetches program from the on-pallet memory. Then the computer finds out the operation intention to be realized by the work-cell itself, and searches for the description of the intention in relation to the type of the work on the pallet. As this description is interpreted by the A-MaCCS language processor, the operation intention is reduced to some machine-dependent fundamental operations and they are executed as primitive operators. If the operation intention has been satisfied, the work is sent out to the next work-cell.
The dynamic work-cell dispatcher portion of the A-MaCCS system determines the flow of work in the manufacturing line at the run time using real-time system information. This dispatcher fetches process sequence data and other information of works from their on-pallet memories, and work-cell status from the system database named data-pool.
The data-pool contains the information stating each work-cells, including;
The data-pool itself is basically a large hashing table with two keys, and also has some capabilities to display the contents onto the display screen. The language interpreters can access the contents of the data-pools by transmitting the access requests via network system if needed. As the transactions received are processed by data-pool in FIFO basis and there are some protocols to get or put multiple data simultaneously, the consistency among the multiple data is kept sound. All the data in the data-pool can have display attributes, and the data with display attributes are displayed when they are updated.
Status of the whole manufacturing system is collected in POP (Point Of Production) ways, using two data channels. Information of the manufacturing line is collected via LAN system and pooled in the data-pools in the system. The information of the work is kept in the on-pallet memory. As the information and the work itself are on the identical pallet, there is no chance to lose consistency between the data and the object.
The language interpreters and daemon executors can access all the data-pools and the contents of the on-pallet memories in the work-cell at that time. Other special softwares running on the special purpose computers in the LAN can access all data-pools only. For example of these softwares, there are status report processes to show current line status, line load simulators to evaluate current dispatching rules, and so on.