Puis-je contrôler le Schneider Electric M221 avec python ?

  • Charles2a
    Charles2a

    le 03/07/2023 à 14:09 Citer ce message

    Je suis en train de mettre en place un laboratoire de pentest d'automates industriels.

    Il s'agit d'un feu tricolore contrôlé par un M221 en ModbusTCP.

    Chaque sortie numérique contrôle une couleur (Q0.0 -> vert, Q0.1 -> orange, Q0.2 -> rouge).

    Tout fonctionne correctement lorsque j'utilise le logiciel fourni par Schneider Electric, mais j'ai créé une interface graphique en Python et j'aimerais pouvoir contrôler mon feu avec celle-ci sans avoir besoin du logiciel de base.

    J'ai testé plusieurs choses, notamment la bibliothèque pymodbustcp, mais je ne pense pas réussir à faire mon adressage correctement car rien ne change lorsque j'utilise la fonction write de la bibliothèque.

    Je peux parler au contrôleur, mais je ne sais pas si j'envoie les bonnes informations au M221 ou si je les envoie à la bonne adresse, la documentation n'est pas explicite sur la façon de le contrôler avec autre chose que leur solution, cependant j'ai vu des tutoriels de personnes qui ont réussi à le faire mais cela ne fonctionne pas de mon côté et je ne comprends pas pourquoi.

    Avez-vous des conseils pour savoir quelle adresse utiliser dans mon code ?

    Si cela peut vous aider, voici mon code :

    from pymodbus.client.sync import ModbusTcpClient as ModbusClient

    #M221 IP address
    PLC_IP = '192.168.1.4'
    PLC_PORT = 502
    client = ModbusClient(PLC_IP,PLC_PORT)
    client.connect()
    UNIT = 0x1
    print('connected')

    write = client.write_register(2, 1, unit=UNIT)
    read = client.read_holding_registers(2, 1, unit=UNIT)
    read1 = client.write_coil(0, True, unit=UNIT)
    read2 = client.read_coils(0, 1, unit=UNIT)

    print("Read value from PLC=", read.registers[0])
    print("Read bit from PLC=", read2.bits)
    client.close()

Répondre à ce message

 

7 choses à savoir si Tu débutes en automatisme...

7 choses que tu dois savoir si tu debutes en automatismeCliquez ici pour télécharger le guide PDF

Superv 3