浔之漫智控技术(上海)有限公司
西门子PLC模块 , CPU模块 , DP通讯电缆 , 6GK交换机
6SL3120-2TE15-0AD0

    前一段时间遇到以前老西门子S7-200程序移植到Smart200  plc的一些问题。这个程序是几年前我用西门子S7-200  226CN  PLC编写的程序,出过货机器使用几年都正常,软件没什么问题。2019年年底这家客户有订购这台机器,现在老款226CN的PLC不好卖,价格也贵,我将PLC改成smart200   ST60PLC。在去年9月份机器安装好后我去调试这移植到SMART200  plc程序时,也是一开始很顺利。结果等机器在送检到品质部门进行出货前系统检测时就出问题。机器控制上面是两个变频器和一个伺服控制再加一个压缩器制冷,几个温度控制。机器其实不算复制,出现问题就是伺服做往复运动会向一边偏移,伺服运行一两个小时后就会偏移到一边的极限,而且是一个方向偏移。我想了很多办法,第一一开始我就怀疑我程序转换没有转换好,我仔细看了程序,做了很多修改都没有效果,我就在此时将程序问题排查。在接下来我就去排查硬件接线和干扰问题,要求将脉冲控制线改短,屏蔽线用双绞屏蔽线,在屏蔽线上加磁环,检测接地,检查伺服走线是否强弱分家等,还要接线端子焊接都都查了,还有机械部分是否有间隙,安装是否达到要求,要求现成人员都整改好了,就是没办法解决问题。后来实在没办法就拿出电话拨打西门子热线技术支持,将我现成问题和技术支持的工程师说了一遍,工程师回复说,你是一直像一个方向偏移,可能就是机械间隙造成,建议在组态里面填写这个机械间隙值。后来我就找到机械工程师去研究问题,仔细看了机械部分,觉得没问题,伺服直接带动同步轮工作,安装也很紧,我觉得不是机械间隙问题。得出机械也没问题,我被这机器折磨的一点脾气都没有了。后来实在想不到很好的办法,就直接拿电脑在现成监控,看到底是哪里问题。把程序调整后,将速度改小让机器慢速运行看PLC发送脉冲和伺服接收脉冲是否一致,好家伙监控一段时间问题就出现了,伺服接收大脉冲数和PLC发出来的脉冲数一致。通过监控发现PLC脉冲数正方向突然多出一个脉冲,这时我就想,我有没改变目标设定值,怎么会突然正方向多一个脉冲数。我以前老款PLC控制都很好,计算程序也没有改动是直接移植过来不会有问题才对。我顺着这个方向去查就发现问题,目标中脉冲数计数是通过两个浮点数相加后的结果再去取整,问题就出现这里。工艺要求是原点在中间,向左右给偏移多少来做往复运动,我程序就是设计思路是设定一个行程是半边行程,再通过半边行程相加来得出全部行程。开始伺服回到原点,测试第一个动作是先运行半个行程,当半个行程运行完成后再将两个半个行程相加结果赋值到目标运行脉冲里面进行向另一个方向偏移,再到了反方向后又是两个半边行程相加的结果做运行想正方向运行,这样一直来做往复运动。这样做两个半个行程相加的好处就是不管是你在那个时候改变行程都用找原点就可以新行程运行。问题就是出现这里,当你我向正负方向运行,一开始通过浮点转换整数的运行目标结果是一致,运行一会儿后就出现负方向值还是原来的运行目标值,这是正方向值就比负方向值多一个值,运行一会儿正方向值有正常。说到这里,大家以为我程序运算有问题,实际上上运算公式还是这一个,只是负方向运算的结果我乘以了负一,我用相对定位指令,换方向要改变运行值来换向控制伺服。我通过监控在某个时间段里面正方向两个浮点数相加结果会有一点点波动,这样就会出现使用取整指令进行四舍五入的情况会出现多一个脉冲导致正方向在某个时间点回一致多偏移1个脉冲,运行久后就会出现正方偏移到极限开关位置,导致机器停机报警。我解决的办法就是将半个行程**行取整后再去相加,就可以解决这问题。由于客户急着要我们交机,我没时间去进一步验证这个问题,是程序有问题,还是PLC本身有问题。我运到过几次在老款S7-200能正常运行,移植到smart200就会出现一些小问题,我每次都将程序修改一下就可以解决问题,这是程序都是直接可以移植的逻辑控制和运行,问题就是出现直接能移植程序上面。不知道大家在做S7-200移植到SMART200上面有没有遇到过的问题。也有可能是我自身问题,我没有找出来,请大家多多看下面截图多多指教。

