当前位置:
(已结贴)工控PLC擂台第84期-西门子PLC连接编码器程序的编写
回复 | 人气 | 打印
玻璃的心 个人主页 给TA发消息 加TA为好友 发表于:2012-07-18 23:42:28 楼主

       此题为擂台征集题:编码器在西门子300PLC怎么编程? (原题为:绝对值编码器在西门子300PLC怎么编程? 这里我们不针对特定编码器,可增量可绝对值,还可正弦编码器等)

请编写一完整的小程序实现西门子PLC(可以是300,也可以是400)与任何一种编码器连接并通信的例子,必须写清楚所需要的软件和编写的完成程序及连接过程

 

回答的最好最完全的,原创最多,阐述最详细者获一等奖!

 

 

工控PLC擂台每周一期,本期待83期结束一周后结贴。奖项设置:一等奖1名:30~50MP,二等奖3~6名:10MP,三等奖10名:100积分。

MP介绍:gongkongMP即工控币,是中国工控网的用户积分与回馈系统的一个网络虚拟计价单位,类似于大家熟悉的QB,1个MP=1元人民币。

MP有什么用?兑换服务:以1个MP=1元来置换中国工控网的相关服务。 兑换现金:非积分获得的MP可兑换等值现金(满100MP后、用户可通过用户管理后台申请兑换)。

分享到: 关注收藏 邀请回答 回复 举报
云锋 个人主页 给TA发消息 加TA为好友 发表于:2012-07-19 13:33:24 1楼
  得根据编码器的输出信号来选择PLC模块,比如:SSI输出的,选SSI模块;4-20MA输出的,选模拟量模块。以及其他输出类型等等。
  回复 引用 举报
EBN战略军团-sdzhibohui 个人主页 给TA发消息 加TA为好友 发表于:2012-07-19 13:55:50 2楼
  对于双向通讯,需将DP头接到CPU的DP九针口,并将终端电阻的拨码打到ON位置,并在程序进行相应的通讯参数设定。
    比如:DCS与PLC的通讯,首先须在DCS组态工具中添加从站,并导入所用CPU对应的GSD文件(网上可方便下载),然后需要在DCS和PLC中同时设置通讯速率、CPU地址、各种变量的地址,且双方设置需要统一。以保证信号传输的准确。
  回复 引用 举报
工控小周 个人主页 给TA发消息 加TA为好友 发表于:2012-08-07 08:34:38 3楼
  西门子300和400系列还没接触过,不过往往300或者400块钱的PLC都支持AB相高速脉冲输入,哈哈,对了,上次我兄弟的那块单板,高仿三菱FX1N的,价格为175元,也支持
  回复 引用 举报
happy-1437 个人主页 给TA发消息 加TA为好友 发表于:2012-08-26 10:03:17 4楼
 

起重机上特别是造船门机,STS什么的都有这个东东

  回复 引用 举报
wyb2866255---王者之师 个人主页 给TA发消息 加TA为好友 发表于:2012-09-19 22:35:52 5楼
 

                  编码器在S7-300中的应用:
       
在自动化探伤设备中,编码器的应用大体上有二种形式:一种是被测钢管原地旋转,探伤车左右行走,此种方式将编码器固定在探伤车上,测速辊通过小气缸压在平滑的横梁上,确保探伤车行走时不丢转,见图一。另一种为探伤探头是固定的,钢管通过辊道运行,穿过探伤区。此种方式需用二个编码器,其测速辊分别安装在4个探头的两侧,见图二。
       
(一)、探伤车行走式的编码器的应用:见下图

                                                                     图一
       
(二)、探头位置固定,钢管行走探伤方式的编码器的应用:见下图

                                                                          图二
       
本文只对图一,即钢管原地旋转,探伤车前后移动的探伤方式进行介绍:    

         自动化探伤设备,对探出的伤痕位置与钢管的长度都要有测试记录,故是离不开选用编码器的。 
       
一、编码器的选型及处理方法:
       1
