We have a few computers running Windows 2000 sp4, LV7.1 with DSC talking via Simatic NET OPC server to a Siemens 315-2DP PLC with S7 protocol over Industrial Ethernet. (computer specs below) They have about 700 tags each. They have been running relative fine for about 3 years now. Last month, one of the original computer's motherboard died and we replaced it with a new one. We rebuilt the harddrive and put the same code on it and now found problems with very slow writes to the OPC.
It manifiests itself two ways. There is a heartbeat 2 tag function. The PC sets one up, then the PLC will set its up, then the PC sets its down, etc. If the PC doesn't reset its tag within 2 seconds, the PLC alarms. Before this was running fine at 100 ms cycle time. With the new system it had to be set at 500 ms. This by itself would have been fine but the main problem is with the running of the machine. Now, when we set multiple setpoint tags at once, they take about 10 seconds or more to all change. But of course by that time the system was expecting the correct feedback and had already alarmed.
I put the Matrikon OPC sniffer in between DSC and the OPC server when I was testing the heardbeat and if the cycle time was too fast, the writes would start backing up in the queue. I put the cycle time slower and eventually it would clear itself out. Once the writes started backing up, the reads wouldn't update either but I believe that's because its all the same queue.
I'm 95% certain that the configuration of DSC and Simatic is the same on the new computer as it was on the old ones. I wasn't the one who initially set them up so something may have been undocumented, but the tag file is the same with the same group update rates and all the Simatic settings used were the default ones At one point, I even copied the ini files from Labview and DSC and the project info for Simatic NCM from one of the old computers onto the new computer.
Seaching through this and Siemens forums for threads about slow updates, I have tried multiple things (for the most part individually) including:
1. OPC group update rate from 200ms to 100 ms then to 500 ms via DSC setting
2. Tried both Async and Sync writes via DSC server OPC config setting
3 Changed Simatic NET parameters
- using different versions of the OPC Server in Simatic Net (v6.0,v6.1,v6.2,v6.2sp1) - the orig computer used v6.1
- S7 protocol OPC Server update rate from 200 ms to 100ms
- changing from connection established on demand to permanent connection
- increasing the PDU size (something to do with packet size I think)
- increasing/decreasing connection timeout times
4. Reduced tag file to only 4 tags
- this made it run faster (by an order of 10) before the effect (of the Writes backing up) still happened
5. Tested it with direct datasocket connections on only 2 links - ran fine with no wait time
6. Forced Windows 2000 to only use 1 cpu via boot.ini file
7 Turning logging off
8. Making DSC use the OPC server timestamp (ini file setting)
but nothing had an effect until I changed the DSC Write Tag vi write value on change option from False to True. Then the 100 ms original cycle time worked fine.
Granted the heartbeat shouldn't have been writing itself all the time until it was changed anyway, but that bug existed since the beginning and it was running fine on the old system. I'll need to do some further testing on writing multiple tags at once to see if this will fix that problem. It may not if all of them need to be changed.
Still the question is why would this system work on an older computer and not on a newer one? Is there another setting somewhere in DSC, the OPC server, Windows or the bios that I'm missing that would account for this or can the change in motherboard/cpu really affect it that much?
Thanks for any insight/info etc.
System Info:
Old system info - worked on 2 different computers (one was rack mount, one was small form factor):
Processor x86 Family 15 Model 2 Stepping 9 GenuineIntel ~2400 Mhz
BIOS Version Phoenix - AwardBIOS v6.00PG
Memory: 1GB
& ASUS AGP motherboard
Processor x86 Family 15 Model 4 Stepping 1 GenuineIntel ~2405 Mhz
BIOS Version BIOS Date: 09/24/04 15:14:37 Ver: 08.00.09
Memory: 1GB
New system info;
Gigabite S Series motherboad w/ dual core processor
Processor x86 Family 6 Model 15 Stepping 13 GenuineIntel ~2000 Mhz
Processor x86 Family 6 Model 15 Stepping 13 GenuineIntel ~2000 Mhz
BIOS Version Award Modular BIOS v6.00PG
Memory: 2GB