1.创建项目
2.导入pom文件
com.github.s7connector s7connector2.1
3.创建S7类
package com.ximenzi.s7.test;
import com.github.s7connector.api.DaveArea;
import com.github.s7connector.api.S7Connector;
import com.github.s7connector.api.factory.S7ConnectorFactory;
import com.github.s7connector.impl.serializer.converter.StringConverter;
import java.nio.ByteBuffer;
public class S7 {
public static void main(String[] args) {
S7Connector connector = S7ConnectorFactory
.buildTCPConnector()
.withHost("192.168.0.21")
.withPort(102)
.withTimeout(10000)
.withRack(0)
//optional
.withSlot(1)
//optional
.build();
S7.write(connector);
// S7Read.read(connector);
}
public static void read(S7Connector connector){
long startTime = System.currentTimeMillis();
byte[] PlcData = connector.read(
//选择区块
DaveArea.DB,
// 区块编号
4,
//字节
2,
//偏移
258);
long endTime = System.currentTimeMillis();
System.out.println((endTime-startTime)+"ms");
// String str = new String(PlcData);
//System.out.println(str);
String str1 = "";
StringConverter converter = new StringConverter();
String extract1 = converter.extract(str1.getClass(), PlcData, 0, 0);
System.out.println("内置方法转换str="+extract1);
}
public static void write(S7Connector connector){
//String data = "ytytytt";
long startTime = System.currentTimeMillis();
//byte[] bytes = data.getBytes();
ByteBuffer buffer = ByteBuffer.allocate(Long.BYTES);
buffer.putLong(5);
byte[] bytes = buffer.array();
connector.write(DaveArea.DB,4,258,bytes);
long endTime = System.currentTimeMillis();
System.out.println((endTime-startTime)+"ms");
System.out.print("写入成功");
}
}



