回复:请教大家帮我设计一个程序 S7-300的

不可一世

  • 帖子

    652
  • 精华

    1
  • 被关注

    12

论坛等级:侠士

注册时间:2008-12-02

普通 普通 如何晋级?

发布于 2011-08-06 21:38:10

4楼

quote:以下是引用n次看你的背影在2011-08-06 21:16:01的发言:
楼主:如果你光电开关输入PLC地址是连续的,如果控制变频器信号是0-27648!以下代码没有经过测试,根据楼主的要求及时写的。可以参考下面的代码!楼主:我希望我能够帮助到你!呵呵.......看“非诚勿扰”了!
//╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬(一)统计当前的纺丝位正常工作个数╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬
L 0
T MW 100 //将上一次统计结果清零
LAR1 P#I 0.0 //第一个光电开关的输入信号的起始地址
L 36 //36个光电开关
NEXT: T LW 100 //循环查询电开关的输入状态
A [AR1,P#0.0] //判断光电开关信号是否为状态“1”
JCN M001 //如果为“0”,不计数,并跳转到查询下个地址
L MW 100
+ 1 //当前光电开关信号如果为1,就计累计一个数
T MW 100 //统计当前查询的结果,并存储
M001: +AR1 P#0.1 //下一个光电开关的输入地址
L LW 100 //LW100里面的内容减1,直至循环减至0离开循环
LOOP NEXT //LW100如果不是0跳转到循环标签NEXT,如果是0往下执行
//╬╬╬╬╬╬╬╬╬╬╬(二)判断正常纺丝位是否小于32个(需优先判断)╬╬╬╬╬╬╬╬╬╬╬╬╬
L MW 100 //装载本周期统计纺丝位正常运行的个数
L 32 //装载设定32
= M 102.0 //M102.0=1为报警,M102.0=0为不报警
JC M002 //如果小于32个正常纺丝位,跳转到变频器增加1Hz
//╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬(三)判断正常纺丝位是否小于35个╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬
L MW 100 //装载本周期统计纺丝位正常运行的个数
L 35 //装载设定值35
= M 102.1 //M102.1=1为故障,M102.0=0为正常
JC M003 //如果小于35个正常纺丝位,跳转到变频器增加1Hz
JU EXIT //如果没有问题存在跳转到正常状态
//╬╬╬╬╬╬╬╬╬╬╬(四)判断正常纺丝位故障发生时,并做相应处理╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬
M002: A M 102.0 //如果纺丝位正常工作位小于32个故障信号发生
FP M 102.2 //判断上升沿
JC HzUP //跳转到变频器增加1Hz
A M 102.0 //如果纺丝位正常工作位小于32个故障信号消失
FN M 102.3 //判断下降沿
JC HzDN //跳转到变频器减去1Hz
JU EXIT
M003: A M 102.1 //如果纺丝位正常工作位小于35个故障信号发生
FP M 102.4 //判断上升沿
JC HzUP //跳转到变频器增加1Hz
A M 102.1 //如果纺丝位正常工作位小于35个故障信号消失
FN M 102.5 //判断下降沿
JC HzDN //跳转到变频器减去1Hz
JU EXIT //如果没有故障发生,跳转到EXIT
HzUP: L "FC_SET_Hz" //装载变频器原来运行设定值
L 553 //变频器增加1Hz的数值27648/50=552.96
+I
T "FC_SET_Hz"
JU EXIT
HzDN: L "FC_SET_Hz" //装载变频器原来运行设定值
L 553 //变频器减去1Hz的数值,27648/50=552.96
-I
T "FC_SET_Hz"
EXIT: NOP 0
//╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬





是16384
短暂的激情是不值钱的!!
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54617条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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