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

好看的企业网站上海网站开发建设找哪家

好看的企业网站,上海网站开发建设找哪家,做网站怎么改关键词,建网站 多少钱钱Modbus入门 ModbusModbus模拟工具模拟工具使用配置Slave配置Poll C#使用ModBus通讯在无法使用 SerialPort类 的情况下使用TCP进行 Modbus modbus使用范围广泛#xff0c;广泛应用于各类仪表#xff0c;PLC等。它属于应用层协议#xff0c;底层硬件基于485/以太网。 Modbus的… Modbus入门 ModbusModbus模拟工具模拟工具使用配置Slave配置Poll C#使用ModBus通讯在无法使用 SerialPort类 的情况下使用TCP进行 Modbus modbus使用范围广泛广泛应用于各类仪表PLC等。它属于应用层协议底层硬件基于485/以太网。 Modbus的存储区有输入线圈布尔只读代号1区输入寄存器寄存器只读代号3区输出线圈读写布尔代号0区输出寄存器寄存器读写代号4区 Modbus是典型的半双工模式有且只有一个master请求由master发出slave响应。slave之间不能通讯只能通过master转达。相当于master是客户端slave都是服务器。 Modbus模拟工具 模拟工具使用Modbus Slave 以及 Modbus Poll 。其中 Slave相当于服务器Modbus SlavePoll相当于客户端Modbus Master。 模拟工具使用 配置Slave 配置Slave 基本配置配置完选择ok接下来只要配置要使用的接口方式网卡串口等 选择接口方式选择串口初始化波特率、数据位、校验位、停止位然后选择ok即可打开链接。 配置Poll 打开Poll选择需要进行的操作 选择写入可以寄存器会发现Slave这边对应的已经改变了 上面type中可以写入浮点数等类型。 C#使用ModBus通讯 使用NuGet中的NModbus4通讯库进行ModBus RTU串口通讯 namespace ModusCommunication {internal class Program{static void Main(string[] args){ModuleHandle moduleHandle new ModuleHandle(); // NuGet 安装 NModbus4 库// 确定通讯方式 这边是串口SerialPort port new SerialPort(COM2);// 波特率port.BaudRate 9600;// 数据位port.DataBits 8;// 停止位port.StopBits StopBits.One;// 校验位port.Parity Parity.None;port.Open();var master ModbusSerialMaster.CreateRtu(port);// 读取保持型寄存器 slaveid 寄存器起始位置 读取个数ushort [] values master.ReadHoldingRegisters(1,10,2);Console.WriteLine($index 10:{values[0]},index 11:{values[1]});// 写入保持型寄存器 slaveid 在18号寄存器 写入 133master.WriteSingleRegister(1, 18, 133);// 读写线圈型寄存器 bool [] coils master.ReadCoils(2, 0, 3);Console.WriteLine($index 0:{coils[0]},index 2:{coils[2]});// 写入线圈状态 将2号线圈寄存器值改为falsemaster.WriteSingleCoil(2, 2, false);// 在10寄存器处写入浮点数实际占用1011两个寄存器master.WriteFloat(1, 10, 3.14f);Console.WriteLine($写入浮点数:3.14);// 读取浮点数 浮点数在Modbus中是由两位寄存器构成一位寄存器是16bitfloat val master.ReadFloat(1, 10, 2);Console.WriteLine($浮点数 index 10-11:{val});Console.ReadLine();port.Close();}} }public static class NModbusExtensions {/// summary/// 从寄存器中读取float值/// /summary/// param namemaster/param/// param nameslaveAddress/param/// param namestartAddress/param/// param namenumberOfPoints/param/// returns/returns/// exception crefException/exceptionpublic static float ReadFloat(this ModbusSerialMaster master , byte slaveAddress, ushort startAddress, ushort numberOfPoints){try{float? floatValue;ushort[] registers master.ReadHoldingRegisters(slaveAddress, startAddress, 2); // 2寄存器对应一个浮点数if (registers.Length 2){// 从两个16位整数重新组合为浮点数ushort intValue1 registers[1]; // 低位ushort intValue2 registers[0]; // 高位byte[] bytes new byte[4];Buffer.BlockCopy(new ushort[] { intValue1, intValue2 }, 0, bytes, 0, 4);floatValue BitConverter.ToSingle(bytes, 0);return floatValue.Value;}else{throw new Exception();}}catch(Exception ex){throw new Exception(读取失败);}}/// summary/// 向寄存器中写入浮点数/// /summary/// param namemaster/param/// param nameslaveAddress/param/// param namestartAddress/param/// param namevalue/parampublic static void WriteFloat(this ModbusSerialMaster master, byte slaveAddress, ushort startAddress, float value){// 将浮点数转换为字节数组byte[] bytes BitConverter.GetBytes(value);// 提取字节数组中的两个16位整数ushort intValue1 BitConverter.ToUInt16(bytes, 0); // 低位ushort intValue2 BitConverter.ToUInt16(bytes, 2); // 高位master.WriteMultipleRegisters(slaveAddress, startAddress, new ushort[] { intValue2, intValue1 });}}在无法使用 SerialPort类 的情况下使用TCP进行 在Web以及移动端是不能使用SerialPort的这时候可以使用TCP进行链接 在slave连接配置中是有ip地址以及端口的可以通过这个进行ModbusTcp通讯 NuGet 安装 ModbusTcp 包 static async void ModbusTCPTest() {ModbusTcp.ModbusClient client new ModbusTcp.ModbusClient(127.0.0.1, 502);client.Init();// 读取一个 整数short[] values await client.ReadRegistersAsync(15,1);Console.WriteLine($index 15:{values[0]});// 读取两个浮点数float[] value await client.ReadRegistersFloatsAsync(10, 4);Console.WriteLine($index 10-11:{value[0]},index 12-13:{value[1]}); }
http://www.hkea.cn/news/14514034/

