技术论坛

 跟着文档学做200smart与V90的PN通讯

返回主题列表
作者 主题
WWCWWC
至圣

经验值: 71500
发帖数: 7980
精华帖: 145
楼主    2019-05-15 09:09:40
主题:跟着文档学做200smart与V90的PN通讯

跟着文档学做200smart与V90的PN通讯

   前一些天,应一个朋友的邀约,让做一个小系统。配件都买好了,说就让接几根线就行。我跟他到现场一看,小系统动作确实比较简单,200smart的顺序控制就可以满足控制要求,但是,其中有一个伺服驱动器让我心里“发了慌”,一台V90伺服驱动器及伺服电机控制从来也没有接触过啊。再看那个PLC居然是SR(继电器输出型),无法实现PTI连接(类似的项目之前做过第三方的),让朋友重新买PLC显然不太可能,只能采用PN通讯方式了。于是乎,上官网找资料、找例程开始了做这个小型伺服项目的资料准备。

   好在已经在西门子官网上“泡”过几年,找资料这步还是相对容易“走”的,因为主控单元是200smart,应该先看这本书,打开200smart帮助文档(【西门子 S7-200 SMART 技术参考】一本非常好的资料书),看到大致需要的软件及基本调试方式和步骤,参考“读取V90绝对值编码器数值”及V90 Modbus库文章。可是,看到朋友给我发过来的资料,这个V90是低惯量伺服驱动器(6SL3210-5FB10-8UA0),没有RS-485接口,只有2个以太网口可以实现通讯连接。根据PLC(SR继电器输出型)和低惯量伺服驱动器的硬件条件,我唯一能够做的只能是PN通讯连接了,其它没有可以选择通讯的余地。

   继续在官网上找资料,一本【S7-200 SMART 通过PROFINET连接V90 PN实现基本定位控制】的资料又被我找到并下载。http://support.automation.siemens.com/CN/view/zh/109766598文档中要求用户安装SINAMICS V-ASSISTANT 软件,也被我顺利下载并安装到电脑上。https://support.industry.siemens.com/cs/cn/en/view/109738387

万事具备,就差具体验证了。为能够顺利调试,继续找了一些V90相关的【入门指南】备用。

   今天,拿到朋友给我寄过来的V90伺服驱动器及电机、PLC器材,结合【入门指南】的指导,硬件连接变得轻松而从容,加上西门子V90驱动器上的接线标设做的还是比较明了的,当看到伺服电机抱闸是由第三方控制,我在这里测试直接连接到西门子的10A电源模块上,实际使用需要通过逻辑控制,继电器驱动给这个抱闸24V电源电压的。该驱动器硬件上方有2个以太网口,很是方便的连接到200smart和电脑上。

   首先连接V90伺服驱动器,插入USB电缆,通讯无法连接,试着安装在下载SINAMICS V-ASSISTANT 软件时一起下载的USB驱动,仍然无法安装,换一台电脑继续安装、测试OK!

   在线,能够读取到驱动器订货号信息,把V90驱动器参数上载到软件,定义的基本定位器控制及一些必要的参数下载,如111报文(128/128I/O)等。打开V2.4版本的200smart软件,按基本定位控制文章顺序组态硬件及调用SINA_POS指令库,填写SINA_POS指令管脚实参。当填写到Control_table管脚时无法确定与那些参数关联,同样,Status_table也是无法查询到必要的关联,暂时先不管这些,按文档指定一个关联,我关联的是库存储区地址(错误的关联)。联机测试,居然没有通讯上,V90伺服驱动器及PLC侧均报警(通讯没有连接的原因)。重新查阅文档P8页,配置网络中需要设置IP地址及PN站点名称。再次打开刚刚组态好的200smart硬件连接,按上面的IP地址及PN站点名称输入网络配置选项下载到V90伺服驱动器,断电重新启动,通讯算是成功了,调试的第一步OK了。继续配置“设置机械结构”输入伺服电机驱动的电缸参数,电话咨询了朋友,不一会儿,那边回复了速比及螺距等负载参数,键入后下载,同时下载了未明确Control_table/Status_table管脚参数的程序。第一次试着在“状态图表”中输入:

