当前位置: 首页 > wzjs >正文

双辽做网站关键词排名代做

双辽做网站,关键词排名代做,wordpress角色模板,外贸公司英文ModBus协议是莫迪康公司为了让PLC之间进行数据通信而设计出来的协议。它是一种总线协议,是一种一对多,上下级的关系。 它的应用广泛,具有免费开源,操作简单的有点,并且可以兼容串口和网络通讯,兼容也不错。…

ModBus协议是莫迪康公司为了让PLC之间进行数据通信而设计出来的协议。它是一种总线协议,是一种一对多,上下级的关系。

它的应用广泛,具有免费开源,操作简单的有点,并且可以兼容串口和网络通讯,兼容也不错。

数据类型:输入布尔(输入线圈),输入寄存器,输出布尔(输出线圈),输出寄存器

布尔就是bool值,寄存器可以是int或者float类型

常用功能码

1、读取

读取输出线圈(Read Coils) 0x01

读取输入线圈 (Read DisCrete Input)0x02,(主机只读)

读取输出寄存器(Read Holding Registers)0x03,

读取输入寄存器(Read Inpute Registers)0x04,(主机只读)

2、写入

写入单个线圈(Write Single Coil)0x05

写入单个寄存器(Write Single Register)0x06

写入多个线圈(Write Multple Coils)0x0F

写入多个寄存器(Write Multple Register)0x10

三种传输类型

1、ModbusRTU,用于串口通信,传递字节码,效率更高

流程是主机向从机发出请求,从站响应请求后,主站才能接收到数据。

主机报文:从站地址+功能码+起始地址+数据长度+校验位(从站地址,功能码占1个字节,起始地址、数据长度、检验位占2个字节)

数据长度可以看做是读取的行数

例如:从机的设备地址是01,功能码是读取输出寄存器03,起始寄存器地址是从第0开始读取,读取的数量是9,得出的报文就是:01 03 00 00 00 09 XX XX

从机报文:从站地址+功能码+数据的字节位数+数据+校验位(从站地址,功能码,数据的字节位数占1个字节,数据、检验位占2个字节)

例如:从机的设备地址是01,功能码是读取输出寄存器03,每次读取4个字节,从机传输的值都是65,得出的报文就是:01 03 04 00 41 00 41 XX XX

2、ModBusAscii,用于传递Ascii码

3、ModBusTCP,用于网络传输

4、ModBusUDP,用于网络传输

5、ModBusRTUOverTCP/UDP

6、ModBusAsciiOverTCP/UDP

使用C#完成ModBus的RTU和TCP通讯

进行测试前需要用到Modbus Slave开启一个ModBus服务

1、RTU通讯(串口通讯)

    var modbus = new HslCommunication.ModBus.ModbusRtu();modbus.SerialPortInni(cfg => {cfg.BaudRate = 9600;cfg.PortName = "COM2";cfg.Parity = System.IO.Ports.Parity.None;cfg.DataBits = 8;cfg.StopBits = System.IO.Ports.StopBits.One;// 每次写falsecfg.RtsEnable = false;});// 设置超时时间modbus.ReceiveTimeOut = 5000;// 设置起始地址是否从0开始,有些情况是从1开始modbus.AddressStartWithZero = true;// 设置数据大小端modbus.DataFormat = HslCommunication.Core.DataFormat.CDAB;// 设置设备地址modbus.Station = 1;modbus.Crc16CheckEnable = true;modbus.IsClearCacheBeforeRead = false;var openResult = modbus.Open();if(openResult.IsSuccess == false){MessageBox.Show("打开ModBus失败");return;}// 读取数据,从第0位开始,读取5个数据var readResult = await modbus.ReadInt16Async("0", 5);if(readResult.IsSuccess == true){this.textBox1.Text = this.textBox1.Text + string.Join(",", readResult.Content) + Environment.NewLine;}// 继续读取另一个设备地址的Bool类型modbus.Station = 2;var readBool = await modbus.ReadBoolAsync("5");if (readResult.IsSuccess == true){this.textBox1.Text = this.textBox1.Text + readBool.Content + Environment.NewLine;}// 写入数据modbus.Station = 1;var writeResult = await modbus.WriteAsync("0", (short)90);if (writeResult.IsSuccess == true){this.textBox1.Text = this.textBox1.Text + "写入成功" + Environment.NewLine;}

2、TCP通讯

    var modBus = new HslCommunication.ModBus.ModbusTcpNet("127.0.0.1");modBus.Port = 502;modBus.Station = 1;modBus.ConnectTimeOut = 10000;modBus.ReceiveTimeOut = 5000;modBus.AddressStartWithZero = true;modBus.IsStringReverse = false;modBus.DataFormat = HslCommunication.Core.DataFormat.CDAB;// 读取数据var result = await modBus.ReadInt16Async("0");if (result.IsSuccess){this.textBox1.Text = this.textBox1.Text + result.Content + Environment.NewLine;}// 写入数据var resultWrite = await modBus.WriteAsync("1", 66);if (resultWrite.IsSuccess){this.textBox1.Text = this.textBox1.Text + "写入成功" + Environment.NewLine;}

http://www.dtcms.com/wzjs/344446.html

相关文章:

  • 做爰网站下载地址网址收录查询
  • 什么是模板建站seo排名系统
  • 如何查询网站建立时间上首页的seo关键词优化
  • 公司用自己机房做网站备案搜索引擎优化专员
  • 怎么在住房公积金网站做减员操作百度官网电话
  • 石家庄做网站建设的公司哪家好网络口碑营销
  • 浙江省网站建设报价5g网络优化培训
  • 网站制作找私人多少钱全网络品牌推广
  • wordpress建站服务器选择学技术包分配的培训机构
  • 网站建设资讯平台宁波seo推广优化公司
  • 网络平台诈骗怎么报案厦门seo优化多少钱
  • 合肥网站制作价格第三方营销平台有哪些
  • 贵阳网站建设设计网络营销策划公司
  • 南充做网站电话技术培训班
  • 广州建设网站企业seo排名点击器原理
  • 如何用api做网站营销推广的特点
  • 网站开场flash怎么做的西安网络推广公司大全
  • 有哪些做网站好的公司好广州关于进一步优化疫情防控措施
  • wordpress支付宝接口新浪博客seo
  • 二手交易网网站建设目标南昌seo
  • 网站建设用哪种语言成都网站seo技巧
  • 做类似淘宝一样的网站东莞发布最新通告
  • 业务接单网站域名查询网入口
  • wordpress地址改错了宁波seo搜索优化费用
  • 苏州营销网站建设优化关键词排名
  • 90设计网站是不是没有视频模板国内最新新闻消息今天的
  • 如何做网站轮播图和菜单全屏品牌推广经典案例
  • wordpress 图片标签sem推广和seo的区别
  • 女性做网站南京seo推广公司
  • 美女做恐怖手术视频网站全网推广推荐