Inview Messaging Display

sponge_bob

Member
Join Date
Sep 2008
Location
New York
Posts
5
Hello Everyone!

I need HELP!! programming the INVIEW. This is harder than I thought it would be and it doesnt help if you dont have the Inview to play around with. I have to write a program and download it on a live Inview display screen so I want to make sure I get this right. AB support can get frustrating so I'm counting on you guys.

My Inview is a 2706-P72C, I have the Inview messaging software(IMS)and my PLC is SLC 5/04 using DH+

I want to be able to have 4 conditions to display on the Inview using the 2 counting variables for all 4 conditions. Those variables will be pulled from a variable data address(N10:1, N10:2) in the PLC and its base on a bottles per minute rate so...resolution for update will be high.

On the Inview Messaging Software(IMS), the variable data address will be inserted in {None:1} and {None:2} The 4 conditions being displayed will be base on {None:1} or {None:2} meeting production goal or below production goal.

My Inview would display 4 different message conditions:
1.) If ({None:1} and {None:2}) >= (GOAL), then display in both in
green
2.) If {None:1} < (GOAL) and {None:2} >= (GOAL), then display 1
in red, 2 in green.
3.) If {None:1} >= (GOAL) and {None:2} < (GOAL), then display 1
in green, 2 in red.
4.) If ({None:1} and {None:2}) < (GOAL), then display both in
red.

Message Logic display example:
OO
OX
XO
XX

My questions are:
1.) How do you write these conditions in a syntax string in the ST file? I know it would look somthing like ^V[N10:1]\\1^M, but thats only updating the one of two variables in message #1. You see where im getting confuse?
2.) In the PLC, how do you write the logic to trigger this message string and updating fairly fast to show in Inview? I know I have to use the AWT and the control bit R6:0.

I hope this is clear enough for you guys...Thanks in advance.
I attached the .IVP file to show how I want my display to look like.
 
Last edited:
spongebob,
Hey this is the same question I post a few months ago but i forgot which forum it was. I never did get an answer and I havnt applied my program to see if it works or not.
 
So you're using the RS-232 port to send ASCII messages, not the DH+ interface box for the InView, right ?

I recently did some InView work and it's fresh in my mind. This should be pretty simple.

You need to send a Message trigger string, then a Variable trigger string.

You can put both Variables strings back-to-back and send them together.

Your ladder logic will have the four message conditions selecting which Message trigger string to send, and then you will send a Variable trigger string immediately afterwards.

What I'd do is run a repeating timer every 100 milliseconds and send these strings repeatedly.

Composing the Message trigger string is pretty simple. Composing the Variable strigger string is a little more complex. More info after I experiment with some SLC ladder.
 
Message String composition

The Message string is always the same length and only needs to vary the ASCII representation of the 1-digit Message number.

I'm going to use SLC nomenclature and no quotation marks. I will add spaces for clarity; don't add them to your strings.

The Message triggering strings will be:

^T 1 \\1 ^M
^T 2 \\1 ^M
^T 3 \\1 ^M
^T 4 \\1 ^M

Since the only thing that changes is the second character, we can get sneaky and directly put that ASCII value into the String data. SLC strings store the data in 2-character Words, where the first character is the high byte.

For example, in the strings above, you would be able to address the String data as
ST9:0.DATA[0] = ^T1
ST9:0.DATA[1] = \\
ST9:0.DATA[2] = (null)^M

Remember your ASCII chart:
Decimal 48 = ASCII "0"
Decimal 49 = ASCII "1"
Decimal 50 = ASCII "2"
and so on. My usual trick is to add 48 to the actual single-digit number I want to poke into an ASCII string.

So you will have four rungs with the relations you described, each of which selects a Message value of 1, 2, 3, or 4.

Then you will add 48 to the Message value, and use a Masked Move to put it into the second character of your Message Trigger String.
 
Last edited:
Next you need to put together two Variable trigger strings.
You know the basic syntax for a variable trigger string:

^V 32767 \1 \1 ^M for variable 1
^V 32767 \2 \1 ^M for variable 2

so what we need to do is concatenate (I love that word) at least three strings together with the ACN instruction.

