C/C++实战002:FANUC开发-NC程序传输
linux-dash
A beautiful web dashboard for Linux
项目地址:https://gitcode.com/gh_mirrors/li/linux-dash
免费下载资源
·
为了更好的配合python服务器的调用,所以在开发FANUC的时候还是选择了使用C/C++来编写,因为linux没有.NET环境,无法通过Python直接调用c#编写的类文件,这是我写的FANUC-NC程序传输软件,用的是MFC。
利用FANUC提供的接口文档,我们可以使用cnc_allclibhndl3、cnc_dwnstart4、cnc_download4、cnc_dwnend4几个函数来实现我们的文件传输功能。
首先我们要载入头文件,这里我们用到以下几个:
#include "stdafx.h"
#include "MFCApplication2.h"
#include "MFCApplication2Dlg.h"
#include "afxdialogex.h"
#include "Fwlib32.h"
先设计好我们软件样式,工具箱中可以直接找到我们需要的组件,直接拖进来用就可以了
接着我们要实现第一个功能,那就是连接设备,这里我们要用到的函数是cnc_allclibhndl3,双击connent进入点击事件,输入以下代码即可实现对设备的连接了。
void CMFCApplication2Dlg::OnBnClickedButton3()
{
// TODO: 在此添加控件通知处理程序代码
CString ip;
GetDlgItem(IDCANCEL)->GetWindowText(ip);
short ret;
ret = cnc_allclibhndl3( ip, 8193, 2, &h ) ;
if(ret!=EW_OK)
{
AfxMessageBox("Connent Fail");
return;
}
else
{
AfxMessageBox("Connent Success");
}
}
接着我们要读取文件,点击select进行文件选择,然后将文件路径赋值给fail path 旁的文本框,这样我就获取了文件路径
void CMFCApplication2Dlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
BOOL isOpen = TRUE;
char* filter = "文本(*.nc)|*.nc|所有类型(*.*)|*.*||";
CFileDialog openFileDlg(TRUE, NULL, NULL , OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, filter, NULL);
INT_PTR result = openFileDlg.DoModal();//是否选中文件,或取消了选择
if (result==IDOK)
{
GetDlgItem(IDC_EDIT1)->SetWindowText(openFileDlg.GetPathName());
}
}
最后我们通过文件路径将文件读取并发送至机台,这是方法给出的事例,可以参考,具体的方法我这里不宜发布(谅解)。
The following program registers the following NC program to CNC.
<PROG123> ;
M3 S1200 ;
G0 Z0 ;
G0 X0 Y0 ;
G1 F500 X120. Y-30. ;
M30 ;
#include "fwlib32.h"
short example( void )
{
char* prg =
"\n"
"<PROG123>\n"
"M3 S1200\n"
"G0 Z0\n"
"G0 X0 Y0\n"
"G1 F500 X120. Y-30.\n"
"M30\n"
"%";
long len, n;
short ret;
ret = cnc_dwnstart4( h, 0, "//CNC_MEM/USER/PATH1" ) ;
if ( ret ) return ( ret ) ;
len = strlen( prg ) ;
while ( len > 0 ) {
n = len ;
ret = cnc_download4( h, &n, prg ) ;
if ( ret == EW_BUFFER ) {
continue ;
}
if ( ret == EW_OK ) {
prg += n ;
len -= n ;
}
if ( ret != EW_OK ) {
break ;
}
}
ret = cnc_dwnend4( h ) ;
return ( ret ) ;
}
我把编译好的程序传在CSDN了,有需求的可以下载用用,Fanuc NC program transmission : https://download.csdn.net/download/kevinfan2011/10855257
欢迎关注本人的公众号:编程手札,文章也会在公众号更新
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e
added ecosystem file for PM2 4 年前
5def40a3
Add host customization support for the NodeJS version 4 年前
更多推荐
已为社区贡献6条内容
所有评论(0)