Bonjour
Sur ma domotique avec mon S7-300 je connecte su mon automate su serveur video VIVOTEK VS3102 sur un CP340 en RS232.
Le vivotek m’envoie une chaine de caractères quand je clique sur les boutons de sa page web embarqué.
Dans le menu camera control, j’ai sélectionné « Custom Camera » et j’affecte à chaque bouton les caractères en HEXA que je veux envoyer.
EX : Move up = 31 30 31 hexa pour envoyer 101 sur le port comm.
P-ex : je clique sur le bouton « LEFT » j’envoie « 103 », « RIGHT » j’envoie « 104 » sur le port série.
J’aimerai bien que dans mon automate je monte un bit à « 1 » quand je reçois la chaine de caractères 103 sur mon CP340, je monte un autre bit pour la chaine de caractères 104 et ainsi de suite.
Je ne sais pas si c’est possible de faire de la comparaison de chaine de caractères, ou de convertir une valeur numérique string en int ?
Avez-vous une idée ?
Cordialement
comparaison string
Re: comparaison string
Salut,
J'en ai marre des ados sur ce forum qui parlent de string, de boutons et qui voudraient que leur bit monte à 1 !
J'en ai marre des ados sur ce forum qui parlent de string, de boutons et qui voudraient que leur bit monte à 1 !
Re: comparaison string
La chaîne '103' se traduit par un octet = 49 + octet suivant = 48 + octet suivant = 51.
Dans ton tableau de réception des données, vérifie les octets correspondants pour faire une comparaison.
Dans ton tableau de réception des données, vérifie les octets correspondants pour faire une comparaison.
- steph31
- Forcené des structures
- Messages : 177
- Inscription : 20 oct. 2015, 19:17
- Localisation : Toulouse
RESOLU Re: comparaison string
Bonjour
C’est exact. Pour 103 : DB10.DBB0 = 49, DBB1 = 48 et DBB2 = 51. Sachant que DB10 est le DB de réception.
Je compare les 3 octet de DB10 à ce du DB11. Si DB10 et différent de DB11, je copy les octets de DB10 dans DB11.
Ensuite je compare les octets de DB11 pour monter mes bits. Ca fonctionne.
C’est exact. Pour 103 : DB10.DBB0 = 49, DBB1 = 48 et DBB2 = 51. Sachant que DB10 est le DB de réception.
Je compare les 3 octet de DB10 à ce du DB11. Si DB10 et différent de DB11, je copy les octets de DB10 dans DB11.
Ensuite je compare les octets de DB11 pour monter mes bits. Ca fonctionne.