^V
32767
\1\1^M or \2\1^M

to make a single string.

The two fixed strings we just enter as constants into the string file.
The value string we create using an Integer To String (AIC) instruction.
The variable number is again the second character in the string, so we can use our "add 48" trick again.
 
Last edited:
Thanks Ken for taking your time! Although, I believe that we are using DH+.

Remember your ASCII chart:
Decimal 48 = ASCII "0"
Decimal 49 = ASCII "1"
Decimal 50 = ASCII "2"
and so on. My usual trick is to add 48 to the actual single-digit number I want to poke into an ASCII string.

So you will have four rungs with the relations you described, each of which selects a Message value of 1, 2, 3, or 4.

Then you will add 48 to the Message value, and use a Masked Move to put it into the second character of your Message Trigger String.

Sorry I couldnt respond back last night but I think I have an idea. I'm not to sure why I have to use a MVM? Instead of an AIC...can I just do this I will write it as a sentence.
if true: [mov 1, 2, 3 or 4] to [N9:0]

So, in the ST file it will look like this:
ST9:0 ^T[N9:0]^M
This will display the corresponding message#

Then,
ST9:1 ^V[N9:1]\\1\\255^M
This is for updating {None:1}

Then,
ST9:2 ^V[N9:2]\\2\\255^M
This is for updating {None:2}

Lastly,
ST9:3 ^V[N9:1]\\1;[N9:2]\\2\\255^M
This is will be the string that will be sent

Again, I believe I will be using a DH+, I dont know if theres a difference. Thanks!
 
There is no indirect integer-to-string insertion mechanism in RSLogix 500. You have to manually convert your integers to strings, then concatenate the strings together.

The DH+ interface for InView allows the display to poll an integer array inside the SLC to read the Message Trigger and Variable Trigger protocol strings.

Instead of writing ASCII Write instructions in the SLC logic to send the data out the serial port, you just place the string data inside those integer arrays and wait for the InView to pick them up itself.

Do you have the 2706-PDHPK or -PDHPM interface box ?
 
A couple of tidbits about the way RSLogix 500 displays non-alphanumeric characters.

Common control-code characters are displayed with a caret ^ and the control-code letter. Control-C is ^C , Control-D is ^D , etc.

Non-displayable characters that don't correlate to a control-character are entered and displayed in hexadecimal, preceded by a backslash. A null character is \00, for example. If you enter a control-character's hexadecimal equivalent, it is converted to a caret notation: \0d becomes ^M.

A special exception is the backslash character itself. You end up entering a double-backslash to indicate that the backslash character is to be used, rather than using the backslash to indicate a hex value. "\" is entered and appears as "\\" but you will see it only accounts for one character.

Confused ? Sure you are. Even experts have to go back and look up these little syntax specifics. In RSLogix 5000 they went to what I think is an easier mechanism of using the dollar sign and a hex code for any nonprintable character. The dollar sign itself, of course, uses the same double-character mechanism to distinguish itself.
 
Hello Ken,
Thanks for being patient with me and all your help in explaining. Theres areas I still dont understand.

Can I send you a copy of my program but I really don't want it shown out in the public? You can just look at the messaging portion of the program, its not very big.
 

Similar Topics

Hi, guys, we want to make a small project with InView Messaging software and Logix 5000 using Ethernet. Could you tell us where we get find some...
Replies
1
Views
2,391
We have inview messaging display and would like display time read from PLC. It is on PLC 5000. Does anybody have a sample code that I could use...
Replies
0
Views
1,687
Hello Friends We have a Inview 2706-P72CN2, it had been working OK. Showing OK Parts, NOK Parts and Goal Parts. Suddenly, it has stopped working...
Replies
0
Views
330
Hi, I bought a Weinview/Weintek MT8071ip HMI and an EasyAccess Activation Card. I have activated the card on the HMI (it says activated), but...
Replies
1
Views
900
Currently I'm programming a Controls Spectrum InView P42C-SC using a ControlLogix. The display has an ethernet communications module attached to...
Replies
1
Views
1,337
Back
Top Bottom