从机忙接收资料超时 点击:1189 | 回复:16



明维修

    
  • 精华:0帖
  • 求助:1帖
  • 帖子:3帖 | 15回
  • 年度积分:0
  • 历史总积分:62
  • 注册:2007年7月13日
发表于:2013-10-27 20:33:08
楼主

都说海为PLC通讯功能不错,顺便熟悉一下编程软件。用COMM指令编了一个和日本理化RKC温控表通讯的小程序试试,在通讯仿真器中使用实际串口时出现:错误6,从机忙接收资料超时。错误6是什么意思?有谁知道麻烦说说,谢谢!!




文艺青年

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 83回
  • 年度积分:0
  • 历史总积分:212
  • 注册:2013年10月27日
发表于:2013-10-27 21:05:39
1楼

1,可能跟你接线方式不正确有关

2,海为其默认的通讯超时时间为200ms,采用排队轮询方式通讯,只要你在这200MS的时间内没有通讯上,就自动转到到下一条通讯指令去,进行下一次的通讯。我刚查了你的仪表的使用说明http://www.jx.cn/jixie/gy50/cpgyview.asp?id=45853438

我觉得是这个原因,你看下说明中的如下图说明:


有的仪表会要求读取数据或查询数据之间的时间间隔不小于500毫秒,不知道你的这个采样周期的时间是不是这个性质的,如果是那就完全不能在PLC高速的通讯效率下工作,所以跟我之前用的那个测温仪表一样。所以我之前有咨询了下海为的工作人员,所以你可以这么做:


对通讯时间间隔进行赋值,人为的对PLC高效通讯进行限制,时间的话你可以自己调试测试,但是尽量大于要求的500mS。我当时改了下就可以。八九不离十就是这个原因造成的,楼主你试试看吧!

xbg123

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 70回
  • 年度积分:2
  • 历史总积分:468
  • 注册:2013年5月08日
发表于:2013-10-28 10:00:33
2楼

你可以先用串口调试工具单独给温控器发数据看看是怎么样的。 然后用串口监视工具查看PLC与温控器通讯时发送的数据对否。

明维修

  • 精华:0帖
  • 求助:1帖
  • 帖子:3帖 | 15回
  • 年度积分:0
  • 历史总积分:62
  • 注册:2007年7月13日
发表于:2013-10-28 21:48:41
3楼

感谢2位得回复,SV141我加大到32000还是不行,首先接线肯定没问题,因为我用串口调试助手发送能返回正确数据,在通讯仿真器中发送相同通讯码就报错误6,不知何故?不知是不是仿真器的问题,现在还无法确定。

在仿真时发现改变SV141的大小,通讯速率好像没有太大变化,苦于没有真实机器试。不能进一步实验。

xbg123

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 70回
  • 年度积分:2
  • 历史总积分:468
  • 注册:2013年5月08日
发表于:2013-10-29 08:44:26
4楼

没有真实机器?那你是怎么实验的?仿真改SV141当然没用。要把程序下到PLC,然后在线监控看。你可能操作哪里出问题了。可以咨询一下海为的技术支持。

CZR技术流、追求

  • 精华:0帖
  • 求助:2帖
  • 帖子:9帖 | 72回
  • 年度积分:0
  • 历史总积分:224
  • 注册:2013年4月27日
发表于:2013-10-29 08:58:02
5楼

楼主在使用实际串口仿真的时候有把温控表接到电脑的串口上吗?

明维修

  • 精华:0帖
  • 求助:1帖
  • 帖子:3帖 | 15回
  • 年度积分:0
  • 历史总积分:62
  • 注册:2007年7月13日
发表于:2013-10-29 10:42:50
6楼

回复内容:

对: CZR技术流、追求  楼主在使用实际串口仿真的时候有把温控表接到电脑的串口上吗? 内容的回复!


 从PC机COM1口到温控表接线不动,串口调试助手能接收,通讯仿真器中显示错误6,

串口调试助手和通讯仿真器显示的发送码是一样的。

chinaplc_24

  • 精华:2帖
  • 求助:0帖
  • 帖子:15帖 | 322回
  • 年度积分:0
  • 历史总积分:1101
  • 注册:2000年12月01日
