segunda-feira, 11 de outubro de 2010

Visual Basic.Net 2008 (Simulador de PLC 1)



















Código do programa em VB. net:

Public Class Form1
'criar quatro variáveis de entrada do tipo boolean
Dim entrada_zero As Boolean
Dim entrada_um As Boolean
Dim entrada_dois As Boolean
Dim entrada_tres As Boolean

'criar uma variável de saída do tipo boolean
Dim saída_zero As Boolean

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'encrementar a variável entrada_zero
entrada_zero = entrada_zero + 1
'a propriedade text do button1 é igual à variável
Button1.Text = entrada_zero
'se a variável for igual a dois então forçar a zero
If entrada_zero = 2 Then
entrada_zero = 0
End If
'a propriedade text da label1 é igual ao resultado das multiplicações lógicas
Label1.Text = entrada_zero And entrada_um And entrada_dois And entrada_tres
End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Inicializar variáveis no carregamento da janela
entrada_zero = False
entrada_um = False
entrada_dois = False
entrada_tres = False
Button1.Text = entrada_zero
Button2.Text = entrada_um
Button3.Text = entrada_dois
Button4.Text = entrada_tres
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
entrada_um = entrada_um + 1
Button2.Text = entrada_um
If entrada_um = 2 Then
entrada_um = 0
End If
Label1.Text = entrada_zero And entrada_um And entrada_dois And entrada_tres
End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
entrada_dois = entrada_dois + 1
Button3.Text = entrada_dois
If entrada_dois = 2 Then
entrada_dois = 0
End If
Label1.Text = entrada_zero And entrada_um And entrada_dois And entrada_tres
End Sub

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
entrada_tres = entrada_tres + 1
Button4.Text = entrada_tres
If entrada_tres = 2 Then
entrada_tres = 0
End If
Label1.Text = entrada_zero And entrada_um And entrada_dois And entrada_tres
End Sub
End Class

COMO FUNCIONA:
O objectivo do programa é simular o funcionamento de um pequeno PLC de quatro entradas digitais e uma saída digital. O estado lógico da saída, será verdadeiro (true) ou igual há (1 lógico), apenas se todas as entradas tiverem o estado lógico verdadeiro (true) ou (1 lógico).
As entradas do PLC (I0,I1,I2,I3), foram representadas por botões (button1,2,3,4)e a saída (Q0) é representada por uma label1, que são objectos normais da programação em ambiente Windows.
No início do programa, são criadas quatro variáveis de entrada :entrada_zero, entrada_um, entrada_dois e entrada_tres e uma variável de saída: saida_zero.
Essas variáveis são inicializadas no momento de carregamento da janela (evento load).
Nesse momento, as propriedades text dos quatro butões são também inicializadas com o valor da respectiva variável...
Código:
entrada_zero = False
entrada_um = False
entrada_dois = False
entrada_tres = False
Button1.Text = entrada_zero
Button2.Text = entrada_um
Button3.Text = entrada_dois
Button4.Text = entrada_tres
No evento Click de cada botão, a respectiva variável é incrementada em uma unidade e o estado da variável, aparece na propriedade text do respectivo botão.
Quando a variável chega ao valor dois, é forçada à zero...
Código:
entrada_zero = entrada_zero + 1
Button1.Text = entrada_zero
If entrada_zero = 2 Then
entrada_zero = 0
End If
No fim, atribui-se à propriedade text da label1 o resultado da equação (multiplicação lógica) das variáveis de entrada...
Código:
Label1.Text = entrada_zero And entrada_um And entrada_dois And entrada_tres
NOTA:Se prestou atenção,o nosso modesto PLC, comportou-se como uma porta lógica AND de quatro entradas e uma saída.
Num próximo artigo, vamos substituir os botões por interruptores e a saída por um relé.