Ülesanne: Andmete saatmine PLC-st arvutisse kasutedes RS-485
Juhtpaneeli kirjeldus
Juhtpaneelil on 3 nuppu (S1 - Start, S2 - Stop, S4 - Reset), üks võtmega lüliti (S3 - Auto/Man) ja 4 indikaatortuld (H1, H2, H3, H4).
Ülesande püstitus:
-
Koostada PLC programm, mis START nupu vajutusel saadaks ühekordselt PLC-st arvutisse stringi: "Tere! see on test.", RS-485 protokolli vahendusel, kasutades arvuti järjestikporti ja kontrolleri vastavat kommunikatsioonimoodulit.
Järgneval nupuvajutusel peab olema saatmine korratav.
Andmeside boodikiirus peab olema 9600, kasutades ühte stopp-bitti ning mitte kasutama paari-bitte. Ühe märgi pikkus peab olema 8 bitti.
- Teha füüsiline ühendus arvuti ja PLC vahel.
- Testida, et loodud lahendus töötab nõuetekohaselt.
Eeldused
- Vabalt programmeeritav tööstuskontroller (näiteks S7-1200 CPU 1214C)
- RS-485 Kommunikatsioonimoodul (näiteks CM 1241 (RS422/485)) või kontrollerile sisseehitatud RS-485 liides.
- Arvuti
- RS-485 kaart või RS-485 >< USB adapter arvutile (Näiteks Digitus DA-70157 või FTDI USB-COM485-PLUS1)
- Järjestikpordi terminali tarkvara (Näiteks MS Windowsile: PuTTY, RealTerm, HyperTerminal ; UNIX laadsetele süsteemidele: Minicom, CuteCom)
- Kaabel PLC ja arvuti ühendamiseks või vahendid selle tegemiseks (D-SUB 9 F ja D-SUB 9 M pistikud ja keerupaariga kaabel)
Lahenduse näide (Riistvara)
CM 1241 RS422/RS485 pesa | ||
---|---|---|
Pin number | Nimetus | Kirjeldus |
1 | GND | Loogika ja kommunikatsiooni maa |
2 | TxD+ | RS422 TxD B (saatmine +) |
3 | TxD+ | RS485 Data B (Saatmine ja vastuvõtt +) või RS422 RxD B (Vastuvõtt +) |
4 | RTS | Palve saatmiseks (Request to send), TTL tasemega väljund |
5 | GND | Loogika ja kommunikatsiooni maa |
6 | PWR | +5V toiteväljund, läbi 100Ω takisti |
7 | N/A | |
8 | TXD- | RS485 Data A (Saatmine ja vastuvõtt -) või RS422 RxD A (Vastuvõtt -) |
9 | TXD- | RS-422 TxD A (saatmine -) |
Digitus Digitus DA-70157 pistik | ||
---|---|---|
Pin number | Nimetus | Kirjeldus |
1 | DATA A | Vastuvõtt ja saatmine - |
2 | DATA B | Vastuvõtt ja saatmine + |
3 | N/A | |
4 | N/A | |
5 | GND | Loogika ja kommunikatsiooni maa |
6 | PWR | +5V toiteväljund |
7 | N/A | |
8 | N/A | |
9 | N/A |
Märkus: Kui kasutusel on mõni teine USB<>RS-485 adapter või RS-485 kaart, siis tuleb selle ühendusviis järele vaadata selle dokumentatsioonist.
Lahenduse näide (Tarkvara, PC)
Järjestikpordi numbri leidmine
Et teada saada RS-485 pordi numbrit, võib USB adapterite puhul avada Windowsi Device Manager-i ning seejärel ühendada RS-485 ><USB adapteri arvuti USB pordiga, misjärel ilmub Device Manager-i alla uus seade, mille taga on kirjas pordi number.
Pordinumber jagatakse Windowsi poolt, seadme ühendamisel, viimati olnud seadistuse järgi või antakse järgmine teadaolev vaba pordinumber. Pordinumbrit on võimalik hiljem käsitsi muuta.
Järjestikpordi terminali seadistus
Lahenduse näide (Tarkvara, PLC)
Kommunikatsioonimooduli seadistus
- Tuleb veenduda, et RS-485 toega kommunikatsioonimoodul (Näiteks CM 1241 RS422/485) on projekti lisatud.
-
Kommunikatsioonimoodulil tuleb valida õige töörežiim RS-485 põhise võrgu jaoks:
-
Tuleb järgi vaadata kommunikatsioonimooduli süsteemikonstandist aadress, mille abil selle poole programmiliselt pöörduda saab:
Sümbolite nimekiri
Nimi | Andmetüüp | Aadress | Kommentaar | |
---|---|---|---|---|
start_btn | BOOL | %I8.0 | Surunupp S1 | |
frontmem_start_btn | BOOL | %M0.0 | Tõusva frondi tuvastuse mälubitt |
Andmeplokk: PORT_CFG_DB [DB1]
Automaatselt genereeritud
Andmeplokk: SEND_CFG_DB [DB2]
Automaatselt genereeritud
Andmeplokk: SEND_PTP_DB [DB3]
Automaatselt genereeritud
Andmeplokk: com_serial [DB4]
Nimi | Andmetüüp | Algne väärtus | Kommentaar | |
---|---|---|---|---|
buffer | string | 'Tere! See on test.' | PC-sse saadetav string | |
step | USInt | 0 | Sammu loend |
Programm: Main [OB1]
Nimi | Andmetüüp | Kommentaar | |
---|---|---|---|
serial_port | word | Serial port name/address |
SCL (TIA V13.1) |
---|
// Define which serial port we use:
|