基于win32api的PLC与MFC通信

作者使用欧姆龙PLC,采用FCS校验,用Win32API,在MFC上实现通讯。

话说,这个贼简单,直接上代码

(1)首先,创建端口,并初始化参数。

hCom=CreateFile("COM4", GENERIC_READ | GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
SetupComm(hCom,1024,1024);		
GetCommState(hCom, &myDCB);
myDCB.BaudRate=9600;// 波特率
myDCB.fBinary=TRUE;// 通信方式=二进制
myDCB.fParity=TRUE;// 奇偶校验 TRUE=使用,FALSE=不使用
myDCB.Parity=2; // 校验方式:0-无 1-奇 2-偶 3-标志 4-空格
myDCB.ByteSize=7;// 数据位数
myDCB.StopBits=2;// 停止位数:0-1位 1-1.5位 2-2位
SetCommState(hCom, &myDCB);

(2)然后直接发送  读取数据。

BYTE datas[17] = {'@',48,48,'R','R',48,49,48,48,48,48,48,49,52,48,'*',13};
WriteFile(hCom, &datas, 17, NULL, NULL);  //往缓冲区发数据
BYTE myByte[15];
ReadFile(hCom, &myByte, 15, NULL, NULL);//读取缓冲区数据

(3)同样,如果需要多次发送和接收请求,用【while】或【定时器】或【线程】。

完事儿!!!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肥羊汤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值