请教MFC上位机程序,50个仪表,1个控制台(升源降源),采用多线程如何对仪表进行检测? 多线程控制台mfc全局变量 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 "比如有49个都是在100ms应答,而有1个是在1000ms时应答。"没关系啊, 定时器按最快应答 的 设置, 慢的 就是 多 询问几次.不建议开太多的线程. "当收到应答后" 就是一个事件.50 个查询能不能 一起发出去(one by one), ? 然后等 应答 ? 楼主 你这个 1个上位机挂50个 多半是用的总线吧,不会用50个端口吧。既然用的总线,就一次性发送所有查询吧,下位机应答回来都有地址什么的标志把,你通过地址来判断是哪个下位机返回来的数据。不知道你的总线协议和下位机是否支持判断总线忙活着空闲,然后占用总线等一系列协议。你开线程也可以,如果你是多个端口的话 当然可以用多个线程,但是不要开太多,比如你要查询50个,你可以开10个线程 每个线程查询5个,但是这个都是基于你有多个端口的情况下的,如果你是总线,那么和下位机通信的只有1个端口,你就只有开一个线程。去发送接收, 你发送完了等待接收 用类似waitforsingleobject这种去等待即可,如果那边接收完了 就给信号让等待结束,马上就可以继续发 楼主还是说下接口环境,通信环境 才方便讨论问题 50个仪表,50个端口。各自管各自的,独立的。但之前的人说开线程太多是不是不太好。50个线程会有问题吗?还有,如果用线程的话,线程函数如何写呢?因为做的操作比较多,即通信次数较多。一发一收可以用waitforsingleobject等待信号,那如果有20次通信,我的线程函数,是否用顺序结构,一个等待一个,也就说调用waitforsingleobject等待20次? 、谢谢!还有,如果用线程的话,线程函数如何写呢?因为做的操作比较多,即通信次数较多。一发一收可以用waitforsingleobject等待信号,那如果有20次通信,我的线程函数,是否用顺序结构,一个等待一个,也就说调用waitforsingleobject等待20次? 这是线程函数与主函数的关系,线程函数是不退出的(while(1)),主函数叫他 发, 它 就发, 发完 等 回答, 回答 给 主函数 后, 等 主函数下个 命令。 50个仪表,50个端口。各自管各自的,独立的。但之前的人说开线程太多是不是不太好。50个线程会有问题吗?还有,如果用线程的话,线程函数如何写呢?因为做的操作比较多,即通信次数较多。一发一收可以用waitforsingleobject等待信号,那如果有20次通信,我的线程函数,是否用顺序结构,一个等待一个,也就说调用waitforsingleobject等待20次?50个端口。你居然不用总线这样吧 你加我QQ29485118 我们一起讨论下现在的问题 你这个中间涉及到同步的问题 只不过都好解决 如果你的编程语言是用的C++的话 我们可以一起解决,如果不是的话 我就帮不上你忙了。 我说的就是这个,岂不是主函数要waitforsingleobject等待线程的“事件”或者是“信号量”? 线程发 消息给 主函数.主函数不能waitforsingleobject,,, 界面会堵塞. 消息驱动,到底是主函数给线程函数发消息,还是线程函数给主函数发消息?他说的这个消息 和你说的这个消息 完全就是两码事。不就是系统消息吗,windows消息。有什么区别,用自定义消息实现线程间通信 我如何做这个主函数?说的直白一点,一个按钮,我单击按钮,调用一个函数MainProc()MainProc()该如何写?是写一个while(1)循环吗?然后等着收到消息就做相应操作? 主函数 与 你的 工程类型 有关。 单文档, 对话框, win32 直接开51个线程就行了~反正大部分时间线程都是在Sleep的 搞一个小的PLC,例如S7-200,然后安装一个监控组态软件,如果货都到的话,估计1天搞定 VC界面里读取ACCESS中的图片。。。Buffer转成HBITMAP格式时出现的问题 MFC 中List control 控件问题! 关于坐标的问题 键盘钩子 为何我的钩子钩不到windows键? 这个异常该如何解决啊??? 如何得到按钮控件的边界,在线等待,谢谢 一个难住我,但能吸引你的问题 在project中使用了5个.cpp,如何调整这些.cpp的编译顺序? 怎么在Doc类中调用Invalidate? 如何改变CFormView大小 Ribbon界面设计,CMFCRibbonPanel对象怎么修改它的名称啊? 急求
没关系啊, 定时器按最快应答 的 设置, 慢的 就是 多 询问几次.
不建议开太多的线程.
然后等 应答 ?
50个仪表,50个端口。各自管各自的,独立的。
但之前的人说开线程太多是不是不太好。50个线程会有问题吗?
还有,如果用线程的话,线程函数如何写呢?
因为做的操作比较多,即通信次数较多。一发一收可以用waitforsingleobject等待信号,那如果有20次通信,我的线程函数,是否用顺序结构,一个等待一个,也就说调用waitforsingleobject等待20次?
还有,如果用线程的话,线程函数如何写呢?
因为做的操作比较多,即通信次数较多。一发一收可以用waitforsingleobject等待信号,那如果有20次通信,我的线程函数,是否用顺序结构,一个等待一个,也就说调用waitforsingleobject等待20次?
主函数叫他 发, 它 就发, 发完 等 回答, 回答 给 主函数 后, 等 主函数下个 命令。
50个仪表,50个端口。各自管各自的,独立的。
但之前的人说开线程太多是不是不太好。50个线程会有问题吗?
还有,如果用线程的话,线程函数如何写呢?
因为做的操作比较多,即通信次数较多。一发一收可以用waitforsingleobject等待信号,那如果有20次通信,我的线程函数,是否用顺序结构,一个等待一个,也就说调用waitforsingleobject等待20次?50个端口。你居然不用总线
这样吧 你加我QQ29485118 我们一起讨论下现在的问题 你这个中间涉及到同步的问题 只不过都好解决 如果你的编程语言是用的C++的话 我们可以一起解决,如果不是的话 我就帮不上你忙了。
我说的就是这个,岂不是主函数要waitforsingleobject等待线程的“事件”或者是“信号量”?
主函数不能waitforsingleobject,,, 界面会堵塞.
我如何做这个主函数?
说的直白一点,一个按钮,我单击按钮,调用一个函数MainProc()MainProc()该如何写?是写一个while(1)循环吗?然后等着收到消息就做相应操作?