为什么这样输出脉冲会不可以呢?我错在那里的请高手指点!!

我先说明一下:1:我用模拟电位器1做PLS的速度调节.用模拟电位器2做数据调节.用I0.2来控制电机的运转和停止.
  
  2:我用I0.5来使能PT100_MAN.用I0.7来控制其运转/停止.用模拟电位器2来做速度调节.但是为什么就不可以呢?电机有时候会转有时候不转.还请高手指点我错在那里!!!!谢谢!!!程序如下:
  
  TITLE=程序注释
  
  Network 1 
  
  // 复位脉冲输出影象区
  
  LD SM0.1
  
  R Q0.0, 1
  
  CALL SBR3
  
  //符号 HSC_INIT 地址 SBR3
  
  Network 2 
  
  // 模拟电位器1、2读入
  
  LD SM0.0
  
  MOVB SMB28, AC1
  
  AENO
  
  MOVW AC1, VW10
  
  AENO
  
  *I +50, VW10
  
  AENO
  
  MOVW VW10, SMW68
  
  AENO
  
  MOVB SMB29, AC1
  
  AENO
  
  MOVD AC1, VD10
  
  AENO
  
  *D +100, VD10
  
  AENO
  
  MOVD HC0, VD200
  
  Network 3 
  
  // 脉冲输出参数设置及启动
  
  LD I0.2
  
  EU
  
  MOVB 16#85, SMB67
  
  AENO
  
  MOVD VD10, SMD72
  
  AENO
  
  PLS 0
  
  Network 4 
  
  // 脉冲输出停止
  
  LD I0.2
  
  ED
  
  MOVB 16#0, SMB67
  
  AENO
  
  PLS 0
  
  Network 5 
  
  // 脉冲输出标志
  
  LD I0.2
  
  ED
  
  MOVB 16#C0, SMB37
  
  AENO
  
  MOVD 0, SMD38
  
  AENO
  
  CALL SBR3
  
  //符号 HSC_INIT 地址 SBR3
  
  Network 6 
  
  LD I0.5
  
  = L60.0
  
  LD I0.7
  
  = L63.7
  
  LD L60.0
  
  CALL SBR2, L63.7, VD10, VB20, VD20
  
  
  
  //符号 PT100_MAN 地址 SBR2 此指令由PT0/PWM向导生成。

问题补充:
cpu为6ES7 214-1AD23-0XB8
 还有为什么我调节电位器不能改变速度呢??请指点!!!

最佳答案

程序中有局部变量,而这些局部变量是包含在子程序中的。如果你给出的是主程序段,那么在主程序中是不能使用这些局部变量的。局部变量只能用在某个程序段中,不支持全局调用。也就是说,该程序段执行完毕后,局部变量也消失了。如果你要在其他程序段中使用变量,请使用V或M变量。

提问者对于答案的评价:
可以

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc359588.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日
下一篇 2021年7月5日

相关推荐

发表回复

登录后才能评论