通过 vb.net 应用程序使用 TwinCAT.Ads 编写结构数组
Write array of struct using TwinCAT.Ads through vb.net application
我正在使用 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
我的公司:
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
..等等
所以我的结构体的参数类型不对
给遇到类似问题的朋友参考:
TwinCAT 和 VB 的数据类型差异可以在 Beckhoff 网站上找到:
https://infosys.beckhoff.com/english.php?content=../content/1033/tcsystemmanager/basics/TcSysMgr_DatatypeComparison.htm&id=
TwinCAT 使用 IEC61131-3 标准。
我正在使用 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
我的公司:
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
..等等
所以我的结构体的参数类型不对
给遇到类似问题的朋友参考: TwinCAT 和 VB 的数据类型差异可以在 Beckhoff 网站上找到: https://infosys.beckhoff.com/english.php?content=../content/1033/tcsystemmanager/basics/TcSysMgr_DatatypeComparison.htm&id=
TwinCAT 使用 IEC61131-3 标准。