Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 10

Abstract-Basically, a logic controller is a discrete-event system whose purpose is to control the

behavior of a process which is itself (seen by the controller as) a discrete-event system, taking into
account the state of this process and other information coming from an operator or from other
systems.

In the early 1970’s, the need to describe increasingly complex logic controllers was becoming
evident, since the programable logic controllers (PLC) were becoming more powerful and more
extensively used. This paper shows how Grafcet can be used for this purpose. Grafcet is a tool,
drawing its inspiration from Petri nets (a general purpose mathematical tool dowing various
discrete-event systems to be described), whose aim is the specification of logic controllers. It is the
basis of the Sequential Function Chart (SFC), an International Standard in 1987.

This paper, introductory in nature, explains the Grafcet model using the classical-state table
model and presents a method for interpreting grafcets.

I. INTRODUCTION

A discrete-event dynamic system (DEDS), or discrete-event system, is a system with a discrete


state space and a state evolution which is determined by events. For example, the state of a buffer
in a manufacturing system is the number of parts in this buffer. This state changes when the event
“a part is put into the buffer” or “a part is taken out of the buffer” occurs. A dynamic physical
system may be seen either as a continuous variable dynamic system or as a discrete-event system,
depending on the aim of the model. For simply example, if the state of a tank is the liquid level in
this tank, the corresponding model is a continuous variable system. This tank may be modeled as
a discrete-event system, however, if we consider it may have only three states: empty, between
empty and full, and full.

Basically, a logic controller is a discrete event system whose purpose is to control the behavior of
a process which is itself (seen as) a discrete-event system, taking into account the state of this
process and other information coming from an operator or from other systems. This is illustrated
in Fig. 1 where x, y, z, and W are Boolean variables or vectors.

Logic control is relevant to processes whose measurements and actions are of a logic type. That
means that these measurements and actions can only take two values (for example, a contact can
be open or closed, a temperature has reached some threshold or not). The measurement is input,
and the action is output of a logic controller. The goal of a logic controller is to react to input
changes by modifying the output state as a function of control rules. The designer must specify
these control rules.

Before the introduction of the first programmable logic controller (PLC) in 1969 [13], logic control
was implemented by hard-wired logic. Electromagnetic relays, pneumatic relays, and electronic
gates and flip-flops were used. With these technologies, complex problems are difficult to handle,
and a logic controller is difficult to modify. The first PLC’s worked with specialized processors able
to carry out logic operations. Then, general-purpose microprocessors were used in PLC’s when
microprocessors became cheaper and more powerful. PLC’s remain different from general-
purpose computers, however, since their hardware is designed for the industrial environment.
PLC’s are used extensively in many kinds of industries: man- ufacturing, metallurgy, chemical,
paper, food, transportation, handling industries, etc. Today, a PLC can handle several hundreds of
inputs-outputs, several PLC’s can be linked by a communication network, and some PLC’s can
carry out additional functions such as calculation and regulation. Many of them are integrated in
the production machines themselves, in such a way that they are transparent to the machines’
users.

As long as the logic controllers were small systems, the classical models were sufficient to specify
the logic control rules. There were two kinds of models. The first kind corresponds to the usual
models of asynchronous sequential circuits, state diagrams, or state tables [25], which represent
automata, i.e., hardware and software independent specifications. Note that the automata are
asynchronous because continuous-time discrete-event systems are considered. The second kind
corresponds to the representation as a possible implementation.

The most famous is relay ladder logic (RLL) which is a graphical representation based on an
analogy to physical relay systems [19]. In the early 1970’s, the need to describe increasingly
complex logic controllers, the implementation of which would be simplified by recent and future
development of microprocessors, was becoming evident. Roughly speaking, it was required to
represent large logic controllers with many inputs and many outputs. More precisely the needs
were the following:

1. Describe the sequence of states of a discrete-event system which may contain a very
large number of states.
2. Take into account the concurrency (for both simplicity and easy understanding), since
some subsystems may be partially independent.
3. Generally, given a state of the system, only a few inputs affect the state, and only a few
outputs may change. Then, describe only the behavior corresponding to these input
changes.
4. Have a clear understanding of the input-output behavior of a logic controller, i.e., what is
the control applied to the process to be controlled (output of the PLC) as a function of a
change of the process or its environnment (input of the PLC).

The Grafcet’ model came from this need. It draws inspiration from the Petri nets which were
studied in the early sixties by Petri [21]. We assume the reader is familiar with Petri nets [7], [9],
[18], [20]. Petri nets are a graphical tool which allow modeling of sequential behavior and
concurrency (needs 1 and 2). A place in a Petri net (PN) corresponds to a component of the state.
It follows that when a single component changes (marking of a place), the state changes.

