技术论坛

关于如何使用S7-1200的USS库组建MM4\G120\V20(USS接口CU)网络(连载一)

作者 主题
版主

经验值: 127351
发帖数: 22001
精华帖: 824
主题:关于如何使用S7-1200的USS库组建MM4\G120\V20(USS接口CU)网络(连载一)
精华帖精华帖星级5级 推荐帖


只看楼主 只看精华 楼主 2013-12-03 09:15:29

正好工作告一段落,等待未到货的伺服电机中。看到论坛有用户在问关于USS库的问题。正好有硬件齐备,组建一个由S7-1200为主站的USS网络,并展示全过程,看看为什么要用S7-1200和TIA的“魅力”。(注:其实我更喜欢使用PN组网。不过MM4也是大家常用的变频器。)
首先,看看已有的驱动系统如下:



添加两芯PB电缆、插头、终端电阻和S7-1200PLC(哪个型号均可。注:版本<3.0没有WEB服务)附加一块(最多3块)RS485模块。每个RS485模块最多可以连接16台西门子USS驱动装置(包括MM4、SINAMICS G120 USS的CU/和 V20其他支持USS协议的驱动器)。
如下图:




关于PKW通讯部分 连载二

关于控制字部分 连载三


学而时习之,不亦说乎?温故而知新,不亦乐乎?
精华帖版主置评: 无私共享。
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?b_id=10&a_id=1113408&s_id=0&num=15

版主

经验值: 127351
发帖数: 22001
精华帖: 824
回复:关于如何使用S7-1200的USS库组建MM4\G120(USS接口CU)网络(连载)
推荐帖


只看楼主 只看精华 楼主 1楼 2013-12-03 09:40:01
开始组态;编程。这里使用 TIA V11 SP2,添加了设备描述文件(GSD)
打开 TIA (V11、V10.5均可。只不过V10.5硬件标识符不一样、功能少、适合低版本S7-1200;但好处是自带WinCC Basic)
TIA的使用方法:就是拖拽 - 释放图标、变量。
1、新建项目:取个名字;
2、在设备视图中,点击黑三角,CPU中选实际的 S7-1200,和订货号一致。
3、在通讯模块目录下,找到RS485模块,拖拽、插到和实际一样排序的“机架”上。
4、点击CPU1,选属性。按实际局域网网络设定PLC的IP地址。
我这里使用了一台 S7-1215C。如下图:



注意:在TIA V10.5中硬件标识符不一样(功能少嘛)
OK! 完成硬件组态。编译、保存项目。



学而时习之,不亦说乎?温故而知新,不亦乐乎?
以下网友喜欢您的帖子:

  
版主

经验值: 127351
发帖数: 22001
精华帖: 824
回复:关于如何使用S7-1200的USS库组建MM4\G120(USS接口CU)网络(连载)
推荐帖


只看楼主 只看精华 楼主 2楼 2013-12-03 09:49:32
开始编程:
首先,点击程序块黑三角、添加新块。选组织块中的Startup启动块。目的是先把要驱动的每一个装置“声明”一下。呵呵。如下图:



打开Startup启动块。从右侧《通讯》下的《通讯处理器》找到USS。按住USS_DRIVE图标,拖拽到能流线;出现绿点,放置。会自动弹出背景数据块窗口。我这里使用了自动;但实际上可以手动,选一个大一点编号。因为,如果这个PLC要和其它的一些触摸屏?LOGO连接时;有的只能和DB1 “打交道”
如下图:



我去吃个早饭。一会儿见。。。
学而时习之,不亦说乎?温故而知新,不亦乐乎?
以下网友喜欢您的帖子:

  
版主

经验值: 127351
发帖数: 22001
精华帖: 824
回复:关于如何使用S7-1200的USS库组建MM4\G120(USS接口CU)网络(连载)
推荐帖


