Need some wonderware guidance

Marc

Member
Join Date
Jun 2004
Location
Nashua, NH
Posts
430
I am drawing a blank on this one.

I have two PCs running intouch 9.5 sp 1 with 1747-pktx cards (winXPprosp1)

17 slc5/04s on DH+ 56kbps

I want to connect these together with ethernet and use only one ktx card to poll the network and share the data via ethernet with the other PC. (flip flop this scenario if comms fail on the KTX card in service)

This is an old system that has been upgraded so the ab1784kt i/o server is set up to use DDE under modify access names.

I have a couple of questions.

1) should I switch the access protocols to suitelink and or should I use the dasabdhplus server instead?

2) to get the data from one pc to the other, is there an advantage to using VIEW as the application or should I just reuse the same server and change the node name to the working computer. I was having trouble with the syntax in setting up VIEW as the application and TAGNAME as the topic, it seemed to work ok in the ww client but not in intouch.

3) Does the failover in 9.5 really work automatically.

Thanks for any responses you night have,

Marc
 
I recently set up IO on one PC, and a WW View Application polling it from another. Basically, in the remote, you set up the access name to be the app on the IO PC. That's for all the tags.

The problem with this scenario is, if the primary PC craps, you lose status on both. Having IO only on one PC is definitely not ideal. I have to do it because of an old PLC that only has serial ports, no enet.

The Viewapp is by far the simplest method, even though it is clunky to set up.
 
1. Yes, go for suitelink if it's a Wonderware IO server.
2 & 3. Reuse the same IO server and employ the failover in the access name setup. The failover does work. You can add delays and even switch back to the original IO server if it recovers.
 
Ok, so I have PC1 and PC2 both with PKTX cards.

Set PC1 and PC2 to use

Access: abplc1
node: PC1
Application name: ab1784ktx
Topic: abplc1
Use suite link
Advise only active

Enable secondary
Node: PC2
application: ab1784ktx
topic: abplc1
Advise active

If I only advise active items, then the secondary card will not generate network traffic untill the first server fails? Is that assumption correct?

Also one last thing, is there any advantange to using the DAserver ABDASHDplus over the AB1784kt IOserver?

We are not employing SQL at this time (maybe in the future).

Greatly appreciated

Marc
 
Yes, this works. We have it deployed on our machines. At one time, we actually had 4 IO servers - 1 Ethernet and 1 DH+ on each server. This gave us failover for server failures as well as ethernet switch failures.

Now we utilize direct ethernet connection to the data collection agent from each server, and have no DH+ connection.

What are you going to do if you upgrade servers? We chose to utilize the ControlLogix gateway to interface with our DH+ networks. That way, we don't have to worry about DH+ compatability with the operating system or any PKTX hardware failures. In addition, not knowing what system architecture will be supported in the future, we won't have to purchase new DH+ cards.

If you do choose to utilize a ControlLogix gateway in the future, you might want to consider splitting up your network. 17 PLC's on one DH+ network can be quite slow network response. Especially if you don't optimize your communications.
 
Thanks everyone,

Yes,
Actually this is for a customer of ours and the network is split between 2 buildings. One had 14 SLCs and a PC and the other has 3 SLCs and a PC.

I have been tossing out a few options like a clx gateway or upgrading the small section of the network to Enet SLCs (5/05) thus decreasing the network length which will allow the reamining DH+ to run at 230kbps.

Thanks for the suggestions, I think I was looking at the trees and not seeing the forrest.

I'm gonna try this setup later today and I'll let you know how it goes.

Marc

Oh one more thing, about the two different server types, the ABDHPLUS DA server and the 1784ktx io server. Any preferences?
 
Last edited:
I like the DA servers. I don't know how they perform with SLC's though. You may be forced to use the ABDHPLUS. Try it and see.
 
Marc, when I saw your topic I knew I’d be typing for hours. Sorry for the long post. Grab a coffee…

I’ve never been able to get the Nodename, View, Tagname approach for remote access names to work. We reference the IO or Data server in the remote node rather than View.

I’m in the midst of doing much the same thing as you. We’re running IT v9.0 but will soon go to 9.5. We’ve also eliminated KT cards altogether and gone with CLX bridges consisting of ENBT and DHRIO modules (that may not have been a wise choice – more on that later). Our HMIs are in redundant pairs, that is, we run the same app on 2 nodes. We also run the ABCIP DAServer on both nodes with the identical configuration, but only one is being used at any one time.

Here’s how we do it. HMI1 acts as the master or server. HMI2 is the client. The access name is set with the node name blank so the app looks to the local node for the DAServer. In the start up script we first check node name, then if node name is HMI2 we use the IOSetAccessName function to change the node name in all of it’s access names to HMI1. This does not allow for any failover.

