S7-1200第18讲:S7-1200的Modbus RTU通信协议和计算.pptxVIP

  • 60
  • 0
  • 约2.65千字
  • 约 15页
  • 2021-09-17 发布于河北
  • 举报

S7-1200第18讲:S7-1200的Modbus RTU通信协议和计算.pptx

博途1200课程--第17讲; 主设备可单独和从设备通信,也能以广播方式和所有从设备通信。如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则不作任何回应。Modbus协议建立了主设备查询的格式:设备(或广播)地址、功能代码、所有要发送的数据、一错误检测域。 从设备回应消息也由Modbus协议构成,包括确认要行动的域、任何要返回的数据、和一错误检测域。如果在消息接收过程中发生一错误,或从设备不能执行其命令,从设备将建立一错误消息并把它作为回应发送出去。 Modbus是一种但主站的主/从通讯模式。Modbus网络上只能有一个主站存在,主站在Modbus网络上没有地址,从站的地址范围为0-247,其中0为广播地址,从站的实际地址范围为1-247。;帧格式:Modbus RTU没有起始和结束符,数据校验使用CRC校验; Modbus ASCII有起始和结束符,数据校验使用LRC校验;;MB_MASTER(将 PtP 端口用作 Modbus RTU 主站进行通信)指令: MB_MASTER 指令作为 Modbus主站利用之前执行 MB_COMM_LOAD指令组态的端口进行通信。 将MB_MASTER指令放入程序时自动分配背景数据块。 指定MB_COMM_LOAD 指令的 MB_DB参数时将使用该 MB_MASTER背景数据块。;Modbus 主站通信规则: ● 必须先执行 MB_COMM_LOAD 组态端口,然后 MB_MASTER指令才能与该端口通信。 ● 如果要将某个端口用于初始化 Modbus 主站请求,则 MB_SLAVE 不应使用该端口。 MB_MASTER 执行的一个或多个实例可使用该端口,但是对于该端口,所有 MB_MASTER 执行都必须使用同一个 MB_MASTER 背景数据块。 ● Modbus 指令不使用通信中断事件来控制通信过程。 用户程序必须轮询 MB_MASTER 指令以了解传送和接收的完成情况。 ● 建议对于给定的端口,从程序循环 OB 中调用所有 MB_MASTER 执行。Modbus主站指令只能在一个程序循环或循环/延时执行等级执行。它们不能同时在两种执行优先级中执行。 如果一个 Modbus主站指令被另一个执行优先级更高的 Modbus 主站取代,将导致不正确的操作。 Modbus 主站指令不能在启动、诊断或时间错误执行优先级执行。;Modbus 主站通信规则: ● 主站指令启动传输后,必须连续执行已启用 EN 输入的该实例直到返回状态 DONE=1或状态 ERROR=1 为止。 在这两个事件其中之一发生前,一个特殊的 MB_MASTER实例被视为已激活。 原始实例激活后,调用已启用 REQ 输入的其它任何实例都将导致错误。如果原始实例的连续执行过程停止,则请求状态保持激活一段时间,该时间由静态变量 Blocked_Proc_Timeout 指定。 一旦超出该时间段,则下一个使用激活的 REQ输入调用的主站指令成为激活实例。 这可以防止单个 Modbus主站指令独占或锁定对端口的访问。 如果在由静态变量“Blocked_Proc_Timeout”指定的时间段内没有启用原始激活的实例,则下次执行此实例(未设置 REQ)时将清除激活状态。 如果设置了REQ,则此次执行将启动新的主站请求,如同其它实例未曾激活一样。 ;02 02 00 00 00 0A F8 3E;主:02 02 00 02 00 0C D9 FC 从:02 02 02 39 0E 6E 2C (此时IB0为16#E6,IB1为16#78) 主:02 10 00 00 00 0A 14 0A AA 0A AA 0A AA 0A AA 0A AA 0A AA 0A AA 0A AA 00 00 00 00 9C F3 从:02 10 00 00 00 0A 40 3D 此时的从站DB块数据数据如下:;DATA_PTR 参数 DATA_PTR 参数指向要写入或读取的 DB 或 M 地址。 如果使用数据块,则必须创建一个全局数据块为读写 Modbus 从站提供数据存储位置。 DATA_PTR 参数的数据块结构 ● 这些数据类型对 Modbus 地址 30001 到 39999、40001 到 49999 和 400001 到465536 的字读取有效,对 Modbus 地址 40001 到 49999 和 400001 到 465536的字写入也有效。 – WORD、UINT 或 INT 数据类型的标准数组 – 指定的 WORD、UINT 或 INT 结构,其中每个元素都具有唯一的名称和 16位数据类型。 – 指定的

文档评论(0)

1亿VIP精品文档

相关文档