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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OpcAccess;
using iWareSda_QQJF.SRM.SrmModel;
using logtxtWrite;
 
 
namespace iWareSda_QQJF.SRM.SrmModel
{
    class srmOPC
    {
     
 
        public static OpcDaMode srmopc(int srmno,SrmDBli srmdb,OpcDaMode srmopc)
        {
            try
            {
                srmopc = new OpcDaMode();
                srmopc.Class_Initialize("OPC.SimaticNET", "192.168.1.29");//初始化OPC连接
                srmopc.AddGroup("SRM" + srmno.ToString() + "_OPC");//自定义组名
                List<string> itemAddress = new List<string>{
                                    srmdb.handShakeW,
                                    srmdb.srmNOW,
                                    srmdb.palletTypeW,
                                    srmdb.sourcePosXW,
                                    srmdb.sourcePosYW,
                                    srmdb.sourcePosZW,
                                    srmdb.destinationPosXW,
                                    srmdb.destinationPosYW,
                                    srmdb.destinationPosZW,
                                    srmdb.commandW,
                                    srmdb.emergencyStopW,
                                    srmdb.alarmAckW,
                                    srmdb.taskFinishW,
                                    srmdb.Reserve2W,
                                    srmdb.Reserve3W,
                                    srmdb.stbW,
                                    srmdb.ackW,
                                    srmdb.taskNOW,
                                    srmdb.taskFather,
                                    //--------------------------
                                    srmdb.handShakeR,
                                    srmdb.srmNOR,
                                    srmdb.modeR,
                                    srmdb.alarmISR,
                                    srmdb.liftFullR,
                                    srmdb.posXR,
                                    srmdb.posYR,
                                    srmdb.posZR,
                                    srmdb.posxmmR,
                                    srmdb.posymmR,
                                    srmdb.poszmmR,
                                    srmdb.pickFinishR,
                                    srmdb.deliveryFinishR,
                                    srmdb.taskFinishR,
                                    srmdb.alarmNOR
 
            };
 
                srmopc.SetItemAddresses(itemAddress);
                srmopc.SetGroupDataChange();
                srmopc.DataValues = srmopc.ReadValueSerial();
            }
            catch (Exception ex)
            {
                logtxt.txtWrite("类名:srmOPC,函数名:srmopc  " + logtxt.oneRow(ex.ToString()), 2);
                return null;
                
            }
            return srmopc;
        }
         
    }
}