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;
| }
|
| }
| }
|
|