我有一个程序通过网络连接从PLC读取数据点。
例外
当我尝试从Allen Bradley PLC-5上的C文件中读取时发生"从'计数器'转换输入'整数'无效"
。
为C文件列出的类型是Counter,但Visual Basic中没有计数器类型
是否有任何类型的"计数器"类型将在Visual Basic中接受?将函数的返回类型更改为Counter
或CounterSample
并没有帮助。
以下是相关功能的代码。我使用的是Automated Solutions 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
答案 0 :(得分:0)
我不熟悉您正在使用的驱动程序,但听起来您正试图让它读取计数器的基地址 - 比如C5:0,但该函数正在查找整数标记,而不是完整的柜台结构。
我怀疑您正在尝试返回Preset或Accum值。
尝试将.ACC或.PRE添加到您的代码中,看看是否会返回没有输出错误的值。 (即:C5:0.ACC)