独自の 2D バーコードを持つパーツを持つ SQL テーブルがあります。同じ部品が複数行ある場合があります。各行には、Date_Time スタンプを持つ列があります。
必要なのは、最新のパーツ データを取得し、列の 1 つを表示して、その値が INT 1 であるかどうかを確認することです。
以下の例: 部品「5」の最新のタイムスタンプを検索し、「PartStatusSt1」が「1」であるかどうかを確認します
これが私のクエリです:
"select * from [AppsData].[dbo].[OilPumpCoverTest] where [2DMatrix] like '" & HMIRuntime.Tags("2DMatrix").Read(1) & "'"
次に、列名「PartStatusSt1」を確認し、以下で説明するようにその INT 値を WinCC タグに移動する必要があります。
HMIRuntime.Tags("Sql_Station1_Status").Write
Recordset.Fields("PartStatusSt1").Value,1
上記のコードは機能しますが、(2DMatrix を介して) 同じパーツの複数の行がある場合、パーツ データのランダムな行を取得します。Date_Time スタンプごとに最新のデータを取得する必要があります。
注: 私のコードは VBS 経由で WinCC にあります。
助けてくれてありがとう!