i tried to create a monitored items operation. but it's always throw an exception error.
i tested to connect and read variables on Siemens plc.
can anyone help me?
Code: Select all
public void StartMonitoring(short PlcIndex)
{
try
{
// Create and initialize subscription
m_subscription = new Subscription(m_opc.GetSession());
m_subscription.PublishingEnabled = true;
m_subscription.PublishingInterval = 100;
// Data change events will be received through Subscription_DataChanged
m_subscription.DataChanged += new DataChangedEventHandler(Subscription_DataChanged);
// Create subscription on server
m_subscription.Create();
foreach (XmlLineNodeClass temp in m_PlcNode.LineNode)
{
string sNode = "\"Aufträge_FSD\".\"Auftrag\"[0].\"SAP_Daten\".\"Strebe\"";
NodeId NodeIdNew = new NodeId(sNode, m_opc.GetNamespaceIndex());
DataMonitoredItem monitoredItem = new DataMonitoredItem(NodeIdNew);
m_monitoredItems.Add(monitoredItem);
}
// Step 3 --------------------------------------------------
// Create monitored items on server
List<StatusCode> results = m_subscription.CreateMonitoredItems(m_monitoredItems);
}
catch(Exception e)
{
m_ error = e.Message,
}
// Display any errors.
}