只看楼主 只看精华 楼主 3楼 2013-12-03 10:40:32
我回来了,接续。。
和S7-200的USS库完全不一样!我这里展示一下 S7-1200 USS库的“魅力”。做一个 8/8 PZD的通讯(而不是 S7-200的只能2/2PZD) 。注:以下对MM440;430(420不可)、SINAMICS V20和G120 USS CU240均可用。
我想快速、同步读取:速度、电流、电压、转矩、DI端子、模拟量输入。
1、连续拖入 USS_DRV图标、每一个都使用同一个 USS_DRV_DB(属于同一个RS485模块的都是同一个DB!)
2、修改每一个的地址(可以使不连续的;但要和对应控制的MM440分配的地址一致)
3、修改PZD长度。(我想同时读/写8/8PZD,当然改成8啦。可以是2、4、6、8)
如下图:



注意:除了上述两项,其他都不用设置。这只是个“声明”
实际存在几个USS驱动装置,就拖拽进来几个。
至此,启动OB就写完了。
顺便说一句,所有需要启动时赋值的数据、变量都写在这里。
学而时习之,不亦说乎?温故而知新,不亦乐乎?
以下网友喜欢您的帖子:

  
版主

经验值: 127351
发帖数: 22001
精华帖: 824
回复:关于如何使用S7-1200的USS库组建MM4\G120(USS接口CU)网络(连载)
推荐帖


只看楼主 只看精华 楼主 4楼 2013-12-03 10:52:28
上面的USS_DRV‘s其实只是即时的组态每一个驱动的报文;并没有真正和模块通讯!
下面“组态”和RS485模块的通讯
这里先说一下USS通讯:应该注意到这是异步的、总线方式的通讯。总线上,每次只能和一个驱动交换数据,等待驱动的响应。一条报文的交换时间就“很长”。所以CPU只需要定时和485模块“打交道”就可以了。
先看一个表格:



摘自《S7-1200系统手册》
因为我选用19200速率。选个80mS启动一次RS485模块与某一驱动装置交换一次报文就够了。
为此,添加个新块。选OB组织块中的循环中断Cyclic_interrupt。扫描时间设定80mS。如下图:



按确认后,在打开的循环中断中,拖入一个USS_PORT指令图标:
1、输入端口PORT选硬件组态的485模块号
2、输入端口USS_DB选上面建好的USS_DRV_DB。



在左侧PLC变量表中新加一个变量表。建几个PORT端口用的变量(注意数据类型)。如下图
然后把它们拖到对应的端口。



这里要说明一下:因为网络、驱动装置未在线、出错时,需要看到是哪个。要把USS_DRV_DB中的扩展信息提出来。所以在USS_PORT调用后,读取USS_Extended_Error。
至此,循环中断就写完了
学而时习之,不亦说乎?温故而知新,不亦乐乎?
以下网友喜欢您的帖子:

  
版主

经验值: 127351
发帖数: 22001
精华帖: 824
回复:关于如何使用S7-1200的USS库组建MM4\G120(USS接口CU)网络(连载)
推荐帖


只看楼主 只看精华 楼主 5楼 2013-12-03 11:45:06
开始写主程序 组织块OB1(其实没啥可写的。呵呵)
在写主程序之前,先为每一台USS驱动准备一个数据块DB,来接收报文。
1、添加新块。选数据块。
2、取个合适的名称。我选个MM440_1_DB。(第二个就是MM440_2_DB... 到第N个。有窍门,看下面)
如图:



如果驱动很多,可以用数组的方法写在一个DB里。但要考虑 触摸屏的读取问题。
数据块里面可按图示,添加变量(最好写好注释说明!)如下图:



你不需要反复填写DB!可以使用 Ctrl-C、Ctrl-V。复制、粘贴,然后改名称、改编号。有几个USS驱动
就做几个。



学而时习之,不亦说乎?温故而知新,不亦乐乎?
以下网友喜欢您的帖子:

  
版主

