Skip to content

Commit cdd90f1

Browse files
committed
Siemens TCP/IP Ethernet cannot write bug fixed
1 parent 250d67b commit cdd90f1

File tree

3 files changed

+21
-12
lines changed

3 files changed

+21
-12
lines changed

core/src/main/java/org/iottree/core/DevDriver.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -504,9 +504,6 @@ synchronized final boolean RT_start(StringBuilder failedr) throws Exception
504504
rtTh = new Thread(runner, "iottree-devdriver-" + this.getBelongToCh().getName() + " " + this.getName());
505505
rtTh.start();
506506
}
507-
508-
509-
510507
return true;
511508
}
512509

@@ -672,7 +669,7 @@ synchronized final void RT_stop(boolean bforce)
672669

673670
public boolean RT_isRunning()
674671
{
675-
return rtTh != null;
672+
return bRun;// rtTh != null;
676673
}
677674

678675
public State getDriverState()

core/src/main/java/org/iottree/core/UATag.java

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1533,10 +1533,13 @@ public UAVal RT_setValRaw(Object v,Long updt,Long chgdt)
15331533
return this.RT_setValRaw(v,true,updt,chgdt);
15341534
}
15351535

1536-
private boolean RT_writeValDriver(Object v)
1536+
private boolean RT_writeValDriver(Object v,StringBuilder failedr)
15371537
{
15381538
if(this.isMidExpress())
1539+
{
1540+
failedr.append("mid express tag cannot be written") ;
15391541
return false;
1542+
}
15401543

15411544
StringBuilder sb = new StringBuilder() ;
15421545
DevAddr da = this.getDevAddr(sb);
@@ -1545,17 +1548,24 @@ private boolean RT_writeValDriver(Object v)
15451548

15461549
UACh ch = this.getBelongToCh() ;
15471550
if(ch==null)
1551+
{
1552+
failedr.append("no belong to ch found") ;
15481553
return false; //must has channel
1554+
}
15491555
UADev dev = this.getBelongToDev();
15501556
//if(dev==null)
15511557
// return false;
1552-
15531558
DevDriver dd = ch.getDriver() ;
15541559
if(dd==null)
1560+
{
1561+
failedr.append("no driver found") ;
15551562
return false;
1556-
1563+
}
15571564
if(!dd.RT_isRunning())
1565+
{
1566+
failedr.append("driver is not running") ;
15581567
return false;
1568+
}
15591569

15601570
ValTranser vtrans = this.getValTranserObj() ;
15611571
if(vtrans!=null)
@@ -1564,13 +1574,17 @@ private boolean RT_writeValDriver(Object v)
15641574
{
15651575
v = vtrans.inverseTransVal(v) ;
15661576
if(v==null)
1577+
{
1578+
failedr.append("inverseTransVal is null") ;
15671579
return false;
1580+
}
15681581
v = UAVal.transStr2ObjVal(this.getValTpRaw(),v.toString()) ;
15691582
}
15701583
catch(Exception ee)
15711584
{
15721585
//if(Log.isDebugging())
15731586
ee.printStackTrace();
1587+
failedr.append("RT_writeValDriver err:"+ee.getMessage()) ;
15741588
return false;
15751589
}
15761590
}
@@ -1637,9 +1651,9 @@ else if(ch.isConnBind())
16371651
}
16381652
else
16391653
{
1640-
boolean r = RT_writeValDriver(v);
1641-
if(!r && failedr!=null)
1642-
failedr.append("write to driver failed") ;
1654+
boolean r = RT_writeValDriver(v,failedr);
1655+
//if(!r && failedr!=null)
1656+
// failedr.append("write to driver failed") ;
16431657
return r ;
16441658
}
16451659
}

driver-parent/driver-common/src/main/java/org/iottree/driver/s7/eth/S7Block.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -400,8 +400,6 @@ public boolean setWriteCmdAsyn(S7Addr addr, Object v)
400400
{
401401
S7MsgWrite mc = new S7MsgWrite().withParam(memTp, this.dbNum, addr,v);
402402
mc.init(ppiDrv);
403-
404-
405403
synchronized(writeCmds)
406404
{
407405
writeCmds.addLast(mc);

0 commit comments

Comments
 (0)