Présentation des modules CUBLOC
Principe de fonctionnement des modules CUBLOC
Les CUBLOC™ sont de petits modules destinés à prendre place au cœur de vos applications afin d'en assurer une gestion "informatique". Ces derniers intègrent à la fois un microcontrôleur programmable en langage "BASIC" très évolué (proche du " C" ) ainsi qu’un mini-automate (PLC) programmable en langage contact, lesquels pourront être exploités simultanément de part la structure multitâches des CUBLOC™.
Il vous sera ainsi possible d’utiliser les modules CUBLOC™ uniquement en langage BASIC, uniquement en mode PLC ou avec 2 applications séparées (BASIC et PLC) fonctionnant en même temps ! Les CUBLOC™ sont donc tout indiqués pour les personnes ayant des connaissances dans l’une des 2 technologies (programmation BASIC ou langage contact), lesquels pourront commencer un développement sur des bases connues et s’essayer "progressivement" à l’autre technologie.

Pourquoi 2 technologies à la fois ?
Le langage BASIC est par définition un langage de type séquentiel (lequel accompli des actions les unes après les autres). Ce langage est idéal pour pouvoir réaliser certaines fonctions comme la gestion d’afficheurs, de clavier, la réalisation de calcul mathématique ou du traitement de données).
A l’inverse le lange contact permet aux PLC (mini-automate) de pouvoir traiter toutes les actions en "parallèle" selon une notion de temps de cycle (de durée fixe) pendant lequel le programme est lu du début jusqu'à la fin, quelle que soit sa longueur.
Ces derniers sont donc tout indiqués pour pouvoir réaliser des traitements précis et immédiat sur des entrées/sorties. Dès lors l’utilisation conjointe des 2 types de technologies ouvre des possibilités de conception très élaborées et performantes jusqu’alors difficile à réaliser.
La structure des CUBLOC™
Les CUBLOC™ disposent d’une mémoire Flash destinée à recevoir vos programmes. L’espace dédié au programme BASIC (1) et l’espace dédié au langage contact (2) se partagent la même mémoire Flash d’une capacité totale de 80 K. Vous êtes libre d’utiliser toute la capacité uniquement pour un programme en BASIC ou uniquement pour un programme en langage contact ou bien de partager l’espace pour les 2 technologies, dès lors que l’ensemble ne dépasse pas les 80 K.

Les CUBLOC™ disposent d’une mémoire SRAM de 2 à 24 K (suivant modèle) dédié au programme BASIC et d’une mémoire SRAM de 1 à 4 K (commune au BASIC et au langage contact, laquelle vous permettra d’echanger des données entre les 2 technologies). A noter que certains modèles de CUBLOC™ disposent également d’une mémoire EEPROM additionnelle de 4 K. Les ports d’entrées/ sorties peuvent être indépendamment utilisé dans votre programme BASIC ou en langage contact.
Note: Le nouveau CUBLOC "CB405" disposent encore plus de mémoire programme et de mémoire RAM.

Mise en oeuvre
Les CUBLOC™ se programment très facilement par l'intermédiaire d'un compatible PC et du logiciel "CUBLOC Studio" qui transformera vos développements (en langage contact et en BASIC) en codes spécifiques, lesquels pourront alors être transférés dans la mémoire du CUBLOC™ par le biais d'une simple liaison série.
L’environnement "CUBLOC Studio" vous permettra également de bénéficier de fonctions DEBUG qui simplifieront les phases de mise au point.
Une fois le CUBLOC™ "programmé", ce dernier pourra être déconnecté du "PC" pour devenir autonome afin de réaliser votre application par le biais de son microcontrôleur qui récupérera un à un les codes transférés pour les "traduire" en "actions" adéquates.
Que faut-il pour commencer ?

1) La première chose à acquérir est le module CUBLOC™ en lui même (choisissez ce dernier en fonction de ses possibilités et de votre application).
2) Téléchargez ensuite librement le logiciel "CUBLOC Studio" et procurez-vous un câble série (ou un câble d’adaptation série <> USB si votre PC ne dispose pas de port série).
3) Vous pourrez ensuite choisir une platine support optionnelle sur laquelle vous pourrez enficher votre CUBLOC™ (vous pouvez également réaliser votre propre platine support).
4) Vous disposer d’une multitude de petits modules optionnels qui vous permettrons d’accélérer vos développements en vous proposant des sous-ensembles fonctionnels.
Exemple d'utilisation:

