php 发那科,FANUC发那科CNC数据采集教程连接CNC
重要:本文最后更新于2019-07-16 08:26:19,某些文章具有時(shí)效性,若有錯(cuò)誤或已失效,請(qǐng)?jiān)谙路搅粞曰蚵?lián)系代碼狗。
發(fā)那科系統(tǒng)的cnc可以通過(guò)官方的支持庫(kù)接口獲取cnc數(shù)據(jù),第一步就是要連接上需要采集的cnc。這里就需要fanuc的api了,如果沒(méi)有下載采集接口文件的,請(qǐng)先下載。FANUC發(fā)那科cnc系統(tǒng)api開(kāi)發(fā)說(shuō)明文檔及例子源碼,然后打開(kāi)你的visual studio跟我一起學(xué)習(xí)吧!
引入Fwlib動(dòng)態(tài)鏈接庫(kù)
這里使用常規(guī)的方法引入會(huì)失敗,因?yàn)檫@些動(dòng)態(tài)鏈接庫(kù)并不是規(guī)范的文件,微軟給我們提供了加載不規(guī)范動(dòng)態(tài)鏈接庫(kù)的方法,這里不多講了,方法不用我們寫(xiě),已經(jīng)寫(xiě)好了的。
進(jìn)入到接口文件的Fwlib文件夾下,將里面的所有dll文件全部復(fù)制到你的項(xiàng)目的debug目錄下。
然后通過(guò)VS中右鍵你的解決方案,選擇添加現(xiàn)有項(xiàng),添加該目錄下的Dot NET sample文件夾下的fwlib32.cs文件。
FANUC發(fā)那科CNC數(shù)據(jù)采集教程一連接CNC
到此,你的項(xiàng)目中已經(jīng)成功引入了發(fā)那科系統(tǒng)的接口文件,我們可以使用相應(yīng)接口采集cnc數(shù)據(jù)了!
連接CNC
在窗口中,拖入標(biāo)簽、輸入框、按鈕控件,輸入框分別對(duì)應(yīng)ip、端口、超時(shí)時(shí)間,然后雙擊按鈕進(jìn)入代碼編輯器,鍵入以下代碼:
int ret = Focas1.cnc_allclibhndl3(textBox1.Text, Convert.ToUInt16(textBox2.Text), Convert.ToInt32(textBox3.Text), out data.h);
if (ret == Focas1.EW_OK)
{
MessageBox.Show("連接成功!");
}
else
{
MessageBox.Show(ret + "");
}
data.h是指我新建的一個(gè)類(lèi)中的靜態(tài)變量,用來(lái)存儲(chǔ)連接成功后的句柄,這個(gè)句柄是我們操作cnc的重要憑證!
如果返回錯(cuò)誤碼,請(qǐng)對(duì)照下面的表,檢查你的問(wèn)題。
EW_PROTOCOL = (-17), /* protocol error */
EW_SOCKET = (-16), /* Windows socket error */
EW_NODLL = (-15), /* DLL not exist error */
EW_BUS = (-11), /* bus error */
EW_SYSTEM2 = (-10), /* system error */
EW_HSSB = (-9) , /* hssb communication error */
EW_HANDLE = (-8) , /* Windows library handle error */
EW_VERSION = (-7) , /* CNC/PMC version missmatch */
EW_UNEXP = (-6) , /* abnormal error */
EW_SYSTEM = (-5) , /* system error */
EW_PARITY = (-4) , /* shared RAM parity error */
EW_MMCSYS = (-3) , /* emm386 or mmcsys install error */
EW_RESET = (-2) , /* reset or stop occured error */
EW_BUSY = (-1) , /* busy error */
EW_OK = 0 , /* no problem */
EW_FUNC = 1 , /* command prepare error */
EW_NOPMC = 1 , /* pmc not exist */
EW_LENGTH = 2 , /* data block length error */
EW_NUMBER = 3 , /* data number error */
EW_RANGE = 3 , /* address range error */
EW_ATTRIB = 4 , /* data attribute error */
EW_TYPE = 4 , /* data type error */
EW_DATA = 5 , /* data error */
EW_NOOPT = 6 , /* no option error */
EW_PROT = 7 , /* write protect error */
EW_OVRFLOW = 8 , /* memory overflow error */
EW_PARAM = 9 , /* cnc parameter not correct error */
EW_BUFFER = 10 , /* buffer error */
EW_PATH = 11 , /* path error */
EW_MODE = 12 , /* cnc mode error */
EW_REJECT = 13 , /* execution rejected error */
EW_DTSRVR = 14 , /* data server error */
EW_ALARM = 15 , /* alarm has been occurred */
EW_STOP = 16 , /* CNC is not running */
EW_PASSWD = 17 , /* protection data error */
/*
Result codes of DNC operation
*/
DNC_NORMAL = (-1) , /* normal completed */
DNC_CANCEL = (-32768), /* DNC operation was canceled by CNC */
DNC_OPENERR = (-514) , /* file open error */
DNC_NOFILE = (-516) , /* file not found */
DNC_READERR = (-517) /* read error */
成功了嗎?感受到成功的喜悅了嗎?關(guān)注代碼狗博客,學(xué)習(xí)更多cnc采集教程。
總結(jié)
以上是生活随笔為你收集整理的php 发那科,FANUC发那科CNC数据采集教程连接CNC的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: http协议 php,PHP中的http
- 下一篇: php网站404页面302,404页面该