|  |  |  | 
|---|
|  |  |  | package com.zy.common; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.zy.common.HslCommunication.Core.Net.NetHandle; | 
|---|
|  |  |  | import com.zy.common.HslCommunication.Core.Transfer.DataFormat; | 
|---|
|  |  |  | import com.zy.common.HslCommunication.Core.Types.ActionOperateExThree; | 
|---|
|  |  |  | import com.zy.common.HslCommunication.Core.Types.ActionOperateExTwo; | 
|---|
|  |  |  | import com.zy.common.HslCommunication.Core.Types.OperateResult; | 
|---|
|  |  |  | import com.zy.common.HslCommunication.Core.Types.OperateResultExOne; | 
|---|
|  |  |  | import com.zy.common.HslCommunication.Enthernet.ComplexNet.NetComplexClient; | 
|---|
|  |  |  | import com.zy.common.HslCommunication.Enthernet.PushNet.NetPushClient; | 
|---|
|  |  |  | import com.zy.common.HslCommunication.Enthernet.SimplifyNet.NetSimplifyClient; | 
|---|
|  |  |  | import com.zy.common.HslCommunication.ModBus.ModbusTcpNet; | 
|---|
|  |  |  | import com.zy.common.HslCommunication.Profinet.Melsec.MelsecA1ENet; | 
|---|
|  |  |  | import com.zy.common.HslCommunication.Profinet.Melsec.MelsecMcAsciiNet; | 
|---|
|  |  |  | import com.zy.common.HslCommunication.Profinet.Melsec.MelsecMcNet; | 
|---|
|  |  |  | import com.zy.common.HslCommunication.Profinet.Siemens.SiemensPLCS; | 
|---|
|  |  |  | import com.zy.common.HslCommunication.Profinet.Siemens.SiemensS7Net; | 
|---|
|  |  |  | import HslCommunication.Core.Net.NetHandle; | 
|---|
|  |  |  | import HslCommunication.Core.Transfer.DataFormat; | 
|---|
|  |  |  | import HslCommunication.Core.Types.ActionOperateExThree; | 
|---|
|  |  |  | import HslCommunication.Core.Types.ActionOperateExTwo; | 
|---|
|  |  |  | import HslCommunication.Core.Types.OperateResult; | 
|---|
|  |  |  | import HslCommunication.Core.Types.OperateResultExOne; | 
|---|
|  |  |  | import HslCommunication.Enthernet.ComplexNet.NetComplexClient; | 
|---|
|  |  |  | import HslCommunication.Enthernet.PushNet.NetPushClient; | 
|---|
|  |  |  | import HslCommunication.Enthernet.SimplifyNet.NetSimplifyClient; | 
|---|
|  |  |  | import HslCommunication.ModBus.ModbusTcpNet; | 
|---|
|  |  |  | import HslCommunication.Profinet.Melsec.MelsecA1ENet; | 
|---|
|  |  |  | import HslCommunication.Profinet.Melsec.MelsecMcAsciiNet; | 
|---|
|  |  |  | import HslCommunication.Profinet.Melsec.MelsecMcNet; | 
|---|
|  |  |  | import HslCommunication.Profinet.Siemens.SiemensPLCS; | 
|---|
|  |  |  | import HslCommunication.Profinet.Siemens.SiemensS7Net; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.util.Arrays; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public static void main(String[] args) { | 
|---|
|  |  |  | MelsecMcNet melsec_net = new MelsecMcNet("192.168.2.6", 6000); | 
|---|
|  |  |  | OperateResult operateResult = melsec_net.ConnectServer(); | 
|---|
|  |  |  | if (operateResult.IsSuccess) { | 
|---|
|  |  |  | System.out.println("连接成功"); | 
|---|
|  |  |  | SiemensS7Net siemens_net = new SiemensS7Net(SiemensPLCS.S300, "192.168.6.1"); | 
|---|
|  |  |  | siemens_net.setSlot((byte) 2); | 
|---|
|  |  |  | siemens_net.setRack((byte) 0); | 
|---|
|  |  |  | OperateResult connect = siemens_net.ConnectServer(); | 
|---|
|  |  |  | if (connect.IsSuccess) { | 
|---|
|  |  |  | System.out.println("connect success!"); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | System.err.println("连接失败" + operateResult.Message); | 
|---|
|  |  |  | System.out.println("failed:" + connect.Message); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | OperateResult d100 = melsec_net.Write("D100", "H000C"); | 
|---|
|  |  |  | if (d100.IsSuccess) { | 
|---|
|  |  |  | System.out.println("发送成功"); | 
|---|
|  |  |  | siemens_net.ConnectClose(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | short[] array = new short[]{9999, 20, 31, 40, 50}; | 
|---|
|  |  |  | OperateResult db100 = siemens_net.Write("DB8.18", array); | 
|---|
|  |  |  | if (db100.IsSuccess) { | 
|---|
|  |  |  | System.out.println("写入成功"); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | System.out.println("写入失败"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //        OperateResultExOne<Short> shortOperateResultExOne = siemens_net.ReadInt16("DB100.2"); | 
|---|
|  |  |  | //        System.out.println(shortOperateResultExOne.Content); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | OperateResultExOne<byte[]> read = siemens_net.Read("DB8.18", (short) 10); | 
|---|
|  |  |  | if (read.IsSuccess) { | 
|---|
|  |  |  | //            for (int i = 0; i<10; i=i+2) { | 
|---|
|  |  |  | //                System.out.println(siemens_net.getByteTransform().TransInt16(read.Content, i)); | 
|---|
|  |  |  | //            } | 
|---|
|  |  |  | System.out.println(siemens_net.getByteTransform().TransInt16(read.Content, 0)); | 
|---|
|  |  |  | System.out.println(siemens_net.getByteTransform().TransInt16(read.Content, 2)); | 
|---|
|  |  |  | System.out.println(siemens_net.getByteTransform().TransInt16(read.Content, 4)); | 
|---|
|  |  |  | System.out.println(siemens_net.getByteTransform().TransInt16(read.Content, 6)); | 
|---|
|  |  |  | System.out.println(siemens_net.getByteTransform().TransInt16(read.Content, 8)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //        // 上面是初始化 | 
|---|
|  |  |  | //        System.out.println(siemens_net.ReadByte("M100").Content); | 
|---|
|  |  |  | // | 
|---|
|  |  |  | //        byte m100_byte = siemens_net.ReadByte("M100").Content; | 
|---|
|  |  |  | //        short m100_short = siemens_net.ReadInt16("M100").Content; | 
|---|
|  |  |  | //        int m100_int = siemens_net.ReadInt32("M100").Content; | 
|---|
|  |  |  | //        long m100_long = siemens_net.ReadInt64("M100").Content; | 
|---|
|  |  |  | //        float m100_float = siemens_net.ReadFloat("M100").Content; | 
|---|
|  |  |  | //        double m100_double = siemens_net.ReadDouble("M100").Content; | 
|---|
|  |  |  | //        String m100_string = siemens_net.ReadString("M100",(short) 10).Content; | 
|---|
|  |  |  | // | 
|---|
|  |  |  | //        siemens_net.Write("M100",(byte) 123); | 
|---|
|  |  |  | //        siemens_net.Write("M100",(short) 123); | 
|---|
|  |  |  | //        siemens_net.Write("M100",(int) 123); | 
|---|
|  |  |  | //        siemens_net.Write("M100",(long) 123); | 
|---|
|  |  |  | //        siemens_net.Write("M100", 123.456f); | 
|---|
|  |  |  | //        siemens_net.Write("M100", 123.456d); | 
|---|
|  |  |  | //        siemens_net.Write("M100","1234567890"); | 
|---|
|  |  |  | // | 
|---|
|  |  |  | //        OperateResultExOne<byte[]> read = siemens_net.Read( "M100", (short) 10 ); | 
|---|
|  |  |  | //        { | 
|---|
|  |  |  | //            if(read.IsSuccess) | 
|---|
|  |  |  | //            { | 
|---|
|  |  |  | //                byte m100 = read.Content[0]; | 
|---|
|  |  |  | //                byte m101 = read.Content[1]; | 
|---|
|  |  |  | //                byte m102 = read.Content[2]; | 
|---|
|  |  |  | //                byte m103 = read.Content[3]; | 
|---|
|  |  |  | //                byte m104 = read.Content[4]; | 
|---|
|  |  |  | //                byte m105 = read.Content[5]; | 
|---|
|  |  |  | //                byte m106 = read.Content[6]; | 
|---|
|  |  |  | //                byte m107 = read.Content[7]; | 
|---|
|  |  |  | //                byte m108 = read.Content[8]; | 
|---|
|  |  |  | //                byte m109 = read.Content[9]; | 
|---|
|  |  |  | //            } | 
|---|
|  |  |  | //            else | 
|---|
|  |  |  | //            { | 
|---|
|  |  |  | //                // 发生了异常 | 
|---|
|  |  |  | //            } | 
|---|
|  |  |  | //        } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 三菱   Q   ASCII通讯格式 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | private  static void MelsecAsciiTest(){ | 
|---|
|  |  |  | private static void MelsecAsciiTest() { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | MelsecMcAsciiNet melsec = new MelsecMcAsciiNet("192.168.1.192",6001); | 
|---|
|  |  |  | OperateResultExOne<short[]> read = melsec.ReadInt16("D100",(short) 2); | 
|---|
|  |  |  | if(read.IsSuccess) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | MelsecMcAsciiNet melsec = new MelsecMcAsciiNet("192.168.1.192", 6001); | 
|---|
|  |  |  | OperateResultExOne<short[]> read = melsec.ReadInt16("D100", (short) 2); | 
|---|
|  |  |  | if (read.IsSuccess) { | 
|---|
|  |  |  | System.out.println(Arrays.toString(read.Content)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else { | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | System.out.println(read.ToMessageShowString()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 四门子 | 
|---|
|  |  |  | * 西门子 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | private static void SiemesTest(){ | 
|---|
|  |  |  | SiemensS7Net siemens_net = new SiemensS7Net(SiemensPLCS.S1200,"192.168.1.195"); | 
|---|
|  |  |  | private static void SiemesTest() { | 
|---|
|  |  |  | SiemensS7Net siemens_net = new SiemensS7Net(SiemensPLCS.S1200, "192.168.1.195"); | 
|---|
|  |  |  | OperateResult connect = siemens_net.ConnectServer(); | 
|---|
|  |  |  | if(connect.IsSuccess){ | 
|---|
|  |  |  | if (connect.IsSuccess) { | 
|---|
|  |  |  | System.out.println("connect success!"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else { | 
|---|
|  |  |  | System.out.println("failed:"+connect.Message); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | System.out.println("failed:" + connect.Message); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | siemens_net.ConnectClose(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | long m100_long = siemens_net.ReadInt64("M100").Content; | 
|---|
|  |  |  | float m100_float = siemens_net.ReadFloat("M100").Content; | 
|---|
|  |  |  | double m100_double = siemens_net.ReadDouble("M100").Content; | 
|---|
|  |  |  | String m100_string = siemens_net.ReadString("M100",(short) 10).Content; | 
|---|
|  |  |  | String m100_string = siemens_net.ReadString("M100", (short) 10).Content; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | siemens_net.Write("M100",(byte) 123); | 
|---|
|  |  |  | siemens_net.Write("M100",(short) 123); | 
|---|
|  |  |  | siemens_net.Write("M100",(int) 123); | 
|---|
|  |  |  | siemens_net.Write("M100",(long) 123); | 
|---|
|  |  |  | siemens_net.Write("M100", (byte) 123); | 
|---|
|  |  |  | siemens_net.Write("M100", (short) 123); | 
|---|
|  |  |  | siemens_net.Write("M100", (int) 123); | 
|---|
|  |  |  | siemens_net.Write("M100", (long) 123); | 
|---|
|  |  |  | siemens_net.Write("M100", 123.456f); | 
|---|
|  |  |  | siemens_net.Write("M100", 123.456d); | 
|---|
|  |  |  | siemens_net.Write("M100","1234567890"); | 
|---|
|  |  |  | siemens_net.Write("M100", "1234567890"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | OperateResultExOne<byte[]> read = siemens_net.Read( "M100", (short) 10 ); | 
|---|
|  |  |  | OperateResultExOne<byte[]> read = siemens_net.Read("M100", (short) 10); | 
|---|
|  |  |  | { | 
|---|
|  |  |  | if(read.IsSuccess) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | if (read.IsSuccess) { | 
|---|
|  |  |  | byte m100 = read.Content[0]; | 
|---|
|  |  |  | byte m101 = read.Content[1]; | 
|---|
|  |  |  | byte m102 = read.Content[2]; | 
|---|
|  |  |  | 
|---|
|  |  |  | byte m107 = read.Content[7]; | 
|---|
|  |  |  | byte m108 = read.Content[8]; | 
|---|
|  |  |  | byte m109 = read.Content[9]; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | // 发生了异常 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private static void PushNetTest() { | 
|---|
|  |  |  | NetPushClient client = new NetPushClient("127.0.0.1", 23467, "A"); | 
|---|
|  |  |  | OperateResult connect = client.CreatePush(new ActionOperateExTwo<NetPushClient,String>(){ | 
|---|
|  |  |  | OperateResult connect = client.CreatePush(new ActionOperateExTwo<NetPushClient, String>() { | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void Action(NetPushClient content1, String content2) { | 
|---|
|  |  |  | System.out.println(content2); | 
|---|
|  |  |  | 
|---|
|  |  |  | if (connect.IsSuccess) { | 
|---|
|  |  |  | System.out.println("连接成功!"); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | System.out.println("连接失败!"+connect.Message); | 
|---|
|  |  |  | System.out.println("连接失败!" + connect.Message); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private static void ModbusTcpTets(){ | 
|---|
|  |  |  | ModbusTcpNet modbusTcpNet = new ModbusTcpNet("127.0.0.1",502,(byte) 0x01); | 
|---|
|  |  |  | private static void ModbusTcpTets() { | 
|---|
|  |  |  | ModbusTcpNet modbusTcpNet = new ModbusTcpNet("127.0.0.1", 502, (byte) 0x01); | 
|---|
|  |  |  | // 当你需要指定格式的数据解析时,就需要设置下面的这个信息 | 
|---|
|  |  |  | modbusTcpNet.setDataFormat(DataFormat.BADC); | 
|---|
|  |  |  | OperateResultExOne<Double> read = modbusTcpNet.ReadDouble("s=2;x=4;200"); | 
|---|
|  |  |  | if(read.IsSuccess){ | 
|---|
|  |  |  | if (read.IsSuccess) { | 
|---|
|  |  |  | System.out.println(read.Content); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else { | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | System.out.println(read.Message); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | modbusTcpNet.Write("100",new int[]{12345,-12345}); | 
|---|
|  |  |  | modbusTcpNet.Write("100", new int[]{12345, -12345}); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private static void NetComplexClientTest(){ | 
|---|
|  |  |  | private static void NetComplexClientTest() { | 
|---|
|  |  |  | System.out.println("Hello World!等待10s关闭"); | 
|---|
|  |  |  | NetComplexClient client = new NetComplexClient(); | 
|---|
|  |  |  | client.setIpAddress("127.0.0.1"); | 
|---|
|  |  |  | client.setPort(12346); | 
|---|
|  |  |  | client.setClientAlias("测试1"); | 
|---|
|  |  |  | client.AcceptString= new ActionOperateExThree<NetComplexClient,NetHandle,String>(){ | 
|---|
|  |  |  | client.AcceptString = new ActionOperateExThree<NetComplexClient, NetHandle, String>() { | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void Action(NetComplexClient content1, NetHandle content2, String content3) { | 
|---|
|  |  |  | System.out.println("Handle:"+content2.get_CodeValue()+"  Value:"+content3); | 
|---|
|  |  |  | System.out.println("Handle:" + content2.get_CodeValue() + "  Value:" + content3); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }; | 
|---|
|  |  |  |  | 
|---|