西门子200SMART(九)库

西门子200SMART(九)库_第1张图片

在SIEMENS step 7 micro/win smart中有如上图所示的几种库:

1.Modbus RTU库文件

2.开放式用户通信

3.USS协议

 

Modbus RTU

Modbus

modbus是一种串行通信协议,已经成为工业领域通信协议的业界标准,并且现在是工业电子设备之间的连接方式;Modbus允许多个(大约240个)设备连接在同一个网络上进行通信;

协议版本

modbus协议目前存在用于串口、以太网以及其他支持互联网协议的网络版本。

modbus rtu 是一种紧凑的,采用二进制表示数据的串行通信方式;rtu格式后续的命令/数据带有循环冗余校验的校验和;

modbus tcp 是通过TCP/IP的连接,这种方式不需要校验和计算。

 

这里需要注意,modbus是协议,RTU、TCP等只是采用的连接方式不一样,数据形式不一样,但都是基于modbus协议;

设备

modbus 协议是一个master/slave架构的协议,也就是主/从协议;

网络中,有一个节点是master节点,其他使用modbus协议的节点是slave节点,每个slave设备都有一个唯一的地址。也就是说,网络中只能有一个主站,可以有很多个从站,这也就是主/从网络的特点之一;

 

寻址

modbus的地址为五到六位数,包含了数据类型和地址值;

Modbus RTU 主站寻址

  • 00001 至 09999 是离散量输出(线圈)

  • 10001 至 19999 是离散量输入(触点)

  • 30001 至 39999 是输入寄存器(通常是模拟量输入)

  • (40001 至 49999)和(400001 至 465535)是保持寄存器

所有 Modbus 地址均从 1 开始

 

Modbus RTU 从站寻址

Modbus RTU 从站指令支持以下地址:

  • 00001 至 00256 是映射到 Q0.0 - Q31.7 的离散量输出。

  • 10001 至 10256 是映射到 I0.0 - I31.7 的离散量输入。

  • 30001 至 30056 是映射到 AIW0 - AIW110 的模拟量输入寄存器。

  • 40001 至 49999 和 400001 至 465535 是映射到 V 存储器的保持寄存器。

在后面详细讲解代码时,会重点写一篇关于MODBUS的代码篇,这里不多说,只是说明下,库函数的具体内容;

 

开放式通信协议

开放的通信协议允许我们创建以下连接:

  • TCP_CONNECT:创建 TCP 连接。

  • ISO_CONNECT:创建 ISO-on-TCP 连接。

  • UDP_CONNECT:创建 UDP 连接。

  • TCP_SEND:发送用于 TCP 和 ISO-on-TCP 连接的数据指令。

  • TCP_RECV:接收用于 TCP 和 ISO-on-TCP 连接的数据指令。

  • UDP_SEND:发送用于 UDP 连接的数据指令。

  • UDP_RECV:接收用于 UDP 连接的数据指令。

  • DISCONNECT:终止所有协议的连接。

当然这些协议的前提时CPU必须具有以太网通信相关的所有功能;

 

USS协议

1.该指令库包括专门设计用于通过USS协议与电机变频器进行通信的预组态子例程和中断例程,从而让控制Siemens变频器更加简单,可以使用USS指令控制物理变频器和读写变频器参数;

2.Siemens设计了USS通信库,目的是为了支持Siemens的通用驱动,例如Siemens Micromaster系列,而不希望使用USS通信库支持特殊用途的驱动器,例如V90伺服驱动,V90驱动的控制接口不同于通用驱动的接口,为此,USS通信不能用于V90伺服;

3在使用USS协议的时候,需要注意以下事项:

  • USS 指令会影响与所分配端口上自由端口通信相关的所有 SM 位置

  • USS 指令的变量需要 400 字节的 V 存储区

  • 某些 USS 指令还需要 16 字节的通信缓冲区

  • 执行计算时,USS 指令使用累加器 AC0 至 AC3。还可以在程序中使用累加器,但累加器中的数值将由 USS 指令改动,也就是说,不能再用AC0到AC3的累加器了

  • USS 指令不能用在中断例程中

 

总结

个人建议能使用TCP/IP协议的尽量使用,大部分变频器等设备都支持Modbus串口通信协议,尽力避免使用USS,在项目实际使用中,如果不是全套都是西门子的控制系统,会很麻烦,也会遇到很多问题。

 

 

 

 

 

 

 

你可能感兴趣的:(smart200PLC编程,工控自动化)