Browse Source

完成写入及读取

林豪 左 3 years ago
parent
commit
ccdf2cda1f

+ 0 - 1
Projects/永冠OPP/WCS.Service/Works/SRM/SRMWork.cs

@@ -22,7 +22,6 @@ namespace WCS.Service.Works.SRM
 
         protected override void Do(Device<ISRM520, ISRM521, ISRM537> obj)
         {
-            obj.Data2.RES14_2 = 15467;
         }
 
         protected override bool SelectDevice(WCS_DEVICE dev)

+ 1 - 1
Projects/永冠OPP/WCS.Service/Works/Station/涂布入库.cs

@@ -18,7 +18,7 @@ namespace WCS.Service.Works.Station
 
         protected override bool SelectDevice(WCS_DEVICE dev)
         {
-            return dev.CODE == "G1394" || dev.CODE == "G1386";
+            return dev.CODE == "1394" || dev.CODE == "1386";
         }
     }
 

+ 2 - 3
Virtual_PLC/PlcData.cs

@@ -108,9 +108,8 @@ namespace Virtual_PLC
         {
             var data = PLCDatas.Find(v => v.IP == pLCData.IP && v.DB == pLCData.DB);
             var start = startLength < data.DataLength ? 0 : (data.DataLength - startLength) + startLength;
-            //获取原有数据
-            var bytes = System.Text.Encoding.Default.GetBytes(Redis.Get($"{pLCData.IP}:{pLCData.DB}:{start}"));
-            value.CopyTo(bytes, startLength - 1);
+            var bytes = System.Text.Encoding.Default.GetBytes(Redis.Get($"{pLCData.IP}:{pLCData.DB}:{start}")); //获取原有数据
+            value.CopyTo(bytes, startLength); //将变更的数据,更新到redis字节组中
             Redis.Set($"{pLCData.IP}:{pLCData.DB}:{start}", bytes);
         }
     }

+ 5 - 2
WCS.Core/DataTrans/DataBlock.cs

@@ -80,7 +80,6 @@ namespace WCS.Core
 
         public PlcItem<T> Regist<T>(string objid, string name, int start, byte arrLen = 1, byte strLen = 0)
         {
-            var t = typeof(T);
             var pv = new PlcItem<T>(objid, name, this, start, arrLen, strLen);
             Values.Add(pv);
             return pv;
@@ -151,7 +150,7 @@ namespace WCS.Core
             else if (type.IsPrimitive)
             {
                 var revers = Entity.PLC.TYPE == PLCType.西门子;
-
+               
                 return ReadPrimitive(type, ref bitStart, revers);
 
                 //var revers = Entity.PLC.TYPE == PLCType.西门子;
@@ -238,6 +237,10 @@ namespace WCS.Core
             var data = ReadBytes(ref bitStart, size);
             if (reverse)
                 data = data.Reverse().ToArray();
+            if (Entity.CODE == "SRM2_521" && type == typeof(short))
+            {
+                var c = 1;
+            }
             if (type == typeof(byte))
             {
                 return data.First();

+ 1 - 1
WCS.Core/DataTrans/ProtocolProxyBase.cs

@@ -40,7 +40,7 @@ namespace WCS.Core.DataTrans
 
         protected ProtocolProxyBase(string id, WCS_DATABLOCK db, ushort start, WCS_DEVICEPROTOCOL deviceItem)
         {
-           var type = this.GetType();
+            var type = this.GetType();
             if (!LockObjs.ContainsKey(type))
                 LockObjs[type] = new object();