I’ve done some tests of v9.5 failover. It works, but only as far as it’s connection to the DAServer. If the connection to the DAServer it’s talking to fails, then it fails over, but if the connection between the DAServer and the plc fails, the failover does nothing. After discovering this, and on the advice of members here and with guidance from WW tech support, we decided to set up heartbeats for the PLCs in our future tests.

First I set up separate access names for the different paths that the comms can take. Do not use the existing access names. You need independent data. In our test we set up Path1 (HMI1, DASABCIP, Path1) and Path2 (HMI2, DASABCIP, Path2). Path1 used the DAServer in HMI1, and Path2 used HMI2. Each new access name got one tag only, that read the second clock in the PLC5 S:23, PLCsecond1 and PLCsecond2.

I then wrote a data change script to watch each of the two tags. The script toggles a memory discrete tag. So now I’ve got 2 discretes, PLCheartbeat1 and PLCheartbeat2, toggling on and off. You could avoid this step by creating the heartbeat in the PLC, but then you rely on the processor to be in run mode for the heartbeat to work. With my method the heartbeat continues to function even if the processor is in program mode (I don’t want to fail over just because we’re in prog mode).

Next comes 2 condition scripts, each looking at PLCheartbeat1 and PLCheartbeat2. ON TRUE and ON FALSE scripts set (=1) a new pair of memory discrete tags, Path1OK and Path2OK. WHILE ON and WHILE FALSE (10 seconds) reset the tags to =0.

Now another single condition script looks at the condition “NOT Path1OK AND Path2OK AND NOT FailOverTrigger”. WHILE TRUE (10 sec) we set another new memory discrete called FailOverTrigger. This script will only run once after a 10 second delay since “NOT FailOverTrigger” is in the conditions.

Another single condition script uses the condition “Path1OK AND FailOverTrigger”. WHILE TRUE (10 sec) we reset (=0) FailOverTrigger. Again, this script will only run once after a 10 second delay since “FailOverTrigger” is in the conditions.

The FailOverTrigger tag is used as the access name’s failover condition. We selected “switch back…” with a 10 second deadband for both.



For your other questions… We use Suitelink whenever possible with WW software.

The Daserver will not create any network traffic unless it’s being asked by Intouch. Our idle (backup) DAServer on the HMI2 does nothing until failover. “Advise only active” does not affect that. It’s the traffic from the server in use that it affects. The server in use will create more traffic if you Advise All. The backup will sit there idling.

As for KT cards vs CLX hardware. We’re finding that KT cards were more efficient. The 2 nodes were absolute twins in our previous set up. Each node ran it’s own IO server and retrieved it’s own data from the PLCs. Since each node was running the identical app, this effectively doubled the necessary HD+ traffic, but we never had any troubles.

Jump to the new setup. Our old NT boxes were getting on 6 years old, so we bought new HP hot rods, but they didn’t have ISA slots. We decided to go the CLX bridge route. In our facility we have four such HMI pairs each talking to two PLC5s on four separate DH+ networks. On the advice of Rockwell tech support we dumped the idea of buying 8 new KT cards in favor of installing a pair of CLX bridges each consisting of an ENBT module and two DHRIO modules, giving us a total of 8 DH+ nodes. Each of the four existing DH+ networks was wired to one of the four DH+ nodes in each of the two bridges. The four DH+ networks remain separated. This gave us some redundancy. If one bridge fails we could switch to the other. IN THEORY!!!!

We found that we could not push all eight IT nodes through one bridge. We got time out alarms. We then spread the apps out amongst the bridges. 2 pairs running through bridge 1 and the other two using bridge 2, making sure that each DH+ module only had one active port working at any one time. This helped but still caused some time out alarms. That’s when we started to go the server/client route with the Intouch node pairs. This helped a lot, since it cut the traffic in half. We still get the occasional timeout alarm. FYI…our IT apps are not very big. Average tag count per node is between 2k and 3k. Update times are split. 75% are around one second with the rest set to around 5 seconds. We set up each apps topic names in the DAServer’s with unique update time (prime numbers in milliseconds).

I have since had the opportunity to talk to the Rockwell tech that recommended using the CLX bridges instead of KT cards. I had him stumped. After some consulting, he feels that the KT card may be more efficient since it uses the PC processor, where as the DHRIO module has it’s own processor which may be slower. I’m starting to think that when talking to DH+, using the hardware that was originally designed for the purpose, KT cards, is the way to go. The CLX DHRIO modules seem to be an afterthought to interface new technology with legacy hardware.
 
Wow,

