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 itemAddress = new List{ 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; } } }