Thread Content
この投稿は最後にjerry512158によって2016-1-26 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
どなたか詳しく各行を説明していただけると大変助かります。感謝します
答えてみましょう:sub onclick(byval item)はコントロールのクリックイベントで、カスタムアクションV_Disを実行します。 V_Disの動作には6つのパラメータがあります:1.まず第一に、wincc変数Dev_Numに5を代入します。2.第二に、Wincc変数Dev_V_Numに1を代入します。3.第三に、内部変数aを画面Picのオブジェクト「バルブウィンドウ」に設定します。4.第四に、画面Picのオブジェクト「バルブウィンドウ」のタイトルバーに「1#陰床 反洗进水阀」と表示させます。5.第五に、画面Picのオブジェクト「バルブウィンドウ」の変数プレフィックスを「Anion_FJ2.」に設定します。6.第六に、画面Picのオブジェクト「バルブウィンドウ」を非表示にします。7.第七に、画面Picのオブジェクト「バルブウィンドウ」を表示させます。8.第八に、画面Picのオブジェクト「バルブウィンドウ」に表示される画面を「操作窓口-バルブ」に設定します。9.第九に、内部文字列変数cを「main.画面窓口2:main01.バルブウィンドウ:操作窓口-バルブ」とします。10.第十に、内部変数bを、画面mainの画面窓口オブジェクト内のmain01画面の「mode」に設定します。11.modeコントロールの表示/非表示を制御します。 WinCCにはメイン画面であるmainがあり、このメイン画面上には「画面ウィンドウオブジェクト2」というものがあります。このウィンドウオブジェクトの中には画面main02があり、main02上には「バルブウィンドウ」という名前の画面ウィンドウオブジェクトがあります。この「バルブウィンドウ」は、人間と機械の間の操作を通じてバルブを制御するためのもので、その中には「操作ウィンドウ-バルブ」という画面もあります。V_DIsは変数プレフィックスとして「Anion_FJ2」を送信してきます。具体的にどのバルブを制御するかは、Nameというパラメータによって決まり、この例では「1#陰床 反洗进水阀」を制御します。「操作ウィンドウ-バルブ」上には「Mode」というコントロール要素があり、このコントロール要素が表示されるかどうかは、V_Disの最後の関数が表示されるかどうかによって決まります。 変数のプレフィックスは、同種の機器の制御方法に基づいて決定され、変数名も類似しています。例えば、バルブは一律に***_remote、***_Ready、***_Running、***_Startなどと名付けられ、先頭の***がプレフィックスとなります。この例では、「操作ウィンドウバルブ」ページをテンプレートとして繰り返し利用でき、毎回画面フォームオブジェクト「バルブウィンドウ」に異なるプレフィックスを渡すだけです。 お役に立てれば幸いです。
ありがとうございます。2つ理解できない点があります。
1. V_Dis「main.画面ウィンドウ2:main01」、「1#陰床反洗进水弁」、5、1、「Anion_FJ2.」の中で、2つの代入にはどのような意味があるのでしょうか?
(1.まず第一段階でWinCC変数Dev_Numに5を代入し、2.第二段階でWinCC変数Dev_V_Numに1を代入する)
2.最後の1は何でしょうか?
この投稿は最後に、四川仪控初心者によって2016年1月26日15時48分に編集されました。プロジェクト全体が見えないため、dev_numは装置の識別番号であり、値は5と推測します。dev_v_numは装置内のバルブの識別番号で、番号は1だと思われます。これら2つの番号は、パネル操作時に参照されるはずです。最後の1は、modeコントロールを表示するかどうかを制御するものです。個人的には、このmodeというのは手動/自動や正常/故障といったテキストの表示であり、1の場合は表示され、0の場合は非表示になるのだと思います。