您当前的位置:五五电子网电子知识plc技术PLC通信基于VC++的上位机和丰炜PLC串行通信的实现 正文
基于VC++的上位机和丰炜PLC串行通信的实现

基于VC++的上位机和丰炜PLC串行通信的实现

点击数:7619 次   录入时间:03-04 11:50:11   整理:http://www.55dianzi.com   PLC通信

函数CreateFile()的功能是打开串口设备,函数原型如下:

HANDLE CreateFileLPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode,LPSECURITY_ATTRIBUTES lpSecurityAttributes,DWORD dwCreationDistribution, DWORD dwFlagsAndAttributes, hTemplateFile

参数LPCTSTR lpFileName指定串口名称,如"COM1" 或 "COM2";参数DWORD dwDesiredAccess设置读写属性,一般为GENERIC_READ|GENERIC_WRITE;参数DWORD dwShareMode设置共享模式,在串行通信中必须设定为 0, 即不能共享;参数LPSECURITY_ATTRIBUTES lpSecurityAttributes设置安全属性,一般为NULL;参数DWORD dwCreationDistrib

ution设置创建方式,在串行通信中必须设置此值,在串行通信中设定为 OPEN_EXISTING;参数DWORD dwFlagsAndAttributes设置文件属性和标志;参数hTemplateFile设置临时文件的句柄,通常为NULL。函数CreateFile()如果调用成功,返回文件的句柄;如果调用失败,则返回INVALID_HANDLE_VALUE

函数GetCommState()的功能是获取串口状态,函数原型如下:

BOOL GetCommStateHANDLE hFile, LPDCB lpDCB

参数HANDLE hFile指定通信设备的句柄;参数LPDCB lpDCB指定DBC结构体的地址。

函数SetCommState()的功能是设置串口状态,函数原型如下;

BOOL SetCommStateHANDLE hFile, LPDCB lpDCB

函数SetCommState()的参数与函数GetCommState()相同。打开通信设备后,需要对串口进行初始化工作,初始化工作通过DCB结构来进行,DCB结构包含了诸如波特率、数据位数、奇偶校验和停止位数等信息。在查询或配置串口的属性时,都要用DCB结构来作为缓冲区。调用GetCommState函数可以获得串口的配置,该函数把当前配置填充到一个DCB结构中。一般在用CreateFile打开串口后,可以调用GetCommState函数来获取串口的初始配置。要修改串口的配置,应该先修改DCB结构,然后再调用SetCommState函数用指定的DCB结构来设置串口。

函数PurgeComm()的功能是终止目前正在进行的读或写的动作,函数原型如下:

BOOL PurgeCommHANDLE hFile, DWORD dwFlags // action to perform

参数HANDLE hFile指定通信设备的句柄;参数dwFlags共有四种flagsPURGE_TXABORT是终止目前正在进行的写入动作;PURGE_RXABORT是终正目前正在进行的读取动作;PURGE_TXCLEARflush 写入的 buffer; PURGE_TXCLEARflush 读取的 buffer。调用PurgeComm()函数可以终止正在进行的读写操作,还可以清除输入或输出缓冲区中的内容。

上一页  [1] [2] [3] [4] [5] [6]  下一页


本文关键字:通信  和丰  PLC通信plc技术 - PLC通信