我正在使用twincat.ads(twincat 3)通过vb.net应用程序进行贝克霍夫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和贝克霍夫
vb.net Beckhoff
int = Dint
short = int
....等等
所以我的结构的参数没有良好的类型
参考有类似问题的人:Twincat和VB的数据类型差异可以在Beckhoff网站上找到:https://infosys.beckhoff.com/english.php?content=../content/1033/tcsystemmanmanager/basics/tcsysmgr_datatypecomparison.htm&htm&htm& add =
twincat使用IEC61131-3标准。