怎么设计利用socket读取PLC信息

午餐已过 2016-07-24 10:03:01
有个项目要实时读取PLC的每个I点的状态,我现在的做法是周期查询所有点的总数按照点所在IP来排序,for循环50个点,50个点的读取,如果都为一个IP那么将50个点信息组成一个list传给一个线程建立一个socket去for循环读取每个点的状态,如果为多个IP就建立多个线程去读。这样一个点从建立socket连接到读到状态要700ms左右,如果连续读,第二个点用250ms左右就可以。这个模式目前用1000个点测试,50个点一循环要用13秒多,如果改为15个点是8秒多,但是还是不能满足需求。之前想每个点都建立socket,但是同一个IP同时建立socket70多个点时PLC就报错了。我接触JAVA开发没多久,所以设计的肯定有问题,希望大家帮忙想想怎么设计能大幅度缩短时间。
...全文
863 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
埃和智能 2019-05-28
  • 打赏
  • 举报
回复
可以引用专门的PLC通讯组件,建立多个连接,多线程实现数据采集:
http://blog.sina.com.cn/s/blog_16d7d3ecb0102x1z5.html
午餐已过 2016-07-24
  • 打赏
  • 举报
回复
没人回答吗?

62,625

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