首页 上一页 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。该怎么做,请大家帮忙了!!十分着急!!



顺行天下

  • 精华:0帖
  • 求助:1帖
  • 帖子:10帖 | 265回
  • 年度积分:14
  • 历史总积分:912
  • 注册:2004年4月05日
发表于:2009-11-03 14:21:26
1楼
我相信PLC之间有共同的协议可以通讯的,你找找吧,实在不行就用自由口自己定协议通讯。www.tianyue-china.com

多此一举

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 61回
  • 年度积分:0
  • 历史总积分:128
  • 注册:2005年4月28日
发表于:2009-11-05 20:40:39
2楼

这几个PLC品牌之间,没有共同的协议,只能自己编程。或者加modbus、profibus通讯模块(具体有没有模块要查选型手册)

關羽

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

vaivai

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 125回
  • 年度积分:0
  • 历史总积分:218
  • 注册:2008年8月13日
发表于:2009-12-28 11:33:43
4楼

无协议,就是自己定义协议,在整厂自动化的改造中应用过。

你还可以将协议都汇总到计算机上进行处理,因为PLC编通讯协议相对复杂一点。可以采用赛远SY-NC2将PLC的口直接转换为TCP/IP口,然后在计算机上转换汇总。

如果大家数据格式设置一样,可以采用赛远的SY-WT6进行无线通讯连接,在各种场合,避免有线的方式连接错误或者不便。

详细的可以咨询QQ:784979763

關羽

  • [版主]
  • 精华:5帖
  • 求助:21帖
  • 帖子:728帖 | 5626回
  • 年度积分:78
  • 历史总积分:82244
  • 注册:2004年5月28日
发表于:2011-02-20 17:47:35
5楼
不能用上位机啊!!PLC之间通信的

miy_gongkong

  • 精华:0帖
  • 求助:2帖
  • 帖子:23帖 | 3065回
  • 年度积分:0
  • 历史总积分:12421
  • 注册:2008年9月18日
发表于:2011-02-20 20:38:37
6楼

用无协议可以通讯啊, 仔细看看指令帮助手册 ,  不同的品牌 PLC 之间,  用ASCII 协议肯定能通讯, 但是,用MODBUS 协议就不一定支持了,主要是牵扯到CRC校验;

 

ye_w

  • 精华:21帖
  • 求助:1帖
  • 帖子:69帖 | 5217回
  • 年度积分:0
  • 历史总积分:46739
  • 注册:2002年4月17日
发表于:2011-02-20 21:07:18
7楼
这也是多个品牌之间通讯的瓶颈所在,目前只能考虑使用自由口协议或modbus来尝试。其他的咱不太好办

子文2

  • 精华:0帖
  • 求助:1帖
  • 帖子:18帖 | 502回
  • 年度积分:0
  • 历史总积分:837
  • 注册:2006年5月17日
发表于:2011-02-20 23:03:53
8楼
6楼,MODBUS协议,一定有CRC吧,能不能省了这一部分啊

wyb2866255

  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2011-02-21 00:17:56
9楼
不用现有的各种通讯协议,只用PLC普通的 I / O口,采用串口传递模式,通过编程也可以实现不同品牌的PLC之间数据传递。也可实现PLC与非PLC设备通讯,我搞过自制的键盘组件可与PLC的2个输入口相连,实现将置数值传入PLC,搞过显示与打印组件,与PLC的 I / O 相连,实现数据显示及打印的。都是用普通 I / O 口,通过编程,实现串行数据通讯的。

robotH

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 688回
  • 年度积分:0
  • 历史总积分:2433
  • 注册:2004年10月14日
发表于:2011-02-21 09:24:54
10楼

9楼讲的实际上是用PLC的IO口模拟SPI总线。这要求输出必须为晶体管输出。但受IO口反映速度的限制,效率不高。

在楼主提到的PLC中,S7-200和松下FP-X都指令支持MODBUS RTU,三菱和OMRON可能不支持,但可以用RS指令编程实现。CRC校验有现成的例子,网上可以搜到。所以最好的方案还是通过MODBUS RTU进行通讯。

miy_gongkong

  • 精华:0帖
  • 求助:2帖
  • 帖子:23帖 | 3065回
  • 年度积分:0
  • 历史总积分:12421
  • 注册:2008年9月18日