发表于:2013-10-29 11:30:50
7楼

海为PLC我使用多年,看一下我的例子能不能给你帮助,你可以看一下串口工具返回的字节个数,COMM指令的Tn端子是发送字节数而Rn端子是返回字节数,都要填正确,通讯仿真器的PC端口要指定为计算机的实际串口(就是串口调试助手使用的串口),给你看一下我测试COMM指令仿真的图,它实际使用我计算机的COM1与从机通讯。


当然,最直接的办法是与海为技术支持联系,海为网站有他们在线的QQ联系即可。

xbg123

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 70回
  • 年度积分:2
  • 历史总积分:468
  • 注册:2013年5月08日
发表于:2013-10-29 11:39:22
8楼

刚才我自己试了一下,没问题。使用真实串口接收的数据是正确的,如果还有什么疑问,请联系海为技术支持。

明维修

  • 精华:0帖
  • 求助:1帖
  • 帖子:3帖 | 15回
  • 年度积分:0
  • 历史总积分:62
  • 注册:2007年7月13日
发表于:2013-10-29 19:51:18
9楼

回复内容:

对: chinaplc_24  海为PLC我使用多年,看一下我的例子能不能给你帮助,你... 内容的回复!


 谢谢!现在问题已解决,真如你所说的:接收字节数必须正确,COMM指令端口必须选2(485通讯),这样看来用它做通讯相当方便,省掉不少麻烦事。

我有点奇怪:为什么没有通讯中常要用到的ASC码转real和real转ASC呢?这样的话还得编转换指令,有点不爽!有的话就完美了。(还是我没发现?)

文艺青年

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 83回
  • 年度积分:0
  • 历史总积分:212
  • 注册:2013年10月27日
发表于:2013-10-29 23:04:14
10楼

回复内容:

对: 明维修 回复内容:对: chinaplc_24  海为PLC我... 内容的回复!


   

xbg123

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 70回
  • 年度积分:2
  • 历史总积分:468
  • 注册:2013年5月08日
发表于:2013-10-30 08:45:22
11楼

回复内容:

对: 明维修 回复内容:对: chinaplc_24  海为PLC我... 内容的回复!


如果是ASCII的话,CTOF一条指令就转换完了。

明维修

  • 精华:0帖
  • 求助:1帖
  • 帖子:3帖 | 15回
  • 年度积分:0
  • 历史总积分:62
  • 注册:2007年7月13日
发表于:2013-10-30 20:30:16
12楼

谢谢!明白了,试了一下,下次有机会试试实体机。

明维修

  • 精华:0帖
  • 求助:1帖
  • 帖子:3帖 | 15回
  • 年度积分:0
  • 历史总积分:62
  • 注册:2007年7月13日
发表于:2013-10-30 20:37:52
13楼

BSHR的out端和CTOF的out端不是同一回事,混淆了好长时间,有点不习惯!

xbg123

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 70回
  • 年度积分:2
  • 历史总积分:468
  • 注册:2013年5月08日
发表于:2013-10-31 08:41:42
14楼

回复内容:

对: 明维修 BSHR的out端和CTOF的out端不是同一回事,混... 内容的回复!


完全不一样的两条指令。。。一个是移动指令,一个是字符转浮点指令。

chinaplc_24

  • 精华:2帖
  • 求助:0帖
  • 帖子:15帖 | 322回
  • 年度积分:0
  • 历史总积分:1101
  • 注册:2000年12月01日
发表于:2013-10-31 09:49:01
15楼

在线帮助里面所有指令都带有例子,在程序中选中指令按F1即可打开这条指令的在线帮助,按“下载”按钮就可以打开或者存储这个例子程序,例子程序都可以仿真运行,你可以马上知道这条指令的运行结果,我认为这个太人性化,太贴心了。

axl_ray

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 159回
  • 年度积分:0
  • 历史总积分:119
  • 注册:2012年1月10日
发表于:2013-10-31 11:48:25
16楼

学习一下·~~~~~~~~~~~~~~~~~~~~·


热门招聘
相关主题

官方公众号

智造工程师