根据PLC的选型及PLC输入侧的连线方式,选择正或负逻辑输出的编码器:如PLC输入点的公共端(COM)接+24V的负极,编码器应选用负逻辑输出的编码器(即PNP型晶体管输出),如PLC输入点的公共端(COM)接+24V的正极,编码器应选用正逻辑输出的编码器(即NPN型晶体管输出)。S7-300PLC的输入端的COM接地,故应选用负逻辑输出的编码器(即PNP型晶体管输出)。
       2
、根据编码器旋转一圈输出的脉冲数及系统的测量精度计算测速辊的直径:我厂选用的编码器为一周产生360个脉冲,要求一个脉冲长度1毫米,故测速辊的直径d应为 d=360÷3.14=114.6毫米。                                          

        二、设备动作介绍及编程:                                
       
编码器的测速轮通过小气缸紧压在大横梁上,探伤车行走编码器就输出脉冲。探伤车前后两侧各安装一个红外光电开关,探伤的过程是这样的:探车右行,当光电1运行到管左端头时,高速计数器开始计数,当横探头1运行到管左端头位置时,横探头1汽缸动作,横探头1落下,当横探头2运行到管左端头位置时,横探头2汽缸动作,横探头2落下……直到纵探头2运行到管左端头位置时,纵探头2汽缸动作,纵探头2落下,此时4个探头全部压在钢管上。当光电1离开管尾时,高速计数器的计数值送入管长数据区(即测出钢管长度),当4个探头分别走到管尾时,立即分别抬起,再前进一段距离,探伤车停车,此次探伤结束,PLC将探伤数据送入上位机。

        此时探伤车位于右侧,挡住方向判别开关,使在对下一根钢管探伤时,按启动按钮,探伤车左行,光电2运行到钢管右端头时,高速计数器开始计数,4个探头行走到管右端头时,依次落下,当光电2离开左端头时,将计数值送入管长区,4个探头离开左端头时,探头依次抬起在整个探伤过程中,这种探伤方式只用一个编码器,一个高速计数器,可完成以下功能:

        1、实现各探头在管头处准确落下,在管尾处准确抬起,这样的控制要求是必要的,因为如探头提前落下会被钢管碰坏,如滞后落下,会加大探伤盲区。
        PLC
编程是这样完成动作控制的:将光电1到各探头的距离,通过上位机设置,送给PLC的数据区(如DB1.DBW60DB1,DBW62DB1,DBW64DB1,DBW66为各探头右行落下的置数区,DB1.DBW70DB1,DBW72DB1,DBW74DB1,DBW76为各探头右行抬起的置数区,)中,将光电2到各探头的距离,通过上位机设置,送给PLC的数据区(如DB1.DBW80DB1,DBW82DB1,DBW84DB1,DBW86为各探头左行落下的置数区,DB1.DBW90DB1,DBW92DB1,DBW94DB1,DBW96为各探头左行抬起的置数区,)中。
       
以探伤车右行为例:当光电1运行到管左端头时,高速计数器从0开始计数,用比较器比较,当计数值>=DB1,DBW60时,横探头1落下,当计数值>=DB1,DBW62时,横探头2落下……,当光电1运行到管右端头时,将此时的计数值分别与DB1.DBW70DB1.DBW72……DB1.DBW76相加,其和值分别送入MW20MW22MW24MW26中,当计数值>=MW20,横探头1抬起,当计数值>=MW22,横探头2抬起……

        但由于汽缸落下与抬起都有一定的滞后时间,使在不同的行走速度下,探头落下与抬起的位置与设定值不一样,因此在行走速度定下后,在正式探伤前应实际运行几次进行校验,以修正设定值,确保落下与抬起的准确。
       2
、可测钢管长度值(前面已述)。

 3、可测钢管的伤痕与管端的位置值:在每个探头落下的同时,PLC将此时刻的计数值分别存入DB1.DBW50DB1.DBW52DB1.DBW54DB1.DBW56中,如当横探头1发现有伤痕时,PLC立刻将此时的计数值 - DB1.DBW50,其差值就是此伤痕到管头的距离,将其送入对应存数区。

       4PLC硬件的设计:
       
