我正在使用 TwinCAT.Ads (TwinCAT 3) 通过 vb.net 应用程序进行 Beckhoff plc 通信。应用程序正在读取和写入一些 PLC 变量。我需要写一个结构数组。
我的结构:
Friend Structure Struct_Recette
Dim nNumProg As Integer ' Programme associated
Dim nNumZone As Integer ' Zone
Dim nNumManifold As Integer ' Manifold
Dim nNumRallonge As Integer ' Rallonge
Dim nNumSaphir As Integer ' Saphir
Dim nNumMors As Integer ' Mors
End Structure
我的PLC:
valTabRecette: ARRAY [0..15] OF Struct_Recette;
我的代码:
Friend Sub ValidationMPodeProd(sender As Object, e As EventArgs) Handles btnValidProd.Click
Dim valTabRecette(0 To 15) As Struct_Recette
'Some code to fill the structs
ADS.WriteAny(PLCHandle, valTabRecette)
End If
End Sub
启动此程序时出现错误:
0x705 parameter size not correct
我解决了问题:
vb.net 和 Beckhoff 的类型不一样
vb.net Beckhoff
int = Dint
short = int
....ETC
所以我的结构的参数不是好的类型