JAVA-S7协议连接PLC工具类

1.创建一个Springboot项目

2.引入pom文件

<dependency>
   <groupId>com.github.s7connector</groupId>
    <artifactId>s7connector</artifactId>
    <version>2.1</version>
</dependency>

3.创建S7Util工具类

package com.ximenzi.s7.utils;

import com.github.s7connector.api.DaveArea;
import com.github.s7connector.api.S7Connector;
import com.github.s7connector.api.factory.S7ConnectorFactory;


/**
 * @author zyw
 * @version 1.0
 * @date 2021-10-19 15:57
 */

/**
 * S7协议连接PLC工具类
 * JAVA-PLC-RETURN
 *          INT = DINT = INTEGER
 *          STRING = STRING = STRING
 *          Float = REAL = REAL
 *          INT = DWORD = LONG
 *          SHORT = WORD = INTEGER
 */
public class S7Util {


/**
 * ip , 区块 , byte数据,偏移量
 * @param ip
 * @param block
 * @param buffer
 * @param offset
 */
public  void  writePlcRegister(String ip , Integer block , byte[] buffer , Integer offset ){
    S7Connector connector = S7Util.s7Connector(ip);
    connector.write(DaveArea.DB,block,offset,buffer);
}

/**
 * ip , 区块 , 多少位字节 , 偏移量
 * @param ip
 * @param block
 * @param buffer
 * @param offset
 * @return
 */
public  byte[]  readPlcRegister(String ip , Integer block , Integer buffer , Integer offset){
    S7Connector connector = S7Util.s7Connector(ip);
    return  connector.read(
            //选择区块
            DaveArea.DB,
            // 区块编号
            block,
            //字节
            buffer,
            //偏移
            offset);
}


/**
 * 通过IP和端口跟S7进行连接
 * @param ip
 * @return
 */
public static S7Connector s7Connector(String ip){
   return S7ConnectorFactory
            .buildTCPConnector()
            .withHost(ip)
            .withPort(102)
            .withTimeout(10000)
            .withRack(0)
            //optional
            .withSlot(1)
            //optional
            .build();
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值