1)、 PLC选用S7-300,型号:312CCPU内有二个高速计数器,选用第1个计数器,计数输入口地址为 I124.0I124.1口置1,即加计数,计数方式选用一次性计数,软件门控制计数。
       
2)、PLC输入口:I0.0 为自动/手动转换,I0.1 为自动启动开关,I0.2 为自动停车开关,I0.3 为探伤车左行/右行方向判断开关,I0.4 为横伤1信号输入,I0.5 为横伤2信号输入,I0.6 为纵伤1信号输入,I0.7 为纵伤2信号输入……
       
3)、PLC输出口:Q0.0 为自动/手动工作指示,Q0.1 为自动工作指示,Q0.2 为探伤车右行指示, Q0.3 为探伤车左行指示,Q0.4 为横探头1落下输出,Q0.5 为横探头2落下输出,Q0.6 为纵探头1落下输出,Q0.7 为纵探头2落下输出,Q1.1 为前后测速辊有效输出,Q1.2 为横伤痕打标输出,Q1.3 为纵伤痕打标输出 ……

       4)、右行探伤梯形图(只画出探头起落的控制及读取测伤痕位置等局部图)

  回复 引用 举报
zhangsanjian 个人主页 给TA发消息 加TA为好友 发表于:2012-09-23 17:52:53 6楼
 

好的例子,学习中,谢谢提供

  回复 引用 举报
时三——王者之师 个人主页 给TA发消息 加TA为好友 发表于:2012-10-07 18:15:07 7楼
 

好的例子,学习中,谢谢提供!

  回复 引用 举报
玻璃的心 个人主页 给TA发消息 加TA为好友 发表于:2012-10-10 22:35:52 8楼
 

一等奖1名,50MP获得者:

wyb2866255---王者之师                    wyb2866255


二等奖2名,10MP获得者:
云锋                                                   tclwzy

sdzhibohui                                           sdzhibohui

 
三等奖1名,100积分获得者:
工控小周                                              控友华安

  回复 引用 举报
玻璃的心 个人主页 给TA发消息 加TA为好友 发表于:2012-10-10 22:43:47 9楼
  本期擂台到此为止,欢迎大家继续参与我们以后的各期擂台!
  回复 引用 举报
玻璃的心 个人主页 给TA发消息 加TA为好友 发表于:2012-10-10 22:47:50 10楼
 

一等奖1名,50MP获得者:

wyb2866255---王者之师                    wyb2866255


二等奖2名,10MP获得者:
云锋                                                   tclwzy

sdzhibohui                                           sdzhibohui

 
三等奖1名,100积分获得者:
工控小周                                              控友华安

  回复 引用 举报
pppheart 个人主页 给TA发消息 加TA为好友 发表于:2015-05-22 21:16:50 11楼
 

好的例子,学习中,谢谢提供!

回复内容:

对: wyb2866255---王者之师                   编码器在S7-30... 内容的回复!


  回复 引用 举报
爱堆儿 个人主页 给TA发消息 加TA为好友 发表于:2016-01-15 16:50:26 12楼
 

好例子,太感谢了 wyb2866255---王者之师

  回复 引用 举报
怪话二王 个人主页 给TA发消息 加TA为好友 发表于:2016-03-24 12:43:28 13楼
 

玻璃娃,这几年你跑哪去咧,老哥挺想你的哈~~~`

  回复 引用 举报
LRF永鑫 个人主页 给TA发消息 加TA为好友 发表于:2017-06-24 11:30:40 14楼
 

好的例子值得学习,多谢楼主分享!

  回复 引用 举报
该睡觉了 个人主页 给TA发消息 加TA为好友 发表于:2018-06-02 11:00:40 15楼
 

好的例子值得学习,多谢楼主分享!

  回复 引用 举报

周点击排行
周回复排行
    最新求助
      Advertisement