各位有没有做过AB PLC的OPC数据通讯软件?我现在使用RSLinx来组态AB PLC的OPC服务,使用c#来编写界面数据采集软件,动态链接库是RsiOPCAuto.dll。但使用批量读功能SyncRead函数时,总是提示出错,单个读写又没什么问题,特来请教这方面的高手。
grp = grps.Item("ReadParaS1");
int counts = grp.OPCItems.Count;
Array svHandles = Array.CreateInstance(typeof(Int32), grp.OPCItems.Count);
Array er = Array.CreateInstance(typeof(Int32), counts);
Array v = Array.CreateInstance(typeof(object), counts);
object q = new object(), t = new object();
Int32 hd;
for (int i = 0; i < counts; ++i)
{
hd = (Int32)grp.OPCItems.Item(opcPrefix + readParaPrefix + "1【" + i.ToString() + "】").ServerHandle;
svHandles.SetValue(hd, i);
}
//在这一行出错,提示“值不在预期的范围内”。
grp.SyncRead((short)RsiOPCAuto.OPCDataSource.OPCCache, counts, ref svHandles, out v, out er, out q, out t);
楼主最近还看过
免费提供OPC服务器开发工具256点。详见http://blog.sina.com.cn/s/blog_75a310880100zxy3.html
南京迈思德电气自动化有限公司自主开发的OPCDA TOOLKIT 256点免费发布。