社区
C++ 语言
帖子详情
用C++语言,上位机与PLC通讯有问题
qq_40378122
2018-07-15 06:40:27
我用VS2010C++窗体程序,做了两个按钮通过串口向PLC发送数据,一个为打开Y0-Y7,一个为关闭Y0-Y7。现在又个问题是,我按了按钮1,打开了,我按按钮2关闭不了。要我重新关闭调试,再打开按按钮2可以关闭,但是按钮一又不能打开。两个之间只能用一次。
...全文
846
8
打赏
收藏
用C++语言,上位机与PLC通讯有问题
我用VS2010C++窗体程序,做了两个按钮通过串口向PLC发送数据,一个为打开Y0-Y7,一个为关闭Y0-Y7。现在又个问题是,我按了按钮1,打开了,我按按钮2关闭不了。要我重新关闭调试,再打开按按钮2可以关闭,但是按钮一又不能打开。两个之间只能用一次。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qq_33487700
2020-11-27
打赏
举报
回复
不过和PLC通信应该都有专门的库吧,倍福就有ADS通信库。用库比较简单。
qq_33487700
2020-11-27
打赏
举报
回复
你两个按钮的点击响应事件里面都调用了CreateFile来打开串口,但没有关闭串口。按钮1执行成功,然后执行按钮2,在按钮2里面CreateFile函数肯定会失败,因为串口已经打开了,所以返回值hcom是个无效句柄,你用一个无效句柄做WriteFile函数的参数,能执行成功才有问题呢。 解决办法: 将hcom定义为全局的,再增加一个按钮专门用于打开或关闭串口,这个按钮的响应函数里面根据状态来决定执行打开串口还是关闭串口。按钮1和按钮2专注于发送数据,不要在这里操作串口的打开和关闭;
weixin_47065273
2020-11-27
打赏
举报
回复
在端口处出错,可以做一个验证,如果端口号打开,则关闭,或者,如果打开则关闭再打开。你的程序在端口号已经打开的情况下再次打开同一个端口会出错误。最好每次用完关闭端口,再用的时候再打开。
倚栏|听风
2019-01-08
打赏
举报
回复
我怎么看来看去这两个按钮的功能是一样的?
埃和智能
2019-01-08
打赏
举报
回复
可以用成熟的通讯库文件,比较方便的:
http://blog.sina.com.cn/s/blog_16d7d3ecb0102x6wj.html
JackyRao
2018-10-29
打赏
举报
回复
不能打开串口2次吧,可以对hCom做验证是否为空
qq_40378122
2018-07-15
打赏
举报
回复
qq_40378122
2018-07-15
打赏
举报
回复
上位机
与基恩士
PLC
以太网
通讯
C++
代码
上位机
与基恩士
PLC
以太网
通讯
C++
代码,
C++
语言
基础视频教程
C++
语言
基础视频培训课程:本课与主讲者在大学开出的程序设计课程直接对接,准确把握知识点,注重教学视频与实践体系的结合,帮助初学者有效学习。本教程详细介绍
C++
语言
中的封装、数据隐藏、继承、多态的实现等入门...
VC实现
上位机
与
PLC
之间通信
VC实现上位VC实现
上位机
与
PLC
之间通信机与VC实现
上位机
与
PLC
之间通信
PLC
之间通信
倍福TwinCAT3
上位机
与
PLC
通信测试(ADS通信) 包含C#和
C++
代码
倍福TwinCAT3
上位机
与
PLC
通信测试(ADS通信) 包含C#和
C++
代码 本次测试需要环境: VS2013,TwinCAT3(本人版本TC31-Full-Setup.3.1.4018.16) 代码:C#代码,
PLC
程序代码,
C++
代码 测试部分: 测试包含:bool...
C++ 语言
64,648
社区成员
250,476
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章