Panelview to Wonderware Conversion Question

ChrisP

Member
Join Date
Jul 2010
Location
Richardson, TX
Posts
11
I am converting a PV program into Wonderware 10. I've got most of it done, but I've got a couple of issues. In PV the alarms are done on the PLC by reading an integer value of a bit and then the alarm messages are on the PV program. In Wonderware, it wants to look at the value of all the individual tags and then you have to set WW up with the alarm conditions. I don't have the info available to me right now to know what triggers all the alarm conditions. What I would like to know if there is a way I can just read this integer value from the PLC and have Wonderware use it as an alarm. If I just create a string message and display it as an alarm, then Wonderware won't recognize it as an alarm and for acknowledgment and history purposes. o_O

The other issue I am having is similar in that the plc is passing an integer value that has over 190 messages associated with it in PV. PV has a very nice multistate indicator setup for that, and Wonderware doesn't. Does anyone have any ideas on how to make this work in Wonderware?

Thanks in advance for any help you can offer.
 
Must be a new Wonderware than what I used. It's been a while since I did the WW thing but I did then what you're trying to do now. Maybe WW has changed, but I would wonder why...
 
Wonderware doesn't have a multistate function, but you can use a script for the same result. I have a system where 100 items were stacked together, and I put them in a script and left a text variable on the screen.

Use the "While Showing" window script, and generate something like this:

Code:
IF CF_WT3_Well_Number == 1 THEN CF_WT3_Well_Actual = "13";
ELSE IF CF_WT3_Well_Number == 2 THEN CF_WT3_Well_Actual = "34";
ELSE IF CF_WT3_Well_Number == 3 THEN CF_WT3_Well_Actual = "93";
ELSE IF CF_WT3_Well_Number == 4 THEN CF_WT3_Well_Actual = "94";
ELSE IF CF_WT3_Well_Number == 5 THEN CF_WT3_Well_Actual = "95";
ELSE IF CF_WT3_Well_Number == 6 THEN CF_WT3_Well_Actual = "96";
ELSE IF CF_WT3_Well_Number == 7 THEN CF_WT3_Well_Actual = "98";
ELSE IF CF_WT3_Well_Number == 8 THEN CF_WT3_Well_Actual = "100";
ELSE IF CF_WT3_Well_Number == 28 THEN CF_WT3_Well_Actual = "104";
ELSE IF CF_WT3_Well_Number == 29 THEN CF_WT3_Well_Actual = "107";
ELSE IF CF_WT3_Well_Number == 31 THEN CF_WT3_Well_Actual = "35";
ELSE IF CF_WT3_Well_Number == 32 THEN CF_WT3_Well_Actual = "50";
ELSE IF CF_WT3_Well_Number == 33 THEN CF_WT3_Well_Actual = "52";
ELSE IF CF_WT3_Well_Number == 34 THEN CF_WT3_Well_Actual = "34D";
ELSE IF CF_WT3_Well_Number == 35 THEN CF_WT3_Well_Actual = "49";
ELSE IF CF_WT3_Well_Number == 36 THEN CF_WT3_Well_Actual = "30";
ELSE IF CF_WT3_Well_Number == 37 THEN CF_WT3_Well_Actual = "30D";
ELSE CF_WT3_Well_Actual = "BLANK";
ENDIF;
ENDIF;
ENDIF;
ENDIF;
ENDIF;
ENDIF;
ENDIF;
ENDIF;
ENDIF;
ENDIF;
ENDIF;
ENDIF;
ENDIF;
ENDIF;
ENDIF;
ENDIF;
ENDIF;

"CF_WT3_Well_Actual" is what I displayed on the screen. this works much better than stacking. I miss the Multistate, too, but at least in Wonderware you can move stuff with the arrow keys... Each manufacturer has its own weird way of doing things.

As far as I know, you can address anything in the PLC directly. I'm not sure what the problem is with your addressing.
 
Last edited:
A little more in depth explanation

