VB发送MODBUS读线圈01 05 48 00 FF 00 9B 9A ,PLC不响应

VB发送MODBUS读线圈01 05 48 00 FF 00 9B 9A ,PLC不响应,第1张

根据Modbus规约,一个数据包中的两个字符之间或搜时间间隔必须小于1.5个字符,链并如波特率是9.6k时,间隔必须小于1.5*10位*104us=1.56ms,如果大于这个时间,被认为不是一个完整的包,PLC不会响应,用软件收是看不出时间的,棚团迹所以你得用示波器看时序。

另外检查停止位都设的一样吗?

表1 ModBus功能

功能码名称作用

01读取线圈状态取得一组逻辑线圈的当前状态(ON/OFF)

02读取输入状态取得一组开关输入的当前状态(ON/OFF)

03读取保持寄存器在一个或多个保持寄存器中取得当前的二进制值

04读取输入寄存器在一个或多个输入寄存器中取得当前的二进制值

05强置单线圈强置一个逻辑线圈的通断状态

06预置单寄存器把具体二进值装入一个保持寄存器

07读取异常状态取得8个内部线圈的通断状态,这8个线圈的地址由控制器决定,用户逻辑可以将这些线圈定义,以说明从机状态,短报文适宜于迅速读取状态

08回送诊断校验把诊断校验报文送从机,以对通信处理进行评鉴

09编程(只用于484)使主机模拟编程器作用,修改PC从机逻辑

10控询(只用于484)可使主机与一台正在执行长程信链序任务从机通信,探询知塌该从机是否已完成其 *** 作任务,仅在含有功能码9的报文发送后,本功能码才发送

11读取事件计数可使主机发出单询问,并随搭坦圆即判定 *** 作是否成功,尤其是该命令或其他应答产生通信错误时

12读取通信事件记录可是主机检索每台从机的ModBus事务处理通信事件记录。如果某项事务处理完成,记录会给出有关错误

13编程(184/384 484 584)可使主机模拟编程器功能修改PC从机逻辑

14探询(184/384 484 584)可使主机与正在执行任务的从机通信,定期控询该从机是否已完成其程序 *** 作,仅在含有功能13的报文发送后,本功能码才得发送

15强置多线圈强置一串连续逻辑线圈的通断

16预置多寄存器把具体的二进制值装入一串连续的保持寄存器

17报告从机标识可使主机判断编址从机的类型及该从机运行指示灯的状态

18(884和MICRO 84)可使主机模拟编程功能,修改PC状态逻辑

19重置通信链路发生非可修改错误后,是从机复位于已知状态,可重置顺序字节

20读取通用参数(584L)显示扩展存储器文件中的数据信息

21写入通用参数(584L)把通用参数写入扩展存储文件,或修改之

22~64保留作扩展功能备用

65~72保留以备用户功能所用留作用户功能的扩展编码

73~119非法功能

120~127保留留作内部作用

128~255保留用于异常应答

ModBus网络只是一个主机,所有通信都由他发出。网络可支持247个之多的远程从属控制器,但实际所支持的从机数要由所用通信设备决定。采用这个系统,各PC可以和中心主机交换信息而不影响各PC执行本身的控制任务。表2是ModBus各功能码对应的数据类型。

表2 ModBus功能码与数据类型对应表

代码功能数据类型

01读位

02读位

03读整型、字符型、状态字、浮点型

04读整型、状态字、浮点型

05写位

06写整型、字符型、状态字、浮点型

08N/A重复“回路反馈”信息

15写位

16写整型、字符型、状态字、浮点型

17读字符型

 

Read coils (FC 1)

Request

Byte 0: FC = 01

Byte 1-2: Reference number

Byte 3-4: Bit count (1-2000)

Response

Byte 0: FC = 01

Byte 1: Byte count of response (B=(bitcount+7)/8)

Byte 2-(B+1): Bit values (least significantbit is first coil!)

Exceptions

Byte 0: FC = 81 (hex)

Byte 1: exception code = 01 or 02

Example

Read 1 coil at reference 0 (00001 in  Modicon 984) resulting in value 1

01 00 00 00 01 =>01 01 01

Note that the format of the return data isnot consistent with a big-endian architecture. Note also that this

request can be very computation-intensiveon the slave if the request calls for multiple words and they are

not aligned on 16-bit boundaries


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8211642.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-14
下一篇2023-04-14

发表评论

登录后才能评论

评论列表(0条)

    保存