Vai al contenuto

Domande varie su programmazione SlimLine

Home Forum Controllori SlimLine e Netsyst (LogicLab) Domande varie su programmazione SlimLine

Stai visualizzando 3 post - dal 1 a 3 (di 3 totali)
  • Autore
    Post
  • #35746
    Muncsan
    Partecipante

    Sto lavorando su un sistema che si compone di modulo CPU MPS050A020 e modulo estensione PCB122C100, a cui collego un HMI MT6050i. Stò leggendo vari post sul forum e trovo: “La versione Versione Full RS485 dispone anche della porta ethernet” allora mio cpu dispone di una porta ethernet ?

    Per vedere in Modbus lo stato degli I/O (Ix, Qx), mappati in task slow, devono essere appoggiati sulla memoria MB 100. In una programma che gia funziona ho fatto un appoggio in ladder (Screenshot), credo che ce anche altro metodo di fare la stessa cosa, probabilmente usando gli funzioni SysGetPhrDI e il ByteToBit come descritto in esempi PTP116A100, PTP119A000. Ho provato cercare questi esempi sul vostro sito e non gli trovo.

    In futuro devo leggere con lo stesso sistema 4 resistenze che variano tra 50 KOhm e 150 KOhm, è fattibile usando gli analog inputs del modulo di estensione ?

    Ho scritto una programma con le funzioni SysGetPhrDI e il ByteToBit ma non riesco a farlo funzionare. Per fare la vizualizzazione con il Touch Screen come devo fare l’impostazione delle lampade per rilevare lo stato dei bit ? Se ho capito bene LogInp0 deve essere DB100.16 in SlimLine e 0x address 40016 in Touch screen.

    #38774
    Sergio Bertana
    Amministratore del forum

    Il modulo CPU MPS050 che tu hai non ha la porta Ethernet, per avere la porta Ethernet devi utilizzare il modello MPS053, questo modello però ha solo la porta seriale RS232 e non la RS485. Per avere la porta Ethernet e la porta RS485 devi utilizzare la versione MPS046.

    Come dici giustamente tu per vedere lo stato degli I/O logici da terminale devi appoggiarli nella DB100, l’area DB 100 è l’unica accessibile da Modbus. In questo topic c’è un esempio che è proprio come il tuo, se scarichi l’esempio hai sia il programma dello SlimLine che quello del terminale così puoi vedere come funziona. Attenzione nel tuo esempio le variabili mbusI0, mbusI1,… sono allocate ad indirizzo MB100.1, MB100.4,… e non và bene. Il terminale legge variabili a bit a partire da MB100.16 (0x 40016) e non indirizzi inferiori (In questo topic trovi ulteriori informazioni).

    Per quanto riguarda gli esempi che noi identifichiamo con il codice PTPxxx, si trovano già installati sul tuo PC insieme alla installazione di LogicLab, sono nella cartella di installazione programma (Esempio C:Program Files (x86)ElsistLogicLabExamples).

    Per quanto riguarda le funzioni SysGetPhrDI e il ByteToBit devi riferirti al Manuale programmazione IEC61131-3 e/o agli esempi che tu hai già citato. Ti ricordo che puoi anche acquisire 16 bits di stato in una unica WORD di memoria (Senza quindi suddiverli in Bits con la ByteToBit) utilizando la funzione HMI 3x_Bit che permette di testare il singolo bit di una WORD. Se per esempio appoggi tutti gli ingressi nella WORD a MW100.16 sul terminale puoi scrivere 3xBit 4000800 per il bit0, 4000801 per il bit 1 e così via fino a 4000815 per il bit 15.

    #38779
    Sergio Bertana
    Amministratore del forum

    Per la tua domanda sulla acquisizione del valore di resistenza ho postato la tua domanda in questo topic.

Stai visualizzando 3 post - dal 1 a 3 (di 3 totali)
  • Devi essere connesso per rispondere a questo topic.