经验值: 127351
发帖数: 22001
精华帖: 824
回复:关于如何使用S7-1200的USS库组建MM4\G120(USS接口CU)网络(连载)
推荐帖


只看楼主 只看精华 楼主 6楼 2013-12-03 12:16:57
每台USS驱动的输出数据做完了。现在开始写主程序OB1了。
其实最好新建一个组织块OB,这样OB1“干净”
1、从右侧拖拽一个USS_DRIVE指令进来;它会弹出背景数据块的窗口;
2、一定要选已经建好的背景数据块DB!
3、双击打开前面建好的;该USS驱动的数据块(如:对应地址1建立的MM440_1_DB)。准备赋值。
如下图:



开始赋值 其实就是 拖 - 拽 - 放。呵呵
如下图:



注意:修改 输入的DRIVE地址。PZD_LEN长度(我需要=8PZD)
学而时习之,不亦说乎?温故而知新,不亦乐乎?
以下网友喜欢您的帖子:

  
版主

经验值: 127351
发帖数: 22001
精华帖: 824
回复:关于如何使用S7-1200的USS库组建MM4\G120(USS接口CU)网络(连载)
推荐帖


只看楼主 只看精华 楼主 7楼 2013-12-03 12:24:19
同理:再拖入一个USS_DRV指令到下一条语句。
打开第二个地址的 DB 同上处理。。以此类推。。
见下图:



学而时习之,不亦说乎?温故而知新,不亦乐乎?
以下网友喜欢您的帖子:

  
版主

经验值: 127351
发帖数: 22001
精华帖: 824
回复:关于如何使用S7-1200的USS库组建MM4\G120(USS接口CU)网络(连载)
推荐帖


只看楼主 只看精华 楼主 8楼 2013-12-03 12:30:26
好了。主程序写完了。OK!
全部编译。保存项目。
在下载之前,先要把所有USS驱动设置一下(硬件系统见主题帖的图)
这些是MM440,我使用DriveMonitor来设置:V20使用自带面板设置即可。
见下图: 只设置 COM口!千万别设置BOP口!



学而时习之,不亦说乎?温故而知新,不亦乐乎?
以下网友喜欢您的帖子:

  
版主

经验值: 127351
发帖数: 22001
精华帖: 824
回复:关于如何使用S7-1200的USS库组建MM4\G120(USS接口CU)网络(连载)
推荐帖


只看楼主 只看精华 楼主 9楼 2013-12-03 12:37:08
每一台USS驱动装置都设置完成后。
可以通过TIA 下载全部程序和块到S7-1200中了。
启动运行所有的USS装置。在TIA中,打开所有USS驱动的输出DB,点击监控按钮。
呵呵,通过WiFi,就看到了所有的结果。
如下图:



好了。
至此,第一阶段完成。
我去吃午饭了。
再见!
学而时习之,不亦说乎?温故而知新,不亦乐乎?
以下网友喜欢您的帖子:

  
侠士

经验值: 1053
发帖数: 90
精华帖: 0
回复:关于如何使用S7-1200的USS库组建MM4\G120\V20(USS接口CU)网络(连载一)


只看楼主 只看精华 10楼 2014-05-05 11:33:35
请教,资料里面说要将USS_DRV放到OB1模块,变频器多时,难道不能放到FC模块里面,由OB1调用吗?
从程序结构上讲应该是可以的啊?
 
以下网友喜欢您的帖子:

  
版主

经验值: 127351
发帖数: 22001
精华帖: 824
回复:关于如何使用S7-1200的USS库组建MM4\G120\V20(USS接口CU)网络(连载一)
推荐帖


只看楼主 只看精华 楼主 11楼 2014-05-06 11:19:17

放到OB1中的意思就是确保每个循环扫描周期执行。

放在FC中,每循环调用也是一样的。OB1看起来更干净。


学而时习之,不亦说乎?温故而知新,不亦乐乎?
以下网友喜欢您的帖子:

  
侠士

