(【西门子 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数据,伺服电机这时才老老实实地运行了。
**次使用西门子PLC s7-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参数。