c# 如何读取modbus协议 但是要是位置rw的

有项目的发在wujiangdazhi@163.com 谢谢

第1个回答  2011-08-15
通过串口读啊!serverport啊~根据协议发送命令。然后接受命令就可以啦。!

Modbus Master如何读取从站的数据
其实没有必要这么繁琐的,C#添加Modbus引用之后,可以使用Modbus.Utility命名空间里面有一个ReadHoldingRegister的方法,使用这个方法可以直接读取设备寄存器地址里面的数据,再把数据对应的高低位、百位组合一下就可以显示出下位机屏幕上的数据,但前提是你要有你的设备的寄存器地址详细说明,至于Modbus引用之类的...

我需要利用Modbus协议读取电能表的数据,请问该怎么读呢? 语言是c#
1.电脑要有485转232的转换器 2.你要看懂DLT_645—1997规约的通讯协议,现在大多电能表厂都会遵行这个通讯协议,DLT_645—1997规约不是最新的通讯协议.就看电表的使用什么通讯协议.3.要知道电能能的通讯地址,不知道也没关系,可以单表通讯,用12个9当地址.就可以读出来.4.用mscomm32.ocx控件访问串口; ...

C#通过485串口读取寄存器地址的数值并显示。协议为标准MODBUS协议。
不用timer去扫描,直接用series Port的接收方法,再他的事件中可以看到seriesPort_Received,每次有数据传回来就会执行这个事件,再里面更具MODBUS协议解析数据就行了。

关于C#读取PLC数据的问题。
其实你要是用到C#那么你读取写入数据库是很简单的,主要是你怎么从PLC采集过来。这个就是个通讯的问题。西门子应该有专门以太网通讯的案例。我之前用的是MODBUS TCP\/IP也可以通过以太网读取PLC。这个项目如果一个人做是要点时间的。通讯好像用WINSOK这个控件吧。

如何利用C#的Nmodbus库控制ACS510变频器?
步骤7:读取变频器故障信息。通过Modbus主设备对象读取变频器故障信息。读取地址1,寄存器地址500的线圈数据,其中线圈0表示是否存在故障。通过以上步骤,实现C#与Nmodbus4库通过Modbus-RTU协议控制ACS510变频器,包括启动、停止、读取频率、电流与故障信息。实际操作需根据具体变频器型号与协议进行设置与调试,...

C#以太网上位机如何读取西门子PLC的IO点状态?
这取决于你使用的通信协议是什么,比如说你是用TCP\/IP还是MODBUS TCP。如果是TCP\/IP则PLC这边需要编写TCP服务器的程序,然后把需要对写的地址对应到相应的数据存储器里面去。如果使用MODBUS TCP,那么输入点和输出点会有对应的类型地址,如Q0.0地址为00001,I0.0地址为10001....

如何通过c#软件中的mscomm控件用modbus485通信读取plc中寄存器的...
把问题拆一下,C#没什么可说,mscomm控件和485就是个串口,modbus是通讯协议很简单,PLC是关键。各厂商的内存表不同,你得对照说明书读取。

威纶触摸屏如何读取modbus一个字的bit位
2、设置Modbus协议的读取方式为读保持寄存器,并指定需要读取的起始地址和读取长度;在Modbus协议中,每个保持寄存器中包含16位二进制数值,因此需要读取多个保持寄存器才能获取所需的bit位信息。3、将读取到的16位二进制数值转换为二进制字符串,并从中提取需要的bit位信息。例如,如果需要读取第8位的bit位...

modbus规约,寄存器的地址怎么定义?我的pic芯片采集到的电压数据存放在一...
7,8,9],则6000对应0,6001对应1,以此类推。上位机软给个命令想获取从6000地址开始的后面2个字,格式如下:01 03 17 6F 00 02 CRCL CRCH (假设地址为01,使用CRC16效验)你只需要从你的数组中从0位置开始取2个字,4个字节返回就行了,格式如下;01 03 04 00 00 00 01 CRCL CRCH ...

做MODBUS RTU通讯时,如何读取设备寄存器40001中的浮点数
而Modbus协议是按照字或位为单位(因此,字地址和位地址不会发生冲突,可以任意调用)。顺序(以浮点数的2个字举例)是按照低字的高字节、低字的低字节、高字的高字节、高字的高字节的顺序排列的,因此,所有顺序与西门子的顺序完全是反的。注意是字中的高低字节的位置发生变化,而非阿鸣说的高低字...

相似回答