首页 上一页 1 2 下一页 尾页

PLC无协议通讯求助 点击:2936 | 回复:29



關羽

    
  • [版主]
  • 精华:5帖
  • 求助:21帖
  • 帖子:728帖 | 5626回
  • 年度积分:78
  • 历史总积分:82244
  • 注册:2004年5月28日
发表于:2009-11-03 12:17:26
楼主
PLC无协议通讯求助,大家好:我请假一个问题,我打算用三菱FX1N系列PLC(FX1N-40) 西门子S7-200系列PLC(CPU226) 欧姆龙CPM2A型PLC(CPM2A-40) 松下FP-X系列PLC(FP-X 40)做无协议通讯从而进行交换数据(只交换输入 输出),请问可行吗?下来就是想问问,除了无协议通讯方式之外,其他的什么通讯方式也可以呢?谢谢大家了!注:主站可以用西门子的CPU226 ,从站就是其他不同品牌的PLC。该怎么做,请大家帮忙了!!十分着急!!



關羽

  • [版主]
  • 精华:5帖
  • 求助:21帖
  • 帖子:728帖 | 5626回
  • 年度积分:78
  • 历史总积分:82244
  • 注册:2004年5月28日
发表于:2011-03-09 15:49:37
21楼
引用winter938 的回复内容:3.5字符间隔你怎么用1ms定时器去检测?精度再高的定时器你要能准确地控制得了其计时起停才行,面对通讯口的数据帧流好象只有200给了用户自由的手段,如字符接收中断加上空闲线检测就不难实现RTU模式了,当然用了200直接用MODBUS-RTU库就可以了,主,从站库都有现成的.

是这样啊,有了精确的定时器,我就定时判断啊!当接收完一个字符后,我就开始延时,如果超过3.5个字符时间,我就认为是接收完成了啊!也可以的啊!我试着用用三菱的无协议编写过MODBUS RTU 能实现01 02 03 04 05 06等功能码,然后和组态王通信,通信方式选择MODBUS RTU,然后观察组态王信息,发现每10次通信里,总有2次或3次提示通信失败。但是并不影响画面数据的刷新的!MODBUS ASCII还没有实验过,但是MODBUS ASCII有固定的起始符和停止符,应该好做!!

winter938

  • 精华:1帖
  • 求助:0帖
  • 帖子:55帖 | 945回
  • 年度积分:0
  • 历史总积分:3418
  • 注册:2005年6月12日
发表于:2011-03-09 21:56:18
22楼

当接收完一个字符后,我就开始延时

这就需要接收字符后立即产生中断在中断程序中启动计时器,而三菱的就FX1,2N而言好象做不到

winter938

  • 精华:1帖
  • 求助:0帖
  • 帖子:55帖 | 945回
  • 年度积分:0
  • 历史总积分:3418
  • 注册:2005年6月12日
发表于:2011-03-09 22:37:02
23楼
MODBUS-RTU模式一个字符1起8数1校(或0校)1停(或2停)共11BITS,9600波特率传输需要1.14583毫秒,3.5字符即4.010417毫秒,所以有个问题当波特率高于9600*4时定时已经小于1毫秒了,这时需要更高精度的定时器.

關羽

  • [版主]
  • 精华:5帖
  • 求助:21帖
  • 帖子:728帖 | 5626回
  • 年度积分:78
  • 历史总积分:82244
  • 注册:2004年5月28日
发表于:2011-03-10 12:29:42
24楼
引用winter938 的回复内容:MODBUS-RTU模式一个字符1起8数1校(或0校)1停(或2停)共11BITS,9600波特率传输需要1.14583毫秒,3.5字符即4.010417毫秒,所以有个问题当波特率高于9600*4时定时已经小于1毫秒了,这时需要更高精度的定时器.

波特率为9600还靠谱点,如果波特率太高的话就不靠谱了!不过MODBUS ASCII还是可以实现的

winter938

  • 精华:1帖
  • 求助:0帖
  • 帖子:55帖 | 945回
  • 年度积分:0
  • 历史总积分:3418
  • 注册:2005年6月12日
发表于:2011-03-10 16:11:44
25楼

200的MODBUS-RTU库都做到100多K了,只是不知道它怎么实现的

關羽

  • [版主]
  • 精华:5帖
  • 求助:21帖
  • 帖子:728帖 | 5626回
  • 年度积分:78
  • 历史总积分:82244
  • 注册:2004年5月28日
发表于:2011-03-10 20:48:01
26楼
引用winter938 的回复内容:

200的MODBUS-RTU库都做到100多K了,只是不知道它怎么实现的



问过西门子的客服,是用自由口编写实现的!他们还说如果要做MODBUS ASCII的话 就自己用自由口编写实现!

miy_gongkong

  • 精华:0帖
  • 求助:2帖
  • 帖子:23帖 | 3065回
  • 年度积分:0
  • 历史总积分:12421
  • 注册:2008年9月18日
发表于:2011-03-10 21:01:34
27楼
楼主看来是很清楚的么!

關羽

  • [版主]
  • 精华:5帖
  • 求助:21帖
  • 帖子:728帖 | 5626回
  • 年度积分:78
  • 历史总积分:82244
  • 注册:2004年5月28日
发表于:2011-03-10 21:03:08
28楼
引用miy_gongkong 的回复内容:楼主看来是很清楚的么!

前段时间搞清楚了!!

關羽

  • [版主]
  • 精华:5帖
  • 求助:21帖
  • 帖子:728帖 | 5626回
  • 年度积分:78
  • 历史总积分:82244
  • 注册:2004年5月28日
发表于:2012-02-21 00:14:52
29楼
最近又有新的认识了 MODBUS RTU啊

热门招聘
相关主题

官方公众号

智造工程师
    首页 上一页 1 2 下一页 尾页