笔记本电脑与台达PLC用R232数据线连接是通讯逾时错误

笔记本电脑与台达PLC用R232数据线连接是通讯逾时错误,第1张

排除通讯线等硬件的原因。电脑端口的通讯参数也要设置为和PLC的编程软件规定的相同才可以的。其中包括端口号,数据长,校验位,停止位等。
因为你用的是USB转接成RS232的线。并非电脑自带的串口,所以这个要设置正确的。

原因很多,总结如下:
1)、通讯电缆没有插好,或者用了错误的通讯电缆
2)、下载模式选择错误。DOP 提供了USB 和COM 口下载,一定要确认模式是否选择正确。
3)、通讯参数设置错误。这是很多初学者常出错的地方。很明显,HMI 和PLC 选择的通讯参数要一致。
对于每种PLC 的默认参数,我们手册都有详细的说明,一定要仔细阅读。
4)、通讯协议选择错误。很多PLC 都提供了多种通讯模式和协议。一定要了解DOP 支持哪些模式和
协议。也要知道PLC 当前使用的是何种模式和协议。比如:LG PLC 目前提供了CPU 和CNET 通讯方
式。DOP 目前只支持CPU 方式,用CNET 当然不能通讯
5)、PLC 设置不正确。市场上的PLC 种类繁多,每种PLC 都有自己独特的设置。比如对于西门子S7-300
PLC,一定要先建立DB 块才可以与DOP 进行通讯。所以,熟悉自己使用的PLC 和了解DOP 所要求
对PLC 的设置是成功通讯的前提。
6)、产品的兼容性和单批品质问题。现在很多大公司的PLC 都在不同的地方设厂,产品的兼容性并不
一定很完美,会出现某个批次的产品存在问题,也会导致无法与DOP 正常通讯;同样,也不排除某个
批次的DOP 存在问题的。
7)、硬件问题。最常见的是HMI 或者PLC 由于带电 *** 作或者干扰等因素导致通讯芯片损坏,不能通
讯。
8)、系统冲突。 *** 作系统安装很多软件之后会产生很多冲突,也可能导致不能下载。
总之,不能通讯或者下载看起来很简单,分析起来问题还比较多,所以大家遇到这种问题的时候
一定要耐心的排查,做各种测试。也可以致电我们公司郑州鑫凯电子科技有限公司,但一定要提供比较详细的说明以便FAE帮您分析。
河南台达代理商-郑州鑫凯电子科技有限公司!希望帮到你!

