• 大小: 3.52KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2024-04-26
  • 语言: C#
  • 标签: 通讯协议  PLC  协议  通讯  

资源简介


资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.IO.Ports;
using System.Threading;
using System.Drawing;

public class XinJie  //信捷PLC通信协议
{
    SerialPort Port = new SerialPort();
    private int PortBusy;
    private byte cmdType;
    public object LockcomportObj = new object();
    private int returnValue;
    private int dataCnt = 1;
    private int[] returnArr;
    public double comErrorCnt = 0;
    public bool bConnection = false;
    public string comStatus = “OK“;    
    private byte modbus = 0x01;

    public bool readM(int address out bool M)
    {
        int[] re = new int[0];
        bool result;

        result = comPLC(0x01 address 1 1 ref re);
        if (result == true)
        {
            if (re[0] == 1) M = true;
            else M = false;
            return true;
        }
        else
        {
            M = false;
            return false;
        }
    }
    public bool writeM(int address bool state)
    {
        int[] re = new int[0];
        bool result;
        if (state == true)
        {
            result = comPLC(0x05 address 1 1 ref re);
        }
        else
        {
            result = comPLC(0x05 address 0 1 ref re);
        }
        if (result == true)
        {
            return true;
        }
        else
        {
            return false;
        }
    }
    public bool writeHM(int address bool state)
    {
        int[] re = new int[0];
        bool result;
        if (state == true)
        {
            result = comPLC(0x105 address 1 1 ref re);
        }
        else
        {
            result = comPLC(0x105 address 0 1 ref re);
        }
        if (result == true)
        {
            return true;
        }
        else
        {
            return false;
        }
    }
    public bool readSingleD(int address out int Data)
    {
        bool result;
        int[] re;
        re = new int[0];
        result = comPLC(0x03 address 1 1 ref re);
        if (result == true)
        {
            Data = re[0];
            return true;
        }
        else
        {
            Data = 0;
            return false;
        }
    }
    public bool readDoubleD(int address out int Data)
    {
        bool result;
        int[] re;
        re = new int[0];
        result = comPLC(0x20 address 1 1 ref re);
        if (result == true)
        {
            Data = re[0];
            return true;
        }
        else
        {
            Data = 0;
            return false;
        }
    }
    public bool readMultipleD(int address int cnt out int[] Data)
    {
        bool result;
        int[] re;
        re = new int[0];
        result = comPLC(0x20 address 1 cnt ref re);
        if (result == true)
        {
            Data = re;
         

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件       32573  2020-08-05 13:59  XinJie.cs

评论

共有 条评论