下面截图我出现问题的这段程序,老款S7-200程序和smart200修改后的正常程序。

图一是半个行程的原始脉冲(S7-200)

1.jpg


图二

2.jpg


图三,图四,图五是同一段程序截图,也是两左右半边行程相加程序。(S7-200)

3.jpg


图四

4.jpg


图五

5.jpg


图六

6.jpg


下面截图是smart200移植后的程序。

图七(smart200)

7.jpg


图八

8.jpg


图九,图十,图十一是一个控制程序段程序

9.jpg


图十

10.jpg


图十一


11.jpg


图十二

12.jpg

   随着西门子S7-1500plc越来越广,其应用也越来越多,今天跟大家分享S7-1500 PROFINET与 IO device 通信。PROFINET IO 设备指分配给一个或多个 IO 控制器的分布式现场设备(例如,远程 IO、阀岛、变频器和交换机等)。PROFINET IO 控制器对连接的 IO 设备进行寻址,与现场设备交换输入和输出信号。

一、S7-1500 PROFINET与 IO device 通信必备条件

1、硬件需求:

① S7-1500 CPU (文档中使用CPU 6ES7 513-1AL01-0AB0)
② PC (带以太网卡),TP电缆(以太网电缆)
③ 分布式IO(文档中使用ET200SP IM 155-6 PN HF V3.3)

2、软件需求:
TIA 博图 STEP7 V14 或更高版本

二、通讯的编程,连接参数及通信参数的配置

1、在 TIA 博图 STEP 7软件的 “项目视图” 中点击 “创建新项目” 创建一个新项目。

2、S7-1500硬件组态及参数分配

    在硬件列表中选择对应的订货号,选择完后在设备视图中显示出 S7-1500 的组态画面,接着需要给S7-1500 CPU 设置 IP 地址,通过在设置视图中点击S7-1500的以太网口>“属性” > “常规”>“以太网地址” 设置。然后进入网络视图,在硬件目录中选择IM155-6PN HF(6ES7155-6AU00-0CN0)并插入。然后双击IM155-6PN HF 进入设备视图进行硬件组态,为IM155-6PN HF添加IO模块。需要注意底座颜色(浅色为使用新的电位组,深色为使用左侧模块的电位组),以及IO模块的版本。回到设备视图,点击IM155-6PN HF模块的图标,然后在“属性” 〉“常规” > “项目信息”中定义该接口模块的名称 “ET200SP HF”。

图片1.png

图片2.png

设置名称后,需要给IM155-6PN HF设置IP 地址,在网络视图中点击IM155-6PN HF以太网口,然后在“属性” 〉“常规” 〉“以太网地址”中设置IP 地址“192.168.1.11”。在网络视图中左键点击IM155-6PN HF的“未分配”图标,在弹出框中选择该IO设备的控制器,文档中选择“PLC_1.PROFINET接口_1”,即前面新建的CPU S7-1215C。这样在IM155-6PN HF的地址总览中可以看到IM155-6PN HF所占用的S7-1500 I/O 区域,以及网络结构,如下图所示。

图片3.png

右键点击PROFINET 网络给IM155-6PN HF分配设备名称。在弹出页面“分配PROFINET设备名称”中,点击“更新列表”按钮,搜索ET200SP。如果此时搜索到的网络节点包含多个ET200SP,则可以通过检查MAC地址的方式确定此刻需要分配设备名称的ET200SP。ET200SP网口的MAC地址位于接口模块24V电源正上方。

3、项目硬件和软件全部编译后下载,在S7-1500 变量表中可以监控DI变量的状态,也可以给DO 变量赋值, 观察DO模块的输出。


发布时间:2023-10-26
展开全文
其他新闻
优质商家推荐 拨打电话