Vijeo Citect no desglosa directamente una palabra en bits, necesita una ayuda. Para ello hay una función que permite saber el estado de un bit determinado en una palabra.
Como parámetros de la función hay que entrar el valor entero del cual queremos extraer un bit (iValue) e indicamos el bit que queremos visualizar (iBitNo).
En la figura se ha colocado una variable de la cual se extrae su valor binario.
Categoria:
Divagaciones varias


Gracias amigo, aunque yo lo hago sin función ( es que me gusta contar
) , no se me habia ocurrido la idea de hacerle una función y mira que he hecho funciones para ver un entero en binario y asi saber que bit esta activo, en caso de fallos o dudas me biene muy bien.
Si no tienes la función y la quieres para proximos posts avisame que te la mando rapidamente.
Saludos.
Que tal, interesante ejemplo, yo e intentando hacer lo siguiente que cuando una variable digital sea igual a 1 me ejecute una funcion solo una vez y cuando sea igual a 0 que se detenga pero no puedo hacerlo, alguna idea??? gracias.
Vamos a ver:
1-Pones un bit a 1 (variable Tag, general), desde programa.
2-Llamas a la función.
3-Se ejecuta si este bit =1
4-El último paso de la función, si se ejecuta ésta, pone el bit a 0
5-Yastá
Gracias pues eso lo habia pensado antes pero no me funciono, lo que hice fue volver a probar sin tener exito alguno, luego me decidi probar en otro lugar y si funciono lo que escribiste.
La diferencia radica que en uno yo me conecto al plc por cable serial y el otro por ethernet, la misma funcion en el serial me funciona bien pero en ethernet no me funciona, alguna idea de esto????
Tambien en ethernet con el citect si puedo ver los valores pero no puedo cmarbiar un bit de memoria desde citect con el cable seria si lo hago sin ningun problema.
Por ultimo si trabajo con el OFSClient con ethernet si puedo cambiar los valroes de los bit’s de memoria, alguna idea de a que se debe el problema, basicamente es con conexion plc ethernet no puedo escribir valores por citect en cambio por serial si los escribo sin ningun problema, gracias de antemano.
Asi, abote pronto: ¿Qué protocolo utilizas con ethernet? Deberia ser MODNET30.
Si comentas que vía serie puedes cambiar valores y vía ehternet no, podría ser tema de direccionado (lo del protocolo)
mmmmmmm, pues la verdad es que no estoy trabajando MODNET30, eh intentado confiugrarlo pero no eh podido lo que hice fue trabajar el OFSClient y ese trabajarlo por tcp.
En el citect uso la configuracion del opc solo que cambio la direccion TwidoSer!%m1 por TwidoEth!%m1.
Sinceramente nunca he trabajado el MOdnet y no tengo la menor idea de como hacerlo si tubieras algun ejemplo simple te lo agradeceria o algun lugar donde pueda leer, gracias.
En el OFS, prueba a cambiar el protocolo a Concept; La dirección te quedará del estilo: 100.100.100.100/Q
Fijate que asi lo estoy trabajando el OFS con protocolo Concept y si me lee los valores pero sigue sin dejarme escribir desde el Citect
(.
Cuando ejecuto el OFSClient yo puedo leer y escribir los valores, pienso que un poco el problema esta en citect alguna configuracion?????
¿qué versión de Citect utilizas? Si es la 6.x debes indicarle dónde está el OFS, la 7.x ya lo hace solo.
Creo que cada vez se me complica, estoy usando la version 7.x, y tengo instalado el OFS, ya no puedo explicarte mas…
/
Y para escribir un bit en una palabra???,
Necesitaría una función que me permita escribir un determinado bit en una palabra, de forma que con una única palabra, y variando el bit de activación, enviar por ejemplo hasta 16 “ordenes” diferentes.
Hey Aki por casualidad no tendras un ejemplo que me puedas enviar de usar el citect 7.x con un modulo ethernet con twido, un ejemplo muy basico encender y apagar un bit de memoria del plc???? please….