经验值: 1053
发帖数: 90
精华帖: 0
回复:关于如何使用S7-1200的USS库组建MM4\G120\V20(USS接口CU)网络(连载一)
推荐帖


只看楼主 只看精华 12楼 2014-05-06 11:48:17
你的文章值得学习借鉴,如果在OB1里面调用FC模块,就不能确保每个循环扫描周期执行吗?有点难以理解。
另外西门子提供了另外一种通过库连接S-1200与V20变频器。通过V20_USS_Control_1(FB1)和V20_USS_PARAM(FB2)与V20进行通信,看起来编程比较简单了,但看了几遍,理解起来还是比较有困难,希望老兄在百忙之中提炼一下,非常感谢。

https://support.automation.siemens.com/CN/llisapi.dll?aktprim=4&lang=zh&referer=%2fCN%2f&func=cslib.csinfo&siteid=cseus&groupid=4000003&extranet=standard&viewreg=CN&&nodeid4=20229807&objaction=csopen
 
以下网友喜欢您的帖子:

  
游士

经验值: 176
发帖数: 11
精华帖: 0
回复:关于如何使用S7-1200的USS库组建MM4\G120\V20(USS接口CU)网络(连载一)


只看楼主 只看精华 15楼 2014-07-12 11:52:17
大师 对于我这刚入门的菜鸟,真是太感谢你了
在学习中成长,在学习中生活
以下网友喜欢您的帖子:

  
版主

经验值: 127351
发帖数: 22001
精华帖: 824
回复:关于如何使用S7-1200的USS库组建MM4\G120\V20(USS接口CU)网络(连载一)
推荐帖


只看楼主 只看精华 楼主 16楼 2014-07-12 13:03:22
可别这么说。这只是用S7 1200+485通讯模块连接(老一代)MM4xx变频器。
真的好用的是S7-1200(不用485模块和USS协议)连接(新一代)G/S120 PN变频器。
它们不但有主-从通讯能力(多台变频器听一台PLC指挥),还可以从-从通讯(一台变频器听另一台变频器的指挥)。
好玩吧?
学而时习之,不亦说乎?温故而知新,不亦乐乎?
以下网友喜欢您的帖子:

  
游侠

经验值: 345
发帖数: 99
精华帖: 0
回复:关于如何使用S7-1200的USS库组建MM4\G120\V20(USS接口CU)网络(连载一)


只看楼主 只看精华 17楼 2014-07-13 19:13:54
必须32个赞啊
学习中。。。
以下网友喜欢您的帖子:

  
游士

经验值: 258
发帖数: 4
精华帖: 0
回复:关于如何使用S7-1200的USS库组建MM4\G120\V20(USS接口CU)网络(连载一)


只看楼主 只看精华 18楼 2014-11-18 21:12:57
高人,学习收藏了!
 
以下网友喜欢您的帖子:

  
侠客

经验值: 867
发帖数: 128
精华帖: 0
回复:关于如何使用S7-1200的USS库组建MM4\G120\V20(USS接口CU)网络(连载一)


只看楼主 只看精华 19楼 2014-11-19 14:19:46
收藏,不错
细微之处往往体现实力
以下网友喜欢您的帖子:

  
游士

经验值: 277
发帖数: 33
精华帖: 0
回复:关于如何使用S7-1200的USS库组建MM4\G120\V20(USS接口CU)网络(连载一)


只看楼主 只看精华 20楼 2014-11-20 11:29:31
很强悍,值得收藏学习
 
以下网友喜欢您的帖子:

  
侠客

经验值: 867
发帖数: 128
精华帖: 0
回复:关于如何使用S7-1200的USS库组建MM4\G120\V20(USS接口CU)网络(连载一)


只看楼主 只看精华 21楼 2014-11-26 15:09:33
灰常强悍,顶
细微之处往往体现实力
以下网友喜欢您的帖子:

  
收起
关于如何使用S7-1200的USS库组建MM4\G120\V20(USS接口CU)网络(连载一)
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。