labwindowscvi6第七章串行口通信和网络数据传输.pptx
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
int errCode, void *callbackData); • TCP_CONNECT • TCP_DISCONNECT • TCP_DATAREADY
▪ int CVICALLBACK ServerTCPCB (unsigned handle, int event, int error, void *callbackData);
▪ dataSize = ServerTCPRead (g_hconversation, receiveBuf, dataSize, 1000);
2021/2/21
7/11
▪ int ServerTCPWrite (unsigned int Conversation_Handle, void *Data_Pointer, unsigned int Data_Size, unsigned int Time_Out);
▪ int UnregisterTCPServer (unsigned int Port_Number);
▪ int ServerTCPRead (unsigned int Conversation_Handle, void *Data_Buffer, unsigned int Data_Size, unsigned int Time_Out);
▪ i = OpenComConfig (1, “”, 14400, 0, 7, 1, 512, 512); ▪ int CloseCom (int COM_Port); ▪ i = CloseCom (1);
• 读写
▪ int ComRd (int COM_Port, char Buffer[], int Count); ▪ i = ComRd (1, buf, 128); ▪ int ComWrt (int COM_Port, char Buffer[], int Count); ▪ i = ComWrt (1, buf, 128); ▪ int ComRdByte (int COM_Port); ▪ int ComWrtByte (int COM_Port, int Byte);
• RS-232端口定义
1
载波检测
数据装置就绪
6
2
接收数据
请求发送
7
Leabharlann Baidu
3
发送数据
清除发送
8 4
数据终端就绪
振铃指示
9
5
信号地
2021/2/21
2/11
• 数据传输格式
起始位
ASCII码
奇偶 停止位 校验位
• 电气特性
▪ 负逻辑:1=-5V~-15V, 0=+5V~+15V ▪ 最高速率:20kbit/s ▪ 最远距离:15m
• TCP服务器应用程序一旦向系统注册,就等待客户 应用程序的连接请求;而客户应用程序只能向已经 存在的服务器应用程序请求连接。
• 每个TCP服务器需要主机名(如:aaa.bbb.ccc)或主 机IP地址(如:123.456.78.90)和这个主机的唯一端 口号
2021/2/21
6/11
• 服务器函数
• 事件处理
▪ int InstallComCallback (int COM_Port, int Event_Mask, int Notify_Count, int Event_Character, ComCallbackPtr Callback_Function, void *Callback_Data);
2021/2/21
5/11
网络通讯
2. TCP协议(Transmission Control Protocol传 输控制协议 )
• 使用TCP进行网络通信时每个连接包括一个服务器 和一个客户。TCP服务器能通过网络向客户应用程 序发送数据或从客户应用程序接收数据,客户应用 程序也可以向服务器应用程序发送数据或从服务器 应用程序接收数据;
LabWindows/CVI教程(6)
串行口和网络通讯
主讲:乔立岩
2021/2/21
Email: qiaoliyan@hit.edu.cn (交作业) MSN: qiaoliyan@msn.com(在线交流) Tel: 86413532 ext. 8611 (逸夫楼611)
自动化测试与控制研究所
1. 串行口通讯
▪ int RegisterTCPServer (unsigned int Port_Number, tcpFuncPtr Callback_Function, void *Callback_Data);
▪ i=RegisterTCPServer (200, ServerTCPCB, 0) ; ▪ 回调函数:int (*tcpFuncPtr) (unsigned handle, int xType,
• 控制
▪ int FlushInQ (int COM_Port); ▪ int FlushOutQ (int COM_Port);
2021/2/21
4/11
• 状态查询
▪ int GetInQLen (int COM_Port); ▪ i = GetInQLen (1); ▪ int GetOutQLen (int COM_Port); ▪ i = GetOutQLen (1);
▪ notifyCount = 50; // Wait for at least 50 bytes in queue eventChar = 13; // Wait for LF eventMask = LWRS_RXFLAG | LWRS_RECEIVE; InstallComCallback (comport, eventMask, notifyCount, eventChar, ComCallbackFunction, NULL);
▪ i=ServerTCPWrite (g_hconversation, transmitBuf, strlen (transmitBuf) + 1, 1000) ;
2021/2/21
3/11
• 打开配置和关闭
▪ int OpenComConfig (int COM_Port, char Device_Name[], long Baud_Rate, int Parity, int Data_Bits, int Stop_Bits, int Input_Queue_Size, int Output_Queue_Size);
▪ int CVICALLBACK ServerTCPCB (unsigned handle, int event, int error, void *callbackData);
▪ dataSize = ServerTCPRead (g_hconversation, receiveBuf, dataSize, 1000);
2021/2/21
7/11
▪ int ServerTCPWrite (unsigned int Conversation_Handle, void *Data_Pointer, unsigned int Data_Size, unsigned int Time_Out);
▪ int UnregisterTCPServer (unsigned int Port_Number);
▪ int ServerTCPRead (unsigned int Conversation_Handle, void *Data_Buffer, unsigned int Data_Size, unsigned int Time_Out);
▪ i = OpenComConfig (1, “”, 14400, 0, 7, 1, 512, 512); ▪ int CloseCom (int COM_Port); ▪ i = CloseCom (1);
• 读写
▪ int ComRd (int COM_Port, char Buffer[], int Count); ▪ i = ComRd (1, buf, 128); ▪ int ComWrt (int COM_Port, char Buffer[], int Count); ▪ i = ComWrt (1, buf, 128); ▪ int ComRdByte (int COM_Port); ▪ int ComWrtByte (int COM_Port, int Byte);
• RS-232端口定义
1
载波检测
数据装置就绪
6
2
接收数据
请求发送
7
Leabharlann Baidu
3
发送数据
清除发送
8 4
数据终端就绪
振铃指示
9
5
信号地
2021/2/21
2/11
• 数据传输格式
起始位
ASCII码
奇偶 停止位 校验位
• 电气特性
▪ 负逻辑:1=-5V~-15V, 0=+5V~+15V ▪ 最高速率:20kbit/s ▪ 最远距离:15m
• TCP服务器应用程序一旦向系统注册,就等待客户 应用程序的连接请求;而客户应用程序只能向已经 存在的服务器应用程序请求连接。
• 每个TCP服务器需要主机名(如:aaa.bbb.ccc)或主 机IP地址(如:123.456.78.90)和这个主机的唯一端 口号
2021/2/21
6/11
• 服务器函数
• 事件处理
▪ int InstallComCallback (int COM_Port, int Event_Mask, int Notify_Count, int Event_Character, ComCallbackPtr Callback_Function, void *Callback_Data);
2021/2/21
5/11
网络通讯
2. TCP协议(Transmission Control Protocol传 输控制协议 )
• 使用TCP进行网络通信时每个连接包括一个服务器 和一个客户。TCP服务器能通过网络向客户应用程 序发送数据或从客户应用程序接收数据,客户应用 程序也可以向服务器应用程序发送数据或从服务器 应用程序接收数据;
LabWindows/CVI教程(6)
串行口和网络通讯
主讲:乔立岩
2021/2/21
Email: qiaoliyan@hit.edu.cn (交作业) MSN: qiaoliyan@msn.com(在线交流) Tel: 86413532 ext. 8611 (逸夫楼611)
自动化测试与控制研究所
1. 串行口通讯
▪ int RegisterTCPServer (unsigned int Port_Number, tcpFuncPtr Callback_Function, void *Callback_Data);
▪ i=RegisterTCPServer (200, ServerTCPCB, 0) ; ▪ 回调函数:int (*tcpFuncPtr) (unsigned handle, int xType,
• 控制
▪ int FlushInQ (int COM_Port); ▪ int FlushOutQ (int COM_Port);
2021/2/21
4/11
• 状态查询
▪ int GetInQLen (int COM_Port); ▪ i = GetInQLen (1); ▪ int GetOutQLen (int COM_Port); ▪ i = GetOutQLen (1);
▪ notifyCount = 50; // Wait for at least 50 bytes in queue eventChar = 13; // Wait for LF eventMask = LWRS_RXFLAG | LWRS_RECEIVE; InstallComCallback (comport, eventMask, notifyCount, eventChar, ComCallbackFunction, NULL);
▪ i=ServerTCPWrite (g_hconversation, transmitBuf, strlen (transmitBuf) + 1, 1000) ;
2021/2/21
3/11
• 打开配置和关闭
▪ int OpenComConfig (int COM_Port, char Device_Name[], long Baud_Rate, int Parity, int Data_Bits, int Stop_Bits, int Input_Queue_Size, int Output_Queue_Size);