发表于:2011-02-21 13:55:30
11楼

引用子文2 的回复内容:6楼,MODBUS协议,一定有CRC吧,能不能省了这一部分啊



modbus  不一定都需要CRC校验, 

modbos  一共分两种协议,  第一种 就是带 CRC校验的协议; 一般情况下 , 数据传输效率高,

              而 第二种就是 基于ASCII 码的  MODBUS 协议,也就是把数据转换成ASCII码 ,再发送,采用LRC 校验; 举个简单的例子,传送一个整数 12345 , 用ASCII码表示,就得传送5个字节, 每一个ASCII码字符占用一个字节, 但采用第一种就只需用2个字节,做为一个整数传送;    当然第二种也可以做CRC校验;


robotH

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 688回
  • 年度积分:0
  • 历史总积分:2433
  • 注册:2004年10月14日
发表于:2011-02-21 15:26:34
12楼
CRC校验的出错概率极低,更加可靠。RTU效率高,是ASCII的两倍。单纯的数值传输建议使用RTU。

關羽

  • [版主]
  • 精华:5帖
  • 求助:21帖
  • 帖子:728帖 | 5626回
  • 年度积分:78
  • 历史总积分:82244
  • 注册:2004年5月28日
发表于:2011-03-03 23:26:35
13楼
西门子200PLC做MODBUS RTU主站或者从站都没有问题 松下AFPX-C40R做MODBUS RTU主站和从站也没问题 欧姆龙CP1E-N40R只支持MODBUS RTU主站 而不支持从站 而且用自定义协议来编写MODBUS RTU协议 牵扯一个 开始和结束的3.5字符时间问题 PLC定时最小的单位只有1ms,精度不是很好,而三菱FX2N的PLC 就更别说了 MODBUS RTU主站和从站都不支持的!其实MODBUS ASCII倒是不错 有起始符 结束符 这个PLC容易判断 自由协议我到是编写出来了 但是感觉不是很好!!

winter938

  • 精华:1帖
  • 求助:0帖
  • 帖子:55帖 | 945回
  • 年度积分:0
  • 历史总积分:3418
  • 注册:2005年6月12日
发表于:2011-03-04 09:36:22
14楼
主要是MODBUS RTU 3.5字符间隔检测的问题.CRC校验码应该都算得了,所以200才是真正的自由通讯,它提供了检测手段

關羽

  • [版主]
  • 精华:5帖
  • 求助:21帖
  • 帖子:728帖 | 5626回
  • 年度积分:78
  • 历史总积分:82244
  • 注册:2004年5月28日
发表于:2011-03-05 23:21:44
15楼
引用winter938 的回复内容:主要是MODBUS RTU 3.5字符间隔检测的问题.CRC校验码应该都算得了,所以200才是真正的自由通讯,它提供了检测手段

请问西门子提供什么检测手段了?

winter938

  • 精华:1帖
  • 求助:0帖
  • 帖子:55帖 | 945回
  • 年度积分:0
  • 历史总积分:3418
  • 注册:2005年6月12日
发表于:2011-03-06 00:32:51
16楼
就是空闲线检测定义接收起始条件,在RTU模式接收响应时有用,ASCII模式有固定的起止符FX2N也可以收发

關羽

  • [版主]
  • 精华:5帖
  • 求助:21帖
  • 帖子:728帖 | 5626回
  • 年度积分:78
  • 历史总积分:82244
  • 注册:2004年5月28日
发表于:2011-03-08 11:56:57
17楼
RTU模式,三菱真不好判断的!定时器最小单位也就1毫秒啊,不够精确!

miy_gongkong

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

引用關羽 的回复内容:RTU模式,三菱真不好判断的!定时器最小单位也就1毫秒啊,不够精确!


1毫秒 还不够精确么?  不解?  很多PLC 都是 1毫秒!

關羽

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

引用關羽 的回复内容:RTU模式,三菱真不好判断的!定时器最小单位也就1毫秒啊,不够精确!


 

1毫秒 还不够精确么?  不解?  很多PLC 都是 1毫秒!

说错了 PLC一般1毫秒的定时器很少吧 而且很多都是累积型的 不太好用
要是有1微秒的定时器更好用啊!



winter938

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

热门招聘
相关主题

官方公众号

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