LOGO! - Arduino (I)

Aquesta pràctica ens introdueix a la comunicació entre una nodeMCU o Arduino amb el PLC LOGO! de Siemens mitjançant la llibreria Settimino. Aquí teniu el Manual de referència.

Primer que tot instal·lem les llibreries necesàries si és que no las tenim: Settimino i SimpleTimer.

Després veurem com es realitza una operació de lectura de 64 bytes començant per la VM0 des d'un Arduino UNO a un LOGO!. Carreguem aquest programa al LOGO! arduinoReadLogo.zip.

L'arduino necessita aquest sketch, basat en l'exemple proposat per la llibreria:

El mateix exemple però per escriure (millis()/1000) i 64 bytes començant per la VM10, arduinoWriteLogo.zip :

Ara l'objectiu és disposar d'entrades i sortides perifèriques en un Logo! 0BA8. La placa IoT-nodeMCU té 4 entrades digitals (I4, I5, I12, I14) i 4 sortides digitals (Q0, Q2, Q13, Q15) seran perifèriques del Logo!. A més a més el valor l'entrada analògica A0, convertit a 8 bits, sera enviat cap al PLC.

La situació és la descrita per la següent figura:

Ara cal programar el Logo! amb el següent programa IoT-logo-01.zip i configurar una connexió tal com es veu en la figura:

Per utilitzar la IA0 de la nodeMCU com entrada analògica en xarxa:

La comunicació es realitza per mitjà de l'anomenada Variable Memory, formada per 850 bytes a disposició de l'usuari.

Per damunt d'aquestes posicions hi ha mapejats diferents recursos del PLC:

Nosaltres utilitzarem les posicions de memòria VM100 fins VM130 per intercanviar la informació, assignades segons la següent figura:

L'sketch és aquest:

Un cop programat el Logo! i la nodeMCU comproveu el funcionament.