Ce petit exemple exploite un "CB280", associé à une platine d’essai "CUBLOC Study Board" et à un afficheur LCD alphanumérique à commande I2C™ "CLCD216-G". En quelques minutes, l’ensemble vous permettra d’afficher la valeur analogique (sous la forme d’un nombre compris entre 0 et 1023) présente sur un des potentiomètres de la platine d’essai. En combien de temps et en combien de lignes de code "assembleur" auriez-vous pu faire la même chose ?
1) Insérez le CUBLOC™ sur le support de la platine d’essai.
2) Connectez l’afficheur LCD sur la platine d’essai.
3) Connectez le câble de programmation au CUBLOC™.
4) Reliez le potentiomètre à l’entrée du CUBLOC™.
5) Alimentez la platine d’essai.
6) Saisissez et exécutez lee programme ci-dessous via le logiciel "CUBLOC Studio".
DIM I AS BYTE ' Déclaration de la variable 'I'
SET DISPLAY 2,0,1,50 ' Configure port communication afficheur
CLS ' Efface afficheur
DO ' Boucle sans fin
I = ADIN(0) ' converti la valeur analogique de l'entrée 0
du CUBLOC et sauvegarde valeur dans 'I'
LOCATE 0,0 ' Place curseur en haut à gauche de l’écran
PRINT DEC(I) ' Affiche la valeur décimale de la variable 'I'
LOOP
7) Tournez le potentiomètre et observez l’afficheur LCD.
L’exploitation via une programmation en langage contact s’utilise exactement avec la même rapidité et simplicité.
A propos du logiciel de développement des CUBLOC
Appelé "CUBLOC Studio", il est livré avec une notice entièrement en Français. Une fois exécuté, le logiciel vous donne accès à 2 fenêtres distinctes relatives à la programmation en BASIC et en langage contact.
Téléchargez la dernière version du logiciel "CUBLOC STUDIO
Documentation des modules CUBLOC (doc en Français)
Programmation en langage " BASIC "
Bien que reposant sur une programmation en BASIC (langage souvant dénigrée pour sa simplicité), la version supportée par les CUBLOC™ est à bien des égards très proche du langage "C" de par ses fonctionnalités et ses possibilités.
Il vous sera ainsi possible de créer des fonctions et de faire appel à des sous-routines, de réaliser des adressages mémoire via des pointeurs, d’utiliser des fonctions structurées telles que:
Do.. Loop
Do until...
Do while
For (step) ... next
If... Then... Else
if... Endif
Select... Case.
Mais aussi d'avoir recours à des commandes "include" & "define" ainsi qu'à des commandes de compilation conditionnées permettant de modifier le code à compiler en fonction de vos spécifications.
La notion de "fonctions" vous permettra d'écrire une multitude de petites sous-routines capables de gérer chacunes des actions précises; actions que vous pourrez ensuite appeler et déclencher comme une "simple" instruction. A ce titre, nous proposerons très prochainement une base de fonctions prêtes à l'emploi qui vous permettrons de gérer des capteurs, des moteurs pas-à-pas, des boussoles électroniques, etc, etc....
Les CUBLOC™ peuvent gérer des variables de type BYTE (8 bits), INTEGER (16 bits), LONG (32 bits positif/négatif), SINGLE (32 bits virgule flottante), des chaînes de caratères ainsi que des tableaux jusqu’à 8 dimensions. De très nombreuses fonctions mathématiques sont également supportées lesquelles peuvent être facilement exploitées au sein d’instructions complexes.
Les CUBLOC™ disposent aussi de fonctions pour:
- La gestion des chaînes.
- Les conversions de formats entre données.
- Pour effectuer des traitements sur les octets, word, bit ou groupement de 4 bits.
- Pour pouvoir échanger des données entre la partie BASIC et langage contact.
Les CUBLOC™ peuvent également:
- Gérer des ports d’entrées/sorties.
- Lire des entrées de conversion analogique/numérique (avec ou sans OP amp).
- Communiquer avec de nombreux périphériques externes via les protocoles I2C™, SPI™, MODBUS™ et RS232 (la gestion RS232 se fait en tâche de fond
grâce à la présence de buffers d’émission/réception).
Les CUBLOC™ disposent d’entrées de comptage et de sorties PWM (il vous sera ainsi possible de piloter directement 3 servomoteurs avec le module "CB220" et 6 servomoteurs avec les "CB289" et "CB290").
Les modules sont capables de gérer de multiples interruptions activés par un timer, ou suite à la réception de données dans le buffer RS232, ou via le programme du langage contact ou via des entrées externes (sur les "CB280", "CB290" et "CB405").
Les CUBLOC™ disposent enfin de fonctions spéciales qui leur premettrons de piloter très facilement et rapidement des afficheurs LCD/VFD, des afficheurs 7 segments à Leds ou un afficheur graphique spécialisés au travers d’une communication I2C™ ou RS232.

