完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
现在有个情况是这样的,使用如图1的程序,即上位机通过TCP向设备发送命令,同时获取设备反馈的信息。刚开始我们是连接的上设备的,同时发送查询命令也能够收到正确的信息。但是换了一个命令发送后,tcp的读取数据会出现56的错误,如图2所示。然后再发第一次能成功返回数据的命令,就返回不到数据了,一直处于错误。我们觉得是有哪里卡住了,但是不知道该怎么解决! |
|
相关推荐
3个回答
|
|
根据您的描述,您在使用LabVIEW通过TCP通讯连接设备时遇到了问题。在发送一个命令后,TCP读取数据出现了56错误,导致后续命令无法正常返回数据。以下是一些建议来解决这个问题:
1. 检查命令格式:首先,请确保您发送的命令格式正确。错误的命令格式可能导致设备无法正确解析命令,从而导致错误。 2. 检查设备状态:请检查设备是否处于正常工作状态。如果设备出现故障或异常,可能导致无法正常接收和发送数据。 3. 检查TCP连接:请确保TCP连接正常。您可以尝试重新建立TCP连接,然后再次发送命令。如果问题仍然存在,请检查网络连接和设备IP地址是否正确。 4. 检查LabVIEW程序:请检查您的LabVIEW程序是否有任何错误或问题。您可以尝试使用其他命令或设备进行测试,以确定问题是否与特定命令或设备有关。 5. 使用错误处理:在您的LabVIEW程序中添加错误处理功能,以便在出现错误时能够正确处理。例如,您可以使用“错误簇”(Error Cluster)来捕获和处理错误。 6. 调试和日志记录:在您的LabVIEW程序中添加调试和日志记录功能,以便在出现问题时能够快速定位问题所在。您可以使用“调试器”(Debugger)和“日志记录”(Logging)功能来实现这一目的。 7. 联系设备制造商:如果问题仍然无法解决,建议您联系设备制造商,以获取技术支持和解决方案。 希望以上建议对您有所帮助。祝您解决问题顺利! |
|
|
|
TCP读取方式是immediate,无论是否有反馈数据都立即返回,如果没有数据就返回空并有56错误,可能是你发送不同的指令,服务器给你反馈指令的速度不一样
方法1改变读取方式:标准模式+设定数据长度,或者以CRLF结尾并设定逾时时间 方法2将写入和读取分两个线程异步处理,读取的数据拼接起来再做分析(可以提高通讯效率,56错误忽略掉) |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-21 16:49 , Processed in 3.077712 second(s), Total 124, Slave 107 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号