ke_junjie
2025-06-04 101c57ec4c28bc3c36e49c50a926e9e7c0dd0247
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OpcAccess;
 
namespace iWareSda_QQJF.RGV.RgvModel
{
    class rgvOPC
    {
      
 
        public static OpcDaMode rgvopc(int rgvno,rgvDB rgvdb,OpcDaMode rgvopc)
        {
            try
            {
                rgvopc = new OpcDaMode();
                rgvopc.Class_Initialize("OPC.SimaticNET", "192.168.1.29");//初始化OPC连接
                rgvopc.AddGroup("rgv" + rgvno.ToString() + "_OPC");//自定义组名
                List<string> itemAddress = new List<string>{
                                    rgvdb.rgvNoW,
                                    rgvdb.estopW,
                                    rgvdb.starPosW,
                                    rgvdb.endPosW,
                                    rgvdb.palletType,
                                    rgvdb.taskIdW,
                                    rgvdb.cmdW,
                                    rgvdb.ackTaskFinishW,
                                    rgvdb.resetW,
                                    rgvdb.rgvfatheridW,
                                    //--------------------------
                                    rgvdb.rgvNoR,
                                    rgvdb.getFinishR,
                                    rgvdb.putFinishR,
                                    rgvdb.onLineR,
                                    rgvdb.alarmR,
                                    rgvdb.taskFinishR,
                                    rgvdb.loadedR,
                                    rgvdb.alarmCodeR,
                                    rgvdb.stateR,
                                    rgvdb.posR,
                                    rgvdb.taskIdR,
                                    rgvdb.handShskeR,
                                    rgvdb.posationR,
                                    rgvdb.totalR
 
            };
 
                rgvopc.SetItemAddresses(itemAddress);
                rgvopc.SetGroupDataChange();
                rgvopc.DataValues = rgvopc.ReadValueSerial();
            }
            catch (Exception )
            {
                //errorStr += ex.ToString() + "\r\n";
                
            }
            return rgvopc;
        }
         
    }
}