Les CUBLOC™ disposent de fonctions qui leur permettront de piloter très facilement des afficheurs LCD alphanumériques, des afficheurs LCD graphiques, des afficheurs 7 segments à Leds au travers d’une communication I2C™ ou RS232.
Puissant mode DEBUG intégré
Afin de faciliter la phase de mise au point et de développement, il vous sera possible de positionner des instruction spéciales à certaines lignes de votre programme qui vous permettrons de "remonter" la valeur de vos variables ainsi que d'autres informations diverses vers une fenêtre de Debug sur le PC.
Cette possibilité met à votre disposition un formidable outil qui vous permettra de développer vos applications encore plus rapidement.
Programmation en langage " Contact " (PLC)
L’environnement "CUBLOC Studio" dispose d’une seconde fenêtre donnant accès à un puissant éditeur dédié à la programmation en langage contact. Ce dernier dispose d’une multitude de possibilités (création / insertion / effacement de cellules, édition des noms et des commentaires liés aux fonctions, etc...).
Les CUBLOC™ disposent de différents types de fonctions (appelées Relay). Ainsi il vous sera possible de gérer des Relay de type:

- Entrées
- Sorties.
- Pour des gestion internes.
- De type Timer.
- De type compteur.
- Pour la mémorisation de données.
- Pour la gestion de séquences.
En plus de ces instructions de base, les CUBLOC™ disposent de commandes supplémentaires dédiés aux:
- Transferts de données
- A l’incrémentation / décrémentation de données
- A certaines opérations logiques et mathématiques et à la gestion sur les bits des données.
De plus, 2 puissants outils intégrés faciliteront la mise au point de vos applications.

Le premier est un mode "Moniteur" qui vous permettra de remonter l’état des Relay sur l’écran du PC lors de l’exécution du programme.
Le second est un écran analyseur qui vous permettra lorsque le CUBLOC™ est en action de faire l’acquisition de 8 de ses Relays (avec possibilité de réglage de la base de temps) afin de pouvoir ensuite visualiser toute la séquence mémorisée (avec des fonctions zoom) tout en ayant à votre disposition des curseurs de mesures que vous pourrez déplacer sur les différents signaux.
Liste des instructions des modules CUBLOC
Instructions de base
|
ADIN |
Lecture valeurs analogiques |
Gestion des " entrées / sorties "
|
BYTEIN |
Lecture de 8 entrées à la fois |
Gestion communication Bus " I2C™ "
|
I2CSTART |
Génère condition start I2C™ |
Gestion communication Bus " SPI™ "
|
SHIFTIN |
Lecture port SPI™ |
Gestion d'afficheurs Alphanumériques à commandes " Série / I2C™ "
|
SETDISPLAY |
Initialisation LCD utilisé |
Gestion d'afficheurs graphiques à commandes " Séries / I2C™ "
|
CLS |
Efface l’écran LCD |
Gestion d'afficheurs 7 segments à commandes " I2C™ "
|
CSGDEC |
Affiche valeur décimale |
Gestion communications série " RS-232 "
|
BCLR |
Efface buffers RS232 |
Fonctions " mathématiques "
|
SIN |
Calcule SIN |
Fonctions de " conversions "
|
VALHEX |
Conversion chaîne en valeur hexadécimale |
Fonctions de gestion de " chaînes "
|
DP |
Conversion chaîne en numérique |
(*) Fonctions non présentes sur le "CB220"
(**) Sur les "CB220 / CB280 / CB280CS / CB405", cette fonction utilise les Timers internes pour gérer l'horloge interne. Sur le module "CB290", une horloge RTC est utilisée pour une plus grande précision.
(***) Fonctions présentes uniquement sur le "CB405"
Laisser un commentaire