Lookout

cancel
Showing results for 
Search instead for 
Did you mean: 

lookout opc client cannot write problem

I have the problem with a Lookout 5.1. application that communicates with the Siemens Simatic S400 trough Siemens Simatic NET OPC Server.
 
Problem: Lookout can read all the variables and communication seems to work fine, if I configure first write variable I can send value to the PLC and it seems ok but if I add one more write variable Lookout doesn't send any values to the OPC Server and PLC even though variable reading continue to work fine.
 
We have a network with 5 PLCs over Industrial Ethernet. PC is connected to the network with Siemens CP 1613 card.
 
Any suggestions would be appreciated.
0 Kudos
Message 1 of 10
(8,432 Views)

There is a known bug in opclient object. We found it in lookout 6, but didn't build fix for 5.x.

 

You can try the attached 5.1 fix and see if the problem is resolved.

 

Backup opclient.cbx in lookout folder, and then copy this one. Restart Lookout.

Ryan Shi
National Instruments
0 Kudos
Message 2 of 10
(8,410 Views)

Thank you for the supplied component, however replacing the OPCClient component didn't solve the problem. I had more time with the system so I have more detailed description of the problem.

I'll first describe the system and the state the system is now. It is ethernet networked Siemens S400 PLC system with 5 PLC station in the network. We had Lookout 5.1 SCADA system with old ISA Applicom ethernet acquisition cards which work fine. The idea was to change the acquisition cards together with the computers. We choose Siemens Simatic NET S7-1613 cards and Siemens OPC server (version 2008). The Lookout application is modified so that the communication with the PLC variables goes trough Lookout OPCClient object and Siemens OPC Server. The modification was done retaining the same aliases as used in Applicom object.

The specific situation is that the network doesn't work well. The communication between SCADA computer and two PLC stations is down. In those circumstances old SCADA computers work fine and continue to communicate with the rest 3 PLC stations. New SCADA application with OPC server has a problem with write variables. If there is enough write variables that belong to the stations with which the communication is down, after several minutes OPCClient stops to send values of all write variables. It looks like once the break occurs the OPCClient cannot send any request to the OPC Server which can be seen when the Lookut application is terminating Lookout gives the following message: "The OPC server is not responding. Click OK to wait 5 more seconds or Cancel to continue without waiting server." indefinitely.

However, all that time read variables work fine. Sending the values to the PLC is also possible using Siemens OPC server tools.

 

To get to the bottom of the problem I have steep down the application to the OPCClient object and simple, one panel, user interface. The application behaves on the following fashion:

o       case 1, 3 configured write variables on the PLC with working communication - with the several configured OPCClient variables (shown on the UI) the application works fine

o       case 2, 16 configured write variables with half of them on the PLC with working communication - the application works but there seems to be some slowdown in the write function, the write is visibly slower

o       case 3, more than 200 write variables with half of them on the PLC with working communication -the application works slower for few minutes (5-10 minutes) and than brakes and no further write requests are send to the OPC Server (for the PLC for which the communication is OK). Upon the application exit, the message "The OPC server is not responding ..." appears.

 

This behavior seems to be a bug because even though some PLC stations have broken communication the application should continue to communicate with the PLC stations that have good communication with the OPC Server.

 

I have made few screenshots I have attached.

 

Any help would be appreciated.

case1case2case3-3case3-2

0 Kudos
Message 3 of 10
(8,287 Views)

Put the attached ini file to Lookout folder. Restart the Lookout. All the OPC communication through Lookout OPClient object will be logged to the file. The file path is configured in the ini file. Of course you can modify it.

 

Post the log file here. Let's see what happens in OPC when you meet the problem.

Ryan Shi
National Instruments
0 Kudos
Message 4 of 10
(8,272 Views)
I have recorded several logs of OPCClient communication with the approximate times of variable changes. First two are recorded on test application (the code is attached - process1.lks) and the last is the log of the complete application wich doesnt send values of write variables from the start.

