自动化网-工控人家园官网移动版

主页 > 工控品牌 > 西门子 >

西门子200PLC定位技术遇到的问题和大家分享 smart数据的采集

大家好,这次给大家发布关于西门子200plc,定位技术遇到的问题和大家分享。
1.硬件:
(1)西门子224XP
(2)雷赛控制器及电机
(3)未知品牌扭力传感器(超级不准,难题)
工艺流程:设定角度进行定位,机械原点就是利用扭力传感器。
      早上来到现场,直接拿出西门子伺服标准程序(自已没事的时间开发的),检查电路机器上电,无异常。。。
      西门子标准程序下载到PLC,设定了量程及一圈的脉冲数,计算出每度的脉冲数,强制了两个变量,设定90°电动机开始转了,说明电机没有问题。
     编写一个逻辑程序》》》1找原点(采用4-20MA信号,力量大于7N,认为是原点)》》》2.绝对定位90°,》》》3.决对定位0°》》》90°和0°之间进行循环。
      开始调试程序,找原点(这个原点是根据扭力来找的,是活动的原点,最大的问题出来了,传感器的偏差非常大,有3-5N的偏差,定位到7N的时间,传感器已经达到了12N,就是说原点不准确,)出现偏差,为了修正偏差这个原点采用:当扭力达到7N点用Q2.4输出一个立即点给I0.0,但是这样子效果还是不好。
      传感器还是有偏差,关键传感器不准,传递的速度太慢,又对传感器进行滤波,最终解决的传感器偏差比原来小了很多。
      找到原点之后:需要对多走的扭力进行修正,多走1N就修正1°,依次进行修正。
      程序写完之后奇迹发生了,居然可以正常的找到准确的原点了。
本次主要的特点:原点是动原点,值是随时在变化的,而且原点的传感器还是偏差比较大的,希望大家共同交流。。。

西门子200 smart PLC数据的采集

昨天晚上,看到一个网友的提问:“说需要将一个变化了的数据,按规定的定时时间有规律存放到一个连续的数据寄存器地址中、、、、、、”。类似处理这样的程序虽然有很多种编程方法,但我想了想,认为这样的方法可以测试一下。
编程思路:
1)  既然是定时存放数据,那做一个定时中断正好符合要求。新建一个定时中断,SMB34该定时中断时间以1mS为最小单位(最大255mS),按网友要求设置为1000mS = 1秒需要10次中断后再采集一次数据。
2)  因为需要将这个变化了的数据,按每秒钟时间逐个存放,使用启用指针编程方法又比较合适。假设,将采集的数据依次逐个存放到指针的起始首地址VD100中,并存放为30个数据。
3)  当数据存放个数到达第31个时,第一个存放的数据将被覆盖新数据值,如此循环。
编程:
1)  在子程序中调用定时中断,SMB34 = 100(mS),中断事件号10,开中断
2)  在主程序初始该子程序
3)  在中断程序中比较数据采集
定义定时中断子程序:


在主程序中调用定义定时中断子程序:


在中断子程序编辑数据采集:VB0存放定时中断次数;VB1存放采集数据个数


将上述程序编译、保存后下载到cpu,新建“状态图表”,启用监控,为方面VD6的数据输入一些随机数据编辑一个小程序在主程序中,这样VD6的数据以每秒1.2递增,当数据大于25.0时,重新返回到1.2开始重复过程。图示:


   从状态图表中可以看到VD100的数据已经被第2次数据采集所覆盖了新值,本程序仅仅是我理解网友提问后自己的思路,若有出入,望那位网友看到后指出,并加以修改。

(责任编辑:admin)