plc通信循环问题 点击:583 | 回复:8



clxsmart

    
  • 精华:0帖
  • 求助:4帖
  • 帖子:33帖 | 568回
  • 年度积分:37
  • 历史总积分:3010
  • 注册:2003年3月25日
发表于:2013-04-13 17:55:30
楼主

在PLC中用串口和设备通信,串口发送时每次只能取得一个变量值,现在有多个变量,要一直查询更新,这个循环发送接收怎么做?



楼主最近还看过



ye_w

  • 精华:21帖
  • 求助:1帖
  • 帖子:69帖 | 5217回
  • 年度积分:0
  • 历史总积分:46739
  • 注册:2002年4月17日
发表于:2013-04-13 17:58:22
1楼

可以定时周期查询,也可以考虑如果需要查询哪个,就优先查询需要的变量

蓝天月亮

  • 精华:0帖
  • 求助:0帖
  • 帖子:37帖 | 1447回
  • 年度积分:0
  • 历史总积分:3594
  • 注册:2007年10月22日
发表于:2013-04-13 18:16:16
2楼

那肯定是一个一个的发,发完了再从第一个来再发,这样一直循环。

从未被超越

  • 精华:3帖
  • 求助:11帖
  • 帖子:108帖 | 1584回
  • 年度积分:1
  • 历史总积分:12293
  • 注册:2011年12月09日
发表于:2013-04-13 20:12:41
3楼

加入到DB模块里面,做好通讯模块,写明通讯的地址和点数即可通讯发送,但必须分开模拟量和数字量的。有4字节和2字节的。

clxsmart

  • 精华:0帖
  • 求助:4帖
  • 帖子:33帖 | 568回
  • 年度积分:37
  • 历史总积分:3010
  • 注册:2003年3月25日
发表于:2013-04-13 20:31:56
4楼

下个数据常和前一个变量的数据前后跳变,接收缓冲区该怎么处理?

一生追寻

  • 精华:0帖
  • 求助:1帖
  • 帖子:4帖 | 49回
  • 年度积分:0
  • 历史总积分:350
  • 注册:2005年3月27日
发表于:2013-04-14 12:05:51
5楼

做一个计数循环,例如有5个变量需要查询,100ms通讯一次,使用一个计数器,查询一次计数器增加1,计数器当前值=0时,查询变量1,计数器当前值=1时,查询变量2,依次类推,当检测到计数器当前值>4时,将计数器清零,如此循环,就可以了。

mlqwain

  • 精华:0帖
  • 求助:3帖
  • 帖子:4帖 | 85回
  • 年度积分:0
  • 历史总积分:301
  • 注册:2010年4月10日
发表于:2013-04-16 16:36:21
6楼

你是什么和什么通信

接受完再立即发送,如此循环

miy_gongkong

  • 精华:0帖
  • 求助:2帖
  • 帖子:23帖 | 3065回
  • 年度积分:0
  • 历史总积分:12421
  • 注册:2008年9月18日
发表于:2013-04-17 09:22:52
7楼

回复内容:

对: mlqwain  你是什么和什么通信接受完再立即发送,如此循环 内容的回复!


 首先把通讯的变量 整合到一个数据帧(打包)里面, 然后循环读取,即可;

clxsmart

  • 精华:0帖
  • 求助:4帖
  • 帖子:33帖 | 568回
  • 年度积分:37
  • 历史总积分:3010
  • 注册:2003年3月25日
发表于:2013-04-17 19:39:45
8楼

数据不能打包,每次只能查询到一个,

PLC是松下FP C60T
外部设备是单片机核心的机器人控制板
PLC是主,单片机是从

PLC和外部设备串口通讯
1.plc运行后要一直查询外部设备的N个状态值,实时返回给PLC,每做一个串行通讯,只能获得一个状态值;
2.在运行中,如果按了操作面板上的按钮(如暂停、停止、复位按钮),PLC发一次串行代码数据让外部设备暂停、停止、复位等操作(也是通过串口来实现);


热门招聘
相关主题

官方公众号

智造工程师