Proiectarea interfeței hardware Sistemul de control descris în această lucrare este compus din computere industriale și mai multe computere cu un singur cip AT89C2051. Transmiterea datelor între stăpân și sclav utilizează comunicarea serială asincronă. Deoarece portul de comunicare serială al computerului industrial este o interfață RS-232C, nivelul său logic este simetric la sol, ceea ce este diferit de ieșirea la nivel TTL de portul serial al microcalculatorului at89C2051 cu un singur cip. Prin urmare, este necesar să se asigure o transmisie fiabilă a datelor între cele două. Un convertor de nivel ar trebui să fie conectat la linia de comunicare. Cipurile convertorului de nivel comun includ cipuri ICL232 și MAX232. Acest text utilizează cipul de conversie la nivel MAX232.
Mai multe single-chip circuit de comunicare calculator 2 software-ul de proiectare 2.1 AT89C2051 single-chip computer multi-computer funcția de comunicare AT89C2051 single-chip microcomputer port serial are: serial trimite tampon / primi tampon (SBUF), serial port de control registru (SCON), registrul de funcții speciale (PCON). Există 4 moduri de lucru prin setarea SCON, dintre care modurile de lucru 2 și 3 sunt potrivite pentru comunicarea pe mai multe computere. Modul de comunicare serială 3 al microcomputerului at89C2051 cu un singur cip este un mod de comunicare asincronă de date pe 9 biți, cu o rată baud variabilă, și este, de asemenea, modul cel mai utilizat pe scară largă în comunicarea multi-computer în prezent. Aici, AT89C2051 transmite un cadru de informații cu 11 biți în total: 1 bit de pornire, 8 biți de date, 1 bit poate fi programat să fie al 9-lea bit de "1" sau "0" și 1 bit de oprire, printre care al nouălea bit de date poate fi folosit ca un bit de paritate și poate fi, de asemenea, utilizat ca un semnalizator de identificare pentru "cadru adresă" și "cadru de date".
Funcție de comunicare computerizată industrială Computerul industrial este echipat cu un port de comunicare asincronă serial (adresa portului COM1 este 3f8H, adresa portului CM2 este 2f8H), iar receptorul/emițătorul asincron universal (UART) de pe placa de interfață este o bucată de 8250 sau o bucată de structură, metodă de programare Același cip ca 8250 cu 10 registre în interior. Pc serial de comunicare de programare, programatori trebuie doar să utilizeze comenzi de intrare / ieșire pentru a introduce / ieși registrele în UART, astfel încât să se stabilească rata de comunicare serială baud, formatul de transmitere a datelor, dacă pentru a permite întreruperi, trimite sau primi date Așteptați.
O nouă metodă de comunicare multi-mașină În metoda convențională de comunicare multi-mașină, bitul de paritate a fost folosit ca bit caracteristic al codului adresei de trimitere (numărul canalului) sau al datelor, iar verificarea comunicării datelor adoptă metoda de acumulare și verificare. Utilizarea acestei metode nu numai că crește supraîncărcarea software-ului și cantitatea de date pentru comunicare, dar afectează și performanța în timp real. 2.3.1 Principiile de bază ale comunicării
Datele sunt 5 2 - setat la "0" direct și faceți +, clar, atunci indiferent de valoarea datelor de al nouălea bit (+9 8) este, computerul inferior poate genera întreruperea recepției seriale, astfel încât al nouălea bit poate fi folosit și ca bit de paritate de detectare a erorilor. De exemplu, atunci când computerul superior comunică cu un computer inferior, codul de adresă este trimis mai întâi și apoi comanda de date este trimisă după succesul strângerii de mână. În acest moment, FLAG-ul computerului inferior este setat la "1", ceea ce este echivalent cu "buzunarul" mașinii a fost deschis. Computerul preia continuu date de la computerul de poziție inferioară și emite o comandă pentru a restabili FLAG-ul în computerul de poziție inferioară la "0" după preluarea fără eroare pentru a realiza "închiderea buzunarului".
Când computerul inferior trimite date către computerul superior, acesta trimite mai întâi lungimea datelor care urmează să fie transmise și apoi începe să trimită date valide.
Este de acord că 00H este comanda de preluare, 0FFH este comanda de resetare, comunicarea adoptă chiar paritate, iar rata baud este setată la 2400b /s. Diagrama fluxului funcției principale a PC-ului este prezentată mai sus, așa cum se arată. Programul de comunicare PC este scris în limba VC ++6.0. Modulul de comunicare al microcalculatorului inferior cu un singur cip include programul principal și programul de întrerupere a serviciului, iar diagrama de flux a programului este afișată în și respectiv. Cum se realizează comunicarea unu-la-unu între computerul superior și computerul inferior cu adresa de trimitere corespunzătoare? Metoda software-ului poate fi utilizată. Metoda specifică este după cum urmează: un flag variabilă FLAG este configurat în programul de calculator inferior, iar FLAG-ul este setat la "0" în timpul inițializării. Când computerul superior trimite date, fiecare computer inferior va genera o întrerupere de primire, iar rutina de întrerupere a serviciului judecă mai întâi valoarea FLAG-ului local. . Dacă FLAG-ul este "0", comparați datele primite cu adresa locală, dacă este consecventă, setați FLAG-ul la 6" și trimiteți înapoi codul local de adresă ca răspuns, altfel săriți imediat din rutina de întrerupere a serviciului; dacă FLAG este "1", indicând faptul că comanda de control trimisă de computerul superior este transferată la programul de procesare a comenzilor corespunzător și, în cele din urmă, sare din rutina de întrerupere a serviciului și revine la programul principal. După ce comunicarea dintre computerul superior și computerul inferior este finalizată, FLAG-ul computerului inferior este setat la "0" . Dacă strângerea de mână nu reușește, computerul superior trimite o comandă de resetare la computerul inferior și apoi pornește din nou strângerea de mână, dacă nu reușește de trei ori, se va transforma în procesarea erorilor.
Metoda de implementare și măsurile de fiabilitate ale software-ului industrial pentru computere (1)Numărați fiecare computer inferior și utilizați-l ca cod de adresă al computerului.
Concluzie Acest articol prezintă doar o metodă de interfață serială a sistemului de control distribuit, dar există multe metode de interfață de comunicare între fiecare mașină, cum ar fi: conexiunea directă a portului serial (atunci când distanța este scurtă), conexiunea prin modem etc. În ceea ce privește programarea software-ului, mașina slave este scrisă direct în limbajul de asamblare al microcomputerului cu un singur cip; și modulul subrutin de comunicare al computerului industrial poate fi, de asemenea, implementat într-o varietate de limbi. Prin urmare, în proiectarea specifică a sistemului, una dintre metode poate fi selectată în funcție de situația reală, iar tehnologia de detectare a erorilor și de corectare a erorilor poate fi luată în considerare în programare și comunicarea fiabilă poate fi finalizată.

