当前位置:首页 > 燃气灶 > 文章正文

西门子PLC的USS通信轨范原来是这样编写赶紧转发收藏

编辑:[db:作者] 时间:2024-08-25 01:07:34

S7-200 SMART本体集成的 RS 485 通信口可以事情在自由口模式下,支持 USS 通信协议。

西门子PLC的USS通信轨范原来是这样编写赶紧转发收藏

S7-200 SMART 与驱动装置(变频器)进行 USS 通信时可以:

1)根据驱动装置的详细 USS 通信规范,我们自己编程实现 USS 通信。
此办法可以担保该驱动装置的所有 USS 通信功能都能得到利用;

2)利用西门子供应的 USS 通信指令库,实现与 Micro Master 系列的 MM3/MM4 和 SINAMICS G110/V20 的USS 通信。
此指令库只能有限地支持与其他驱动装置的 USS 连接。

利用西门子供应的 USS 指令库,这样我们就不必自己配置繁芜的 PKW/PZD 数据,或者打算校验字节。

S7-200 SMART的 USS 编程紧张包括如下几个步骤:

参数设置和硬件接线部分可参考我们技成培训网不雅观看《西门子变频器参数设置和实操演习》课程的干系章节,在这不再阐述;

调用USS初始化指令

S7-200 SMART USS 标准指令库包括 USS_INIT、USS_CTRL、USS_RPM_X、USS_WPM_X等指令。
调用这些指令时会自动增加一些子程序和中断做事程序。

USS 库运用首先要进行 USS 通信的初始化。
利用 USS_INIT 指令初始化 USS 通信功能。

图 1. 选择 USS_INIT 指令

打开 USS 指令库分支,像调用子程序一样调用 USS_INIT 指令。

图 2. 调用 USS_INIT 指令

图中:

EN:初始化程序 USS_INIT 只需在程序中实行一个周期就能改变通信口的功能,以及进行其他一些必要的初始设置,因此可以利用 SM0.1 或者沿触发的接点调用 USS_INIT 指令;

Mode:模式选择,实行 USS_INIT 时 ,Mode 的状态决定在通讯端口上是否利用 USS 通信功能;

=1 设置为 USS 通信协议并进行干系初始化

=0 规复为 PPI 协议并禁用USS通信

Baud:USS 通信波特率。
此参数要和变频器的参数设置同等;

=1200

1200 bit/s

2400 表示2400 bit/s

4800表示4800 bit/s

9600表示9600 bit/s

19200表示19200 bit/s

38400表示38400 bit/s

57600表示57600 bit/s

115200表示115200 bit/s

Port: 0 = CPU 集成的 RS485 通讯端口;=1可选CM01 旗子暗记板。

Active:此参数决定网络上的哪些 USS 从站在通信中有效。
详见下面的解释;

Done:初始化完成标志

Error:初始化缺点代码;对应的代码如下:

USS 库指令缺点代码

缺点代码

缺点描述

0

无缺点

1

驱动装置无相应

2

来自驱动的相应中检测到校验和缺点

3

来自驱动的相应中检测到奇偶校验缺点

4

用户程序滋扰引起缺点

5

考试测验实行造孽命令

6

供应了无效的驱动装置地址

7

通信口未定义为 USS 协议

8

通信口忙于处理其他指令

9

驱动装置速率设定输入值超限

10

驱动装置返回的信息长度禁绝确

11

驱动装置返回报文的第一个字符禁绝确(不是 02 h)

12

驱动装置返回的长度信息不被 USS 指令支持

13

相应的驱动装置禁绝确

14

供应的 DB_ Ptr 地址禁绝确

15

供应的参数号禁绝确

16

选择了缺点的协议

17

USS 已激活,不能改变

18

指定了造孽的波特率

19

无通信活动:驱动装置未激活

20

驱动装置返回的参数值禁绝确或包括缺点的代码

21

要求一个字长的数据时返回了一个双字数据

22

要求一个双字长的数据时返回了一个字数据

23

端口无效

24

旗子暗记板(SB) 端口1缺失落或未组态

Active参数

USS_INIT 子程序的 Active 参数用来表示网络上哪些 USS 从站要被主站访问,即在主站的轮询表中激活。
网络上作为 USS 从站的驱动装置每个都有不同的 USS 协议地址,主站要访问的驱动装置,其地址必须在主站的轮询表中激活。
USS_INIT 指令只用一个 32 位长的双字来映射 USS 从站有效地址表,Active 的无符号整数值便是它在指令输入真个取值。

表 1. 从站地址映射

在这个 32 位的双字中,每一位的位号表示 USS 从站的地址号;要在网络中激活某地址号的驱动装置,则须要把相应位号的位置设为二进制“1",不须要激活 USS 从站,相应的位设置为”0"。
末了对此双字取无符号整数就可以得出 Active 参数的取值。

在表 1 的例子中,如果利用站地址为 3 的 MM 440 变频器,则须在位号为 03 的位单元格中填入二进制“1"。
其他不须要激活的地址 对应的位设置为”0"。
取整数,打算出的 Active 值为 00000008 h,即 16#00000008,也即是十进制数 8(如图 2.中的 e.)

建议利用 16 进制数,这样可以每 4 位一组进行加权打算出 16 进制数,并组合成一个整数。
当然也可以表示为十进制或二进制数值,但有时会很麻烦,而且不直不雅观。

如果一时难以打算出有多个 USS 从站配置情形下的 Active 值,可以利用 Windows 自带的打算器。
将其设置为科学打算器模式,可以方便地转换数制

调用驱动装置掌握指令

USS_CTRL 指令用于对单个驱动装置进走运行掌握。
这个功能块利用了 USS 协议中的 PZD 数据传输,掌握和反馈旗子暗记更新较快。

