设为首页收藏本站积分获取及使用技巧附件上传须知[求助-西门子PLC300/400]新人请教这段程序 能详细讲一下过程吗 谢谢

追梦工控论坛|工控论坛-专业的Intouch论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

总共8197条微博

动态微博

查看: 2314|回复: 2

[求助-西门子PLC300/400]新人请教这段程序 能详细讲一下过程吗 谢谢

[复制链接]

升级  31%

该用户从未签到

发表于 2014-3-9 20:59:01 | 显示全部楼层 |阅读模式

上传分享工控资料得追梦点,下载积分获取办法点击进入 ☆追梦点充值入口
发帖回帖赚金币兑换下载积分。上传附件须知点击进入

×

马上注册,结交更多工控达人,分享经验,让你轻松玩转追梦工控论坛。

已有帐号?  点击登录   或者        

支付宝扫一扫领红包
CLR
= #SMQ_1
= #SMQ_2
L #Istwert
L #GW_1
>=R
S #SMQ_1
JC M001
L #Hysterese
-R
L #Istwert
=R
S #SMQ_2
JC M002
L #Hysterese
-R
L #Istwert
让我们联手拒绝网络伸手党,下载积分获取办法&附件上传须知 ☆追梦点充值入口





+1
2316°C
2
  • urUpRstH
  • xaagrpb
过: 他们

升级  46%

该用户从未签到

发表于 2014-3-9 22:10:18 | 显示全部楼层
CLR   
      =     #SMQ_1
      =     #SMQ_2 ------这三段是对临时变量的状态复位,即程序开始时状态为0
      L     #Istwert
      L     #GW_1
      >=R               ------当#Istwert的数值大于等于#GW_1的数值时,置位#SMQ_1
      S     #SMQ_1
      JC    M001     ------当#Istwert的数值大于等于#GW_1的数值时,程序跳转至M001处执行,下面的程序将被跳过,不执行;当#Istwert的数值小于#GW_1的数值时,继续执行下面程序
      L     #Hysterese
      -R                 -------- #GW_1的数值减去#Hysterese的数值
      L     #Istwert
      <R                -------#GW_1减#Hysterese的差与#Istwert比较,小于且#Q_1为1时,置位#SMQ_1
      A     #Q_1
      S     #SMQ_1
M001: L     #Istwert-----以下分析同上
      L     #GW_2
      >=R   
      S     #SMQ_2
      JC    M002
      L     #Hysterese
      -R   
      L     #Istwert
      <R   
      A     #Q_2
      S     #SMQ_2
M002: A     #SMQ_1
      =     #Q_1
      A     #SMQ_2
      =     #Q_2
Istwert、GW_1、GW_2     的数值也应是实数类型的。按照上面的分析并带入你所给的数值,那#Q_1和#Q_2的结果都是1。
但你的程序有些问题,就是当#Q_1或#Q_2的结果有一次为1后,不论输入值怎样改变,其输出结果仍然为1。因为程序中A  #Q_x      S  #SMQ_x 相当于自保电路了。
你可以在OB1调用这个块并赋值,在仿真器中测试看看结果。
                                                                                                                                                                                                                                                              
                                                        

升级  28%

该用户从未签到

发表于 2014-3-9 22:10:29 | 显示全部楼层
CLR   
      =     #SMQ_1
      =     #SMQ_2 ------这三段是对临时变量的状态复位,即程序开始时状态为0
      L     #Istwert
      L     #GW_1
      >=R               ------当#Istwert的数值大于等于#GW_1的数值时,置位#SMQ_1
      S     #SMQ_1
      JC    M001     ------当#Istwert的数值大于等于#GW_1的数值时,程序跳转至M001处执行,下面的程序将被跳过,不执行;当#Istwert的数值小于#GW_1的数值时,继续执行下面程序
      L     #Hysterese
      -R                 -------- #GW_1的数值减去#Hysterese的数值
      L     #Istwert
      <R                -------#GW_1减#Hysterese的差与#Istwert比较,小于且#Q_1为1时,置位#SMQ_1
      A     #Q_1
      S     #SMQ_1
M001: L     #Istwert-----以下分析同上
      L     #GW_2
      >=R   
      S     #SMQ_2
      JC    M002
      L     #Hysterese
      -R   
      L     #Istwert
      <R   
      A     #Q_2
      S     #SMQ_2
M002: A     #SMQ_1
      =     #Q_1
      A     #SMQ_2
      =     #Q_2
Istwert、GW_1、GW_2     的数值也应是实数类型的。按照上面的分析并带入你所给的数值,那#Q_1和#Q_2的结果都是1。
但你的程序有些问题,就是当#Q_1或#Q_2的结果有一次为1后,不论输入值怎样改变,其输出结果仍然为1。因为程序中A  #Q_x      S  #SMQ_x 相当于自保电路了。
你可以在OB1调用这个块并赋值,在仿真器中测试看看结果。
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

请珍惜自己的ID,严禁发布垃圾水贴,诸如adsf......顶......纯表情......多次重复回帖刷积分......轻则删帖警告,重则封禁!★请分享资料、经验或者赞助论坛,贡献一份力量★

关闭

最新活动上一条 /1 下一条

小黑屋|手机版|追梦工控论坛|工控论坛-专业的Intouch论坛 ( 皖ICP备10012005号 )|网站地图

GMT+8, 2025-5-6 21:04 , Processed in 0.103968 second(s), 21 queries , Gzip On, APCu On.

Powered by Dreamyiyi

© 2009-2025 工控论坛

快速回复 返回顶部 返回列表