comparaison string

Forum traitant des automates industriels de marque Siemens.
Avatar de l’utilisateur
steph31
Forcené des structures
Forcené des structures
Messages : 177
Inscription : 20 oct. 2015, 19:17
Localisation : Toulouse

comparaison string

Message par steph31 »

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é.
Boutons.PNG
Boutons.PNG (11.71 Kio) Consulté 1691 fois
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.
config.PNG
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
Avatar de l’utilisateur
fish
Dieu du process
Dieu du process
Messages : 986
Inscription : 20 oct. 2015, 17:44

Re: comparaison string

Message par fish »

Salut,
J'en ai marre des ados sur ce forum qui parlent de string, de boutons et qui voudraient que leur bit monte à 1 ! :lol:
Avatar de l’utilisateur
ProfnovA
Créateur de langage
Créateur de langage
Messages : 525
Inscription : 21 oct. 2015, 08:21

Re: comparaison string

Message par ProfnovA »

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.
Avatar de l’utilisateur
steph31
Forcené des structures
Forcené des structures
Messages : 177
Inscription : 20 oct. 2015, 19:17
Localisation : Toulouse

RESOLU Re: comparaison string

Message par steph31 »

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.
Répondre