现有触摸屏wince系统,用vs2008开发mfc应用程序,功能是实现8个电机车两两编组,显示主机和从机的数据,界面下端有一排功能按钮进行控制。
数据原来通过CAN线,2条线,一条H,一条L进行收发后发现当数据量很大时容易丢失,
原路线:PLC控制器—CAN线—触摸屏
现改成:PLC控制器—CAN线—CAN转以太网模块(CAN800T)—网线—触摸屏
触摸屏:
CAN800T装置。
现场调试数据
准备:因为是在wince系统,所以环境要安装GVTSDK
由于设计代码太多,这里只进行数据解析。UDP数据接受发送,注意触摸屏和CAN800T的IP地址设计。
Model类:定义数据帧结构体
重点解析UDP接受的字符串,1条完整的数据帧40字节,包含多条,要循环解析
CString temp =_T(“fefd000800000111010002000000000083ba3a1bfefd00080000011201221000000000f283ba3adafefd0008000001130100fe9cfe32000084ba3ab2”);
数据帧:fefd000800000111 01 00 02 00 00 00 00 00 83 ba 3a 1b
标识符ID:0x111
剩下都要解析成相应的 0X01 0X00 0X02 0X00 …
每一位都代表界面的对应的数据,之后要依次赋值,判断值:1or0 显示红和绿
以下是核心解析代码,仅供参考:
涉及到的细节比较多,有兴趣的可以私下联系,本次实例只是单纯解析字符串,像怎么打开CAN800T模块,怎么发送编组信息,界面数据值的计算方法均未提到,对于CAN总线不熟悉的可以自行百度。
现有触摸屏wince系统,用vs2008开发mfc应用程序,功能是实现8个电机车两两编组,显示主机和从机的数据,界面下端有一排功能按钮进行控制。
数据原来通过CAN线,2条线,一条H,一条L进行收发后发现当数据量很大时容易丢失,
原路线:PLC控制器—CAN线—触摸屏
现改成:PLC控制器—CAN线—CAN转以太网模块(CAN800T)—网线—触摸屏
触摸屏:
CAN800T装置。
现场调试数据
准备:因为是在wince系统,所以环境要安装GVTSDK
由于设计代码太多,这里只进行数据解析。UDP数据接受发送,注意触摸屏和CAN800T的IP地址设计。
Model类:定义数据帧结构体
重点解析UDP接受的字符串,1条完整的数据帧40字节,包含多条,要循环解析
CString temp =_T(“fefd000800000111010002000000000083ba3a1bfefd00080000011201221000000000f283ba3adafefd0008000001130100fe9cfe32000084ba3ab2”);
数据帧:fefd000800000111 01 00 02 00 00 00 00 00 83 ba 3a 1b
标识符ID:0x111
剩下都要解析成相应的 0X01 0X00 0X02 0X00 …
每一位都代表界面的对应的数据,之后要依次赋值,判断值:1or0 显示红和绿
以下是核心解析代码,仅供参考:
涉及到的细节比较多,有兴趣的可以私下联系,本次实例只是单纯解析字符串,像怎么打开CAN800T模块,怎么发送编组信息,界面数据值的计算方法均未提到,对于CAN总线不熟悉的可以自行百度。
举报