python modbus-tk 实现三菱FX5U modbus-tcp 从站通讯

本文介绍了如何通过GXWorks3软件设置三菱FX5U PLC为MODBUS-TCP从站,以及在PC端使用Python的modbus-tk库进行数据读写。同时,展示了通过读取配置文件并监控数据变化,实时更新PLC寄存器的过程,确保设备安全运行。

一、三菱FX5U 从站设置

        1. 打开GX works3 软件

        2. 新建项目

        3.按向导流程指示设置modbus-tcp从站功能

                                                 

                 

 

         4.下载模块参数到PLC,并断电重启PLC。

注意:部分PLC会发生模块参数报警,需要PLC做固件升级。

二、PC端设置

        1. pip install modbus-tk,struct

        2. main.py

import modbus_tk
import modbus_tk.defines as cst
import modbus_tk.modbus_tcp as modbus_tcp
from shuJuZhuangHuang import WriteDint as wd
import os
import tkinter as tk
import tkinter.font as tkFont
import tkinter.ttk as ttk
import csv
from socket import *
import sys
import threading
import time,random,queue  
import pickle
import re
from configparser import ConfigParser
logger = modbus_tk.utils.create_logger("console")

# 读取配置文件
cfg = ConfigParser()
cfg.read('config.ini')
SERVER= cfg.get('Server','IP')
PORT= cfg.getint('Server','PORT')
MACROFILE = cfg.get('File','macroFile')
MACROCOPY = cfg.get('File','macroCopy')

timeSave = os.path.getmtime(MACROFILE)


# 打包函数
def thread_it(func,*args):
    '''将函数打包进程'''
    # 创建进程
    t = threading.Thread(target=func,args=args)
    # 守护进程
    t.setDaemon(True)
    # 启动
    t.start()


class GuiPart():  
    def __init__(self):
        self.threadFlg1 = True
        self.caiLiao = 0
        self.jiaGongZongShu = 0
        self.gongJianChanDu = 0
        self.qiShiWeiZhi1 = 0
        self.
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值