1) Mode_setting = 2 绝对定位模式

2) Position = 100 [LU] 位置数据

3) Velocity = 20  速度值

4) EnableAxis = 1 使能驱动器

看V90伺服电机纹丝不动,重点回到Control_table/Status_table管脚参数的关联上,这2个管脚到底需要与谁关联呢?因为库指令无法打开,也无法看到库指令的编程思路,只能试着写一个其它V存储区地址试试了,先写一个&VB0吧。文档P5页描述了Control_table管脚的各定义参数,那么,ConfigEpos双整形数ConfigEPos.%X0 和ConfigEPos.%X1 等于1,相当于我需要把VB0的第0位和第1位分别写入1,即VB8 = 3。

可是,我将VB8 = 3写入到plc后,监控SINAMICS V-ASSISTANT 软件关联OFF2/OFF3位值仍然不是为1的值,难到这个整形数的地址需要倒置?试着将VB11写入为3,哈哈,OFF2/OFF3的位值居然为1了。西门子编程就这些“内容”,这种不行换另一种,开始有一点要“飘”起来的感觉了。按此法,将另一个管脚的实参写入&VB12。因为调用SINA_POS指令管脚开始想到这些管脚一定是需要与那些参数关联的,那想到,这2个管脚不需要与什么参数关联,仅仅是指定一个存放数据的地址区,又因为这些存放的数据地址区大于的4个字节的存储量,所以,用指针指定存储区起始地址变得容易理解了,是我把问题想复杂了,谢天谢地,这2个管脚的地址原来是这样的一个出处啊。

   重新将修改好的程序下载到PLC,在“状态图表”中,依次键入Mode_setting = 2、Position = 100、Velocity = 20、EnableAxis = 1、Execute =1,伺服电机算是很不容易的动了起来。再次修改Position数据,重新激活一次Execute为1,电机再次转动,够了。

    因为,朋友那个小系统需要重复运行伺服电机作向上移动,我想到改变Position数据让伺服电机移动。文档描述需要将ConfigEPos.%X8地址需要为1,于是,将V11.7写1,改变Position数据,伺服电机可能“累了”,还是纹丝不动。哪里又错了呢?再看ConfigEPos.%X8这个描述,是明明白白写的%X8,怎么可以是将V11.7写1呢,应该是V10.0,是第8位呀(进位了呀,眼花了没有?)。重新写入这个值,修改 Position数据,使能一次Execute位置,反复修改Position数据,伺服电机这时才老老实实地运行了。

第一次使用200smart与V90 PN控制,虽然有官方的例子文档,但还是那么的磕磕碰碰的一步一步的走过来,对于Status_table(状态参数)还需要在实际的逻辑控制中加以提取和应用,那些速度百分比等数据还需要再次理解,好了,前后忙碌了一下午,也开始感觉累了,到此吧明天继续。

这篇文章之所以没有截图说明,是因为我完全按基本定位控制的文档写的程序,有硬件条件和兴趣的同行可以试试,相信通过我对这些磕磕碰碰问题的描述,可以帮助到遇到类似问题同样迷惑的同行。

小结:

1)200smart 与V90 的PN通讯参数设置除了IP地址,设备名称也必须一致;

2)SINA_POS指令的Control_table/Status_table管脚指针地址可以设置到一个未使用过的V区,也可以理解库存储V区类似,没有对应的逻辑关系;

3)Control_table控制参数的第8~11字节偏移实际对应地址对应关系是颠倒的(仍然遵循西门子数据排序原则);

4)测试时可能是版本与文档不同,实际测试时200smart给库存储区分配V区,有2个库存储区分配,即SINAMICS CONTROL和SINAMICS参数。


您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。