���P(gu��n)���]
�����܌�(du��)�����n�̸��dȤ
Python��λ�C(j��)�_�l(f��)�̳�

��105С��(ji��)����9570�ˌW(xu��)�^

Python��λ�C(j��)�_�l(f��)����Ƕ��
�l(f��)���r(sh��)�g:2024-11-20 10:01 [ ��Ҫ�ԌW(xu��)�W(w��ng)ԭ��(chu��ng) ] �l(f��)����: �옷СŮ ��x: 244

from PySide6.QtWidgets import *
from PySide6.QtCore import *
from PySide6.QtGui import *


class Window(QWidget):
    def __init__(self):
        super().__init__()
        self.resize(300,400)
        self.setWindowTitle("S7ͨ�Ŝy(c��)ԇ")

        main_layout = QVBoxLayout()
        main_layout.addWidget(self.group_connect_plc())
        main_layout.addWidget(self.group_read_write_plc())

        self.setLayout(main_layout)

    def group_connect_plc(self):
        group = QGroupBox("�B��PLC")
        le_plc_addr = QLineEdit()
        le_plc_rack = QLineEdit()
        le_plc_slot = QLineEdit()
        btn_connect = QPushButton("�B��")
        btn_disconnect = QPushButton("���_�B��")

        #��(chu��ng)����β���
        form_layout  = QFormLayout()
        form_layout.addRow("PLC Adress:",le_plc_addr)
        form_layout.addRow("PLC Rack:",le_plc_rack)
        form_layout.addRow("PLC Slot:",le_plc_slot)
        form_layout.addRow(btn_connect,btn_disconnect)
        form_layout.setSpacing(20)
        form_layout.setFieldGrowthPolicy(QFormLayout.FieldGrowthPolicy.FieldsStayAtSizeHint)

        #����(du��)���O(sh��)�ò�����
        group.setLayout(form_layout)
        return group

    def group_read_write_plc(self):
        group = QGroupBox("�x����(sh��)��(j��)")
        label_db_num = QLabel("DB Number")
        le_db_num = QLineEdit()
        label_start_addr = QLabel("Start Adress")
        le_start_addr = QLineEdit()
        label_data_type = QLabel("Data Type")
        combox = QComboBox()
        label_value_to_write = QLabel("Value to Write")
        le_value_to_write = QLineEdit()
        btn_read = QPushButton("read")
        btn_write= QPushButton("write")

        grid_layout = QGridLayout()
        grid_layout.addWidget(label_db_num,0,0)
        grid_layout.addWidget(le_db_num,0,1)
        grid_layout.addWidget(label_start_addr,1,0)
        grid_layout.addWidget(le_start_addr,1,1)
        grid_layout.addWidget(label_data_type,2,0)
        grid_layout.addWidget(combox,2,1)
        grid_layout.addWidget(label_value_to_write,3,0)
        grid_layout.addWidget(le_value_to_write,3,1)
        grid_layout.addWidget(btn_read,2,2)
        grid_layout.addWidget(btn_write,3,2)

        group.setLayout(grid_layout)

        return group


if __name__ == '__main__':
    def btn_slot(a,b,c):
        print(a,b,c)


    import sys
    app = QApplication(sys.argv)
    win = Window()
    win.plc_signal_data.connect(btn_slot)
    win.show()
    sys.exit(app.exec())

Python��λ�C(j��)�_�l(f��)�̳�
��Ҫ�ԌW(xu��)�W(w��ng)�̳� ��80 Ԫ
�M(j��n)��ُ(g��u)�I
�����u(p��ng)Փ
���ӱ���
�������A���񹲺͇�(gu��)�ĸ��(xi��ng)���·�Ҏ(gu��)��
�Г�(d��n)�������О����(d��o)�µķ���؟(z��)����
��վ�Й�(qu��n)������h���Р�(zh��ng)�h�u(p��ng)Փ��
���c���u(p��ng)Փ���������ѽ�(j��ng)��x������
�����l����
V
�ػݳ�ֵ
“(li��n)ϵ�ͷ�
APP���d
�ٷ�΢��
����픲�
���P(gu��n)���]
�����܌�(du��)�����n�̸��dȤ
Python��λ�C(j��)�_�l(f��)�̳�

��105С��(ji��)����9570�ˌW(xu��)�^

����x��:
��X�k�� ƽ���O(sh��)Ӌ(j��) �҃�(n��i)�O(sh��)Ӌ(j��) �����O(sh��)Ӌ(j��) �C(j��)е�O(sh��)Ӌ(j��) ���I(y��)�Ԅ�(d��ng)�� Ӱҕ��(d��ng)�� �����_�l(f��) �W(w��ng)�(y��)�O(sh��)Ӌ(j��) ��(hu��)Ӌ(j��)�n�� �dȤ���L(zh��ng) AIGC