• 大小: 614KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-18
  • 语言: C#
  • 标签: c#  ModBus  RTU  RS-485  

资源简介

usb转rs-485,基于ModBus RTU获取气象站信息,包括CRC校验,增加掉线检测,掉线重连

资源截图

代码片段和文件信息

using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.IO.Ports;
using System.Text;
using System.Threading;
using ModBus;
using TaskManager.Domain.Dal;
using TaskManager.Domain.Model;
using XXF.ProjectTool;
using MyUtil.log;

namespace ModBus
{

    public class ModbusController
    {
        public static MyUtil.log.Log logger = LogFactory.GetLogger(System.Reflection.Methodbase.GetCurrentMethod().DeclaringType);

        #region 属性
        /// 
        /// 状态
        /// 

        public AppStatus Status = AppStatus.停止;
        /// 
        /// COM操作对象
        /// 

        private SerialPort sp = new SerialPort();
        /// 
        /// 锁
        /// 

        private static object o = new object();
        /// 
        /// CRC验证表
        /// 

        public byte[] crc_table = new byte[512];
        /// 
        /// 数据集合
        /// 

        private Dictionary DicData = null;
        /// 
        /// 从机地址
        /// 

        private byte SlaveID = 0;
        /// 
        /// 数据发送对象配置信息
        /// 

        private ArrayList DataList = null;
        /// 
        /// COM口配置信息
        /// 

        private ComSetting Setting = null;
        #endregion
        #region 构造函数
        /// 
        /// 构造函数
        /// 
 
        public ModbusController(RecivedConfigurationTable configuration)
        {
            #region 初始化CRC
            crc_table[0] = 0x0;
            crc_table[1] = 0xC1;
            crc_table[2] = 0x81;
            crc_table[3] = 0x40;
            crc_table[4] = 0x1;
            crc_table[5] = 0xC0;
            crc_table[6] = 0x80;
            crc_table[7] = 0x41;
            crc_table[8] = 0x1;
            crc_table[9] = 0xC0;
            crc_table[10] = 0x80;
            crc_table[11] = 0x41;
            crc_table[12] = 0x0;
            crc_table[13] = 0xC1;
            crc_table[14] = 0x81;
            crc_table[15] = 0x40;
            crc_table[16] = 0x1;
            crc_table[17] = 0xC0;
            crc_table[18] = 0x80;
            crc_table[19] = 0x41;
            crc_table[20] = 0x0;
            crc_table[21] = 0xC1;
            crc_table[22] = 0x81;
            crc_table[23] = 0x40;
            crc_table[24] = 0x0;
            crc_table[25] = 0xC1;
            crc_table[26] = 0x81;
            crc_table[27] = 0x40;
            crc_table[28] = 0x1;
            crc_table[29] = 0xC0;
            crc_table[30] = 0x80;
            crc_table[31] = 0x41;
            crc_table[32] = 0x1;
            crc_table[33] = 0xC0;
            crc_table[34] = 0x80;
            crc_table[35] = 0x41;
            crc_table[36] = 0x0;
            crc_table[37] = 0xC1;
            crc_table[38] = 0x81;
     

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-08-17 15:00  .vs\
     目录           0  2018-08-17 15:00  .vs\ModBus\
     目录           0  2018-08-17 15:01  .vs\ModBus\v15\
     文件      143360  2018-08-17 16:38  .vs\ModBus\v15\.suo
     目录           0  2018-08-17 15:01  .vs\ModBus\v15\Server\
     目录           0  2018-08-17 15:01  .vs\ModBus\v15\Server\sqlite3\
     文件           0  2018-08-17 15:01  .vs\ModBus\v15\Server\sqlite3\db.lock
     文件        4096  2018-08-17 15:01  .vs\ModBus\v15\Server\sqlite3\storage.ide
     文件       32768  2018-08-17 15:01  .vs\ModBus\v15\Server\sqlite3\storage.ide-shm
     文件     1318432  2018-08-17 15:13  .vs\ModBus\v15\Server\sqlite3\storage.ide-wal
     文件        2216  2018-08-17 15:06  ModBus.sln
     文件      143360  2017-05-16 17:12  ModBus.v12.suo
     目录           0  2018-08-17 15:13  ModBus\
     文件        1228  2017-05-24 16:52  ModBus\App.config
     目录           0  2018-08-17 15:01  ModBus\bin\
     目录           0  2018-08-17 15:00  ModBus\bin\Debug\
     目录           0  2018-08-17 15:01  ModBus\bin\Release\
     目录           0  2016-12-13 08:38  ModBus\Helper\
     文件         270  2016-12-05 16:32  ModBus\Helper\AppStatus.cs
     文件       20482  2016-12-12 11:10  ModBus\Helper\Commonhelper.cs
     文件         425  2016-12-05 16:33  ModBus\Helper\ComSetting.cs
     文件         508  2016-12-13 08:38  ModBus\Helper\global.cs
     文件         351  2016-12-05 17:04  ModBus\Helper\RecivedConfigurationTable.cs
     文件         251  2016-12-05 17:06  ModBus\Helper\RecivedData.cs
     文件        5339  2016-12-08 10:26  ModBus\log4net.config
     文件        5418  2018-08-17 15:06  ModBus\ModBus.csproj
     文件         478  2016-12-20 08:54  ModBus\ModBus.csproj.user
     文件       35252  2016-12-14 11:53  ModBus\ModbusController.cs
     目录           0  2018-09-03 14:59  ModBus\obj\
     目录           0  2018-08-17 15:06  ModBus\obj\Debug\
     文件           0  2018-08-17 15:01  ModBus\obj\Debug\build.force
............此处省略61个文件信息

评论

共有 条评论