Thanks for the posts, sounds like you had quite an adventure wildswing.

Going with the previous advice I recieved, I set up the failover on both PCs and used the node names of the computers to direct the secondary source to the right location which appears to work great provided the DH+ cable is unplugged from one of the KTX cards or if one of the DH plus i/o servers is not running.

The I.O server is setup to run as an application via the startup directory on the start menu (ie executes on boot). When I remove the server from the startup group on PC1 (the primary source for both machines, both units failover to PC2 no problem. But since the I/O server is not running on PC1 there is nothing to fail back to. If I start the IO server on PC1 the communications to both machines fails. Same goes for the opposite direction.

There must be something I am missing in the setup that I can't quite figure out and it's a little frustrating trying to figure this out with the customer around (if you know what I mean).

Each sever is setup using the identical Access names (17 of them) and I think that might be part of the problem, or is there some setting in the configuration of windowviewer that needs to be changed?

I can't figure out why when both servers are running and connected to DH+ that communications fail. Either/or works like it should and wwlogger is not giving me any clues, it just tells me that communications have been lost and all of the nodes go into slow poll mode.

ARRRGGGHHHH

Marc

PS I am going to print out your message and read it again and again now that I have ranted a bit :)
 
Last edited:
Marc,
First, configure your IO server as a service so it can't be shutdown that easily. I also would prefer using the DA server since it's already a service and you can monitor/configure it from other nodes and there's extensive diagnostics available.
Second, If the logger shows the "...slow poll mode", it will eventually retry to connect to the IO sever after a few minutes. The delay is so that Intouch doesn't hammer the system with read and write requests when there's no communication available. If it still doesn't work, try scripting with the IOStartUninitConversations() or IOReinitialize() functions to re-initialize communication. There's also a function that will tell you when you are on the primary or backup IO server as well but I can't remember the name at the moment.
 
Thanks again to everyone for the feed back, DaveW, wildswing, oakley and Tomalbright. You have sent me looking in several directions and I really appreciate you taking the time to help out.

I have not been on site since Friday and have no way to simulate the setup back at my shop.

One thing I noticed is that there are tags in the tag database set up for accessname_status and these are defined as alarm tags I think these are automatically created when the ab1784kt acces name is defined. When I plug the DH+ card or activate the second server, these all fire off as faults and win911 starts sending out pages to that effect.

Displayed on each screen is a comms "ok" or "fault" text which is also controlled by these tags.

Do any of you guys know when the failover is triggered, what I mean is, is it the condition of these status tags or some other veiwable status tag.

I'm thinking that I should create new tags that monitor the status of the status tags and delay alarming until a successful failover has occured. I think the system may be failing back and forth based on the condition of these tags and initializing the comms on one card or the other may be generating false status conditions.

I am heading back to the site today and plan on trying all of the options listed in the above responses (I will let you know if I'm bald by the end of the day).

Wish me luck.

Thanks again

Marc
 
UPDATE:

Tried every possbile configuration setting and could not successfully set up the topic configurations to be the same for both PCs.

Whenever both PCs are using a single ab1784kt server as the primary, communications goes to hell in a hand basket. If I configure them to look at each others card as the primary it works fine. If they look at there own server it works fine. Failover works fine in each instance.

I have a tech support request into wonderware to see if they have any insight, my goal was to reduce the number of active stations on the network and hopefully increase the response time but at least we achieved half of the goal by having a backup path for comm.s if a card or connection goes down.

I'll keep you updated as to their response.

Marc

Thanks for the help!
 
Thanks to every one for thier help. After close analysis of services running on one mchine vs the other, I made the two identical again (they were when we delivered and set them up initially) but someone had gone in and changed some of the services to disabled.

I didn't notice untill this week.

Problem solved, and all was right with the world.

Thanks again to the forum for the time and effort you gave me, I hope I can repay the favor.

Marc
 

Similar Topics

Good morning all. I'm working on a rehab where they had a standalone InTouch 2014 HMI that they called a SCADA, but it's really basic stuff. The...
Replies
4
Views
165
The last time I did anything with Wonderware was just after the dot com bust. Boy, I feel old. Anyway, it looks like I will get the chance to...
Replies
3
Views
1,498
If anyone knows how to connect Wonderware to a Siemens S7-400 please let me know.
Replies
5
Views
1,995
Hi All, I have Multiple Galaxies in a Production Plant. We are working to bring in all the HMI controls into a Centralized Control Room. This...
Replies
2
Views
3,163
hello... I can work in wonderware intouch window maker easily. But when i switch to Runtime(windowviewer) page, it doesnot open... or may error...
Replies
3
Views
4,388
Back
Top Bottom