• 大小: 123KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2022-12-30
  • 语言: C#
  • 标签:

资源简介

采用三菱圆口的Rs422进行通讯,笔记本需要有Usb转RS422的线,不然下载后不能使用,还有三菱的协议在发送后得延时才有数据返回,所以此程序扫描效率比较低,只适合拿来学习!!!

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.IO.Ports;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

namespace 三菱422通讯
{
    public class CmdBuilder
    {
        /// 
        /// 串口
        /// 

        public static SerialPort serialPort { get; set; }
        /// 
        /// 内在地址
        /// 

        public enum MemoryCode
        {
            /// 
            /// 读取X信号
            /// 

            ReadX = 36000
            /// 
            /// 读取Y信号
            /// 

            ReadY = 35776
            /// 
            /// 读写D或写入M寄存器
            /// 

            DorM = 16384
            /// 
            /// 写入Y
            /// 

            WriteY = 24064
           
            /// 
            /// 读取M
            /// 

            ReadM = 34816
        }

        /// 
        /// 计算校验和并返回原字符加校验和
        /// 

        /// 要计算的字符
        /// 
        private static string CheckSum(string str)
        {
            str = str.Replace(“ “ ““).Replace(“ “ ““);
            int v = 0;
            for (int i = 1; i < str.Length / 2; i++)
            {
                v += str.Substring(i * 2 2).HexToDec();
            }
            string vHex = v.DecToHex(2);
            string interval = string.Empty;
#if debug
                interval=“ “;
#endif
            vHex = vHex.Substring(vHex.Length - 2).ToUpper();

            return (str + interval + vHex.AsciiStrToHex()).ToUpper();
        }

        #region  ////////////////////   读   ////////////////////
        /// 
        /// 读取X信号
        /// 

        /// 从X0开始读取多少组(注意,X0-X7为一组、X10-X17为一组)
        /// 
        public static List GetX(int GetWordCount)
        {
            string template = “02453030{0}{1}03“;//{0}--地址   {1}--读取几个8位
#if DEBUG
            template = “02 453030 {0} {1} 03“;
#endif
            StringBuilder sb = new StringBuilder(““);
            int Addr =  (int)MemoryCode.ReadX;
            string AddrHex = Addr.DecToHex().PadLeft(4 ‘0‘).ToUpper();
            sb.AppendFormat(template
                AddrHex.AsciiStrToHex()
                (GetWordCount+1).DecToHex(2).AsciiStrToHex());
            string cmd = CheckSum(sb.ToString());
            string result = SendCmd(cmd100);

            //返回:02 3031 3030 03 43 34   X0=On
            //      02 3031 3031 03 43 35   X0、X10=On
            //      02 3431 3030 03 43 38   X0、X6=On
            //      02 3031 3830 03 43 43   X0、X17=On   【01h   80h  80h=10000000 Bin】
            try
            {
                result = result.Substring(2);
                result = result.Substring(0 re

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        187  2018-01-13 07:54  三菱422通讯\三菱422通讯\App.config

     文件      28672  2018-01-16 14:54  三菱422通讯\三菱422通讯\bin\Debug\三菱422通讯.exe

     文件        187  2018-01-13 07:54  三菱422通讯\三菱422通讯\bin\Debug\三菱422通讯.exe.config

     文件      71168  2018-01-16 14:54  三菱422通讯\三菱422通讯\bin\Debug\三菱422通讯.pdb

     文件      22984  2018-01-16 14:55  三菱422通讯\三菱422通讯\bin\Debug\三菱422通讯.vshost.exe

     文件        187  2018-01-13 07:54  三菱422通讯\三菱422通讯\bin\Debug\三菱422通讯.vshost.exe.config

     文件        490  2012-06-06 02:06  三菱422通讯\三菱422通讯\bin\Debug\三菱422通讯.vshost.exe.manifest

     目录          0  2018-01-15 07:56  三菱422通讯\三菱422通讯\bin\Debug

     目录          0  2018-01-13 08:46  三菱422通讯\三菱422通讯\bin\Release

     目录          0  2018-01-13 08:46  三菱422通讯\三菱422通讯\bin

     文件      22212  2018-01-16 14:30  三菱422通讯\三菱422通讯\CmdBuilder.cs

     文件      11579  2018-01-16 14:43  三菱422通讯\三菱422通讯\DataConvert.cs

     文件       1275  2018-01-16 09:32  三菱422通讯\三菱422通讯\DtataCheangEventArgs.cs

     文件       2830  2018-01-16 15:15  三菱422通讯\三菱422通讯\Form1.cs

     文件      13650  2018-01-16 14:54  三菱422通讯\三菱422通讯\Form1.Designer.cs

     文件       5817  2018-01-16 14:54  三菱422通讯\三菱422通讯\Form1.resx

     文件       1308  2018-01-15 07:56  三菱422通讯\三菱422通讯\obj\Debug\DesignTimeResolveAssemblyReferences.cache

     文件       6979  2018-01-16 09:41  三菱422通讯\三菱422通讯\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache

     文件          0  2018-01-13 07:54  三菱422通讯\三菱422通讯\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs

     文件          0  2018-01-13 07:54  三菱422通讯\三菱422通讯\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs

     文件          0  2018-01-13 07:54  三菱422通讯\三菱422通讯\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs

     目录          0  2018-01-13 07:54  三菱422通讯\三菱422通讯\obj\Debug\TempPE

     文件        780  2018-01-16 14:55  三菱422通讯\三菱422通讯\obj\Debug\三菱422通讯.csproj.FileListAbsolute.txt

     文件        975  2018-01-16 14:54  三菱422通讯\三菱422通讯\obj\Debug\三菱422通讯.csproj.GenerateResource.Cache

     文件       2209  2018-01-13 09:04  三菱422通讯\三菱422通讯\obj\Debug\三菱422通讯.csprojResolveAssemblyReference.cache

     文件      28672  2018-01-16 14:54  三菱422通讯\三菱422通讯\obj\Debug\三菱422通讯.exe

     文件        180  2018-01-16 14:54  三菱422通讯\三菱422通讯\obj\Debug\三菱422通讯.Form1.resources

     文件      71168  2018-01-16 14:54  三菱422通讯\三菱422通讯\obj\Debug\三菱422通讯.pdb

     文件        180  2018-01-16 09:48  三菱422通讯\三菱422通讯\obj\Debug\三菱422通讯.Properties.Resources.resources

     目录          0  2018-01-16 14:54  三菱422通讯\三菱422通讯\obj\Debug

............此处省略19个文件信息

评论

共有 条评论

相关资源