Then, one can “see” what part of the system changes, and furthermore, a reasonable number of
places may provide the representation of a large number of states (the number of markings may
increase exponentially with the number of places). In addition, the other needs are satisfied in the
Grafcet model.

Let us now present various models with the help of an example. The following notations are used.
The complement of the Boolean variable a will be written as a’: that means that a’ = 1 exactly
when a = 0. The Boolean product (AND function) is represented as a product (a*b = ab= (a)(b)).

The Boolean sum (OR function) is represented as a sum (+).


Tank Filing: The device in question is represented in Fig. 2. Both tanks are used in a siilir way. A
roman symbol represents a device (sensor actuator) and an italic symbol the corresponding
Boolean variable. Tank 1 is empty when the leve lis less tan b1, i.e., b1=0, and is full when the evel
is greater than hl, i.e., hl = 1. At the initial state, both tanks are empty. If push button m is pressed,
both tanks areflled by opening valves v1 (v1= 1 means that valve V1 is open) and V2. When a tank
is full, e.g., tank 1, filling stops (by closing valve VI) and its contents start to be used (by opening
valve W1). When tank 1 is empty, valve W1 is closed. Filling may only start up again when both
tanks are empty and if the button m is pressed. Let us now present this specification using four
models.

State table [ 3(a)]. In this table, a column is associated with every input state and a row with every
internal state. An internal state and an input state define a total state. The initial state (noted by a
star) is state 1 which is stable for the input state mhlhzblb2 = 00000 (represented by circling the
state number). All the outputs are 0 in this state. If m assumes the value 1, we reach the column
where the unstable state 2 (not circled) means that the new internal state 2 will be reached. In this
state, the outputs VI and V2, take the value 1. And so on. A dash indicates a total state which
cannot be reached. This model is extremely detailed. In Fig. 3(a) we have a complete specification
showing all of the total states, even though some cannot be reached from any internal state. For
larger systems the state tables become almost empty (i.e., many total states are not reachable)
since generally, only a few inputs can change when a state has been reached. This model is very
useful for an accurate analysis of a small part of the system. It becomes practically unusable,
however, for system. For 20 input variables there are more than one million columns!

2) State diagram [Fig. 3(b)]. In this model, a node is associated with every total state. For example,
node 2 corresponds to the eight stable total states of the second row in Fig. 3(a). Each arc is
labeled by a Boolean variable or function. The corresponding transition is performed as soon as
this function assumes the value 1. The initial state is shown by a short incoming arrow. In this
model, the information is more concise. We represent internal states (not total states). The input
changes which do not cause a state change are not necessarily shown by self-loops. For example,
the inputs m, hl, and b2 may change in state 3, yet since their changes do not cause a state
change, this information is omitted in Fig. 3(b). The concurrency, however, cannot be represented
by this model. This is its main weakness. In our example, what happens to tank 1 is independent
of what happens to tank 2, as long as they are not empty. This model representing a state for the
whole system may become large and difficult to understand when the system is made of several
parts, completely or partially independent.

3) RLL [Fig. 3(c)]. In this model, a rung corresponding to a Boolean equation is associated with
every internal and output variable. It may be convenient to use the output variables as internal
variables. The dependent variable of the equation is represented by a circle. The rung inputs are
represented by pairs of vertical parallel bars representing relays which close when the
corresponding input is active. A diagonal line between the bars means that the complemented
value of the variable is used. The AND and the OR functions are constructed by placing variables in
series and in parallel, respectively. For example the first rung in Fig. 3(c) corresponds to the
equation q1=b’1*b’2. Then q1=1 when both tanks are empty. The means that v1 assumes the
value (because of the memorization by the variable v1 in parallel with q1*m) as long as h1=0 (i.e.,
as long as tank 1 is not full).
In this model the concurrency can be exploited (for example one can have v1 = v2 = 1) even if it is
not graphically represented. But the sequential nature of the behavior is not apparent. For
example, to know what can happen from the state where v1=v2=1 and q1=w1=w2=0, detailed
analysis is necessary. This is the main weakness of this representation.