In the test application three variables are changed:
1. OPC.F310 ('\SYM:'.AgregatC.'CPU412-2DP'.SCADA_Dw.PREF)
2. OPC.F350 ('\SYM:'.AgregatC.'CPU412-2DP'.SCADA_Dw.PREF1)
3. OPC.F354 ('\SYM:'.AgregatC.'CPU412-2DP'.SCADA_Dw.Razina)

First log: OPC_test6_2.txt - test application
12:14:00 start
12:14:10 change of values, all writes ok
12:14:10 change of values, two variables write ok but the third doesnt
12:15:20 change of values, communication broken
12:15:50 application exit

Second log: OPC_test6_3.txt - test application
12:29:00 start, values of variables 4, 1, 0 (PREF, PREF1, Razina)
12:29:30 change of values to 5, 2, 1 ok
12:29:50 change of values to 3, 4, 0 ok
12:30:10 change of values to 4, 2, 1 part ok, part doesnt change
12:30:30 change of values to 5, 1, 0.5 doesnt change, communication broken
12:30:50 trying opc.reconfigure but it doesnt work
12:31:00 application exit

Third log: OPC_miljacka_2.txt - full application, doesnt work from the start. One remark, if I change the value trough OPC Setver tool the value of written to the PLC and Lookout sees the new value of that variable correctly!

I hope this will help to work out the problem.



Download All
0 Kudos
Message 5 of 10
(8,224 Views)
And the code of the test application is attached!
0 Kudos
Message 6 of 10
(8,221 Views)

According to the log file, the behaviour is exactly the same as the problem I said.

When you use the updated opclient.cbx file, please make sure that the old one is not in the lookout folder. Don't just rename that file.

 

I will also try to run your process and reproduce it.

Ryan Shi
National Instruments
0 Kudos
Message 7 of 10
(8,177 Views)

I have checked the application once again and it still doesn't work. I have deleted all opcclient files except the new one.

 

However, since I have made several updates to the Lookout installation I wanted to see how the new component will work with the newly installed Lookout. I have uninstalled the Lookout and all NI components from the computer, deleted all remaining files from the "Program Files" directory and all National Instruments registry keys. I have then installed Lookout once again.

 

I have tested full application and test application and found that the full application behaves the same as before (doesn't write variable values from the start and gives "The OPC server is not responding ..." upon exit) but test application works fine with the original opcclient component. When I replaced the opcclient.cbx file with the new one the full application still behaved the same, that is it doesn't work, and the test application behaved as I have described previously, works for a minute or two and than stops writing variable values.

 

I have noticed several differences in the behaviour of the test application between two OPCClient components. With the old (original Lookout 5.1 OPCClient.cbx) component, when I start Reconfigure procedure, CommFail variable (CommFail variable if true on application start) changes the value from true to false and Update variable turns to true (from false). Also all write variables reset to zero and stay that way until the variable that they are connected with changes the value. With the new OPCClient component Reconfigure procedure doesn't change CommFail variable or Update variable values and doesn't reset write variables, which is logical behaviour.

0 Kudos
Message 8 of 10
(8,158 Views)

The cbx I posted was built a long time ago. I rebuild it for 5.1 and please try this one. If it doesn't work either, it is a new problem in opc.

 

From your screenshot, I see alarms on opc items. Does the alarm happen when the write function stops working? What's the item name of the second alarm "item definition doesn't exist in server address space"?

 

Does the Siemens OPC Server have logging feature? If it can log the opc communication, we can compare with the lookout opc client log.

Ryan Shi
National Instruments
0 Kudos
Message 9 of 10
(8,155 Views)

I have tried the componet you have posted but this one works the same as previous ones, with no difference.

 

There were 7 references to the variables that were not configured at the OPC Server. I have removed those references and there are no such errors now.

 

However the situation remains the same with the communication problems.

 

 

Tomislav Sijak

0 Kudos
Message 10 of 10
(7,866 Views)