[問題]java讀寫三菱plc
我使用網路上提供的open source
(來源1:https://reurl.cc/VDKgoN),
(來源2:https://reurl.cc/Erkyvn)
它的名稱是HslCommunication,下載後在Eclipse匯入jar檔,
撰寫網路上提供的程式碼,第一階段已經可以成功與plc連接溝通,
但無法讀出數據(數據寄存器D200),執行時第28行報出「NullPointerException」訊息,
如下圖:
https://imgur.com/QFjsn57
程式碼如下:
package test;
import HslCommunication.Core.Types.OperateResult;
import HslCommunication.Core.Types.OperateResultExOne;
import HslCommunication.Profinet.Melsec.MelsecMcNet;
@SuppressWarnings("unused")
public class TestPLC {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Hello PLC !!");
MelsecMcNet melsec_net = new MelsecMcNet("192.168.1.195",6000);
melsec_net.setNetworkNumber((byte) 0x00);
melsec_net.setNetworkStationNumber((byte) 0x00);
melsec_net.setConnectTimeOut(1000);
melsec_net.ConnectServer();
OperateResult connectResult = melsec_net.ConnectServer();
if(connectResult.IsSuccess){
System.out.println("連接成功");
}
else {
System.out.println("連接失敗:"+connectResult.Message);
}
int int_D200 = melsec_net.ReadInt32("D200").Content;
System.out.println(int_D200);
錯誤訊息如下:
Exception in thread "main" java.lang.NullPointerException: Cannot invoke "java.lang.Integer.intValue()"
because "HslCommunication.Profinet.Melsec.MelsecMcNet.ReadInt32(String).Content" is
null at test.TestPLC.main(TestPLC.java:28)
軟體版本/硬體規格:
1. Eclipse版本:2022.3,jdk版本:17.0
2. 作業系統:window 10
3. PLC型號:FX-3U
請問程式碼是否有錯誤呢?需要怎麼做才能讀取D200的值呢?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.161.183.10 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/java/M.1657988746.A.F68.html
※ 編輯: popo14777 (118.161.183.10 臺灣), 07/17/2022 00:26:43
※ 編輯: popo14777 (1.163.79.169 臺灣), 07/20/2022 22:19:44
→
07/22 04:14,
2年前
, 1F
07/22 04:14, 1F
請問要怎麼做呢
※ 編輯: popo14777 (118.161.142.214 臺灣), 07/23/2022 15:05:55
推
07/26 08:58,
2年前
, 2F
07/26 08:58, 2F
→
07/26 08:59,
2年前
, 3F
07/26 08:59, 3F
→
07/26 08:59,
2年前
, 4F
07/26 08:59, 4F
→
07/26 09:01,
2年前
, 5F
07/26 09:01, 5F
→
07/26 09:01,
2年前
, 6F
07/26 09:01, 6F
java 近期熱門文章
PTT數位生活區 即時熱門文章