vs2013不用mscomm控件,可以编写mfc程序控制plc吗,有没有简单的例子提供学习一下,拜托了

vs2013不用mscomm控件,可以编写mfc程序控制plc吗,有没有简单的例子提供学习一下,拜托了,第1张

仅供参考:

1、与串口通讯不使用mscomm,难道还要再写个通讯模块吗,vc的话貌似只能用这个~

2、

void CSCommTestDlg::OnComm(){

VARIANT variant_inp

COleSafeArray safearray_inp

LONG len,k

BYTE rxdata[2048] //设置BYTE数组(8位无符号整数)

CString strtemp

if(m_ctrlComm.GetCommEvent()==2) //事件值为2表示接收缓冲区内有字符

variant_inp=m_ctrlComm.GetInput()//读缓冲区

safearray_inp=variant_inp //VARIANT型变量转换为ColeSafeArray型变量

len=safearray_inp.GetOneDimSize() //得到有效数据长度

for(k=0k 

safearray_inp.GetElement(&k,rxdata+k)//转换为BYTE型数组

for(k=0k 

PLCData[k]=rxdata[k]

verfun(PLCData,16)//计算校验码

if(PLCData[15]==PLCData[16])

{ //接收数据正确发送确认信号

m_ctrlComm.SetOutput(COleVariant(“K@”))

//可以在下面自行加上对数据的处理

if(!m_quit)//如果没有结束信号则续传数据

m_ctrlComm.SetOutput(COleVariant(“C@”))

else

m_ctrlComm.SetOutput(COleVariant(“Z@”))

else //接收数据出错要求重发数据

m_ctrlComm.SetOutput(COleVariant(“R@”))

1、上位机采用PC,内装VC++

2、采用串口通讯与下位机---单片机、PLC等通讯

3、将来自下位机的数据,采用MFC中的CDC类,并结合多线程,很容易做成动态示波曲线

4、更多交流参考我空间文章。


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

原文地址:https://54852.com/yw/11268898.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存