相关文章:

  • 网站tdk设置界面宣传片企业拍摄公司
  • 怎么做网站企业介绍参考消息官网手机网
  • 热点网站建设番禺区保安服务公司
  • 看那种片哪个网站好用企业品牌宣传推广
  • php网站开发是什么意思创新型的赣州网站建设
  • 比价网站网站响应式技术
  • 电子商务企业网站的推广方式网页设计师多少钱一个月
  • 什么是企业营销网站最专业的医疗网站建设
  • 做好我局门户网站建设工作免费商城系统源码
  • 哪些网站是用iframe科技有限公司起名大全
  • 网站网站开发软件php做网站子页模板
  • 吉林省建设厅网站特殊工种外包网站建设公司
  • 网站外链建设策略手表到哪个网站买
  • 怎样增加网站的权重做茶道网站
  • 青海网站 建设光华路网站建设
  • 寿光专业做网站软件下载网站如何履行安全管理义务确保提供的软件
  • 车陂手机网站建设报价公司做网站是com好还是cn好
  • 响应式网站开发周期建设厅网站账号密码忘记怎么办
  • 手机网站设计通用尺寸惠州市住房和城乡建设厅网站
  • 外贸网站建设需要注意事项wordpress营销主题
  • 电子商务网站建设管理实训报告国外flash网站欣赏
  • 佛山网站建设 骏域网站建设全国招标公告公示平台
  • 百度推广和网站建设推广的区别中国邮政做特产得网站
  • 微信支付申请网站建设未完成网站快速优化排名排名
  • 网站开发游戏开发wordpress做登录界面
  • seo 网站太小wordpress 七牛 上传
  • 大麦网网站建设的功能定位做十来个网站优化
  • 滕建建设集团网站免费贴图素材
  • 网站首屏高度免费大数据平台
  • 常州市城投建设工程招标有限公司网站宝安网站建设-信科网络