• 大小: 64KB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2021-03-29
  • 语言: C#
  • 标签: C#  三菱PLC  MC协议  

资源简介

C#与三菱Q系列PLC通过MC协议通信,读取PLC寄存器中的数据,往PLC寄存器中写数据。

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.Net.Sockets;
using System.Threading;

namespace PLC_TEST
{
    public partial class Form1 : Form
    {
        //内锁 防止共用同一个SOCKET
        //private Mutex mutexforsocket = new Mutex(true “MTX_FOR_KUBOTA_POKA“);

        public Form1()
        {
            InitializeComponent();
        }


        private void Form1_Load(object sender EventArgs e)
        {
            this.cbxRegType.SelectedIndex = 0;
            //this.mutexforsocket.ReleaseMutex();
        }        

        private string b2s(byte[] b)
        {
            string s = “寄存器[“ + this.cbxRegType.Text + “] 地址[“ + this.txtStartAddr.Text.Trim() + “]: “;
            for (int i = 0; i < b.Length; i++)
            {
                s = s + b[i].ToString(“X“).PadLeft(2 ‘0‘) + “ “;
            }
            return s;
        }

        /// 
        /// 生成Socket命令
        /// 

        /// R:读W:写
        /// 寄存器地址
        /// 数据
        /// 
        private byte[] createCommand(string typeint dregint data)
        {
            byte[] sendBuf;
            switch (type)
            {
                case “R“:
                    {
                        sendBuf = new byte[21];

                        //副标题
                        sendBuf[0] = 0x50;
                        sendBuf[1] = 0x00;
                        //网络号
                        sendBuf[2] = 0x00;
                        //PLC号
                        sendBuf[3] = 0xFF;
                        //IO
                        sendBuf[4] = 0xFF;
                        sendBuf[5] = 0x03;
                        //站号
                        sendBuf[6] = 0x00;
                        //字节数
                        sendBuf[7] = 0x0C;
                        sendBuf[8] = 0x00;
                        //等待长度
                        sendBuf[9] = 0x0A;
                        sendBuf[10] = 0x00;
                        //命令
                        sendBuf[11] = 0x01;
                        sendBuf[12] = 0x04;
                        //子命令
                        sendBuf[13] = 0x00;
                        sendBuf[14] = 0x00;
                        //起始寄存器地址
                        sendBuf[15] = (byte)(dreg & 0xff);
                        sendBuf[16] = (byte)((dreg & 0xff00) >> 8);
                        sendBuf[17] = (byte)((dreg & 0xff0000) >> 16);
                        if(this.cbxRegType.Text.Equals(“R“))
                        {
                            //寄存器类型-R类
                            sendBuf[18] = 0xAF;
                        }
                        if (this.cbxRegType.Text.Equals(“D“))
                     

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-09-25 14:51  PLC_TEST\
     目录           0  2017-09-25 14:47  PLC_TEST\.vs\
     目录           0  2017-09-25 14:47  PLC_TEST\.vs\PLC_TEST\
     目录           0  2017-09-25 14:48  PLC_TEST\.vs\PLC_TEST\v14\
     文件       16384  2017-09-25 14:48  PLC_TEST\.vs\PLC_TEST\v14\.suo
     目录           0  2017-09-25 14:46  PLC_TEST\PLC_TEST\
     文件         991  2017-09-25 14:47  PLC_TEST\PLC_TEST.sln
     目录           0  2017-09-25 14:46  PLC_TEST\PLC_TEST\bin\
     目录           0  2017-09-25 14:46  PLC_TEST\PLC_TEST\bin\Debug\
     文件       14336  2017-09-25 14:46  PLC_TEST\PLC_TEST\bin\Debug\PLC_TEST.exe
     文件       26112  2017-09-25 14:46  PLC_TEST\PLC_TEST\bin\Debug\PLC_TEST.pdb
     文件       21680  2017-09-25 14:47  PLC_TEST\PLC_TEST\bin\Debug\PLC_TEST.vshost.exe
     文件         490  2010-03-17 22:39  PLC_TEST\PLC_TEST\bin\Debug\PLC_TEST.vshost.exe.manifest
     目录           0  2017-09-25 14:46  PLC_TEST\PLC_TEST\bin\Release\
     文件       22016  2017-09-25 14:46  PLC_TEST\PLC_TEST\bin\Release\PLC_TEST.pdb
     文件       12729  2017-09-25 14:46  PLC_TEST\PLC_TEST\Form1.cs
     文件       10955  2017-09-25 14:46  PLC_TEST\PLC_TEST\Form1.Designer.cs
     文件        5814  2017-09-25 14:46  PLC_TEST\PLC_TEST\Form1.resx
     目录           0  2017-09-25 14:46  PLC_TEST\PLC_TEST\obj\
     目录           0  2017-09-25 14:48  PLC_TEST\PLC_TEST\obj\Debug\
     文件         790  2017-09-25 14:48  PLC_TEST\PLC_TEST\obj\Debug\DesignTimeResolveAssemblyReferences.cache
     文件        6085  2017-09-25 14:47  PLC_TEST\PLC_TEST\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
     文件        4265  2017-09-25 14:47  PLC_TEST\PLC_TEST\obj\Debug\PLC_TEST.csproj.FileListAbsolute.txt
     文件         847  2017-09-25 14:46  PLC_TEST\PLC_TEST\obj\Debug\PLC_TEST.csproj.GenerateResource.Cache
     文件       14336  2017-09-25 14:46  PLC_TEST\PLC_TEST\obj\Debug\PLC_TEST.exe
     文件         180  2017-09-25 14:46  PLC_TEST\PLC_TEST\obj\Debug\PLC_TEST.Form1.resources
     文件       26112  2017-09-25 14:46  PLC_TEST\PLC_TEST\obj\Debug\PLC_TEST.pdb
     文件         180  2017-09-25 14:46  PLC_TEST\PLC_TEST\obj\Debug\PLC_TEST.Properties.Resources.resources
     目录           0  2017-09-25 14:46  PLC_TEST\PLC_TEST\obj\Debug\Refactor\
     目录           0  2017-09-25 14:47  PLC_TEST\PLC_TEST\obj\Debug\TempPE\
     文件        3584  2017-09-25 14:48  PLC_TEST\PLC_TEST\obj\Debug\TempPE\Properties.Resources.Designer.cs.dll
............此处省略15个文件信息

评论

共有 条评论