Thread Content
Este tópico foi editado pela última vez por jerry512158 em 26/01/2016, às 11:22.
Sub onclick{byval item} V_Dis “main.画面窗口2:main01”, “1#阴床 反洗进水阀”, 5, 1, “Anion_FJ2.”, 1 end sub
***************************************************************************
Sub V_Dis(Byval Pic, Byval Name, Byval Num, Byval V_Num, Byval Prefix, Byval Mode)
Dim a, b, c
HMIRuntime.Tags(“Dev_Num”).Write Num
HMIRuntime.Tags(“Dev_V_Num”).Write V_Num
Set a = HMIRuntime.Screens(Pic).ScreenItems(“阀窗口”)
a.CaptionText = Name
a.TagPrefix = Prefix
a.Visible = False
a.Visible = True
a.PictureName = “操作窗口-阀”
c = Pic & “.阀窗口:操作窗口-阀”
Set b = HMIRuntime.Screens(c).ScreenItems(“Mode”)
If Mode = 1 Then b.Visible = True Else b.Visible = False End If
End Sub
Espero que alguém possa explicar detalhadamente cada linha de código. Muito obrigado!
Vou tentar responder: “sub onclick(byval item)” é um evento de clique no controle, que executa uma ação personalizada chamada V_Dis. A ação V_Dis possui seis parâmetros: 1. Primeiro, atribua o valor 5 à variável WinCC Dev_Num. 2. Em segundo lugar, atribua o valor 1 à variável WinCC Dev_V_Num. 3. Terceiro, defina a variável interna “a” como sendo o objeto “Janela do Válvula” na tela Pic. 4. Quarto, faça com que a barra de título do objeto “Janela do Válvula” mostre “1#Leito Aniónico – Válvula de Entrada de Água”. 5. Quinto, defina o prefixo da variável do objeto “Janela do Válvula” como “Anion_FJ2.” 6. Sexto, torne o objeto “Janela do Válvula” invisível (oculte-o). 7. Sétimo, torne o objeto “Janela do Válvula” visível novamente. 8. Oitavo, defina a imagem exibida no objeto “Janela do Válvula” como “Janela de Operação – Válvula”. 9. Nono, defina a variável de texto interna “c” como “main.Janela de Tela 2:main01.Janela do Válvula:Janela de Operação – Válvula”. 10. Décimo, defina a variável interna “b” como sendo o valor “mode” da janela main01 na tela main. 11. Isso controla se o controle “mode” será visível ou não. O WinCC possui uma tela principal, chamada “main”. Nessa tela principal, existe um objeto de janela chamado “Janela de Tela 2”. Dentro desse objeto de janela, há outra tela, chamada “main02”. Na tela main02, existe outro objeto de janela, chamado “Janela de Válvula”. Essa “Janela de Válvula” é usada para controlar as válvulas por meio da interação homem-máquina. Dentro dela, há também uma tela chamada “Janela de Operação – Válvula”. O V_DIs transmite um prefixo de variável chamado “Anion_FJ2”; esse prefixo indica qual válvula deve ser controlada, através do parâmetro Name. No exemplo dado, trata-se do controle da “Válvula de Entrada de Água para Limpeza do Reator 1#”. Na tela “Janela de Operação – Válvula”, existe um controle chamado “Mode”. A visibilidade desse controle depende se a última função do V_Dis está visível ou não. Os prefixos das variáveis são definidos com base no método de controle dos dispositivos do mesmo tipo; os nomes das variáveis são semelhantes. Por exemplo, as válvulas recebem nomes como ***_remote, ***_Ready, ***_Running, ***_Start, etc. O “***” no início serve como prefixo. Neste caso, a página “Janela de Operação da Válvula” pode ser usada como modelo para ser chamada repetidamente. A cada vez, basta passar um prefixo diferente para o objeto da janela “Janela da Válvula”. Espero poder ajudar.
Obrigado. Há dois pontos que não entendi: 1. Em V_Dis “main. Janela de tela 2: main01”, “1#Válvula de entrada para lavagem do resíduo aniónico”, 5, 1, “Anion_FJ2.”, qual é a função das duas atribuições feitas nesse valor? (1. Primeiro, a variável WinCC Dev_Num é atribuída o valor 5; 2. Depois, a variável WinCC Dev_V_Num é atribuída o valor 1). 2. E quanto ao último “1”?
Este tópico foi editado pela última vez por Sichuan Yikong Xinshou em 26/01/2016, às 15:48. Como não é possível visualizar todo o projeto, suponho que dev_num seja o número do dispositivo, com valor 5. Já dev_v_num, acho que representa o número da válvula no dispositivo, sendo o valor 1. Esses dois números provavelmente serão utilizados no controle do painel. O último 1 controla se o controle de modo fica visível ou não. Minha suposição é que esse “modo” representa informações como manual/automático ou normal/danificado, etc. Se for 1, ele será exibido; se for 0, ficará oculto.