Thanks Tom,
Your answer help me with the multi-state indicator problem. I actually used that same idea already with a 9 state msi using a a "while open" window script almost exactly like yours. I was hoping there was some shortcut that I was ignorant of that would help me out here. Ah well, just got make a long script I guess for the 190 states....:(

Now if someone could help with the alarming question. Let me restate, the current alarms in PanelView work by reading the value of an integer passed from the PLC. All the alarms are read from the same location on the PLC. The alarm text message is programmed in the PanelView under the "Alarm Setup" section. So Panelview is not really creating alarms based on readings that a motor or sensor reads, it is simply reporting alarms that are generated by the PLC. Whereas with Wonderware, as far as I understand, it wants to look at the individual tag values for the motors etc. and compare that to the limits you have set for it and then generate an alarm. I hope that makes sense. That is my understanding of the system as of now. Maybe one of you can explain it to me if that is not the way it works. My problem is, I need to convert the 137 alarms that are read from the integer value passed from the PLC to the Panelview into 137 alarms in Wonderware. I only have the alarm messages based on the integer value, I don't know what state of the items is causing the alarm in the PLC, so I cannot set up individual tags in WW that are reading the motor/sensor states and then creating alarms based on those values. I could set up some thing similar to the previous multistate solution, but that does not give me alarm ack/reset functionality, as well as alarm history functionality.
I hope maybe that is a little more clear. Maybe there is no way to do it with the information that I have, but it would be very nice if there was a way.
I trust that there is an expert out there who may read this and be able to help me.
Thanks,
Chris
 
Last edited:
Thanks Tom,
Your answer help me with the multi-state indicator problem. I actually used that same idea already with a 9 state msi using a a "while open" window script almost exactly like yours. I was hoping there was some shortcut that I was ignorant of that would help me out here. Ah well, just got make a long script I guess for the 190 states....:(

Now if someone could help with the alarming question. Let me restate, the current alarms in PanelView work by reading the value of an integer passed from the PLC. All the alarms are read from the same location on the PLC. The alarm text message is programmed in the PanelView under the "Alarm Setup" section. So Panelview is not really creating alarms based on readings that a motor or sensor reads, it is simply reporting alarms that are generated by the PLC. Whereas with Wonderware, as far as I understand, it wants to look at the individual tag values for the motors etc. and compare that to the limits you have set for it and then generate an alarm. I hope that makes sense. That is my understanding of the system as of now. Maybe one of you can explain it to me if that is not the way it works. My problem is, I need to convert the 137 alarms that are read from the integer value passed from the PLC to the Panelview into 137 alarms in Wonderware. I only have the alarm messages based on the integer value, I don't know what state of the items is causing the alarm in the PLC, so I cannot set up individual tags in WW that are reading the motor/sensor states and then creating alarms based on those values. I could set up some thing similar to the previous multistate solution, but that does not give me alarm ack/reset functionality, as well as alarm history functionality.
I hope maybe that is a little more clear. Maybe there is no way to do it with the information that I have, but it would be very nice if there was a way.
I trust that there is an expert out there who may read this and be able to help me.
Thanks,
Chris


usually when alarms are programmed into an integer like that it is part of a first out summary. im not aware of any way for you to do what you want quickly. I guess you could create a memory discrete tag for each alarm value and have ww write a 1 to it if the integer value corresponds to that alarm, but that wouldnt make sense to do it that way. sounds like your best option is to get the logic and build the ww app the right way. have it look at each individual IO point and then you can use the integer value as a first out.
 
OK, I am planning on posting a detailed report on how I went about solving my problem. Ran into a slight problem with my application being created in version 10.0 and the site using version 9.5. A not so very good oversight on someone's part, not mine. Anyway, now I'm trying to find a way to downgrade the app to 9.5 without starting over from scratch. It's a pain considering you can't run both versions on one development machine, unless of course you virtualize which I've done now. So far the virtualization is really sweet and let's me have multiple versions of InTouch up and running on the same Windows 7 PC. I've got a post with the version change question up now, maybe someone will be able to help me.
So, when I get the app actually running at the customer site, I'll let you guys know how I ended up working out the alarming. It's a pretty interesting fix, but I want to wait and see if it works well.

Chris
 
I have no clue how to downgrade.... but if it is as troublesome as upgrading you might have some issues!!!!
 

Similar Topics

Hello. I couldn't find a satisfying answer on the Rockwell support pages. Is the Panelview hardware and Rsview software an alternate HMI to what...
Replies
4
Views
5,614
Hey all, i have a panelview screen (image attached), with 4 items on it. Program 1, Program 2, ...3, ...4. The PLC i am using is a compactlogix...
Replies
5
Views
127
Hello All! Ok, we got a Work cell from a Integrator that is sending saved scanning data from the PLC to HMI (Panel View Plus) when I look at this...
Replies
3
Views
64
saludos a toda la comunidad Hace unos días he venido presentando pérdida de comunicación en una terminal hmi, anexo las imagenes de la secencia...
Replies
1
Views
92
Hello everyone. This is more of an HMI issue. I have a new PanelView Plus 7 Series B. I am using the alarm list object to display the fault...
Replies
0
Views
80
Back
Top Bottom