工业监控里边OPC和MODBUS怎么运用

工业监控里边OPC和MODBUS怎么运用,第1张

OPC是接口协议,开放式通讯,通过OPC仪表和上位机数据库建立联系,软件实现,然后由于OPC是开放的,可以通过OPC同前台 *** 作建立连接,功能扩展很强。

MODBUS只是数字通讯的协议,可以用于手持终端,也可以通过MODBUS卡件建立DCS/PLC与现场仪表的通讯。相当于下位。

MODBUS把仪表数据读进系统,然后通过OPC在PC上实现控制/显示等功能。但具体的各家厂家都有自己的软件,最好还是问厂家了。

OPC和MODBUS不是一个概念,MODBUS是控制设备之间,或者设备与组态之间对话的一种对话协议。而OPC是组态的核心技术,是一种分布式技术手段,用于设备变量点的组织、数据收发、数据共享等。组态与设备通讯,既可以通过MODBUS协议,也可以是PPI等其他协议,而组态实时数据或历史数据,对其他系统共享,如OPC客户端,组态扩展系统等,通过OPC方式实现分布式系统中各节点的数据同步。

package comzsc;

import javautilArrayList;

import javautilDate;

import javautilList;

import combatterybeanCommunityExceptionRecord;

import comserotoninmodbus4jModbusFactory;

import comserotoninmodbus4jModbusMaster;

import comserotoninmodbus4jexceptionModbusInitException;

import comserotoninmodbus4jexceptionModbusTransportException;

import comserotoninmodbus4jipIpParameters;

import comserotoninmodbus4jmsgModbusRequest;

import comserotoninmodbus4jmsgModbusResponse;

import comserotoninmodbus4jmsgReadHoldingRegistersRequest;

import comserotoninmodbus4jmsgWriteRegistersRequest;

import comserotoninmodbus4jmsgWriteRegistersResponse;

import comserotoninutilqueueByteQueue;

public class ReadAWriteUtil {

public static void modbusWTCP(String ip, int port, int slaveId, int start, short[] values) {

ModbusFactory modbusFactory = new ModbusFactory();

//

设备

ModbusTCP

Ip

端口,如果不设定端口则默认为

502

IpParameters params = new IpParameters();

paramssetHost(ip);

if (502 != port) {

paramssetPort(port);

}//

设置端口,默认

502

ModbusMaster tcpMaster = null;

//

参数

1

IP

和端口信息参数

2

:保持连接激活

tcpMaster = modbusFactorycreateTcpMaster(params, true);

try {

tcpMasterinit();

Systemoutprintln("===============" + 1111111);

} catch (ModbusInitException e) {

// Systemoutprintln("11111111111111=="+"

此处出现问题了啊

!");

//

如果出现了通信异常信息,则保存到数据库中

CommunityExceptionRecord cer = new CommunityExceptionRecord();

cersetDate(new Date());

cersetIp(ip);

// cersetRemark(bgName+"

出现连接异常

");

// batteryGroupRecordServicesaveCommunityException(cer);

}

try {

WriteRegistersRequest

request

=

new

WriteRegistersRequest(slaveId,

start,

values);

WriteRegistersResponse

response

=

(WriteRegistersResponse)

tcpMastersend(request);

if (responseisException())

Systemoutprintln("Exception

response:

message="

+

responsegetExceptionMessage());

else

Systemoutprintln("Success");

} catch (ModbusTransportException e) {

eprintStackTrace();

}

}

public static ByteQueue modbusTCP(String ip, int port, int start,int readLenth) {

ModbusFactory modbusFactory = new ModbusFactory();

//

设备

ModbusTCP

Ip

与端口,如果不设定端口则默认为

502

IpParameters params = new IpParameters();

paramssetHost(ip);

if(502!=port){paramssetPort(port);}//

设置端口,默认

502

ModbusMaster tcpMaster = null;

tcpMaster = modbusFactorycreateTcpMaster(params, true);

try {

tcpMasterinit();

Systemoutprintln("==============="+1111111);

} catch (ModbusInitException e) {

return null;

}

ModbusRequest modbusRequest=null;

try {

modbusRequest

=

new

ReadHoldingRegistersRequest(1,

start,

readLenth);//

功能码

03

} catch (ModbusTransportException e) {

eprintStackTrace();

}

ModbusResponse modbusResponse=null;

try {

modbusResponse = tcpMastersend(modbusRequest);

} catch (ModbusTransportException e) {

eprintStackTrace();

ByteQueue byteQueue= new ByteQueue(12);

modbusResponsewrite(byteQueue);

Systemoutprintln("

功能码

:"+modbusRequestgetFunctionCode());

Systemoutprintln("

从站地址

:"+modbusRequestgetSlaveId());

Systemoutprintln("

收到的响应信息大小

:"+byteQueuesize());

Systemoutprintln("

收到的响应信息值

:"+byteQueue);

return byteQueue;

}

}

以上就是关于工业监控里边OPC和MODBUS怎么运用全部的内容,包括:工业监控里边OPC和MODBUS怎么运用、opc和modbus的区别、java jamod实现modbus 如何读取浮点数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9677676.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存