社区
COM/DCOM/COM+
帖子详情
COMM通讯干扰导致软件假死
daofuuq
2009-07-09 11:26:50
用VB编的工控软件,上位机(电脑)可以设定每隔多少秒发送一次读数据命令,然后下位机上传1帧数据,问题如下:
1.可能是下位机控制的电机有干扰,经常导致程序假死,但是通讯还在继续,只是程序不响应
2.可能是数据发送频繁导致计算机资源占用过多(当读取3个数据时,CPU快50%占用率)
请教下怎么找出问题,谢谢!
...全文
126
25
打赏
收藏
COMM通讯干扰导致软件假死
用VB编的工控软件,上位机(电脑)可以设定每隔多少秒发送一次读数据命令,然后下位机上传1帧数据,问题如下: 1.可能是下位机控制的电机有干扰,经常导致程序假死,但是通讯还在继续,只是程序不响应 2.可能是数据发送频繁导致计算机资源占用过多(当读取3个数据时,CPU快50%占用率) 请教下怎么找出问题,谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
25 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dandan4900
2011-07-04
打赏
举报
回复
是干扰造成的 频繁的进入到oncomm函数中
你可以设个断点试试
of123
2009-07-13
打赏
举报
回复
如果确定是干扰影响接收,就不要在软件上打转转了。实际上,是干扰影响了串口的正常接收,使奇偶校验发生了错误。
1 在下位机端考虑一下,通讯是否能避开电机变速时段。
2 采取防干扰措施,例如屏蔽下位机箱和传输线缆。当然,将电机罩接地屏蔽也可以。
还有,就是上位机在循环中可以加超时判断,以免死循环。
daofuuq
2009-07-13
打赏
举报
回复
谢谢了各位
贝隆
2009-07-13
打赏
举报
回复
[Quote=引用 22 楼 of123 的回复:]
如果确定是干扰影响接收,就不要在软件上打转转了。实际上,是干扰影响了串口的正常接收,使奇偶校验发生了错误。
1 在下位机端考虑一下,通讯是否能避开电机变速时段。
2 采取防干扰措施,例如屏蔽下位机箱和传输线缆。当然,将电机罩接地屏蔽也可以。
还有,就是上位机在循环中可以加超时判断,以免死循环。
[/Quote]
对,应该考虑如何减弱或避免干扰的问题。
bj0629
2009-07-12
打赏
举报
回复
LZ:
一个简单的方法试一下:
1.用串口精灵、xtalk、procomm、等软件的一款将你的命令传发送给下位机。
2.按照你的发送周期人工去发。看看乱不乱
注:首先要保证你发的数据格式是正确的。一般的plc在通讯数据包中的尾部带累加和检查的!
bj0629
2009-07-12
打赏
举报
回复
巫师:
1.我提供的方法是通过c、d、电脑去采集实际的通讯过程。
查看你面是否有无效数据就可以知道是有有乱码了。
2.串口如果收到严重干扰,他的数据格式会出错,mscomm会报警的。不可能还在工作。
我的建议:当出现问题时
1.用头脑里的掌握的基本原理去分析
2.设计到硬件的问题,要经过测试、实验。
3.不能只想、只说、不干。
4.举例:可以做个实验:
1.将两台电脑串口相连,放到车间里干扰最严重的设备旁边。电焊机、高频电炉。看看通讯会不会乱。
2.我们常做电脑通过串口连接数控机床,有时一个零件边加工、边传送要连续加工一周。想一下,一台机床上 有多少电机?
如果干扰机床早就撞坏了。
总之:要通过实验来分析问题、通过原理来分析问题。如果用嘴说可以说出一百个理由来!
贝隆
2009-07-12
打赏
举报
回复
有些干扰不是随时都有的,他可能实在某种设备开启运行是才有,楼主,你用串口调试器,在电机开启时调试一下,看看是不是有乱码。
贝隆
2009-07-11
打赏
举报
回复
[Quote=引用 15 楼 bj0629 的回复:]
不可能是所谓的干扰造成的。我常干这样的项目。
1.电缆线焊接牢固。
2.屏蔽线接直流地。(9芯插头---5 25芯 ----7 是0v)
3.再找两台电脑 (就叫C 机 D 机吧)
4.pc和plc连接一般可以采用软件通讯协议,即三根线。
c机 d机
2| |2
| |
pc | | plc
2 ---+-------|----------- 3
3 -----------+----------- 2
5 ----------------------- 5
利用c机、d机串口第二脚(接收端)按照上图连上。
利用c机 和 d 机的两个接收端,捕获两端的数据通讯内容。你会发现问题出在哪里的。
6.串口的通讯电平(笔记本电脑+ - 8v。台式机 + -11 V 左右)eia stardard is +-3 to +- 15v
我们经常在车间长期使用串口通讯,哪里除了有电机、吊车、电焊机。估计是你的软件编的有毛病。
有事联系我www.cncb3h.com contact
[/Quote]
我不同意你的看法,楼主这个情况应该是干扰问题。
bj0629
2009-07-11
打赏
举报
回复
给三项电机加装一个三项火花吸收器(阻容吸收器)。
bj0629
2009-07-11
打赏
举报
回复
这里没法画图啊!?
bj0629
2009-07-11
打赏
举报
回复
不可能是所谓的干扰造成的。我常干这样的项目。
1.电缆线焊接牢固。
2.屏蔽线接直流地。(9芯插头---5 25芯 ----7 是0v)
3.再找两台电脑 (就叫C 机 D 机吧)
4.pc和plc连接一般可以采用软件通讯协议,即三根线。
c机 d机
2| |2
| |
pc | | plc
2 ---+-------|----------- 3
3 -----------+----------- 2
5 ----------------------- 5
利用c机、d机串口第二脚(接收端)按照上图连上。
利用c机 和 d 机的两个接收端,捕获两端的数据通讯内容。你会发现问题出在哪里的。
6.串口的通讯电平(笔记本电脑+ - 8v。台式机 + -11 V 左右)eia stardard is +-3 to +- 15v
我们经常在车间长期使用串口通讯,哪里除了有电机、吊车、电焊机。估计是你的软件编的有毛病。
有事联系我www.cncb3h.com contact
贝隆
2009-07-10
打赏
举报
回复
干扰很难根除的,像你这个情况是较严重的,在有干扰时,只要串口打开,就会有大量的乱发涌向串口,导致了CPU利用率100%,从而出现了死机的假象。要去除干扰还得具体问题具体分析。
daofuuq
2009-07-10
打赏
举报
回复
谢谢楼上,我在试下吧
daofuuq
2009-07-10
打赏
举报
回复
我的干扰源是电机的磁场?反正伺服驱动器和PC间通讯时很正常,当伺服驱动电机转动后,就会产生干扰,平稳运行时没事,当转动不平滑时就会通讯错误,程序死掉,但通讯还在进行
贝隆
2009-07-10
打赏
举报
回复
下位机的通信端口是什么接口的?RS232?RS485?
打死不掉牙
2009-07-10
打赏
举报
回复
你的这句
Do
DoEvents
Loop Until MSComm1.InBufferCount = 8
Inbyte = MSComm1.Input
是用查询方法来读取数据的啊,oncomm事件只是用来读取数据的,阈值设为8,不做发送用啊,你定时发送指令,如果下位机有数据返回达到8个会自动触发oncomm事件,你在事件里面读取数据啊,这样就不用一直循环,可能导致假死的现象。
对于干扰,你可以把232换成485试试,这样抗干扰能力会增强很多的!
daofuuq
2009-07-10
打赏
举报
回复
oncomm事件能自己设定时间?
打死不掉牙
2009-07-10
打赏
举报
回复
是oncomm事件,打错了,呵呵!
打死不掉牙
2009-07-10
打赏
举报
回复
为什么要循环检测啊,用oncomm时间不更好么!
贝隆
2009-07-09
打赏
举报
回复
楼主,你的干扰源是什么?我有过类似的经历,可能可以帮助你
加载更多回复(5)
Linux Kernel 内核模块详解
没有
软件
,计算机只是一堆发热的电子元件。如果说硬件是计算机的心脏,则
软件
就是它的灵魂。操作系统是允许用户运行应用程序的一组系统程序。操作系统将系统的硬件抽象,呈现在用户和应用程序之前的是一个虚拟的机器...
电脑故障速排方法
主板 主板是整个电脑的关键部件,在电脑起着至关重要的作用。...主板的BIOS中储存着重要的硬件数据,同时BIOS也是主板中比较脆弱的部分,极易受到破坏,一旦受损就会
导致
系统无法运行,出现此类...
电脑硬件故障维护小全
【主板故障】是整个电脑的关键部件,在电脑起着至关重要的作用。...主板的BIOS中储存着重要的硬件数据,同时BIOS也是主板中比较脆弱的部分,极易受到破坏,一旦受损就会
导致
系统无法运行,出现此类故障一般是因为主板B
看懂,操作下,就可以去当网管
主板 主板是整个电脑的关键部件,在电脑起着至关重要的作用。...主板的BIOS中储存着重要的硬件数据,同时BIOS也是主板中比较脆弱的部分,极易受到破坏,一旦受损就会
导致
系统无法运行,出现此类故障一般是因为主板B
串口 同步和异步 理解
通过这种方法,不仅能够排除接收线上的噪声
干扰
,识别假起始位,而且能够相当精确的确定起始位的中间点,从而提供一个正确的时间基准。从这个基准算起,每隔16Tc采样一次数据线,作为输入数据。一般来说,从接收数据...
COM/DCOM/COM+
863
社区成员
3,659
社区内容
发帖
与我相关
我的任务
COM/DCOM/COM+
VB COM/DCOM/COM+
复制链接
扫一扫
分享
社区描述
VB COM/DCOM/COM+
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章