4) Grafcet [Fig. 3(d)]. This model will be explained accurately in Section In. The squares labeled 1 to
6 are steps, i.e., components of states. At initial time, the steps in the set { 1, 4) are active. Then
transition (1) which follows these steps can be fired as soon as the Boolean variable m, associated
with (l), has the value 1. After this firing, steps 2 and 5 are active. When step 2 is active, the
output VI = 1 (represented by VI written in a rectangle associated with step 2). When step 2 is
active, transition (2) can be fired if hl = 1. And so on. The concurrency is explicitly represented in
this model. Steps 1, 2, and 3 correspond to the states of tank 1 (empty, during filling, and during
emptying, respectively) and steps 4, 5 and 6 correspond to the states of tank 2. The sequence of
states (or active steps) and Boolean conditions leading from one to another are quite apparent
(need 1). When step 2 is active, only the input hl can change the activity of steps 2 and 3,
independently of the other steps (need 2) and of the other inputs (need 3). Need 4 is also satisfied
and will be explained for more complicated cases in this paper.

The Grafcet model was defined by a French group. Half of the 24 signatories of the final report,
dated August 1977 [l], are academics (including the author), and half are from industry. The
Grafcet model has been briefly defined in [l] and then detailed in [2]. A number of concepts and
formalisms which enable the original definition to be stated precisely and for- malized have been
introduced in [6], [7], and [17], to present this model in a manner which is both consistent with
the original definition and strict from a theoretical point of view. First a French standard, in 1987
it became an international one [ 11. The National Committees of the following countries declared
their explicit approval of the publication: Australia, Belgium, Canada, Czechoslovakia, Denmark,
Egypt, Finland, France, Germany, Italy, Japan, Netherlands, Norway, Portugal, Spain, Sweden,
Switzerland, Turkey, United Kingdom, and Yugoslavia. Basically, a grafcet behaves like a Petri net
with just a few differences [5], 1171, but above all it proposes a single interpretation of inputs-
outputs. This is a specification model which only describes the function to be performed, i.e., a
sequential machine in the mathematical sense, free from all hardware and software. The present
article is an introductory paper intended for academics and control engineers who want to use
formal models for specification of logic controllers. The international standard Sequential
Function Chart (SFC) introduces a few modifications and is presented in a way stressing the
practical side. This point will be commented on in Section VII.

The paper is organized as follows. Section IT presents the concept of condition and the concept of
event. The basic notions used in the Grafcet and the interpretation algorithm are presented in
Section III and Section IV, respectively. The macrosteps and macroactions, which are abbreviations
of the basic Grafcet, are presented in Section V. Section VI compares the Grafcet with other
models, and Section V1 concludes the paper.
GRAFCET: UNA HERRAMIENTA PODEROSA
PARA LA ESPECIFICACIÓN DE CONTROLADORES LÓGICOS

Resumen

Básicamente, un controlador lógico es un sistema de eventos discretos cuyo propósito es controlar


el comportamiento de un proceso que es en sí mismo (visto por el controlador como) un sistema
de eventos discretos, teniendo en cuenta el estado de este proceso y otra información viniendo de
un operador o de otros sistemas

A principios de la década de 1970, se hacía evidente la necesidad de describir controladores


lógicos cada vez más complejos, ya que los controladores lógicos programables (PLC) eran cada
vez más potentes y se usaban más extensamente. Este documento muestra cómo Grafcet se
puede utilizar para este propósito. Grafcet es una herramienta que se inspira en las redes de Petri
(una herramienta matemática de propósito general que utiliza varios sistemas de eventos
discretos para describir), cuyo objetivo es la especificación de controladores lógicos. Es la base del
Sequential Function Chart (SFC), un estándar internacional en 1987.

Este documento, de carácter introductorio, explica el modelo de Grafcet utilizando el modelo de


tabla de estado clásico y presenta un método para interpretar grafcets.

I. INTRODUCCIÓN
Un sistema dinámico de evento discreto (DEDS), o sistema de evento discreto, es un
sistema con un espacio de estado discreto y una evolución de estado que está
determinada por eventos. Por ejemplo, el estado de un buffer en un sistema de
fabricación es el número de partes en este buffer. Este estado cambia cuando se
produce el evento "una parte se pone en el búfer" o "se saca una parte del búfer". Un
sistema físico dinámico puede verse como un sistema dinámico variable continuo o
como un sistema de evento discreto, según el objetivo del modelo. Por ejemplo, si el
estado de un tanque es el nivel de líquido en este tanque, el modelo correspondiente
es un sistema variable continuo. Sin embargo, este tanque se puede modelar como un
sistema de evento discreto, si consideramos que puede tener solo tres estados: vacío,
entre vacío y lleno, y lleno.
Básicamente, un controlador lógico es un sistema de eventos discretos cuyo propósito
es controlar el comportamiento de un proceso que es en sí mismo (visto como) un
sistema de eventos discretos, teniendo en cuenta el estado de este proceso y otra
información proveniente de un operador o de un otros sistemas Esto se ilustra en la
figura 1, donde x, y, z y W son variables o vectores booleanos.
Fig 1. El controlador lógico y su entorno.

El control lógico es relevante para los procesos cuyas medidas y acciones son de tipo lógico. Eso
significa que estas medidas y acciones solo pueden tomar dos valores (por ejemplo, un contacto
puede ser abierto o cerrado, una temperatura ha alcanzado algún umbral o no). La medida es
ingresada, y la acción es emitida por un controlador lógico. El objetivo de un controlador lógico es
reaccionar a los cambios de entrada modificando el estado de salida en función de las reglas de
control. El diseñador debe especificar estas reglas de control.

Antes de la introducción del primer controlador lógico programable (PLC) en 1969 [13], el control
lógico se implementaba mediante lógica de cableado. Se utilizaron relés electromagnéticos, relés
neumáticos y compuertas y flip-flops electrónicos. Con estas tecnologías, los problemas complejos
son difíciles de manejar, y un controlador lógico es difícil de modificar. Los primeros PLC's
trabajaron con procesadores especializados capaces de llevar a cabo operaciones lógicas. Luego,
se usaron microprocesadores de propósito general en los PLC cuando los microprocesadores se
volvieron más baratos y más potentes. Sin embargo, los PLC se diferencian de las computadoras de
uso general, ya que su hardware está diseñado para el entorno industrial. Los PLC se utilizan
ampliamente en muchos tipos de industrias: manufactura, metalurgia, química, papel, alimentos,
transporte, industrias de manipulación, etc. Hoy en día, un PLC puede manejar varios cientos de
entradas-salidas, varios PLC pueden vincularse mediante una comunicación red, y algunos PLC
pueden llevar a cabo funciones adicionales tales como cálculo y regulación. Muchos de ellos están
integrados en las máquinas de producción, de tal manera que son transparentes para los usuarios
de las máquinas.
Siempre que los controladores lógicos fueran sistemas pequeños, los modelos clásicos eran
suficientes para especificar las reglas de control lógico. Había dos tipos de modelos. El primer tipo
corresponde a los modelos habituales de circuitos secuenciales asíncronos, diagramas de estados
o tablas de estados [25], que representan los autómatas, es decir, las especificaciones
independientes de hardware y software. Tenga en cuenta que los autómatas son asíncronos
porque se consideran los sistemas de eventos discretos en tiempo continuo. El segundo tipo
corresponde a la representación como posible implementación.

La más famosa es la lógica de escalera de relés (RLL), que es una representación gráfica basada en
una analogía con sistemas de relés físicos [19]. A principios de la década de 1970, la necesidad de
describir controladores lógicos cada vez más complejos, cuya implementación sería simplificada
por el desarrollo reciente y futuro de los microprocesadores, se estaba haciendo evidente. En
términos generales, se requería representar controladores lógicos grandes con muchas entradas y
muchas salidas. Más precisamente, las necesidades fueron las siguientes:

Fig.2 Ejemplo: llenado de tanque

1. Describe la secuencia de estados de un sistema de evento discreto que puede contener un


gran número de estados.
2. Tenga en cuenta la simultaneidad (tanto para simplificar como para comprender
fácilmente), ya que algunos subsistemas pueden ser parcialmente independientes.
3. Generalmente, dado el estado del sistema, solo unas pocas entradas afectan el estado, y
solo algunas salidas pueden cambiar. Luego, describa solo el comportamiento
correspondiente a estos cambios de entrada.
4. Tener una comprensión clara del comportamiento de entrada-salida de un controlador
lógico, es decir, cuál es el control aplicado al proceso a controlar (salida del PLC) como una
función de un cambio del proceso o su entorno (entrada del PLC).

El modelo de Grafcet vino de esta necesidad. Se inspira en las redes de Petri que fueron
estudiadas a principios de los años sesenta por Petri [21]. Suponemos que el lector está
familiarizado con las redes de Petri [7], [9], [18], [20]. Las redes de Petri son una herramienta
gráfica que permite modelar el comportamiento secuencial y la concurrencia (necesidades 1 y 2).
Un lugar en una red de Petri (PN) corresponde a un componente del estado. De esto se sigue que
cuando un componente individual cambia (marca de un lugar), el estado cambia.

Entonces, uno puede "ver" qué parte del sistema cambia, y además, un número razonable de
lugares puede proporcionar la representación de un gran número de estados (el número de
marcas puede aumentar exponencialmente con el número de lugares). Además, las otras
necesidades se satisfacen en el modelo Grafcet.

Vamos a presentar ahora varios modelos con la ayuda de un ejemplo. Se usan las siguientes
anotaciones. El complemento de la variable booleana a se escribirá como a': eso significa que a' =
1 exactamente cuándo a = 0. El producto booleano (función Y) se representa como un producto (a
* b = ab = (a) (segundo)).

La suma booleana (función OR) se representa como una suma (+).

Depósito de tanques: el dispositivo en cuestión se representa en la Fig. 2. Ambos tanques se usan


de forma similar. Un símbolo romano representa un dispositivo (actuador del sensor) y un símbolo
en cursiva la variable booleana correspondiente. El tanque 1 está vacío cuando el nivel es menos
tan b1, es decir, b1 = 0, y está lleno cuando nivel es mayor que hl, es decir, hl = 1. En el estado
inicial, ambos tanques están vacíos. Si se presiona el botón m, ambos tanques se derriten abriendo
las válvulas v1 (v1 = 1 significa que la válvula V1 está abierta) y V2. Cuando un tanque está lleno,
por ejemplo, el tanque 1, el llenado se detiene (cerrando la válvula v1) y comienza a utilizarse su
contenido (abriendo la válvula W1). Cuando el tanque 1 está vacío, la válvula W1 está cerrada. El
llenado solo puede comenzar de nuevo cuando ambos tanques están vacíos y si se presiona el
botón m. Presentemos ahora esta especificación usando cuatro modelos.

Tabla de estados [3 (a)]. En esta tabla, se asocia una columna con cada estado de entrada y una fila
con cada estado interno. Un estado interno y un estado de entrada definen un estado total. El
estado inicial (señalado por una estrella) es el estado 1, que es estable para el estado de entrada
mhlhzblb2 = 00000 (representado por un círculo en el número de estado). Todas las salidas son 0
en este estado. Si m asume el valor 1, llegamos a la columna donde el estado inestable 2 (no en un
círculo) significa que se alcanzará el nuevo estado interno 2. En este estado, las salidas VI y V2
toman el valor 1. Y así sucesivamente. Un guion indica un estado total que no se puede alcanzar.
Este modelo es extremadamente detallado. En la figura 3 (a) tenemos una especificación completa
que muestra todos los estados totales, aunque no se puede acceder a algunos desde ningún
estado interno. Para sistemas más grandes, las tablas de estados se vuelven casi vacías (es decir,
muchos estados totales no son alcanzables) ya que, en general, solo unas pocas entradas pueden
cambiar cuando se ha alcanzado un estado. Este modelo es muy útil para un análisis preciso de
una pequeña parte del sistema. Sin embargo, se vuelve prácticamente inutilizable para el sistema.
¡Para 20 variables de entrada, hay más de un millón de columnas!

2) Diagrama de estado [Fig. 3 (b)]. En este modelo, un nodo se asocia con cada estado total. Por
ejemplo, el nodo 2 corresponde a los ocho estados estables totales de la segunda fila en la figura 3
(a). Cada arco está etiquetado por una variable o función booleana. La transición correspondiente
se realiza tan pronto como esta función asume el valor 1. El estado inicial se muestra con una
flecha entrante corta. En este modelo, la información es más concisa. Representamos estados
internos (no estados totales). Los cambios de entrada que no causan un cambio de estado no se
muestran necesariamente mediante bucles automáticos. Por ejemplo, las entradas m, hl y b2
pueden cambiar en el estado 3, pero dado que sus cambios no causan un cambio de estado, esta
información se omite en la figura 3 (b). La concurrencia, sin embargo, no puede ser representada
por este modelo. Esta es su principal debilidad. En nuestro ejemplo, lo que sucede con el tanque 1
es independiente de lo que sucede con el tanque 2, siempre que no estén vacíos. Este modelo que
representa un estado para todo el sistema puede volverse grande y difícil de entender cuando el
sistema está compuesto de varias partes, total o parcialmente independientes.
3) RLL [Fig. 3 (c)]. En este modelo, un escalón correspondiente a una ecuación booleana se asocia
con cada variable interna y de salida. Puede ser conveniente usar las variables de salida como
variables internas. La variable dependiente de la ecuación está representada por un círculo. Las
entradas de escalón están representadas por pares de barras paralelas verticales que representan
relés que se cierran cuando la entrada correspondiente está activa. Una línea diagonal entre las
barras significa que se usa el valor complementado de la variable. Las funciones AND y OR se
construyen colocando variables en serie y en paralelo, respectivamente. Por ejemplo, el primer
escalón en la Fig. 3 (c) corresponde a la ecuación q1 = b'1 * b'2. Entonces q1 = 1 cuando ambos
tanques están vacíos. Significa que v1 asume el valor (debido a la memorización por la variable v1
en paralelo con q1 * m) siempre que h1 = 0 (es decir, siempre que el tanque 1 no esté lleno).
En este modelo, la concurrencia puede explotarse (por ejemplo, uno puede tener v1 = v2 = 1)
incluso si no está representado gráficamente. Pero la naturaleza secuencial del comportamiento
no es evidente. Por ejemplo, para saber qué puede pasar del estado donde v1 = v2 = 1 y q1 = w1 =
w2 = 0, es necesario un análisis detallado. Esta es la principal debilidad de esta representación.
4) Grafcet [Fig. 3 (d)]. Este modelo se explicará con precisión en la Sección In. Los cuadrados
etiquetados del 1 al 6 son pasos, es decir, componentes de estados. En el momento inicial, los
pasos en el conjunto {1, 4) están activos. Entonces la transición (1) que sigue estos pasos puede
activarse tan pronto como la variable booleana m, asociada con (l), tenga el valor 1. Después de
esta activación, los pasos 2 y 5 están activos. Cuando el paso 2 está activo, el resultado VI = 1
(representado por VI escrito en un rectángulo asociado con el paso 2). Cuando el paso 2 está
activo, la transición (2) puede activarse si hl = 1. Y así sucesivamente. La concurrencia está
explícitamente representada en este modelo. Los pasos 1, 2 y 3 corresponden a los estados del
tanque 1 (vacío, durante el llenado y durante el vaciado, respectivamente) y los pasos 4, 5 y 6
corresponden a los estados del tanque 2. La secuencia de estados (o pasos activos) y las
condiciones booleanas que llevan de uno a otro son bastante evidentes (necesidad 1). Cuando el
paso 2 está activo, solo la entrada hl puede cambiar la actividad de los pasos 2 y 3,
independientemente de los otros pasos (necesidad 2) y de las otras entradas (necesidad 3).
Necesita 4 también está satisfecho y se explicará para casos más complicados en este documento.

