Programmeeritavad kontrollerid
Euroopa struktuurfondide logo
Siemens LOGO! viide Automatiseerimise viide Mehhatroonikaseadmete viide Pneumoautomaatika viide
Joonis

Näide: ModbusTCP klient - nuppudega kaugjuhtimine

Ülesande püstitus

Eesmärk on kontrolleriga, millega on ühendatud juhtpaneel, juhtida läbi eemal oleva ModbusTCP toega kaug-I/O mooduli valgustulpasid. Rakenduses on kuus kolmevärvilist valgustupa. Ülesanne eeldab, et eelnevalt on kokkulepitud, mitmendat valgustulpa kasutatakse. Näites on kasutusel valgustulp 2.

  • Kui all hoida start nuppu, peab vajutuse ajal põlema valgustuba roheline tuli, lahtilaskmisel kustuma.
  • Kui all hoida reset nuppu, peab vajutuse ajal põlema valgustuba kollane tuli, lahtilaskmisel kustuma.
  • Kui all hoida stopp nuppu, peab vajutuse ajal põlema valgustuba punane tuli, lahtilaskmisel kustuma.

KUI KASUTADA SIEMENS S7-1200 ModbusTCP serverit: ModbusTCP serveri vaikimisi TCP port on 502, aga Siemensi ModbusTCP serveri iseärasuse tõttu on iga ühenduse jaoks vaja eraldi TCP porti ja CONNECTION_ID-d, seega kui kasutusel on Siemensi ModbusTCP server, siis portide vahemik 6 ühenduse jaoks võib olla näiteks 502..507 ja Connection-ID-d vastavalt 1..6. Teistel seadmetel on suure tõenäosusega lubatud mitu päringut ühe pordi kohta ja pole vaja selle pärast muretseda.

CONNECTION_ID ja IP_PORT peavad olema serveri ja kliendi pool ühtemoodi seadistatud.

Antud rakendus tohib kaug-I/O moodulis kirjutada ainut konkreetse valgustulbaga seotud väljunditesse. Tuleb eeldada, et teisi kasutavad samal ajal teised rakendused.

Modbus Coil Väljundi funktsioon
1 Valgustulp 1, roheline
2 Valgustulp 1, kollane
3 Valgustulp 1, punane
4 Valgustulp 2, roheline
5 Valgustulp 2, kollane
6 Valgustulp 2, punane
7 Valgustulp 3, roheline
8 Valgustulp 3, kollane
9 Valgustulp 3, punane
17 Valgustulp 4, roheline
18 Valgustulp 4, kollane
19 Valgustulp 4, punane
20 Valgustulp 5, roheline
21 Valgustulp 5, kollane
22 Valgustulp 5, punane
23 Valgustulp 6, roheline
24 Valgustulp 6, kollane
25 Valgustulp 6, punane

Teostus

Võrguseaded

ModbusTCP kasutab kontrolleri olemasolevat ProfiNet liidest ethernet võrguga suhtlemiseks. See tähendab, et enne võrku ühendamist tuleks kontrollerile anda võrgus unikaalne IP aadress ning määrata subnet mask vastavalt kasutusel olevale võrgule, kui seda juba tehtud ei ole. Võõra võrgu kasutamisel tuleb kindlasti võrguadministraatori käest küsida staatilised IP aadressid, mida võib kasutada, et vältida aadressi konflikte.

Joonis


Andmeplokk: MB_CLIENT_DB [DB1]

See andmeplokk luuakse MB_CLIENT instruktsiooni sisestamisel instruktsioonidenimekirjast automaatselt ning hoiab endas ModbusTCP kliendi toimimiseks vajalikke muutujaid.
See asub jaotuses Projekt > PLC_Nimi > Program blocks > System blocks > Program Resources

Sümbolite nimekiri

Nimi Andmetüüp Aadress Kommentaar
start BOOL %I8.0 Start nupp
stop BOOL %I8.1 Stopp nupp
reset BOOL %I8.3 Reset nupp
Valgustulp2 Byte %MB0 Saadetav bait
valgustulp2_roheline BOOL %M0.0 Valgustulba roheline tuli
valgustulp2_kollane BOOL %M0.1 Valgustulba kollane tuli
valgustulp2_punane BOOL %M0.2 Valgustulba punane tuli

Programm: Main [OB1]

SCL
"MB_CLIENT_DB"(REQ := true,
  DISCONNECT := false,
  CONNECT_ID := 1,
  IP_OCTET_1 := 10,
  IP_OCTET_2 := 8,
  IP_OCTET_3 := 1,
  IP_OCTET_4 := 99,
  IP_PORT := 502,
  MB_MODE := 1,
  MB_DATA_ADDR := 4,
  MB_DATA_LEN := 3,
  MB_DATA_PTR := "Valgustulp2");

"valgustulp2_roheline" := "start";
"valgustulp2_kollane" := "reset";
"valgustulp2_punane" := NOT "stop";
LAD
Network 1: ModbusTCP andmeside
Tabeli joonis
Network 2: Rohelise tule lülitamine
Tabeli joonis
Network 3: Kollase tule lülitamine
Tabeli joonis
Network 4: Punase tule lülitamine
Tabeli joonis
  • MB_CLIENT on ModbusTCP kliendi funktsiooniplokk, mis andmesidega otseselt tegeleb. Selle saab juhtprogrammi lisada paremal asuvast Instructions menüüst: Instructions > Communication > Others > MODBUS_TCP > MB_CLIENT
  • MB_CLIENT_DB on ModbusTCP kliendi instantsi andmeplokk, mida kasutatakse andmesideks vajalike parameetritehoidmiseks
  • CONNECT_ID on identifikaator, mis peab andmevahetuse toimimiseks kliendi ja serveri poolel sama olema.
  • IP_OCTET_1 .. IP_OCTET_4 on serveri IP aadress (osadena)
  • IP_PORT on TCP port, kuhu klient pöörduma hakkab
  • MB_MODE määrab päringu tüübi. 0 on näiteks ühiku kaupa lugemine ja 1 on ühiku kaupa kirjutamine. Täpsemalt infot leiab TIA abifailidest.
  • MB_DATA_ADDR on aadress kust alates kirjutama (või lugema) hakatakse
  • MB_DATA_LEN määrab pikkuse - mitu ühikut kirjutatakse või loetakse
  • MB_DATA_PTR peab olema muutuja või andmeplokk, kust võetakse saatmisele minevad andmed
Creative Commons Licence
"Programmeeritavad kontrollerid" is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License .