PC -> Xlogic PLC MODBUS

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
olof_n
Inlägg: 116
Blev medlem: 23 februari 2011, 21:36:46

PC -> Xlogic PLC MODBUS

Inlägg av olof_n »

Hej!

Jag har köpt en PLC från xlogic.se.
Vad jag vill göra är att från en dator styra utgången på PLC:en. Jag har läst manualen och det finns två funktionsblock, "Modbus Read" och "Modbus write".
Om jag inte fattat fel är funktionsblocken till för att läsa/skriva till en slavenhet, dvs inte det jag är intresserad av.

Jag har testat att använda Python och modulerna minimalmodbus och pymodbus3.
Ett exempel från minimalmodbus:

Kod: Markera allt

import minimalmodbus
instrument = minimalmodbus.Instrument('COM6', 1)
instrument.serial.baudrate = 9600
instrument.serial.bytesize = 8
instrument.serial.parity = minimalmodbus.serial.PARITY_NONE
instrument.serial.stopbits = 1
instrument.serial.timeout = 2
instrument.debug = True
instrument.mode = minimalmodbus.MODE_RTU
instrument.write_bit(0,1)

Koden verkar fungera (får svar tillbaka) men inget händer på PLC sidan.
Känns som jag missat något fundamentalt. Måste man göra något speciellt på PLC sidan?
Har någon testat med en Xlogic PLC?

Mvh

Olof
olof_n
Inlägg: 116
Blev medlem: 23 februari 2011, 21:36:46

Re: PC -> Xlogic PLC MODBUS

Inlägg av olof_n »

Ser att jag lagt min tråd i fel kategori, borde flyttas till "Inbäddade system / Inbyggda system".

Jag har i alla fall efter en hel del testande hittat en förklaring.
Om jag stoppar programmet i PLC:n kan jag styra utgångarna. Borde gå att skriva till flaggor/register men det verkar inte fungera heller.
Användarvisningsbild
Jan Almqvist
Inlägg: 1658
Blev medlem: 1 oktober 2013, 20:48:26
Ort: Orust

Re: PC -> Xlogic PLC MODBUS

Inlägg av Jan Almqvist »

Jag har jobbat mycket med Modbus och xLogic PLC under utveckling av min HMI app för Android/iOS. Problemet är att xLogic PLC:n inte följer Modbus-specifikationen riktigt, Register med address lägre än 512 är 32-bitars och jag fick göra en anpassning till detta. Testa gärna att ladda ned utvecklingsverktyget och kryssa i rutan "32-bitars register" så kommer det att fungera. Det finns även en färdig panel (sida) att ladda ner för xLogic PLC:n med Modbus/TCP.

http://www.idea-teknik.com/hmi_droid_download.html
olof_n
Inlägg: 116
Blev medlem: 23 februari 2011, 21:36:46

Re: PC -> Xlogic PLC MODBUS

Inlägg av olof_n »

Hej Jan!

Tack för informationen.
HMI Droid ser riktigt trevligt ut, har kollat lite på appen tidigare.
Tyvärr har jag ingen ethernet modul utan sitter och kör med RS232-kabel för tillfället.
Användarvisningsbild
Jan Almqvist
Inlägg: 1658
Blev medlem: 1 oktober 2013, 20:48:26
Ort: Orust

Re: PC -> Xlogic PLC MODBUS

Inlägg av Jan Almqvist »

Det finns enkla, open source program som gör att man kan använda PC:n som en portserver och låta program som körs i PC:n (eller på någon annan enhet i samma nät) komma åt t.ex. COM1 via TCP/IP eller UDP. Någon kund använder detta men jag minns inte vad programmet heter. Det är inte särskilt svårt att skriva ett sådant program själv heller om man vill.
olof_n
Inlägg: 116
Blev medlem: 23 februari 2011, 21:36:46

Re: PC -> Xlogic PLC MODBUS

Inlägg av olof_n »

Satt faktiskt och funderade på att tex en Raspberry Pi Zero skulle kunna vara brygga mellan en PLC som kör MODBUS RTU och en annan enhet som kommunicerar med MODBUS TCP.

I vilket fall har jag löst mitt problem. Har verifierat att det inte direkt går att skriva till utgångarna när programmet är igång. Ska säkert vara så.
Men det fungerar bra att skriva till flaggor som jag kopplar till utgångarna, sätter jag flaggan till 1 aktiveras den kopplade utgången.

Får erkänna att jag gjorde ett pinsamt misstag igår kväll. När jag läste dokumentationen (excel dokument från xlogic.se) över adressering stod det 0x 1536 för flagga F1.
Utan läsa kolumnrubrikerna utgick jag ifrån att det var den adressen 0x1536 hexadecimalt, men 0 var typ (bit?) och 1536 adressen :)
Användarvisningsbild
Jan Almqvist
Inlägg: 1658
Blev medlem: 1 oktober 2013, 20:48:26
Ort: Orust

Re: PC -> Xlogic PLC MODBUS

Inlägg av Jan Almqvist »

Normalt går det att skriva direkt till utgångarna i xLogic PLC även med PLC-programmet igång men om PLC-programmet redan styr en utgång kan den ju inte påverkas via Modbus. Använder du rätt datatyp, jag tror att det ska vara 'Coils'?
olof_n
Inlägg: 116
Blev medlem: 23 februari 2011, 21:36:46

Re: PC -> Xlogic PLC MODBUS

Inlägg av olof_n »

Ja jag använde "coils". Jag hade satt ut funktionsblock för utgångarna och det kanske innebär att dom blir låsta.
Men flaggor kommer att fungera bra, då kan man lägga in viss säkerhets funktionalitet så att man inte slår igång utgångar av misstag.
Skriv svar