图3.USS_CTRL指令

在 USS 通信指令库分支中选择 USS_CTRL 指令。

EN:利用 SM0.0 使能 USS_CTRL 指令

RUN:驱动装置的启动/停滞掌握

=0停滞=1运行

此停车是按照驱动装置中设置的斜坡减速指电机停滞.

OFF2:停车旗子暗记 2。
此旗子暗记为“1"时,驱动装置将封锁主回路输出,电机自由停车

OFF3:停车旗子暗记 3。
此旗子暗记为“1”时,驱动装置将快速停车

F_ACK:故障确认。
当驱动装置发生故障后,将通过状态字向 USS 主站报告;如果造成故障的缘故原由打消,可以利用此输入端打消驱动装置的报警状态,即复位。
把稳这是针对驱动装置(变频器)的操作。

DIR:电机运转方向掌握。
其“0/1”状态决定运行方向

Drive:驱动装置在 USS 网络上的站号。
从站必须先在初始化时激活才能进行掌握

Type:向 USS_CTRL 功能块指示驱动装置类型

=0表示MM3系列,或更早的产品

=1表示MM 4 系列,SINAMICS G 110,SINAMICS V 20

Speed_SP:速率设定值。

该速率是全速的一个百分数;“Speed_SP”为负值将导致变频器反向运行。

Resp_R:从站应答确认旗子暗记。

主站从 USS 从站收到有效的数据后,此位将为“1"一个程序扫描周期,表明以下的所有数据都是最新的

Error:缺点代码。
0 = 无出错。
其他缺点代码请参考USS 库指令缺点代码

Status:驱动装置的状态字。
此状态字直接来自驱动装置的状态字,表示了当时的实际运行状态

详细的状态字信息意义请参考相应的驱动装置(变频器)手册。

Speed:驱动装置返回的实际运转速率值,实数。

Run_EN:运行模式反馈,表示驱动装置是运行(为 1)还是停滞(为 0)

D_Dir:指示驱动装置的运转方向,反馈旗子暗记

Inhibit:驱动装置禁止状态指示(0 - 未禁止,1 - 禁止状态)。
禁止状态下驱动装置无法运行。
要打消禁止状态,故障位必须复位,并且 RUN, OFF2 和 OFF3 都为 0

Fault:故障指示位(0 - 无端障,1 - 有故障)。
表示驱动装置处于故障状态,驱动装置上会显示故障代码(如果有显示装置)。
要复位故障报警状态,必须先肃清引起故障的缘故原由,然后用 F_ACK 或者驱动装置的端子、或操作面板复位故障状态。

此 USS_CTRL 功能块利用了 PZD 数据读写机制,传输速率比较快。
但由于它还是串行通信,而且还可能有多个从站须要轮询,因此无法做到“实时”相应。
要实现高哀求的快速通信,该当利用 PROFIBUS-DP 等网络,同时改换主站为更高等的掌握器。

USS_CTRL 已经能完成基本的驱动装置掌握,如果须要有更多的参数掌握选项,可以选用 USS 指令库中的参数读写指令实现。

调用驱动装置参数读写指令

USS 指令库中共有 6 种参数读写功能块,分别用于读写驱动装置中不同规格的参数。

它们是:

USS 参数读写指令采取与 USS_CTRL 功能块不同的数据传输办法。
由于许多驱动装置把参数读写指令用到的 PKW 数据处理作为后台任务,参数读写的速率要比掌握功能块 慢一些。
因此利用这些指令时须要更多的等待韶光,并且在编程时要考虑到,进行相应的处理。

读参数指令

以下的程序段读取SINAMICS V20 实际频率(参数 r0021)。
由于此参数是一个实数,因此选用实数型参数读功能块。

参数读写指令必须与参数的类型合营。

调用 USS_RPM_R 指令读取 SINAMICS V20 的实际频率

EN:要使能读写指令此输入端必须为 1

XMT_REQ:发送要求。
必须利用一个沿检测触点以触发读操作,它前面的触发条件必须与 EN 端输入同等

Drive:要读写参数的驱动装置在 USS 网络上的地址

Param:参数号(仅数字)。
此处也可以是变量

Index:参数下标。
有些参数由多个带下标的参数组成一个参数组,下标用来指出详细的某个参数。
对付没有下标的参数,可设置为 0

DB_Ptr:读写指令须要一个 16 字节的数据缓冲区,用间接寻址形式给出一个起始地址。
此数据缓冲区与“库存储区”不同,是每个指令(功能块)各自独立须要的。

此数据缓冲区也不能与其他数据区重叠,各指令之间的数据缓冲区也不能冲突

Done:读写功能完成标志位,读写完成后置 1

Error:出错代码。
0 = 无缺点

Value:读出的数据值。
该数据值在 “Done”位为1时有效。

EN 和 XMT_REQ 的触发条件必须同时有效,EN 必须持续到读写功能完成(Done 为 1),否则会出错。

来源:PLC发热友,作者:技成培训网-眭相建,转载请注明出处!
文章源程序可免费供应,私信回答:源程序 免费领取!
评论处大家可以补充文章阐明不对或欠缺的部分,这样下一个看到的人会学到更多,你知道的正是大家须要的。


本站所发布的文字与图片素材为非商业目的改编或整理,版权归原作者所有,如侵权或涉及违法,请联系我们删除,如需转载请保留原文地址:http://www.baanla.com/rqz/56132.html

XML地图 | 自定链接

Copyright 2005-20203 www.baidu.com 版权所有 | 琼ICP备2023011765号-4 | 统计代码

声明:本站所有内容均只可用于学习参考,信息与图片素材来源于互联网,如内容侵权与违规,请与本站联系,将在三个工作日内处理,联系邮箱:123456789@qq.com