很多人总觉得学习TCP/IP协议没什么用,觉得日常编程开发只需要知道socket接口怎么用就可以了。如果大家定位过线上问题就会知道,实际上并非如此。如果应用在局域网内,且设备一切正常的情况下可能确实如此,但如果一旦出现诸如中间交换机不稳定、物理服务器宕机或者其它异常情况时,此时引起的问题如果只停留在套接字接口的理解层面将无法解决。因此,深入理解TCP/IP协议,对我们分析异常问题有很大的帮助。
下图是网络通信中常见的架构,也就是CS架构。其中程序包括两部分,分别为客户端(Client)和服务端(Server)。当然,实际的环境还要复杂的多,在客户端和服务端之间可能有多种不同种类和数量的设备,这些设备都会增加网络通信的复杂性。自然,也会增加程序开发容错的复杂性。
图1 基本架构
TCP的基本流程
在分析异常情况之前,我们先回忆一下TCP协议的基本逻辑。在客户端和服务端能够收发数据之前首先必需建立连接。连接的建立在协议层面也是通过收发数据包完成,只不过在用户层面就是客户端调用了一个connect函数。连接的过程俗称“三次握手”,具体流程如图2所示。
图2 TCP的三次握手流程
TCP连接的断开也是比较复杂的,需要经过所谓的“四次挥手”的流程。其原因是因为TCP是双工通信,分别需要从客户端和服务端2侧断开连接。
图3 TCP的四次挥手
另外一个比较重要的内容是TCP协议的状态转换,理解了这个内容,我们才能清楚出现各种异常情况下数据包的内容。
图4 TCP状态转换图
本文只是简单回忆一下TCP的基本流程,详细的内容可以参考本号之前的文章《从TCP到Socket,彻底理解网络编程是怎么回事
异常情况分析
了解了TCP的基本流程之后,我们再看一下各种异常情况。这些异常情况才是我们在后续解决问题的时候的关键。了解了这些异常情况及原理,后面解决问题才能游刃有余。
1 试图与一个不存在的端口建立连接(主机正常)
这里的不存在的端口是指在服务器端没有程序监听在该端口。我们的客户端就调用connect,试图与其建立连接。这时会发生什么呢?
这种情况下我们在客户端通常会收到如下异常内容:
[Errno 111] Connection refused(连接拒绝)
具体含义可以查一下Linux的相关手册,或者用搜索引擎搜索一下。试想一下,服务端本来就没有程序监听在这个接口,因此在服务端是无法完成连接的建立过程的。我们参考‘三次握手’的流程可以知道当客户端的SYNC包到达服务端时,TCP协议没有找到监听的套接字,就会向客户端发送一个错误的报文,告诉客户端产生了错误。而该错误报文就是一个包含RST的报文。这种异常情况也很容易模拟,我们只需要写一个小程序,连接服务器上没有监听的端口即可。如下是通过wireshark捕获的数据包,可以看到红色部分的RST报文。
图5 数据包截图
继续深入理解一下,在 *** 作系统层面,TCP的服务端实际上就是从网卡的寄存器中读取数据,然后进行解析。对于TCP自然会解析出目的端口这个关键信息,然后根据这个信息查看有没有这样的套接字。这个套接字是什么呢?在用户层面是一个文件句柄,但在内核中实际是一个数据结构,里面记录了很多信息。这个数据结构存储在一个哈希表中,通过函数__inet_lookup_skb(net/inet_hashtablesh)可以实现对该数据结构的查找。对于上述情况,自然无法找到该套接字,因此TCP服务端会进行错误处理,处理的方式就是给客户端发送一个RST(通过函数tcp_v4_send_reset进行发送)。
2 试图与一个某端口建立连接但该主机已经宕机(主机宕机)
这也是一种比较常见的情况,当某台服务器主机宕机了,而客户端并不知道,仍然尝试去与其建立连接。这种场景也是分为2种情况的,一种是刚刚宕机,另外一种是宕机了很长时间。为什么要分这2种情况?
这主要根ARP协议有关系,ARP会在本地缓存失效,TCP客户端就无法想目的服务端发送数据包了。
(1921681100) 位于 08:00:27:1a:7a:0a [ether] 在 eth0
了解了上述情况,我们分析一下刚刚宕机的情况,此时客户端是可以向服务端发送数据包的。但是由于服务器宕机,因此不会给客户端发送任何回复。
图6 数据包截图
由于客户端并不知道服务端宕机,因此会重复发送SYNC数据包,如图6所示,可以看到客户端每隔几秒会向服务端发送一个SYNC数据包。这里面具体的时间是跟TCP协议相关的,具体时间不同的 *** 作系统实现可能稍有不同。
3 建立连接时,服务器应用被阻塞(或者僵死)
还有一种情况是在客户端建立连接的过程中服务端应用处于僵死状态,这种情况在实际中也会经常出现(我们假设仅仅应用程序僵死,而内核没有僵死)。此时会出现什么状态?TCP的三次是否可以完成?客户端是否可以收发数据?
在用户层面我们知道,服务端通过accept接口返回一个新的套接字,这时就可以和客户端进行数据往来了。也就是在用户层面来说,accept返回结果说明3次握手完成了,否则accept会被阻塞。在我们假设的情况下,其实就相当于应用程序无法进行accept *** 作了。
如果想彻底理解上面我们假设的问题,需要理解两点,一点是accept函数具体做了什么,另外一点是TCP三次握手的本质。
我们先试着理解第一点,accept会通过软中断陷入内核中,最终会调用tcp协议的inet_csk_accept函数,该函数会从队列中查找是否有处于ESTABLISHED状态的套接字。如果有则返回该套接字,否则阻塞当前进程。也就是说这里只是一个查询的过程,并不参与三次握手的任何逻辑。
三次握手的本质是什么呢?实际上就是客户端与服务端一个不断交流的过程,而这个交流过程就是通过3个数据包完成的。而这个数据包的发送和处理实际上都是在内核中完成的。对于TCP的服务端来说,当它收到SYNC数据包时,就会创建一个套接字的数据结构并给客户端回复ACK,再次收到客户端的ACK时会将套接字数据结构的状态转换为ESTABLISHED,并将其发送就绪队列中。而这整个过程跟应用程序没有半毛钱的关系。
当上面套接字加入就绪队列时,accept函数就被唤醒了,然后就可以获得新的套接字并返回。但我们回过头来看一下,在accept返回之前,其实三次握手已经完成,也就是连接已经建立了。
另外一个是如果accept没有返回,客户端是否可以发送数据?答案是可以的。因为数据的发送和接受都是在内核态进行的。客户端发送数据后,服务端的网卡会先接收,然后通过中断通知IP层,再上传到TCP层。TCP层根据目的端口和地址将数据存入关联的缓冲区。如果此时应用程序有读 *** 作(例如read或recv),那么数据会从内核态的缓冲区拷贝到用户态的缓存。否则,数据会一直在内核态的缓冲区中。总的来说,TCP的客户端是否可以发送数据与服务端程序是否工作没有任何关系。
当然,如果是整个机器都卡死了,那就是另外一种情况了。这种情况就我们之前分析的第2种情况一直了。因为,由于机器完全卡死,TCP服务端无法接受任何消息,自然也无法给客户端发送任何应答报文。
总结
今天我们主要介绍了连接建立过程中的各种异常情况,还有另外一种情况是在数据的传输过程中。比如传输过程中服务器突然掉电,或者程序crash等,后续我们将详细这些异常情况下在协议层的表现。

