回复:有奖【微分享】“说说我用过的功能块”

迷失中原

  • 帖子

    466
  • 精华

    5
  • 被关注

    47

论坛等级:侠圣

注册时间:2013-01-18

钻石 钻石 如何晋级?

发布于 2014-03-13 09:56:26

50楼

前面也有前辈贴出了电机控制的程序块,说了大致的思路,没有详细的过程,本人也写了一个电机控制块,平时用着也挺方便的,拿出来大家一块看看。
很悲催,还发不了图片。
————————————
I Motor_SBR I
I EN I
I Set_Counter I
I RD I
I RN I
I FS I
I Emergency_Stop I
I Lock_M I
I Lock_item I
I Counter_run I
I DR I
I I
I ———————————I

参数说明:
Set_Counter:数据类型DWORD,对该子程序的执行周期次数进行设定,设定次数到,检测运行信号是否到位。
RD:BOOL变量,电机的远程备妥信号,无备妥信号,驱动复位。
RN:BOOL变量,电机运行信号,驱动置位一段时间后,若无运行信号或者运行信号丢失,驱动复位。
FS:BOOL变量,检测到该信号,驱动复位。
Emergency_Stop:BOOL变量,急停标志位,该信号有效,驱动立即复位。
Lock_M:BOOL变量,联锁标志位。在一些场合上下级设备需要联锁保护的,用该标志位。1表示联锁,0表示解锁。
Lock_item:BOOL变量,联锁的状态位。若A设备与B设备的运行信号联锁,则该为即为B设备的运行信号。当Lock_M为1时,一旦该位为0,则该电机不能启动;或者运行过程中,该信号消失,则自动复位驱动进行保护。
Counter_run:数据类型DWORD。用以对该子程序执行周期进行计数。主要用来检测运行信号使用。
DR:BOOl变量。电机的驱动标志位。

该子程序使用时,需要注意的是:对于普通启动设备,驱动给出后,运行信号一般很短时间内就有反馈,因此该子程序可随PLC周期性执行,Set_Counter设为50,即50个扫描周期,按照扫描周期20MS计算,延时1S检测运行信号。当检测的是星三角启动时,由于运行信号反馈较长,可能十几秒,这时可用脉冲周期性调用该子程序即可。

子程序:
网络1
LD #DR:L9.0
AD<= #Counter_run:LD5, #Set_counter:LD0
+D +1, #Counter_run:LD5

网络2
LD #Lock_M:L4.4
AN #Lock_item:L4.5
LDD>= #Counter_run:LD5, #Set_counter:LD0
AN #RN:L4.1
OLD
O #Emergency_M:L4.3
ON #RD:L4.0
O #FS:L4.2
R #DR:L9.0, 1

网络3

LDN #DR:L9.0
MOVD +0, #Counter_run:LD5
生命不息,奋斗不止!
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54650条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

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