Internet PLC Forum
General => Technical support => Topic started by: danier on July 13, 2010, 08:38:49 PM
-
hola a todos soy nuevo en la programacion de plcs
mi duda es la siguiente quiero hacer si es posible que los caracteres en el lcd 2 x 16 del plc f1616 se desplazen y que instrucciones debo enviar para esto
de ante mano gracias por su ayuda
[Google Translation]
hi all i am new to PLC programming
my question is this I do if it is possible that the characters in the LCD 2 x 16 f1616 plc slippage and I send instructions for this
beforehand thanks for your help
-
You can connect the LCD216 to the F1616-BA PLC and use the SETLCD command to display anything on the LCD screen. All internal variables, I/Os, real time clock, analog and digital data can be displayed in real time on the LCD.
-
gracias soporte por la respuesta pero mi pregunta es:
si es posible que un texto largo de varios caracteres se pueda desplazar en una linea del lcd 2 x 16 lo que se conoce com (marquesina) el texto es el siguiente;
"Buenos dias bienvenidos a la empresa xxxxxxxxxxx "
por lo que se el lcd es de 16 caracteres y el texto es mayor a 16
quiero saber que instruccion se utiliza para hacer que el texto se desplaze
soy de colombia y estoy muy interesado en sus productos, actualmente trabajo con el f 1616 ba
[Google Translation]
Support thanks for the reply but my question is:
whether it is possible over a number of text characters can move in a line of LCD 2 x 16 so-called com (marquee) text is as follows;
"Good morning, welcome to the company xxxxxxxxxxx"
so that the LCD is 16 characters and the text is greater than 16
I know that instruction is used to make the text moves
I'm from Colombia and I am very interested in their products, currently working with the f1616 ba
-
The LCD does not inherently support the Marqee type running display. You probably will have to emulate that in software. E.g. Put your string inside a string variable:
A$ ="Buenos dias bienvenidos a la empresa xxxxxxxxxxx"
Then you can periodically display a substring from a different starting location:
N = N+1
IF N > LEN(A$) RETURN: ENDIF
B$ = MID$(A$,N,16)
SETLCD 1,1, B$+" "
If you run the above function every 0.2s it should show a running display.
-
soporte gracias por su respusta profe y funciono perfectamente solo me queda un interrogante y es como hana vez y nescescer para que el desplazamineto de los caracteres se haga en forma repetitiva en el display 2 x 16 es decir la funcion los hace desplazar pero solo una vez durnate la ejecucion del programa y necesito que sea repetitivo este mensaje
ademas tengo una funcion para lectura de temeperatura y debo hacer que tomr la lectura a cada minuto y muestre por lcd el la temperatura leyda a cada minuto
soporte gracias por sus valiosas respuestas ha sido de mucha ayuda para mi proyecto
[Google Translation]
thanks for your support and it worked perfectly professional respusta i only have one question and it's like time and nescescer hana to the displacement of the characters are repeatedly made in the display 2 x 16 ie function makes move but only once durnate the execution of the program and need to be repeated this message
also I have a function for reading and I make temeperatura tomr reading every minute and lcd display for the temperature every minute Leyda
thanks for your valuable support response has been very helpful for my project
-
To periodically display something, all you need to do is to construct a ladder program and use a clock pulse to trigger the custom function periodically.
There are 8 built-in clock pulse with periods from 0.01s to 1 minute. E.g. use a 0.5s clock pulse you can make your display change every 0.5s.
Other time period can also be used but you need to construct a timer which reset itself after time out and you use the timer contact to trigger the custom function.
-
This is an improvement on the marquee display code. I've included both the ladder logic to update the display as well as the two custom functions.
I know that this is not exactly the question that Danier posed. But it does give an example of how to invoke a custom function on a periodic basis.
1st.Scan InitMarquee
----||-----------------------------------------------{dCusF}
Clk.0.2s DisplayMarguee
----||-----------------------------------------------{dCusfF}
This is the code for the InitMarquee custom function:
' InitMarquee
'
' String in A$ is used as to generate a scrolling marquee
'
' On exit: z holds the current index into the A$ to be displayed
' y holds lenght of marquee field
'
a$ = "Buenos dias. Bienvenidos a la empresa."
z = 1 ' Starting index into A$
y = 16 ' display field width
This is the code for the DisplayMarquee custom function:
' DisplayMarquee
'
' On entry: A$ is the string to display
' z holds the current index into the A$ to be displayed
' y holds length of marquee field
'
'
'
' On exit: B$ holds string that is displayed
' z is updated to the next position to display.
' y is unchanged
' A$ is unchanged
'
'
B$ = MID$(A$,z,y)
' Pad B$ to field with with " " (ASCII space)
' Spaces are added to ensure that length of B$ is always
' equal to the display field width. This ensures that
' each SETLCD command updates every character on the display.
'
' Note: the is sort of a lazy way to pad the string...
'
WHILE (LEN(B$) < Y)
B$ = B$ + " "
ENDWHILE
' Next index
'
Z = Z + 1
IF (Z > LEN(A$))
Z = 1 ' reset index to beginning of the string
ENDIF
SETLCD 1, 1, B$ ' display the string