前言:
当前咱们对“js list add”大约比较看重,各位老铁们都需要学习一些“js list add”的相关知识。那么小编在网络上汇集了一些关于“js list add””的相关内容,希望姐妹们能喜欢,姐妹们一起来学习一下吧!很多人都知道西门子PLC有连接数的限制,下图是S7-1200的连接资源:
说实话,我是看得不太明白的,于是,有了下面的测试,测试基于xktComm库,我计划按顺序开启N个连接,然后每个连接在连接成功后再进行一次数据读取,确认通信正常,观察下N的限制是多少?
于是有了下面的代码:
Console.WriteLine("多连接通信测试开始"); List<SiemensS7> SiemensList = new List<SiemensS7>(); for (int j = 1; j <= 40; j++) { Thread.Sleep(500); Console.WriteLine($"第{j}次连接测试" + "\r"); SiemensS7 objS7 = new SiemensS7(); if (objS7.Connect(IpAddress, CPU_Type.S71200, 0, 0)) { Console.WriteLine($"第{j}次连接成功"); object value = objS7.Read("MD0", xktComm.Common.VarType.DInt); if (value != null) { SiemensList.Add(objS7); Console.WriteLine($"第{j}次通信测试读取成功:" + value.ToString()); } else { Console.WriteLine($"第{j}次通信测试读取失败"); } } else { Console.WriteLine($"第{j}次连接失败"); } } while (true) { Console.WriteLine("请输入你要测试的连接索引,输入100表示退出"); int index = Convert.ToInt32(Console.ReadLine()); if (index != 100) { if (SiemensList.Count >= index) { object res = SiemensList[index - 1].Read("MD0", xktComm.Common.VarType.DInt); Console.WriteLine("读取结果:" + res.ToString()); } else { continue; } } else { break; } } Console.WriteLine("多连接通信测试完成");
为了保证连接始终可用,我增加了一个二次测试,就是将所有的连接都放到一个集合中,后续可用随意测试某个连接是否仍然可用。
测试结果如下:
从结果上,我们可以看到我这个PLC可以支持36个上位机连接。
后面我又做了一个测试,将博图打开,切换到在线,再次测试,发现只能支持35个上位机连接了,这个是否可以说明一点,上位机和博图走的是同一种连接?
标签: #js list add