Keyence 激光刻印机 通讯指令
在此介绍 MD-F3200/5200 系列 ,MD-F3200/5200 系列 ,MD-U1000 系列 ,ML-Z9600 系列 常用通信接口。
(Keyence激光刻印机的通信接口在Keyence官网可下载,官方文档中有详细介绍,且功能全面,在此仅列举出常用功能,一般激光刻印项目使用已绰绰有余。) (此处仅介绍(C#)程序中的通信部分,如需配合自动化机台使用,还需在 MarkingBuild或MarkingBuildPlus 软件中进行参数设置。) (下文代码中使用的 Socket[1],为System.Net.Sockets命名空间下的Socket类。使用TCP连接即可。
Socket mSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
mSocket.Connect(ip, int.Parse(port));
)
切换刻印程序 命令 WX,ProgramNo=A【CR】 响应 WX,OK【CR】
public bool ChangeProgramNO(string prgNO)//切换 激光刻印机 程序
{
string send = string.Format("WX,ProgramNO={0}\r",prgNO);
socket[1].SendMsg(send,"正在切换激光刻印机使用程序");
string strresult = socket[1].BarcoderResult();
string result= strresult.Split(',')[1].ToString().Trim();
if (result=="OK")
{ return true;}
else
{ return false; }
}
校验程序号 命令 RX,ProgramNo【CR】 响应 RX,OK,A【CR】
public bool CheckProgramNO()//校验 激光刻印机 当前程序编号是否正确
{
string send = "RX,ProgramNO\r";
socket[1].SendMsg(send,"正在获取激光刻印机当前使用程序编号");
string strresult = socket[1].BarcoderResult();
string codenum = strresult.Split(',')[2].ToString().Trim();
if (config.Para.BarCodeNum == Convert.ToInt32(codenum))
{ return true;}
else
{ return false; }
}
将需要打印的4个二维码发送给激光刻印机 对象 PRG=0000~1999,BLK=000~255 命令 WX,PRG=0000,BLK=000,CharacterString=A【CR】 响应 WX,OK【CR】
public bool SendFourCodeToKeyence(string sn1,string sn2,string sn3,string sn4)//将需要打印的4个二维码发送给keyence 打码机
{
string Send = string.Format("WX,PRG={0},BLK=0,CharacterString={1},BLK=1,CharacterString={2},BLK=2,CharacterString={3},BLK=3,CharacterString={4}\r",config.Para.BarCodeNum, sn1, sn2, sn3, sn4);
socket[1].SendMsg(Send,"正在向激光刻印机发送二维码");
string strresult = socket[1].BarcoderResult();
string result = strresult.Split(',')[1].ToString().Trim();
if (result=="OK")
{ return true;}
else
{ return false; }
}
让激光刻印机开始打印二维码 命令 WX,StartMarking【CR】 响应 WX,OK【CR】
public bool StartMarking()//让Keyence 打码机开始打印二维码
{
string Send = "WX,StartMarking\r";
socket[1].SendMsg(Send,"正在打印二维码");
Thread.Sleep(1500);
string strresult = socket[1].BarcoderResult();
string result = strresult.Split(',')[1].ToString().Trim();
if (result == "OK")
{
Log.Show("****** 以上4个二维码打印完成 ******",Color.Green);
return true;
}
else
{ return false; }
}
附交互日志截图
|