package com.qianwen.mdc.service.focas;
|
|
import org.junit.jupiter.api.AfterEach;
|
import org.junit.jupiter.api.BeforeEach;
|
import org.junit.jupiter.api.Disabled;
|
import org.junit.jupiter.api.Test;
|
|
import com.qianwen.mdc.service.focas.types.ODBST;
|
import com.sun.jna.Platform;
|
import com.sun.jna.ptr.ShortByReference;
|
@Disabled
|
public class FocasJavaClientTest {
|
public static String IP = "192.168.1.8";
|
public static short port = 8193;
|
|
FocasJavaClient client = new FocasJavaClient();
|
|
@BeforeEach
|
public void setUp() {
|
//CLibrary INSTANCE = (CLibrary) Native.load(Platform.isWindows() ? "libtest" : "test", CLibrary.class);
|
client.setIp(IP);
|
client.setPort(port);
|
|
int ret = client.connect();
|
System.out.println("connret="+ret);
|
|
|
}
|
@AfterEach
|
public void tearDown() {
|
client.disconnect();
|
}
|
@Test
|
public void testConn() {
|
ShortByReference flibHndl = new ShortByReference();
|
//int r = MyJNAFocas.MathLib.add(9, 20);
|
//System.out.println(r);
|
|
//MyJNAFocas.HxFocas.connectServer("localhost", (short)8193, 5000, flibHndl);
|
try {
|
short result = JNAJavaFocas.Fwlib.cnc_allclibhndl3(IP, port, 10, flibHndl);
|
System.out.print(result);
|
short ret = JNAJavaFocas.Fwlib.cnc_freelibhndl(flibHndl.getValue());
|
|
System.out.print("ret="+ret);
|
} catch (Exception e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
|
}
|
|
//@Test
|
public void testReadCncType1() {
|
FocasJavaClient c = new FocasJavaClient();
|
c.setIp(IP);
|
c.setPort(port);
|
c.setTimeout(5);
|
c.connect();
|
String ty = c.readCncType();
|
System.out.println(ty);
|
c.disconnect();
|
}
|
String byteArrToString(byte[] bytes) {
|
if(bytes == null) {
|
return null;
|
}
|
|
char[] charArr = new char[bytes.length];
|
|
int i = 0;
|
while(bytes[i] != 0 && i<bytes.length) {
|
charArr[i] = (char)bytes[i];
|
i++;
|
}
|
|
return new String(charArr,0,i);
|
}
|
/**
|
* 自测方法
|
*/
|
/*
|
@Test
|
public void testReadCncType() {
|
ShortByReference flibHndl = new ShortByReference();
|
|
|
try {
|
short result = JNAJavaFocas.Fwlib.cnc_allclibhndl3(IP, port, 10, flibHndl);
|
|
ODBSYS sysInfo = new ODBSYS();
|
short val = JNAJavaFocas.Fwlib.cnc_sysinfo(flibHndl.getValue(), sysInfo);
|
String se = "d";//new String(getBytes(sysInfo.cnc_type)).trim();
|
//32, 48
|
String cncTypeNum = this.byteArrToString(sysInfo.cnc_type);//类型编号
|
|
String CNCType;
|
switch (cncTypeNum)
|
{
|
case "15":
|
CNCType = "Series 15/15i";
|
break;
|
case "16":
|
CNCType = "Series 16/16i";
|
break;
|
case "18":
|
CNCType = "Series 18/18i";
|
break;
|
case "21":
|
CNCType = "Series 21/21i";
|
break;
|
case "30":
|
CNCType = "Series 30i";
|
break;
|
case "31":
|
CNCType = "Series 31i";
|
break;
|
case "32":
|
CNCType = "Series 32i";
|
break;
|
case "35":
|
CNCType = "Series 35i";
|
break;
|
case " 0":
|
CNCType = "Series 0i";
|
break;
|
case "PD":
|
CNCType = "Power Mate i-D";
|
break;
|
case "PH":
|
CNCType = "Power Mate i-H";
|
break;
|
case "PM":
|
CNCType = "Power Motion i";
|
break;
|
default:
|
CNCType = "其它类型";
|
break;
|
}
|
|
String seriesStr = this.byteArrToString(sysInfo.series);//类型编号
|
System.out.println("val="+val+",data="+CNCType);
|
System.out.println("seriesStr="+seriesStr);
|
System.out.println("version="+this.byteArrToString(sysInfo.version));
|
System.out.println("mttype="+this.byteArrToString(sysInfo.mt_type));
|
System.out.println("axes="+this.byteArrToString(sysInfo.axes));
|
|
|
short ret = JNAJavaFocas.Fwlib.cnc_freelibhndl(flibHndl.getValue());
|
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
|
}
|
*/
|
|
@Test
|
public void testReadState() {
|
|
ODBST obj = client.readState();
|
System.out.println(obj);
|
}
|
|
@Test
|
public void testReadSpindleOverride() {
|
|
int r = client.readSpindleOverride();
|
System.out.println(r);
|
|
}
|
@Test
|
public void readActs() {
|
int actSpeed = client.readActs();
|
System.out.println(actSpeed);
|
}
|
|
@Test
|
public void testReadSpLoad() {
|
float spLoad = client.readSpLoad();
|
System.out.println(spLoad);
|
}
|
|
@Test
|
public void testReadActf() {
|
float actf = client.readActf();
|
System.out.println(actf);
|
}
|
@Test
|
public void testReadPrgNo() {
|
int prgNo = client.readPrgNo();
|
System.out.println(prgNo);
|
}
|
@Test
|
public void testReadRealPrgName() {
|
String prg= client.readExePrgName();
|
System.out.println("当前执行程序="+prg);
|
}
|
|
@Test
|
public void testReadCurToolNo() {
|
Integer tool= client.readCurToolNo();
|
System.out.println("tool="+tool);
|
}
|
|
@Test
|
public void testReadAxisName() {
|
client.readAxisName();
|
}
|
@Test
|
public void testReadPosition() {
|
client.readPosition();
|
//System.out.println("tool="+tool);
|
}
|
@Test
|
public void testReadAxisServoload() {
|
client.readAxisServoload();
|
//System.out.println("tool="+tool);
|
}
|
@Test
|
public void testReadAlarm() {
|
client.readAlarm("GBK");
|
//System.out.println("tool="+tool);
|
}
|
|
String byteArrToString2(byte[] bytes) {
|
if (bytes == null) {
|
return null;
|
}
|
|
char[] charArr = new char[bytes.length];
|
|
int i = 0;
|
while (i < bytes.length && bytes[i] != 0) {
|
charArr[i] = (char) bytes[i];
|
i++;
|
}
|
|
return new String(charArr, 0, i);
|
}
|
//@Test
|
public void testByteToString() {
|
byte[] bs = new byte[] {32,48};
|
String a = byteArrToString2(bs);
|
//System.out.println("tool="+tool);
|
}
|
}
|