我有一个程序,可以通过网络连接从PLC读取数据点。
例外
"从类型'计数器'到类型'整数'的转换无效">
当我尝试从艾伦布拉德利 PLC-5 上的 C 文件读取时发生。
为 C 文件列出的类型是计数器,但在 Visual Basic 中没有计数器类型。
在 Visual Basic 中是否有"计数器"类型可以接受的类型?将函数的返回类型更改为Counter
或CounterSample
无济于事。
这是相关函数的代码。我正在使用自动化解决方案 Ascomm.net 驱动程序。
Public Function readValueCounter(item As Item, num As Integer) As Integer
Try
'read in the data for ASComm object instances
item.Read()
'return value
Return item.Values(num)
Catch ex As Exception
'report error
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Return 0
End Try
End Function
我不熟悉您正在使用的驱动程序,但听起来您正在尝试让它读取计数器的基址 - 例如 C5:0,但该函数正在寻找整数标签,而不是完整的计数器结构。
我怀疑您正在尝试返回预设或Accum值。
尝试添加 。行政协调会或 .PRE,以查看这是否会返回没有 out 错误的值。(即:C5:0.ACC(