作者 | 主题 |
---|---|
zunzhi 侠圣 经验值: 2714 发帖数: 118 精华帖: 5 |
楼主 2020-12-20 15:40:49
主题:简简单单实现电机控制,分享FB284的功能应用 最近换工作了,由于公司网络受到严格限制,公司电脑不允许访问外网的,所以西门子网站访问就少了很多,只能在周末空闲的时候来转转,遗憾啊! 最近验收设备,熟悉功能时发现西门子EPOS功能有一个块特别好用,不用去纠结什么报文结构,怎么读写参数等等,直接调用就好了,非常方便,给大家分享一下! 它就是FB284,从V90到G120到S120等都能使用。我们只要在组态的时候选择111报文就好了,实现手动或者绝对定位等功能只要简单按照使用说明赋值几个参数就可以了! 块的参数如下: 例如绝对定位,是这样使用的, 实际使用中实现不同点的定位可以这样做,是不是很方便! FOR #i := 0 TO 18 DO //数字根据实际点位量设置 IF #i_Safety AND #BrakeOpenDly.Q THEN //安全门关闭并且刹车放开 IF ((#Manual AND #ToPos_M[#i]) OR (#Run AND #ToPos_A[#i])) THEN //给出手动或者自动点位 #s_Position := #AxisPosition[#i]; //对应不同点位 #s_Velocity := #AxisVelocity[#i]; //对应不同的速度 #s_modpos := 2; #s_Execute := 1;
END_IF; END_IF;
END_FOR; 点动控制可以这样,这个速度等参数需要在控制器里设置,FB284无设置项 IF NOT #"Jog+" OR NOT #"Jog-" THEN //“Jog+”或"Jog-"为触摸屏上的点动按钮 #s_Jog1 := 0; #s_Jog2 := 0; END_IF; IF #i_Safety AND #Manual AND #BrakeOpenDly.Q THEN IF #"Jog+" OR #"Jog-" THEN #s_Jog1 := #"Jog+"; #s_Jog2 := #"Jog-"; IF NOT #i_JogIncr THEN #s_modpos := 7; ELSE #s_modpos := 8; END_IF; END_IF; END_IF; 运用FB284我们可以快速的进行电机控制,不用绞尽脑汁去熟悉报文,通过几个参数的简单赋值可以实现不同的功能! 另外还有个重点需要强调,原点设置大家一定要用FB38000,方便简洁而且设备重新上电不要重复设置 我们可以这样回原点 IF "HomeData".HomeButton.%X0 THEN //触摸屏按钮点击 "HomeData".ID := 888; //组态时轴的ID 这两块是黄金搭档,互相配合,为我们的工作带来便利!本文只是简单介绍一下,具体用法请参考西门子的官方文档,希望我的介绍能大家一些帮助!
努力工作,好好学习!
|