El modelo Grafcet fue definido por un grupo francés. La mitad de los 24 signatarios del informe
final, con fecha de agosto de 1977 [l], son académicos (incluido el autor), y la mitad son de la
industria. El modelo Grafcet se ha definido brevemente en [l] y luego se detalla en [2]. En [6], [7] y
[17] se han introducido una serie de conceptos y formalismos que permiten que la definición
original se establezca de forma precisa y formalizada, para presentar este modelo de manera
coherente con el original. Definición y estricto desde un punto de vista teórico. Primero un
estándar francés, en 1987 se convirtió en uno internacional [11. Los Comités Nacionales de los
siguientes países declararon su aprobación explícita de la publicación: Australia, Bélgica, Canadá,
Checoslovaquia, Dinamarca, Egipto, Finlandia, Francia, Alemania, Italia, Japón, Holanda, Noruega,
Portugal, España, Suecia, Suiza, Turquía, Reino Unido y Yugoslavia. Básicamente, un grafcet se
comporta como una red de Petri con algunas diferencias [5], 1171, pero sobre todo, propone una
única interpretación de entradas y salidas. Este es un modelo de especificación que solo describe
la función a realizar, es decir, una máquina secuencial en el sentido matemático, libre de todo
hardware y software. El presente artículo es un documento introductorio destinado a académicos
e ingenieros de control que desean utilizar modelos formales para la especificación de
controladores lógicos. El estándar internacional Sequential Function Chart (SFC) introduce algunas
modificaciones y se presenta de una manera que enfatiza el lado práctico. Este punto se
comentará en la Sección VII.
El documento está organizado de la siguiente manera. La sección TI presenta el concepto de
condición y el concepto de evento. Las nociones básicas utilizadas en Grafcet y el algoritmo de
interpretación se presentan en la Sección III y la Sección IV, respectivamente. Las macroesquemas
y macroacciones, que son abreviaturas del Grafcet básico, se presentan en la Sección V. La Sección
VI compara el Grafcet con otros modelos, y la Sección V1 concluye el artículo.

You might also like