<strong>台达伺服modbus开关量逻辑控制:电动机启动与停止。</strong><br>伺服器维修解决方法为:<br>方法一;在DI动能设定里设定正向寸动反向寸动(DI2DI3),通过参数设定P3-060XFF以及P407实现了对DI的通讯控制,从而可以正反向动。<br>方法二;对P4-05进行设定,使用通讯,向P4-05内写入4998时正转4999时反转。<br>经过对伺服器维修又出现新的问题,采用上述两种同服器维修方式都是在正转和反转的情况下,但并不能实现同服器正向点动和反向点动。以为同服器维修时采用通讯时发一个脉冲便会把参数写入到伺服器的寄存器内,伺服器参数就一直在寄存器内,除非有新的参数写入。可是用上面的方法对同服器维修完毕后造成了写入正向点动的数掘后,必须在写入停止数据同服器才能停止运行,否则伺服器会一直持续旋转。经过检测发现是PLO程序编的存在问题,写寸动的那几条逻辑关系不正确或PLC指modbus读写的通讯参数设置不正确。相应的同服器维修方法是通过使用通讯给A2同服驱动器写过]G,正向、反向的,使用触摸屏的宏指令做的。同服器恢复正常使用。

台达服务器550w电源不启动
1台达550w电源更换风扇不转 - 百度知道1个回答回答时间:2022年9月7日最佳回答:也有可能是变频器的电源板出现故障,您可以先用万能表测测风扇的电源电压,自己解决不了,就送到专业变频器维修中心检测吧。
2台达550w电源更换风扇不转 - 百度知道1个回答回答时间:2022年9月7日最佳回答:也有可能是变频器的电源板出现故障,您可以先用万能表测测风扇的电源电压,自己解决不了,就送到专业变频器维修中心检测吧。

由于台达触摸屏本身就是usb接口,所以推荐大家在安装之前先下载官方驱动,请确保驱动版本与自己的 *** 作系统版本相匹配,如果都正确,却还是无法安装成功,可以考虑尝试联系厂商客服协助解决,或者换一个兼容一些的 *** 作系统重新安装试试。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13071480.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-30
下一篇 2023-05-30

发表评论

登录后才能评论

评论列表(0条)

保存